0Pricing
Cryptology Academy · レッスン

RC4:設計、脆弱性、WEP攻撃

RC4のKSAとPRGA、およびWEP/TLSを破綻させたバイアスを分析します。

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

ようこそ

RC4 は20年間にわたって最も広く使われたストリーム暗号で、WEP、TLS、SSL などで使用されていました。現在では完全に破られています。その失敗を理解することで、暗号設計に関する重要な教訓を学べます。

RC4 の歴史

RC4(Rivest Cipher 4)は、RSA Security の Ron Rivest によって1987年に設計されました。1994年まで企業秘密として扱われていましたが、その後リバースエンジニアリングされ、「Alleged RC4」(ARC4)として匿名で公開されました。

RC4 の鍵スケジューリング(KSA)

KSA は256バイトの状態配列 S を初期化します。 1. S[i] = i (for i = 0..255) 2. j = 0 3. For i = 0..255: j = (j + S[i] + key[i % keylen]) % 256; swap S[i], S[j]

RC4 の疑似乱数生成(PRGA)

PRGA はキーストリームのバイトを生成します。 i = j = 0 For each byte: i = (i+1) % 256 j = (j + S[i]) % 256 swap S[i], S[j] output S[(S[i]+S[j]) % 256]

初期バイトの偏り

RC4 の出力の最初のバイトには大きな偏りがあり、ランダムではありません。最初のバイトは0になる確率が2倍です。標準的な対策は最初の1024バイトを破棄することでしたが、多くの実装はそうしませんでした。

Fluhrer-Mantin-Shamir 攻撃(2001年)

FMS は、RC4 の鍵バイトの一部が既知の場合(IV が鍵の前に付加される WEP など)、キーストリームを統計的に分析することで鍵バイトを明らかにできることを示しました。WEP は数分で破られました。

WEP の脆弱性

WEP は RC4 を次のように使用していました。短い40ビット鍵に24ビットの IV を付加していました。IV は短すぎたため約5000パケットごとに繰り返され、鍵と IV の組をそのまま RC4 に入力していたため、FMS の偏りが発生しました。

WEP クラッキングのデモ

aircrack-ng などのツールは、次の手順で WEP 鍵を破ることができました。 1. 約40,000個のパケットを取得する 2. 弱い IV を持つパケットを選択する 3. FMS の統計解析を適用する 4. 40ビット鍵を数秒で復元する WEP は2004年に非推奨となり、2012年に削除されました。

TLS の RC4:NOMORE 攻撃(2015年)

Bar-Mitzvah 攻撃と NOMORE 攻撃により、RC4 の偏りを利用して RC4 で暗号化された TLS Cookie を復号できることが示されました。Firefox と Chrome は2015年に RC4 を無効化しました。RFC 7465 は TLS での RC4 の使用を禁止しています。

RC4 と現代のストリーム暗号

RC4 の弱点: - 出力に偏りがある - ノンスに対応していない - 状態サイズが2048ビットに制限されている ChaCha20 は、洗練された設計、正式な安全性証明、明示的なノンスによって、これらすべてを解決します。

RC4 は決して使わない

RC4 は現代のすべての標準で禁止されています。RFC 7465(TLS)、RFC 7435(Opportunistic Security)、PCI-DSS、および主要なすべての暗号ライブラリで、RC4 は非推奨または削除済みとされています。

確認問題

FMS 攻撃によって WEP を破ることを可能にした、根本的な弱点は何でしたか?

まとめ

RC4 は役目を終えました。次は、安全な後継である ChaCha20 について、現代的な暗号原理に基づく設計を学びます。

よくある質問

「RC4:設計、脆弱性、WEP攻撃」レッスンは無料ですか?

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

「RC4:設計、脆弱性、WEP攻撃」で何を学びますか?

RC4のKSAとPRGA、およびWEP/TLSを破綻させたバイアスを分析します。 ブラウザで直接実行するハンズオンコードでCryptology Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

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

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

「RC4:設計、脆弱性、WEP攻撃」レッスンにはどのくらい時間がかかりますか?

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

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

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

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

  1. ストリーム暗号の概念とPRNG
  2. RC4:設計、脆弱性、WEP攻撃
  3. Salsa20とChaCha20の設計
  4. TLS 1.3におけるChaCha20-Poly1305 AEAD
← Cryptology Academyに戻る