ma99992010id464

556 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
556
On SlideShare
0
From Embeds
0
Number of Embeds
67
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

ma99992010id464

  1. 1. ストリーム暗号への BP 復号を用いた相関攻撃 に関する一考察 指導 松嶋 敏泰 教授 1W070024-6  飯窪 祐二 卒業論文 (2010 年度 )
  2. 2. 1 .研究背景 暗号への攻撃 の研究 暗号の安全性 の評価 送信者 暗号化 受信者 第三者 ・・・鍵を持っている ・・・鍵を持っていない 平文を復号できる 平文を復号できない 鍵 1/15 送りたいデータ ( 平文 ) #”$%&*;+ 暗号文 <ul><li>暗号 </li></ul><ul><li>  データ通信の際,第三者に内容が解らないようにすること </li></ul><ul><li>暗号への攻撃 </li></ul><ul><li>  既知情報を用いて鍵を求めること </li></ul><ul><li>共通鍵暗号 </li></ul><ul><li>  送信者・受信者の鍵が等しい暗号 </li></ul>鍵
  3. 3. 2 .研究目的 擬似乱数 生成器 鍵 平文 … 110… 鍵系列 … 010… 擬似乱数 生成器 鍵 鍵系列 … 010… 暗号文 … 100… 平文 … 110… 暗号化 復号化 2/15 共通 <ul><li>ストリーム暗号 </li></ul><ul><li>  ビット単位で逐次的に暗号化を行う暗号. ( 共通鍵暗号の一種 ) </li></ul><ul><li>    ( 利用例: Web ブラウザ,無線 LAN ,携帯電話,・・・ ) </li></ul>ストリーム暗号への攻撃法の 1 つである相関攻撃の改善 研究目的
  4. 4. 3 .準備 ( 1 /2) 3/15 <ul><li>非線形コンバイナ型乱数生成器 </li></ul><ul><li>    K 個の LFSR と 1 個の非線形関数で構成される. </li></ul>非線形 関数 f 鍵 鍵系列 <ul><li>LFSR </li></ul><ul><li> ・ </li></ul><ul><li> ・  0,1 等頻度性の高い出力 </li></ul><ul><li> ・ 出力ビット間に制約 </li></ul><ul><li>      パリティ検査行列   で表す. </li></ul><ul><li>      列:変数,行:変数間の制約 </li></ul><ul><li>非線形関数 </li></ul><ul><li> ・ </li></ul>(1) (2) (1) (2) 制約式 を満たすことを意味する. ( 例 )
  5. 5. 3 .準備 (2/2) 4/15 <ul><li>既知平文攻撃 の問題設定 </li></ul><ul><li>   攻撃者に有利な条件 ( 既知情報:多 ) </li></ul>非線形 関数 f 鍵 鍵系列 既知 ・鍵系列: ・ ・ 未知 ・鍵: ・ LFSR 出力: 既知情報から少ない計算量で           を求めたい.     ・解読成功確率  ・計算量 評価基準
  6. 6. 4 .従来研究 (1/5) 5/15 4-1 . BP を用いた相関攻撃 [Mihaljevic ’01] <ul><li>非線形関数      1 入力 1 出力の確率モデル </li></ul>BP による周辺事後確率の近似計算で計算量削減 非線形 関数 f 相関あり 0 0 1 1 ( 例 )      のとき         であることが多い <ul><li>事後確率               を最大とする         を鍵として推定 </li></ul>計算量:大 LFSR より         に関するパリティ検査行列   が得られる.     :一様 ( 等頻度性より )
  7. 7. 4 .従来研究 (2/5) 6/15 4-1 . BP を用いた相関攻撃 [Mihaljevic ’01] <ul><li>Belief Propagation(BP) </li></ul>パリティ検査行列  による制約 を利用して              の周辺事後確率を効率的に近似計算するアルゴリズム. ( 例 ) <ul><li>反復処理 </li></ul>グラフ表現 ( ファクターグラフ ) BP1 反復の計算量・・・  の 1 の数 ( =グラフの枝数 ) に比例 1   1   1  0 0  1 1 1 (1) (2) (1) (2) 各パリティ検査ノードで計算 各変数ノードで計算 :パリティ検査ノード :変数ノード の近似値 をグラフィカルモデルで表現 グラフ上の反復計算
  8. 8. 4 .従来研究 (3/5) 7/15 4-1 . BP を用いた相関攻撃 [Mihaljevic ’01] <ul><li>前処理 </li></ul><ul><li>復号処理 </li></ul>前処理で構成した   を用いて BP による近似計算. 高い解読成功確率 前処理により削減 行和計算 1 の数が少ないものを探索 の行として追加 LFSR から得られる  ・・・ 1 の数が多い = BP の計算量:大 11011 ・・・ 01101 ・・・ 1 の数が少ない新たな パリティ検査行列   を構成
  9. 9. 4 .従来研究 (4/5) 8/15 4-2 .前処理の改善 [ 吉田 ’ 06] <ul><li>  に長さ 4 のループ ( 小ループ ) が多数存在 </li></ul><ul><li>                BP の近似精度低下 </li></ul>BP の近似精度 up↑   = 解読成功確率 up↑ 小ループ 行列 ファクターグラフ 行和計算 1 の数が少ないものを探索 小ループができないのであれば 条件付加 の行として追加 <ul><li>改善法 </li></ul>1 1 1 1 パリティ検査行列   を構成
  10. 10. 4 .従来研究 (5/5) 9/15 4-3 .並列 BP を用いた相関攻撃 [ 細渕 ’ 06] <ul><li>非線形関数     多入力 1 出力の確率モデル </li></ul><ul><li>前処理・・・ それぞれの LFSR について [Mihaljevic ’01] と同様に   を構成. </li></ul><ul><li>復号処理 </li></ul><ul><li>   複数の   を用いて並列 BP による計算. </li></ul>( 例 )   2 入力 1 出力の確率モデル ( 例 )   LFSR2 個 複数の LFSR を同時に攻撃 LFSR(1) より 得られる LFSR(2) より 得られる 並列して BP の反復計算 複数の LFSR 出力の相関を用いることで解読成功確率 up↑
  11. 11. 5 .提案法 (1/2) 10/15 <ul><li>従来研究の整理 </li></ul><ul><li>提案法 1 </li></ul>複数の LFSR を同時に攻撃する際の前処理の改善法を提案する. [ 細渕 ’ 06] における前処理に [ 吉田 ’ 06] の改善法を利用 しかし,複数のパリティ検査行列間にできるループの問題が考えられる.                         手法 攻撃対象 BP 前処理の改善 LFSR を 1 つずつ攻撃 [Mihaljevic ’01] [ 吉田 ’ 06] 複数の LFSR を 同時に攻撃 [ 細渕 ’ 06]   [ 細渕 ’ 06] [ 吉田 ’ 06]
  12. 12. 5 .提案法 (2/2) 11/15 <ul><li>提案法 2 </li></ul><ul><li>提案法 3 </li></ul>提案法 1 に加え,多次元小ループ の除去を考える. パリティ 検査行列 1 パリティ 検査行列 2 ファクターグラフ [ 吉田 ’ 06] の処理後    行和による多次元小ループ除去 <ul><li>処理の流れ </li></ul>しかし,多次元小ループ除去の過程で小ループができてしまう. ループをなくすように行和計算 [Mihaljevic ’01] の前処理後 行和による多次元小ループ除去 小ループができないように多次元小ループをできるだけ減らすことを考える. 行和による小ループ除去 <ul><li>処理の流れ </li></ul>1 1 1 1 1
  13. 13. 6 .シミュレーション 12/15 <ul><li>条件 </li></ul><ul><li>LFSR×2 , L=20 , N=512 </li></ul><ul><li>以下の 2 つの確率モデルに対して,従来法,提案法 1,2,3 を用いて, 1000 回ずつ攻撃を行う. </li></ul><ul><li>  ( 従来法とは, [ 細渕 ’ 06] の攻撃法 ) </li></ul>前処理の改善なし Model1 Model2 ( 計算量 ) = ( 攻撃成功時の平均反復回数 )          ×( グラフの枝数 ) 評価基準 0 1 0.7 0.3 0.5 0.5 0.5 0.5 0.7 0.3 0 0 0 1 1 0 1 1 0 1 0.9 0.1 0.7 0.3 0.1 0.9 0.7 0.3 0 0 0 1 1 0 1 1 ( 解読成功確率 ) = 1000 ( 攻撃成功回数 )
  14. 14. 7 .結果 13/15 <ul><li>構成したパリティ検査行列 </li></ul><ul><li>解読成功確率と計算量 </li></ul>  LFSR(1) LFSR(2) 小ループ 合計 多次元 小ループ グラフの枝数 行数 小ループ 行数 小ループ 従来法 5173 1524 4846 814 2338 1854 30969 提案法 1 3988 0 4120 0 0 1256 25236 提案法 2 3986 1444 4120 910 2354 0 26249 提案法 3 4092 0 4149 0 0 1080 25838   Model1 Model2 解読成功確率 平均反復 回数 計算量 解読成功確率 平均反復 回数 計算量 従来法 0.070 4.56 1.41E+05 0.633 4.79 1.48E+05 提案法 1 0.267 5.35 1.35E+05 0.807 5.48 1.38E+05 提案法 2 0.259 5.39 1.42E+05 0.785 5.44 1.43E+05 提案法 3 0.270 5.05 1.30E+05 0.804 5.23 1.35E+05
  15. 15. 8 .考察 14/15 <ul><li>従来法に比べ,どの提案法も解読成功確率が向上. </li></ul>小ループまたは多次元小ループを除去することにより, BP の近似精度が向上したと考えられる. <ul><li>提案法1,2,3の解読成功確率はほぼ同程度. </li></ul>小ループ,多次元小ループのどちらがどの程度 BP の近似精度に影響を与えているか,結果からの考察は難しい.
  16. 16. 9 .まとめ 15/15 <ul><li>並列 BP を用いた複数の LFSR への同時攻撃について,前処理の改善法を提案した. </li></ul><ul><li>小ループ,多次元小ループを除去することにより,従来法より解読成功確率を向上させることができた. </li></ul><ul><li>今後の課題として,どのループが BP の近似精度に影響を与えているかについての研究が考えられる. </li></ul>
  17. 17. <ul><li>付録 1  提案法2のアルゴリズム </li></ul><ul><li>入力 </li></ul><ul><li>出力 </li></ul>初期値 Step1 の  行目と    に多次元小ループが なし あり Step2 なし あり 追加しない Step1 を,1と2を入れ替えて行う. Step3 max(    の行数,   の行数 ) とし, Step1 へ max(    の行数,   の行数 ) を出力して終了 [ 吉田 ’ 06] の方法で構成したもの に追加 ループをなくすように行和計算. この行和と    に多次元小ループが に追加
  18. 18. <ul><li>付録 2  提案法3のアルゴリズム </li></ul><ul><li>入力 </li></ul><ul><li>出力 </li></ul>初期値 Step1 の  行目と    に多次元小ループが なし あり Step2 なし あり 追加する Step1 を,1と2を入れ替えて行う. Step3 max(    の行数,   の行数 ) とし, Step1 へ max(    の行数,   の行数 ) を出力して終了 提案法2との変更点を赤で示す [Mihaljevic ’01] の方法で構成したもの 条件付加:小ループがなければ 条件付加:小ループがなければ 行数の極端な減少を防ぐため に追加 ループをなくすように行和計算. この行和と    に多次元小ループが に追加

×