2012-3-19 1
第八章 密钥管理
一,密钥管理的基本概念
二,密钥生成与密钥分发
三,秘密共享与密钥托管
四,非线性序列
2012-3-19 2
一,密钥管理的基本概念
2012-3-19 3
在先前的章节,我们所关注的是采用何种密
码算法来实现数据的机密性、完整性、认证性
。然而,在一个安全系统中,总体安全性依赖
于许多不同的因素,例如算法的强度、密钥的
大小、口令的选择、协议的完全性等,其中对
密钥或口令的保护尤其重要。
根据 Kerckhoff的假设,一个密码系统的
安全性完全取决于对密钥的保密而与算法无关
,即算法可以公开。简单来说,不管算法多么
强有力,一旦密钥丢失或出错,不但合法用户
不能提取信息,而且可能会使非法用户窃取信
息。
可见,密钥的保密和安全管理在数据系统
安全中是尤为重要的。
2012-3-19 4
? 密钥管理是处理密钥自产生到最终销毁的整
个过程中的有关问题,大体上讲,密钥管理
包括密钥的产生、装入、存储、备份、分配
、更新、吊销和销毁等内容,其中分配和存
储是最棘手的问题。
? 在分布式系统中,人们已经设计了用于自动
密钥分配业务的几个方案。其中某些方案已
被成功使用,如 Kerberos和 ANSI X.9.17,以
及 ISO-CCITT X.509目录认证方案 。
2012-3-19 5
密钥管理涉及的方面,
? 密钥的种类,
初始密钥, 会话密钥, 加密密钥, 主机主密钥 ;
? 密钥的生成
? 密钥的更换
? 密钥的存储
? 密钥的销毁
? 密钥的吊销
2012-3-19 6
密钥管理的原则
? 密钥管理是一个系统工程,必须从
整体上考虑,从细节着手,严密细
致地施工,充分完善的测试,才能
较好地解决密钥管理问题,为此,
首先要弄清楚密钥管理的一些基本
原则。
2012-3-19 7
– 区分秘钥管理的策略和机制
– 全程安全原则
– 最小权利原则
– 责任分离原则
– 密钥分级原则
– 密钥更换原则
– 密钥应当有足够的长度
– 密码体制不同,密钥管理也不同
2012-3-19 8
二,密钥生成与密钥分发
2012-3-19 9
密钥生成
? 密钥是数据保密的关键,应采用足够安全的
方法来产生密钥。在大型计算机密码系统中
常采用主密钥、二级密钥和初级密钥三种不
同等级的密钥。针对不同的密钥应采用不同
的方法来产生。
? 对于秘要的一个基本要求是要具有良好的随
机性,这主要包括长周期性,非线性,统
计意义上的等概率性以及不可预测性等。高
效的产生高质量的真随机序列,并不是一件
容易的事。在实际中,我们针对不同的情况
采用不同的随机序列。
2012-3-19 10
单钥加密体制 密钥生成
? 主密钥的产生。主密钥应当是高质量的真随机序
列,常采用物理噪声源的方法,但不管是基于什
么随机源来产生密钥,都要经过严格的随机性测
试,否则不能作为密钥;
? 二级密钥的产生。可以像产生主密钥那样产生真
随机的二级密钥,也可以在主密钥产生后,借助
于主密钥和一个强的密码算法来产生二级密钥;
? 初级密钥的产生。为了安全和简便,通常总是把
随机数直接视为受高级密钥(主密钥或二级密钥
)加密过的初级密钥。
2012-3-19 11
单钥加密体制的密钥分配
? 两个用户在使用单钥体制进行通信时,必须
预先共享秘密密钥,并且应当时常更新,用
户 A和 B共享密钥的方法主要有
– A选取密钥并通过物理手段发送给 B
– 第三方选取密钥并通过物理手段发送给 A和 B
– A,B事先已有一密钥,其中一方选取新密钥,用已有密
钥加密新密钥发送给另一方
– A和 B分别与第三方 C有一保密信道,C为 A,B选取密钥
,分别在两个保密信道上发送给 A和 B
2012-3-19 12
单钥加密体制的密钥分配
? 如果有 n个用户,需要两两拥有共享密
钥,一共需要 n(n-1)/2的密钥
? 采用第 4中方法,只需要 n个密钥
2012-3-19 13
一个实例 KS:一次性会话密钥 N1,N2:随机数 K
A,KB,A与 B和 KDC的共享密钥
f:某种函数变换
K D C
A B
3,[ ]
BK S A
E K I D
24, [ ]SKEN
25,[ ( ) ]SKE f N
11, Re q u e st N
1
2, [ (,) ]
ABK S K s A
E K r e q u e s t N E K I D
2012-3-19 14
公钥的分配-公开发布
? 用户将自己的公钥发给每一个其他用户
? 方法简单,但没有认证性,因为任何人都可
以伪造这种公开发布
2012-3-19 15
公钥的分配-公用目录表
? 公用的公钥动态目录表,目录表的建立、维护
以及公钥的分布由可信的实体和组织承担。
? 管理员为每个用户都在目录表里建立一个目录
,目录中包括两个数据项:一是用户名,而是
用户的公开密钥。
? 每一用户都亲自或以某种安全的认证通信在管
理者处为自己的公开密钥注册。
? 用户可以随时替换自己的密钥。
? 管理员定期公布或定期更新目录。
? 用户可以通过电子手段访问目录 。
2012-3-19 16
公钥的分配-公钥管理机构
? 公钥管理机构为用户建立维护动态的公钥目
录。
? 每个用户知道管理机构的公开钥。
? 只有管理机构知道自己的秘密钥。
2012-3-19 17
公钥管理机构分配公钥
公 钥 管 理 机 构
A B
1
3,[ ]
BP K A
E I D N
12
6, [ ]
APK
E N N
27, [ ]BPKEN
11,R e que st T ime
1
2, [ ]
AUS K B
E P K R e q u e st Ti m e
24, Re q u e st Tim e
2
5,[ ]
AUSK A
E P K R e qu e st T ime
有可能成为系统的瓶颈,容易受到敌手的串扰
2012-3-19 18
公钥证书
? 用户通过公钥证书交换各自公钥,无须与公钥
管理机构联系
? 公钥证书由证书管理机构 CA( Certificate
Authority)为用户建立。
? 证书的形式为,T-时间,PKA-A的公钥,IDA- A
的身份,SKCA- CA的私钥
? 时戳 T保证证书的新鲜性,防止重放旧证书。
2012-3-19 19
证书的产生过程
2012-3-19 20
公钥加密体制 密钥生成
? 由于公开密钥密码体制与传统的单钥加密体
制是性质不同的两种密码体制,所以公开密
钥密码体制的密钥产生与传统密码体制的密
钥产生有着本质的区别。
? 公开密钥密码体制本质上是一种单向陷门函
数,它们都是建立在某一数学难题之上的。
不同的公开密钥密码体制所依据的数学难题
不同,因此其密钥产生的具体要求不同。但
是,它们都必须满足密码安全性和应用的有
效性对密钥所提出的要求。
2012-3-19 21
用公钥加密分配单钥密码体制的密钥
A
A
B
B
攻 击 者 E
1.
AA
PK I D
2,[ ]
AP K s
EK
1.
AA
PK I D2.
EA
P K I D
3,[ ]
EP K s
EK4,[ ]
AP K s
EK
简 单 分 配
易 受 到 主 动 攻 击
2012-3-19 22
用公钥加密分配单钥密码体制的密钥
具有保密性和认证性的密钥分配 A B
11,[ ]BP K AE N I D
122,[ ]APKE N N
23, [ ]BPKEN
4, [ [ ] ]
BAP K S K S
E E K
2012-3-19 23
Kerboros协议
Kerboros协议是一个基于私钥密码体制的
流行的密钥服务系统。在这个系统中,每个用
户 U和可信中心(对称密钥分发中心 KDC)共享
一个秘密的 DES密钥。在协议的最新版本中,传
送的所有消息都通过 CBC模式进行加密。
用 ID( U)表示用户 U的某些识别信息。使
用 Kerboros协议传输一个会话密钥的过程可描
述如下,
? 用户 U为了和用户 V通信,他向可信中心要一个会话密
钥;
? 可信中心随机选择一个会话密钥 K,一个时戳 T和一个
生存期 L;
2012-3-19 24
? 可信中心计算 m1=EKU(K,ID(V),T,L)和
m2=EKV(K,ID(U),T,L),并将 m1和 m2发给 U;
? 用户 U首先解密 m1获得 K,ID(V),T和 L。然后计
算 m3=EK(ID(U),T),并将 m3和可信中心发送来
的 m2一起发给 V;
? 用户 V首先解密 m2获得 K,ID(U),T和 L。然后适
用 K解密 m3获得 T和 ID(U)并检测 T的两个值和
ID(U)的两个值是否一样。如果是一样的,那
么 V计算 m4=EK(T+1),并将 m4发送给 U;
? U使用 K解密 m4获得 T+1并验证解密结果是 T+1,
2012-3-19 25
传输在协议中的信息流程图为,
可 信 中 心 用 户 U 用 户 V
E
K U
( K,I D ( V ),T,L )
E
K V
( K,I D ( U ),T,L )
E
K V
( K,I D ( U ),T,L )
E
K
( I D ( U ),T )
E
K
( T + 1 )
2012-3-19 26
? Kerboros协议的缺点,
网络中的所有用户都是同步时钟,因为
目前目前的时间被用来确定是否一个给定的
会话密钥 K是合法的。
Kerboros的口令没有进行额外的特殊处
理,使用穷举攻击法的时间复杂性仅和口令
长度成比例。
Kerboros认证中心要求保存大量的共享
私钥,无论管理还是更新都有很大的困难,
需要特别细致的安全保护措施,将付出极大
的系统代价。
2012-3-19 27
三,秘密共享和密钥托管
2012-3-19 28
秘密共享
? 在导弹控制发射、重要场所通行检验等情况下,
通常必须由两人或多人同时参加才能生效,这时
都需要将秘密分给多人掌管,并且必须有一定人
数的掌管秘密的人同时到场才能恢复这一秘密。
由此,引入门限方案的一般概念。
2012-3-19 29
? 定义,设秘密 s被分成 n个部分信息,每一部分信
息称为一个子密钥或影子,由一个参与者持有,
使得,
1.由 k个或多于 k个参与者所持有的部分信息可
重构 s。
2.由少于 k个参与者所持有的部分信息则无法重
构 s。
则称这种方案为 (k,n)-秘密共享门限方案,k
称为方案的门限值
2012-3-19 30
Shamir门限方案
? 基于多项式 Lagrange插值公式
设 {(x1,y1),…,(x k,yk)}是平面上 k个点构成
的点集,其中 xi(i=1,…k,) 各不相同,那么在
平面上存在唯一的 k-1次多项式 f(x)通过这 k个
点,若把秘密 s取做 f(0),n个 shadow取做
f(xi)(i=1,…n),那么利用其中任意 k个 shadow可
以重构 f(x),从而可以得到秘密 s。
2012-3-19 31
Shamir门限方案
? 有限域 GF(q),q为大素数,q≥n+1 。秘密 s是
GF(q)\{0}上均匀选取的随机数,表示为
s∈ RGF(q)\{0}.k-1个系数 a1,a2,… ak-1选取 ai
∈ RGF(q)\{0}.在 GF(q)上构造一个 k-1次多项式
f(x)=a0+a1x+… +ak-1xk-1
? N个参与者 P1,…,Pn,Pi的 Shadow为 f(i)。任意 k个参与
者得到秘密,可使用 {(il,f(il))|l=1,…,k}构造方程组
?
?
?
?
?
????
????
?
?
?
?
)()()(
)()()(
1
110
1
1
11110
k
k
kkk
k
k
ifiaiaa
ifiaiaa
?
?
?
2012-3-19 32
Shamir门限方案
)( m o d
)(
)()(
1 1
q
ii
ix
ifxf
k
j
k
jl
l lj
l
j? ?
?
?
? ?
?
?
? 由 Lagrange插值公式
)( m o d)()1(
1 1
1
q
ii
i
ifs
k
j
k
jl
l lj
l
j
k
? ?
?
?
?
?
?
??
2012-3-19 33
Shamir门限方案
? 如果 k-1个参与者想获得 s,可构造 k-1个
方程,有 k个未知量。对任一 s0,设 f(0)=
s0.这样可以得到第 k个方程,得到 f(x)。
对每个 s0都有唯一的多项式满足,所有
由 k-1个 shadow得不到任何 s的信息。因
此此方案是完善的。
2012-3-19 34
Shamir门限方案
? 例 k=3,n=5,q=19,s=11。随机选 a1=2,a2=7
f(x)=7x2+2x+ 11 mod 19。
? 计算 f(1)=1,f(2)=5,f(3)=4,f(4)=17,f(5)=6
已知 f(2),f(3),f(5),重构
1127
)35)(25(
)3)(2(
6
)53)(23(
)5)(2(
4
)52)(32(
)5)(3(
5)(
2
???
??
??
?
??
??
?
??
??
?
xx
xxxxxx
xf
2012-3-19 35
Asmuth-Bloom门限方案
? 首先选取大素数 q,正整数 s(秘密数据 ),
以及 n个严格递增的 m1,m2,…,m n,满足
1,q>s
2,(mi,mj)=1(对所有 i≠j)
3,(q,mi)=1(对所有 i)
4,
??
?
?
??
?
??
1
1
1
1
k
i
in
k
i
i mqmN
选随机的 A,满足 0≤A ≤[N/q] -1,公布 q和 A
N/q大于任取的 k-1和不
同的 mi的乘积
2012-3-19 36
Asmuth-Bloom门限方案
? 如果仅有 k- 1个参与者,只能求得 y’’=y mod
N’’,而 N’’<N/q,无法确定 y。
? 例 k=2,n=3,q=7,s=4,m1=9,m2=11,m3=13
N=m1m2=99>91=7*13=qm3
在 [0,[99/7]-1]=[0,13]中随机取 A=10,求 y=s+Aq=4+10× 7=74,
y1= y mod m1=2
y2= y mod m2=8
y3= y mod m3=9
(9,2),(11,8),(13,9)构
成( 2,3)门限方案
2012-3-19 37
Asmuth-Bloom门限方案
? 若已知 (9,2),(11,8),可建立方程组
? 解得 y=(11× 5× 2+ 9× 5× 8) mod 99=74
? S=y-Aq=74-10× 7= 4
?
?
?
?
?
?
?
y
y
)11( m o d8
)9( m o d2
2012-3-19 38
密钥托管
? 也称托管加密,其目的在于保证个人没有绝
对的银丝和绝对不可跟踪的匿名性。
? 实现手段是把已加密的数据和数据恢复密钥
联系起来。
? 由数据恢复密钥可以得到解密密钥,由所信
任的委托人持有。
? 提供了一个备用的解密途径,不仅对政府有
用,也对用户自己有用。
2012-3-19 39
美国托管加密标准
? 1993年 4月提出托管加密标准 EES(
Escrowed encryption standard)
? 提供强加密功能,同时也提供政府机构
在法律授权下监听功能。
? 通过防窜扰 Clipper芯片来实现。
? 包含两个特性
– Skipjack算法,实现强加密
– 法律实施存取域 LEAF,实现法律授权下解密
2012-3-19 40
Skipjack算法
? 单钥分组加密算法,密钥长 80比特,输入输
出分组长度 64Bit
? 4种工作模式
– ECB模式
– CBC模式
– 64bitOFB模式
– 1,8,16,32,64比特 CFB模式
2012-3-19 41
托管加密芯片
? Skipjack算法
? 80比特族密钥 KF (Family key),同一批芯片的
族密钥都相同
? 芯片单元识别符 UID
? 80bit的芯片单元密钥 KU (unique key),由两个
80bit密钥分量异或得到
? 控制软件被固化在芯片上
2012-3-19 42
托管加密芯片的编程过程
2012-3-19 43
托管加密芯片加密过程
2012-3-19 44
通信和法律实施存取过程
S J
K F
U I D
K U
K S
S J
K F
U I D
K U
K S
电 信 服 务 提 供 者
法 院 证 书
U I D E
K 1
( K U
1
)
U I D E
K 2
( K U 2 )
托 管 机 构 1
托 管 机 构 2
+
D
D
D
D
D
K
1
K
2
K F
A
K U
1
K U
2
K U K S
E
K U
( K S )
,H e l l o,
对 密 钥 分 量 的 请 求
解 密 处 理 器
U I D
,H e l l o,
,H e l l o,
转 换 器
搭 线
E
K S
(, H e l l o, )
E
K F
( U I D,E
K U
( K S ),A )
L E A F
2012-3-19 45
密钥托管密码体制的组成成分
? 用户安全成分( USC),密钥托管成分(
KEC),数据恢复成分( DRC)
解 密
确 定 密 钥
K S
解 密
数 据 恢 复
密 钥
密 钥 K S
明 文明 文
密 钥 K S
加 密
明 文
用 户 安 全 成 分
( U S C )
用 户 安 全 成 分
( U S C )
数 据 恢 复 成 分 ( D R C )
密 钥 托 管 成 分
( K E C )
D R F
密 文
2012-3-19 46
四,公钥基础设施 PKI
2012-3-19 47
? 公钥基础设施是指结合公钥密码体制建
立的提供信息安全服务的基础设施。
? PKI并不是简单的一种技术,而是一种
安全体系和框架。该体系在统一的安全
认证标准和规范基础上提供在线身份认
证,集成了 CA认证、数字证书、数字签
名等功能。
2012-3-19 48
数字证书
? 数字证书是各实体或最终用户在网上进
行信息交流及商务活动的身份证明,在
电子交易的各个环节,交易各方都需要
验证其他参与各方的数字证书的有效性
,从而解决相互间的信任问题。
? 数字证书的格式一般应遵循 X.509版本
公布于 1988年,版本 3的建议稿于 1994
年发布,并于 1995年获得批准。
2012-3-19 49
PKI的组成
? 认证机构( Certificate Authority,CA)。是 PKI
的核心机构。主要责任是:验证并标识证书申请者
的身份;确保用于签名证书的非对称密钥的安全性;管理证书信息资料;发布和维护作废证书列表(
CRL)。
? 证书和证书库。数字证书是网上实体身份的证明,
应由具备权威性、可信任性和公正性的第三方机构
签发;证书库是 CA颁发证书和撤销证书的集中存放
地。
? 密钥备份及恢复。
? 密钥和证书的更新。
? 证书历史档案。记录整个密钥历史是非常重要的。
2012-3-19 50
? 客户端软件。为方便客户操作,客户应安装
客户端软件,以支持数字签名、建米传输数
据等功能。
? 交叉认证。是指在多个 PKI域之间实现互操作
,主要方法:桥接 CA;将多个 CA的根 CA( RCA
)互相签发根证书。
? 证书由某个可信的证书发放机构( CA)建立
,并由 CA或用户自己将其放入公共目录中,
以供其他用户访问。
? 目前,X.509标准已在编排公共密钥格式方面
被广泛接受,并用于许多网络安全应用程序
,其中包括 IPSec,SSL、安全电子交易( SET
),S/MIME等等。
2012-3-19 51
X.509认证业务
? X.509定义了 X.500目录向用户提供认证业务
的一个框架,目录的作用是存放用户的公钥
证书。 X.509还定义了基于公钥证书的认证
协议。由于 X.509中定义的证书结构和认证协
议已被广泛应用于 S/MIME,IPSec,SSL/TLS
以及 SET等诸多应用过程,因此 X.509已成为
一个重要的标准。
? X.509的基础是公钥密码体制和数字签字,但
其中未特别指明使用哪种密码体制(建议使
用 RSA),也未特别指明数字签字中使用哪种
杂凑函数。
2012-3-19 52
在 X.509中,数字证书的数据域包括
? 版本号:如 v3。
? 序列号:由同一发行者( CA)发放的每个证
书的序列号是唯一的。
? 签名算法识别符:签署证书所用的算法及相
应的参数。
? 发行者名称:指建立和签署证书的 CA名称。
? 有效期:包括证书有效期的起始时间和终止
时间。
? 主体名称:指证书所属用户的名称,及这一
证书用来证明私钥用户所对应的公开密钥。
2012-3-19 53
在 X.509中,数字证书的数据域包括 (续 )
? 主体的公开密钥信息:包括主体的公开密钥
、使用这一公开密钥算法的标示符及相应的
参数。
? 发行者唯一识别符:这一数据项是可选的,
当 CA名称被重新用于其它实体时,则用这一
识别符来唯一的识别发行者。
? 主体唯一识别符:这一数据项是可选的,当
主体的名称被重新用于其它实体时,则用这
一识别符来唯一的识别主体。
? 扩展域:其中包括一个或多个扩展的数据项
,仅在第 3版中使用。
? 签名,CA用自己的私钥对上述域的哈希值进
行数字签名的结果。
2012-3-19 54
X.509的证书格式
算 法
参 数
发 放 者 名 称
起 始 时 间
终 止 时 间
} 签 字 算 法 识 别 符
发 放 者 惟 一 识 别 符
主 体 惟 一 识 别 符
扩 充 域
算 法
参 数
签 字
} 签 字
顺 序 号
版 本 号
} 有 效 期
主 体 名 称
算 法
参 数
公 开 密 钥
} 主 体 的 公 钥 信 息
第 1 版
第 2 版
第 3 版
2012-3-19 55
? 如果所有用户都由同一 CA为自己签署证书,
则这一 CA就必须取得所有用户的信任。用户
证书除了能放在目录中以供他人访问外,还
可以由用户直接发给其他用户。
? 如果用户数量极多,则仅一个 CA负责为用户
签署证书是不现实的,因为每一用户都必须
以绝对安全的方式得到 CA的公开密钥,以验
证 CA签署的证书。因此在用户数目极多的情
况下,应有多个 CA,每一 CA仅为一部分用户
签署证书。
2012-3-19 56
X.509证书的获取
? CA为用户产生的证书应有以下特征,
– 其他任一用户只要得到 CA的公开密钥,就能
由此得到 CA为该用户签署的公开密钥。
– 除 CA以外,任何其他人都不能以不被察觉的
方式修改证书的内容。
2012-3-19 57
X.509证书的获取 (续 1)
? 设用户 A已从证书发放机构 X1处获取了公钥证书
,用户 B已从 X2处获取了证书。如果 A不知 X2的公
开密钥,他虽然能读取 B的证书,但却无法验证
X2的签字,因此 B的证书对 A来说是没有用的。然
而,如果两个 CA X1和 X2彼此间已经安全地交换
了公开密钥,则 A可通过以下过程获取 B的公开
秘钥,
– A从目录中获取 X1签署的 X2的证书,因 A知道 X1的公
开密钥,所以能验证 X2的证书,并从中得到 X2的公
开密钥。
– A再从目录中获取由 X2签署的 B的证书,并由 X2的公
开密钥对此验证,然后从中得到 B的公开密钥。
2012-3-19 58
? 以上过程中,A是通过一个证书链来获取 B的
公开密钥,证书链可表示为,X1, X2,
X2, B,
? 类似的,B能通过相反的证书链获取 A的公开
密钥,
X2, X1, X1, A,
? N个证书的证书链可表示为,X1, X2, X2
,X3,… XN,B,
2012-3-19 59
X.509证书的获取 (续 2)
? X.509建议将所有 CA以层
次结构组织起来。
? 右图是 X.509的 CA层次结
构的一个例子,其中的内
部节点表示 CA,叶节点表
示用户。用户 A可从目录
中得到相应的证书以建立
到 B的证书链,X,W,W《
V,V,Y,Y,Z,Z,B,
? 并通过该证书链获取 B的
公开密钥。
U
V
W
X
C A
Y
B
Z
2012-3-19 60
X.509证书吊销列表
算 法
参 数
发 放 者 名 称
本 次 修 改 时 间
下 次 修 改 时 间
} 签 字 算 法 识 别 符
顺 序 号
吊 销 日 期
.,,
顺 序 号
吊 销 日 期
算 法
参 数
签 字
} 已 吊 销 证 书
} 已 吊 销 证 书
} 签 字
2012-3-19 61
X.509的认证过程
? X.509有 3种认证过程以适应不同的应用环境:单
向认证;双向认证;三向认证。
A A
A A
A A
A { t
A
,r
A
,B,s g n D a t a,E
P K B
[ K
A B
] }
A { t
A
,r
A
,B,s g n D a t a,E
P K B
[ K
A B
] }
B { t
B
,r
B
,A,r
A
,s g n D a t a,E
P K A
[ K
B A
] }
( a ) 单 向 认 证
( b ) 双 向 认 证
( c ) 三 向 认 证
A { t
A
,r
A
,B,s g n D a t a,E
P K B
[ K
A B
] }
B { t
B
,r
B
,A,s g n D a t a,E
P K A
[ K
B A
] }
A { r
B
}
2012-3-19 62
PKI中的信任模型
? 建立一个管理全世界所有用户的全球性 PKI是不
现实的。比较可行的办法是各个国家都建立自
己的 PKI,一个国家之内在分别建立不同行业或
不同地区的 PKI。为了实现跨地区、跨行业,甚
至跨国际的安全电子业务,这些不同的 PKI之间
的互联互通和相互信任是不可避免的。
? 证书用户、证书主体、各个 CA之间的证书认证
关系系称为 PKI的信任模型。已经提出的模型有
树(层次) 模型、森林模型等多种信任模型。
2012-3-19 63
树(层次) 模型
? 树(层次) 模型是 PKI的一种简单的信任模型
。它比较适合具有层次结构的机构,如军队、
垂直性行业、学校等。
? 在树(层次) 模型中,多个 CA和最终用户构
成一颗树。其中最高级的一个 CA为根,称为根
CA,根 CA是树型信任模型中的信任根源。其他
CA根据其在树中的位臵不同,而分别被称为中
间 CA和底层 CA。证书的持证人(最终用户)为
树的叶子。
? 所有的 CA和最终用户都遵循共同的行动准则。
2012-3-19 64
一种简单的树(层次) 模型
A
CB
GFED
H I J K L M N O
a b d e f hc ig j k l m n o p
2012-3-19 65
森林层次模型
? 在树形信任模型中,所有的 CA和最终用户都遵循
共同的行动准则。这对于具有层次结构的机构是
可行的。但是,对于社会而言,要建立一个包容
各行各业的树形,模型 PKI是不现实的。
? 于是出现了由多棵树组成的森林,模型。
? 对于森林模型,如果多棵树之间彼此没有联系、
互不信任,那么分别属于不同树的最终用户之间
的保密通信是无法进行的。这样,这些树便成了
信任孤岛,为了避免这种情况,应当在这些树之
间建立某种信任关系,从而实现交叉认证。
2012-3-19 66
交叉认证的方法,
? 各 PKI的 CA之间互相签发证书;
? 由用户控制的交叉认证;
? 由桥接 CA控制的交叉认证。
2012-3-19 67
森林模型与用户控制的交叉认证示例
DCBA
E F G H I J K L
a b d e f hc ig j k l m n o p
证 书 用 户
我 信 任 A 我 信 任 C我 信 任 B 我 信 任 D
2012-3-19 68
由桥接 CA控制的交叉认证模型
BA
E F G H I J K L
a b d e f hc ig j k l m n o p
国 家 桥 接 C A
地 区 桥 接 C A
2012-3-19 69
其他信任模型
? 一个实际的 PKI由于历史发展的原因,
其信任结构完全可能并不是一个标准的
树型模型或者森林模型,而是一种更复
杂的结构。但是,不管它的信任模型是
什么,它必须能够为用户提供满意的认
证服务。只要是用户满意的,它的存在
就是合理的。
2012-3-19 70
本章小结
密钥管理历来就是是一个重要又棘手的
问题,是一项复杂、细致的工作,既包括一
系列的技术问题,又包含许多管理问题和人
员素质问题。因此,必须给予高度的重视和
保护。本章介绍了密钥管理所涉及的方面(
密钥的种类和密钥的存储等),两类(单钥
加密体制和公钥加密体制)密钥的生成和分
配协议,秘密共享的方案、密钥托管以及公
钥基础设施 PKI。
2012-3-19 71
习题
1,在公钥体制中,每一用户 U都有自己的公开密钥 PKU和
密钥 SKU。如果任意两个用户 A,B按以下方式通信,A
发给 B消息( EPKB( m),A),B收到后,自动向 A返回
消息( EPKA( m),B),以使 A知道 B确实收到信息 m,
(1)问用户 C怎样通过攻击手段获取信息 m?
(2)若通信格式变为,
A发给 B消息 EPKB( ESKA( m),m,A)
B向 A返回消息 EPKA( ESKB( m),m,B)
这时的安全性如何?分析 A,B这时如何相互认证并传递消息 m。
2,在 Shamir秘密共享方案中,设 k=3,n=5,q=17,5个子秘
密分别是 8,7,10,0,11,从中任选 3个,构造插值
多项式并求秘密数据 s。
3,在 Asmuth-Bloom秘密共享方案中设
k=2,n=3,q=5,m1=7,m2=9,m3=11,3个密钥分别是 6,3,4
,求秘密数据 s。
第八章 密钥管理
一,密钥管理的基本概念
二,密钥生成与密钥分发
三,秘密共享与密钥托管
四,非线性序列
2012-3-19 2
一,密钥管理的基本概念
2012-3-19 3
在先前的章节,我们所关注的是采用何种密
码算法来实现数据的机密性、完整性、认证性
。然而,在一个安全系统中,总体安全性依赖
于许多不同的因素,例如算法的强度、密钥的
大小、口令的选择、协议的完全性等,其中对
密钥或口令的保护尤其重要。
根据 Kerckhoff的假设,一个密码系统的
安全性完全取决于对密钥的保密而与算法无关
,即算法可以公开。简单来说,不管算法多么
强有力,一旦密钥丢失或出错,不但合法用户
不能提取信息,而且可能会使非法用户窃取信
息。
可见,密钥的保密和安全管理在数据系统
安全中是尤为重要的。
2012-3-19 4
? 密钥管理是处理密钥自产生到最终销毁的整
个过程中的有关问题,大体上讲,密钥管理
包括密钥的产生、装入、存储、备份、分配
、更新、吊销和销毁等内容,其中分配和存
储是最棘手的问题。
? 在分布式系统中,人们已经设计了用于自动
密钥分配业务的几个方案。其中某些方案已
被成功使用,如 Kerberos和 ANSI X.9.17,以
及 ISO-CCITT X.509目录认证方案 。
2012-3-19 5
密钥管理涉及的方面,
? 密钥的种类,
初始密钥, 会话密钥, 加密密钥, 主机主密钥 ;
? 密钥的生成
? 密钥的更换
? 密钥的存储
? 密钥的销毁
? 密钥的吊销
2012-3-19 6
密钥管理的原则
? 密钥管理是一个系统工程,必须从
整体上考虑,从细节着手,严密细
致地施工,充分完善的测试,才能
较好地解决密钥管理问题,为此,
首先要弄清楚密钥管理的一些基本
原则。
2012-3-19 7
– 区分秘钥管理的策略和机制
– 全程安全原则
– 最小权利原则
– 责任分离原则
– 密钥分级原则
– 密钥更换原则
– 密钥应当有足够的长度
– 密码体制不同,密钥管理也不同
2012-3-19 8
二,密钥生成与密钥分发
2012-3-19 9
密钥生成
? 密钥是数据保密的关键,应采用足够安全的
方法来产生密钥。在大型计算机密码系统中
常采用主密钥、二级密钥和初级密钥三种不
同等级的密钥。针对不同的密钥应采用不同
的方法来产生。
? 对于秘要的一个基本要求是要具有良好的随
机性,这主要包括长周期性,非线性,统
计意义上的等概率性以及不可预测性等。高
效的产生高质量的真随机序列,并不是一件
容易的事。在实际中,我们针对不同的情况
采用不同的随机序列。
2012-3-19 10
单钥加密体制 密钥生成
? 主密钥的产生。主密钥应当是高质量的真随机序
列,常采用物理噪声源的方法,但不管是基于什
么随机源来产生密钥,都要经过严格的随机性测
试,否则不能作为密钥;
? 二级密钥的产生。可以像产生主密钥那样产生真
随机的二级密钥,也可以在主密钥产生后,借助
于主密钥和一个强的密码算法来产生二级密钥;
? 初级密钥的产生。为了安全和简便,通常总是把
随机数直接视为受高级密钥(主密钥或二级密钥
)加密过的初级密钥。
2012-3-19 11
单钥加密体制的密钥分配
? 两个用户在使用单钥体制进行通信时,必须
预先共享秘密密钥,并且应当时常更新,用
户 A和 B共享密钥的方法主要有
– A选取密钥并通过物理手段发送给 B
– 第三方选取密钥并通过物理手段发送给 A和 B
– A,B事先已有一密钥,其中一方选取新密钥,用已有密
钥加密新密钥发送给另一方
– A和 B分别与第三方 C有一保密信道,C为 A,B选取密钥
,分别在两个保密信道上发送给 A和 B
2012-3-19 12
单钥加密体制的密钥分配
? 如果有 n个用户,需要两两拥有共享密
钥,一共需要 n(n-1)/2的密钥
? 采用第 4中方法,只需要 n个密钥
2012-3-19 13
一个实例 KS:一次性会话密钥 N1,N2:随机数 K
A,KB,A与 B和 KDC的共享密钥
f:某种函数变换
K D C
A B
3,[ ]
BK S A
E K I D
24, [ ]SKEN
25,[ ( ) ]SKE f N
11, Re q u e st N
1
2, [ (,) ]
ABK S K s A
E K r e q u e s t N E K I D
2012-3-19 14
公钥的分配-公开发布
? 用户将自己的公钥发给每一个其他用户
? 方法简单,但没有认证性,因为任何人都可
以伪造这种公开发布
2012-3-19 15
公钥的分配-公用目录表
? 公用的公钥动态目录表,目录表的建立、维护
以及公钥的分布由可信的实体和组织承担。
? 管理员为每个用户都在目录表里建立一个目录
,目录中包括两个数据项:一是用户名,而是
用户的公开密钥。
? 每一用户都亲自或以某种安全的认证通信在管
理者处为自己的公开密钥注册。
? 用户可以随时替换自己的密钥。
? 管理员定期公布或定期更新目录。
? 用户可以通过电子手段访问目录 。
2012-3-19 16
公钥的分配-公钥管理机构
? 公钥管理机构为用户建立维护动态的公钥目
录。
? 每个用户知道管理机构的公开钥。
? 只有管理机构知道自己的秘密钥。
2012-3-19 17
公钥管理机构分配公钥
公 钥 管 理 机 构
A B
1
3,[ ]
BP K A
E I D N
12
6, [ ]
APK
E N N
27, [ ]BPKEN
11,R e que st T ime
1
2, [ ]
AUS K B
E P K R e q u e st Ti m e
24, Re q u e st Tim e
2
5,[ ]
AUSK A
E P K R e qu e st T ime
有可能成为系统的瓶颈,容易受到敌手的串扰
2012-3-19 18
公钥证书
? 用户通过公钥证书交换各自公钥,无须与公钥
管理机构联系
? 公钥证书由证书管理机构 CA( Certificate
Authority)为用户建立。
? 证书的形式为,T-时间,PKA-A的公钥,IDA- A
的身份,SKCA- CA的私钥
? 时戳 T保证证书的新鲜性,防止重放旧证书。
2012-3-19 19
证书的产生过程
2012-3-19 20
公钥加密体制 密钥生成
? 由于公开密钥密码体制与传统的单钥加密体
制是性质不同的两种密码体制,所以公开密
钥密码体制的密钥产生与传统密码体制的密
钥产生有着本质的区别。
? 公开密钥密码体制本质上是一种单向陷门函
数,它们都是建立在某一数学难题之上的。
不同的公开密钥密码体制所依据的数学难题
不同,因此其密钥产生的具体要求不同。但
是,它们都必须满足密码安全性和应用的有
效性对密钥所提出的要求。
2012-3-19 21
用公钥加密分配单钥密码体制的密钥
A
A
B
B
攻 击 者 E
1.
AA
PK I D
2,[ ]
AP K s
EK
1.
AA
PK I D2.
EA
P K I D
3,[ ]
EP K s
EK4,[ ]
AP K s
EK
简 单 分 配
易 受 到 主 动 攻 击
2012-3-19 22
用公钥加密分配单钥密码体制的密钥
具有保密性和认证性的密钥分配 A B
11,[ ]BP K AE N I D
122,[ ]APKE N N
23, [ ]BPKEN
4, [ [ ] ]
BAP K S K S
E E K
2012-3-19 23
Kerboros协议
Kerboros协议是一个基于私钥密码体制的
流行的密钥服务系统。在这个系统中,每个用
户 U和可信中心(对称密钥分发中心 KDC)共享
一个秘密的 DES密钥。在协议的最新版本中,传
送的所有消息都通过 CBC模式进行加密。
用 ID( U)表示用户 U的某些识别信息。使
用 Kerboros协议传输一个会话密钥的过程可描
述如下,
? 用户 U为了和用户 V通信,他向可信中心要一个会话密
钥;
? 可信中心随机选择一个会话密钥 K,一个时戳 T和一个
生存期 L;
2012-3-19 24
? 可信中心计算 m1=EKU(K,ID(V),T,L)和
m2=EKV(K,ID(U),T,L),并将 m1和 m2发给 U;
? 用户 U首先解密 m1获得 K,ID(V),T和 L。然后计
算 m3=EK(ID(U),T),并将 m3和可信中心发送来
的 m2一起发给 V;
? 用户 V首先解密 m2获得 K,ID(U),T和 L。然后适
用 K解密 m3获得 T和 ID(U)并检测 T的两个值和
ID(U)的两个值是否一样。如果是一样的,那
么 V计算 m4=EK(T+1),并将 m4发送给 U;
? U使用 K解密 m4获得 T+1并验证解密结果是 T+1,
2012-3-19 25
传输在协议中的信息流程图为,
可 信 中 心 用 户 U 用 户 V
E
K U
( K,I D ( V ),T,L )
E
K V
( K,I D ( U ),T,L )
E
K V
( K,I D ( U ),T,L )
E
K
( I D ( U ),T )
E
K
( T + 1 )
2012-3-19 26
? Kerboros协议的缺点,
网络中的所有用户都是同步时钟,因为
目前目前的时间被用来确定是否一个给定的
会话密钥 K是合法的。
Kerboros的口令没有进行额外的特殊处
理,使用穷举攻击法的时间复杂性仅和口令
长度成比例。
Kerboros认证中心要求保存大量的共享
私钥,无论管理还是更新都有很大的困难,
需要特别细致的安全保护措施,将付出极大
的系统代价。
2012-3-19 27
三,秘密共享和密钥托管
2012-3-19 28
秘密共享
? 在导弹控制发射、重要场所通行检验等情况下,
通常必须由两人或多人同时参加才能生效,这时
都需要将秘密分给多人掌管,并且必须有一定人
数的掌管秘密的人同时到场才能恢复这一秘密。
由此,引入门限方案的一般概念。
2012-3-19 29
? 定义,设秘密 s被分成 n个部分信息,每一部分信
息称为一个子密钥或影子,由一个参与者持有,
使得,
1.由 k个或多于 k个参与者所持有的部分信息可
重构 s。
2.由少于 k个参与者所持有的部分信息则无法重
构 s。
则称这种方案为 (k,n)-秘密共享门限方案,k
称为方案的门限值
2012-3-19 30
Shamir门限方案
? 基于多项式 Lagrange插值公式
设 {(x1,y1),…,(x k,yk)}是平面上 k个点构成
的点集,其中 xi(i=1,…k,) 各不相同,那么在
平面上存在唯一的 k-1次多项式 f(x)通过这 k个
点,若把秘密 s取做 f(0),n个 shadow取做
f(xi)(i=1,…n),那么利用其中任意 k个 shadow可
以重构 f(x),从而可以得到秘密 s。
2012-3-19 31
Shamir门限方案
? 有限域 GF(q),q为大素数,q≥n+1 。秘密 s是
GF(q)\{0}上均匀选取的随机数,表示为
s∈ RGF(q)\{0}.k-1个系数 a1,a2,… ak-1选取 ai
∈ RGF(q)\{0}.在 GF(q)上构造一个 k-1次多项式
f(x)=a0+a1x+… +ak-1xk-1
? N个参与者 P1,…,Pn,Pi的 Shadow为 f(i)。任意 k个参与
者得到秘密,可使用 {(il,f(il))|l=1,…,k}构造方程组
?
?
?
?
?
????
????
?
?
?
?
)()()(
)()()(
1
110
1
1
11110
k
k
kkk
k
k
ifiaiaa
ifiaiaa
?
?
?
2012-3-19 32
Shamir门限方案
)( m o d
)(
)()(
1 1
q
ii
ix
ifxf
k
j
k
jl
l lj
l
j? ?
?
?
? ?
?
?
? 由 Lagrange插值公式
)( m o d)()1(
1 1
1
q
ii
i
ifs
k
j
k
jl
l lj
l
j
k
? ?
?
?
?
?
?
??
2012-3-19 33
Shamir门限方案
? 如果 k-1个参与者想获得 s,可构造 k-1个
方程,有 k个未知量。对任一 s0,设 f(0)=
s0.这样可以得到第 k个方程,得到 f(x)。
对每个 s0都有唯一的多项式满足,所有
由 k-1个 shadow得不到任何 s的信息。因
此此方案是完善的。
2012-3-19 34
Shamir门限方案
? 例 k=3,n=5,q=19,s=11。随机选 a1=2,a2=7
f(x)=7x2+2x+ 11 mod 19。
? 计算 f(1)=1,f(2)=5,f(3)=4,f(4)=17,f(5)=6
已知 f(2),f(3),f(5),重构
1127
)35)(25(
)3)(2(
6
)53)(23(
)5)(2(
4
)52)(32(
)5)(3(
5)(
2
???
??
??
?
??
??
?
??
??
?
xx
xxxxxx
xf
2012-3-19 35
Asmuth-Bloom门限方案
? 首先选取大素数 q,正整数 s(秘密数据 ),
以及 n个严格递增的 m1,m2,…,m n,满足
1,q>s
2,(mi,mj)=1(对所有 i≠j)
3,(q,mi)=1(对所有 i)
4,
??
?
?
??
?
??
1
1
1
1
k
i
in
k
i
i mqmN
选随机的 A,满足 0≤A ≤[N/q] -1,公布 q和 A
N/q大于任取的 k-1和不
同的 mi的乘积
2012-3-19 36
Asmuth-Bloom门限方案
? 如果仅有 k- 1个参与者,只能求得 y’’=y mod
N’’,而 N’’<N/q,无法确定 y。
? 例 k=2,n=3,q=7,s=4,m1=9,m2=11,m3=13
N=m1m2=99>91=7*13=qm3
在 [0,[99/7]-1]=[0,13]中随机取 A=10,求 y=s+Aq=4+10× 7=74,
y1= y mod m1=2
y2= y mod m2=8
y3= y mod m3=9
(9,2),(11,8),(13,9)构
成( 2,3)门限方案
2012-3-19 37
Asmuth-Bloom门限方案
? 若已知 (9,2),(11,8),可建立方程组
? 解得 y=(11× 5× 2+ 9× 5× 8) mod 99=74
? S=y-Aq=74-10× 7= 4
?
?
?
?
?
?
?
y
y
)11( m o d8
)9( m o d2
2012-3-19 38
密钥托管
? 也称托管加密,其目的在于保证个人没有绝
对的银丝和绝对不可跟踪的匿名性。
? 实现手段是把已加密的数据和数据恢复密钥
联系起来。
? 由数据恢复密钥可以得到解密密钥,由所信
任的委托人持有。
? 提供了一个备用的解密途径,不仅对政府有
用,也对用户自己有用。
2012-3-19 39
美国托管加密标准
? 1993年 4月提出托管加密标准 EES(
Escrowed encryption standard)
? 提供强加密功能,同时也提供政府机构
在法律授权下监听功能。
? 通过防窜扰 Clipper芯片来实现。
? 包含两个特性
– Skipjack算法,实现强加密
– 法律实施存取域 LEAF,实现法律授权下解密
2012-3-19 40
Skipjack算法
? 单钥分组加密算法,密钥长 80比特,输入输
出分组长度 64Bit
? 4种工作模式
– ECB模式
– CBC模式
– 64bitOFB模式
– 1,8,16,32,64比特 CFB模式
2012-3-19 41
托管加密芯片
? Skipjack算法
? 80比特族密钥 KF (Family key),同一批芯片的
族密钥都相同
? 芯片单元识别符 UID
? 80bit的芯片单元密钥 KU (unique key),由两个
80bit密钥分量异或得到
? 控制软件被固化在芯片上
2012-3-19 42
托管加密芯片的编程过程
2012-3-19 43
托管加密芯片加密过程
2012-3-19 44
通信和法律实施存取过程
S J
K F
U I D
K U
K S
S J
K F
U I D
K U
K S
电 信 服 务 提 供 者
法 院 证 书
U I D E
K 1
( K U
1
)
U I D E
K 2
( K U 2 )
托 管 机 构 1
托 管 机 构 2
+
D
D
D
D
D
K
1
K
2
K F
A
K U
1
K U
2
K U K S
E
K U
( K S )
,H e l l o,
对 密 钥 分 量 的 请 求
解 密 处 理 器
U I D
,H e l l o,
,H e l l o,
转 换 器
搭 线
E
K S
(, H e l l o, )
E
K F
( U I D,E
K U
( K S ),A )
L E A F
2012-3-19 45
密钥托管密码体制的组成成分
? 用户安全成分( USC),密钥托管成分(
KEC),数据恢复成分( DRC)
解 密
确 定 密 钥
K S
解 密
数 据 恢 复
密 钥
密 钥 K S
明 文明 文
密 钥 K S
加 密
明 文
用 户 安 全 成 分
( U S C )
用 户 安 全 成 分
( U S C )
数 据 恢 复 成 分 ( D R C )
密 钥 托 管 成 分
( K E C )
D R F
密 文
2012-3-19 46
四,公钥基础设施 PKI
2012-3-19 47
? 公钥基础设施是指结合公钥密码体制建
立的提供信息安全服务的基础设施。
? PKI并不是简单的一种技术,而是一种
安全体系和框架。该体系在统一的安全
认证标准和规范基础上提供在线身份认
证,集成了 CA认证、数字证书、数字签
名等功能。
2012-3-19 48
数字证书
? 数字证书是各实体或最终用户在网上进
行信息交流及商务活动的身份证明,在
电子交易的各个环节,交易各方都需要
验证其他参与各方的数字证书的有效性
,从而解决相互间的信任问题。
? 数字证书的格式一般应遵循 X.509版本
公布于 1988年,版本 3的建议稿于 1994
年发布,并于 1995年获得批准。
2012-3-19 49
PKI的组成
? 认证机构( Certificate Authority,CA)。是 PKI
的核心机构。主要责任是:验证并标识证书申请者
的身份;确保用于签名证书的非对称密钥的安全性;管理证书信息资料;发布和维护作废证书列表(
CRL)。
? 证书和证书库。数字证书是网上实体身份的证明,
应由具备权威性、可信任性和公正性的第三方机构
签发;证书库是 CA颁发证书和撤销证书的集中存放
地。
? 密钥备份及恢复。
? 密钥和证书的更新。
? 证书历史档案。记录整个密钥历史是非常重要的。
2012-3-19 50
? 客户端软件。为方便客户操作,客户应安装
客户端软件,以支持数字签名、建米传输数
据等功能。
? 交叉认证。是指在多个 PKI域之间实现互操作
,主要方法:桥接 CA;将多个 CA的根 CA( RCA
)互相签发根证书。
? 证书由某个可信的证书发放机构( CA)建立
,并由 CA或用户自己将其放入公共目录中,
以供其他用户访问。
? 目前,X.509标准已在编排公共密钥格式方面
被广泛接受,并用于许多网络安全应用程序
,其中包括 IPSec,SSL、安全电子交易( SET
),S/MIME等等。
2012-3-19 51
X.509认证业务
? X.509定义了 X.500目录向用户提供认证业务
的一个框架,目录的作用是存放用户的公钥
证书。 X.509还定义了基于公钥证书的认证
协议。由于 X.509中定义的证书结构和认证协
议已被广泛应用于 S/MIME,IPSec,SSL/TLS
以及 SET等诸多应用过程,因此 X.509已成为
一个重要的标准。
? X.509的基础是公钥密码体制和数字签字,但
其中未特别指明使用哪种密码体制(建议使
用 RSA),也未特别指明数字签字中使用哪种
杂凑函数。
2012-3-19 52
在 X.509中,数字证书的数据域包括
? 版本号:如 v3。
? 序列号:由同一发行者( CA)发放的每个证
书的序列号是唯一的。
? 签名算法识别符:签署证书所用的算法及相
应的参数。
? 发行者名称:指建立和签署证书的 CA名称。
? 有效期:包括证书有效期的起始时间和终止
时间。
? 主体名称:指证书所属用户的名称,及这一
证书用来证明私钥用户所对应的公开密钥。
2012-3-19 53
在 X.509中,数字证书的数据域包括 (续 )
? 主体的公开密钥信息:包括主体的公开密钥
、使用这一公开密钥算法的标示符及相应的
参数。
? 发行者唯一识别符:这一数据项是可选的,
当 CA名称被重新用于其它实体时,则用这一
识别符来唯一的识别发行者。
? 主体唯一识别符:这一数据项是可选的,当
主体的名称被重新用于其它实体时,则用这
一识别符来唯一的识别主体。
? 扩展域:其中包括一个或多个扩展的数据项
,仅在第 3版中使用。
? 签名,CA用自己的私钥对上述域的哈希值进
行数字签名的结果。
2012-3-19 54
X.509的证书格式
算 法
参 数
发 放 者 名 称
起 始 时 间
终 止 时 间
} 签 字 算 法 识 别 符
发 放 者 惟 一 识 别 符
主 体 惟 一 识 别 符
扩 充 域
算 法
参 数
签 字
} 签 字
顺 序 号
版 本 号
} 有 效 期
主 体 名 称
算 法
参 数
公 开 密 钥
} 主 体 的 公 钥 信 息
第 1 版
第 2 版
第 3 版
2012-3-19 55
? 如果所有用户都由同一 CA为自己签署证书,
则这一 CA就必须取得所有用户的信任。用户
证书除了能放在目录中以供他人访问外,还
可以由用户直接发给其他用户。
? 如果用户数量极多,则仅一个 CA负责为用户
签署证书是不现实的,因为每一用户都必须
以绝对安全的方式得到 CA的公开密钥,以验
证 CA签署的证书。因此在用户数目极多的情
况下,应有多个 CA,每一 CA仅为一部分用户
签署证书。
2012-3-19 56
X.509证书的获取
? CA为用户产生的证书应有以下特征,
– 其他任一用户只要得到 CA的公开密钥,就能
由此得到 CA为该用户签署的公开密钥。
– 除 CA以外,任何其他人都不能以不被察觉的
方式修改证书的内容。
2012-3-19 57
X.509证书的获取 (续 1)
? 设用户 A已从证书发放机构 X1处获取了公钥证书
,用户 B已从 X2处获取了证书。如果 A不知 X2的公
开密钥,他虽然能读取 B的证书,但却无法验证
X2的签字,因此 B的证书对 A来说是没有用的。然
而,如果两个 CA X1和 X2彼此间已经安全地交换
了公开密钥,则 A可通过以下过程获取 B的公开
秘钥,
– A从目录中获取 X1签署的 X2的证书,因 A知道 X1的公
开密钥,所以能验证 X2的证书,并从中得到 X2的公
开密钥。
– A再从目录中获取由 X2签署的 B的证书,并由 X2的公
开密钥对此验证,然后从中得到 B的公开密钥。
2012-3-19 58
? 以上过程中,A是通过一个证书链来获取 B的
公开密钥,证书链可表示为,X1, X2,
X2, B,
? 类似的,B能通过相反的证书链获取 A的公开
密钥,
X2, X1, X1, A,
? N个证书的证书链可表示为,X1, X2, X2
,X3,… XN,B,
2012-3-19 59
X.509证书的获取 (续 2)
? X.509建议将所有 CA以层
次结构组织起来。
? 右图是 X.509的 CA层次结
构的一个例子,其中的内
部节点表示 CA,叶节点表
示用户。用户 A可从目录
中得到相应的证书以建立
到 B的证书链,X,W,W《
V,V,Y,Y,Z,Z,B,
? 并通过该证书链获取 B的
公开密钥。
U
V
W
X
C A
Y
B
Z
2012-3-19 60
X.509证书吊销列表
算 法
参 数
发 放 者 名 称
本 次 修 改 时 间
下 次 修 改 时 间
} 签 字 算 法 识 别 符
顺 序 号
吊 销 日 期
.,,
顺 序 号
吊 销 日 期
算 法
参 数
签 字
} 已 吊 销 证 书
} 已 吊 销 证 书
} 签 字
2012-3-19 61
X.509的认证过程
? X.509有 3种认证过程以适应不同的应用环境:单
向认证;双向认证;三向认证。
A A
A A
A A
A { t
A
,r
A
,B,s g n D a t a,E
P K B
[ K
A B
] }
A { t
A
,r
A
,B,s g n D a t a,E
P K B
[ K
A B
] }
B { t
B
,r
B
,A,r
A
,s g n D a t a,E
P K A
[ K
B A
] }
( a ) 单 向 认 证
( b ) 双 向 认 证
( c ) 三 向 认 证
A { t
A
,r
A
,B,s g n D a t a,E
P K B
[ K
A B
] }
B { t
B
,r
B
,A,s g n D a t a,E
P K A
[ K
B A
] }
A { r
B
}
2012-3-19 62
PKI中的信任模型
? 建立一个管理全世界所有用户的全球性 PKI是不
现实的。比较可行的办法是各个国家都建立自
己的 PKI,一个国家之内在分别建立不同行业或
不同地区的 PKI。为了实现跨地区、跨行业,甚
至跨国际的安全电子业务,这些不同的 PKI之间
的互联互通和相互信任是不可避免的。
? 证书用户、证书主体、各个 CA之间的证书认证
关系系称为 PKI的信任模型。已经提出的模型有
树(层次) 模型、森林模型等多种信任模型。
2012-3-19 63
树(层次) 模型
? 树(层次) 模型是 PKI的一种简单的信任模型
。它比较适合具有层次结构的机构,如军队、
垂直性行业、学校等。
? 在树(层次) 模型中,多个 CA和最终用户构
成一颗树。其中最高级的一个 CA为根,称为根
CA,根 CA是树型信任模型中的信任根源。其他
CA根据其在树中的位臵不同,而分别被称为中
间 CA和底层 CA。证书的持证人(最终用户)为
树的叶子。
? 所有的 CA和最终用户都遵循共同的行动准则。
2012-3-19 64
一种简单的树(层次) 模型
A
CB
GFED
H I J K L M N O
a b d e f hc ig j k l m n o p
2012-3-19 65
森林层次模型
? 在树形信任模型中,所有的 CA和最终用户都遵循
共同的行动准则。这对于具有层次结构的机构是
可行的。但是,对于社会而言,要建立一个包容
各行各业的树形,模型 PKI是不现实的。
? 于是出现了由多棵树组成的森林,模型。
? 对于森林模型,如果多棵树之间彼此没有联系、
互不信任,那么分别属于不同树的最终用户之间
的保密通信是无法进行的。这样,这些树便成了
信任孤岛,为了避免这种情况,应当在这些树之
间建立某种信任关系,从而实现交叉认证。
2012-3-19 66
交叉认证的方法,
? 各 PKI的 CA之间互相签发证书;
? 由用户控制的交叉认证;
? 由桥接 CA控制的交叉认证。
2012-3-19 67
森林模型与用户控制的交叉认证示例
DCBA
E F G H I J K L
a b d e f hc ig j k l m n o p
证 书 用 户
我 信 任 A 我 信 任 C我 信 任 B 我 信 任 D
2012-3-19 68
由桥接 CA控制的交叉认证模型
BA
E F G H I J K L
a b d e f hc ig j k l m n o p
国 家 桥 接 C A
地 区 桥 接 C A
2012-3-19 69
其他信任模型
? 一个实际的 PKI由于历史发展的原因,
其信任结构完全可能并不是一个标准的
树型模型或者森林模型,而是一种更复
杂的结构。但是,不管它的信任模型是
什么,它必须能够为用户提供满意的认
证服务。只要是用户满意的,它的存在
就是合理的。
2012-3-19 70
本章小结
密钥管理历来就是是一个重要又棘手的
问题,是一项复杂、细致的工作,既包括一
系列的技术问题,又包含许多管理问题和人
员素质问题。因此,必须给予高度的重视和
保护。本章介绍了密钥管理所涉及的方面(
密钥的种类和密钥的存储等),两类(单钥
加密体制和公钥加密体制)密钥的生成和分
配协议,秘密共享的方案、密钥托管以及公
钥基础设施 PKI。
2012-3-19 71
习题
1,在公钥体制中,每一用户 U都有自己的公开密钥 PKU和
密钥 SKU。如果任意两个用户 A,B按以下方式通信,A
发给 B消息( EPKB( m),A),B收到后,自动向 A返回
消息( EPKA( m),B),以使 A知道 B确实收到信息 m,
(1)问用户 C怎样通过攻击手段获取信息 m?
(2)若通信格式变为,
A发给 B消息 EPKB( ESKA( m),m,A)
B向 A返回消息 EPKA( ESKB( m),m,B)
这时的安全性如何?分析 A,B这时如何相互认证并传递消息 m。
2,在 Shamir秘密共享方案中,设 k=3,n=5,q=17,5个子秘
密分别是 8,7,10,0,11,从中任选 3个,构造插值
多项式并求秘密数据 s。
3,在 Asmuth-Bloom秘密共享方案中设
k=2,n=3,q=5,m1=7,m2=9,m3=11,3个密钥分别是 6,3,4
,求秘密数据 s。