密码学基础(二)数字证书、密钥基础知识 本文主要简述数字证书和密钥相关的一些基础知识,例如什么是数字证书?ASN.1 是什么?常见的 X.509 代表什么含义?什么是 PKI、PKCS 标准? 一、数字证书 对于非对称加密算法和数字签名来说,很重要的步骤就是公钥的分发。理论上任何人都可以到公开的公钥,然而这个公钥文件有可能是伪造的,传输过程中也有可能被篡改,所以一旦公钥自身出了问题,则整个建立在其上的的安全性将不复成立。 数字证书机制 正是可以解决公钥分发问题,确保所记录信息的合法性。比如证明某个公钥是某个实体(个人或组织)拥有,并且确保任何篡改都能被检测出来,从而实现对用户公钥的安全分发。 根据所保护公钥的用途,数字证书可以分为 加密数字证书(Encryption Certificate) 和 签名验证数字证书(Signature Certificate)。加密数字证书 用来保护加密用途的公钥签名验证数字证书 用来保护签名用途的公钥两种类型的公钥可以同时放在同一证书中 一般情况下,证书需要由 证书认证机构(Certification Authority,CA) 来进行签发和背书。权威的商业证书认证机构包括 DigiCert、GlobalSign、VeriSign 等用户也可以自行搭建本地 CA 系统,在私有网络中进行自有证书的签发和背书 二、ASN.1 常见的 数字证书 和 密钥 都采用了 ASN.1 格式的语法来描述结构,ASN.1(Abstract Syntax Notation One) 是一套标准,是描述数据的表示、编码、传输、解码的数据格式。它提供了一套正式、无歧义和精确的规则以描述独立于特定计算机硬件的对象结构。 ASN.1 本身只定义了表示信息的抽象句法,但是没有限定其编码的方法。各种 ASN.1 编码规则提供了由 ASN.1 描述其抽象句法的数据的值的传送语法(具体表达)。ASN.1 的标准编码规则有:BER 基本编码规则(Basic Encoding Rules) BER(BasicEncoding Rules)是 ASN.1 中最早定义的编码规则,其他编码规则是在 BER 的基础上添加新的规则构成BER 的语法传输格式是 TLV 三组 DER 唯一编码规则(Distinguished Encoding Rules)CER 规范编码规则(Canonical Encoding Rules)PER 压缩编码规则(Packed Encoding Rules)XER XML 编码规则(XML Encoding Rules) 三、X.509 证书规范 X.509 是密码学里公钥证书的格式标准。 一个数字证书内容可能包括证书域(证书的版本、序列号、签名算法类型、签发者信息、有效期、被签发主体、签发的公开密钥)、CA 对证书的签名算法和签名值等,他们一般就采用 X.509 规范编写。 证书格式:X.509 规范中一般推荐使用 PEM(Privacy Enhanced Mail)格式来存储证书相关的文件。证书文件的文件名后缀一般为 或 对应私钥文件的文件名后缀一般为 证书请求文件的文件名后缀为 有时候也统一用 作为文件名后缀 PEM 格式 采用文本方式进行存储,一般包括首尾标记和内容块,内容块采用 Base64 格式编码,示例如下: 目前使用最广泛的标准为 ITU 和 ISO 联合制定的 X.509 的 v3 版本规范(RFC 5280),其中定义了如下证书信息域:版本号(Version Number):规范的版本号(目前为版本 3,值为 )序列号(Serial Number):由 CA 维护的为它所颁发的每个证书分配的唯一的序列号,用来追踪和撤销证书签名算法(Signature Algorithm ID):签名所采用的算法颁发者(Issuer Name):颁发证书单位的信息,如 有效期(Period of validity):证书的有效期限,如 被签发主体(Subject Name):证书拥有者的标识信息(Distinguished Name),如 主体的公钥信息(Subject Public Key Info):所保护的公钥相关的信息 公钥算法(Public Key Algorithm):公钥采用的算法主体公钥(Subject Public Key):公钥的内容颁发者唯一号(Issuer Unique Identifier,可选):代表颁发者的唯一信息,仅 2、3 版本支持(可选)主体唯一号(Subject Unique Identifier,可选):代表拥有证书实体的唯一信息,仅 2、3 版本支持(可选)扩展(Extensions,可选):可选的一些扩展,可能包括: Subject Key Identifier:实体的密钥标识符,区分实体的多对密钥Basic Constraints:一般指明该证书是否属于某个 CAAuthority Key Identifier:颁发这个证书的颁发者的公钥标识符Authority Information Access:颁发相关的服务地址,如颁发者证书地址和吊销证书列表信息查询地址CRL Distribution Points:证书注销列表的发布地址Key Usage: 表明证书的用途或功能信息,如 Digital Signature、Key CertSignSubject Alternative Name:证书身份实体的别名证书签名算法(Certificate Signature Algorithm):证书签名所用的算法证书签名(Certificate Signature):证书的签名 X.509 标准图解:
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/87148.html