原文 http://qmkemail.iteye.com/admin/blogs/new
的一系列相关协议。到1999年底,PKCS已经公布了以下标准:
PKCS#1:定义RSA公开密钥算法加密和签名机制,主要用于组织PKCS#7中所描述的数字签名和数字信封[22]。
PKCS#3:定义Diffie-Hellman密钥交换协议[23]。
PKCS#5:描述一种利用从口令派生出来的安全密钥加密字符串的方法。使用MD2或MD5 从口令中派生密钥,并采用DES-CBC模式加密。主要用于加密从一个计算机传送到另一个计算机的私人密钥,不能用于加密消息[24]。
PKCS#6:描述了公钥证书的标准语法,主要描述X.509证书的扩展格式[25]。
PKCS#7:定义一种通用的消息语法,包括数字签名和加密等用于增强的加密机制,PKCS#7与PEM兼容,所以不需其他密码操作,就可以将加密的消息转换成PEM消息[26]。
PKCS#8:描述私有密钥信息格式,该信息包括公开密钥算法的私有密钥以及可选的属性集等[27]。
PKCS#9:定义一些用于PKCS#6证书扩展、PKCS#7数字签名和PKCS#8私钥加密信息的属性类型[28]。
PKCS#10:描述证书请求语法[29]。
PKCS#11:称为Cyptoki,定义了一套独立于技术的程序设计接口,用于智能卡和PCMCIA卡之类的加密设备[30]。
PKCS#12:描述个人信息交换语法标准。描述了将用户公钥、私钥、证书和其他相关信息打包的语法[31]。
PKCS#13:椭圆曲线密码体制标准[32]。
PKCS#14:伪随机数生成标准。
PKCS#15:密码令牌信息格式标准[33]。
Note: PKCS #2 and PKCS #4 have been incorporated into PKCS #1
PKCS #1: RSA Cryptography Standard
PKCS #3: Diffie-Hellman Key Agreement Standard
PKCS #5: Password-Based Cryptography Standard
PKCS #6: Extended-Certificate Syntax Standard
PKCS #7: Cryptographic Message Syntax Standard
PKCS #8: Private-Key Information Syntax Standard
PKCS #9: Selected Attribute Types
PKCS #10: Certification Request Syntax Standard
PKCS #11: Cryptographic Token Interface Standard
PKCS #12: Personal Information Exchange Syntax Standard
PKCS #13: Elliptic Curve Cryptography Standard
PKCS #15: Cryptographic Token Information Format Standard
PKCS Mailing Lists
Workshopsi
11.3 PKCS标准
公钥密码标准(PKCS)最初是为推进公钥密码系统
的互操作性,由RSA实验室与工业界、学术界和政府代表合作开发的。在RSA带领下,PKCS的研究随着时间不断发展,它涉及了不断发展的PKI格式标
准、算法和应用程序接口。PKCS标准提供了基本的数据格式定义和算法定义,它们实际是今天所有PKI实现的基础。
11.3.1 PKCS标准的内容
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的实现扮演了翻译家的角色,它在卡的内部格式与应用程序支持的数据格式间进行
转换。
11.3.2 PKCS主要用途
以上标准主要用于用户实体通过RA的证书申请、用户的证书更新过程。当证书作废时,RA通过CA向目录服务器中发布证书撤销列表CRL,用于扩展证书内容,以及数字签名与验签过程和实现数字信封格式定义等一系列相关协议。
分享到:
相关推荐
RSA公司的PKCS(Public Key Cryptography Standards)系列标准。 官方网站的相关页面和链接好像已经失效。经过精心查找和整理,这可能是目前能收集到的最全的版本,包括如下版本: PKCS #1 v2.2: RSA Cryptography ...
这个标准是由RSA实验室制定的,并且是PKCS系列标准的一部分。PKCS#8的正式名称是“Private-Key Information Syntax Standard”,其最新版本为修订版1.2,在1993年11月1日发布。 #### 二、私钥信息的重要性 私钥在...
PKCS#7(公钥密码系列标准第七部分)是由RSA实验室发布的一套加密消息语法标准,旨在为数字签名、数字信封等安全通信手段提供通用的框架。该标准版本1.5发布于1993年11月1日,主要描述了用于加密数据的一般语法,并...
PKCS#11标准,全称为“PKCS #11 v2.11: Cryptographic Token Interface Standard”,是RSA实验室制定的一套密码令牌接口标准。该标准由公共密钥密码标准(PKCS)制定,旨在为加密令牌如智能卡或硬件安全模块(HSM)提供...
展而制订的一系列标准,是最早的公钥密码标准,也是公钥密码发展过程中最重要的标 准之一。自1991 年作为一份会议结果,由早期的公钥密码使用者公布以来,PKCS 文 档已经被广泛引用和实现。许多正式和非正式工业标准...
首先,我们要理解PKCS-11,这是PKCS系列中的一个重要标准,专门针对密码模块接口进行定义。PKCS-11提供了一个统一的API(应用程序编程接口),使得不同的硬件安全模块(如智能卡、硬件加密模块)能够被软件应用程序...
PKCS系列标准就是这样的安全协议,通过定义加密和签名机制,为网络通信提供了可靠的安全保障。在公司内部,这些文档通常作为参考资料,帮助开发人员理解和实现相关的安全功能。 压缩包中的"www.pudn.com.txt"可能是...
标准中还包含了一系列用于平台和编译器依赖指令(PLATFORM-AND COMPILER-DEPENDENT DIRECTIVES FOR C OR C++),如结构体对齐(STRUCTURE PACKING)、指针相关宏(POINTER-RELATED MACROS),以及各种数据类型...
1. **PKCS #1:RSA 加密标准** - 这是PKCS系列的基础,详细定义了RSA公钥加密算法的使用方式,包括加密和解密操作,以及RSA数字签名的标准格式。 2. **PKCS #3:DH 密钥交换协议** - 定义了Diffie-Hellman密钥交换...
7. 函数概述:PKCS#11标准包括了对一系列函数的定义和描述,这些函数用于执行会话管理、对象管理、加密操作等任务。 8. 安全考虑:PKCS#11标准也强调了安全性的要求。在实现PKCS#11接口时,必须考虑到诸如身份验证...
PKCS(Public Key Cryptography Standards,公钥加密标准)是一系列由RSA Security公司制定的密码学标准,旨在推动公钥加密技术的发展与应用。这里提到的两个文档——PKCS#1 v2.1和PKCS#5 v2.0,分别关注了基于RSA...
标准中引用了一系列其他相关标准和技术文档,如FIPS PUB 46–1(数据加密标准)、PKCS #1(RSA加密标准)、PKCS #6(扩展证书语法标准)、PKCS #9(选择的属性类型)、以及一系列RFC文档,这些文档详细定义了互联网...
### PKCS #7:加密消息语法标准 #### 1. 概述 PKCS #7 (Public Key Cryptography Standards Number 7) 是一项由 RSA 实验室开发的标准,旨在为加密消息提供统一的语法框架。这项标准定义了用于数字签名、加密和其他...
PKCS(Public Key Cryptography Standards)是由RSA安全公司发起的一系列公开密钥加密标准,其中PKCS#7,全称为"Privacy Enhanced Mail Standard Version 7",即增强隐私邮件标准第7版。随着时间的推移,这个标准...
公钥密码标准(Public-Key Cryptography Standards,简称PKCS)是由RSA实验室与其他安全系统开发商共同制定的一系列标准,旨在促进公钥密码技术的发展与应用。公钥密码技术的广泛接受,需要建立一个获得认可的标准...
2. **函数接口**:标准规定了一系列C语言接口函数,包括初始化、注销、对象管理、加密解密、签名验证等功能。例如,`C_Initialize`用于初始化模块,`C_GenerateKeyPair`用于生成密钥对,`C_Decrypt`用于解密数据。 ...
在整个PKCS#11标准中,定义了一系列重要的数据结构和枚举,这些数据结构包括用于表示版本信息的CK_VERSION和CK_VERSION_PTR,提供关于插槽的详细信息的CK_SLOT_ID和CK_SLOT_INFO,以及存储令牌信息的CK_TOKEN_INFO。...
PKCS11是一种开放的标准,全称为Public-Key Cryptography Standards #11,由RSA安全公司发起,后来由OASIS(Organization for the Advancement of Structured Information Standards)维护。这个标准定义了应用程序...