Cryptology Academy · レッスン

前方秘匿性と一時鍵交換

PFS、DHEとECDHEの違い、そして一時鍵が重要な理由を理解します。

レッスン 4/413 ステップ

「前方秘匿性と一時鍵交換」はCoddyKit上の無料Cryptology Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCryptology Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cryptology Academyコースには全4レッスンが含まれています。

ようこそ

前方秘匿性により、長期鍵が侵害されても過去のセッションが安全に保たれます。現在では、ほとんどのセキュリティ標準で必須とされています。

前方秘匿性とは

完全前方秘匿性(PFS)とは、長期鍵が侵害されても、記録済みの過去の通信を復号できない性質です。各セッションでは新しい一時鍵を使用し、使用後に破棄します。

PFSを使用しないTLS 1.2が危険な理由

TLS 1.2のRSA鍵交換では、攻撃者が暗号化された通信を何年も記録できます。その後、サーバーのRSA秘密鍵を盗むと、保存していたすべてのセッションを遡って復号できます。NSAのPRISMプログラムが通信を保存していたのは、この目的のためです。

一時Diffie-Hellman(DHE)

DHEでは、各当事者がセッションごとに新しいDH鍵を生成します。セッション鍵を導出して使用した後、双方がハンドシェイク終了時に一時秘密鍵を削除します。長期鍵は認証にのみ使用されます。

ECDHE:楕円曲線DHE

ECDHEは一時ECDHを意味します。各TLSセッションでは、新しいEC鍵ペアを生成し、交換し、セッション鍵を導出してから、秘密鍵を削除します。TLS 1.3では主流の方式です。同じ安全性で比較すると、DHEより約10倍高速です。

TLS 1.3で必須のPFS

TLS 1.3では一時鍵交換が必須です。すべての暗号スイートがECDHEまたはDHEを使用します。RSA鍵交換は完全に削除されました。0-RTT(早期データ)だけがPFSの例外です。

0-RTTとそのトレードオフ

TLS 1.3の0-RTTでは、ハンドシェイクが完了する前にデータを送信します。事前共有されたセッションチケットを使用するため、新たな鍵交換なしで再開できます。その代わり、1往復分のレイテンシーを実現するために、リプレイ攻撃への耐性と厳密な前方秘匿性を犠牲にします。

SSHにおける前方秘匿性

SSHでは、鍵交換(kex)の際に一時的なDH/ECDHを使用します。ホスト鍵によってサーバーを認証します。セッション鍵は一時的な鍵交換から導出され、セッション終了後に破棄されます。PFSは組み込みで提供されます。

Double Ratchetアルゴリズム

Signal ProtocolではDouble Ratchetを使用します。初期のECDHの後、メッセージを送るたびにラチェットを進め、新しい鍵を導出します。各メッセージに対して、前方秘匿性と侵入後の回復性(将来秘匿性)が提供されます。

HSMと長期鍵の保護

PFSを使用していても、長期的な認証鍵の保護は重要です。これらの鍵は暗号化ではなく、サーバーの識別に使用されます。HSMを使うと、サーバーOSが侵害された場合でも秘密鍵をエクスポートできないようにできます。

サーバーでPFSを検証する

OpenSSLで確認します: openssl s_client -connect yoursite.com:443 -cipher 'ECDHE' オンラインでは、Qualys SSL Labs(ssllabs.com/ssltest)を利用できます。TLS設定を評価し、前方秘匿性についても個別に検査します。

クイックチェック

静的RSA鍵交換ではなく、ECDHEが前方秘匿性を提供できる理由は何ですか?

まとめ

前方秘匿性は、現代のセキュリティに不可欠です。次はRSAのセキュリティについて詳しく学び、教科書的な脆弱性とパディング方式を扱います。
無料で開始

AI チューターと学ぶ Cryptology Academy — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
67
レッスン
261

よくある質問

「前方秘匿性と一時鍵交換」レッスンは無料ですか?

はい。「前方秘匿性と一時鍵交換」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cryptology Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cryptology Academyコースには全4レッスンが含まれています。

「前方秘匿性と一時鍵交換」で何を学びますか?

PFS、DHEとECDHEの違い、そして一時鍵が重要な理由を理解します。 ブラウザで直接実行するハンズオンコードでCryptology Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Cryptology Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのCryptology Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。

「前方秘匿性と一時鍵交換」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このCryptology Academyレッスンでコードを書いて実行できますか?

はい。すべてのCryptology Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 鍵配送問題
  2. Diffie-Hellman鍵交換の数学
  3. ECDH:鍵交換のための楕円曲線
  4. 前方秘匿性と一時鍵交換
← Cryptology Academyに戻る