java和go中的密码学(3)-PKI介绍(X509证书标准和PKCS系列协议)

标签:密码学
发布时间:2018年10月06日 价值:20000.00 / 共识:22

部分内容整理自百度百科!
阅读本文,尤其要关注好 粗黑字体,这些在java\GO语言的api中会经常体现。现在请稍微记住,后边我会不断点题。

公钥基础设施(Public Key Infrastructure,简称PKI)是目前网络安全建设的基础与核心,是一种遵循标准的利用公钥加密技术为电子商务的开展提供一套安全基础平台的技术和规范

我们公司机构内部可以通过采用 PKI框架 管理密钥和证书可以建立一个安全的网络环境:
PKI作为一组在分布式计算系统中利用 公钥技术和X.509证书 所 提供的安全服务,企业或组织可利用相关产品建立安全域,并在其中发布密钥和证书。在安全域内,PKI管理加密密钥和证书的发布,并提供诸如密钥管理(包括 密钥更新,密钥恢复和密钥委托等)、证书管理(包括证书产生和撤销等)和策略管理等。

一个典型、完整、有效的PKI应用系统至少应具有以下部分:
· 公钥密码证书管理。
· 黑名单的发布和管理。
· 密钥的备份和恢复。
· 自动更新密钥。
· 自动管理历史密钥。
· 支持交叉认证。
通常来说,CA是证书的签发机构,它是PKI的核心。

定义PKI的标准

随着PKI的发展和应用的不断普及,PKI的产品也越来越多,为了保持个产品之间的兼容性,标准化成了PKI不可避免的发展趋势。
在PKI技术框架中,许多方面都经过严格的定义,如用户的注册流程、数字证书的格式、CRL的格式、证书的申请格式以及数字签名格式等。

X.509协议

国际电信联盟ITU X.509协议,是PKI技术体系中应用最为广泛、也是最为基础的一个国际标准。它的主要目的在于定义一个规范的数字证书的格式,以便为基于X.500协议的目录服务提供一种强认证手段。但该标准并非要定义一个完整的、可互操作的PKI认证体系。
X.509 v3证书数据结构如下:
Certificate证书
Version 版本
Serial Number序列号
Algorithm ID 算法标识
Issuer 颁发者
Validity 有效期
Not Before 有效起始日期
Not After 有效终止日期
Subject 使用者
Subject Public Key Info 使用者公钥信息
Public Key Algorithm公钥算法
Subject Public Key公钥
Issuer Unique Identifier (Optional) 颁发者唯一标识
Subject Unique Identifier (Optional) 使用者唯一标识
Extensions (Optional) 扩展

Certificate Signature Algorithm 证书签名算法
Certificate Signature 证书签名

PKCS标准

PKCS是由美国RSA数据安全公司及其合作伙伴制定的一组公钥密码学标准,其中包括证书申请、证书更新、证书作废表发布、扩展证书内容以及数字签名、数字信封的格式等方面的一系列相关协议。到1999年底,PKCS已经公布了以下标准:

· PKCS#1:定义RSA公开密钥算法加密和签名机制,主要用于组织PKCS#7中所描述的数字签名和数字信封。

· PKCS#3:定义Diffie-Hellman密钥交换协议。

· PKCS#5:描述一种利用从口令派生出来的安全密钥加密字符串的方法。使用MD2或MD5 从口令中派生密钥,并采用DES-CBC模式加密。主要用于加密从一个计算机传送到另一个计算机的私人密钥,不能用于加密消息。

· PKCS#6:描述了公钥证书的标准语法,主要描述X.509证书的扩展格式。

· PKCS#7:定义一种通用的消息语法,包括数字签名和加密等用于增强的加密机制,PKCS#7与PEM兼容,所以不需其他密码操作,就可以将加密的消息转换成PEM消息。

· PKCS#8:描述 私有密钥 信息格式,该信息包括公开密钥算法的私有密钥以及可选的属性集等。

· PKCS#9:定义一些用于PKCS#6证书扩展、PKCS#7数字签名和PKCS#8私钥加密信息的属性类型。

· PKCS#10:描述证书请求语法。

· PKCS#11:称为Cyptoki,定义了一套独立于技术的程序设计接口,用于智能卡和PCMCIA卡之类的加密设备。

· PKCS#12:描述个人信息交换语法标准。描述了将用户公钥、私钥、证书和其他相关信息打包的语法。

· PKCS#13:椭圆曲线密码体制标准。

· PKCS#14:伪随机数生成标准。

· PKCS#15:密码令牌信息格式标准。

另外,PKCS#2和PKCS#4已经合并到PKCS#1之中。PKIX是由IETF组织中的PKI工作小组制定的系列国际标准。此类标准主要定义基于X.509和PKCS的PKI模型框架。PKIX中定义的四个主要模型为用户、认证中心CA、注册中心RA和证书存取库。

  • 分享 收藏
0 条评论
  • 这篇文章暂无评论,赶紧评论一下吧~