(一)数字证书概念
(1)定义
是各类终端实体和最终用户在网上进行信息交流及商务活动的身份证明,在电子交易的各个环节,交易的各方都需验证对方数字证书的有效性,从而解决相互间的信任问题。
(2)原理
数字证书采用公钥体制,即利用一对互相匹配的密钥进行加密和解密。每个用户自己设定一个特定的仅为本人所知的私有密钥(私钥),用它进行解密和签名,同时设定一个公共密钥(公钥,解决了密钥发布的管理问题),并由本人公开,为一组用户所共享,用于加密和验证。
(3)组成
数据域 | 说明 | |
1 | 版本号 | 用于区分X.509的不同版本 |
2 | 序列号 | 由同一发行者(CA)发放的每个证书的序列号是唯一的 |
3 | 签名算法 | 签署证书所用的算法及参数 |
4 | 发行者 | 指建立和签署证书的CA的X.509名字 |
5 | 有效期 | 包括证书有效期的起始时间和终止时间 |
6 | 主体名 | 指证书持有者的名称及有关信息 |
7 | 公钥 | 有效的公钥以及其使用方法 |
8 | 发行者ID | 任选的名字唯一地标识证书的发行者 |
9 | 主体ID | 任选的名字唯一地标识证书的持有者 |
10 | 扩展域 | 添加的扩充信息 |
11 | 认证机构签名 | 用CA私钥对证书的签名 |
(4)格式
遵循ITUTX.509国际标准
(5)建立
用户数字证书由某个可信证书发放机构(Certification Authority, CA)建立,并由CA或用户将其放入公共目录中,以供其他用户访问。
目录服务器:本身并不负责为用户创建数字证书,作用仅仅是为用户访问数字证书提供方便。
(二)证书的获取
(1)数字证书特性
1)只要得到CA公钥,就能由此得到CA为用户签署的公钥。
2)除CA外,其他任何人员都不能以不被察觉的方式修改证书的内容。
因为证书是不可伪造的,因此无须对存放证书的目录施加特别的保护。
如果所有用户都由同一CA签署证书,则该CA必须取得所有用户的信任。
用户证书除了能放在公共目录中供他人访问外,还可以由用户直接把证书转发给其他用户。
用户B得到A证书后,可相信用A的公钥加密的消息不会被他人获悉,还可信任用A的私钥签署的消息不是伪造的。
如果用户数量很多,仅一个CA负责为所有用户签署证书可能不现实。通常应有多个CA,每个CA为一部分用户发行和签署证书。
对每一个CA来说,由其他CA为这一CA建立的所有证书都应存放于目录中,并使得用户知道所有证书相互之间的连接关系,从而可获取另一用户的公钥证书。
(三)证书的吊销
每个证书都存在有效期,有些证书还未到截止日期会被发放该证书的CA吊销,可能原因:
①用户私钥已被泄露,
②该用户不再由该CA来认证
③CA为该用户签署证书的私钥已经泄露。
证书吊销列表(Certificate Revocation List, CRL)
存放所有未到期而被提前吊销的证书,包括该CA发放给用户和发放给其他CA的证书。由该CA签字的CRL存放于目录中供他人查询。
CRL中数据域包括
- 发行者CA的名称
- 建立CRL的日期
- 计划公布下一 CRL的日期
- 每个被吊销的证书数据域
被吊销的证书数据域包括该证书的序列号和被吊销的日期。
对某CA来说,它发放的每个证书的序列号唯一,可用序列号来识别每个证书。
每个用户收到他人消息中的证书时都必须通过目录检查这一证书是否己经被吊销,为避免搜索目录引起的延迟以及因此而增加的费用,用户自己也可维护一个有效证书和被吊销证书的局部缓存区。