一、密钥管理概念
1、密钥生成
生产安全的密钥:一般来说是指密钥抗猜测和抗穷举等针对密钥攻击的能力。涉及密钥长度和密钥强弱的问题。
2、密钥分发
通信双方要进行安全的通信,首先需要协商密钥,尤其对于对称加密算法,双方必须先取得同样的加密密钥 (会话密钥),公开密钥算法更好地解决了这个问题 。
3、密钥验证
密钥验证包括两方面的内容:一是验证密钥的发送方是可信的;二是验证密钥确实是正确和完整的 。
较好的办法是利用单向散列函数, 因为单向散列函数对数据的微小变化十分敏感。
4、密钥的使用
一种是使用软件进行加密,一种是使用硬件进行加密。软件加密是较常使用而不安全的方式。利用硬件进行加密是一个更安全的方案 。
5、密钥的存储
密钥存储最常用的方式或许是存储在人的大脑中 ,更安全的方式是存储在硬件中或者存储器中。如存储在智能卡 中。
6、密钥销毁
一般来说,密钥都有一定的使用寿命,因为密钥使用的时间越长,其泄漏和受攻击的危险就越大。 到了有效期之后,更换新的密钥,同 时 销 毁 旧 的 密钥。销毁旧密钥很重要,可以避免攻击者用旧密钥解密以前他截取到的信息。
7、公钥管理
只要保证该公钥是可信任的即可。较好的方法是通过可信任第三方的数字签名来确认这个问题,目前比较系统化和标准的应用方法就是数字证书。 通常签发数字证书的可信任第三方机构称为证书验证中心 (CA)
二、加密算法
1、概述
通常密码算法的加密模式应该考虑:算法加密模式的安全性 、容错性 、效率 、实时性 。
加密算法又分为对称加密、非对称加密、摘要算法;
2、对称加密算法
1)分组加密
分组加密又称为块加密,是将要处理的数据分成固定的长度,然后在这固定长度的数据上使用密码算法进行计算。