蚌明曞の倱効が機胜しない

珟圚、私たちには小さな問題がありたすが、私の意芋では、時間の経過ずずもに状況は悪化するだけです。 たすたす倚くのサむトが蚌明曞HTTPSを実装するために必芁なドキュメントを受信しお​​いたすが、䞍正䜿甚から保護するメカニズムはありたせん。



認蚌



たすたす倚くのサむトがHTTPSを採甚しおいるため、蚌明曞をめぐる真のゎヌルドラッシュが発生しおいたす。 セキュリティずプラむバシヌの明らかな利点に加えお、安党な接続を実装するこずには他の利点がありたす。これに぀いおは、「 HTTPSは必芁ないず思いたすか 「。 䞀般に「SSL蚌明曞」たたは「HTTPS蚌明曞」ず呌ばれるこずは、むンタヌネットの歎史で芋たこずのない速床で飛散したす。 毎日、トラフィックの最初の100䞇からサむトを調査し、それらのセキュリティのさたざたな偎面を分析し、6か月ごずにレポヌトを発行しおいたす。 これらのレポヌトはここで調べるこずができたすが、今のずころはHTTPS実装のペヌスを芋おみたしょう。





Alexaの統蚈によるず、HTTPSバヌゞョンぞのリダむレクトがある最初の100䞇の最も人気のあるサむトからのサむトの割合



HTTPSの実装を継続しおいるだけでなく、実装の速床も向䞊しおいたす。 本圓に進歩しおいるようです。 優れたLet's Encryptのおかげで、時間の経過ずずもに蚌明曞を取埗するプロセスがより簡単になりたす。さらに、蚌明曞が無料になりたした。 ぀たり、蚌明曞眲名芁求CSRを蚌明機関CAに送信するだけで、圌はドメむンの所有暩の蚌明を申し出たす。 これは通垞、DNS TXTレコヌドを倉曎するか、ドメむンのランダムなURLのどこかにカスタムコヌドを配眮するこずによっお行われたす。 タスクが完了するず、CAは蚌明曞を発行し、ブラりザヌに提瀺しお、アドレスバヌに緑色のロックずHTTPSを衚瀺できたす。







開始堎所 、 正しくアップグレヌドする方法、 二重蚌明曞の䜿甚方法など、このプロセスに関するいく぀かの指瀺を曞きたした。 それはすべお玠晎らしいですね。 しかし、問題は䜕ですか そしお、すべおが蚈画通りに進み、あなたが悪い日を過ごしたずきに問題が発生したす。



ハッキングされた



誰もこれらの蚀葉を聞きたくありたせんが、珟実は、私たちが望むよりも頻繁にそれらを聞かなければならないずいうこずです。 ハッカヌはサヌバヌにアクセスできれば䜕でも入手でき、倚くの堎合、秘密鍵が必芁です。 HTTPS蚌明曞は、サむトのすべおの蚪問者に送信する公開ドキュメントですが、他の人が同じ蚌明曞を䜿甚できないようにする唯䞀のこずは、秘密キヌの欠劂です。 ブラりザがサむトぞの安党な接続を確立するず、䜿甚されおいる蚌明曞の秘密鍵がサヌバヌにあるこずを確認したす。 だから誰も私たちの蚌明曞を䜿甚できたせん。 ハッカヌが秘密鍵を受け取るず、状況は倉わりたす。







攻撃者が秘密鍵を所有しおいる堎合、攻撃者は私たちになりすたすこずができたす。 これを繰り返したしょう。むンタヌネット䞊の誰かが自分があなたであるこずを蚌明できたすが、実際にはそうではありたせん。 これは本圓の問題であり、あなたが考える前に、「これは私には決しお起こりたせん」ずHeartbleedを思い出しおください。 OpenSSLラむブラリのこの小さなバグにより、すべおのセキュリティ察策を講じた堎合でも、攻撃者は秘密鍵を盗むこずができたした。 たた、偶然たたは過倱により秘密鍵が挏掩したケヌスは無数にありたす。 珟実には、秘密キヌを玛倱する可胜性があり、これが発生した堎合、攻撃者が蚌明曞を䜿甚できないようにする方法が必芁です。 圌を思い出す必芁がありたす。



フィヌドバック



䟵害された堎合、悪甚の可胜性を排陀するために蚌明曞を倱効させる必芁がありたす。 蚌明曞が倱効ずしおマヌクされるず、ブラりザは、期限が切れおいなくおも信頌できないこずを認識したす。 所有者がレビュヌを芁求したため、クラむアントはこの蚌明曞を受け入れおはなりたせん。







ハッキングの事実を知るずすぐに、CAに連絡し、蚌明曞の取り消しを䟝頌したす。 蚌明曞を所有しおいるこずを蚌明する必芁がありたす。これを行うずすぐに、CAは蚌明曞を倱効ずしおマヌクしたす。 次に、この情報を必芁ずするすべおのクラむアントにこの事実を䌝える方法が必芁です。 珟時点では、ブラりザはもちろん䜕も知りたせん。これは問題です。 情報の配垃に䜿甚される2぀のメカニズムがありたす。蚌明曞倱効リストCRLずオンラむン蚌明曞ステヌタスプロトコルOCSPです。



蚌明曞倱効リスト



CRLは実際には非垞に単玔な抂念であり、CAが倱効ずマヌクしたすべおの蚌明曞のリストにすぎたせん。 クラむアントは、CRLサヌバヌに芁求を送信し、リストのコピヌをダりンロヌドできたす。 このリストのコピヌがあるず、ブラりザは提瀺された蚌明曞をチェックしたす。 存圚する堎合、ブラりザは蚌明曞が無効であり、信頌できないこずを認識し、゚ラヌをスロヌしお切断したす。 蚌明曞がリストにない堎合、すべおが正垞であり、ブラりザは匕き続き動䜜したす。







CRLの問題は、リストに特定の蚌明機関からの倚くの蚌明曞が含たれおいるこずです。 あたり詳现に説明しなくおも、それらは䞭間CA蚌明曞に分割され、蚌明機関は小さな郚分でリストを発行できたすが、問題は同じたたです。 CRLにはかなりのサむズがありたす。 別の問題は、クラむアントがCRLの新しいコピヌを持っおいないため、サむトぞの最初の接続でそれを芁求する必芁があるため、手順党䜓が著しく遅くなる可胜性があるこずです。 すべおが芋栄えがよくないので、OCSPを芋おみたしょう。



蚌明曞ステヌタス怜蚌プロトコル



OCSPは、この問題に察するはるかに矎しい゜リュヌションを提䟛し、CRLに比べお倧きな利点がありたす。 ここでは、CAに単䞀の特定の蚌明曞のステヌタスを芁求したす。 これは、CAが単玔な回答のみを返す必芁があるこずを意味したす。蚌明曞は有効たたは無効であり、そのような応答はCRLリストよりもはるかに小さくなりたす。 いいね







確かに、OCSPは応答の受信速床においおCRLよりも優れおいたすが、この利点を支払う必芁がありたすこれが発生した堎合も嫌いですか。 䟡栌は非垞に高い-それはあなたのプラむバシヌです... OCSPリク゚ストの本質を考えるず、これは単䞀のHTTPS蚌明曞に察する非垞に具䜓的なリク゚ストです。 実際、情報の挏掩がありたす。 OCSPリク゚ストを送信するずき、文字通り蚌明機関に尋ねたす



pornhub.comの蚌明曞は有効ですか


したがっお、これは理想的なシナリオではありたせん。 これで、蚪問したサむトの履歎を、あなたが䜕も知らないサヌドパヌティに、そしおすべおHTTPSのために提䟛したす。これにより、プラむバシヌずセキュリティが向䞊したす。 しかし、ちょっず、䜕か他のものがありたす。



完党な倱敗



䞊蚘では、2぀のブラりザヌ蚌明曞怜蚌メカニズムであるCRLずOCSPに぀いお説明したしたが、これらは次のようになりたす。







蚌明曞を受け取った埌、ブラりザはこれらのサヌビスの1぀に連絡し、蚌明曞のステヌタスを最終的に刀断する芁求を送信したす。 しかし、CAの調子が悪く、むンフラストラクチャがオフラむンの堎合はどうでしょうか。 状況がこのようになったらどうなりたすか







ここでは、ブラりザには2぀のオプションしかありたせん。 蚌明曞のステヌタスを確認できないため、蚌明曞の受け入れを拒吊する堎合がありたす。 たたは、リスクを取り、蚌明曞が取り消されおいるかどうかに関係なく、そのステヌタスを知らずに蚌明曞を受け入れたす。 どちらのオプションにも長所ず短所がありたす。 ブラりザが蚌明曞の受け入れを拒吊するず、CAむンフラストラクチャがオフラむンになるたびに、サむトもそこに移動したす。 ブラりザが匕き続き蚌明曞を受け入れる堎合、盗たれた蚌明曞を受け入れる危険があり、ナヌザヌを危険にさらしたす。 これは難しい遞択ですが、今、今日、実際には䜕も起こりたせん...



郚分的な故障



実際、今日のブラりザは、郚分的な倱敗で、いわゆる蚌明曞倱効チェックを実行したす。 ぀たり、ブラりザは蚌明曞のステヌタスをチェックしようずしたすが、答えがたったくなかった堎合、たたは短時間で返されなかった堎合、ブラりザはそのこずを忘れたす。 さらに悪いこずに、Chromeは蚌明曞を怜蚌しようずさえしたせん。 はい、あなたはそれを正しく読みたした。Chromeは受け取った蚌明曞のステヌタスをチェックしようずさえしたせん 。 これは奇劙に思えるかもしれたせんが、私は圌らのアプロヌチに完党に同意し、Firefoxも間もなく動䜜を開始する可胜性が高いこずを報告できるこずを嬉しく思いたす。 説明させおください。 完党な障害の問題は明らかです。CAに悪い日があれば、我々もそれを抱えるこずになりたす。それが、郚分的な障害の論理に到達した方法です。 ブラりザは、蚌明曞の倱効を確認しようずしたすが、時間がかかりすぎる堎合、たたはCAがオフラむンになったず思われる堎合は、完党に拒吊したす。 埅っお、最埌の蚀葉は䜕でしたか 「CAがオフラむンになったず思われる堎合」、倱効の蚌明曞チェックはキャンセルされたす。 攻撃者がそのような状態をシミュレヌトできるのだろうか







MiTM攻撃を実行しおいる堎合、蚌明曞怜蚌芁求をブロックし、CAが機胜しおいないずいう印象を䜜成するだけです。 ブラりザは郚分的な怜蚌゚ラヌに遭遇し、倱効した蚌明曞を匕き続き䜿甚したす。 誰もあなたを攻撃しおいない堎合、この特定の蚌明曞を確認するたびに、蚌明曞が取り消されおいないこずを確認するために時間ずリ゜ヌスを費やしたす。 そしお䞀床、あなたが攻撃されたずき-あなたが本圓にそのようなチェックが本圓に必芁なのは-だけです-攻撃者は単に接続をブロックし、ブラりザは郚分的な倱敗を経隓したす。 Googleのアダムラングレヌは、蚌明曞の倱効ずはどのようなものであるかを最もよく説明しおいたす。これは、事故時に砎損するシヌトベルトであり、圌は正しいです。 毎日あなたは車に乗っおシヌトベルトを締めたす-そしおそれはあなたに安党で快適で快適な感芚を䞎えたす。 そしお、ある日䜕かがおかしくなりたす-あなたは事故に遭い、ここでフロントガラスに飛び出したす。 本圓に必芁なずきだけ、シヌトベルトがあなたを倱望させたす。



問題を修正する



今、この特定の瞬間に、珟実は私たちが状況を修正できないずいうこずです。 ただし、䜕かを行うこずができ、将来、蚌明曞倱効メカニズムは本圓に信頌できるものになるでしょう。



独自のメカニズム



サむトが危険にさらされ、攻撃者が秘密鍵を受け取った堎合、このサむトを停造しお䜕らかの損害を匕き起こす可胜性がありたす。 ここでは䜕も良いこずではありたせんが、もっず悪いこずもあったでしょう。 CAが䟵害され、攻撃者が䞭間蚌明曞の秘密鍵を取埗した堎合はどうなりたすか 攻撃者は自分の蚌明曞に眲名するこずで、文字通り自分が望むあらゆるサむトを停造できるため、これは灜害ずなりたす。 したがっお、ChromeずFirefoxには、倱効の䞭間蚌明曞をオンラむンでチェックする代わりに、同じタスクのための独自のメカニズムがありたす。







Chromeでは、 CRLsetsず呌ばれ、FirefoxではOneCRLず呌ばれたす 。 これらのメカニズムは、利甚可胜なCRLを組み合わせおそこから蚌明曞を遞択するこずにより、蚌明曞倱効リストをチェックしたす。 䞭間蚌明曞のような特に䟡倀のある蚌明曞がチェックされたすが、通垞の蚌明曞はどうですか



OCSPマストステヌプル



OCSP Must-Stapleずは䜕かを説明するには、たずOCSP Staplingずは䜕かを簡単に理解する必芁がありたす。 ここではあたり詳しくしたせんが、 OCSP Staplingブログから包括的な情報を入手できたすが、ここがポむントです。 OCSP Staplingでは、蚌明曞自䜓ずずもにOCSP応答を発行するこずにより、ブラりザヌがOCSP芁求を送信する必芁がなくなりたす。 これは、サヌバヌがOCSP応答を蚌明曞で「ステヌプル」し、それらを䞀緒に発行する必芁があるため、OCSP Staplingず呌ばれたす。







䞀芋、これは少し奇劙に思えたす。なぜなら、サヌバヌは自身の蚌明曞を未怜蚌ずしお「認蚌」しおいるように芋えたすが、すべおが正垞に機胜しおいるからです。 OCSP応答は短期間のみ有効であり、蚌明曞ず同じ方法でCAによっお眲名されたす。 したがっお、ブラりザが蚌明曞がCAによっお眲名されおいるこずを確認できる堎合、OCSP応答もCAによっお眲名されおいるこずを確認できたす。 これにより、倧きなプラむバシヌの問題が解消され、クラむアントは倖郚リク゚ストを実行する負担から解攟されたす。 最良のオプション しかし、本圓に最高ではありたせん、ごめんなさい。 OCSP Staplingは玠晎らしいこずであり、私たち党員がこの技術をサむトでサポヌトする必芁がありたすが、攻撃者がそれをサポヌトするず本圓に考えおいたすか いいえ、私はそうは思いたせん、もちろん圌はそれをしないでしょう。 本圓に必芁なのは、サヌバヌがOCSPステヌプルをサポヌトするようにするこずであり、それがOCSP Must-Stapleの目的です。 CAに蚌明曞を芁求するずき、OCSP Must-Stapleフラグを蚭定するように圌に䟝頌したす。 このフラグは、蚌明曞が OCSP応答ずずもに配信されるか、拒吊されるこずをブラりザに通知したす。 フラグの蚭定は簡単です。







このフラグを蚭定した埌、OCSP Stapleが䜿甚されおいるこずを確認する必芁がありたす。䜿甚されおいない堎合、ブラりザヌは蚌明曞を拒吊したす。 䟵害が発生した堎合、攻撃者がキヌを受け取った堎合、OCSP Stapleを蚌明曞ず䞀緒に䜿甚する必芁があり、OCSP Stapleを有効にしない堎合、OCSP応答は蚌明曞が取り消されたずブラりザが受け入れないこずを通知したす。 倚田







OCSP Expect-Staple



Must-Stapleは、蚌明曞の倱効を怜蚌するための優れた゜リュヌションのように芋えたすが、これは完党に真実ではありたせん。 私の意芋では、最倧の問題の1぀は、サむト運営者ずしお、OCSP Stapleタグの信頌性ずクラむアントがそれらを受け入れる方法を正確に知るこずができないずいうこずです。 OCSP Must-Stapleが有効になっおいない堎合、これは問題ではありたせんが、OCSP Must-Stapleを有効にし、OCSP Stapleが信頌できるか正しいかどうか䞍明な堎合、これはサむトの問題です。 OCSP Stapleラベルの品質に関するフィヌドバックを取埗するには、OCSP Expect-Stapleずいう関数をアクティブにしたす。 以前にそれに぀いお曞きたしたが、 OCSP Expect-Stapleブログで詳现を確認できたすが、ここでも簡単に説明したす。 HSTSプリロヌドリストに加えお、OCSP Stapleラベルに満足しおいる堎合は、ブラりザヌにレポヌトを送信するように求めおいたす。 自分でレポヌトを収集するか、 report-uri.ioサヌビスを䜿甚できたす。どちらの堎合も、サむトでOCSP Must-Stapleで問題が発生した正確なタむミングを知るこずができたす。 HSTSプリロヌドリストを䜿甚するこずは私が望むほど明癜ではないため、 Expect-Stapleず呌ばれる新しいセキュリティヘッダヌを定矩するための仕様も䜜成したした。 これは、Must-Stapleがアクティブになる前であっおも、このヘッダヌを蚭定しお、非垞に必芁なレポヌトを送信する機胜を有効にできるようになったずいう考えです。 他のすべおのセキュリティヘッダヌず同様に、ヘッダヌの蚭定は簡単です。



Expect-Staple: max-age=31536000; report-uri="https://scotthelme.report-uri.io/r/d/staple"; includeSubDomains; preload
      
      





停の蚌明曞



蚌明曞の倱効に぀いお話しおいる堎合、改ざんのトピックを考慮する必芁がありたす。 誰かがCAを䟵害しようずしおいる堎合、たたは䜕らかの方法で資栌のない蚌明曞を取埗しようずしおいる堎合、どのように行動したすか 今すぐCAをハッキングしおサむトの蚌明曞を取埗した堎合、ニュヌスで報告するたでそのこずはわかりたせん。 あなたの䌚瀟には、内郚手続きを迂回する蚌明曞を受け取るむンサむダヌさえいるかもしれたせん。 絶察的な透明性が必芁です。すぐに入手できたす。 これが蚌明曞の透明性です。



蚌明曞の透明性



CTは、来幎の初めに必須ずなる新しい芁件です。 ブラりザがそれらを信頌できるように、すべおの蚌明曞を公開ゞャヌナルに蚘録する必芁があるず芏定されおいたす。 CTの詳现な説明が蚘茉された蚘事を読むこずができたすが、肝心な点は、CAが発行したすべおの蚌明曞をCTログに蚘録するこずです。







これらの雑誌は完党に公開されおおり、誰でも芋るこずができるので、誰かがあなたのサむトの蚌明曞を受け取った堎合、あなたはそれに぀いお知るでしょう。 たずえば、 ここでは、私のドメむンに発行されたすべおの蚌明曞を確認し、自分の蚌明曞を怜玢できたす。 同じ目的でsslmateのCertSpotterサヌビスもありたす。たた、特定のドメむンの蚌明曞が発行されるたびにメヌルを送信するFacebook蚌明曞透明性監芖ツヌルを䜿甚しおいたす。 CT芏栌は玠晎らしいアむデアであり、矩務化するのが埅ちきれたせんが、泚意点が1぀ありたす。 実際、CTは最初の䞀歩にすぎたせん。 これらの蚌明曞に぀いお知っおおくのは良いこずですが、倱効に関しお蚀及されおいるすべおの問題がただ残っおいたす。 ただし、䞀床に解決できる問題は1぀だけです。䞖界で最高の倱効メカニズムでさえ、倱効させる必芁がある蚌明曞がわからなければ効果がありたせん。 CTは少なくずもこの情報を提䟛しおくれたす。



蚌明機関の承認



蚌明曞の発行を防ぐこずは、蚌明曞を取り消すよりもはるかに簡単です。そのため、CAA 承認が必芁です。 繰り返しになりたすが、詳现は参照により蚘事に蚘茉されおいたすが、芁するに、本質は、特定の蚌明機関にのみ蚌明曞を発行する暩限を䞎えるこずができるずいうこずです。 承認は、DNSレコヌドを䜜成するのず同じくらい簡単です。



scotthelme.co.uk. IN CAA 0 issue "letsencrypt.org"







CA承認は特に匷力なメカニズムではなく、蚌明曞の誀った発行のすべおの状況で圹立぀わけではありたせんが、堎合によっおは圹立぀ので、CAAレコヌドを䜜成しお蚭定を宣蚀する必芁がありたす。



おわりに



誰かが秘密鍵を受け取った堎合、蚌明曞を取り消すこずができないずいう珟実の問題がありたす。 ハヌトブリヌドスケヌルの次のグロヌバルな脆匱性が明らかになるこずを想像しおみおください できるこずの1぀は、蚌明曞の有効期間を短瞮するこずにより、挏掩による損害の量を制限するこずです。 3幎ではなく、1幎以䞋を瀺したす。 暗号化は、90日間のみ有効な蚌明曞のみを発行したす 蚌明曞の有効期間を短瞮するこずにより、攻撃者は悪甚される時間が少なくなりたす。 たた、ほずんど䜕もできたせん。



問題ず実際の問題を瀺すために、サむトで開いた新しいサブドメむンrevoked.scotthelme.co.ukにアクセスしおみおください。 おそらくご想像のずおり、倱効した蚌明曞はこのサブドメむンに添付されおおり、通垞はブラりザに読み蟌たれたす。 そうでない堎合、ブラりザに期限切れの譊告が衚瀺される堎合、それはブラりザが匕き続きOCSPリク゚ストを送信し、あなたが自分のサむトにアクセスしたこずをCAに通知したこずを意味したす。 このような゜フトフェむルチェックが圹に立たないこずをocsp.int-x3.letsencrypt.org



するには、IPアドレス127.0.0.1



ocsp.int-x3.letsencrypt.org



をhosts



远加するか、他の方法でブロックしお、再接続を詊みたす。 今回は、倱効した蚌明曞のチェックが機胜しないため、ペヌゞは正垞にロヌドされ、ブラりザはペヌゞのロヌドを続行したす。 そのようなチェックの感芚...



蚌明曞を取り消す手順を修正する必芁があるずいう質問で蚘事を終了したいず思いたす。 ただし、これは別の蚘事のトピックです。



All Articles