用語集 / 開発者向けリファレンス
リーフ証明書
- リーフ証明書とは?
- リーフ証明書とは、実際に接続したサーバーが提示するエンドエンティティ証明書であり、ドメイン名の管理を証明するものであって、その背後にいる人物については何も証明しません。
リーフ証明書は公開鍵をホスト名に結び付け、中間証明書によって署名されます。その最大有効期間は短縮を続けており、上限は825日から398日へ2020年9月1日に引き下げられ、2025年のCA/Browser Forumの投票によって2029年3月までに47日へ段階的に短縮されます。南京錠はドメインが一致したことを示すものであり、それは詐欺師のそっくりドメインもまったく同じように達成しています。
仕組み
リーフ証明書は証明書チェーンの最下層に位置し、それ以外の何にも署名できません。そのbasicConstraints拡張ではCAがfalseに設定されており、このフラグがリーフ証明書とその上位にあるすべての証明書との機械的な違いです。対象となるホスト名はsubjectAltName拡張に格納されます。古いコモンネーム欄は現在のクライアントでは無視されるため、subjectAltNameにホスト名が欠けている証明書は、コモンネームが完全に一致していても失敗します。
証明書を発行してもらうことが証明する内容は、多くの人が想定するより少ないものです。最も安価で圧倒的に一般的なレベルであるドメイン認証は、申請した人物がドメイン上のURLにトークンを配置できるか、そのドメインの下にDNSレコードを公開できるかだけを確認します。ACMEプロトコルでは、この確認は数秒で完了し、費用はかかりません。組織認証と拡張認証は法人に関する書類を追加しますが、ブラウザーはその労力に報いることをやめました。Chrome 77とFirefox 70はいずれも2019年の秋にアドレスバーから企業名を取り除いたため、訪問者はいずれの場合も同じ南京錠を見ることになりました。
助けになる進展は2つあります。公的に信頼されるすべてのリーフ証明書はCertificate Transparencyのログに記録される必要があり、Chromeは2018年4月30日以降、記録の証明を欠く証明書を拒否しているため、誰でもこれらの公開ログを検索して、自身が所有するドメインに対して発行された証明書を調べ、誰も注文していない証明書を見つけることができます。有効期間の短縮もまた、単純な理由で助けになります。盗まれた鍵は証明書が失効するまでしか役に立たないからこそ、業界は200日、次に100日、そして47日へと段階的に短縮するスケジュールを受け入れました。
どこで目にするか
リーフ証明書は、取引所にサインインするたびに目にします。リーフ証明書はブラウザーがホスト名と照合する対象であり、目の前の特定のサイトについて何かを示すチェーン内の唯一の要素です。
ここが、ビットコインを購入する人にとってこの用語が役立つ点です。タイポスクワッティングされたドメイン上のフィッシングページは、自動かつ無料で発行された完全に有効なリーフ証明書を備えており、その横には本物の南京錠があります。証明書は、あなたの接続がアドレスバーに表示されたドメインに実際に到達することを確認します。ページにロゴが表示されている企業にそのドメインが属するとは一切主張しません。ホスト名を1文字ずつ読み、最初の単一スラッシュの直前の部分に注意を払い、南京錠は誠実さではなく接続経路についての表明として扱ってください。
BIP70の中では、リーフ証明書は別の形式で同じ役割を果たしていました。証明書リストの先頭にあり、支払い要求の署名はその秘密鍵によって生成されていました。
リーフ証明書vs中間証明書
リーフ証明書はチェーンを終わらせ、中間証明書はチェーンを続けます。2つのうちさらに証明書に署名できるのは一方だけであり、リーフ証明書に署名を許すクライアントは、誰かが目の前に置いたものを何でも受け入れてしまうでしょう。この区分は秘密鍵の所在も決めます。中間証明書の鍵は認証局のハードウェアモジュール内に留まり、その寿命の間に数千の証明書に署名します。リーフ証明書の鍵はそれが識別するサーバー上にあり、そのサーバーがさらされるあらゆるものにさらされ、証明書が更新されるたびに交換されます。