ネットワークワーキンググループ
Request for Comments: 2405
分類: スタンダードトラック
C. Madson
Cisco Systems Inc.
N. Doraswamy
Bay Networks, Inc.
1998年11月

明示的 IV を伴う ESP DES-CBC 暗号アルゴリズム
(The ESP DES-CBC Cipher Algorithm With Explicit IV)

このメモの位置付け 
この文書は、インターネットコミュニティに対してインターネットスタンダードトラックのプロトコルを定義するとともに、それを改良するための議論や提言を求めるものである。
このプロトコルの標準化状態およびステータスについては、「Internet OfficialProtocolStandards」(STD 1) の最新版を参照すること。
このメモの配布に制限はない。
著作権
Copyright (C) The Internet Society (1998). All Rights Reserved.
要旨 
この文書では、IPSec 暗号ペイロード(Encapsulating Security Payload:ESP)における機密性の仕組みとして、明示的 IV を伴う暗号ブロック連鎖モードでの DES 暗号アルゴリズムの使用法について記述する。
1. はじめに 
この文書では、暗号ペイロードにおける機密性の仕組みとして、暗号ブロック連鎖モードでの DES 暗号アルゴリズムの使用法について記述する。

DES は対称ブロック暗号アルゴリズムである。
このアルゴリズムは [FIPS-46-2][FIPS-74][FIPS-81] にて定義されている。
[Schneier96] では、いくつかの暗号アルゴリズムに適用可能な暗号ブロック連鎖モードの一般的な定義がされている。

このメモで説明されるように、DES-CBC は認証の仕組みではない。
([Schneier96]や他で説明されている DES-MAC は認証を提供するが、DES-MAC はここでは取り上げない。)

セキュリティサービスを提供するために、ESP の各部分がどのように結びつくかということに関する詳細な情報については、[ESP] および [road] を参照のこと。

この文書において、しなければならない(MUST)、してはならない(MUST NOT)、要求される(REQUIRED)、することになる(SHALL)、することはない(SHALL NOT)、する必要がある(SHOULD)、しないほうがよい(SHOULD NOT)、推奨される(RECOMMENDED)、してもよい(MAY)、選択できる(OPTIONAL)のキーワードが使用された場合は、[RFC-2119] における定義に沿って解釈されるものとする。

2. アルゴリズムとモード 
DES-CBC は対称秘密鍵ブロックアルゴリズムである。
DES-CBC は 64 ビットのブロックサイズを持つ。

DES アルゴリズムは [FIPS-46-2][FIPS-74] および [FIPS-81] にて定義され、CBC モードは [Schneier96] に良い記述が存在する。

2.1 性能 
Phil Karn は 90MHz Pentium で 10.45 Mbps を達成するように DES-CBC ソフトウェアをチューニングした。
これは、133MHz Pentium では 15.9 Mbps を達成する。
DES の処理速度についての見積りは、他では [Schneier96] に記述されている。
3. ESP ペイロード 
DES-CBC は 8 オクテット(64 ビット)の明示的初期ベクトル(IV)を必要とする。
この IV は保護された(暗号化)ペイロードの直前にくる。
IV は乱数値でなければならない (MUST)

各データグラムに IV を含むことにより、一部のデータグラムがドロップした場合、あるいはデータグラムが配送中に再送要求された場合でも、各受信データグラムの復号処理が可能となる。

実装時における注意:
一般的な方法は、最初の IV として乱数データを使用し、次の暗号化処理用の IV として、暗号化処理からの暗号データの最後の 8 オクテットを使用することである。
これにより、CBC をパケットに論理的に拡張することができる。
また、これは乱数発生器から情報が漏れることを制限する利点も持っている。
使用される仕組みに関わらず、受信側はこの値が IV であること以外の意味があると仮定してはならない (MUST NOT)
異なるパケットの非常に似通った平文ブロックの ECB 暗号化を避けるため、実装では、IV にカウンタまたはその他のロウハミングディスタンスソースを使用してはならない (MUST NOT)
[ESP] で定義されているペイロードフィールドは以下の図のように細分化される。
+---------------+---------------+---------------+---------------+
|                                                               |
+                   Initialization Vector (IV)                  +
|                                                               |
+---------------+---------------+---------------+---------------+
|                                                               |
~              Encrypted Payload (variable length)              ~
|                                                               |
+---------------------------------------------------------------+
 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8
3.1 ブロックサイズとパディング 
この文書で定義される DES-CBC アルゴリズムは 8 オクテット(64 ビット)のブロックサイズを使用しなければならない (MUST)

パディングが必要な場合には、[ESP] で指定される規則に従って行われなければならない (MUST)

4. 鍵素材 
DES-CBC は対称秘密鍵アルゴリズムである。
鍵長は 64 ビットである。
[鍵が 56 ビットの有効ビットを持つことから、これは一般には 56 ビットの鍵として知られている。それぞれのバイトの最下位ビットはパリティビットである。]

[arch] では、ESP 変換のための鍵素材を得る一般的な仕組みについて説明されている。
ある量の鍵素材からの鍵の生成は、マニュアル鍵および自動鍵のセキュリティアソシエーションの間で異なることはない。

この仕組みでは、この暗号が使用する 64 ビット鍵の値を生成しなければならない (MUST)
この仕組みによって粗い鍵の値が生成され、鍵生成処理自身は、パリティの処理または脆弱鍵のチェックの役割は持たない。

脆弱鍵のチェックを行う必要がある (SHOULD)
脆弱鍵が発見された場合は、その鍵を拒否し、新しい SA を要求する必要がある (SHOULD)

実装上の注意:

実装で脆弱鍵のチェックを行う場合には、既知の脆弱鍵 [FIPS74] はパリティで調整されていることを認識する必要がある。
脆弱鍵のチェックを行わない場合には、パリティの処理はローカルの問題である。
必要とする鍵を生成するためには、強力な疑似ランダム関数を使用しなければならない (MUST)
この話題に関する議論については、[RFC1750] を参照のこと。
4.1 脆弱鍵 
DES には、いわゆる準脆弱鍵を含むと 16 の既知の脆弱鍵がある。
脆弱鍵のリストについては [FIPS74] を参照のこと。
4.2 鍵の有効期間 
[Blaze96] では総当たり攻撃に対するコストと鍵の復元時間について議論されている。
ここでは、1995 年末の見積りを基に、総コスト、鍵の復元時間、40 ビットおよび 56 ビットの DES 鍵に対して復元された鍵単位のコストの様々な組み合わせについて示されている。

56 ビットの DES 鍵空間での総当たり攻撃による検索は、余分な CPU 時間や他の低コストの資源を使用する、いわゆるカジュアルハッカーにとっては実際的でないと考えられるが、これはもう少し投資をしようと考えている者にとっては手の届く範囲にある。

例えば、300,000 ドルのコストをかけた場合、56 ビットの DES 鍵は、既成技術を使用して平均 19 日で復元でき、専用に開発されたチップを使用すればたったの 3 時間で復元することが可能である。

鍵をより早く復元できる他の攻撃があることと、総当たり攻撃は実装が最も簡単であるが「最悪のケース」であると見なされていることにも注意する必要がある。

[Wiener94] ではまた、既知平文攻撃を使用して 3.5 時間で DES 鍵を破ることができる(1993年の見積り)、100 万ドルのマシンについて取り上げられている。
「セキュリティに関する考慮事項」の章において議論されているように、既知平文攻撃は、おそらく実用的なものである。

平均鍵復元時間と同様に、時間と共に検索にかかる総コストと平均コストは下がり続けるということにも注意する必要がある。

これまで鍵の有効期間について特定の推奨値を出していないが、所定のアプリケーションが希望する鍵の有効期間は、保護すべきデータの価値に関連して感知された脅威(攻撃者が利用可能な資源の量に応じた、経験的推量)に依存するということである。

ここでは量を基準とした有効期間に対して提案されていないが、十分な量が与えられれば、既知の平文が蓄積されてしまう確率が増加してしまうということに注意する必要がある。

5. 認証アルゴリズムとの影響 
この文書の執筆時点では、ある特定の認証アルゴリズムとともに DES-CBC アルゴリズムを使用することを妨げる問題は知られていない。
6. セキュリティに関する考慮事項 
[このセクションの大部分は、もともと William Allen Simpson と Perry Metzger によって書かれたものである]

ユーザは、この仕様が提供するセキュリティの品質は完全に、DES アルゴリズムの強度、アルゴリズムの実装の正確さ、セキュリティアソシエーションの管理の仕組みとその実装におけるセキュリティ、鍵の強度 [CN94]、および関係するすべてのノードにおける実装の正確さに依存しているということを理解する必要がある。

[Bell95] および [Bell96] では、すべての暗号ブロック連鎖アルゴリズムにあてはまるカットアンドペーストスプライシング攻撃について説明されている。
この攻撃は、認証の仕組みを使用することによって対処することができる。

なんらかの対応する認証の仕組みを持たない暗号の仕組みを使用することは強く禁止される。
この暗号は、認証も含む ESP 変換において使用することができるし、AH ヘッダが共に使用されれば、認証を含まない ESP 変換において使用することもできる。
詳細については [ESP]、[AH]、[arch]、[road] を参照のこと。

デフォルトの ESP パディングを使用する場合、パディングバイトは予測可能な値を持つ。
このパディングバイトによって、CBC モードでの自身のブロックと以前のブロックにおける改竄の検出のわずかな機能が提供される。
これによってスプライシング攻撃の実行がいくぶん困難となり、隠れチャネルの可能性が回避される。
この少量の既知の平文は、最近の暗号には問題をもたらすことはない。

この文書の執筆時点では、サイズが DES ブロックのサイズ(64 ビット)と同じである 2^47 の平文と暗号文の組を必要とする、差分解読法を基本とする選択平文攻撃が [BS93] にて紹介されている。
また、2^43 の平文と暗号文の組しか必要としない、線形解読法を基本とする既知平文攻撃は [Matsui94] にて紹介されている。
これらの攻撃は実用的でないと見なされているが、考慮しなければならないものである。

さらに不安なことに、[Wiener94] では、3.5 時間に 1 つの鍵をクラックすることができる、100 万ドルの DES クラッキングマシンの設計について紹介されている。
これは極めて実用的な攻撃である。

DES 鍵を復元するには、既知の平文が 1、2 ブロックあれば十分である。
なぜなら、IP データグラムは常に既知もしくは推測可能なヘッダ文で始まるため、頻繁に鍵を変更してもこの攻撃を防ぐことができないためである。

このような装置を前にすると、並みの価値の情報を保護する場合でさえも、DES が優れた暗号アルゴリズムではないことがわかる。
このような目的には、おそらくトリプル DES がよりよい選択であろう。

しかしながら、このような潜在的な危険があるにせよ、ESP DES-CBC の利用によって得られるインターネット環境でのプライバシーのレベルは、データグラムを平文として送信する場合よりもはるかに大きいものがある。

IV に乱数値を使うケースについては、Steve Bellovin による以下の要約でうまく説明されている。
詳細については [Bell97] を参照のこと。

「CBC モードでの暗号化で、IV としてカウンタを使用する場合、あるいは連続する IV の間にあまり違いがでないような他のソースを使用する場合には問題が発生する。
CBC モードでは、暗号化に対する「有効平文」は、実際の平文と前のブロックの暗号文との XOR となる。
通常、これは乱数値であり、つまりこれは平文がきわめて乱数的であることを意味している。
実際の平文のブロックの多くはパケット間でほとんど変化しないため、これはよいことである。

ただ、平文の最初のブロックでは、IV が前の暗号文のブロックの代わりとなる。
その IV が前の IV とほとんど違いがなく、実際の平文ブロックが前のパケットの平文ブロックとほとんど違わなければ、そのそれぞれの有効平文にもほとんど違いがない。
これは、ビット位置がわずかに異なる平文ブロックと組み合わされた、暗号文ブロックの組を持つことを意味している。
これは、分類された暗号解析攻撃にとって妨害となる。」

IV に関する議論は、実装が IV にロウハミングディスタンスソースを使用しないことを要求するために更新されている。
7. 参考文献 
[Bell95] Bellovin, S., "An Issue With DES-CBC When Used Without Strong Integrity", Presentation at the 32nd Internet Engineering Task Force, Danvers Massachusetts, April 1995.

[Bell96] Bellovin, S., "Problem Areas for the IP Security Protocols", Proceedings of the Sixth Usenix Security Symposium, July 1996.

[Bell97] Bellovin, S., "Probable Plaintext Cryptanalysis of the IP Security Protocols", Proceedings of the Symposium on Network and Distributed System Security, San Diego, CA, pp. 155-160, February 1997 (also http://www.research.att.com/~smb/papers/probtxt.{ps,pdf}).

[BS93] Biham, E., and A. Shamir, "Differential Cryptanalysis of the Data Encryption Standard", Berlin: Springer-Verlag,1993.

[Blaze96] Blaze, M., Diffie, W., Rivest, R., Schneier, B., Shimomura, T., Thompson, E., and M. Wiener, "Minimal Key Lengths for Symmetric Ciphers to Provide Adequate Commercial Security", currently available at http://www.bsa.org/policy/encryption/cryptographers.html.

[CN94] Carroll, J.M., and S. Nudiati, "On Weak Keys and Weak Data: Foiling the Two Nemeses", Cryptologia, Vol. 18 No. 23 pp. 253-280, July 1994.

[FIPS-46-2] US National Bureau of Standards, "Data Encryption Standard", Federal Information Processing Standard (FIPS) Publication 46-2, December 1993, http://www.itl.nist.gov/div897/pubs/fip46-2.htm (supercedes FIPS-46-1).

[FIPS-74] US National Bureau of Standards, "Guidelines for Implementing and Using the Data Encryption Standard", Federal Information Processing Standard (FIPS) Publication 74, April 1981, http://www.itl.nist.gov/div897/pubs/fip74.htm.

[FIPS-81] US National Bureau of Standards, "DES Modes of Operation", Federal Information Processing Standard (FIPS) Publication 81, December 1980, http://www.itl.nist.gov/div897/pubs/fip81.htm.

[Matsui94] Matsui, M., "Linear Cryptanalysis method for DES Cipher", Advances in Cryptology -- Eurocrypt '93 Proceedings, Berlin: Springer-Verlag, 1994.

[RFC-1750] Eastlake, D., Crocker, S., and J. Schiller, "Randomness Recommendations for Security", RFC 1750, December 1994.

[RFC-2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.

[Schneier96] Schneier, B., "Applied Cryptography Second Edition", John Wiley & Sons, New York, NY, 1996. ISBN 0-471-12845-7.

[Wiener94] Wiener, M.J., "Efficient DES Key Search", School of Computer Science, Carleton University, Ottawa, Canada, TR-244, May 1994. Presented at the Rump Session of Crypto '93. [Reprinted in "Practical Cryptography for Data Internetworks", W.Stallings, editor, IEEE Computer Society Press, pp.31-79 (1996). Currently available at ftp://ripem.msu.edu/pub/crypt/docs/des-key-search.ps.]

[ESP] Kent, S., and R. Atkinson, "IP Encapsulating Security Payload (ESP)", RFC 2406, November 1998.

[AH] Kent, S., and R. Atkinson, "IP Authentication Header (AH)", RFC 2402, November 1998.

[arch] Kent, S., and R. Atkinson, "Security Architecture for the Internet Protocol", RFC 2401, November 1998.

[road] Thayer, R., Doraswamy, N., and R. Glenn, "IP Security Document Roadmap", RFC 2411, November 1998.

8. 謝辞 
特に「セキュリティに関する考慮事項」の章をはじめ、この文書で提供された情報の多くは、Perry Metzger と William Allen Simpson が書いた様々な ESP-DES 関連の文書をもとにしている。

この文書はまた、Jim Huges、DES-CBC と HMAC-MD5 の組み合わせ ESP 変換に関して Jim Hughes と作業した人々、ANX ベイクオフの参加者、IPsec ワーキンググループのメンバーによるこれまでの作業の一部を参考としている。

nroff フォーマッティングで手助けしてくれた Rob Glen に感謝する。

IPsec ワーキンググループへは、IPsec ワーキンググループのメーリングリスト(ipsec@tis.com)および以下のチェアを介してコンタクトをとることが可能である。

Robert Moskowitz
International Computer Security Association

EMail: rgm@icsa.net
 

Theodore Y. Ts'o
Massachusetts Institute of Technology

EMail: tytso@MIT.EDU

9. 著者の連絡先 
Cheryl Madson
Cisco Systems, Inc.

EMail: cmadson@cisco.com
 

Naganand Doraswamy
Bay Networks, Inc.

EMail: naganand@baynetworks.com
 

翻訳者

東京都中央区新川1-21-2 茅場町タワー
株式会社 NTTデータ
技術開発本部
馬場 達也

EMail: babatt@nttdata.co.jp

10. 著作権表示全文 
Copyright (C) The Internet Society (1998). All Rights Reserved.

本文書とその翻訳は、複製および他に提供することができる。
また、この文書に論評や説明を加えたり、その実装を補助するものは、上記の著作権表示およびこの節を付加していれば、全体あるいは一部であっても一切の制約を課されることなく作成、複製、発表、配布できる。
ただし、この文書自体に対して、著作権表示やインターネットソサエティもしくは他のインターネット関連団体への参照を取り除くなどの変更を加えてはならない。
インターネット標準化過程で定義されている著作権のための手続きに従って、インターネット標準を開発するために必要な場合や、RFC を英語以外の言語に翻訳する必要がある場合はそのかぎりでない。

上記の制限は永続的なものであり、インターネットソサエティもしくはその継承者や譲渡者によって取り消されることはない。

本文書とここに含まれた情報は「無保証」で提供され、インターネットソサエティおよび IETF はすべての保証を明示的にも暗黙的にもおこなわない。
その中には、この情報がいかなる権利も侵害していないという保証や、商用利用および特定目的における適合性への保証が含まれる。