密钥管理
- 密钥生成
- 密钥分发
- 密钥验证
- 密钥使用
- 密钥存储
- 密钥备份
- 密钥销毁
- 公钥管理
评价一个密码系统的的好坏不是算法的机密性,而是密钥的机密性。在实际的使用中我们需要关系以下几个方面:
- 密钥生成
- 密钥分发
- 密钥验证
- 密钥使用
- 密钥存储
- 密钥销毁
- 密钥管理
密钥生成
密钥生成我们关心:
- 安全的生成密钥,即生成的密钥可信,用户得到的密钥是可信的服务或程序安全产生的。
- 生成密钥的安全,即关注密钥本身的安全性,密钥是否又足够的随机性、抗攻击能力的强弱。涉及密钥长度和密钥强弱的问题。虽然密钥越长越安全,但是还需要考虑加解密的时间能效问题。
一种可行的生成密钥办法是利用时间作为随机源,采用单向散列函数的密钥生成框架:
密钥分发
对于对称密钥可采用密钥加密密钥和数据加密密钥的方式,使用密钥加密密钥来加密数据加密密钥使其安全传输,密钥加密密钥可以采用手动分发。
公开密钥算法由于其公钥的可公开性,可以很容易的分发,但若要分发私钥,通常也采用手动分发的形式进行。
密钥验证
包括验证密钥发送方可信和验证密钥的正确和完整性。
- 解决验证密钥发送方可信的问题可以采用数字签名的方式,密钥发送方使用自己的私钥对密钥签名,接收方使用公钥验签。
- 验证密钥的正确性可以采取两种方式:
- 发送方使用密钥加密一段数据并将数据明文、加密数据和密钥一起传输,接收者解密数据并与接收的数据明文对比。
- 利用单向散列算啊,计算和比较密钥摘要。
密钥使用
软件加密和硬件加密。
密钥存储
记忆存储、文件存储、硬件存储。
密钥备份
为了防止密钥丢失造成的损失,密钥需要备份存储。一般需要采取集中、可性的安全机制,备份密钥使用密钥加密密钥加密,加密密钥分段存储等。
密钥销毁
过期密钥和失效密钥进行彻底销毁,同时更换新的密钥。
公钥管理
采用数字证书来验证公钥是否可信。数字证书的的签发需要建立可信的CA系统。