2010-5-14 1
第九章 网络加密与认证
2010-5-14 2
X.509和 PKI
Public Key Infrastructure
2010-5-14 3
数字证书
version (v3)
serial number
signature algorithm id
issuer name
validity period
subject name
subject public key info
issuer unique identifier
{extensions}
signature
X.509v3 证书,
2010-5-14 4
数字证书
证书分类, ID/认证分级
? 证书重要性是不一样的
PKI通常支持不同类型的证书,可以 (1)用于
不同的功能 (2)建立不同级别的 身份认证机制,
? 证书分类没有标准
2010-5-14 5
数字证书
1,最低级
确保用户名和 e-mail地址,,无第三方认证
用途,Web浏览
2,基础级
由第三方 (RA)验证姓名,地址和其他注册的个人信息。
可能应用, 小额 EDI,在线支付。
2010-5-14 6
数字证书
3,中级
注册过程需要个人当面认定,高强度的密码模块和
访问控制
典型应用, 敏感的公司间邮件或 EDI
4,高级
需要个人当面以及详细调查 最强的计算安全控制
2010-5-14 7
Certificate Authority (CA) 对给定的安
全域产生和发布证书 。
控制政策,相对其他用户具有绝对的权威,
数字证书
2010-5-14 8
Principal/
Applicant
Registration
Authority
Certificate
Authority Repository
Application
or other entity
1,Users apply for certification
2,RA verifies identity
3,RA requests cert
for user
Cert and CRL
Repository
(LDAP Directory)
4,CA issues cert
5,CA
publishes certs
and CRLs
5a,CA pushes
CRL info to
client based
on policy
6,Apps and other
systems use certs,
数字证书
2010-5-14 9
Certificate Authority
Local Area
Network
Wide Area
Network
Local Area
Network
Local Area
Network
Registration
Authority
Principal/
Applicant Repository
数字证书
2010-5-14 10
CA 信任模型
任何支持超出单个安全域的 PKI必须考虑,
如何建立对 CA本身的信任
问, 谁是 CA的可信第三方?
谁签发它的数字证书? (分层 )
它和谁共享信任? (交叉证书 )
2010-5-14 11
CA 信任模型
三种主要的 CA信任模型,
1,交叉认证
2,证书链
3,hub/桥 CA
2010-5-14 12
CA 信任模型
1,交叉认证,
A,证书信任列表
CTLs 是信任的证书或 CA的列表,
Web 浏览器可以在 client端存储 CTLs,或在中心目录
或信任 server上存储。管理员可指定信任 CA的集合,
在验证证书有效性的同时,client检查发布证书的 CA是否
在证书列表中。
2010-5-14 13
CA 信任模型
1,交叉认证,
B,双侧交叉认证
CAs 通过公证彼此的公钥彼此交叉认证。
CA1 CA2 CA3
Cross-certified Cross-certified
Trust relationship Trust relationship
Optional implicit third-party trust
2010-5-14 14
2,证书链,
user A user B
CA
CA
CA
CA
(“root”)
CA
Trusts
Trusts
Trusts
Trusts
Trusts
Trusts
Optional cross-cert.
CA 信任模型
2010-5-14 15
3,Hub/桥 CA
Hub
CA
CA CA
CA
CA
CA
CA
CA CA
CA 信任模型
2010-5-14 16
3,Hub/桥 CA
? Hub/桥 CA 为成员提供中心化的信任管理 /和政策映射,
? 建立确信级别和维护政策,
? Hub CA 会检查成员 CA 的政策以保证一致性和完整性。
? 处理交叉认证任务和维护目录仓库,
CA 信任模型
2010-5-14 17
Hybrid
Hub
CA
CA
CA
CA
Community of
Interest
CABi-lateral
cross-certification
with trading partner
CA
CA CA
Cross-certification
into a public hierarchy
CA 信任模型
2010-5-14 18
PKI 政策
“证书政策”,
,A named set of rules that indicates the
applicability of a certificate to a particular
community and/or class of application with
common security requirements.”
-- RFC 2527
可指定证书应用的限制
也用于授权 CAs:
2010-5-14 19
秘密密钥管理
1,Client-based 密钥存储,
? 当前最常用的密钥存储, (Microsoft,Wallet”,
Entrust,Profile”)
? PKI client 使用软件存储机制在客户 PC的硬盘上加
密用户的 credentials/私钥, 用户通常使用口令。,
2010-5-14 20
秘密密钥管理
2,Smart Cards:
? 私钥的理想存储机制,
? 存储私钥,证书,其他 credentials,通常以
PIN保护,
? 便携 !
2010-5-14 21
秘密密钥管理
3,秘密密钥的目录存储,
? 访问秘密信息,用户登录进入目录,
? 应用为本地应用从目录下载秘密签名和加
密密钥。
? 提供位置无关性,
? 管理员可以集中管理安全信息和政策 。
2010-5-14 22
授权和访问控制
PKI,密钥对管理,数字证书 均是用于认证 …,
但是数字证书也可用于第二个目的 --授权:
授权
用户可以有效的访问其拥有合法权限的资源
访问控制
用户 /管理员可以容易地对其负责的资料进
行访问控制。,
2010-5-14 23
授权和访问控制
集成 PKI的授权基础设施使用一些和 PKI一样的构
件,主要有,
X.509 数字证书
LDAP 目录
? 但是应当认为是一个不同的基础设施,
? 在证书的一个域中提供一个指向动态目录 (通常是
LDAP)的指针,其中包括授权的属性,使得证书是相对
静态的,
2010-5-14 24
PGP
2010-5-14 25
PGP简介
? PGP是 Pretty good privacy的缩写。是目
前使用最为普遍的一种电子邮件系统。
? 可为电子邮件和文件存储应用过程提供
认证业务和保密业务。
? 介绍 PGP的运行方式、密钥产生和存储、
公钥的管理
2010-5-14 26
运行方式
? PGP的主要业务
? 数字签字
? DSS/SHA,RSA/SHA
? 消息加密
? CAST/IDEA/3DES(3个密钥) /ElGamal/RSA
? 压缩
? ZIP
? 电子邮件的兼容性
? Base64编码
? 分段
2010-5-14 27
运行方式
M ||
H E
SKA
M
)]([ MHE ASK
H
D
PKA 比较
Z Z-1
仅认证性
M ||EC
PKB
][ SPK KEP B
DC
DP
Z
Ks EP
SKB
Z-1 M
仅保密性
2010-5-14 28
运行方式
M ||
H E
SKA
||EC
][ SPK KEP B
DC
DPKs
EP
PKB
SKB
M H
D
PKA
Z-1
比较
)]([ MHE ASK
保密和认证
2010-5-14 29
运行方式
? Base64编码
? 许多电子邮件系统只允许文本传输,而密文
是任一 8bit16进制数。 Base64将 8比特传转换
为可打印字符,将 3个 8bit串转换为 4个 ASCII
文本字符。具体方法如下:选择
A~Z,a~z,0~9,+,=共 64个 ASCII字符列为数
组,将 3个 8bit分为 4个 6bit,每个 6bit作为数
组下标,该下标对应的元素作为分组输出。
2010-5-14 30
密钥和密钥环
? PGP的密钥有四类
? 分组加密算法的一次性会话密钥
? 分组加密算法的基于通行字短语的密钥
? 公钥加密算法所用的公钥
? 公钥加密算法所用的私钥
? 需满足的要求
? 能够产生不可猜测的会话密钥
? 用户可有多个公开钥-秘密钥对
? PGP的每一个用户都必须对存储自己密钥对的文件
加以维护,同时还需要对存储所用通信对方公钥的
文件加以维护
2010-5-14 31
密钥和密钥环
? 会话密钥的产生
? 以 CAST128为例
CAST128
加密算法
128bit密钥
64bit明文
64bit明文
128bit会话
密钥
用户随机输
入加时间
2010-5-14 32
密钥和密钥环
? 密钥识别符
? 接收方有多个密钥时需要指定会话密钥用那
个密钥解密。对每一个用户的每一个公钥指
定一个唯一的标识符。称为密钥 ID。
? PGP采用公钥的 64个最低有效位作为密钥 ID
2010-5-14 33
密钥和密钥环
? PGP的消息格式 接收方公开钥 PK
B的密钥 ID
会话密钥 KS
时戳
发送方公开钥 PKA的密钥 ID
消息摘要的前两个 8bit位组
消息摘要
文件名
时戳
数据
会话密钥
签字
消息
EPKB
ESKB EKS
R64
2010-5-14 34
密钥和密钥环
? 密钥环
? PGP提供两个表形数据结构
? 秘密钥环:一个用于存储用户自己的密钥对
? 公钥环:存储该用户所知的其他用户的公钥
时戳 密钥 ID* 公开

被加密的秘密

用户
ID*

Ti


PKimod
264


PKi


EH(Pi)[SKi]


用户 i

秘密钥环
2010-5-14 35
密钥和密钥环
? 公开钥环


密钥 ID* 公

拥有者
可信字



ID
密钥合
法性字



签字
可信
字段

Ti


PKimod
264


PKi


Trust_fla
g



户 i


Trust_fl
ag





2010-5-14 36
PGP的消息产生过程
2010-5-14 37
PGP的消息接收过程
2010-5-14 38
公钥管理
? 保护公钥不被他人串扰,可用的手段包

? 物理手段
? 通过电话验证
? 通过 A,B都信赖的第三方
? 通过可信的证书发放机构
2010-5-14 39
PGP的信任关系
? 公钥环中有三个数据项表示对该公钥的
信任程度
? 密钥合法性字段,根据签字可信字段计算的
? 签字可信字段:表示用户对签字者的信任程

? 拥有者可信字段,表示用此公钥签署其他公
钥证书的可信程度,由用户自己指定
2010-5-14 40
PGP的信任处理过程
? A在公钥环插入一新的公钥,必须位拥有
者可信字段指定一个标志
? Ultimate trust
? Completely trusted
? Marginally trusted
? Untrusted
? unknown
自己的公钥
2010-5-14 41
PGP的信任处理过程
? 当新公钥插入公钥环时,新公钥已有一个或多个签字,
以后还会收集到多个为该公钥的签字。查看签字产生
者是否已经在公钥环中,如果在,将签字产生者的拥
有者可信字段的标志赋值为签字可信字段。如果不在,
签字可信字段赋值为 unknown
? 密钥合法性字段由签字可信字段的取值计算得到
? Ultimate trust?complete trust
? 对于 always trusted 和 usually trusted进行加权求和
2010-5-14 42
PGP的信任处理过程 密钥
密钥拥有者
ultimate
always
partially
undefined
I的密钥被 C
签署
S的密钥被不在公钥
环中的密钥签署
2010-5-14 43
公钥的吊销
? 怀疑秘密钥泄漏,或为避免密钥使用时
间过长,就可以吊销。
? 可以通过发放一个公钥吊销证书来实现