密码学 - 第8章 密钥管理
第8章:密钥管理
密钥管理概述
密钥管理
- 密钥管理是对密钥生命周期(产生、存储、分配、备份/恢复、更新、撤销、归档、销毁)全过程实施的安全保密管理。
- 主要内容包括密钥的产生、分配和维护。维护涉及密钥的存储、更新、备份、恢复、销毁等方面。
密钥分类
- 静态密钥(长期密钥):使用周期较长,具体周期视应用而定,可能是几小时到几年。
- 会话密钥(短期密钥):生命周期较短,可能是几分钟到几天。会话密钥通常用于在某一时间段内加密数据。
密钥种类
- 基本密钥(base key):又称初始密钥或用户密钥,用于参与或控制密码变换,在一定范围配置、一定时间更换。
- 会话密钥(session key):在一次通话或交换数据时使用的密钥。通常与基本密钥结合对消息进行加密,且一报一换。
- 密钥加密密钥(key encrypting key):用于对会话密钥进行加密保护。又称辅助(二级)密钥或密钥传送密钥。
- 主密钥(Primary Master Key):用于对密钥加密密钥进行加密保护。
- 公钥体制下的密钥:包括公开密钥、秘密密钥、签名密钥、认证密钥等。
密钥产生
- 基本要求:具有良好的随机性,包括长周期性、非线性、统计意义上的等概率性及不可预测性。
- 主密钥:应当是高质量的真随机序列,通常通过如掷硬币、随机选取等方法产生。
- 密钥加密密钥:利用真随机数产生器芯片产生或使用主密钥和强密码算法产生。
- 会话密钥:在密钥加密密钥作用下通过加密算法动态地产生,如用密钥加密密钥控制AES算法产生。
密钥管理的层次结构
- 包括主密钥、密钥加密密钥和会话密钥的注入、密钥协定和加密。
密钥管理的生命周期
- 包括密钥生成、注册、装入、备份、恢复、更新、注销与销毁等过程。
密钥协商
密钥协商协议
- 密钥协商协议使两个用户在公开信道生成一个会话密钥,该会话密钥是双方输入消息的一个函数。
Diffie-Hellman密钥交换协议
- 1976年由Diffie和Hellman提出,是一个典型的密钥协商协议。通信双方利用该协议可以安全地建立一个共享密钥。
- 公开参数:设p是一个大素数,g∈Zp是一个本原元。
协议过程:
- $A$随机选取$a(2≤a≤p-2)$,计算$yA ≡ ga \mod p$,并将$yA$发送给$B$。
- $B$随机选取$b(2≤b≤p-2)$,计算$yB ≡ gb \mod p$,并将$yB$发送给$A$。
- $A$计算$k ≡ yB^a \mod p$。
- $B$计算$k ≡ yA^b \mod p$。
- 用户$A$和$B$建立共享密钥$k ≡ gab \mod p$,然后使用对称密码体制以k为密钥进行保密通信。
例子:假设$p=19$, $g=13$, A和B分别选取随机数$a=3$和$b=5$。A计算$yA≡133 \mod 19≡12$,B计算$yB≡135 \mod 19≡14$。A和B分别计算$k≡143 \mod 19≡8$和$k≡125 \mod 19≡8$,获得共享密钥$k=8$。
中间人攻击:敌手在A和B之间截获并替换消息,导致A与敌手建立共享密钥$K_1$,B与敌手建立共享密钥$K_2$,缺乏认证性。
端到端协议
- 1992年,Diffie, Oorschot和Wiener提出了端到端协议(station-to-station protocol),改进了Diffie-Hellman协议,增加了实体间的相互认证和密钥确认,可抵抗中间人攻击。
- 公开参数:$p$是大素数,$g$是本原元。每个用户有签名方案和可信中心(TA)签发的证书。
- 协议过程:
- A随机选取$a$,计算yA并发送给B。
- B随机选取$b$,计算yB和会话密钥k,并计算EB。
- B发送证书、yB和EB给A。
- A验证证书有效性,计算k,解密EB并验证签名。
- A计算EA并发送证书和EA给B。
- B验证证书有效性,解密EA并验证签名。
密钥分配与密钥分割
密钥分配的方法
- 物理分配:通过信使进行分配,系统安全性依赖于信使。
- 对称密码技术分配:通过信任权威帮助用户产生共享密钥,需要初始密钥的物理建立。
- 公钥密码技术分配:使用公钥密码技术,互不认识或信任的用户可建立共享密钥,使用密钥交换协议实现。
秘密共享
- 秘密共享是现代密码学的一项重要技术,将一个秘密分成许多份额,分配给一群用户,使得足够多的用户提供份额才能重建原来的秘密。
$(k, n)$门限方案
- 将秘密s分成n个秘密份额,使得:
- 由k个或多于k个用户持有的份额可恢复秘密s。
- 由k-1个或更少用户持有的份额不能获得关于秘密s的任何信息。
- k称为门限值,满足$1≤k≤n$。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Moyuan"s website!
