基于数字化信息和网络通信的现代密码学,其应用范围已远远超出传统的谍报、外交和军事领域,开始向人类几乎所有的社会活动领域渗透,甚至己进入普通民众的日常生活。显然,密码应用的普及推动了密钥管理技术的发展。
19世纪70年代公钥密码思想提出之前,包括传统密码学在内的所有密码技术均属于对称密码范畴,因此密钥管理技术的研究最早是从对称密钥管理入手的。对称密钥管理技术可分为两种模式,如图1-2所示。
1.无中心模式
每对用户通过协商获得一个共享密钥。为避免两个用户之间共享密钥的安全性不受第三个用户密钥泄露的影响,每对用户之间密钥应互相独立。
当两个用户之间需要保密通信时,为避免密钥泄露,并不直接使用共享密钥对数据进行加解密,而是基于共享密钥产生会话密钥后,使用会话密钥对数据进行加解密。无中心模式具有以下特点:
(1)密钥协商次数随用户数目程指数增长。N个用户时,共需要密钥协商次数为N(N-1)/2。如,N=6时为15次协商,N=1000时为500 000次协商。
(2)每个用户需保存,与所有用户的共享密钥。N个用户时,每个用户需保管N-1个密钥。
(3)每对用户之间密钥协商自由灵活,不受其他用户的任何影响。
由于密钥协商次数随用户数量呈指数增长,且每个用户都需要管理与所有用户的共享密钥,因此该模式只适合用于小规模用户场合。
2.有中心模式
存在一个独立的密钥管理中心,每个用户均信任该中心。密钥管理中心为每个用户分配一个密钥,并负责存储和管理所仃的用户密钥。当某用户的密钥泄露后,密钥管理中心将该密钥标记为失效。
当两个用户之间需要保密通信时,需要通过密钥管理中心动态验证对方密钥的合法性:
(1)该密钥是否失效。
(2)该密钥是否是当前用户的。
有中心模式具有以下特点:
(1)密钥分配次数与用户数目程线性关系。N个用户时密钥分配次数为N,且每个用户只需保管1个密钥。
(2)由于密钥是随机产生的,尤法判断属于哪个用户,因此密钥管理中心需保存密钥与用户的映射关系,存在密钥被泄露和映射关系被篡改的安全风险。
(3)用户之间进行保密通信时,需要通过密钥管理中心动态验证对方密钥的合法性,既无法实现脱机保密通信,又容易导致密钥管理中心成为性能瓶颈。
由于密钥管理中心需安全存储所有密钥及其与用户的映射关系,且需在线验证密钥的合法性,因此该模式小适合于人规模的公众服务领域。
该模式目前比较成熟的应用是磁条卡密码应用体系,已经成为银行体系事实上的密码应用标准,广泛应用]二几乎所有国内外银行,通过对区域(如分行、网点等)或终端(如ATM、POS等)分配对称密钥,实现银行卡交易过程中的数据安全。具体技术细节,请参考《商业银行密码技术应用》“第三章磁条卡密码应用体系”。
为避免存储大量的用户密钥,同时实现脱机交易,电子钱包密码应用体系中引入“父子密钥机制”,即基于用户唯一标识(如卡号)由父密钥直接产生子密钥:在所有设备和用户端预先安全存储父密钥,无需保存任何用户密钥,当验证密钥与用户是否匹配时,通过本地存储的父密钥和用户唯一标识就可计算出该用户的密钥,从而实现脱机验证。具体技术细节,请参考《商业银行密码技术应用》“第四章电子钱包/存折密码应用体系”。