数字证书的基本结构与编码教学实用教案_第1页
数字证书的基本结构与编码教学实用教案_第2页
数字证书的基本结构与编码教学实用教案_第3页
数字证书的基本结构与编码教学实用教案_第4页
数字证书的基本结构与编码教学实用教案_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、主要(zhyo)内容u 数字证书的基本结构u 数字证书的描述方法(fngf)u 数字证书的编码u X.509 数字证书结构u X.509 数字证书详细描述u X.509 数字证书实例第1页/共21页第一页,共21页。数字证书的基本(jbn)结构一张数字证书由证书内容、签名算法和签名结果(ji gu)组成证书内容签名算法签名结果证书(zhngsh)的基本结构第2页/共21页第二页,共21页。数字证书的基本(jbn)结构证书(zhngsh)实例:在Internet选项-内容第3页/共21页第三页,共21页。数字证书的基本(jbn)结构证书内容(nirng)包括: 版本号 证书主体(zht) 主体(

2、zht)公钥内容 签发者 序列号 有效期 扩展项第4页/共21页第四页,共21页。数字证书的基本(jbn)结构 版本号 数字证书有自己的格式,而这个格式可能会不断改进。为了让所有应用系统正确地识别证书内容,需考虑向前和向后兼容。因此,在证书中标明自己的格式版本有利于应用程序根据不同的格式定义来正确阅读不同的证书。 证书主体 1)证书的持有者(订户) 2)不仅具有证书的使用权,而且具有证书的所有权 3)不仅可以把证书复制或传递(chund)给别人,更重要的是,证书主体拥有证书中的身份、公钥和对应的私钥 主体公钥内容 1)PKI是算法无关的,实际中可以使用多种算法 2)公钥信息中首先需要指明所用的

3、公钥算法,随后才是公钥信息本身 签发者 证书管理机构-CA 注:CA是PKI系统中通信双方都信任的实体,被称为可信第三方(Trusted Third Party,简称TTP)第5页/共21页第五页,共21页。数字证书的基本(jbn)结构 序列号 1)证书编号 2)如果签发者命名能满足唯一性要求的话,用“签发者”和“序列号”就可以唯一的标识(biozh)任何一张数字证书 有效期 1)持有数字证书也就享有了证书签发结构通过证书提供的安全服务,其中还包含着责任和一些法律义务 2)订户享受的服务是有时效性的,因此,数字证书应具有一个有效期。 3)长期使用同一密钥是不安全的,而且证书持有者的信息经过一段

4、时间可能会改变,所以需要为证书设置一个包含起、止时间的“有效期”。 4)本质上是CA负责维护证书状态的时间范围,在此时间内CA担保证书持有者和公钥绑定关系的正确性 扩展项 提供为用户或者公开密钥和证书管理等级制度相结合的附加属性的方法第6页/共21页第六页,共21页。数字证书的描述(mio sh)方法 证书的描述需要使用精确的语言将内容准确的、无二义的表达出来,以便PKI系统中的各个组件都能正确的处理证书,各种应用(yngyng)系统也能正确的从证书中获取公钥和持有者的信息。 基本要求 1)简明的 2)无歧义 自然语言和程序设计语言无法满足要求 1)自然语言 a. 多种语言 b. 同语种中一词

5、多义和一义多词 2)程序设计语言 a. 有较严格的语法和较清晰的数据结构表达方式 b. 但由于平台相关的编译器不同,同一数据类型在不同系统中的实现就可能有差异。程序语言在内容的顺序上也没有严格规定。 ASN.1 (Abstract Syntax Notation one)抽象语法表示法可以满足要求 ASN.1 语法纪法标准是一种既简单,又没有歧义的内容描述语言。第7页/共21页第七页,共21页。数字证书的描述(mio sh)方法 ASN.1语法记法标准 1)Abstract Syntax Notation one 抽象语法表示法 2)是描述数据的表示、编码、传输、解码的灵活的记法。它提供了一套

6、正式、无歧义和精确的规则以描述独立于特定计算机硬件的对象结构。 3)ASN.1是ISO和ITU-T的联合(linh)标准,最初是1984年的CCITT X.409:1984的一部分。由于其广泛应用,1988年ASN.1移到独立标准X.208,1995年进行全面修订后变成X.680系列标准。 4)ASN.1本身只定义了表示信息的抽象句法,但是没有限定其编码的方法。 ASN.1 首先定义一定数量的“简单类型”,然后通过构造出各种较复杂的“构造类型” 1)简单类型 2)构造类型 3)其它关键字第8页/共21页第八页,共21页。数字证书的描述(mio sh)方法 简单(jindn)类型BIT STRI

7、NG比特串(O和1组成)BOOLEAN布尔型(取TRUE或FALSE)INTEGER整数NULL空值OBJECT IDENTIFIER对象标识符OCTET STRING字节串PrintableString可打印字符串UTCTime“协调世界时”(UTC)GeneralizedTime通用时间第9页/共21页第九页,共21页。数字证书的描述(mio sh)方法 构造类型SEQUENCE表示1个或多个字段组成的有序序列SEQUENCE OF表示0个或多个特定类型字段的有序序列SET表示1个或多个字段组成的无序集合SET OF表示0个或多个特定类型字段的无序集合 其它(qt)关键字CHOICEANY

8、OPTIONALDEFAULT第10页/共21页第十页,共21页。数字证书的编码(bin m) 利用ASN.1可以准确(zhnqu)地定义证书应该包含的内容。即ASN.1可以定义证书应该包含的内容的准确(zhnqu)类型。 无二义性的内容类型的实际取值 可以说ASN.1解决的是高层设计者之间的交流问题,编码方法要解决的是机器间的交流问题。 编码的作用就是将各种用ASN.1定义的数据类型的值对应到比特流,以便在不同通信实体之间传递,而且使得各通信实体对于所传递的信息理解没有歧义。1)“TLV”方式 可以完整表示特定类型的数据2)类型type、长度length和值value3)解码时,首先识别数据

9、的类型,即可选定处理的方法;然后得到数据的长度,即可进行处理的准备工作;最后就可以正确的得到数据本身的值。第11页/共21页第十一页,共21页。数字证书的编码(bin m) 简单类型(lixng)的编码BOOLEAN布尔型的数据,只有两种可能的取值“TRUE”(0 xFF)和“FALSE”(0 x00)INTEGER整数类型BIT STRINGOCTET STRING字符码串NULL一个特殊的值,表示“无”或“空”OBJECT IDENTIFIER对象标识符 OIDPrintableString任意长度的ASCII字符串UTCTime协调世界时GeneralizedTime类似UTCTime第

10、12页/共21页第十二页,共21页。数字证书的编码(bin m) 构造类型及其他SEQUENCE表示1个或多个字段组成的有序序列SEQUENCE OF表示0个或多个特定类型字段的有序序列SET表示1个或多个字段组成的无序集合SET OF表示0个或多个特定类型字段的无序集合CHOICEOPTIONALANYDEFAULT第13页/共21页第十三页,共21页。X.509 数字证书结构(jigu)X.509 数字证书结构的基本部分 版本号 标识证书的版本 序列号 标识证书的唯一整数,由证书颁发者分配的本证书的唯一标识符。 签名 用于签证书的算法标识,由对象标识符加上相关的参数组成,用于说明本证书所用

11、的数字签名算法。例如,SHA-1和RSA的对象标识符就用来说明该数字签名是利用RSA对SHA-1杂凑加密。 颁发者 证书颁发者的可识别名(DN)。 有效期 证书有效期的时间段。本字段由”Not Before”和”Not After”两项组成,它们分别(fnbi)由UTC时间或一般的时间表示(在RFC2459中有详细的时间表示规则)。 主体 证书拥有者的可识别名,这个字段必须是非空的,除非你在证书扩展中有别名。 主体公钥信息 主体的公钥(以及算法标识符)。 颁发者唯一标识符 标识符证书颁发者的唯一标识符 主体唯一标识符 证书拥有者的唯一标识符第14页/共21页第十四页,共21页。X.509 数字

12、证书结构(jigu)X.509 数字证书结构的扩展部分 发行者密钥标识符 证书所含密钥的唯一标识符,用来区分同一证书拥有者的多对密钥。 密钥使用 一个比特串,指明(限定)证书的公钥可以完成的功能或服务,如:证书签名、数据加密等。如果某一证书将 KeyUsage 扩展标记为“极重要”,而且设置为“keyCertSign”,则在 SSL 通信期间该证书出现时将被拒绝,因为该证书扩展表示相关私钥应只用于签写证书,而不应该用于 SSL。 CRL分布点 指明CRL的分布地点 私钥的使用期 指明证书中与公钥相联系的私钥的使用期限,它也有Not Before和Not After组成。若此项不存在时,公私钥的

13、使用期是一样的 证书策略 由对象标识符和限定符组成,这些对象标识符说明证书的颁发和使用策略有关 策略映射 表明两个CA域之间的一个或多个策略对象标识符的等价关系,仅在CA证书里存在 主体别名 指出证书拥有者的别名,如电子邮件地址、IP地址等,别名是和DN绑定在一起的 颁发者别名 指出证书颁发者的别名,如电子邮件地址、IP地址等,但颁发者的DN必须(bx)出现在证书的颁发者字段 主体目录属性 指出证书拥有者的一系列属性。可以使用这一项来传递访问控制信息。第15页/共21页第十五页,共21页。X.509 证书(zhngsh)详细描述Certificate := SEQUENCE tbsCertif

14、icate TBSCertificate, signatureAlgorithm AlgorithmIdentifier,signatureValue BIT STRING TBSCertificate := SEQUENCE version 0 EXPLICIT Version DEFAULT v1, serialNumber CertificateSerialNumber, signature AlgorithmIdentifier,issuer Name, validity Validity, subject Name,subjectPublicKeyInfo SubjectPublic

15、KeyInfo,issuerUniqueID 1 IMPLICIT UniqueIdentifier OPTIONAL,subjectUniqueID 2 IMPLICIT UniqueIdentifier OPTIONAL,extensions 3 EXPLICIT Extensions OPTIONALVersion := INTEGER v1(0), v2(1), v3(2) CertificateSerialNumber := INTEGERAlgorithmIdentifier := SEQUENCE algorithm OBJECT IDENTIFIER,parameters AN

16、Y DEFINED BY algorithm OPTIONAL 证书全部内容开始,结构化不定长编码(bin m) 证书主体证书签名算法标识证书签名值(注1)证书版本号证书序列号(注2)证书签名算法标识证书发行者名称证书有效期证书主体名称证书公钥证书发行者ID(可选),只在证书版本2、3中才有证书主体ID(可选),只在证书版本2、3中才有证书扩展段(可选),只在证书版本3中才有注1:证书签名值,是使用signatureAlgorithm部分指定(zhdng)的签名算法对tbsCertificate证书主题部分签名后的值注2:证书序列号,对同一CA所颁发的证书,序列号唯一标识证书第16页/共21页

17、第十六页,共21页。X.509 证书(zhngsh)详细描述Parameters:Dss-Parms := SEQUENCE p INTEGER, q INTEGER, g INTEGER SignatureValue:Dss-Sig-Value := SEQUENCE r INTEGER, s INTEGER Name := CHOICE RDNSequence RDNSequence := SEQUENCE OF RelativeDistinguishedNameRelativeDistinguishedName := SET OF AttributeTypeAndValueAttribu

18、teTypeAndValue := SEQUENCE type AttributeType, value AttributeValue AttributeType := OBJECT IDENTIFIER AttributeValue := ANY DEFINED BY AttributeTypeparameters ,DSA(DSS)算法(sun f)时的parameters,RSA算法(sun f)没有此参数sha1DSA签名算法(sun f)时,签名值第17页/共21页第十七页,共21页。X.509 证书(zhngsh)详细描述Validity := SEQUENCE notBefore

19、 Time, notAfter TimeTime := CHOICE utcTime UTCTime, generalTime GeneralizedTime UniqueIdentifier := BIT STRINGSubjectPublicKeyInfo := SEQUENCE algorithm AlgorithmIdentifier, subjectPublicKey BIT STRING SubjectPublicKey:SubjectPublicKey:RSAPublicKey := SEQUENCE modulus INTEGER, - n publicExponent INT

20、EGER - e - Extensions := SEQUENCE SIZE (1.MAX) OF ExtensionExtension := SEQUENCE extnID OBJECT IDENTIFIER, critical BOOLEAN DEFAULT FALSE, extnValue OCTET STRING 证书有效期起始(q sh)时间证书有效期终止时间公钥算法公钥值第18页/共21页第十八页,共21页。X.509数字证书实例(shl)0000 30 80: SEQUENCE(本证书全部内容开始,结构化不定长编码 )0002 30 82 02 40576: . SEQUENCE

21、(证书基本内容开始)0006 a0 033: . . 0(上下文含蓄继承 Version 结构,a0 标识10100000,长度 3 个字节)0008 02 011: . . . INTEGER 2(Version 结构,全局类整型 02 标识,长度 1 个字节): 02(内容值为 2,表示版本 v3)0011 02 022: . . INTEGER 256(序列号,全局整型,长度 2 个字节): 01 00(内容值 256)0015 30 0d13: . . SEQUENCE(CA 签名算法, 全局类结构编码, 10 标 SEQUENCE, 13 个字节)0017 06 099: . . .

22、 OID 1.2.840.113549.1.1.2:(对象标识类,9 个字节)MD2WithRSAEncryption: 2a 86 48 86 f7 0d 01 01 02(内容值 1.2.840.113549.1.1.2)(2a240+2)(864810000110/010010000000110/1001000)0028 05 000: . . . NULL(RSA 参数,标准规定为空)0030 30 6888: . . SEQUENCE(颁发者,结构化描述,长度 88 个字节)0032 31 0b11: . . . SET0034 30 099: . . . . SEQUENCE0036 06 033: . . . . . OID 2.5.4.6: C(国家): 55 04 060041 13 022: . . . . . PrintableStringES(西班牙): 45 530045 31 2d45: . . . SET0047 30 2b43: . . . . SEQUENCE0049 06 033: . . . .

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论