• 検索結果がありません。

ストリーム暗号

N/A
N/A
Protected

Academic year: 2021

シェア "ストリーム暗号"

Copied!
3
0
0

読み込み中.... (全文を見る)

全文

(1)

113回 月例発表会(201004月) 知的システムデザイン研究室

ストリーム暗号

山中 亮典,伊藤 博高

Ryosuke YAMANAKA

Hirotaka ITO

1

はじめに

近年,情報化社会の発展が進むにつれて,電子商取引 や電子化された行政サービスなど,重要なデータをイン ターネット上でやり取りする機会が増加してきている. それに伴って,電子化された情報の漏洩や,データの改 竄などの問題が生じてきている.そこで,データの安全 性を保障するため,暗号技術が重要視されている.近年 の情報の大規模化,通信の高速化に伴い,暗号技術の中 でも高速処理に優れるストリーム暗号が注目されている.

2

暗号技術

暗号とは,鍵と呼ばれる,第3者が知らない情報を用 いて,第3者に内容を知られないようにするための技術 である. 送信者が受信者に送りたいそのままの情報を平文とい う.そして,第3者に見られても内容が分からないよう に平文を変換するプロセスが暗号化である.暗号化用の 鍵で暗号化された平文は暗号文と呼ばれ,暗号文を平文 に戻す作業を復号と呼ぶ.また,暗号化および復号を行 うための手順をアルゴリズムと呼ぶ.古くから使われて おり,代表的なストリーム暗号であるシーザー暗号の暗 号化の流れをFig. 1に示す. Fig.1 シーザー暗号の流れ[参考文献1) より引用] Fig. 1のように,「YAMANAKA」という言葉をアル ファベット順に5文字後ろの文字に変換するというア ルゴリズムで暗号化する場合を考える.この時,平文は 「YAMANAKA」であり,アルゴリズムは「平文をそれぞ れアルファベット順に鍵の文字数分後ろにずらす」,鍵は 「5文字」,暗号文は「DFRFSFPF」ということになる.

3

ストリーム暗号

3.1 ストリーム暗号とは ストリームとはデータの流れであり,ストリーム暗号 は,入力されたデータの先頭から末尾までを,ビットも しくはバイト単位で逐次暗号化を行う方式である. 一般的には,疑似乱数を生成する際に用いるアルゴリ Fig.2 ストリーム暗号の流れ[参考文献1)より引用] ズムは大きく2つの段階に区別できる.1つは疑似乱数 生成器内の内部状態を初期化する鍵スケジューリングア ルゴリズム(KSA),もう1つは内部状態を更新しなが らキーストリームを生成する疑似乱数生成アルゴリズム (PRGA)である.暗号化に用いる疑似乱数は一度使用す ると二度と再利用してはいけないので,KSAでは鍵の他 に毎回異なる初期化ベクトル(IV)という値を与えるこ とで,生成する疑似乱数を毎回異なるものにしている. Fig. 2のように,鍵とIVをKSAに入れて内部状態を初 期化し,PRGAで内部状態を更新しながらキーストリー ムを生成するのが基本的なストリーム暗号の疑似乱数生 成方法である.生成したキーストリームと平文もしくは 暗号文の排他的論理和をとることで暗号化および復号を 行う. 3.2 ストリーム暗号の用途 ストリーム暗号は平文のサイズに依存しないため,キー ストリームを先行して生成できるので,待ち時間が少な く高速である.そのため,大容量のデータをやり取りす る際に適している.また,常に平文サイズの大きさと暗 号文サイズの大きさが同じとなるので,平文がいつ何バ イト発生するか不確定なアプリケーションの暗号方式と して用いられている.高速であることおよびデータサイ ズが増加しないことは,主に音声データや無線通信など に利用する場合に大きなメリットとなる.現在最も利用 されているストリーム暗号は,主に無線通信に用いられ るRC4である.

4

RC4

4.1 RC4の概要 RC4は現在主として利用されているストリーム暗号方 式のアルゴリズムである.RC4の特徴として非常に短い 1

(2)

コードで記述できる点およびソフトウェア上で非常に高 速に動作する点が挙げられる.サーバ・ブラウザ間通信の 標準プロトコルであるSSL(Secure Sockets Layer)/TLS (Transport Layer Security)や無線LAN用のプロトコ ルであるWEP(Wired Equivalent Privacy),その後継 であるWPA(Wi-Fi Protected Access)など,様々な標 準規格に採用されている2) 4.2 RC4の構造 RC4は8ビットから2048ビットの間から鍵長を選択 できるが,鍵長の安全な長さとしては128ビット以上 が基本となっている.RC4の内部状態は2n個の要素を 持つ配列と2個のカウンタから構成されており,要素と ポインタはそれぞれnビットの変数であり,一般的に8 ビットが採用される. Fig.3 一般的なRC4の構造[参考文献3)より引用] したがって,RC4は内部状態としてFig. 3のように1 バイトの配列を256個有している.そして,2個のカウ ンタを用いて内部状態の配列要素を入れ替えていくのが RC4のPRGAになっている.内部状態をSS0∼S255) カウンタをi, jとすると,ランダムなバイトZを生成す るためには,以下を実行する. 1. i = (i + 1) mod 256 2. j = (j + Si) mod 256 3. SiSjを入れ替える 4. t = (Si+ Sj) mod 256 5. Z = St また,内部状態の初期化は以下のように行う. 1. S0= 0, S1 = 1,, S255= 255のように内部状態S をインデックスで埋める. 2. 内部状態Sと同じ長さの別の配列Kを鍵で埋める. 3. j = 0 4. i = 0∼255に対して j = (j + Si+ Ki) mod 256 SiSjを入れ替える このように,RC4のKSA,PRGAはスワップ処理を中 心としたアルゴリズムであるので,共に非常に短いコー ドで記述できるという特徴がある.また他のストリーム 暗号同様,KSAに秘密鍵を入力することで内部状態を初 期化し,PRGAに初期化した内部状態を入力することで キーストリームを生成する. そしてこのキーストリームと平文および暗号文との排 他的論理和をとることで,RC4の暗号化および復号は完 了する.

5

無線通信

5.1 無線通信における暗号化 無線通信とは,ケーブルを使わずに電波を用いた通信で ある.無線通信にはケーブルに縛られないというメリッ トがあるが,電波が不必要なところまで届いてしまうと いうデメリットも存在する.無線通信の代表である無線 LANでは,50∼100 mほど電波が届いてしまう.何のセ キュリティも施していない無線LANを使っていると以 下の2つの問題が発生することになる. 外部から無線LANに不正侵入される 通信内容が第三者に漏洩する 前者に対しては,MACアドレスによる接続拒否で対応し ている.しかし,MACアドレスだけでは,後者の問題に 対処できない.そこで,通信を傍受されても,その内容 が分からないようにする暗号技術が用いられている.そ れが,無線LAN用のプロトコルのWEPである. 5.2 WEP WEPには,暗号化方式としてRC4が採用されてい て,暗号化に用いる鍵のことをWEPキーという.WEP の最初の方式は,40-bit WEPと呼ばれ,40ビットの WEPキーを用いる規格であったが,より強固なセキュ リティを求める声に応える形で104ビットまで拡張され

た.WEPでは,Fig. 4のように24ビットのIVとWEP

キーをつなげて平文を暗号化する. Fig.4 WEPのアルゴリズム[参考文献3) より引用] しかし2001年,特定のIVを用いた際に,キーストリー ムにWEPキーの情報が漏洩することが発見され,WEP の脆弱性が指摘された.WEPキーは固定の値なので,暗 号化の際に変更できるパラメータがIVの24ビットしか ないことが原因だった.また2008年には,わずか10秒 でWEPが破られるという発表がなされ,もはやWEP では安全な通信は全く期待できないことが証明された. 5.3 WPA WEPの脆弱性が発見された翌年の2002年,WEP を改善した新たな暗号技術であるWPAが提案された. WPAはWEPの後継であり,暗号化に用いる鍵をWPA キーという.WPAでは,WPAキーを104ビット,IV

(3)

を48ビットに変更した.初期化ベクトルを増やすこと によって生成する疑似乱数の幅を広げ,根本的な暗号 強度を上げることに成功した.またWPAでは,TKIP (Temporal Key Integrity Protocol)と呼ばれる暗号化

プロトコルを使用している. TKIPでは,WEPと同じくストリーム暗号であるRC4 のアルゴリズムを採用している.しかし,WEPでの問題 を改善するため,WEPでは固定の値であった暗号キー (WEPキー)を一定時間毎に変更できるようにしてい る.これによって暗号キーを推測することが難しくなり, WEPを解読した手法ではWPAが破られることはない. しかし,TKIPはキーを頻繁に切り替えるメカニズム をソフトウェアで実装しているため,処理速度が低下し てしまっている.それではストリーム暗号を用いる意味 が無くなってしまう恐れがある.そのため,安全で高速 なストリーム暗号が必要になってきている.近年,新た なストリーム暗号を選ぶプロジェクトが立ち上げられ, そこで選ばれたストリーム暗号が期待を集めている.

6

eSTREAM

2004年に情報セキュリティ研究者間の連携をより密に するため,ECRYPT(European Network of Excellence

for Cryptology)が設立され,次世代のストリーム暗号 を選定するための「eSTREAMプロジェクト」が立ち上 げられた.eSTREAMプロジェクトは広くストリーム 暗号のアルゴリズムを公募し,集まった暗号に対して世 界中の研究者が評価および選定を行った.そして2008 年に選定を終了し,最終的に7種類のストリーム暗号が eSTREAM暗号として選定されている. 既にデンマークのセキュリティ会社であるCrypticoか らeSTREAM暗号の一つであるRabbitという暗号アル ゴリズムを用いたCrypticoreという暗号技術が提案さ れている.Crypticoreを採用したセキュリティソフト, SSH Technicaは以前のバージョンより2∼8倍の速度を 実現している4)

7

まとめと今後の展望

ストリーム暗号は,処理速度に優れた暗号方式である. 平文をビットおよびバイト単位で扱うことにより,平文 のサイズに依存しない処理が実行でき,高速処理を実現 している.現在無線通信における暗号化アルゴリズムと して利用されているWEPにもストリーム暗号である RC4が採用されている.しかしWEPには脆弱性が存在 し,その脆弱性を補うための暗号化アルゴリズムWPA が開発された.WPAにおいて,WEPでの脆弱性は克服 されたが,処理速度が低下してしまい,ストリーム暗号 のメリットが発揮されなくなってしまった.そこで近年 では,より性能の良いストリーム暗号を選出し,暗号技 術の新たな基準として利用しようとする動きが広まって いる.選出されたストリーム暗号は,次世代の暗号化技 術として期待されている. 世界中で進行する情報量の増大は,今後も拡大してい くと考えられる.それに伴い,インターネット上で扱う データの重要性も上がっていくだろう.その中で,高速 処理に優れるストリーム暗号は今まで以上に必要とされ, 様々なセキュリティソフトに用いられていくのではない だろうか.

参考文献

1) Sbi net system. http://dev.sbins.co.jp/.

2) 森井昌克, 寺村亮一. ストリーム暗号の現状と課題. pp. pp69–70, 2008.

3) Think it. http://thinkit.jp/.

4) japan.internet.com. http://japan.internet.com.

参照

関連したドキュメント

C)付為替によって決済されることが約定されてその契約が成立する。信用

テストが成功しなかった場合、ダイアログボックスが表示され、 Alienware Command Center の推奨設定を確認するように求め

2012 年 3 月から 2016 年 5 月 まで.

 1999年にアルコール依存から立ち直るための施設として中国四国地方

私たちは上記のようなニーズを受け、平成 23 年に京都で摂食障害者を支援する NPO 団 体「 SEED

私たちは上記のようなニーズを受け、平成 23 年に京都で摂食障害者を支援する任意団 体「 SEED

私たちは、私たちの先人たちにより幾世代 にわたって、受け継ぎ、伝え残されてきた伝

・カメラには、日付 / 時刻などの設定を保持するためのリチ ウム充電池が内蔵されています。カメラにバッテリーを入