はじめに

進化し続けるサイバーセキュリティの世界において、SSL/TLSは卓越したセキュリティ・プロトコルとして台頭し、ウェブブラウザを介したHTTPSによる何兆もの日々のやり取りを強固なものにしています。TLSプロトコルは、業界屈指の頭脳によって綿密に開発され、インターネットセキュリティの基盤として、伝送中のデータを保護するためのゴールドスタンダードとなっています。実際、TLSは回復力と適応力の代名詞となっています。しかし、ウィンマジックは最近、サイバーセキュリティの分野に変化をもたらすと思われる根本的な欠陥を発見しました。それが、TLSや、FIDOのような暗号化や認証を使用する様々なソリューションのコアデザインに影響を与えます。

 

FIDOとTLS:共生関係?

FIDOとTLSは伝統的に、サイバーセキュリティの領域で異なる目的を果たしてきました。認証に主眼を置くFIDOは、パスワードレスで強力なユーザ認証を提供します。対照的に、TLSは通信チャネルを保護するために設計されたプロトコルであり、ネットワーク経由の伝送中のデータのプライバシーと完全性を保証します。

ウェブ認証(WebAuthn)APIを通じて実現されたFIDOとTLSの統合は、とても重要な発展でした。WebAuthnは、ウェブアプリケーションがFIDOデバイスとユーザ認証を可能にし、オンライン交流の全体的なセキュリティフレームワークを強化します。このように、FIDOは認証レイヤーを強化することでTLSを補完しています。この統合は、特にパスワードレス認証を実現する上で極めて重要な役割を果たし、様々なタイプのサイバー攻撃に対して有効であることが証明されています。

 

隠された基本的欠陥を解き明かす

この問題の核心は、暗号鍵は認証プロセスと同時に確立されなければならないという基本原則にあります。 つまり、暗号鍵はプリンシパル認証なしには取得できません。

TLSの場合、ネゴシエートされたセッション鍵は、サーバ側とクライアント側の証明書の有無に関係なく、セッション確立時(最初)に生成されます。(以後“最初にTLSセッションを確立した際に生成された鍵”と呼ぶ)しかしその後に本人認証、例えばFIDO認証が発生すると、TLSセッション鍵は、FIDO認証によって安全に保護されるという原則に従わなくなります。(FIDO認証によって生成された鍵を以後“プリンシパル認証によって生成された鍵”と呼ぶ)現在この“最初にTLSセッションを確立した際に生成された鍵”は、FIDO認証後のトランザクションでも使用され続けており、これが欠陥の原因です。

この欠陥が存在すると、さまざまな方法で攻撃される可能性があります。例えば、攻撃者が サービス・プロバイダからのFIDO 認証要求を認可されたクライアントにリダイレクトしFIDO 認証を通過させ、認証後のサービスを攻撃者が利用するMITM(中間者攻撃)があります。

 

関連事項と考察

この発見を受けて、我々は以下の見解を強調します:

  • TLSは2点間の安全な通信のために設計されたものであり、認証には責任を負っていないと言えます。
  • 認証のために設計されたFIDOは、その後のセッションの暗号化には責任がないと言えます。
  • しかし、通信プロトコル、暗号化、認証が複雑に相互作用していることで欠陥や脆弱性が内在し、このようなソリューションが広まってしまっています。
  • 現在のこの状況を改善するには、認証と暗号化の相互作用について明確な議論が必要です。TLSとFIDOは、議論するだけでなく、上述のように欠落している部分をサポートするための改訂や設計の必要性を認めるべきです。
  • この欠陥は、フェデレーション認証を分析すれば、より明らかになります。アイデンティティ・プロバイダ(IdP)によるプリンシパル認証(例えばFIDO認証)の後、エンドポイントはサービスを利用するために“プリンシパル認証によって生成された鍵”ではなく、“最初にTLSセッションを確立した際に生成された鍵”を使って新しいTLSセッションをサービス・プロバイダに接続します。
  • 我々は、IETFがおそらく同じ脆弱性を認識し、RFC8473に概説されているように、トークンバインドを通じてこの脆弱性に対処してきたと理解しています。さらに NIST は、NIST 800-63c において、FAL3(Federated Authentication の最高保証レベ ル)のために「holder keyアサーション」の概念を導入しています。しかし、暗号鍵はプリンシパル認証プロセスの中で生成されるべきであるという基本原則は、安全性が明確で、かつ効率的なソリューションを提供するものであると、私たちは主張します。このアプローチは、既存のソリューションよりも安全性が高く、実装や運用が非常に簡単かもしれません。
  • URLを操作することができないため、FIDOがMITM(中間者攻撃)攻撃から免れるという考えには疑問があります。オンラインでは、すべてがデータであり、データに信頼をもたらす最良の技術は暗号化です。暗号化なしではURLを操作できないと考えるのは賢明ではありません。

基本原則はよく理解されていますが、TLSセッションの鍵として ” プリンシパル認証によって生成された鍵”ではなく、” 最初にTLSセッションを確立した際に生成された鍵”が使用されたため、この欠陥はうまく隠蔽されたと考えられます。

認証と暗号化の間のこの基本的な統合が欠けているのは、今に始まったことではありません。BitLocker ディスク暗号化で「TPM-only」認証が設定されている場合、ディスク暗号化のための認証はありません(プリブート認証(PBA)はありません)。「PBAなし」では、たとえBitLockerで暗号化されていてもあなたのノートパソコンが専門知識を有した攻撃者の手に渡ってしまった場合、ディスクを保護することはできず、ディスク内のデータは簡単にコピーされてしまいます。とはいえ、ある種の誤解が根強く残っていることは認めます。おそらく、インターネット上の攻撃がますます巧妙になっていることに比べ、ノートパソコンの盗難の頻度が低いことを考慮すれば、それが適切とみなされるからでしょう。

 

修正簡単で、より大きな影響

私たちの発見により、特定された欠陥の修正は、業界標準(例えば、TLSとFIDOの両方)の変更を必要とするものの、比較的簡単であると主張します。認証と暗号化の連携に取り組むことで、ソリューションを簡素化し、特にフェデレーション認証のような複雑な環境の場合に、より安全性を高めることが可能になります。今後のブログでは、可能な修正策を提案し、業界全体の参加を得たいと考えています。トークンバインディングやNISTのHolder-of-Keyアサーションが解決しようとしている脆弱性を、シンプルな方法で解決することができると考えています。また、SAMLやOIDCのフェデレーション・プロトコルにも拡張機能を追加できるでしょう。

 

先を見据えて確かな未来のために変化を受け入れる

2年前にオンライン認証ソリューションの提供を開始して以来、ウィンマジックは「最もセキュアな認証ソリューションと、可能な限り最高のユーザエクスペリエンス(ユーザのアクションを必要としない)」を実現するために、そのハードルを上げ続けてきました。私たちのブログMFAとゼロ・トラストの誤解が効果的な解決策を阻む(英語)で詳述されているように、一般に広まっている誤解に対処するため、私たちは、サーバがエンドポイントを検証し、エンドポイントがユーザを検証するというパラダイム・シフトを提唱しています。これにより、より強固なセキュリティを実現すると同時に、現在のユーザへの負担をなくすことさえできます。

認証だけでなく、私たちは認証の「有効性」にも焦点を当てています。私たちは、「(正確で優れた)認証に続く安全なセッション」を構成するものを定義する必要があります。このブログで紹介した発見は、我々の他の革新的技術に比べれば小さなものですが、特にTLSのようなプロトコルに大きな影響を与えると予想しています。正しい視点を取り入れること、特にこれまでの誤解を正すことは、ユーザのセキュリティとエクスペリエンスに大きな好影響をもたらすことを約束します。我々は、この修正がサイバーセキュリティのプロトコルや実装を簡素化すると確信しています。この変革に業界全体が参加することへの期待は、安全なデジタルの未来を確保するための連帯責任を強調するものです。

LinkedInをフォローして最新のブログをご覧ください!