公钥加密标准(Public Key Cryptography Standards, PKCS),此一標準的設計與發佈皆由RSA資訊安全公司所制定。
RSA資訊安全公司旗下的RSA實驗室為了發揚公開金鑰技術的使用,便發展了一系列的公開金鑰密碼編譯標準。只不過,雖然該標準具有相當大的象徵性,也被資訊界的產業所認同;但是,若RSA公司認為有必要,這些標準的內容仍然可能會更動。所幸,這些變動並不大;此外,這幾年RSA公司也與其他組織(比較知名的有IETF、PKIX)將標準的制定透過standards track程序來達成。
清單
PKCS標準彙總 | |||
---|---|---|---|
版本 | 名稱 | 簡介 | |
PKCS #1 | 2.1 | RSA密碼編譯標準(RSA Cryptography Standard) | 定義了RSA的數理基礎、公/私鑰格式,以及加/解密、簽/驗章的流程。1.5版本曾經遭到攻擊[1]。 |
PKCS #2 | - | 棄用 | 原本是用以規範RSA加密摘要的轉換方式,現已被納入PKCS#1之中。 |
PKCS #3 | 1.4 | DH金鑰協議標準(Diffie-Hellman key agreement Standard) | 規範以DH金鑰協議為基礎的金鑰協議標準。其功能,可以讓兩方透過金議協議,擬定一把會議金鑰(Session key)。 |
PKCS #4 | - | 棄用 | 原本用以規範轉換RSA金鑰的流程。已被納入PKCS#1之中。 |
PKCS #5 | 2.0 | 密碼基植加密標準(Password-based Encryption Standard) | 參見RFC 2898與PBKDF2。 |
PKCS #6 | 1.5 | 证书擴展語法標準(Extended-Certificate Syntax Standard) | 將原本X.509的证书格式標準加以擴充。 |
PKCS #7 | 1.5 | 密碼訊息語法標準(Cryptographic Message Syntax Standard) | 參見RFC 2315。規範了以公開金鑰基礎設施(PKI)所產生之簽章/密文之格式。其目的一樣是為了拓展數位证书的應用。其中,包含了S/MIME與CMS。主要用来存储签名或者加密后的数据,如证书或者CRL。PKCS7可以用二进制的DER格式存储,也可以使用PEM格式存储。Windows中PKCS7通常使用.p7b文件扩展名。 |
PKCS #8 | 1.2 | 私鑰訊息表示標準(Private-Key Information Syntax Standard). | Apache讀取证书私鑰的標準。主要用来存储私钥。私钥首先会使用PKCS #5的标准进行加密,然后Base64编码,转换成为PEM格式存储。 |
PKCS #9 | 2.0 | 選擇屬性格式(Selected Attribute Types) | 定義PKCS#6、7、8、10的選擇屬性格式。 |
PKCS #10 | 1.7 | 证书申請標準(Certification Request Standard) | 參見RFC 2986。規範了向证书中心申請证书之CSR(certificate signing request)的格式。 |
PKCS #11 | 2.20 | 密碼裝置標準介面(Cryptographic Token Interface (Cryptoki)) | 定義了密碼裝置的應用程式介面(API)之規格。 |
PKCS #12 | 1.0 | 個人訊息交換標準(Personal Information Exchange Syntax Standard) | 定義了包含私鑰與公鑰证书(public key certificate)的文件格式。私鑰採密碼(password)保護。PKCS12文件的扩展名是.p12或者.pfx。PKCS12可以看做是PKCS7的扩展,PKCS12可以额外存储私钥。在PKCS12中可以存储证书、私钥、CRL。 |
PKCS #13 | – | 橢圓曲線密碼學標準(Elliptic curve cryptography Standard) | 制定中。規範以橢圓曲線密碼學為基礎所發展之密碼技術應用。橢圓曲線密碼學是新的密碼學技術,其強度與效率皆比現行以指數運算為基礎之密碼學演算法來的優秀。然而,該演算法的應用尚不普及。 |
PKCS #14 | – | 擬亂數產生器標準(Pseudo-random Number Generation) | 制定中。規範擬亂數產生器的使用與設計。 |
PKCS #15 | 1.1 | 密碼裝置訊息格式標準(Cryptographic Token Information Format Standard) | 定義了密码设备内部数据的组织结构。 |
參見
參考資料
- ^ Jean-Sébastien Coron, Marc Joye, David Naccache, and Pascal Paillier, New Attacks on PKCS #1 v1.5 Encryption, EUROCRYPT 2000, pp. 69-381. [1] (页面存档备份,存于互联网档案馆)