第 14章 密钥管理技术
14.1密钥管理概述
? 密钥的种类
? 基本密钥( Base key)或称初始密钥( Primary key)
? 会话密钥( Session Key)
? 密钥加密密钥( Key Encrypting Key)
? 主机主密钥( Host Master Key)
会话密钥 ks
图 14.1 几种密钥之间的关
系
基本密钥 kp
混合器 密钥产生器 数据加密
密钥
? 密钥的生成
? 主机主密钥的产生
? 加密密钥的产生
? 会话密钥的产生
? 密钥的交换
? 密钥的存储
? 密钥的销毁
? 密钥的吊销
14.2 密钥分配协议
? 对称系统的密钥分配 —— Kerboros协议
可信中心
EKU(K,ID(V),T,L) EKV(K,ID(U),T,L)
EK(ID(U),T)
EKV(K,ID(U),T,L) EK(T+1)
用户 U 用户 V
非对称系统的密钥分配 —— Blom密钥分配方案
1) 公开一个素数 p,每个用户 U公开一个元素,这些元
素 rU必须互不相同。
2) 可信中心选择三个随机元素 ( 未必不同 ), 并且形
成多项式,
3) 对每一个用户 U,可信中心计算多项式,并
将 gU(x)在一个安全信道上传送给 U。 注意 gU(x)是 x的一个线
性函数, 所以它可以写为:, 这里
。
4)如果 U和 V想通信, 那么他们使用共同密钥
这里 U计算, V计算 =KU,V。
pU Zr ?
pZcba ?,,
pc x yyxbayxf m o d))((),( ????
prxfxg UU m o d),()( ?
xbaxg UUU ??)(
pcrbbpbraa UUUU m o d)(,m o d)( ????
),(,,VUUVVU rrfKK ??
)(),(,VUVUVU rgrrfK ?? )(),(,UVUVUV rgrrfK ??
Diffie-Hellman密钥预分配方案
? 两个通信主体 Alice & Bob,希望在公开信道上建立密
钥
? 初始化,
? 选择一个大素数 p (~200 digits)
? 一个生成元
? Alice 选择一个秘密钥 ( secret key (number) xA <
p )
? Bob)选择一个秘密钥 ( secret key (number) xB < p
? Alice and Bob 计算他们的公开密钥, yA = axA mod p
yB = axB mod p
? Alice,Bob 分别公开 yA,yB
10,Diffie-Hellman 密钥交换
? 计算共享密钥,
? KAB = axA.xB mod p
? = yAxB mod p (which B can
compute)
? = yBxA mod p (which A can
compute)
? KAB 可以用于对称加密密钥
11,Diffie-Hellman 举例
? 选取素数 p=97,及本根 a=5
? Alice 选取秘密 xA=36 & 计算公钥 yA=536=50
mod 97
? Bob选取秘密 xB=58 &计算公钥 yB=558=44
mod 97
? Alice and Bob 交换公钥 (50 & 44 respectively)
? Alice 计算公享秘密 K=4436=75 mod 97
? Bob计算公享秘密 K=5058=75 mod 97
12,Diffie-Hellman in Practise
? 两个主体每次可以选择新的秘密密钥 (私钥 ),
并计算及交换新的公钥
? 可以抵抗被动攻击,但不能抵抗主动攻击
? 每次可以给出新的密钥
? 为抵抗主动攻击,需要其它新的协议
? 也可以建立长期公钥,
14.3 秘密共享
? 秘密共享方案的基本观点是:将密钥按下列
方式分成个共享( Share) k1,k2,Λ,k3,
? 1)已知任意 t个 ki值易于算出 k;
2)已知任意 t-1个或更少个 ki,则由于信息短
缺而不能决定出 k。这种方式也称为 (t,n)门
限 (Threshold)法。
Shamir门限方案
设 p是一素数,共享的密钥 k∈ K=Zp。可信中心给 n(n<p)
个共享者 Pi(1≦ i ≦ n)分配共享的过程如下,
? 可信中心随机选择一个 t-1次多项式
常数 a0=k;
? 可信中心在 Zp中选择 n个非零的互不相同元素,
计算
? 将 分配给共享者 Pi(1≦ i ≦ n),值 xi(1≦ i
≦ n)是公开知道的,yi(1≦ i ≦ n)作为 Pi(1≦ i ≦ n)的秘
密共享。
? ?xZaxaxaxh ptt ????? ?? 0111)( ?
nxxx,,,21 ?
nixhy ii ??? 1),(
? ? )1(,niyx ii ??
Asmuth-Bloom方案
? 为了将 k划分为 n个共享,
计算 k’=k+rp,k’∈ [0,N-1]。 n个共享为
ki=k’mod di i=1,2,…,n。
? 为了恢复 k,找到 k’就足够了。若给定 t个共享
ki1,… kit,则由中国剩余定理可知,同余方程
组
关于模 N1=di1di2… dit在 [0,N1-1]内有唯一解 x,
因为 N1≧ N,这就唯一地确定了 k’,即
k’=xmodn。最后,从 k’,r和 p计算 k:k=k’-rp,
即 k=k’modp。
)( m o d
)( m o d
)( m o d
'
22
'
11
'
titi
ii
ii
dkx
dkx
dkx
?
?
?
?
14.4 密钥托管技术
14.4.1 密钥托管体制的基本组成
加密
加密
加密
解 密
K
D R F
K
U S C U S C
密文 明文
数据恢复密钥 KEC
明文
D R C
图 1 4, 2 密钥托管加密体制
? 用户安全模块 USC( User Security Component)是硬
件设备或软件程序,提供数据加密、解密能力,同时
也支持密钥托管。这种支持体现在:将数据恢复字段
( Date Recovery Field-DRF)附加到加密数据上。
DRF可作为通用密钥分配机制的组成部分。
? 密钥托管模块 KEC( Data Escrow Component)是由
密钥托管机制控制,管理着数据恢复密钥的存储、传
送或使用,它可以作为公钥管理系统的组成部分,也
可以作为通用密钥管理的基础部分。
? 数据恢复模块 DRC( Date Recovery Component)由算
法、协议和设备组成。仪器设备可以从 KEC所提供的和
DRF中包含的信息中恢复出数据加密密钥,从而解密
密文。只有在执行专门的数据恢复时才能使用 DRC。
14.4.2 密钥托管体制实例
? 托管加密标准( Escrowed Encryption
Standard(EES)
小结
? 本章介绍了密钥管理所涉及的方面(密钥的种类、密钥的生成、
密钥的交换、密钥的存储、密钥的销毁和密钥的吊销等),两类
密钥分配协议(基于对称的和基于非对称密码体制),密钥共享
的方案以及密钥托管体制。
? Diffie与 Hellman的公开密钥分发系统只考虑到两个人的通信情况。
随着多媒体的发展,网络的普及,电子会议的应用将成为一个崭
新而重要的课题。如何让一群使用者在网络上分享一把共同的加
解密密钥而使一群使用者在网络上能安全地交谈,将是一个重要 的研究课题。
? 秘密共享。
? PKI体系结构把公钥密码和对称密码结合起来,在 Internet上实行
密钥的自动管理,保证网上数据的保密性和完整性。
? 最后需要提醒注意的是,每个具体系统的密钥管理必须与具体的
使用环境和保密要求相结合,万能的密钥管理体制是不存在的。
14.1密钥管理概述
? 密钥的种类
? 基本密钥( Base key)或称初始密钥( Primary key)
? 会话密钥( Session Key)
? 密钥加密密钥( Key Encrypting Key)
? 主机主密钥( Host Master Key)
会话密钥 ks
图 14.1 几种密钥之间的关
系
基本密钥 kp
混合器 密钥产生器 数据加密
密钥
? 密钥的生成
? 主机主密钥的产生
? 加密密钥的产生
? 会话密钥的产生
? 密钥的交换
? 密钥的存储
? 密钥的销毁
? 密钥的吊销
14.2 密钥分配协议
? 对称系统的密钥分配 —— Kerboros协议
可信中心
EKU(K,ID(V),T,L) EKV(K,ID(U),T,L)
EK(ID(U),T)
EKV(K,ID(U),T,L) EK(T+1)
用户 U 用户 V
非对称系统的密钥分配 —— Blom密钥分配方案
1) 公开一个素数 p,每个用户 U公开一个元素,这些元
素 rU必须互不相同。
2) 可信中心选择三个随机元素 ( 未必不同 ), 并且形
成多项式,
3) 对每一个用户 U,可信中心计算多项式,并
将 gU(x)在一个安全信道上传送给 U。 注意 gU(x)是 x的一个线
性函数, 所以它可以写为:, 这里
。
4)如果 U和 V想通信, 那么他们使用共同密钥
这里 U计算, V计算 =KU,V。
pU Zr ?
pZcba ?,,
pc x yyxbayxf m o d))((),( ????
prxfxg UU m o d),()( ?
xbaxg UUU ??)(
pcrbbpbraa UUUU m o d)(,m o d)( ????
),(,,VUUVVU rrfKK ??
)(),(,VUVUVU rgrrfK ?? )(),(,UVUVUV rgrrfK ??
Diffie-Hellman密钥预分配方案
? 两个通信主体 Alice & Bob,希望在公开信道上建立密
钥
? 初始化,
? 选择一个大素数 p (~200 digits)
? 一个生成元
? Alice 选择一个秘密钥 ( secret key (number) xA <
p )
? Bob)选择一个秘密钥 ( secret key (number) xB < p
? Alice and Bob 计算他们的公开密钥, yA = axA mod p
yB = axB mod p
? Alice,Bob 分别公开 yA,yB
10,Diffie-Hellman 密钥交换
? 计算共享密钥,
? KAB = axA.xB mod p
? = yAxB mod p (which B can
compute)
? = yBxA mod p (which A can
compute)
? KAB 可以用于对称加密密钥
11,Diffie-Hellman 举例
? 选取素数 p=97,及本根 a=5
? Alice 选取秘密 xA=36 & 计算公钥 yA=536=50
mod 97
? Bob选取秘密 xB=58 &计算公钥 yB=558=44
mod 97
? Alice and Bob 交换公钥 (50 & 44 respectively)
? Alice 计算公享秘密 K=4436=75 mod 97
? Bob计算公享秘密 K=5058=75 mod 97
12,Diffie-Hellman in Practise
? 两个主体每次可以选择新的秘密密钥 (私钥 ),
并计算及交换新的公钥
? 可以抵抗被动攻击,但不能抵抗主动攻击
? 每次可以给出新的密钥
? 为抵抗主动攻击,需要其它新的协议
? 也可以建立长期公钥,
14.3 秘密共享
? 秘密共享方案的基本观点是:将密钥按下列
方式分成个共享( Share) k1,k2,Λ,k3,
? 1)已知任意 t个 ki值易于算出 k;
2)已知任意 t-1个或更少个 ki,则由于信息短
缺而不能决定出 k。这种方式也称为 (t,n)门
限 (Threshold)法。
Shamir门限方案
设 p是一素数,共享的密钥 k∈ K=Zp。可信中心给 n(n<p)
个共享者 Pi(1≦ i ≦ n)分配共享的过程如下,
? 可信中心随机选择一个 t-1次多项式
常数 a0=k;
? 可信中心在 Zp中选择 n个非零的互不相同元素,
计算
? 将 分配给共享者 Pi(1≦ i ≦ n),值 xi(1≦ i
≦ n)是公开知道的,yi(1≦ i ≦ n)作为 Pi(1≦ i ≦ n)的秘
密共享。
? ?xZaxaxaxh ptt ????? ?? 0111)( ?
nxxx,,,21 ?
nixhy ii ??? 1),(
? ? )1(,niyx ii ??
Asmuth-Bloom方案
? 为了将 k划分为 n个共享,
计算 k’=k+rp,k’∈ [0,N-1]。 n个共享为
ki=k’mod di i=1,2,…,n。
? 为了恢复 k,找到 k’就足够了。若给定 t个共享
ki1,… kit,则由中国剩余定理可知,同余方程
组
关于模 N1=di1di2… dit在 [0,N1-1]内有唯一解 x,
因为 N1≧ N,这就唯一地确定了 k’,即
k’=xmodn。最后,从 k’,r和 p计算 k:k=k’-rp,
即 k=k’modp。
)( m o d
)( m o d
)( m o d
'
22
'
11
'
titi
ii
ii
dkx
dkx
dkx
?
?
?
?
14.4 密钥托管技术
14.4.1 密钥托管体制的基本组成
加密
加密
加密
解 密
K
D R F
K
U S C U S C
密文 明文
数据恢复密钥 KEC
明文
D R C
图 1 4, 2 密钥托管加密体制
? 用户安全模块 USC( User Security Component)是硬
件设备或软件程序,提供数据加密、解密能力,同时
也支持密钥托管。这种支持体现在:将数据恢复字段
( Date Recovery Field-DRF)附加到加密数据上。
DRF可作为通用密钥分配机制的组成部分。
? 密钥托管模块 KEC( Data Escrow Component)是由
密钥托管机制控制,管理着数据恢复密钥的存储、传
送或使用,它可以作为公钥管理系统的组成部分,也
可以作为通用密钥管理的基础部分。
? 数据恢复模块 DRC( Date Recovery Component)由算
法、协议和设备组成。仪器设备可以从 KEC所提供的和
DRF中包含的信息中恢复出数据加密密钥,从而解密
密文。只有在执行专门的数据恢复时才能使用 DRC。
14.4.2 密钥托管体制实例
? 托管加密标准( Escrowed Encryption
Standard(EES)
小结
? 本章介绍了密钥管理所涉及的方面(密钥的种类、密钥的生成、
密钥的交换、密钥的存储、密钥的销毁和密钥的吊销等),两类
密钥分配协议(基于对称的和基于非对称密码体制),密钥共享
的方案以及密钥托管体制。
? Diffie与 Hellman的公开密钥分发系统只考虑到两个人的通信情况。
随着多媒体的发展,网络的普及,电子会议的应用将成为一个崭
新而重要的课题。如何让一群使用者在网络上分享一把共同的加
解密密钥而使一群使用者在网络上能安全地交谈,将是一个重要 的研究课题。
? 秘密共享。
? PKI体系结构把公钥密码和对称密码结合起来,在 Internet上实行
密钥的自动管理,保证网上数据的保密性和完整性。
? 最后需要提醒注意的是,每个具体系统的密钥管理必须与具体的
使用环境和保密要求相结合,万能的密钥管理体制是不存在的。