RC4

RC4(Rivest Cipher 4)は、1987年ロナルド・リベストによって開発されたストリーム[[暗号]]です。SSLやWEPなど、様々なプロトコルで広く利用されてきましたが、その安全性にはいくつかの問題が指摘されています。

RC4の概要


RC4は、疑似乱数列を生成し、その乱数列と平文との排他的論理和(XOR)演算によって暗号化を行います。ストリーム[[暗号]]は、平文をビット単位またはバイト単位で暗号化するため、高速な処理が可能です。しかし、RC4は利用方法によっては、WEPのように安全性が保てない場合があります。

RC4は、WEP、WPA、Microsoft Point-to-Point Encryption (MPPE)、Winny、TLS/SSL(オプション)、SSH(オプション)などで用いられてきました。しかし、2015年には、NSAのような機関であればTLS/SSLを利用していてもRC4を解読できる疑いがあることが指摘され、マイクロソフトはRC4の使用を非推奨としました。そして、2015年2月には、TLSのすべてのバージョンにおいてRC4の利用を禁止する提議RFC 7465が公開されました。

RC4の歴史


RC4は、RSAセキュリティ社のロナルド・リベストによって開発されました。当初は企業秘密として扱われていましたが、1994年9月に匿名インターネット上にアルゴリズムが公開されました。これにより、RC4は企業秘密ではなくなりましたが、名称は商標として保護されています。そのため、RC4を非公式に実装する場合は「ARCFOUR」という名称が使われることがあります。

「ARCFOUR」は、WEP、WPA、TLS、Winnyなどの暗号化プロトコルの一部として広く利用されました。しかし、後にその安全性に疑問が生じ、現在では利用が推奨されていません。

RC4の安全性


当初、TLS/SSLにおいてRC4を用いた暗号化スイートは安全であると考えられていました。2011年には、ブロック[[暗号]]のCBCモードの脆弱性(BEAST攻撃)への対策として、RC4が推奨されたこともありました。しかし、2013年には、TLS/SSLでのRC4に対する効果的な攻撃法が報告され、RC4の利用は推奨されなくなりました。

この攻撃法は、RC4の鍵テーブルにおける統計的な偏りを利用するもので、13 × 2^20個の暗号文を用いることで、128ビットのRC4が解読可能であることが示されました。これにより、RC4の安全性が著しく低いことが明らかになりました。

RC4の代替技術


RC4の脆弱性が明らかになったことで、より安全な暗号化方式への移行が進められています。現在では、AES(Advanced Encryption Standard)などのブロック[[暗号]]や、ChaCha20などのストリーム[[暗号]]が推奨されています。これらの暗号化方式は、RC4よりも高い安全性を持ち、現代のセキュリティ要件を満たしています。

まとめ


RC4は、かつて広く利用されたストリーム[[暗号]]ですが、その安全性には重大な脆弱性が存在します。そのため、現在では利用が推奨されていません。より安全な暗号化方式への移行が重要です。

関連項目



脚注


  • - RFC 7465: Prohibiting RC4 Cipher Suites

外部リンク


  • - IETF draft - A Stream Cipher Encryption Algorithm "Arcfour"
  • - RFC 4345 - Improved Arcfour Modes for the Secure Shell (SSH) Transport Layer Protocol
  • - RFC 6229 - Test Vectors for the Stream Cipher RC4
  • - SCAN's entry for RC4
  • - Attacks on RC4
  • - RC4 - Cryptology Pointers by Helger Lipmaa
  • - RSA Security Response to Weaknesses in Key Scheduling Algorithm of RC4
  • - 五十部孝典:「RC4の脆弱性とSSL/TLSへの攻撃」、2014年2月13日、NICT情報セキュリティシンポジウム(発表スライド)

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。