简介
含义
密钥管理就是在授权各方之间实现密钥关系的建立和维护的一整套技术和程序。密钥管理是密码学的一个重要分支,也是密码学最重要、最困难的部分,在一定的安全策略指导下完成密钥从产生到最终销毁的整个过程,包括密钥的生成、存储、分配和协商、使用、备份/恢复、更新、撤销、存档和销毁等。
目的
- 对密钥实施有效的管理,保证密钥的**”绝对”安全或实际**安全(安全性);
- 保证密码系统对密钥的使用需求,并能及时维护和保障密钥。(可用性)
原则
明确密钥管理的策略和机制
策略是密钥管理系统的高级指导,而机制是实现和执行策略的技术机构和方法。
全面安全原则
必须对密钥生命周期的各个阶段采取妥善的安全管理。
最小权利原则
只分配给用户进行事务处理所需的最小密钥集合。
责任分离原则
一个密钥应当专职一种功能,不要让一个密钥兼任几种功能。
密钥分级原则
对于一个大的系统,所需要的密钥的种类和数量都很多,根据密钥的职责和重要性,把密钥划分为几个级别。
密钥更换/轮转原则
**密钥必须按时更换。**否则,即使采用很强的密码算法,只要攻击者截获足够多的密文,密钥被破译的可能性就非常大。
密钥应有足够的长度
密钥安全的一个必要条件是密钥有足够的长度。
密钥体制不同,密钥管理也不相同
由于传统密码体制与公开密码体制是性质不同的两种密码,因此它们在密钥管理方面有很大的不同。
密钥生命周期
总览
使用前状态
密钥不能用于正常的密码操作,处于准备阶段。
使用状态
密钥是可用的,并处于在线使用中。
使用后状态
密钥不再正常使用,但为了某种目的对其进行离线访问是可行。
过期状态
密钥不再使用,所有的密钥记录已被删除。
生成
密钥的生成一般首先通过密钥生成器借助于某种随机源产生具有较好统计分析特性的序列,以保障生成密钥的随机性和不可预测性,然后再对这些序列进行各种随机性检验以确保其具有较好的密码特性。
用户可以自己生成所需的密钥,也可以从可信中心或密钥管理中心申请,密钥长度要适中,至少能够抵御穷举攻击。
不同的密码体制或密钥类型,其密钥的具体生成方法一般是不相同的,与相应的密码体制或标准相联系。
存储
- 密钥的安全存储实际上是针对静态密钥的保护;如果密钥不是临时实时产生并一次使用,则必然要经历存储的过程。
- 其目的是确保密钥的秘密性,真实性以及完整性。
重要密钥的保护常用方法:
1.基于硬件的保护:
存入专门密码装置中(如ICCard、USBKey、加密卡等)。
工商的USBKey叫做U盾,博主大学时有一个,后来忘记放在哪里了,找了张网图:
2.基于软件的保护:
1Password、PasswordBox等
建立(分配和协商)
使用
利用密钥进行正常的密码操作,如加密/解密、签名/验证等,通常情况下,密钥在有效期之内授权的用户都可以使用。
应注意使用环境对密钥安全性的影响。
密钥安全使用的原则是不允许密钥以明文的形式出现在密钥设备之外。
备份/恢复
密钥备份指密钥处于使用状态时的短期存储,为密钥的恢复提供密钥源。要求安全方式存储密钥,并且具有不低于正在使用的密钥的安全控制水平,不同的密钥,其备份的手段和方式差别较大。(实际应用中非常重要)
注:如果密钥过了使用有效期,密钥将进入存档阶段或销毁阶段,密钥备份也被清除了。
当密钥因为人为的操作错误或设备发生故障时可能发生丢失和损坏,因此任何一种密码设备应当具有密钥恢复的措施。从备份或存档中获取密钥的过程称为密钥恢复。
若密钥丧失但其安全未受威胁,就可以用安全方式从密钥备份中恢复。
密钥恢复措施需要考虑恢复密钥的效率问题,能在故障发生后及时恢复密钥。
更新
需要密钥更新的情况:
- 密钥有效期结束;
- 密钥的安全受到威胁;
- 通信成员中提出更新密钥。
现用密钥和新密钥同时存在时应处于同等的安全保护水平下。更换下来的密钥一般情况下应避免再次使用,除将用于归档的密钥及时采取有效的保护措施以外应及时进行销毁处理。
撤销/存档/销毁
密钥存档:当密钥不再使用且保护对象在有效期内时,需要对其进行存档,以便在某种特别需要情况下(如需解密秘密保存的文档等)能够对其进行检索并使用。存档的密钥是离线保存的,处于使用后状态。
密钥销毁:如果密钥过了有效期,即处于过期状态,将清除密钥及与该密钥相关的痕迹。
密钥安全审计
密钥管理中的安全审计是对在密钥的生存期中对密钥进行的各种操作及相关事件进行记录,以便及时发现问题,在事故发生后跟踪事故线索,追究事故责任。
密码安全审计记录应包括:
实施密钥管理和操作的人员、时间;
对密钥管理和操作的内容;
存放密钥的载体及标志;
可能泄露密钥的行为及涉及密钥安全的事件。
密钥建立
分配
目的
密钥分配就是一种机制,通过这种机制,通信双方中的一方或密钥分配中心选取一个秘密密钥,然后将其传送给通信双方中的另一方。
安全
密钥分配技术是在不让其他人(除密钥分配中心)看到密钥的情况下将一个密钥传递给希望交换数据的双方的方法。
重要
为防止攻击者得到密钥,必须时常更新密钥,密码系统的强度依赖于密钥分配技术。
分配办法
事先设置
如果A、B事先已拥有相同的密钥(对称密钥),则其中一方选取新密钥后,用已有的密钥加密新密钥并发送给另一方。
分配中心
如果A和B与第三方C分别有一保密信道,则C为A、B选取新密钥后,其中一方把新密钥安全传送给另一方。
基于公钥
如果A、B事先有自己的私钥,则其中一方选取新密钥,利用公钥密码技术实现新密钥安全传送。
协商
- 密钥协商是保密通信双方(或更多方)通过公开信道的通信来共同形成秘密密钥的过程。一个密钥协商方案中,密钥的值是某个函数值,其输入量由两个成员(或更多方)提供。
- 密钥协商的结果是:参与协商的双方(或更多方)都将得到相同的密钥,同时,所得到的密钥对于其他任何方都是不可知的Diffie-Hellman密钥交换方案
前提条件:设p是一个安全的大素数, g ∈ Z p g \in Z_p g∈Z p 是有限域 Z p Z_p Z p本原元,p和g公开,所有用户均可获取。
用户A和用户B各自计算生成共同的会话密钥K。 这是因为:
K≡(Kb)a≡(gb)a≡gab≡(ga)b≡(Ka)b
以上就是主本文的主要内容了,当然对于小公司或个人开发者自己去实现一套密钥管理方案是费时费力,很不划算的。阿里云就提供了加密服务和密钥管理服务,可以帮助您创建密钥,分发密钥,轮转等,也可以保管证书。
参考
《现代密码学教程 谷利泽 杨义先等》