PKCS(Public-Key Cryptography Standards)は、RSAセキュリティによって考案され、公開された
公開鍵[[暗号]]の標準規格群です。RSAセキュリティは、
RSA[[暗号]]アルゴリズムの
特許(2000年に期限切れ)のライセンス権を保有し、さらに他の鍵関連の
特許(例えばSchnorr
特許)も取得していました。このような背景から、RSAセキュリティおよびその研究部門であるRSA Labsは、公開鍵技術の利用促進に積極的に関与し、その結果としてPKCS標準を策定しました。
RSAは、必要に応じてPKCS標準に変更や改良を加えると表明し、その管理を継続しました。そのため、PKCS標準は、その名称にもかかわらず、必ずしも業界全体の標準とは言えない側面がありました。しかし、近年ではPKCSの一部がIETF PKIXワーキンググループなどの標準化団体によって「標準化」される動きも見られます。
PKCS標準の一覧
PKCSには様々な標準がありますが、ここでは代表的なPKCS #8について説明します。
PKCS #8
PKCS #8は、PKCSの中で鍵の構文に関する標準を定めています。最新バージョン1.2は、RFC 5208として公開されています。
PKCS #8で規定された秘密鍵は、PKCS #5標準を用いてパスフレーズで
暗号化される場合があります。この際、複数の
暗号化方式(ciphers)がサポートされます。
2010年には、S. Turnerによって新しいバージョン2が提案され、RFC 5958として発表されました。
鍵は通常、
Base64でエンコードされたPEM形式で記述されます。以下にPEM形式の秘密鍵の例を示します。
pem
-BEGIN PRIVATE KEY
-
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC+lE265r5
...(省略)...
-END PRIVATE KEY
-
関連事項
PKCSに関連する技術や概念として、以下のものがあります。
暗号メッセージ構文 (CMS): 暗号化されたメッセージの形式を定義する標準。
ASN.1 (Abstract Syntax Notation One): データ構造を記述するための標準的な記法。PKCSでは、データの符号化にASN.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. [2]
外部リンク
EMC内RSA Laboratories PKCS
PSS (Probabilistic Signature Scheme)
PKCS#12 FAQ, OpenSSLのStephen Hensonによる
*
PKCSとは - Qiita
この資料は、PKCSの概要とPKCS #8を中心に解説しました。より詳細な情報については、参考文献や外部リンクをご参照ください。