SPKAC(Signed Public Key and Challenge 、 Netscape SPKIとも呼ばれる)は、証明書署名要求(CSR)を送信するためのフォーマットです。OpenSSLを使用して操作できる公開鍵をエンコードします。[1]これは、多くのNetscape互換ブラウザ内で、あまり文書化されていないHTML keygen要素[2]を使用して作成されます。
標準化
インターネット技術タスクフォース(IETF)では、インターネットドラフトを通じてSPKACの標準化に向けた取り組みが進行中です。この作業の目的は、従来から存在するものを事実上の標準として正式に定義し、特にMD5の歴史的に安全でない使用法に関するセキュリティ上の欠陥に対処することです。MD5はその後、デジタル署名での使用には安全ではないと宣言されました。[3]
実装
HTML5は当初、WebIDなどのプロトコル用のウェブサービスを通じてクライアント側証明書<keygen>を簡単に作成できるように、ブラウザでSPKACをサポートする要素を指定していました。[4] [5]しかし、その後のHTML 5.1の作業によりkeygen要素は「危険」にさらされ、HTML 5.2の最初の公開ワーキングドラフトではkeygen要素が完全に削除されました。[6] [7] [8] keygen要素の削除は、セキュリティ上の懸念に加えて、相互運用性と標準の観点からの非準拠が原因です。[9]
ワールドワイドウェブコンソーシアム(W3C)のWeb認証ワーキンググループは、keygen要素に代わるWebAuthn (Web認証)APIを開発しました。 [10]
Bouncy CastleはJavaクラスを提供します。[11] [12]
Erlang/OTPの実装も存在する。[13]
Pythonの実装はpyspkacと呼ばれます。[14]
PHP OpenSSL拡張機能バージョン5.6.0以降。[15]
Node.jsの実装。[16]
欠陥
ブラウザのユーザーインターフェースを改善し、サーバーがクライアント証明書を要求していることをユーザーにわかりやすくする必要があります。[17]
参照
- シンプルな公開鍵インフラストラクチャ(SPKI)
参考文献
- ^ "Documents, spkac(1)". OpenSSL . 2017年4月5日閲覧。
- ^ “Html | Mdn”. Developer.mozilla.org. 2013年8月15日. 2013年10月13日閲覧。
- ^ S. Turner; L. Chen (2011年3月). MD5メッセージダイジェストおよびHMAC-MD5アルゴリズムに関するセキュリティ上の考慮事項の更新.インターネット技術タスクフォース. doi : 10.17487/RFC6151 . RFC 6151. 情報。RFC 2104 および 1321 を更新します。
- ^ 「HTML5 W3C勧告 2014年10月28日 4.10.12 keygen要素」W3C、2014年10月28日。 2016年10月17日閲覧。
- ^ 「WebID:グローバルな分散認証プロトコルの作成」W3C . 2013年10月13日閲覧。
- ^ Nevile, Chaals (2016年6月3日). 「Re: Call for Consensus - Remove <keygen> from HTML」. W3C HTMLワーキンググループ(メーリングリスト) . 2016年10月17日閲覧。
- ^ 「HTML5.1: CR 2016年6月21日。この文書のステータス」W3C、2016年6月21日。 2016年10月17日閲覧。
- ^ 「HTML 5.2: 最初の公開WD。HTML 5.1からの変更点」W3C、2016年8月18日。 2016年10月17日閲覧。
- ^ W3C技術アーキテクチャグループ (2015年11月30日). 「Keygenとクライアント証明書」. W3C . 2016年10月17日閲覧。
{{cite web}}: CS1 maint: 数値名: 著者リスト (リンク) - ^ Halpin, Harry; Appelquist, Daniel; Mill, Eric; Gmür, Reto (2016年5月31日). 「Re: HTMLからkeygenを削除する」. W3C WWW Technical Architecture Group (メーリングリスト) . 2016年10月17日閲覧。
- ^ 「Bouncy Castle Javaドキュメント」 。 2013年12月6日閲覧。
- ^ "foaf-protocols] spkacテストのJava実装". Lists.foaf-project.org . 2013年10月13日閲覧。
- ^ "ztmr/espkac @ GitHub". Github.com . 2013年10月13日閲覧。
- ^ "pyspkac". Github.com . 2013年12月6日閲覧。
- ^ 「php 5.6.0 OpenSSL ネイティブ SPKAC サポート」。
- ^ 「node.js spki サポート」。
- ^ 「FirefoxのSSL証明書によるユーザー追跡 - The H Security: ニュースと特集」Heise-online.co.uk、2007年9月19日。2008年9月19日時点のオリジナルよりアーカイブ。 2013年10月13日閲覧。
外部リンク
- IETFドラフト: 署名された公開鍵とチャレンジ
- PHPでkeygenタグがspkacとどのように機能するかの概要。2013年4月16日のオリジナルからアーカイブ。
- PHP v5.6 は SPKAC をネイティブにサポートするようになりました
- PHP OpenSSL 拡張機能 v5.6.0-Alpha3 のリリースでネイティブ SPKAC がサポートされるようになりました
- Node.js でのネイティブ SPKAC サポート (v0.11.8 のリリース)
- Node.js の SPKAC デモ (Node.js リリース > v0.11.8 が必要)