公钥基础设施
在网络通信中使用密码算法必须保证在公共网络中能够安全地传递密钥给通信各方. 公钥密码体系是传递密钥的最佳方式.而使用公钥密码体系必须确认对方的公钥.使用公钥证书是确认公钥的最有效的手段.公钥证书的颁发和管理需要一个可信赖机构的介入,因此有必要构造公钥基础设施.公钥证书和CA网是公钥基础设施的两个重要组成部分. 公钥基础设施简记为PKI,它是管理公钥和公钥证书的综合基础设施,包括如下功能:
- 在颁发公钥证书之前首先确定用户的真实身份.
- 根据用户的要求给用户颁发公钥证书
- 根据用户的要求延期或更换公钥证书.
- 存储和管理公钥证书.
- 废除过期公钥证书及废除被盗私钥的公钥证书,这一点对维护数据的完整性和不可否认性尤其重要.
- 保证数字签名者不能抵赖自己的签名.
- 支持CA网的实施,使不同的证书机构能够互相确认不同机构颁发的公钥证书
X.509 公钥结构
X.509公钥结构是由国际电信联盟(ITU)的电信标准局在1988年设计,并由互联网工程特别小组(IETF)推荐的PKI公钥基础设施,简记为PKIX,也称为ITU-T PKI标准.它由如下4个基本部分组成:
- 终端实体,指公钥证书用户和支持PKIX的各种设备和装置,如服务器和路由器.
- 证书机构(CA),指颁发和吊销公钥证书的机构.
- 登记机构(RA),指验证公钥证书持有者的身份及其他属性的机构.
- 证书库,指用于存储公钥证书和证书吊销目录(CRL)的数据库.终端实体可随时读取这些数据.
PKIX体系结构如下图 终端实体和证书机构之间的PKI管理包括如下项目:
- 注册登记:用户在获得公钥证书之前必须首先向证书机构注册,用户可直接或通过登记机构间接登记公钥证书
- 初始处理:用户必须获得证书机构的公钥及其他相关信息
- 签发证书:证书机构给用户的公钥签发公钥证书,并将其直接送回给用户或在证书库上发布.
- 密钥对恢复:提供必要的机制使用户能够找回丢失的私钥.
- 密钥对更新:定期更新用户的公钥和私钥对.
- 吊销证书:如果私钥泄露,或用户更改姓名和地址,用户必须立即通知证书机构吊销其原有公钥证书.
- 互验证书:不同的证书机构应能互验各自签发的证书
X.509公钥证书格式
X.509公钥证书前后共有三个版本,第1版于1988年开始使用,第2版使用较少,第3版于1996年开始使用,是目前普遍使用的版本,国际电信联盟电信标准局(ITU-T)已将X.509公钥证书格式制定为公钥证书标准.X.509公钥证书由如下几个基本部分组成:
- 版本:标明X.509公钥证书所使用的版本.
- 序列号:列出证书序列号码,它在同一个证书机构内不能重复使用
- 签名算法名称:列出证书机构给证书加密所使用的算法名称,如 shalRSA表明证书机构将用SHA-1散列函数求出公钥证书的散列值,然后用RSA将散列值加密.
- 签发者:列出证书签发者的标准名称
- 有效期:列出证书的有效期,它含起始日期和终止日期两个日期
- 用户名:列出证书拥有者的姓名或名称.
- 用户公钥信息:列出公钥的算法名称和公钥值
- 扩展项目:列出其他有关信息,这一项内容只在第3版中使用
- 签名算法名称:再次列出给证书加密的散列函数和公钥密码体系的名称
- 数字签名:列出经证书机构私钥加密的证书散列值
下图给出了一个由 Adobe Acrobat 6.0产生的X.509版本3的公钥证书的例子
X.509公钥证书使用案例
假设A需要将密钥
K
A
B
K_{AB}
KAB?传送给B,并向B证明密钥
K
A
B
K_{AB}
KAB?的确来自A且没有被他人修改过A首先从PKIX处获取B的公钥证书
C
A
(
K
B
u
)
CA(K_B^u)
CA(KBu?),确认证书机构的签名并提取B的公钥
K
B
u
K_B^u
KBu?,然后将如下信息传送给B,并进行证书验证及解密,具体如下:
他们认为自己大获全胜,但没过多久,他们犯下的两个致命错误造成的后果就显现出来。因为整个市场走势出现回调,公众不再买进这只股票,而内部人士开始害怕,也没有去支撑联合炉
|