密钥管理

  • 密钥生成
  • 密钥分发
  • 密钥验证
  • 密钥使用
  • 密钥存储
  • 密钥备份
  • 密钥销毁
  • 公钥管理



评价一个密码系统的的好坏不是算法的机密性,而是密钥的机密性。在实际的使用中我们需要关系以下几个方面:

  1. 密钥生成
  2. 密钥分发
  3. 密钥验证
  4. 密钥使用
  5. 密钥存储
  6. 密钥销毁
  7. 密钥管理

密钥生成

密钥生成我们关心:

  1. 安全的生成密钥,即生成的密钥可信,用户得到的密钥是可信的服务或程序安全产生的。
  2. 生成密钥的安全,即关注密钥本身的安全性,密钥是否又足够的随机性、抗攻击能力的强弱。涉及密钥长度和密钥强弱的问题。虽然密钥越长越安全,但是还需要考虑加解密的时间能效问题。

一种可行的生成密钥办法是利用时间作为随机源,采用单向散列函数的密钥生成框架:

Android生成密钥对 密钥生成要考虑_网络安全

密钥分发

对于对称密钥可采用密钥加密密钥和数据加密密钥的方式,使用密钥加密密钥来加密数据加密密钥使其安全传输,密钥加密密钥可以采用手动分发。
公开密钥算法由于其公钥的可公开性,可以很容易的分发,但若要分发私钥,通常也采用手动分发的形式进行。

密钥验证

包括验证密钥发送方可信和验证密钥的正确和完整性。

  • 解决验证密钥发送方可信的问题可以采用数字签名的方式,密钥发送方使用自己的私钥对密钥签名,接收方使用公钥验签。
  • 验证密钥的正确性可以采取两种方式:
  • 发送方使用密钥加密一段数据并将数据明文、加密数据和密钥一起传输,接收者解密数据并与接收的数据明文对比。
  • 利用单向散列算啊,计算和比较密钥摘要。

密钥使用

软件加密和硬件加密。

密钥存储

记忆存储、文件存储、硬件存储。

密钥备份

为了防止密钥丢失造成的损失,密钥需要备份存储。一般需要采取集中、可性的安全机制,备份密钥使用密钥加密密钥加密,加密密钥分段存储等。

密钥销毁

过期密钥和失效密钥进行彻底销毁,同时更换新的密钥。

公钥管理

采用数字证书来验证公钥是否可信。数字证书的的签发需要建立可信的CA系统。