密钥管理技术
密钥管理概述
重要性
- 所有的密码技术都依赖于密钥
- 决定整个密码体制安全性的因素是密钥的保密性
- 密码算法可以公开,密码设备可以丢失,但都不危及密码体制的安全性;但一旦密钥丢失,非法用户将会有可能窃取信息
- 提供机密性、实体认证、数据源认证、数据完整性、数字签名等安全密码技术的基础
概念
一门综合性的技术,涉及密钥的生成、存储、分发、使用、备份/恢复、更新、撤销、销毁,还与密钥的行政管理制度以及人员的素质密切相关
目的
维持系统中各实体之间的密钥关系,以抗击各种可能的威胁
要求
- 密钥难以被非法窃取
- 在一定条件下获取了以前的密钥用处也很小
- 密钥的分配和更换过程对用户是透明的
组织结构
层次化的密钥结构
原则
- 区分密钥管理的策略和机制:策略是密钥管理系统的高级指导,机制是实现和执行策略的技术和方法(策略原则的、简单明确的;机制具体的、复杂繁琐的)
- 全程安全原则:必须在密钥的产生、存储、备份、分发、组织、使用、更新、终止和销毁全过程中对密钥采取妥善的安全管理
- 最小权力原则:只分发给用户进行某一事务处理所需的最小的密钥集合
- 责任分离原则:一个密钥专职一种功能,不能兼任几种功能
- 密钥分级原则:划分级别为主密钥、二级密钥、初级密钥,高级密钥保护低级密钥,最高级由安全的物理保护
- 密钥更新原则:密钥必须按时更新
- 密钥应当有足够的长度
- 密码体制不同,密钥管理也不同:传统密码体制与公开密码体制性质不同
密钥的层次结构
密钥的分级
初级密钥
也称数据加密密钥,用于加解密数据的密钥
- 会话密钥:系统自动生成,对用户不可见,只在会话存在期间有效,直接用于一次通信或数据交换中的用户数据提供保护的数据加密密钥
- 文件密钥:用于文件保密的数据加密密钥
密钥加密密钥
也称二级密钥,保护初级密钥
主密钥
层次化密钥结构中的最高层次,是对密钥加密密钥进行加密的密钥
层次化密钥的优点
- 安全性提高:下层的密钥被破译将不会影响到上层密钥的安全
- 动态的密钥系统:密钥处于不断变化的过程中
- 实现密钥管理的自动化
密钥的生命周期
产生、存储、备份、分发、组织、使用、更新、终止和销毁
产生
- 主密钥:严格保证随机性,避免可预测性(掷硬币、骰子或使用物理噪声发生器)
- 密钥加密密钥:伪随机数生成器、安全算法、电子学噪声源
- 初级密钥:密钥加密密钥的控制下通过安全算法动态产生
存储和备份
- 主密钥:最安全,只能以明文形态存储,存储器高度安全,通常将其存储在专用密码装置中
- 密钥加密密钥:可以以明文或密文形态存储,通常以主密钥加密的形式存储
- 初级密钥:会话密钥一次一密;文件密钥以二级密钥加密的形式存储
备份目的:一旦密钥遭到破坏,可利用备份的密钥恢复出原来的密钥或被加密的数据,避免造成损失
终止和销毁
终止使用的密钥需要再保留一段时间再销毁,确保收起保护的其他密钥和数据得以妥善处理
密钥分发和密钥协商
目的:都是用以在保密通信双方之间安全建立通信所使用的密钥,协议结束后通信双方具有一个相同的秘密密钥k,且k不被其他人知道
密钥分发
保密通信的一方(包括可信第三方)生成并选择秘密密钥,然后将其安全传送给通信的相关各方(典型协议:Kerboros密钥分配协议)
分为离线分发和在线分发
密钥分发基本方法
- 密钥由通信发起方生成,并物理传给另一方
- 密钥由第三方选定,并物理传给通信发起双方
- 通信发起方使用原来的旧密钥去加密新密钥,通过普通信道发送给另一方
- 第三方通过安全信道传给通信发起双方
公开密钥加密体制下的密钥管理
公开密钥的分配方式
- 公开发布:任一通信方可以将其公钥发送给零一通信方或广播给其他通信各方,缺点是不能保证公钥的真实性和完整性
- 公用目录表:建立一个公用的公钥动态目录表,公用目录表的建立、维护以及公钥的分配必须由一个受信任的实体或组织承担,称这个实体或组织为公用目录表的管理员。缺点是目录管理员密钥被截获,就可以伪造一个公钥目录表
- 公钥管理机构:在公钥目录表基础上增加认证,目录管理员负责维护通信各方公钥的动态目录,每一通信方可靠地知道该目录管理员的公钥,并且只有管理员知道对应的私钥。缺点是每个用户通信都需要向目录管理员申请对方的公钥,可信服务器必须在线,可能成为瓶颈
- 公钥证书:允许用户提供公钥证书相互之间交换公钥而无需与公钥管理机构联系
要求:
- 任何参与者都可以阅读证书,以确定证书拥有者和公钥
- 任何参与者都可以验证证书是否真正由证书管理机构颁发
- 只有证书管理机构才能制作、更新公钥证书
- 任何参与者都可以验证公钥证书的时效性
重点 公钥证书
由证书管理机构CA(certificate authority、CA)为用户建立,CA实际上是一个可信的第三方,能确认用户身份,通常是企业性的服务机构,主要任务是受理数字证书的申请、签发和管理
X.509数字证书
包含
- 证书的版本信息
- 序列号:唯一性,由证书颁发者分发的唯一标识号
- 签名算法标识符
- 证书发行机构名称及标识符
- 证书有效期:起始、结束时间
- 证书持有人名称及标识符
- 证书持有人的公开密钥、算法标识及参数
- 证书发行机构对证书的数字签名
密钥协商
通信双方可以在一个公开的信道上通过相互传送一些消息来共同建立一个安全的共享秘密密钥,共同建立的秘密密钥通常是双方输入消息的一个函数(典型协议:Diffie-Hellman密钥交换协议)
安全威胁:被动-窃听;主动-篡改、重放、冒充
Diffie-Hellman密钥协商
安全性基于有限域$Z_{p}$计算离散对数的困难性
步骤
- A和B协商好一个大素数q和q的一个本原元α,1<α<q,q和α无需保密(公开参数)
- A选取大的随机数$r_{a}$,保密不公开,计算$s_{a}=\alpha^{r_{a}}\,mod\,q$
B选取大的随机数$r_{b}$,也保密不公开,计算$s_{b}=\alpha^{r_{b}}\ mod\ q$
- A将$s_{a}$传送给B,B将$s_{b}$传送给A
- A计算$K_{ab}=s_{b}^{r_{a}}\ mod\ q=(\alpha^{r_{b}}\ mod \ q)^{r_{a}}\ mod\ q=\alpha^{r_{a}r_{b}}\ mod\ q$
B计算$K_{ba}=s_{a}^{r_{b}}\ mod\ q=(\alpha^{r_{a}}\ mod \ q)^{r_{b}}\ mod\ q=\alpha^{r_{a}r_{b}}\ mod\ q$
显然两方计算相等
但基本模式下,如果这个协议不提供身份鉴别,容易受到中间人攻击。因此必须引入鉴别机制
秘密分割
应用场所
导弹控制发射、金库进入、门限签名
“秘密分割”方案——门限方案(threshold scheme)
秘密s被分成n各部分,每个部分被称为shadow,有一个参与者持有
- 至少k个参与者所持有信息可重构s——(k,n)门限方案,k为门限值
Shamir门限方案
基于拉格朗日插值公式
设{($x_{1}$,$y_{1}$),…,($x_{k}$,$y_{k}$)}是平面上k个点构成的点集,其中$x_{i}$ ( i=1,… , k)各不相同,且线性无关,那么在平面上存在唯一的k-1次多项式f(x)通过这k个点
$f(x)=a_{k-1}x^{k-1}+…+a_{1}x+…+a_{0}$
优点
- 是完善的门限方案
- 易于扩充新用户,即计算要分配的新份额不影响原来的各个份额
- 安全性不依赖于未经证明的假设
缺点
- 门限值固定
- 秘密分发者知道参与者的份额
- 不能防止秘密分发者和参与者的欺诈