数字证书及其认证过程

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、有关概念

1.关于CA

CA(Certification Authority)在PKI中称“认证机构”,它为电子商务环境中各个实体颁发电子证书,即对实体的身份信息和相应公钥数据进行数字签名,用以捆绑该实体的公钥和身份,以证明各实体在网上身份的真实性;并负责在交易中检验和管理证书。CA是认证电子商务和网上银行交易的权威性、可信赖性及公正性的第三方机构,是电子商务的重要基础设施,是电子商务的安全保证。

2.关于数字证书

数字证书也叫电子证书,或简称证书,在很多场合下,数字证书、电子证书和证书都是X.509公钥证书的同义词,它符合ITU-T X.509 V3标准。证书是随PKI的形成而新发展起来的安全机制,它实现身份的鉴别与识别(认证)、完整性、保密性及不可否认性安全服务(安全需求);数字证书是电子商务中各实体的网上身份的证明,它证明实体所声明的身份与其公钥的匹配关系,使得实体身份与证书上的公钥相绑定;从公钥管理的机制来讲,数字证书是公钥体制密钥管理的媒介,即在公钥体制中,公钥的分发、传送是靠证书机制来实现的。所以有时也将数字证书称为公钥证书;数字证书是一种权威性的电子文档,它是由具有权威性、可信任性及公正性的第三方机构(CA)所颁发。

二、证书的内容及用途

CFCA所发放的证书均遵循X.509 V3标准,其基本格式及其用途如下:

1.Certificate Format Version

证书版本号,用来指定证书格式用的X.509版本号,用于目录查询。

2.Certificate Serial Number

证书序列号,证书颁发者指定证书唯一序列号, 以标识CA发出的所有证书,用于目录查询。

3.Signature Algorithm Identifier

签名算法标识,用来指定本证书所用的签名算法(如SHA-1、RSA)。

4.Issuer

签发此证书的CA名称,用来指定签发证书的CA的可识别的唯一名称(DN, Distinguished Name),用于认证。

5.Validity Period

证书有效期,指定证书起始日期(notBefore)和终止日期(notAfter),用于校验证书的有效性。

6.Subject

用户主体名称,用来指定证书用户的X.500唯一名称(DN),用于认证。

7.Subject Public Key Information

用户主体公钥信息。

(1)Algorithm Identifier,算法标识。用来标识公钥使用的算法。

(2)Subject Public Key,用户主体公钥。用来标识公钥本身,用于加/解密和数字签名。

8.Issuer Unique ID

颁发者可选唯一标识,很少用。

9.Subject Unique ID

主体证书拥有者唯一标识,很少用。

10.Extensions

证书扩充部分(扩展域),用来指定额外信息。

(1)Authority Key Identifier,签发者CA的公钥标识。

Key Identifier,公钥标识;

Cert Issuer,证书签发者的甄别名,电子邮件、IP地址等;

Cert Serial Number,签发证书的序列号,用于签发根证书及交叉认证。

(2)Subject Key Identifier,用户主体的公钥标识。证书主体所含密钥的唯一标识,用来区分一个证书拥有者的多对密钥,主要用于对由以前公钥加密过的文件进行解密。

(3)CRL Distribution Point, CRL分布。指明CRL分段的地点,用于分布式存放。

(4)Key Usage,证书中的公钥用途,用来指定公钥用途,数字签名、加密等。

(5)Private Key Usage Period,用户的私钥有效期。用来指定用户签名私钥的起始日期和终止日期。

(6)Certificate Policies,CA承认的证书政策列表。用来指定用户证书所适用的政策, 证书政策可由对象标识符表示,一个详细提示(200字符)。

(7)Policy Mappings,策略映射。表明在两个CA之间一个或多个策略标识的等价映射关系——仅在CA证书里存在。

(8)Subject Alt Name,用户的代用名。用来指定用户的代用名。

(9)Issuer Alt Name,CA的代用名。用来指定CA的代用名。

(10)Basic Constraints,基本制约。用来表明证书用户是最终用户还是CA,用于交易路径。

(11)Subject Directory Attributes,用户主体目录属性。指出证书拥有者的一系列属性。

11.Signature Acgorithm

CA签名算法标识。

12.CA Signature

CA签名。

三、证书的认证过程

1.拆封证书

所谓证书的拆封,是验证发行者CA的公钥能否正确解开客户实体证书中的“发行者的数字签名”。两个证书在交换传递之后,要进行拆封,看是否能够拆封。一个证书或证书链的拆封操作,是为了从中获得一个公钥。可示为X1p?X1<>,这为一个中缀操作,其左操作数为一个认证机构的公钥,右操作数则为该认证机构所颁发的一个证书。如果能正确解开,输出结果为用户的公钥。

从证书内容列表中可以看出,证书结构的最后内容是认证机构CA的数字签名,即一个可信任的CA已经在证书上用自己的私钥做了签名。如果用该CA的公钥就可以拆封一个用户实体的证书,那么,这个签名被验证是正确的。因为它证明了这个证书是由权威的、可信任的认证机构所签发。因此,这个实体证书是真实可信的。

2.证书链的验证

所谓证书链的验证,是想通过证书链追溯到可信赖的CA的根(ROOT)。换句话说,要验证签发用户实体证书的CA是否是权威可信的CA,如CFCA。证书链验证的要求是,路径中每个证书从最终实体到根证书都是有效的,并且每个证书都要正确地对应发行该证书的权威可信任性CA。操作表达式为Ap?A<>B<>,指出该操作使用A的公钥,从B