




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数字证书的结构、描述与编码前言
计算机和网络技术的发展将人类带入信息化社会,随之而来的是倍受关注的信息安全问题。现代密码学己成为信息安全技术的核心,基于数字签名的数字证书是现代密码学主要研究的内容之一。数字证书技术在身份识别和认证、数据完整性、抗抵赖等方面具有其他技术所无法替代的作用,它在军事、电子商务和电子政务等领域有着极广泛的应用。
数字证书在信息传输中起着验证用户身份,保证信息传递的安全性、合法性和完整性等作用,它在公钥基础设施中是重要的一环。应用第三方软件对数字证书解析存在着安全性无法彻底保障,证信息分析不彻底等诸多问题,因此对数字证书的验证过程的研究分析,实现数字证书验证代码的完全自主开发,为保证信息传输安全,建立有效的公钥基础设施起了重要的作用。
本篇的目的是对数字证书进行详尽的分析,包括数字证书的基本结构、描述方法、编码以及X.509数字证书实例等。主要内容数字证书的基本结构数字证书的描述方法数字证书的编码X.509数字证书结构X.509数字证书详细描述X.509数字证书实例数字证书的基本结构一张数字证书由证书内容、签名算法和签名结果组成证书内容签名算法签名结果证书的基本结构数字证书的基本结构证书实例:在Internet选项-内容数字证书的基本结构证书内容包括:
版本号
证书主体
主体公钥内容
签发者
序列号
有效期
扩展项数字证书的基本结构
版本号
数字证书有自己的格式,而这个格式可能会不断改进。为了让所有应用系统正确地识别证书内容,需考虑向前和向后兼容。因此,在证书中标明自己的格式版本有利于应用程序根据不同的格式定义来正确阅读不同的证书。
证书主体1)证书的持有者(订户)2)不仅具有证书的使用权,而且具有证书的所有权3)不仅可以把证书复制或传递给别人,更重要的是,证书主体拥有证书中的身份、公钥和对应的私钥
主体公钥内容1)PKI是算法无关的,实际中可以使用多种算法2)公钥信息中首先需要指明所用的公钥算法,随后才是公钥信息本身
签发者证书管理机构------CA注:CA是PKI系统中通信双方都信任的实体,被称为可信第三方(TrustedThirdParty,简称TTP)数字证书的基本结构
序列号1)证书编号2)如果签发者命名能满足唯一性要求的话,用“签发者”和“序列号”就可以唯一的标识任何一张数字证书
有效期
1)持有数字证书也就享有了证书签发结构通过证书提供的安全服务,其中还包含着责任和一些法律义务
2)订户享受的服务是有时效性的,因此,数字证书应具有一个有效期。
3)长期使用同一密钥是不安全的,而且证书持有者的信息经过一段时间可能会改变,所以需要为证书设置一个包含起、止时间的“有效期”。
4)本质上是CA负责维护证书状态的时间范围,在此时间内CA担保证书持有者和公钥绑定关系的正确性
扩展项
提供为用户或者公开密钥和证书管理等级制度相结合的附加属性的方法数字证书的描述方法
证书的描述需要使用精确的语言将内容准确的、无二义的表达出来,以便PKI系统中的各个组件都能正确的处理证书,各种应用系统也能正确的从证书中获取公钥和持有者的信息。基本要求
1)简明的2)无歧义
自然语言和程序设计语言无法满足要求
1)自然语言
a.多种语言
b.同语种中一词多义和一义多词
2)程序设计语言
a.有较严格的语法和较清晰的数据结构表达方式
b.但由于平台相关的编译器不同,同一数据类型在不同系统中的实现就可能有差异。程序语言在内容的顺序上也没有严格规定。
ASN.1(AbstractSyntaxNotationone)抽象语法表示法可以满足要求ASN.1语法纪法标准是一种既简单,又没有歧义的内容描述语言。数字证书的描述方法
ASN.1语法记法标准
1)AbstractSyntaxNotationone抽象语法表示法
2)是描述数据的表示、编码、传输、解码的灵活的记法。它提供了一套正式、无歧义和精确的规则以描述独立于特定计算机硬件的对象结构。
3)ASN.1是ISO和ITU-T的联合标准,最初是1984年的CCITTX.409:1984的一部分。由于其广泛应用,1988年ASN.1移到独立标准X.208,1995年进行全面修订后变成X.680系列标准。
4)ASN.1本身只定义了表示信息的抽象句法,但是没有限定其编码的方法。ASN.1首先定义一定数量的“简单类型”,然后通过构造出各种较复杂的“构造类型”
1)简单类型
2)构造类型
3)其它关键字数字证书的描述方法简单类型BITSTRING比特串(O和1组成)BOOLEAN布尔型(取TRUE或FALSE)INTEGER整数NULL空值OBJECTIDENTIFIER对象标识符OCTETSTRING字节串PrintableString可打印字符串UTCTime“协调世界时”(UTC)GeneralizedTime通用时间数字证书的描述方法构造类型SEQUENCE表示1个或多个字段组成的有序序列SEQUENCEOF表示0个或多个特定类型字段的有序序列SET表示1个或多个字段组成的无序集合SETOF表示0个或多个特定类型字段的无序集合其它关键字CHOICEANYOPTIONALDEFAULT数字证书的编码
利用ASN.1可以准确地定义证书应该包含的内容。即ASN.1可以定义证书应该包含的内容的准确类型。
无二义性的内容类型的实际取值
可以说ASN.1解决的是高层设计者之间的交流问题,编码方法要解决的是机器间的交流问题。
编码的作用就是将各种用ASN.1定义的数据类型的值对应到比特流,以便在不同通信实体之间传递,而且使得各通信实体对于所传递的信息理解没有歧义。1)“TLV”方式可以完整表示特定类型的数据2)类型type、长度length和值value3)解码时,首先识别数据的类型,即可选定处理的方法;然后得到数据的长度,即可进行处理的准备工作;最后就可以正确的得到数据本身的值。数字证书的编码简单类型的编码BOOLEAN布尔型的数据,只有两种可能的取值“TRUE”(0xFF)和“FALSE”(0x00)INTEGER整数类型BITSTRINGOCTETSTRING字符码串NULL一个特殊的值,表示“无”或“空”OBJECTIDENTIFIER对象标识符OIDPrintableString任意长度的ASCII字符串UTCTime协调世界时GeneralizedTime类似UTCTime数字证书的编码构造类型及其他SEQUENCE表示1个或多个字段组成的有序序列SEQUENCEOF表示0个或多个特定类型字段的有序序列SET表示1个或多个字段组成的无序集合SET
OF表示0个或多个特定类型字段的无序集合CHOICEOPTIONALANYDEFAULTX.509数字证书结构X.509数字证书结构的基本部分
版本号
标识证书的版本序列号标识证书的唯一整数,由证书颁发者分配的本证书的唯一标识符。签名用于签证书的算法标识,由对象标识符加上相关的参数组成,用于说明本证书所用的数字签名算法。例如,SHA-1和RSA的对象标识符就用来说明该数字签名是利用RSA对SHA-1杂凑加密。颁发者证书颁发者的可识别名(DN)。有效期
证书有效期的时间段。本字段由”NotBefore”和”NotAfter”两项组成,它们分别由UTC时间或一般的时间表示(在RFC2459中有详细的时间表示规则)。主体
证书拥有者的可识别名,这个字段必须是非空的,除非你在证书扩展中有别名。主体公钥信息主体的公钥(以及算法标识符)。颁发者唯一标识符
标识符—证书颁发者的唯一标识符主体唯一标识符
证书拥有者的唯一标识符X.509数字证书结构X.509数字证书结构的扩展部分
发行者密钥标识符
证书所含密钥的唯一标识符,用来区分同一证书拥有者的多对密钥。密钥使用
一个比特串,指明(限定)证书的公钥可以完成的功能或服务,如:证书签名、数据加密等。如果某一证书将KeyUsage扩展标记为“极重要”,而且设置为“keyCertSign”,则在SSL通信期间该证书出现时将被拒绝,因为该证书扩展表示相关私钥应只用于签写证书,而不应该用于SSL。CRL分布点指明CRL的分布地点私钥的使用期指明证书中与公钥相联系的私钥的使用期限,它也有NotBefore和NotAfter组成。若此项不存在时,公私钥的使用期是一样的证书策略
由对象标识符和限定符组成,这些对象标识符说明证书的颁发和使用策略有关策略映射
表明两个CA域之间的一个或多个策略对象标识符的等价关系,仅在CA证书里存在主体别名指出证书拥有者的别名,如电子邮件地址、IP地址等,别名是和DN绑定在一起的颁发者别名
指出证书颁发者的别名,如电子邮件地址、IP地址等,但颁发者的DN必须出现在证书的颁发者字段主体目录属性
指出证书拥有者的一系列属性。可以使用这一项来传递访问控制信息。X.509证书详细描述Certificate
::=
SEQUENCE
{tbsCertificate
TBSCertificate,signatureAlgorithm
AlgorithmIdentifier,signatureValue
BITSTRING}TBSCertificate
::=
SEQUENCE
{version
[0]
EXPLICITVersionDEFAULTv1,serialNumber
CertificateSerialNumber,signature
AlgorithmIdentifier,issuer
Name,
validity
Validity,
subject
Name,
subjectPublicKeyInfoSubjectPublicKeyInfo,issuerUniqueID
[1]
IMPLICITUniqueIdentifierOPTIONAL,subjectUniqueID[2]
IMPLICITUniqueIdentifierOPTIONAL,extensions
[3]
EXPLICITExtensionsOPTIONAL}Version
::=
INTEGER
{
v1(0),v2(1),v3(2)
}CertificateSerialNumber
::=
INTEGERAlgorithmIdentifier
::=
SEQUENCE
{algorithm
OBJECTIDENTIFIER,parameters
ANYDEFINEDBYalgorithmOPTIONAL
}证书全部内容开始,结构化不定长编码证书主体证书签名算法标识证书签名值(注1)证书版本号证书序列号(注2)证书签名算法标识证书发行者名称证书有效期证书主体名称证书公钥证书发行者ID(可选),只在证书版本2、3中才有证书主体ID(可选),只在证书版本2、3中才有证书扩展段(可选),只在证书版本3中才有注1:证书签名值,是使用signatureAlgorithm部分指定的签名算法对tbsCertificate证书主题部分签名后的值注2:证书序列号,对同一CA所颁发的证书,序列号唯一标识证书X.509证书详细描述Parameters:Dss-Parms
::=
SEQUENCE
{p
INTEGER,q
INTEGER,g
INTEGER
}SignatureValue:Dss-Sig-Value
::=
SEQUENCE
{
r
INTEGER,
s
INTEGER
}Name::=CHOICE{
RDNSequence}RDNSequence::=SEQUENCEOFRelativeDistinguishedNameRelativeDistinguishedName::=SETOFAttributeTypeAndValueAttributeTypeAndValue::=SEQUENCE{type
AttributeType,value
AttributeValue}AttributeType::=OBJECTIDENTIFIERAttributeValue::=ANYDEFINEDBYAttributeType
parameters,DSA(DSS)算法时的parameters,RSA算法没有此参数sha1DSA签名算法时,签名值X.509证书详细描述Validity::=SEQUENCE{
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年全自动变焦照相机项目资金申请报告代可行性研究报告
- 2024年变频器柜体系统项目资金筹措计划书
- 2025年河南省三门峡市单招职业适应性测试题库汇编
- 2025年湖北省荆门市单招职业倾向性测试题库汇编
- 2025年黑龙江商业职业学院单招职业适应性测试题库一套
- 儿童乐园装修合同
- 2025年度安全培训与操作规范服务协议
- 2025年度员工劳动合同终止及生活困难补助协议
- 2025陕西省安全员C证考试(专职安全员)题库附答案
- 2025年度房屋赠与及物业管理权转移合同
- 易制毒化学品理论考试试题及答案
- 小学全体教师安全工作培训
- 北师大版数学八年级下册全册教案及反思
- 2024年五级咖啡师职业技能鉴定考试题库(含答案)
- 湖南版(湘教版)三年级美术下册全册全套课件(247张)
- 《教育心理学(第3版)》全套教学课件
- 九宫数独200题(附答案全)
- 2024年南京信息职业技术学院高职单招(英语/数学/语文)笔试历年参考题库含答案解析
- 万用表校准报告
- 垂直度和跳动形位公差间的关系及取代应用下
- 台虎钳工作页
评论
0/150
提交评论