1.2 机密性保证
加密,就是把明文的数据转换成密文数据。这样一来,即使第三方截获到了密文数据,也无法将其恢复成明文。而解密过程则正好相反,合法的接受者通过正确的解密算法和密钥恢复密文到明文。加密算法分为:对称密钥算法和非对称密钥算法。
1.2.1 对称加密算法
加解密双方使用相同的密钥与算法进行加解密。
优点:
- 速度快
- 安全(算法都是安全的)
- 紧凑(加密后数据不会过大)
缺点:
- 明文传输共享密钥,容易被中途劫持和窃听
- 随着参与者数量增加,密钥的数量急剧增加(N*(N-1)/2)
- 密钥数量过多,管理和存储是很大的问题
- 不支持数据签名和不可否认性
- 不可能和与你不曾谋面的人通信
主流算法:
DES 3DES AES RC4
1.2.2 非对称加密算法
所有参与者都需要预先使用非对称密钥算法产生一对密钥,其中包括一个公钥和一个私钥。公钥可以放在一个服务器上共享给属于这个密钥系统的所有用户和设备,而私钥需要持有者严格保护,确保只有持有者唯一拥有。
一个密钥加密的信息,必须使用另一个密钥来解密。也就是说公钥加密私钥解(用于加密),私钥加密公钥解(用于签名)。
优点:
- 安全
- 不必担心交换的公钥被劫持,分发更安全
- 密钥数目与参与者数目相同
- 在交换公钥之前不需要预先建立某种信任关系
- 支持数字签名和不可否认性
缺点:
- 加密速度慢
- 密文会变长
主流协议:
RSA(数字签名和数字证书的主流协议)、DH(IPSec产生密钥资源的主要协议)、ECC
1.2.3 巧妙的加密方案
采用对称加密算法加密其文件,非对称算法加密对称算法用到的对称密钥。