公鑰密碼學標準

由李萨阿資訊安全公司設計和發布的一組公鑰加密標準

公鑰加密標準(Public Key Cryptography Standards, PKCS),此一標準的設計與發佈皆由RSA資訊安全公司英語RSA Security所制定。

RSA資訊安全公司旗下的RSA實驗室為了發揚公開金鑰技術的使用,便發展了一系列的公開金鑰密碼編譯標準。只不過,雖然該標準具有相當大的象徵性,也被資訊界的產業所認同;但是,若RSA公司認為有必要,這些標準的內容仍然可能會更動。所幸,這些變動並不大;此外,這幾年RSA公司也與其他組織(比較知名的有IETFPKIX)將標準的制定透過standards track程式來達成。

清單

PKCS標準彙總
版本 名稱 簡介
PKCS #1英語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英語PKCS_7 1.5 密碼訊息語法標準(Cryptographic Message Syntax Standard) 參見RFC 2315。規範了以公開金鑰基礎設施(PKI)所產生之簽章/密文之格式。其目的一樣是為了拓展數位憑證的應用。其中,包含了S/MIMECMS英語Cryptographic Message Syntax。主要用來儲存簽章或者加密後的資料,如憑證或者CRL。PKCS7可以用二進制的DER格式儲存,也可以使用PEM格式儲存。Windows中PKCS7通常使用.p7b副檔名。
PKCS #8英語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英語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 擬亂數產生器英語Pseudorandom number generator標準(Pseudo-random Number Generation) 制定中。規範擬亂數產生器的使用與設計。
PKCS #15 1.1 密碼裝置訊息格式標準(Cryptographic Token Information Format Standard) 定義了密碼裝置內部資料的組織結構。

參見

參考資料

  1. ^ 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]頁面存檔備份,存於網際網路檔案館

外部連結