脆弱から堅牢へ:Certificate Posture Management による TLS の保護
目次
IT 運用チームのメンバーは、「すべての証明書とその有効期限を追跡する方法さえあれば、私たちの生活はどれだけ楽になることか」と皮肉まじりによく言っています。無数のホスト名、アプリケーション、およびサービスがあるため、発行済みの証明書の管理は非常に困難です。証明書の更新に失敗すると、致命的な結果になる可能性があります。
この課題に対処するために、Akamai は最近、Certificate Posture Management を導入しました。これは Akamai DNS Posture Management のコンポーネントであり、組織の全ドメインにわたるすべての証明書の有効期限を一元的に可視化できるようにするものです。
可視性だけでなく、Certificate Posture Management は、脆弱な暗号、不適切な鍵サイズ、ポスト量子への非対応、不正な証明書発行など、Transport Layer Security(TLS)の脆弱性について管理者にプロアクティブに警告します。
Certificate Posture Management のユースケース
Certificate Posture Management の主なユースケースには、証明書のライフサイクル管理、コンプライアンスの監視、ハイブリッドインフラ全体におけるセキュリティ脆弱性の修正などがあります。プラットフォームの自動化機能により、手作業での証明書の追跡・管理作業が不要となり、カスタマイズ可能なワークフローを通じて、証明書の重要度や組織のポリシーに基づいて、適切なチームにタイムリーな通知を行うことができます。
セキュリティイベントの際には、Certificate Posture Management が既存のインシデント対応手順とシームレスに統合され、証明書ステータスのリアルタイム更新や、自動化された修正推奨を提供することで、サービスの中断を最小限に抑えます。
証明書のエコシステム全体を可視化することにより、Certificate Posture Management はセキュリティチームに対して、コンプライアンスの確保、証明書の迅速な更新、TLS 脆弱性の効率的な修正を可能にします。これにより、セキュリティリスクの低減とマルチクラウド環境における運用の回復力強化を支援します。
TLS の概要
Certificate Posture Management の具体的な機能に入る前に、暗号化の観点から TLS の仕組みの概要を理解しておくことをお勧めします。この概要では、プロトコルのハンドシェイクに関係する手順の正確な順序については説明しませんが、次のことを実行するために必要なやり取りの概略を示します。
- 認証
- 暗号化
- メッセージの完全性
認証
認証局(CA)は、ドメインの所有権を検証し、サーバーの公開鍵とその関連メタデータに秘密鍵で署名を行うことで、デジタル証明書を発行します。この署名は、ハッシュ関数と公開鍵暗号を組み合わせて生成され、その方式は「署名アルゴリズム」と呼ばれます。クライアントは、CA の信頼できる公開鍵を使用してこの署名を検証します。
古い TLS バージョンでは、サーバーが、そのサーバーのみが復号できるよう暗号化されたランダムメッセージを使って、秘密鍵の所有権を証明することがあります。しかし、最新の TLS(1.3)では、エフェメラルな鍵交換を使用して、サーバーの秘密鍵の所有権を検証します。
暗号化
クライアントとサーバーは TLS バージョンをネゴシエートし、暗号化と認証を実現するために必要なパラメーターを確立する方法を決定します。例えば、今日の TLS 1.3 では、セッション ID、暗号スイート、および鍵交換方式を 1 往復のラウンドトリップで調整するためにこの「ハンドシェイク」が実行されますが、以前のバージョンでは少なくとも 2 往復が必要でした。
具体的には、TLS 1.3 では、暗号化されたアプリケーションデータが ServerHello とともに送信され、不要なクライアントの ACK を回避できます。これは、この 1 ラウンドトリップのやり取りで、クライアントとサーバーの両者がセッション鍵を計算するために必要な情報をすべて取得できるためです。
このハンドシェイク中、クライアントとサーバーは RSA、DH、ECDH、DHE、ECDHE、または PSK などの鍵交換アルゴリズムに合意します。なかでも、現在推奨されている方法は Ephemeral Diffie–Hellman です。この方法は「完全前方秘匿性」(TLS 1.3 で保証される)を実現するからです。完全前方秘匿性とは、対称セッション鍵を生成するプロセスが、サーバーの永続的な非対称鍵ペアから完全に独立していることを保証する標準です。
これにより、たとえサーバーの秘密鍵が漏洩したとしても、以前のメッセージが復号されることはありません。代わりに、クライアントとサーバーの双方は、ハンドシェイク中に両者が生成した一時的な秘密情報から導かれる公開パラメーターを交換することによって、同じセッション鍵値を個別に導き出します。
逆に、この原則に準拠しない Rivest–Shamir–Adleman(RSA)暗号システムでは、クライアントが暗号化された「プレマスターシークレット」という秘密情報をサーバーに送信する必要があり、それを元に両者が対称セッション鍵を算出します。ただし、サーバーの秘密鍵が侵害された場合、攻撃者は「中間者攻撃」を実行するか、以前に収集されたデータを再解析することによって、これらの接続を通過したすべてのメッセージを復号できてしまいます。これは、プレマスターシークレットの暗号化が永続的な非対称鍵ペアを介して行われているからです。
ハンドシェイク中には共有される暗号も確立されます。例えば、GCM モードの AES-256 のようなバルク暗号は、対称鍵を使用してアプリケーションデータを暗号化します。例えば AES_256_GCM では、鍵(256 ビット)が Advanced Encryption Standard(AES)アルゴリズムに渡され、プレーンテキストが暗号テキストに変換されます。
完全性
そして最後に、クライアントとサーバーは、SHA-1、MD5、RIPEMD-128/60 などのハッシュベースのメッセージ認証コード(HMAC)のハッシュ関数を選択して、共有された秘密の対称鍵を用いて暗号化されたメッセージにハッシュを適用します。この暗号化されたメッセージは、対応する HMAC 出力とともに送信されます。
このようにして、受信者は暗号化メッセージをハッシュ計算し、送られてきた HMAC 値と一致するかを確認できます。HMAC は共有された秘密鍵を使用して出力を生成するため、攻撃者はその対称鍵を持っていない限り、改ざんされた値に対して適切にハッシュ計算することができません。
TLS ポスチャの改善
TLS は、メッセージの復号化、信頼できるエンドポイントのなりすまし、転送中のデータの改ざんなど、さまざまな攻撃ベクトルにさらされています。攻撃者は、脆弱な認証局(CA)の署名アルゴリズムを悪用したり、クライアントとサーバー間の TLS 設定の脆弱性を標的にしたりすることがあります。Certificate Posture Management は、これらのリスクを明確に可視化し、TLS セキュリティポスチャを強化するための実用的な知見を管理者に提供します。
認証局が脆弱な署名アルゴリズムを使用していないか
脆弱な CA の署名アルゴリズムにより、CA の秘密鍵が漏洩する可能性があります。この場合、攻撃者はこの秘密鍵を使用してたやすく不正な証明書に署名し、それを悪意あるサーバー上でホストしても検知されにくくなります。
このリスクに対処するために、Certificate Posture Management インターフェースでは、ブルートフォース攻撃の影響を受けやすい脆弱な CA の鍵サイズにフラグを付けます。例えば、128 ビットの対称鍵(AES など)の場合、2128 通りの組み合わせを総当たりすることは計算量的に不可能であるため、安全とみなされます。しかし、64 ビットの鍵では、攻撃者がソフトウェアを使用していつか正解に到達する可能性があり、攻撃者にとって突破口となります。
また、ダッシュボードには、CA の署名アルゴリズムが非推奨のハッシュアルゴリズム(MD5 や SHA-1 など)に依存しているかどうかも表示されます。このようなアルゴリズムでは、「コリジョン」が発生する可能性があります。つまり、2 つの異なる入力から同じハッシュ値を生成できてしまうのです。 そのため、理論的には、攻撃者はクライアントに不正行為を検知されることなく、送信中の署名済み証明書を操作することができます。
サーバーは最新の TLS バージョンに対応しているか
Certificate Posture Management は、サーバーが最新の TLS バージョンに対応しているかどうかを検証します。古い TLS バージョンは、攻撃者がセッション対称鍵のリバースエンジニアリングを行ったり、プレーンテキストのデータを解読したりするのに役立つ既知の脆弱性を含んでいることが多いからです。特に、古いバージョンでは脆弱な暗号方式が許可されており、前方秘匿性も保証されません。
例えば、TLS 1.1 および TLS 1.2 では CBC モードが許可されており、ブロックを埋めるためにパディングが必要です(AES ブロックサイズは 16 バイト)。パディングが正しい場合と正しくない場合でサーバーが異なる応答をすると、攻撃者はパディングオラクル攻撃によってプレーンテキストに関する情報を推測できます。これらのバージョンでは、RC4 も許可されていますが、RC4 は統計的バイアスの影響を受けやすく、攻撃者は十分なデータを入手できればプレーンテキストを復元できてしまいます。
鍵交換方式は完全前方秘匿性を有しているか
また、このダッシュボードは、鍵交換方式が完全前方秘匿性を有しているかも明らかにします(繰り返しになりますが、TLS 1.3 ではこの標準が求められます)。完全前方秘匿性とは、サーバーの秘密鍵が漏洩したとしても、過去のメッセージが暗号化されたままであることを保証する仕組みです。
ここまで説明したように、これは、アプリケーションデータの暗号化に使用される対称鍵を生成するメカニズムに、サーバーの非対称鍵ペアが含まれていないためです。
有効期限が長すぎないか
証明書の有効期限が長くなるほど、秘密鍵が漏洩するリスクが高まるため、証明書の有効期限が長すぎる場合にもフラグが付けられます。そのため、少なくとも年に一度は証明書を更新することをお勧めします。
ポスト量子時代への移行
量子コンピューターの登場が現実味を帯びる中、このような脆弱性に対する業界の不安は高まっています。攻撃者は暗号化されたメッセージの収集を開始し、鍵交換やデジタル署名に広く使用されている非対称暗号スキームを量子コンピューティングが打破できるようになるのを待っています(一般的に、TLS で使用される対称暗号とハッシュ関数は量子攻撃への耐性が高いとされています)。
とはいえ、現代の非対称鍵を打破できる量子コンピューターを構築するには、物理学やコンピューター科学の新しい分野を発見する必要があります。国立標準技術研究所(NIST)は、2016 年以降、ポスト量子アルゴリズムの標準化に向けてグローバルな取り組みを進めてきました。2022 年には、鍵カプセル化方式の CRYSTALS-Kyber やデジタル署名方式の CRYSTALS-Dilithium など、初の標準化されたアルゴリズムを発表しました。
Certificate Posture Management は、NIST の推奨事項に準拠していない要素を明らかにするために、CA とサーバーの署名アルゴリズムと鍵交換方式の両方を監査します。予想通り、Akamai をはじめとする多くのインターネットサービス、Web サイト、プロバイダーがポスト量子時代への移行を進めています。Certificate Posture Management は、この重要な移行において管理者を支援するために必要な可視性を提供します。
不正な証明書の識別
不正な証明書とは、不正なアクターに対して誤って発行された、正当性のない有効な証明書です。この場合、サーバーの鍵ペアは信頼できる CA によって承認されているため、無防備なクライアントが不正行為の気配を察知することなく知らず知らずのうちに攻撃者と通信する可能性があります。
DNS Posture Management を使用すると、よく知らない CA によって発行された証明書に対するアラートを管理者に通知するように設定できます。また、包括的な可視性により、ユーザーは最新の証明書の更新によってフィルタリングすることができ、組織内で発行されたすべての証明書が正規の担当者またはサービスによるものかどうかを検証することができます。さらに、新しい証明書が発行されるたびにアラートをトリガーするように設定することもできます。これにより、管理者は不正な証明書を迅速に特定できます。
このインターフェースは、DNS Posture Management 製品のコンポーネントです。エージェントレスのサイドスキャン技術を使用して、DNS 環境全体の可視性を統合し、プロアクティブに誤設定を検知します。
利用を開始する
DNS Posture Management にゾーンをオンボーディングするためには、ユーザーが必要な認証情報をアップロードしてゾーン情報にアクセスします(例えば、Akamai Edge DNS でゾーンをホストしている場合、Edge DNS 設定を読み取るために OpenAPI アクセス認証情報を提供します)。プラットフォームは、関連するすべての記録と変更管理履歴を取得します。ゾーンをオンプレミスでホストし、API アクセスをサポートしていない場合でも、「NoAuth オプション」を使用して、インターネット経由でゾーンの情報を検出できます。
ゾーンがオンボーディングされると、DNS Posture Management は、探索されたゾーンに属するドメインと一致する Certificate Transparency(CT)ログをスキャンします。これらのログは、公開 TLS 証明書の改ざん検出可能な追記用のログであり、証明書エコシステムのセキュリティと透明性を強化するように設計されています。
Certificate Posture Management は、これらの CT ログを継続的に取得し、わかりやすく直感的なダッシュボードで管理者がこの情報を利用できるようにします。DNS Posture Management は、ユーザーが CT ログや Certificate Posture Management から取得した情報を照会できる API もサポートしています。
結論
Certificate Posture Management は、最新のサイバーセキュリティ運用に不可欠なセキュリティツールであり、TLS 証明書のライフサイクルを効果的に監視および管理するための一元管理ソリューションを提供します。Certificate Posture Management は、継続的な監視とリアルタイムの知見を通じて、組織の堅牢なセキュリティポスチャを維持し、業界標準への準拠を確保し、量子コンピューティングなどの新たな脅威への備えも支援します。
DNS Posture Management への統合と、Certificate Transparency ログスキャンなどの機能により、Certificate Transparency は、管理者がセキュリティインシデントをプロアクティブに緩和し、暗号化セキュリティを強化し、機微な情報を保護し、多大な損害を招くシステム停止を防止することを可能にします。そのため、デジタルエコシステムの保護に不可欠な資産となります。
証明書のセキュリティポスチャを強化する準備はできているか
今すぐ Akamai へお問い合わせください。パーソナライズされたデモをリクエストし、有効期限が切れた証明書や不正な証明書のリスクに対する防御を強化するために Akamai のソリューションがどのように役立つかをご確認いただけます。