当前位置: 首页 > Web前端 > HTML

PKCS的15个标准

时间:2023-03-28 11:49:32 HTML

PKCS迄今已发布15个标准:(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描述了一种使用从密码生成的密钥来加密八位位组字符串并生成加密的八位位组字符串的方法。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证书签名请求中使用的可选属性类型。定义的证书属性包括电子邮件地址、明文名称、内容类型、消息摘要、签名时间、签名副本(反签名)、质询密码和扩展证书属性。(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的实现充当卡内部格式和应用程序支持的数据格式之间的转换器。:(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描述了一种使用从密码生成的密钥来加密八位位组字符串并生成加密的八位位组字符串的方法。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证书签名请求中使用的可选属性类型。定义的证书属性包括电子邮件地址、明文名称、内容类型、消息摘要、签名时间、签名副本(反签名)、质询密码和扩展证书属性。(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的实现充当卡内部格式和应用程序支持的数据格式之间的转换器。参考链接:UnderstandingPKCS8vsPKCS1vsPKCS12