解 説 論 文

ストリーム暗号の現状と課題 The State of Stream Ciphers

森井昌克 Masakatu MORII 寺村亮一 Ryoichi TERAMURA

アブストラクト ストリーム暗号は高速処理に優れた暗号のクラスであり,近年の情報の大規模化・通信の高速化に伴 い注目を集めている.このストリーム暗号の次世代を選定するプロジェクト eSTREAM(the ECRYPT project)が欧州にて3年間にわたり開催され,その結果として先日七つのポートフォリオが選定された.本稿 では,ストリーム暗号を概観し,特にこのeSTREAMでの成果を踏まえて,現状最も使用されているストリーム暗号 であるRC4,これからのストリーム暗号であるeSTREAM暗号,そして現在ISO(International Organization for Standardization)に提案されている三つの暗号の動向について解説する. キーワード 暗号,ストリーム暗号,eSTREAM,RC4,WEP

1.はじめに 2.ストリーム暗号

コンピュータセキュリティ,及びネットワークセキュリ 2.1 共通鍵暗号としてのストリーム暗号 ティの分野は多岐にわたるが,その根幹を担う一つの分野が 暗号,そしてその利用を含む暗号技術である. 共通鍵暗号は暗号化と復号に同一の秘密鍵を用いる方式で 暗号の基本となるものが,暗号プリミティブと呼ばれる ある.共通鍵暗号方式は暗号化と復号に異なる鍵を用いる公 データの機密性,完全性,認証,否認防止等を実現するアル 開鍵暗号方式と異なり,通信等に用いる場合は事前に鍵を共 ゴリズムである.本論文では,この暗号プリミティブを扱い, 有する必要があるものの,暗号化処理速度の面で公開鍵暗号 以下,注記しない限り暗号プリミティブのことを暗号と呼ぶ. 方式より優れている.この共通鍵暗号は更に“ブロック暗号” 暗号には大きく分けて“公開鍵暗号” と“共通鍵暗号” という と“ストリーム暗号” の二つのクラスに大別できる(図 1).ブ 二つのクラスがある.後者の共通鍵暗号に属するストリーム ロック暗号は平文を 64 ビットや128 ビットのブロックに分割 暗号は高速処理に優れた暗号のクラスであり,近年の情報の し,それぞれに対して暗号化を行う方式である.またストリー 大規模化・通信の高速化に伴い注目を集めている.このスト ム暗号は平文をデータストリームとして扱い,ビットもしく リーム暗号の次世代を選定するプロジェクト eSTREAM(the はバイト単位で逐次暗号化を行う方式である.これらの関係 ECRYPT stream cipher project)(1)が欧州にて3年間にわたり開 は誤り訂正符号におけるブロック符号と畳込み符号の関係に 催され,その結果として先日七つのポートフォリオが選定さ れた(2008年9月17日現在). 本稿では,ストリーム暗号を概観し,特にこの eSTREAM での成果を踏まえて,現状最も使用されているストリー ム 暗 号 で あ る RC4, こ れ か ら の ス ト リ ー ム 暗 号 で あ る eSTREAM暗号,そして現在ISO(International Organization for Standardization)に提案されている三つの暗号の動向について 解説する.

森井昌克 正員 神戸大学大学院工学研究科 図 1 ブロック暗号とストリーム暗号 ブロック暗号は, E-mail [email protected] 一つ一つのブロックが独立に暗号化復号されることに対し 寺村亮一 学生員 神戸大学大学院工学研究科 E-mail [email protected] て,ストリーム暗号では,ビットもしくはバイト単位で暗号 Masakatu MORII, Member and Ryoichi TERAMURA, Student Member (Graduate School 化復号されるものの独立ではなく,先の暗号化復号処理に依 of Engineering, Kobe University, Kobe-shi, 657-8501, Japan). Fundamentals Review Vol.2 No.3 pp.66-pp.75 2009年1月 存する.

66 Fundamentals Review Vol.2 No.3 相似する.通常,ブロック暗号は一つ一つのブロックが独立 に暗号化復号される.それに対して,ストリーム暗号はビッ トもしくはバイト単位で暗号化復号が行われ,それぞれの処 理は独立でなく先の処理に依存する.前者の代表的な暗号と して,Advanced Standard(AES)(2),Camellia(3)等が, 後者の代表的な暗号としてRivest Cipher 4(RC4),MUGI(4)等 が挙げられる. 広い意味で,ストリーム暗号はビットあるいはバイトごと の平文に対して,事前の暗号化復号処理に依存して,事後の 暗号化復号処理を行う方式であるが,本稿では狭い意味での ストリーム暗号である,鍵から得られるキーストリームと平 文ストリームの排他的論理和で暗号化を行う方式を扱う. 図 3 KSA と PRGA ストリーム暗号では KSA に鍵,IV を 2.2 ストリーム暗号の概要 入力することで内部状態を初期化する.またその初期化され た内部状態を PRGA に入力することで内部状態の更新を行い, キーストリームを出力する. 典型的なストリーム暗号としてワンタイムパッドが挙げら れる(図 2).これは平文と同じ長さの乱数系列を利用者間で まず暗号化に用いる乱数系列は一度使用すると二度と再利用 共有し,平文との排他的論理和をとることで暗号化復号を行 してはならない.更に平文と同じ長さの乱数系列を安全に共 う方式である.例えばアリスがボブに対して“こんにちは” と 有しなければならない.安全とは送受信を行う二者以外が有 いう内容の平文をワンタイムパッド方式で暗号化して送った することも,推定することもできないことを意味する.これ と仮定する.事前に共有しておいた乱数系列と送られてきた らの仮定は現実的ではない. 暗号文の排他的論理和をとることで,ボブは容易に暗号文か 一般に用いられるストリーム暗号ではワンタイムパッドと ら“こんにちは” という平文を得ることができる.しかし正し 異なり平文と同じ長さの乱数系列を共有するのでなく,擬似 い乱数系列を知らない攻撃者は,ある乱数系列と暗号文の排 乱数生成器,及び秘密鍵と呼ばれる短い情報を共有し,それ 他的論理和が“こんにちは” になることを知ったとしても,異 らから擬似乱数系列を生成し暗号化に利用する. なる乱数系列との排他的論理和から得られる“さようなら” 等 ストリーム暗号は暗号化や復号の際,秘密鍵や初期化ベ の様々な平文の中から“こんにちは” が正しい平文と決定でき クトル(IV : )をシードとしてキースト ない.このため暗号化に使用された正しい乱数系列を知らな リームと呼ばれる任意長の擬似乱数系列を生成する.そし い攻撃者は暗号文だけ手に入れたとしても,暗号文から正し て得られたキーストリーム Z と平文 P の排他的論理和をと い平文の内容を特定することは不可能である.乱数系列が真 ることで暗号文 C を導出する( P � Z � C ).また復号の際 性乱数系列であればワンタイムパッドは理想的な暗号方式と には暗号文 C とキーストリーム Z の排他的論理和をとるこ なり得る. とで元の平文 P を導出する( C � Z � P � Z � Z � P ). ワンタイムパッドは理想的な暗号であるものの,その安全 ストリーム暗号の擬似乱数生成アルゴリズムは大きく二つ な運用に関して問題ともいえる,幾つかの仮定を必要とする. の段階に区別できる.一つは秘密鍵や初期化ベクトルを用い て擬似乱数生成器の内部状態を初期化するアルゴリズム,も う一つは内部状態を更新しながらキーストリームを生成する アルゴリズムである.前者は鍵スケジューリングアルゴリズ ム(KSA: Scheduling Algorithm),後者は擬似乱数生成ア ルゴリズム(PRGA:Pseudo-Random Generation Algorithm)と 呼ばれる(図 3).ワンタイムパッドと等価ではないものの, 同等の安全性を得るための条件として,擬似乱数生成器の生 成するキーストリームには,周期が長いこと,キーストリー ムのビット間に相関がないこと等,真性乱数系列に期待でき る性質が求められる. ストリーム暗号では KSA に鍵,IV を入力することで内部 状態を初期化する.またその初期化された内部状態を PRGA 図 2 ワンタイムパッド 正しい乱数を知らない攻撃者は, に入力することでキーストリームを出力する. ある乱数系列と暗号文の排他的論理和が,“こんにちは”とい ストリーム暗号はその内部状態の構成の違いから線形 う平文になることを知ったとしても,様々な平文の中から“こ フィードバックシフトレジスタ(LFSR:Linear Feedback Shift んにちは”が正しい平文であることを決定できない. Register)型と状態遷移型の二つに区別できる(図 4).前者は

Fundamentals Review Vol.2 No.3 67 機能力では現実時間内に鍵の全候補を試すことは不可能 であるため,総当たり攻撃は脅威とはならない.総当た り攻撃に対して,暗号のアルゴリズム上の欠陥を利用し, 効率的に鍵を探索する方法をショートカット攻撃と呼ぶ.

• 識別攻撃 ストリーム暗号のキーストリームが真性乱数系列であれ ば,そのストリーム暗号はワンタイムパッドと等価とな り安全性は保証される.識別攻撃はキーストリームと真 性乱数系列を識別,すなわちストリーム暗号の擬似乱数 生成器が発生する乱数が真性乱数となりえないことを証 明することで安全性の評価を行う攻撃方法である.識別 図 4 LFSR 型と状態遷移型 (a)LFSR型のストリーム暗号 攻撃それ自体では暗号の安全性上,大きな脅威とはなら では LFSR の出力を非線形関数に通すことでキーストリームを ないとも考えられる.しかし識別攻撃の研究を進めるこ 生成する.(b)状態遷移型のストリーム暗号では内部状態その とで,キーストリームの乱数性の偏りを利用した鍵回復 ものをかくはんしキーストリームを生成する. 攻撃や内部状態復元攻撃へ発展する可能性がある. LFSR から得られるビット列を非線形関数に通すことでキー ストリームを生成する手法であり,後者はレジスタ内の情報 • 出力予測攻撃 をスワップ等でかくはんし,それら情報自体をキーストリー 出力予測攻撃はキーストリームの一部の情報を利用して, ムとして出力する手法である.LFSR 型の代表的な暗号とし キーストリームの他の部分を高い確率で予測する攻撃で て Snow 2.0(5),状態遷移型の代表的な暗号として RC4 が挙げ ある.出力予測攻撃が可能ならば,攻撃者は暗号化に使 られる. 用された平文の一部を推測するだけで,平文の他の部分 一般にストリーム暗号はブロック暗号と比較して,アルゴ の情報も取得することができる. リズム記述量,あるいは回路規模を小さくでき , また高速化 が可能である.しかしながら,その安全性に関する議論はブ • 内部状態復元攻撃 ロック暗号ほど進んでいない.ブロック暗号の研究において 内部状態復元攻撃はキーストリームから擬似乱数生成器 培われた評価手法をストリーム暗号に適用できる部分がある の内部状態を復元する攻撃である.ストリーム暗号は ものの,その構造の相違から必ずしも同一に扱うことはでき PRGA で内部状態の情報のみを利用してキーストリーム ない.また,擬似乱数生成器を用いることから,乱数系列の を出力するため,攻撃者はある時刻の内部状態を復元で 性質をもって評価尺度とする議論も存在するが,必ずしも十 きれば,以降のキーストリームを全て知ることが可能と 分ではない.高速かつ低消費電力な通信が望まれる中,スト なる.これより攻撃者はキーストリームと暗号文の排他 リーム暗号が果たす役割は今後ますます増大すると考えられ 的論理和をとり暗号文を解読できる.この攻撃手法は鍵 る.それゆえ,暗号としての最も要求される性質である安全 回復攻撃とともに非常に強力な攻撃手法である. 性,及びその評価手法の開発が希求されている. • 鍵回復攻撃 2.3 ストリーム暗号に対する攻撃手法 鍵回復攻撃はキーストリームから秘密鍵を効率良く回復 する攻撃である.ストリーム暗号では暗号化復号に利用 本節ではストリーム暗号の安全性評価を行う上で重要とな する秘密情報は鍵のみに依存することが一般的であるた る代表的な攻撃手法を与える. め,鍵回復攻撃が成功すると攻撃者はその鍵によって暗号 化された全ての暗号文を解読することができる.一般に • 総当たり攻撃 鍵の全数探索未満の計算量(128 ビットの鍵ならば 2128 未 攻撃者はすべての秘密鍵を候補として復号することに 満)で鍵の回復が成功するとき,“暗号は解読された” とい より,暗号文を解読することができる.このように鍵 われる.ブロック暗号,ストリーム暗号とも,いかなる の全数探索を行う攻撃手法を総当たり攻撃(Brute Force 攻撃方法においても鍵の全数探索以上の計算量を必要と Attack)という.一般に現在の暗号は,鍵長を長く取るこ するように設計することが必要条件となっている.した とによって,この攻撃に対して十分な安全性を持つよう がって,鍵の全数探索未満の計算量で鍵の導出が可能な に設計されている.このため現在の多くの暗号は128ビッ らば,その暗号は根本的な設計不良とみなされ,安全性 ト以上の鍵長を有している.鍵長が 128 ビットである場 の面で著しい欠点を持つと考えられる. 合,攻撃者は総当たり攻撃で解読するために2128 個の鍵の 候補を試さなくてはならない.しかしながら現在の計算 本節ではストリーム暗号の特徴から攻撃手法を五つに大別

68 Fundamentals Review Vol.2 No.3 述できる(図 5).また他のストリーム暗号同様,KSA に秘密 鍵を入力することで内部状態を初期化し,PRGA に初期化し た内部状態を入力することでキーストリームを生成する.そ してこのキーストリームと平文/暗号文との排他的論理和を とることで,RC4の暗号化復号処理は完了する.

3.2 RC4の安全性に関する研究動向

RC4 はそのアルゴリズムの公開以来,多様な視点からその 安全性に関して研究が続けられている.しかしながら128ビッ トの鍵長で実装したRC4に対して,現実時間で鍵を導出でき る攻撃は提案されていない.しかし識別攻撃や内部状態推測 STEP1:ポインタiの値をインクリメント 攻撃,キーストリームから鍵の一部が推測可能となる弱鍵の STEP2:iの指す配列値をポインタjにインクリメント 研究等は一定の成果を上げており,現在でも研究が盛んに行 STEP3:i,jの指す配列値を交換 STEP4:i,jの指す要素の和の配列値を出力 われている.本節ではこれらの研究動向を解説する. 図5. RC4のPRGA概要 RC4 に対する最も強力な識別攻撃は 2005 年に Mantin によ (9) した.これらは更に推測決定攻撃や相関攻撃等,より細別す り提案された攻撃手法である .RC4 は状態遷移型のスト ることが可能である(例:推測決定攻撃を用いた内部状態復 リーム暗号であり,ポインタで示された二つのレジスタ値を 元手法等). スワップすることで内部状態を混ぜ合わせる.逆にいえばポ インタに示されない限り,レジスタに格納された値は保持さ 3.RC4(Arcfour) れることを意味する.また RC4 ではキーストリーム 1 バイト の出力に最大でも三つのレジスタの値S[i], S[j], S[S[i]+S[j]] 3.1 RC4とは しか使用しない.すなわちポインタ i がまた同じレジスタを 指すまでの時刻28 の間,この三つのレジスタの値がポインタ t t 8 RC4 は 1987 年に RSA Security 社の Ron Rivest によって開発 に示されなければ,ある時刻 と時刻 +2 のキーストリーム されたストリーム暗号である.RC4 は開発当初からそのアル のバイトは高い確率で同一の値が出力される.すなわちキー ゴリズムは非公開とされていたが,1994 年にインターネッ ストリームに偏りが生じ,その結果,真性乱数とRC4のキー ト上に RC4 と等価な処理を行うアルゴリズムが RSA Security ストリームを区別することが可能になる.Mantin によって提 26.5 社の承諾なく公開された.現在そのアルゴリズムは多くが知 案された識別攻撃は 2 バイトのキーストリームを観測すれ るところであるが,公式には RSA Security 社は RC4 のアルゴ ば確率 2/3 以上で成功する.更に Mantin はこの RC4 のキース リズムを現在でも公開していない.このため本章で解説する トリームに偏りが生じるという特性を利用した出力予測攻撃 (9) t t 8 RC4はあくまでも RC4と等価な暗号化処理を行うストリーム も提案している .先ほど時刻 と時刻 +2 のキーストリー 暗号“Arcfour(Alleged RC4)” である.ただし本稿では混乱を ムのバイトが高い確率で一致すると述べた.すなわちある時 8 避けるためArcfourをRC4と呼ぶ. 刻から 2 ずれた出力を高い確率で予測することも可能とな 45 RC4 の特長として非常に短いコードで記述できる点,ソフ る.この攻撃ではキーストリームの2 バイトを観測した後に 50 トウェア上で非常に高速に動作する点等が挙げられる.サー それ以外の 1 ビットを確率 0.85 で予測でき,2 バイトを観測 バ・ブラウザ間通信の標準プロトコルである Secure Sockets した後にそれ以外の8ビットを確率0.82で予測できる. Layer(SSL) / Transport Layer Security(TLS)(6)や無線 LAN 用 RC4に対する最も有名な内部状態復元攻撃として,1998年 のプロトコルであるWired Equivalent Privacy(WEP)(7),その に Knudsen らによって提案された木探索を利用した攻撃が挙 (10) 後継である Wi-Fi Protected Access(WPA)(8)等,様々な標準 げられる .後にこれは白石らによって木探索部分を深さ優 規格に採用されている. 先の探索を行う攻撃として改良され,内部状態の73バイトを 20 RC4 は 8 ビットから 2,048 ビットの間から鍵長を選択でき, 知ることにより2 の計算量によって,高い確率で,残りの内 (11) それより時刻ごとに 8 ビット単位でキーストリームを出力す 部状態を推定し得ることが示された .木探索とは異なる内 る.鍵長の安全なパラメータとしては 128 ビット以上が推奨 部状態復元攻撃としては,Golić によって提案されたキースト されている.RC4 の内部状態は 2n 個の要素を持つ配列と 2 個 リームを入力とする事後確率の繰返し計算に基づく内部状態 (12) のポインタから構成されており,要素とポインタはそれぞれ 復元攻撃が挙げられる .またこの手法は前述した木探索に n ビットの変数である.ここで n は可変の値であり,一般的 基づく方法と併用することが可能であり,大東らは実際に二 に n=8 が採用される.RC4 の KSA,PRGA はスワップ処理を つの方法を併用することで更に内部状態復元攻撃を改良して (13) 中心としたアルゴリズムであり,共に非常に短いコードで記 いる .また著者らは KSA 終了時の一部の内部状態に対す る復元可能な割合及び復元できる内部状態のバイト数につい

Fundamentals Review Vol.2 No.3 69 て考察している(14),(15). えいすることを利用している.104 ビットの秘密鍵を FMS 攻 RC4 に対する鍵回復攻撃としては弱鍵を利用した Roos の 撃で復元するためには約 400 万から 600 万の暗号化パケット 攻撃が有名である.Roos は鍵の 1 バイト目 K[0] と 2 バイト を観測する必要がある.FMS 攻撃への耐性を有するために, 目 K[1] が (K[0]+K[1]) mod 256 = 0 の条件を満たす鍵におい 無線 LAN 機器を扱うベンダの製品では WEPplus と呼ばれる て,鍵の 3 バイト目 K[2] が 1/22.85 の確率でキーストリームか 技術を採用している(19).この技術は FMS 攻撃に用いられる ら得られることを示した(16).この弱鍵を対象にした攻撃で weak IV をフィルタリングして取り除くことで,安全な IVの は,1/210.85 の確率で秘密鍵の 16 ビット分を復元できることに みをWEPで用いる方法である. なり,効率的な鍵の復元が可能となる.この弱鍵を用いた攻 2007 年,Tews らによって,IV によらず高速に 104 ビット 撃は(K[0]+K[1]) mod 256 = 0を満たす鍵をスキップするとい の秘密鍵が導出できることが示された(20).この攻撃は PTW う単純なフィルタリングパターンによって防ぐことが可能で 攻撃と呼ばれる(著者の並び順では TPW 攻撃と呼ぶところで ある. あるが,Tews自身からPTW攻撃と記するよう要望).この攻 著者らは Roos らと異なる方法で弱鍵を定義し,それらを 撃は 2006 年に Klein によって発表された鍵回復攻撃(21)を発展 用いた秘密鍵探索法を提案している.この攻撃ではキースト させたものである.しかし,PTW攻撃には大量のARPパケッ リームから内部状態を復元する方法と内部状態から秘密鍵を トが必要となるため,現実的な時間で攻撃を成功させるため 回復する方法をそれぞれ組み合わせることで,弱鍵の一部を には,アクセスポイントに対して不正アクセスを行い,大量 回復する.この手順によって復元可能な弱鍵の具体例は文献 のARPパケットを発生させる必要がある.この不正アクセス (17)に,更に弱鍵をデータベース化して効率的に秘密鍵を復 が成功する環境で実装したWEPに対してならば,WEPplusに 元した際の評価を文献(14),(15)にそれぞれ示している.著 対応したWEP製品であっても秘密鍵の導出が可能である.最 者らの攻撃は WPA や SSL 等などで使用される RC4 において 近になって,著者らは ARP パケットによらず,一般の IP パ も有効であると考えられる. ケットから秘密鍵を導出する方法を提案した(22).この攻撃で は PTW 攻撃のように不正アクセスを行うことなく,極めて 3.3 WEPの安全性に関する研究動向 短い時間で暗号化に使用した 104 ビットの秘密鍵を導出する ことができる.著者らは実際にこの攻撃を実装し,30,000 IP WEP は IEEE 802.11 で規定されている暗号化アルゴリズム パケット(利用した環境ではおよそ 20MBの通信量)を観測し に RC4 を用いる無線 LAN 用のセキュリティプロトコルであ た際に,104 ビット鍵の解読が可能であることを示した.こ る(図 6).しかしながら暗号としての RC4 と異なり,WEP で の処理にかかる時間は 10 秒程度である.事実上,WEP 鍵に はパケットごとに生成される鍵(パケット鍵)K を 40 ビット よって暗号化されているパケットを傍受することのみによっ または 104 ビットの秘密鍵 K ’ と 24 ビットの初期化ベクトル て,瞬時にそのWEP鍵を導出することが可能となり,名実共 IVを用いてK = IV || K ’のように生成する.ここで || はビッ に解読されたことになる.なお,現在では WEP の後継とな トの連結である. るWPAやWPA2が制定されているため,無線LANの利用者は WEP に対する効率的な攻撃はこの鍵生成の特異性を利用 WEPからWPAあるいはWPA2へ移行することが望ましい. している.最初に発表された WEP に対する鍵回復攻撃は, Fluhrerらによって提案された攻撃であり,FMS攻撃と呼ばれ 4.eSTREAM ている(18).FMS 攻撃では特定の IV(weak IV)を用いた際に, キーストリームの先頭バイトに秘密鍵の情報が高い確率で漏 4.1 eSTREAMとは

2004 年 2 月,欧州における情報セキュリティ研究者間の 連携をより密にするため,European Network of Excellence for Cryptology( ECRYPT)が設立された.この ECRYPT の設立と 同時期に立ち上げられたプロジェクトが the ECRYPT Stream Cipher Project(eSTREAM)である.eSTREAM は次世代スト リーム暗号の選定を目的としたストリーム暗号の評価プロ ジェクトであり,広く暗号アルゴリズムを公募し,集まっ た暗号に対して世界中の研究者が 3 年間にわたり評価およ び選定を行った.そして 2008 年 3 月にその選定を終了した. eSTREAMでは公募暗号をハードウェア用とソフトウェア用 図6 WEPの概要 WEPではパケットごとに生成される鍵(パ に区別し,安全性とともに,ソフトウェア用の暗号に関して ケット鍵)Kを40ビットまたは104ビットの秘密鍵と24ビットの は処理能力,ハードウェア用の暗号に関しては , ストレージ, 初期化ベクトルIVを連結し生成する. ゲート数,消費電力において高い評価を得ることが要求され た.

70 Fundamentals Review Vol.2 No.3 表1 Phase 1候補 eSTREAM では候補暗号に対して,その問題点の修正を許可 SW SW/HW HW していたため,多くの暗号は修正が施され最終的には28の候 ABC F-FCSR 補暗号がPhase 2に進むこととなった. CryptMT Hermes8 DECIM DICING LEX Edon-80 4.2.2 Phase 2 MAG 2006 年 7 月から 2007 年 4 月まで行われた Phase 2 では表 2 NLS MICKEY に示す 28 の候補暗号に対する評価が行われた.特に Phase 2 HC-256 MOSQUITO では,候補暗号の中からソフトウェア用である DRAGON, Mir-1 SFINKS HC-128(256),LEX,,SOSEMANUK,ハードウェ Py POMARANCH ア用である Grain v1,MICKEY-128 v2,Phelix,Trivium に対 Salsa20 TSC-3 して重点的な解析をするよう研究者に促した. SOSEMANUK SSS VEST 国際会議である SASC2007 の後,Phase 2 は終了し安全性と TRBDK3 YAEA WG 暗号化速度の面で評価の高い 16 通りの候補暗号が Phase 3 選 Zk-Crypt 定された.

4.2.3 Phase 3 2007 年 4 月から 2008 年 4 月まで行われた Phase3 では表 3 に 4.2 eSTREAMの流れ 示す16の候補暗号に対する評価が行われた.その結果,2008 年 4 月,ソフトウェア用として四つの候補暗号,ハードウェ eSTREAM では公募によって集められた 34 の暗号に対して ア用として四つの候補暗号,合計八つの暗号が eSTREAM 暗 3年間にわたり評価及び選定が行われた. 号として選定された.しかし 2008 年 9 月 F-FCSR-H v2 が構造 上の欠陥により eSTREAM 暗号から除外されたため,2008 年 4.2.1 Phase 1 9月現在,4.3に示すソフトウェア用暗号4種類,ハードウェ eSTREAM 暗号の評価及び選定は 3 段階に分けて行われた. ア用暗号3種類の計7種類のストリーム暗号がeSTREAM暗号 2005年4月から2006年7月にかけて行われたPhase 1では,表 として選定されている.4.3 ではこれら七つのストリーム 1 に示すハードウェア用とソフトウェア用合わせて 34 の暗 暗号についてそれぞれ個別に記述する. 号に対する評価が行われた.その評価の過程で半分以上の 暗号に対して安全性や暗号化速度での問題点が指摘された. 表3 Phase 3候補 表2 Phase 2候補 SW HW SW HW CryptMT v3 DECIM v2( -128) ABC v3 Achterbahn-128/80 DRAGON Edon-80 CryptMT v3 DECIM v2 HC-128( -256) F-FCSR-H( -16) DICING( P2) Edon-80 LEX Grain v1( -128) DRAGON Grain v1 NLS v2 MICKEY v2( -128) HC-128( -256) F-FCSR-H( -16) Rabbit MOUSTIQUE LEX Hermes8 Salsa20 POMARANCH v3 NLS v2 LEX SOSEMANUK Trivium Phelix MICKEY v2 4.3 eSTREAM選定暗号 Polar Bear v2 MICKEY-128 v2 Py NLS v2 4.3.1 ソフトウェア用暗号 Rabbit Phelix • HC-128 Salsa20 Polar Bear v2 HC(23),(24)は Wu によって提案されたストリーム暗号であ SOSEMANUK POMARANCH v3 る.当初,HCは256ビット秘密鍵を用いるタイプ(HC-256) Rabbit しか存在しなかったが,Phase2においてHC-256 を簡易化 Salsa20 した 128 ビット鍵を用いて暗号化を行う HC-128 が新たに Trivium 追加され,最終的にはこの HC-128 が選定されることに TSC-4 なった.HC-128 は一度に大量のデータを暗号化する場面 VEST( P2) 等で高速に動作するものの,内部状態の初期化に時間が WG( P2) かかる欠点を持つため,鍵を頻繁に交換する必要がある Zk-Crypt( P2)

Fundamentals Review Vol.2 No.3 71 アプリケーションには適していない. • Rabbit Rabbit は Boesgaard らによって提案されたストリーム暗号 である(25).多くの候補暗号が eSTREAM の評価期間中に 構造上の問題から修正を強いられたものの,Rabbit は発 表当時からその構造に修正を加えていない.安全性の面 では出力するキーストリームに若干の偏りがあることが 示されてはいるが(26),深刻な問題は指摘されていない. また新しい Intel プロセッサ上で高速に動作する特徴を持 つ.しかしながら 128 ビット以上の鍵が設定されていな い,知的所有権が放棄されていない等の問題点を有する.

• Salsa20/12 図 8 Trivium の概要 Trivium は 3 本のシフトレジスタから構 Salsa20(27)は Bernstein によって提案されたストリーム暗 成されるストリーム暗号である.内部で行われる演算はビット同 号である.Salsa20 のアルゴリズムはブロック暗号のよう 士のAND演算かXOR演算のみであり,非常に高速に動作する. にラウンド数を可変に設定できる構造をとる.ラウンド 4.3.2 ハードウェア用暗号 数を変更することにより安全性と速度のバランスが変化 • Grain v1 するため多くの研究者が Salsa20 の様々なラウンド数に Grain v1(30),(31)はHellらによって提案されたストリーム暗 おける研究報告を行っている.この結果,12 ラウンドの 号である(図 7).その構造は比較的単純なため効率的な Salsa20がeSTREAM暗号として選定された. ハードウェア実装が可能である.Grain v1に対して多くの 安全性に関する研究報告がなされたが,現在までに致命 • SOSEMANUK 的な欠陥は報告されていない.しかし致命的ではないも SOSEMANUK(28)は Berbain らによって提案されたスト のの Küçük により類似したキーストリームを出力する異 リーム暗号であり,DES 等のブロック暗号に用いられる なる鍵・IVのペア(位相ずれ等価鍵)が存在することが報 Feistel 構造に似たアルゴリズムを内部に有する . 安全上の 告されている(32).また著者らはこの位相ずれ等価鍵を拡 問題として,SOSEMANUK は推測決定攻撃により 2224 の 張(33)することによって効率的な秘密鍵回復攻撃を提案し 計算回数で内部状態復元攻撃が可能であることが角尾ら ている(34),(35). により報告されている(29).この攻撃結果は 128 ビット鍵 を用いてSOSEMANUK で暗号化を行う際には安全性に影 図 7 の暗号の概要図中の実線は 1 ビットの入出力,点線は 響はないものの,256 ビット鍵を利用して SOSEMANUK 複数ビットの入出力を表す.また NFSR は非線形特性を持つ で暗号化を行ったとしても 224 ビット鍵分の安全性しか フィードバックシフトレジスタである. 得られないことを示している. • MICKEY v2 MICKEY v2(36),(37)はBabbageらによって提案された,二つの レジスタを時刻制御し,その非線形出力をキーストリームと する暗号である.Grain v1や後に説明するTriviumと比較して 速度,実装の柔軟性等で後塵を拝するものの,複雑になりが ちな時刻制御方式の構造を単純な形にまとめた点に高い評価 が与えられた.

• Trivium Trivium(38)は Canniere らによって提案されたストリーム 暗 号で あ る(図 8).Trivium は構 造が単 純で あ り , か つ ハードウェア , ソフトウェアを問わず高速に動作するた め ,SASC2008 の投票結果が示すように,7 つの eSTREAM 選定暗号の中でも特に高い評価が与えられている(39).注 目に比例して様々な安全性解析が行われているものの(40) 図 7 Grain v1 の概要 Grain v1 の構造はそれぞれ 80 ビットの ~(42) 大きさを持つ線形レジスタと非線形レジスタ,そして非線形関数 ,致命的な欠陥は報告されていない. からなる.ここで f(x),g(x)はそれぞれ LFSR,NFSR の生成 多項式である.

72 Fundamentals Review Vol.2 No.3 5. ISO-18033提案暗号 仲神らはDECIM v2に対してもGrain v1と同様に位相ずれ 等価鍵を利用した鍵回復攻撃が可能なことを示している 現 在 ISO に お い て ス ト リ ー ム 暗 号 の 標 準 規 格 で あ る (45).またABSGの安全性に関して評価を与えている(46). ISO-18033 part4 に暗号アルゴリズムを追加することが検討さ れている.本章では ISO-18033 part4においてその提案が審議 • K2(K-Cipher2) されている暗号のうち,4.で説明を行った Rabbit を除いた K2(47)は清本らによって提案されたストリーム暗号である DECIM v2,K2 (K-Cipher2),TSC-4について解説を行う. (図 10).特徴として従来ストリーム暗号に用いられてき たストップアンドゴー方式等と異なり,LFSRの特性多項 • DECIM v2 式を変更するという新しい時刻制御方式によって,キー DECIM v2(43),(44)は Berbain らによって提案されたスト ストリームの線形成分を削減している.すでに ISO で標 リーム暗号であり,ABSG という圧縮関数によりキー 準暗号として採用されている Snow 2.0 に似た内部構造 ストリームを生成する特徴をもつ(図 9).具体的には を持つが,新しい時刻制御方式により安全性の向上を狙 DECIM v2では非線形フィルタを通して出力されたビット うとともに,時刻毎に Snow 2.0 の二倍のキーストリーム 系列から ABSG がランダムに選んだビットを取り除くこ を生成することで速度の向上を目指している. とでより乱数性を高めたキーストリームを生成する.こ の暗号は ISO-18033 と同時に eSTREAM にも提案されてい • TSC-4 たが,安全性の問題ではなく,他の eSTREAM 候補暗号 TSC-4はMoonらによって提案されたストリーム暗号であ と比較して暗号化復号速度が劣っているという理由によ る(48).TSC-4もDECIM v2と同様にeSTREAMにも提案さ り落選している.DECIM v2 に対する安全性解析として, れていたが落選している.選定されなかった理由として は,前のバージョンにあたる TSC-3 が解読されているこ とによる安全性の問題を払しょくできなかったこと,他 の eSTREAM 暗号と比較して暗号化復号速度が劣ってい たことが挙げられる.

6.むすび

本稿ではストリーム暗号の概略と現状,特に幅広い用途で 使用されている RC4,ぜい弱性が指摘されつつも,現実には 利用されている無線 LAN の標準暗号方式である WEP,更に 事実上の標準ストリーム暗号となるべく,評価,選定された, eSTREAM 暗号,そして現在標準化の議論が続けられている 図 9 DECIM v2 の概要 DECIM v2 の内部状態は LFSR,フィ ISO 提案暗号について解説した.これらの暗号は安全性評価 ルタ,圧縮関数ABSG,そしてバッファからなる.P(x)はLFSR を含めた研究が,現在でも盛んにつづけられている. の生成多項式である.LFSR のビット列をフィルタ,ABSG に通 し暗号化,復号を行う. ストリーム暗号に関する研究は発展途上の段階にあり,特 に安全性評価基準に関してはブロック暗号と比較して同等の 域に達しておらず,確立した評価基準や設計指針は未だ十分 ではない.しかしストリーム暗号は高速性等ブロック暗号に ない長所を持つため,今後ますますその研究は進むと考えら れる.本論文がストリーム暗号に注視する機会となり,一助 となれば著者らにとって幸いである.

謝 辞

本稿の作成にあたり,御助言頂いた,査読者及び編集委員の 方々に深い謝意を表します.

文 献 図 10 K-Cipher 2 の概要 K2 は二本のシフトレジスタと四 (1) http://www.ecrypt.eu.org/stream/ L L R R S つの内部メモリ( 1, 2, 1, 2)から構成される.図中の は (2) J. Daemen and V. Rijmen, The Design of Rijndael: AES - the S-box を用いた変換を,fA(x),fB(x)はそれぞれ生成多項式を Advanced Encryption Standard, Springer-Verlag, 2002. 意味する. (3) K. Aoki, T. Ichikawa, M. Kanda, M. Matsui, S. Moriai, J. Nakajima,

Fundamentals Review Vol.2 No.3 73 and T. Tokita, “Specification of Camellia – a 128-bit ,” guess-and-determine attacks,” available at 2000, available at http://www.ecrypt.eu.org/stream/papersdir/2006/009.pdf http://info.isl.ntt.co.jp/camellia/ (30) M. Hell, T. Johansson, and W. Meier, “Grain - a stream cipher for (4) D. Watanabe, S. Furuya, H. Yoshida, K. Takaragi, and B. Preneel, constrained environments,’’ eSTREAM, Report 2005/010, 2005, “A new key stream generator MUGI,” Proc. FSE2002, LNCS 2365, available at pp.179-194, 2002. http://www.ecrypt.eu.org/stream/ciphers/grain/grain.pdf (5) P. Ekdahl and T. Johansson, “A new version of the stream cipher (31) M. Hell, T. Johansson and W. Meier, “A stream cipher proposal: SNOW,” Proc. SCA2002, LNCS 2595, pp 47-61, 2002. Grain-128,’’ eSTREAM, available at (6) A. Freier, P. Karlton, and P. Kocher, “The SSL 3.0 protocol,” http://www.ecrypt.eu.org/stream/p3ciphers/grain/Grain128_p3.pdf Netscape Communications, Nov. 1996. (32) Ö. Küçük, “Slide resynchronization attack on the initialization of (7) IEEE Computer Society, “Wireless lan medium access control Grain 1.0,” eSTREAM, Report 2006/044, 2006, available at (MAC) and physical layer( PHY) specifications,” IEEE Std http://www.ecrypt.eu.org/stream/papersdir/2006/044.ps 802.11, 1999. (33) 寺村亮一 , 五十部孝典 , 大東俊博 , 桑門秀典 , 森井昌克 , “ス (8) Wi-Fi Alliance, “Wi-Fi protected access,” available at トリーム暗号の等価鍵について ,’’ 信学技報 ,ISEC2007-15, http://www.weca.net/opensection/protected_access.asp pp.101-108, May 2007. (9) I. Mantin, “Predicting and distinguishing attacks on RC4 (34) T. Isobe, T. Ohigashi, H. Kuwakado, and M. Morii, “A chosen-IV generator,” Proc. EUROCRYPT2005, LNCS 3494, pp.491-506, attack against Grain,” ICSS2007-3, pp.15-20, Sept. 2007. 2005. (35) T. Isobe, T. Ohigashi, H. Kuwakado, and M. Morii, “A key recovery (10) L. R. Knudsen, W. Meier, B. Preneel, V. Rijmen, and S. attack with equivalent keys of stream cipher,” ISEC2007-110, Verdoolaege, “Analysis methods for( alleged) RC4,” Proc. pp.69-74, Nov. 2007 ASIACRYPT'98, LNCS 1514, pp.327-341, 1998. (36) S. Babbage and M. Dodd, “The stream cipher MICKEY 2.0,’’ (11) Y. Shiraishi, T. Ohigashi, and M. Morii, “Internal-state eSTREAM, available at reconstruction of a stream cipher RC4,” IEICE Trans. http://www.ecrypt.eu.org/stream/p3ciphers/mickey/mickey_p3.pdf Fundamentals, vol.E86-A, no.10, pp.2636-2638, Oct. 2003. (37) S. Babbage and M. Dodd, “ The stream cipher MICKEY-128 2.0,’’ (12) J. Dj. Goli, “Iterative probabilistic of RC4 keystream eSTREAM, available at generator,” Proc. ACISP2000, LNCS 1841, pp.220-233, 2000. http://www.ecrypt.eu.org/stream/p3ciphers/mickey/mickey128_p3. (13) 大東俊博,白石善明,森井昌克, “内部状態遷移型ストリーム暗 pdf 号に対する確率的な内部状態推定法に関する考察 ,” 信学技 (38) C.D. Canniere and B. Preneel, “TRIVIUM,’’ eSTREAM, available 報,ISEC2004-47, p.41-48, July 2004. at (14) 寺村亮一 , 大東俊博 , 桑門秀典 , 森井昌克 , “RC4 における新し http://www.ecrypt.eu.org/stream/p3ciphers/trivium/trivium_p3.pdf いweak key,” 信学技報, ISEC2007-111, pp.75-80, Nov. 2007. (39) S. Babbage, C. D. Canniere, A. Canteaut, C. Cid, H. Gilbert, T. (15) 寺村亮一 , 大東俊博 , 桑門秀典 , 森井昌克 , “RC4 に対する weak Johansson, M. Parker, B. Preneel, V. Rijmen, and M. Robshaw, “The keyを利用した秘密鍵探索手法,” 2008年暗号と情報セキュリ eSTREAM portfolio,” available at ティシンポジウム(SCIS2008), p.125, Jan. 2008. http://www.ecrypt.eu.org/stream/portfolio.pdf (16) A. Roos, “A class of weak keys in the RC4 stream cipher,” Two (40) H. Raddum, “Cryptanalytic results on Trivium,’’ eSTREAM, Report posts in sci.crypt, 1995. 2006/039, 2006, available at (17) 寺村亮一 , 大東俊博 , 桑門秀典 , 森井昌克 , “RC4 におけるキー http://www.ecrypt.eu.org/stream/papersdir/2006/039.ps ストリームからの内部状態推定に関する考察 ,” 信学技報 , (41) A. Maximov and A. Biryukov, “Two trivial attacks on Trivium,’’ OIS2007-39, pp.71-76, Sept. 2007. eSTREAM, Report 2007/003, 2007, available at (18) S. Fluhrer, I. Mantin, and A. Shamir, “Weaknesses in the key http://www.ecrypt.eu.org/stream/papersdir/2007/003.pdf scheduling algorithm of RC4,” Proc. SAC2001, LNCS 2259, (42) C. McDonald, C. Charnes and J. Pieprzyk, “Attacking bivium with pp.1-24, 2001. miniSat,’’ eSTREAM, Report 2007/040, 2007, available at (19) Orinoco, “WEPplus white paper,” Oct. 2001. http://www.ecrypt.eu.org/stream/papersdir/2007/040.pdf (20) E. Tews, R. Weinmann, and A. Pyshkin, “Breaking 104 bit WEP in (43) C. Berbain, O. Billet, A. Canteaut, N. Courtois, B. Debraize, H. less than 60 seconds,” Cryptology ePrint, 2007, available at Gilbert, L. Goubin, A. Gouget, L. Granboulan, C. Lauradoux, http://eprint.iacr.org/2007/120.pdf M. Minier, T. Pornin, and H. Sibert, “DECIM v2,’’ eSTREAM, (21) A. Klein, “Attacks on the RC4 stream cipher,” submitted to available at Designs, Codes and , 2007. http://www.ecrypt.eu.org/stream/p3ciphers/decim/dedec_p3.pdf (22) 寺村亮一 , 曽谷紀史 , 仲神秀彦 , 朝倉康生 , 大東俊博 , 桑門 (44) C. Berbain, O. Billet, A. Canteaut, N. Courtois, B. Debraize, H. 秀 典 , 森 井 昌 克 , “WEP の 現 実 的 な 鍵 導 出 法( そ の 2),” コ Gilbert, L. Goubin, A. Gouget, L. Granboulan, C. Lauradoux, ンピュータセキュリティシンポジウム 2008( CSS2008), M. Minier, T. Pornin, and H. Sibert, “DECIM-128,’’ eSTREAM, pp.421-426, Oct. 2007. available at (23) H. Wu, “Stream cipher HC-128,” eSTREAM, available at http://www.ecrypt.eu.org/stream/p3ciphers/decim/decim128_p3.pdf http://www.ecrypt.eu.org/stream/p3ciphers/hc/hc128_p3.pdf (45) 仲神秀彦,寺村亮一,桑門秀典,森井昌克, “DECIM v2に対する (24) H. Wu, “Stream cipher HC-256,” eSTREAM, available at 位相ずれ等価鍵を用いた鍵回復攻撃 ,” 2008 年暗号と情報セ http://www.ecrypt.eu.org/stream/p3ciphers/hc/hc256_p3.pdf キュリティシンポジウム(SCIS2008), p.124, Jan. 2008. (25) M. Boesgard, M. Vesterager, T. Pedersen, J. Chrestiansen, and O. (46) 仲神秀彦, 寺村亮一, 森井昌克, “DECIM v2 における圧縮関数 Scavenius, “Rabbit : a new high-performance stream cipher,” Proc. ABSG の安全性について ,” コンピュータセキュリティシンポ FSE2003, LNCS 2887, pp.307-329, 2003. ジウム2008( CSS2008), pp.427-432, Oct. 2008. (26) J. Aumasson, “On a bias of Rabbit,” available at (47) 清本晋作, 田中俊昭, 櫻井幸一, “効率的なクロック制御を用い http://www.ecrypt.eu.org/stream/papersdir/2006/058.pdf たストリーム暗号の設計,” 信学技報, ISEC2005-166, pp.85-90, (27) D. J. Bernstein, “Salsa20 specification,” available at March 2006. http://cr.yp.to/snuffle/spec.pdf. (48) D. Moon, D. Kwon, D. Han, J. Lee, G. H. Ryu, D. W. Lee, Y. Yeom, (28) C. Berbain, O. Billet, A. Canteaut, N. Courtois, H. Gilbert, L. and S. Chee, “T-function based streamcipher TSC-4,” available at Goubin, A. Gouget, L. Granboulan, C. Lauradoux, M. Minier, T. http://www.ecrypt.eu.org/stream/p2ciphers/tsc4/tsc4_p2.pdf Pornin, and H. Sibert, “Sosemanuk, a fast software-oriented stream (平成20年10月27日最終受付) cipher,” eSTREAM, available at http://www.ecrypt.eu.org/stream/p3ciphers/sosemanuk/ sosemanuk_p3.pdf (29) Y. Tsunoo, T. Saito, M. Shigeri, T. Suzaki, H. Ahmadi, T. Eghlidos, and S. Khazaei, “Evaluation of SOSEMANUK with regard to

74 Fundamentals Review Vol.2 No.3 森井昌克(正員) 昭 58 佐賀大・理工・電気卒.平元阪大大学院工学 研究科通信工学専攻博士課程了.工博.同年,京都工 繊大・工芸・電子情報・助手,平 2 愛媛大・工・情報 工・講師,平 4 同大学助教授,平 7 徳島大・工・知能 情報・教授,平 17 神戸大・工・電気電子・教授,平 19 同大学院工学研究科教授として現在に至る.主に 代数的符号理論,暗号理論,離散数学,情報セキュリ ティ及びコンピュータネットワークの研究・教育に従 事.IEEE,情報理論とその応用学会各会員.

寺村亮一(学生員) 平 19 神戸大・工・電気電子卒.同年同大学院工学 研究科電気電子工学専攻修士課程入学,現在に至る. 主に暗号理論 , 情報セキュリティ及びコンピュータ ネットワークの研究に従事.

Fundamentals Review Vol.2 No.3 75