「みんなの翻訳」は、世界中の文書をみんなで協力して翻訳するサイトです。

みんなの翻訳ロゴ
ブクタブ
翻訳サイト

カテゴリ一覧

このサイトについて 新規登録はこちら お試し翻訳

一覧

2017/07/28

メンテナンス終了のお知らせ

2017/7/25-2017/7/28に実施したメンテナンスは、2017/7/28/14:20に終了いたしました。 ご協力をいただき、ありが…

List

hanako

English⇒Japanese

Hnoss

English⇒Japanese

shikimi

English⇒Japanese

sysInfo

English⇒Japanese

ホームWikipedia翻訳一覧 > Wikipedia翻訳

Wikipedia翻訳

HTTP公開鍵ピニング

法律: IT 百科事典

HTTP公開鍵ピニング

HTTP公開鍵ピニング(HPKP: HTTP Public Key Pinning)[1]とは、HTTPヘッダによって実現されるセキュリティの仕組みであり、HTTPSのウェブサイトが、間違って発行された証明書や不正な証明書を使用した攻撃者によるなりすましを阻むことを可能にする。それを行うために、一つあるいは一揃いの公開鍵をクライアント(ブラウザ)に交付し、そのクライアントはこのドメインへの接続を信頼された唯一のものでなければならない。

例えば、攻撃者は認証局を危殆化させ、本来のウェブに対する証明書を誤発行させるかもしれない。この危険性に抗するため、HTTPSウェブサーバはある一定の期間で有効な「ピン留めされた」公開鍵ハッシュの一覧を提供する;その後の接続において、その有効期間中、クライアントはそのサーバが証明書チェーンの中のそれらの公開鍵の一つ以上を使用していると想定する。もしそうではなかった場合、エラーメッセージが表示され、それをユーザが(容易く)無視することはできない。

一般的な認識に反して、その技術は証明書をピン留めするのではなく、公開鍵をピン留めする。これはつまり、ある人が秘密鍵へのアクセスをもつとき、いずれかの認証局から証明書を入手するために一対の鍵を使用できることを意味する。代わりの方法として、(認証局によって作成された)ルート証明書または中間証明書の公開鍵がピン留めされることもあり、それは続いて、この認証局によって発行されたあらゆる証明書を承認することになる。

目次

1 動作方法
2 報告
3 ブラウザ・サポート
4 関連項目
5 参考文献
6 外部リンク

動作方法

サーバはHTTP応答ヘッダフィールド名Public-Key-Pins(あるいは報告のみの目的にはPublic-Key-Pins-Report-Only)によってユーザ・エージェントにHPKP方針を伝える。

HPKP方針は、ウェブサイトの真正のX.509公開鍵証明書チェーン(と少なくとも一つのバックアップの鍵)にある証明書の一つとして、pin-sha256の指定で対象の公開鍵情報のハッシュを記す。max-ageの指定では、ユーザ・エージェントが公開鍵ピニングを実施することになる期間を定め、任意のincludeSubDomainsの指定はピニング方針で(ヘッダが送られるドメインの)すべてのサブドメインを含めるときに設定し、任意のreport-uriの指定はピニングの違反報告の送付先URLを設定する。証明書チェーンにおける証明書の公開鍵の少なくとも一つは、そのチェーンがユーザ・エージェントから有効なものだとみなされるために、ピン留めされた公開鍵と一致する必要がある。

公開時、RFC 7469はSHA-256ハッシュ・アルゴリズムだけを認めていた。HPKP方針のためのハッシュは、RFC 7469のAppendix A. に記載のシェルコマンドまたはサードパーティのツールで生成することができる。

ウェブサイト運用者は、そのウェブサイトのドメインに対する有効な証明書の発行をその認証局(とその鍵で署名されたすべての中間認証局)にのみ認め、特定のルート認証局のルート証明書公開鍵をピン留めすることを選ぶこともあれば、証明書を発行している一つあるいは複数の中間認証局の鍵をピン留めすることもあり、あるいはエンドエンティティの公開鍵をピン留めすることを選ぶこともできる。

現在のピン留めされた鍵を取り替える必要ができたときに備えて、少なくとも一つのバックアップ鍵はピン留めされなければならない。HPKPはこのバックアップ鍵なしでは有効ではない(バックアップ鍵は現行の証明書チェーンに提出されていない公開鍵と定義される)[2]。

HPKPはRFC 7469で標準化されている[1]。それを展開したものが静的な証明書のピン留めであり、ウェブブラウザとアプリケーションの内部に、広く知られているウェブサイトやサービスの公開鍵ハッシュをハードコードする[3]。

ほとんどのブラウザは、様々な企業のコンテンツ監視スキャナ[4]と(mitmproxyやFiddlerのような)ウェブ・デバッグ用ツールを可能にする私的なルート証明書をもつ証明書チェーンに対するピニングをできないようにしている。RFC 7469標準は、「ユーザ定義の」ルート証明書に対するピニングの違反報告の禁止を推奨し、そこではブラウザによるピンの妥当性検証を無効にすることが「許容される」[5]。

報告

ユーザ・エージェントがピン留めの妥当性検証を行い、提供されている証明書チェーンの中に有効なSPKI(Simple public-key infrastructure)の指紋を見つけられなかった場合、JSON形式の違反報告を、違反の詳細を含めてreport-uriで指定されているホストにPOSTする。接続の失敗により報告が行われると、ユーザ・エージェントは同じドメインにHPKP違反報告を送付できない。そのため、ホストは代わりとなるドメインを使うか報告サービスを使用しなければならない[6]。

ブラウザの中にはPublic-Key-Pins-Report-Onlyをサポートしているものもあり、それはユーザにエラーを表示していないときのみこの報告が行われる。

ブラウザ・サポート

HPKPはFirefoxとOpera、Chromeでサポートされているが[7]、Internet Explorer/Edgeではサポートされていない[8]。

関連項目

HTTP Strict Transport Security

参考文献

1. "RFC 7469 - Public Key Pinning Extension for HTTP". tools.ietf.org . Retrieved 2015-05-07.

2. "About Public Key Pinning". noncombatant.org . Retrieved 2015-05-07.

3. "Certificate and Public Key Pinning - OWASP". www.owasp.org . Retrieved 2015-05-07.

4. "Security FAQ - The Chromium Projects". www.chromium.org . Retrieved 2015-07-07.

5. "RFC 7469 - Public Key Pinning Extension for HTTP". tools.ietf.org . Retrieved 2015-07-07.

6. "HPKP Violation Reporting". Scott Helme.

7. "HTTP Public Key Pinning (HPKP)". Mozilla Developer Network . Retrieved 2017-05-27.

8. https://dev.modern.ie/platform/status/publickeypinningextensionforhttp/

外部リンク

Online browser HSTS and Public Key Pinning test

JavaScript Public-Key-Pins (HPKP) calculator

Article about the very beginning of HPKP

Public Key Pinning Extension for HTTP (HPKP) article on Mozilla Developer Network

HPKP Violation Reporting

HPKP Policy Analyser

HPKP Hash Generator (URL)

HPKP Hash Generator (PEM)

PDF
更新日:2017-10-01 12:05:50 shikimi 0  del.icio.usに追加   はてなブックマークに追加   twitterに投稿   facebookでshare
[ 原文 ] https://en.wikipedia.org/wiki/HTTP_Public_Key_Pinning Creative Commons License この作品は、クリエイティブ・コモンズ・ライセンスの下でライセンスされています。
クリエイティブ・コモンズ・ライセンス
翻訳者ページをみる

この記事の翻訳者

shikimi さんの翻訳記事

エアギャップ・マルウェア

エアギャップ・マルウェア エアギャップ・マルウェアとは、様々なエアギャップの隠されたチャネルを使い、安全なコンピュータ・システムのエアギャップの分離を破るように設計されたマル…2017-12-03 17:02:41

抵抗のための再検討:ジェンダーに基づく暴力を終わらせるための活動の歴史

抵抗のための再検討:ジェンダーに基づく暴力を終わらせるための活動の歴史 2017年11月8日 記憶は抵抗である。あなたの話が沈黙させられ挑まれたなら、真実を覚えていることは決定的に…2017-11-11 13:06:56

エアギャップ(ネットワーク関係)

エアギャップ(ネットワーク関係) エアギャップ(air gap:空隙)またはair wall(空気壁)、エア・ギャッピング[1]とは、ネットワーク・セキュリティ対策であり、一つあるいは複数の…2017-11-04 15:04:51

HTTP公開鍵ピニング

HTTP公開鍵ピニング HTTP公開鍵ピニング(HPKP: HTTP Public Key Pinning)[1]とは、HTTPヘッダによって実現されるセキュリティの仕組みであり、HTTPSのウェブサイトが、間違って発行…2017-10-01 12:05:50