2010-5-14 1
第六章 密钥分配与密钥管理
Key Distribution and Key
Management
2010-5-14 2
内容提要
? 单钥加密体制的密钥分配
? 公钥加密体制的密钥管理
? 密钥托管
? 随机数的产生
? 秘密分割
2010-5-14 3
单钥加密体制的密钥分配
Key Distribution of symmetric
cryptography
2010-5-14 4
密钥分配的基本方法
? 两个用户在使用单钥体制进行通信时,
必须预先共享秘密密钥,并且应当时常
更新,用户 A和 B共享密钥的方法主要有
? A选取密钥并通过物理手段发送给 B
? 第三方选取密钥并通过物理手段发送给 A和
B
? A,B事先已有一密钥,其中一方选取新密钥,
用已有密钥加密新密钥发送给另一方
? A和 B分别与第三方 C有一保密信道,C为 A,
B选取密钥,分别在两个保密信道上发送给
A和 B
2010-5-14 5
密钥分配的基本方法
? 如果有 n个用户,需要两两拥有共享密钥,
一共需要 n(n-1)/2的密钥
? 采用第 4中方法,只需要 n个密钥
2010-5-14 6
KS:一次性会话密钥
N1,N2:随机数
KA,KB,A与 B和 KDC的共享密钥
f:某种函数变换
2,
一个实例
4,
)],(||||||[ 1 AsKsK IDKENr eq u es tKE BA
KDC
A B
1,Request||N1
3,
]||[ AsK IDKE B
][ 2NE SK
5,)]([
2NfE SK
2010-5-14 7
密钥的分层控制
? 用户数目很多并且分布地域很广,一个
KDC无法承担,需要采用多个 KDC的分
层结构。
? 本地 KDC为本地用户分配密钥。
? 不同区域内的 KDC通过全局 KDC沟通。
2010-5-14 8
会话密钥的有效期
? 密钥更换越频繁,安全性越高。
? 缺点是延迟用户的交互,造成网络负担。
? 决定会话的有效期,应权衡利弊。
? 面向连接的协议,每次建立连接时应使用新的
会话密钥。
? 无连接的协议,无法明确确定更换密钥的频率,
安全起见,每次交换都用新的密钥。经济的做
法在一固定周期内对一定数目的业务使用同一
会话密钥。
2010-5-14 9
无中心的密钥控制
? 有 KDC时,要求所有用户信任 KDC,并且
要求 KDC加以保护。
? 无 KDC时没有这种限制,但是只适用于
用户小的场合
2010-5-14 10
无中心的密钥控制
A B
1,Request||N1
2,)],(||||||[
1 AsKsK IDKENr eq u es tKE BA
3,)]([
2NfE SK
用户 A和 B建立会话密钥的过程
2010-5-14 11
密钥的控制使用
? 根据用途不同分为
? 会话密钥(数据加密密钥)
? 主密钥(密钥加密密钥),安全性高于会话
密钥
? 根据用途不同对密钥使用加以控制
2010-5-14 12
单钥体制的密钥控制技术- 密
钥标签
? 用于 DES的密钥控制,8个校验位作为密钥标签
? 1比特表示这个密钥是会话密钥还是主密钥
? 1比特表示这个密钥能否用于加密
? 1比特表示这个密钥能否用于解密
? 其余比特保留
? 长度有限,限制了灵活性和功能
? 标签以密文传送,只有解密后才能使用,限制
了密钥使用的控制方式。
2010-5-14 13
单钥体制的密钥控制技术- 控
制矢量
? 对每一密钥指定相应
的控制矢量,分为若
干字段,说明在不同
情况下是否能够使用
? 有 KDC产生加密密钥
时加在密钥之中
? h为 hash函数,Km是
主密钥,KS为会话密
钥
? 控制矢量 CV明文发
送
][
][
)(
outKS
SHKout
min
KDK
KEK
HKK
CVhH
in
m
?
?
??
?
?
优点:
1.CV长度没有限制
2.CV以明文形式存在
2010-5-14 14
公钥加密体制的密钥管理
Key Management of Public Key
Cryptography
2010-5-14 15
公钥的分配-公开发布
? 用户将自己的公钥发给每一个其他用户
? 方法简单,但没有认证性,因为任何人
都可以伪造这种公开发布
2010-5-14 16
公钥的分配-公用目录表
? 公用的公钥动态目录表,目录表的建立、维护
以及公钥的分布由可信的实体和组织承担。
? 管理员为每个用户都在目录表里建立一个目录,
目录中包括两个数据项:一是用户名,而是用
户的公开密钥。
? 每一用户都亲自或以某种安全的认证通信在管
理者处为自己的公开密钥注册。
? 用户可以随时替换自己的密钥。
? 管理员定期公布或定期更新目录。
? 用户可以通过电子手段访问目录。
2010-5-14 17
公钥的分配-公钥管理机构
? 公钥管理机构为用户建立维护动态的公
钥目录。
? 每个用户知道管理机构的公开钥。
? 只有管理机构知道自己的秘密钥。
2010-5-14 18
公钥管理机构分配公钥
公钥管理机构
A B
1.Request||Time1
2.
]||Re||[ 1T im eq u es tPKE BSK AU
3,]||[
1NIDE APK B
6,]||[
21 NNE APK
4.Request||Time2
5,]||Re||[
2T im eq u es tPKE ASK AU
7,][
2NE BPK
有可能称为系统的瓶颈,目录容易受到敌手的串扰
2010-5-14 19
公钥证书
? 用户通过公钥证书交换各自公钥,无须与公
钥管理机构联系
? 公钥证书由证书管理机构 CA( Certificate
Authority)为用户建立。
? 证书的形式为
? T-时间,PKA-A的公钥,IDA- A的身份,SKCA
- CA的私钥
? 时戳 T保证证书的新鲜性,防止重放旧证书。
],,[ KASKA PKIDTEC CA?
2010-5-14 20
CA的计算机用户的计算机
证书的产生过程
产生密钥
姓名
秘密钥
公开钥
CA的公开钥
CA的秘密钥
签字证书
2010-5-14 21
用公钥加密分配单钥密码体制
的密钥
A B
1.PKA||IDA
2,][
SPK KE A
简单分配
易受到主动攻击
A B攻击者 E
1.PKA||IDA 2.PKE||IDA
3.
][ SPK KE E
4,][
SPK KE A
2010-5-14 22
用公钥加密分配单钥密码体制
的密钥
具有保密性和认证性的密钥分配
A B
1.
]||[ 1 APK IDNE B
2,]||[
21 NNE APK
3,][
2NE BPK
4,]][[
SSKPK KEE AB
第六章 密钥分配与密钥管理
Key Distribution and Key
Management
2010-5-14 2
内容提要
? 单钥加密体制的密钥分配
? 公钥加密体制的密钥管理
? 密钥托管
? 随机数的产生
? 秘密分割
2010-5-14 3
单钥加密体制的密钥分配
Key Distribution of symmetric
cryptography
2010-5-14 4
密钥分配的基本方法
? 两个用户在使用单钥体制进行通信时,
必须预先共享秘密密钥,并且应当时常
更新,用户 A和 B共享密钥的方法主要有
? A选取密钥并通过物理手段发送给 B
? 第三方选取密钥并通过物理手段发送给 A和
B
? A,B事先已有一密钥,其中一方选取新密钥,
用已有密钥加密新密钥发送给另一方
? A和 B分别与第三方 C有一保密信道,C为 A,
B选取密钥,分别在两个保密信道上发送给
A和 B
2010-5-14 5
密钥分配的基本方法
? 如果有 n个用户,需要两两拥有共享密钥,
一共需要 n(n-1)/2的密钥
? 采用第 4中方法,只需要 n个密钥
2010-5-14 6
KS:一次性会话密钥
N1,N2:随机数
KA,KB,A与 B和 KDC的共享密钥
f:某种函数变换
2,
一个实例
4,
)],(||||||[ 1 AsKsK IDKENr eq u es tKE BA
KDC
A B
1,Request||N1
3,
]||[ AsK IDKE B
][ 2NE SK
5,)]([
2NfE SK
2010-5-14 7
密钥的分层控制
? 用户数目很多并且分布地域很广,一个
KDC无法承担,需要采用多个 KDC的分
层结构。
? 本地 KDC为本地用户分配密钥。
? 不同区域内的 KDC通过全局 KDC沟通。
2010-5-14 8
会话密钥的有效期
? 密钥更换越频繁,安全性越高。
? 缺点是延迟用户的交互,造成网络负担。
? 决定会话的有效期,应权衡利弊。
? 面向连接的协议,每次建立连接时应使用新的
会话密钥。
? 无连接的协议,无法明确确定更换密钥的频率,
安全起见,每次交换都用新的密钥。经济的做
法在一固定周期内对一定数目的业务使用同一
会话密钥。
2010-5-14 9
无中心的密钥控制
? 有 KDC时,要求所有用户信任 KDC,并且
要求 KDC加以保护。
? 无 KDC时没有这种限制,但是只适用于
用户小的场合
2010-5-14 10
无中心的密钥控制
A B
1,Request||N1
2,)],(||||||[
1 AsKsK IDKENr eq u es tKE BA
3,)]([
2NfE SK
用户 A和 B建立会话密钥的过程
2010-5-14 11
密钥的控制使用
? 根据用途不同分为
? 会话密钥(数据加密密钥)
? 主密钥(密钥加密密钥),安全性高于会话
密钥
? 根据用途不同对密钥使用加以控制
2010-5-14 12
单钥体制的密钥控制技术- 密
钥标签
? 用于 DES的密钥控制,8个校验位作为密钥标签
? 1比特表示这个密钥是会话密钥还是主密钥
? 1比特表示这个密钥能否用于加密
? 1比特表示这个密钥能否用于解密
? 其余比特保留
? 长度有限,限制了灵活性和功能
? 标签以密文传送,只有解密后才能使用,限制
了密钥使用的控制方式。
2010-5-14 13
单钥体制的密钥控制技术- 控
制矢量
? 对每一密钥指定相应
的控制矢量,分为若
干字段,说明在不同
情况下是否能够使用
? 有 KDC产生加密密钥
时加在密钥之中
? h为 hash函数,Km是
主密钥,KS为会话密
钥
? 控制矢量 CV明文发
送
][
][
)(
outKS
SHKout
min
KDK
KEK
HKK
CVhH
in
m
?
?
??
?
?
优点:
1.CV长度没有限制
2.CV以明文形式存在
2010-5-14 14
公钥加密体制的密钥管理
Key Management of Public Key
Cryptography
2010-5-14 15
公钥的分配-公开发布
? 用户将自己的公钥发给每一个其他用户
? 方法简单,但没有认证性,因为任何人
都可以伪造这种公开发布
2010-5-14 16
公钥的分配-公用目录表
? 公用的公钥动态目录表,目录表的建立、维护
以及公钥的分布由可信的实体和组织承担。
? 管理员为每个用户都在目录表里建立一个目录,
目录中包括两个数据项:一是用户名,而是用
户的公开密钥。
? 每一用户都亲自或以某种安全的认证通信在管
理者处为自己的公开密钥注册。
? 用户可以随时替换自己的密钥。
? 管理员定期公布或定期更新目录。
? 用户可以通过电子手段访问目录。
2010-5-14 17
公钥的分配-公钥管理机构
? 公钥管理机构为用户建立维护动态的公
钥目录。
? 每个用户知道管理机构的公开钥。
? 只有管理机构知道自己的秘密钥。
2010-5-14 18
公钥管理机构分配公钥
公钥管理机构
A B
1.Request||Time1
2.
]||Re||[ 1T im eq u es tPKE BSK AU
3,]||[
1NIDE APK B
6,]||[
21 NNE APK
4.Request||Time2
5,]||Re||[
2T im eq u es tPKE ASK AU
7,][
2NE BPK
有可能称为系统的瓶颈,目录容易受到敌手的串扰
2010-5-14 19
公钥证书
? 用户通过公钥证书交换各自公钥,无须与公
钥管理机构联系
? 公钥证书由证书管理机构 CA( Certificate
Authority)为用户建立。
? 证书的形式为
? T-时间,PKA-A的公钥,IDA- A的身份,SKCA
- CA的私钥
? 时戳 T保证证书的新鲜性,防止重放旧证书。
],,[ KASKA PKIDTEC CA?
2010-5-14 20
CA的计算机用户的计算机
证书的产生过程
产生密钥
姓名
秘密钥
公开钥
CA的公开钥
CA的秘密钥
签字证书
2010-5-14 21
用公钥加密分配单钥密码体制
的密钥
A B
1.PKA||IDA
2,][
SPK KE A
简单分配
易受到主动攻击
A B攻击者 E
1.PKA||IDA 2.PKE||IDA
3.
][ SPK KE E
4,][
SPK KE A
2010-5-14 22
用公钥加密分配单钥密码体制
的密钥
具有保密性和认证性的密钥分配
A B
1.
]||[ 1 APK IDNE B
2,]||[
21 NNE APK
3,][
2NE BPK
4,]][[
SSKPK KEE AB