网络安全-证书标准

PKCS 标准

(1)PKCS#1:RSA加密标准。PKCS#1定义了RSA公钥函数的基本格式标准,特别是数字签名。它定义了数字签名如何计算,包括待签名数据和签名本身的格式;它也定义了PSA公/私钥的语法。

(2)PKCS#2:涉及了RSA的消息摘要加密,这已被并入PKCS#1中。

(3)PKCS#3:Diffie-Hellman密钥协议标准。PKCS#3描述了一种实现Diffie-
Hellman密钥协议的方法。

(4)PKCS#4:最初是规定RSA密钥语法的,现已经被包含进PKCS#1中。

(5)PKCS#5:基于口令的加密标准。PKCS#5描述了使用由口令生成的密钥来加密8位位组串并产生一个加密的8位位组串的方法。PKCS#5可以用于加密私钥,以便于密钥的安全传输(这在PKCS#8中描述)。

(6)PKCS#6:扩展证书语法标准。PKCS#6定义了提供附加实体信息的X.509证书属性扩展的语法(当PKCS#6第一次发布时,X.509还不支持扩展。这些扩展因此被包括在X.509中)。

(7)PKCS#7:密码消息语法标准。PKCS#7为使用密码算法的数据规定了通用语法,比如数字签名和数字信封。PKCS#7提供了许多格式选项,包括未加密或签名的格式化消息、已封装(加密)消息、已签名消息和既经过签名又经过加密的消息。

(8)PKCS#8:私钥信息语法标准。PKCS#8定义了私钥信息语法和加密私钥语法,其中私钥加密使用了PKCS#5标准。

(9)PKCS#9:可选属性类型。PKCS#9定义了PKCS#6扩展证书、PKCS#7数字签名消息、PKCS#8私钥信息和PKCS#10证书签名请求中要用到的可选属性类型。已定义的证书属性包括E-mail地址、无格式姓名、内容类型、消息摘要、签名时间、签名副本(counter
signature)、质询口令字和扩展证书属性。

(10)PKCS#10:证书请求语法标准。PKCS#10定义了证书请求的语法。证书请求包含了一个唯一识别名、公钥和可选的一组属性,它们一起被请求证书的实体签名(证书管理协议中的PKIX证书请求消息就是一个PKCS#10)。

(11)PKCS#11:密码令牌接口标准。PKCS#11或“Cryptoki”为拥有密码信息(如加密密钥和证书)和执行密码学函数的单用户设备定义了一个应用程序接口(API)。智能卡就是实现Cryptoki的典型设备。注意:Cryptoki定义了密码函数接口,但并未指明设备具体如何实现这些函数。而且Cryptoki只说明了密码接口,并未定义对设备来说可能有用的其他接口,如访问设备的文件系统接口。

(12)PKCS#12:个人信息交换语法标准。PKCS#12定义了个人身份信息(包括私钥、证书、各种秘密和扩展字段)的格式。PKCS#12有助于传输证书及对应的私钥,于是用户可以在不同设备间移动他们的个人身份信息。

(13)PDCS#13:椭圆曲线密码标准。PKCS#13标准当前正在完善之中。它包括椭圆曲线参数的生成和验证、密钥生成和验证、数字签名和公钥加密,还有密钥协定,以及参数、密钥和方案标识的ASN.1语法。

(14)PKCS#14:伪随机数产生标准。PKCS#14标准当前正在完善之中。为什么随机数生成也需要建立自己的标准呢?PKI中用到的许多基本的密码学函数,如密钥生成和Diffie-Hellman共享密钥协商,都需要使用随机数。然而,如果“随机数”不是随机的,而是取自一个可预测的取值集合,那么密码学函数就不再是绝对安全了,因为它的取值被限于一个缩小了的值域中。因此,安全伪随机数的生成对于PKI的安全极为关键。

(15)PKCS#15:密码令牌信息语法标准。PKCS#15通过定义令牌上存储的密码对象的通用格式来增进密码令牌的互操作性。在实现PKCS#15的设备上存储的数据对于使用该设备的所有应用程序来说都是一样的,尽管实际上在内部实现时可能所用的格式不同。PKCS#15的实现扮演了翻译家的角色,它在卡的内部格式与应用程序支持的数据格式间进行转换。

PKCS#1公钥格式

RSAPublicKey ::= SEQUENCE {

modulus INTEGER, – n

publicExponent INTEGER – e

}

X509

X.509是常见通用的证书格式。所有的证书都符合为Public Key Infrastructure (PKI)
制定的 ITU-T X509
国际标准。X.509是国际电信联盟-电信(ITU-T)部分标准和国际标准化组织(ISO)的证书格式标准。作为ITU-ISO目录服务系列标准的一部分,X.509是定义了公钥证书结构的基本标准。1988年首次发布,1993年和1996年两次修订。当前使用的版本是X.509
V3,它加入了扩展字段支持,这极大地增进了证书的灵活性。X.509
V3证书包括一组按预定义顺序排列的强制字段,还有可选扩展字段,即使在强制字段中,X.509证书也允许很大的灵活性,因为它为大多数字段提供了多种编码方案.

PKCS#7 常用的后缀是: .P7B .P7C .SPC

PKCS#12 常用的后缀有: .P12 .PFX

X.509 DER 编码(ASCII)的后缀是: .DER .CER .CRT

X.509 PAM 编码(Base64)的后缀是: .PEM .CER .CRT

.cer/.crt是用于存放证书,它是2进制形式存放的,不含私钥。

.pem跟crt/cer的区别是它以Ascii来表示。

pfx/p12用于存放个人证书/私钥,他通常包含保护密码,2进制方式

p10是证书请求

p7r是CA对证书请求的回复,只用于导入

p7b以树状展示证书链(certificate chain),同时也支持单个证书,不含私钥。

X509证书

公钥证书格式:

SubjectPublicKeyInfo ::= SEQUENCE {

algorithm AlgorithmIdentifier,

subjectPublicKey BIT STRING }

AlgorithmIdentifier ::= SEQUENCE {

algorithm OBJECT IDENTIFIER, – the OID of the enc algorithm

parameters ANY DEFINED BY algorithm OPTIONAL (NULL for pkcs#1)}

OID格式-{iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-1(1)
rsaEncryption(1)}

Pkcs#1 的oid为 1.2.840.113549.1.1.1

PEM介绍

我们使用 PEM 文件格式存储证书和密钥。PEM 实质上是 Base64
编码的二进制内容,再加上开始和结束行。如证书文件的

-—-BEGIN CERTIFICATE—–

-—-END CERTIFICATE—–

在这些标记外面可以有额外的信息,如编码内容的文字表示。文件是 ASCII
的,可以用任何文本编辑程序打开它们。

观察这个 示例 PEM 文件。

-—-BEGIN
CERTIFICATE—–MIIEkjCCA3qgAwIBAgIQCgFBQgAAAVOFc2oLheynCDANBgkqhkiG9w0BAQsFADA/MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMTDkRTVCBSb290IENBIFgzMB4XDTE2MDMxNzE2NDA0NloXDTIxMDMxNzE2NDA0NlowSjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUxldCdzIEVuY3J5cHQxIzAhBgNVBAMTGkxldCdzIEVuY3J5cHQgQXV0aG9yaXR5IFgzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnNMM8FrlLke3cl03g7NoYzDq1zUmGSXhvb418XCSL7e4S0EFq6meNQhY7LEqxGiHC6PjdeTm86dicbp5gWAf15Gan/PQeGdxyGkOlZHP/uaZ6WA8SMx+yk13EiSdRxta67nsHjcAHJyse6cF6s5K671B5TaYucv9bTyWaN8jKkKQDIZ0Z8h/pZq4UmEUEz9l6YKHy9v6Dlb2honzhT+Xhq+w3Brvaw2VFn3EK6BlspkENnWAa6xK8xuQSXgvopZPKiAlKQTGdMDQMc2PMTiVFrqoM7hD8bEfwzB/onkxEz0tNvjj/PIzark5McWvxI0NHWQWM6r6hCm21AvA2H3DkwIDAQABo4IBfTCCAXkwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwfwYIKwYBBQUHAQEEczBxMDIGCCsGAQUFBzABhiZodHRwOi8vaXNyZy50cnVzdGlkLm9jc3AuaWRlbnRydXN0LmNvbTA7BggrBgEFBQcwAoYvaHR0cDovL2FwcHMuaWRlbnRydXN0LmNvbS9yb290cy9kc3Ryb290Y2F4My5wN2MwHwYDVR0jBBgwFoAUxKexpHsscfrb4UuQdf/EFWCFiRAwVAYDVR0gBE0wSzAIBgZngQwBAgEwPwYLKwYBBAGC3xMBAQEwMDAuBggrBgEFBQcCARYiaHR0cDovL2Nwcy5yb290LXgxLmxldHNlbmNyeXB0Lm9yZzA8BgNVHR8ENTAzMDGgL6AthitodHRwOi8vY3JsLmlkZW50cnVzdC5jb20vRFNUUk9PVENBWDNDUkwuY3JsMB0GA1UdDgQWBBSoSmpjBH3duubRObemRWXv86jsoTANBgkqhkiG9w0BAQsFAAOCAQEA3TPXEfNjWDjdGBX7CVW+dla5cEilaUcne8IkCJLxWh9KEik3JHRRHGJouM2VcGfl96S8TihRzZvoroed6ti6WqEBmtzw3Wodatg+VyOeph4EYpr/1wXKtx8/wApIvJSwtmVi4MFU5aMqrSDE6ea73Mj2tcMyo5jMd6jmeWUHK8so/joWUoHOUgwuX4Po1QYz+3dszkDqMp4fklxBwXRsW10KXzPMTZ+sOPAveyxindmjkW8lGy+QsRlGPfZ+G6Z6h7mjem0Y+iWlkYcV4PIWL1iwBi8saCbGS5jN2p8M+X+Q7UNKEkROb3N6KOqkqm57TH2H3eDJAkSnh6/DNFu0Qg==

-—-END CERTIFICATE—–

ASN.1介绍

ASN.1是ITU-T的一个标准集,它用来编码及表示通用数据类型,这些数据类型有可打印串值,八位位组串值,位串值,整数值以及用可移值方式组合而成
的其他类型序列值.简单的说,ASN.1指定了以何种方式对非平凡的数据类型进行编码,以便其他任何平台及第三方工具都能够解释其内容.比如,字母a在一
些平台以ASCII编码为十进制数值97,而在其他非ASCII平台上,可能会是另外的编码.而ASN.1指定了一种编码方式,在任何平台上,字母a的编
码都是统一的。

ASN.1的编码规则

  1. BER

  2. DER

    为确保编码的唯一性,出现了CER和DER两种编码方案,它们均为BER子集。其中DER只使用定长编码,CER基于不定长编码。

  3. PER

    在PER中,tag从不传送,length和value如果双方都知道,也不需传送。因此,其编码更精简,效率更高。

  4. XER

即XML Encoding Rules,主要应用于网站开发,本文不作介绍。

BER 编码介绍

BER的组成:

无论什么类型它的BER编码都是有四部分组成:

类型字段tag 长度字段length 值字段value
结束表示字段(可选,在长度不可知情况下需要)

即T L V,
TLV是(TAG-LENGTH-VALUE)的缩写,其具体的规范在ISO7616-4中有明确的定义。

目前简单描述下关于TLV的编码规则,下文所有的数据表示均为16进制编码。

TAG域:

TAG域的第一个字节编码

https://images0.cnblogs.com/blog/670475/201409/121045478402800.jpg

TAG域的第二个字节编码

https://images0.cnblogs.com/blog/670475/201409/121048208249228.jpg

其中注意第一个字节的第六位,其分为基本数据对象和结构数据对象。简单解释下基本数据对象和结构数据对象,简单举两个例子,下面几个都是符合tlv编码的数据流:

70069F3803010203

9F3803010203

可以看到,70 TAG的值(value)域也是由TLV结构组成的。

而9F38 TAG的值域则是由简单数据构成(010203)不需要符合TLV结构编码。

基于这个原则,TLV可以设计成多层嵌套的关系。

例如:

6F30840E325041592E5359532E4444463031A51EBF0C1B61194F08A000000333010101500A50424F43204445424954870101

作为练习题,如何解析上面的BER编码的字符串

常用的TAG

TAG值(16进制)类型
01布尔型(BOOLEAN)
02整型(INTEGER)
03位串(BIT-STRING)
048位位组(OCTETSTRING)
05空(NULL)
06对象标识符(OBJECT IDENTIFER)
30序列(SEQUENCE)
31集合 SET

长度(LEN)域

https://images0.cnblogs.com/blog/670475/201409/121108561214039.jpg

注意在长度值不定时,长度域用0x80表示。

结束标识字段(不在TLV之中):

两个字节,只有在长度值不定时才会出现。表示为0x000x00

DER编码的16进制公钥串分析

密钥专题给的公钥文件内容:

3082010A0282010100C1A25FE630CDC3DB84C4739EB3EBC9C4A1B7BEFD3BC93AAFED5435FB7C5EBF12013161EF11F2EE6BC1718FC114849B83BB454B71BFAF583BFD94E0F122F7BF2CC00167C1CE1D1720A1AB5200DBD5E4C98DC0BF7738BBB8E63F0BB536671FBE273850EDBCC98A7BF3574462F54D940B790519B6865E6C419F0BEB3AA2CDE010C83A49EE99AF6C5AB5776C27BA5A7E0053886DBD30C8E714FBA3C0D661099BCC2255006BC53E3BB74242252AD857FB5D4EC06A38ABAFF8A48D56DE554E43AEAE14186879069E4B913212EC93027FD66742AED6A393CBAAB4903888F77B51BF06FDF66A1AFD0EB101F8A8BD9918373BD299030E415325770ED428FEC47FBF8FF8250203010001

对公钥进行分析:

30——( tag30,在DER编码中代表序列)

82010A–(长度,82代表长度大于128位,实际长度为010A,即266.
从这儿往后正好266个字节)

02——(tag02, 在DER编码中代表整数)

820101—(长度,同上,为257个字节,往后数257个字节,值即为这个整数的值)

00C1A25FE630CDC3DB84C4739EB3EBC9C4A1B7BEFD3BC93AAFED5435FB7C5EBF12013161EF11F2EE6BC1718FC114849B83BB454B71BFAF583BFD94E0F122F7BF2CC00167C1CE1D1720A1AB5200DBD5E4C98DC0BF7738BBB8E63F0BB536671FBE273850EDBCC98A7BF3574462F54D940B790519B6865E6C419F0BEB3AA2CDE010C83A49EE99AF6C5AB5776C27BA5A7E0053886DBD30C8E714FBA3C0D661099BCC2255006BC53E3BB74242252AD857FB5D4EC06A38ABAFF8A48D56DE554E43AEAE14186879069E4B913212EC93027FD66742AED6A393CBAAB4903888F77B51BF06FDF66A1AFD0EB101F8A8BD9918373BD299030E415325770ED428FEC47FBF8FF825—(整数的值)

02—(tag02, 在DER编码中代表整数)

03—(长度,小于128,用一个字节表示长度,即长度为3个字节,往后数3个字节为此证书的值)

010001—(整数的值)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/16671.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从事网络安全,可以考取哪些证书?

目前,网络安全可以考取的证书有很多,其中包括CISP、CISP-PTE、CISP-A、CISSP、CISA、信息安全工程师等,本文为大家重点介绍一下CISSP、CISP和信息安全工程师,快来看看吧。 1、CISSP国际认证 CISSP,信息系统安全专业认…

[网络工程师]-网络安全-数字签名和数字证书

随着《中华人民共和国电子签名法》这部法律的出台和实施,电子签名获得了与传统手写签名和盖章同等的法律效力,这意味着经过电子签名的电子文档在网上传输有了合法性。电子签名并非是书面签名的数字图像化,而是一种电子代码。联合国贸发会的《…

什么是客户端证书?(ssl证书)

在这个万物互联的时代中,各种应用、系统等都需要身份认证才可访问,而目前使用较多的是基于账户密码登录的传统身份认证方法。然而大多数企业和用户在密码安全管理上又存在诸多问题和缺陷,如何减轻与密码相关的安全漏洞已是各大企业迫切需要解…

信息产业部颁发计算机网络工程师查询,网络工程师证书查询验证网址及方法

网络工程师证书查询网址(以下两者都可以查询): 中国计算机技术职业资格技术职业资格网证书查询方法: 2、找到”证书查询“入口 3、点击”证书查询“进入到证书查询登录页面 4、选择按”证件号码查询“或”按管理编号查询“,填写相关信息&…

eCapture:无需CA证书抓https网络明文通讯

eCapture介绍 eCapture是一款基于eBPF技术实现的用户态数据捕获工具。不需要CA证书,即可捕获https/tls的通讯明文。 项目在2022年3月中旬创建,一经发布,广受大家喜爱,至今不到两周已经1200多个Star。 作用 不需要CA证书&#xff0…

网络通信之——Https数字证书

数据通信 系列目录 网络通信之——RSA加密签名网络通信之——Https数字证书网络通信之——SSL与TLS数字证书中签名算法、签名哈希算法区别? 数字证书 前言证书构成证书的发布及使用流程Android开发中的运用总结 博客创建时间:2020.05.11 博客更新时间&a…

网工必考:HCIP认证(华为认证ICT高级网络工程师)

华为HCIP课程介绍 HCIP认证概述 HCIP-R&S认证定位于中小型网络的构建和管理。 HCIP-R&S认证包括但不限于:网络基础知识,交换机和路由器原理,TCP/IP协议簇&#…

VBA宏实现Word论文自动排版

一、灵感与动机 作为一名即将毕业的大四学生,不仅经历了设计、编写系统的痛苦,还经历了撰写论文的烦恼,尤其是最后论文排版阶段,非常的繁琐和费时。所以我就希望可以有一个自动排版的“脚本”,一开始认为可以通过Pytho…

chatgpt赋能python:Python自动排版Word文档:提高生产效率的神奇工具

Python自动排版Word文档:提高生产效率的神奇工具 介绍 随着电子文档的普及,Word文档成为了各种场合中最常用的文档格式。尤其在企业中,各种报告、规范、合同等文档的排版工作常常会占据很大比重,但是传统的手工排版往往效率低下…

YOLOv5全面解析教程⑥:模型训练流程详解

作者 | Fengwen、BBuf 欢迎Star、试用One-YOLOv5: https://github.com/Oneflow-Inc/one-yolov5 1 结构项目预览 2 安装 git clone https://github.com/Oneflow-Inc/one-yolov5 # clone cd one-yolov5 pip install -r requirements.txt # install 3 训练 两种训练…

发布4大“业界首个”产品,华为让数据中心变革开启“狂飙”模式

华为聚焦数字基础设施创新,通过4大“业界首个”产品的发布,不仅将引领新型数据中心发展,也将进一步支持企业的数字化转型,释放数字生产力。 在全球经济增速放缓的今天,数字经济正在成为经济增长的新引擎,为…

数据治理在学术上的发展史以及未来展望

数据治理是大数据领域中非常重要的一环,从早期的学术研究到如今的各大企业落地实践,经历了漫长的过程,数据治理的实践落地本身也是一场马拉松。 从百度学术通过精确关键词匹配,搜索中文期刊的“数据治理” 和外文期刊的“data gov…

于变革时代探寻破局之光 | LeaTech全球CTO领导力峰会圆满落幕

引言 2023 年 3 月 4 日,腾讯云 TVP 与 51CTO 联合主办的 LeaTech 全球 CTO 领导力峰会于上海扬子江丽笙精选酒店圆满落幕。 本届峰会聚集了腾讯云 TVP 技术专家、TVP 行业大使、CTO 训练营导师、CTO 训练营历届校友,以及来自各个领域和行业的技术领导者…

【原创】理解ChatGPT之注意力机制和Transformer入门

作者:黑夜路人 时间:2023年4月27日 想要连贯学习本内容请阅读之前文章: 【原创】理解ChatGPT之GPT工作原理 【原创】理解ChatGPT之机器学习入门 【原创】AIGC之 ChatGPT 高级使用技巧 GPT是什么意思 GPT的全称是 Generative Pre-trained …

新传专业需要计算机二级吗,大学生有必要去考取计算机二级证书吗?

满意答案 JKSNX 2020.09.22 采纳率:41% 等级:12 已帮助:4161人 这是个很常见的问题。每年总有两个月,学校的教务会发一则“计算机二级报考通知”,大家便开始讨论计算机二级有没有用,身体却很诚实地交上7…

跨考安大计算机研究生难吗,关于跨考安大新传这件事,你现在纠结的问题我们都知道!...

灵魂拷问:你为什么想要跨考新传? 因为兴趣…?热爱…?新闻理想…? 还是因为…? (开玩笑啦)即便有以上因素存在,大家选择了新传也有大部分原因是因为喜欢,比如说我,虽然综合…

新传工作运用计算机吗,Windows 7正式退休,这些解决办法你必须了解

2020年1月14日,微软Windows 7系统正式停止技术支持,你的计算机将不会中断或停止工作,但如果你的Windows 7计算机出现问题,它将不再收到任何问题的技术支持、软件更新、安全更新或修复。 现在微软在官方网站上公布了最新的Windows …

新传工作运用计算机吗,计算机等现代办公技术运用给文秘工作带来的新思考1...

电子计算机技术的运用发展被称为人类科学技术发展的"第三次革命",计算机技术在办公室的普及运用也使秘书工作由"笔杆子"向"键盘子"转变,计算机的运用操作成为了现代从业秘书的必备技能,与运而生的办公自动化大…

新传要不要学计算机,大学新生入学要带电脑吗?学长给出建议,不知道的会很“吃亏”...

教之而不受,虽强告之无益。譬之以水投石,必不纳也,今夫石田虽水润沃,其干可立待者,以其不纳故也。——张载 01前言 今年高考结束已经走了一段时间了,虽然成绩都还没有被公布,但相信很多考生的心…

服开与编排,老兵新传

前段时间,有同学问:编排与服开是什么关系?现在运营商都建设编排系统,那是不是服务开通以后就退出 OSS 舞台了?为什么会出现编排?这些问题对于行业老兵来说感慨万千,而对于新兵来说就要通过追溯其…