PKI

PKI(公钥基础设施Public KeyInfrastructure)

是网络信息安全的一项关键技术,广泛用于高强度、高级别的信息保护、身份鉴别、安全通讯、行为鉴定等安全领域。

X.500

  • 是ITU-T关于目录服务的一系列规范、协议,用于解决国际电话、电报互联互通、邮件发送时的人员查找、身份认证等问题。

  • 包括了多个子集:X.501、X.509

    X.509是一种非常通用的证书格式。所有的证书都符合ITU-T X.509国际标准,因此(理论上)为一种应用创建的证书可以用于任何其他符合X.509标准的应用。

    在一份证书中,必须证明公钥及其所有者的姓名是一致的。对X.509证书来说,认证者总是CA或由CA指定的人,一份X.509证书是一些标准字段的集合,这些字段包含有关用户或设备及其相应公钥的信息。X.509标准定义了证书中应该包含哪些信息,并描述了这些信息是如何编码的(即数据格式)

详细特征

所有的X.509证书包含以下数据:

  • 1、X.509版本号(version):指出该证书使用了哪种版本的X.509标准,版本号会影响证书中的一些特定信息。目前的版本是3。
  • 2、证书的序列号(serialNumber):由CA给予每一个证书分配的唯一的数字型编号,当证书被取消时,实际上是将此证书序列号放入由CA签发的CRL(Certificate Revocation List证书作废表,或证书黑名单表)中。这也是序列号唯一的原因。
  • 3、认证机构(Issuer Name):证书发布者,是签发该证书的实体唯一的CA的X.500名字。使用该证书意味着信任签发证书的实体。(注意:在某些情况下,比如根或顶级CA证书,发布者自己签发证书)
  • 4、证书的有效期(validity):证书起始日期和时间以及终止日期和时间;指明证书在这两个时间内有效。
  • 5、主题信息(subject):证书持有人唯一的标识符(或称DN-distinguished name)这个名字在 Internet上应该是唯一的。DN由许多部分组成,看起来象这样:

CN=Bob Allen,//公用名称

OU=Total Network Security Division//组织单位

O=Network Associates, Inc.//组织

C=US//国家

这些信息指出该科目的通用名、组织单位、组织和国家或者证书持有人的姓名、服务处所等信息。

  • 6、证书持有人的公钥(subjectPublicKeyInfo):包括证书持有人的公钥、算法(指明密钥属于哪种密码系统)的标识符和其他相关的密钥参数。
  • 7、Issuer Unique Identifier (optional):发行人唯一标志
  • 8、Subject Unique Identifier (optional):主题唯一标志
  • 9、签名算法标识符(Certificate Signature Algorithm):用来指定CA签署证书时所使用的签名算法。算法标识符用来指定CA签发证书时所使用的公开密钥算法和HASH算法。
  • 10、发布者的数字签名(Certificate Signature):这是使用发布者私钥生成的签名,以确保这个证书在发放之后没有被撰改过。

证书扩展项

  • 授权密钥标识符:提供识别对使用私有密钥在一张证书上签名相对应的公开密钥的手段
  • 主题密钥标识符:提供识别包含特定公开密钥的证书的的手段
  • 密钥使用:证书密钥的目的(加密、签名、签名证书)
  • 私有密钥使用周期:不建议使用
  • 证书策略:包含由对象标识符和可选的限定语组成的一个或多个策略信息条目
    • CSP Pointer 包含指向CA发布的证书实施声明指针,URL格式
    • User notice将展示依靠部分
  • 策略映射
  • 主体可替换名称
  • 发行者可替换名称
  • 基本约束:识别出证书的主体
  • 策略约束
  • 扩大密钥的使用领域
  • CRL发布点

扩展文件

.cer, .crt - 通常被用于二进制的DER文件格式(同于.der), 不过也被用于Base64编码的文件 (例如 .pem).

.P7B - 同于 .p7c

.P7C - PKCS#7证书格式,仅仅包含证书和CRL列表信息,没有私钥。

.PFX - 同于 .p12

.P12 -PKCS#12文件, 包含证书(公钥)和私钥(受密码保护),已经完整的证书链信。

PKCS#7 是一种将数据加密和签名(正式名称是“enveloping”)的技术标准。 它描述数字证书的语法和其他加密消息——尤其是,数据加密和数字签名的方法,也包含了算法。但PKCS#7不包含私钥信息。

PKCS#12 定义了一个用于保存私钥和对应公钥证书的文件格式,并由对称密钥加密保护。PKCS#12通常采用PFX,P12作为文件扩展名。 PKCS#12文件可以存放多个证书,并由密码保护,通常用于WINDOWS IIS,也能够被当作Java Keysotre文件使用,用于Tomcat,Resign,Weblogic,Jboss等,不能被用于Apache.

编码 (也用于扩展名)

  • .DER = 扩展名DER用于二进制DER编码的证书。这些证书也可以用CER或者CRT作为扩展名。比较合适的说法是“我有一个DER编码的证书”,而不是“我有一个DER证书”。
  • .PEM = 扩展名PEM用于ASCII(Base64)编码的各种X.509 v3 证书。文件开始由一行"—– BEGIN …“开始。

常用的扩展名

  • .CRT = 扩展名CRT用于证书。证书可以是DER编码,也可以是PEM编码。扩展名CER和CRT几乎是同义词。这种情况在各种unix/linux系统中很常见。
  • CER = CRT证书的微软型式。可以用微软的工具把CRT文件转换为CER文件(CRT和CER必须是相同编码的,DER或者PEM)。扩展名为CER的文件可以被IE识别并作为命令调用微软的cryptoAPI(具体点就是rudll32.exe cryptext.dll, CyrptExtOpenCER),进而弹出一个对话框来导入并/或查看证书内容。
  • .KEY = 扩展名KEY用于PCSK#8的公钥和私钥。这些公钥和私钥可以是DER编码或者PEM编码。

CRT文件和CER文件只有在使用相同编码的时候才可以安全地相互替代。

总结

  • ITU-T制定X.509 V1规范

  • IETF 制定PKI的大部分协议

  • RSA公司制定PKCS系列标准

  • OSCCA制定国密相关标准

  • CERTICOM、SECG定制ECC相关标准。

X.500系列

  • X.500是关于目录服务一系列标准
  • X.501是关于目录服务数据模型的定义
  • X.509是关于目录服务认证框架的定义
  • X.520是数据模型中属性定义
  • X.521是数据模型中对象定义
  • ASN.1是协议定义语言
  • BER、DER、CER是编码格式
  • X.509是证书协议
  • BASD64、PEM是另一层次的编码格式

PKCS系列

  • PKCS#1定义了RSA公私钥格式及RSA运算过程、填充格式。
  • PKCS#5定义了基于口令的私钥保护方式
  • PKCS#7定义了数字封装格式,可以用于证书链、签名、数字信封。
  • PKCS#8定义了更通用的私钥保护格式
  • PKCS#10定义了证书请求格式
  • PKCS#11定义了加密介质接口。
  • PKCS#12定义了带私钥的证书格式。

编码格式

  • BER: Basic Encoding Rules
    • 基本编码格式。
    • 对相同的数据,可以有多种编码方式,比如长字节型、短字节型、不定长型等。
  • DER: Distinguished Encoding Rules
    • 是BER的一个子集,为更严格的一个变种版本。
    • 和BER相比,DER的编码格式只有固定一种。比如BER的Boolean变量编码值是可以1~255的任意值,而DER只能是1。
    • DER使用在有数据签名的场合,以保证数据原文编码后可以保持一致。
    • X.509证书都是DER编码。
  • CER: Canonical Encoding Rules
    • CER和DER一样,都是BER的限定编码规则的子集。
    • CER和DER不同在于它是不定长编码,可以用于大数据块的封装。
    • PKCS#7数字信封可以用DER编码,也可以用CER编码。

证书结构

 Certificate  ::=  SEQUENCE  {
        tbsCertificate       TBSCertificate, //证书内容
        signatureAlgorithm   AlgorithmIdentifier,// 签名算法
        signatureValue       BIT STRING//签名值  对tbsCer进行DER编码
        } 
 TBSCertificate  ::=  SEQUENCE  {
        version         [0]  EXPLICIT Version DEFAULT v1,
        serialNumber         CertificateSerialNumber,
        signature            AlgorithmIdentifier,
        issuer               Name,//发行者
        validity             Validity,//有效期
        subject              Name,
        subjectPublicKeyInfo SubjectPublicKeyInfo,
        issuerUniqueID  [1]  IMPLICIT UniqueIdentifier OPTIONAL,
                             -- If present, version MUST be v2 or v3
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,406评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,732评论 3 393
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,711评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,380评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,432评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,301评论 1 301
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,145评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,008评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,443评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,649评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,795评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,501评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,119评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,731评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,865评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,899评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,724评论 2 354

推荐阅读更多精彩内容

  • 1 基础 1.1 对称算法 描述:对称加密是指加密过程和解密过程使用相同的密码。主要分:分组加密、序列加密。 原理...
    御浅永夜阅读 2,393评论 1 4
  • 一大早我就和哥哥,大伯在环球中心的门口等待着。到了10点,我们一起冲进去,买了票,换了装,走进大游泳池,真爽! ...
    淘越阅读 1,526评论 0 0
  • 明天就是大年三十儿了,今天一直在考虑过年的意义,如何才能让这个年过得有价值,有意义。从儿时的过年到现在的年,一些印...
    万康阅读 292评论 0 0
  • 文/美文猎场 以前的自己,安静而内敛,在初中时代,努力读书,每天按部就班,班主任评价成绩还不错,就是人太安静了,都...
    美文猎场阅读 830评论 0 5