黒澤 馨 (茨城大学) kurosawa@mx.ibaraki.ac.jp 情報セキュリティ特論(6) 黒澤 馨 (茨城大学) kurosawa@mx.ibaraki.ac.jp 2017/3/13 confidential.

Slides:



Advertisements
Similar presentations
情報セキュリティ 第3回 現代暗号の基礎数理. 脅威と暗号技術 セキュリティに対する脅威 脅かされる特性 暗号技術 機密性 正真性 認証 否認不可能性 盗聴 (秘密が漏れる) 改竄 (情報が書き換えられる) なりすまし (正しい送信者のふりをする) 否認 (後から私じゃないと言う) 共通鍵暗号 公開鍵暗号.
Advertisements

1 前回の練習問題 F 29 = {1, 2,…, 28} において, g = 11 が生成元であることを確 かめ, F 29 の元とその離散対数との関係を図示せよ. x = 1,..., 28 に対し, g x mod 29 を計算すればよい
効率的に計算可能な 加法的誤りの訂正可能性 安永 憲司 九州先端科学技術研究所 SITA 2012 @ 別府湾ロイヤルホテル
暗号 田浦健次朗.
3.2.3~3.3 D3 川原 純.
駒澤大学 経営学部 情報セキュリティ B 公開鍵暗号による 認証つきの秘匿通信 ―― 鍵に注目して ――
2001/10/10 PSEC-KEM NTT 小林 鉄太郎 CRYPTREC 2001
情報工学科 06A2055 平塚 翔太 Hiratsuka Shota
黒澤 馨 (茨城大学) 情報セキュリティ特論(4) 黒澤 馨 (茨城大学) 2017/3/4 confidential.
近似アルゴリズム 第10章 終了時刻最小化スケジューリング
Q q 情報セキュリティ 第6回:2005年5月20日(金) q q.
Reed-Solomon 符号と擬似ランダム性
第5章 情報セキュリティ(後半) [近代科学社刊]
「コンピュータと情報システム」 07章 インターネットとセキュリティ
「まめだくん Ver.1.0」 特徴と利用方法.
第2章 第1節 情報通信の仕組み 4 暗号技術と情報の保護 5 コンピュータとネットワークの管理
共通鍵と公開鍵 暗号のしくみ 情報、数学ハイブリッド版.
数 学 の か た ち 第3講 暗号を作ろう 早苗 雅史 数学とソフトウエア
黒澤 馨 (茨城大学) 情報セキュリティ特論(7) 黒澤 馨 (茨城大学)
ネットワークでかわる社会 第2節 ネットワークのしくみ②
暗号技術 ~公開鍵暗号方式の仕組み~ (3週目)
第10回 情報セキュリティ 伊藤 高廣 計算機リテラシーM 第10回 情報セキュリティ 伊藤 高廣
黒澤 馨 (茨城大学) 情報セキュリティ特論(5) 黒澤 馨 (茨城大学)
2001/10/10 PSEC-KEM NTT 小林 鉄太郎 CRYPTREC 2001
Q q 情報セキュリティ 第3回:2005年4月28日(金) q q.
数学のかたち 暗号を作ろう Masashi Sanae.
Q q 情報セキュリティ 第12回:2006年7月7日(金) q q.
Q q 情報セキュリティ 第5回:2005年5月13日(金) q q.
黒澤 馨 (茨城大学) 情報セキュリティ特論(1) 黒澤 馨 (茨城大学) 2018/12/8 confidential.
Q q 情報セキュリティ 第4回:2007年5月11日(金) q q.
共通暗号方式 共通のキーで暗号化/復号化する方法 例) パスワードつきのZIPを送信して、後からパスワードを送る方法 A さん B さん
情報セキュリティ  第4回 メッセージ認証コード.
第二章 インターネットで やり取りする情報を守る
PGP インターネットで 広く使われている暗号技術
実用的暗号通信ソフトウェア 「まめだくん」の開発 Shiota Laboratory
情報セキュリティ  第11回 デジタル署名.
7.4 Two General Settings D3 杉原堅也.
情報セキュリティ  第8回 RSA暗号.
2章 暗号技術 FM15002 友池 絲子.
PKI 情報工学専攻 1年 赤木里騎 P91~102.
Q q 情報セキュリティ 第11回:2004年6月18日(金) q q.
5.RSA暗号 素因数分解の困難性を利用した暗号.
25. Randomized Algorithms
計算量理論輪講 chap5-3 M1 高井唯史.
Q q 情報セキュリティ 第12回:2007年7月6日(金) q q.
Q q 情報セキュリティ 第8回:2005年6月3日(金) q q.
Q q 情報セキュリティ 第7回:2006年6月2日(金) q q.
暗号技術 ~暗号技術の基本原理~ (1週目) 情報工学科  04A1004 石川 真悟.
Q q 情報セキュリティ 第7回:2007年6月1日(金) q q.
Q q 情報セキュリティ 第6回:2007年5月25日(金) q q.
Q q 情報セキュリティ 第4回:2005年5月12日(金) q q.
暗号技術をとりまく最近の話題 ーAES秘密鍵暗号,楕円公開鍵暗号-
音声データにおける 墨塗り署名ツール“SANI”の開発
論文紹介 M. Abadi and P.Rogaway: Reconciling Two Views of Cryptography (The Computational Soundness of Formal Encryption) J. Cryptology (2002) 15:
コミュニケーションと ネットワークを探索する
生物情報ソフトウェア特論 (2)たたみ込みとハッシュに 基づくマッチング
「情報セキュリティ論」 2-4 公開鍵暗号の原理とRSA暗号
Q q 情報セキュリティ 第9回:2007年6月15日(金) q q.
代数体上で定義された楕円曲線の 素因数分解への応用
Diffie-Hellman 鍵共有 ElGamal 暗号 楕円曲線暗号,量子コンピュータ
人工知能特論II 第8回 二宮 崇.
Q q 情報セキュリティ 第5回:2006年5月19日(金) q q.
Q q 情報セキュリティ 第12回:2004年6月25日(金) の補足 q q.
ネット時代のセキュリティ3(暗号化) 2SK 情報機器工学.
黒澤 馨 (茨城大学) 情報セキュリティ特論(8) 黒澤 馨 (茨城大学)
Q q 情報セキュリティ 第6回:2005年5月26日(金) q q.
暗号技術・セキュリティ 情報工学科  04A1004 石川 真悟.
情報生命科学特別講義III (3)たたみ込みとハッシュに 基づくマッチング
Q q 情報セキュリティ 第7回:2005年5月27日(金) q q.
2012年度 情報数理 ~ ハミング距離 ~.
Presentation transcript:

黒澤 馨 (茨城大学) kurosawa@mx.ibaraki.ac.jp 情報セキュリティ特論(6) 黒澤 馨 (茨城大学) kurosawa@mx.ibaraki.ac.jp 2017/3/13 confidential

RSA暗号    素因数分解の困難さ ElGamal暗号    離散対数問題の困難さ 2017/3/13 confidential

RSA暗号    素因数分解の困難さ ElGamal暗号    離散対数問題の困難さ   答えは、x=3 2017/3/13 confidential

離散対数問題 y=ax mod p (=素数) となるxを求めよ、という問題。 p=1024ビットのとき、10億年 2017/3/13 confidential

mod 5 において フェルマーの定理 2017/3/13 confidential

mod 5 において 2の位数は4 フェルマーの定理 4の位数は2 3の位数は4 2017/3/13 confidential

mod 5 において 2の位数は4: p-1(=4)を割り切る 4の位数は2: p-1(=4)を割り切る 3の位数は4: 2017/3/13 confidential

aの位数    となる最小のn 定理    任意の元aの位数は、p-1を割り切る。 2017/3/13 confidential

Diffie-Hellmanの鍵共有法 p = 大きな素数, q = p-1を割り切る大きな素数 g = 位数が大きな素数qの元    gq=1 mod p 2017/3/13 confidential

Diffie-Hellmanの鍵共有法 2017/3/13 confidential

Diffie-Hellmanの鍵共有法 2017/3/13 confidential

Diffie-Hellmanの鍵共有法 敵 盗聴 2017/3/13 confidential

敵のゴール p, q, DH問題 1億年(DH仮定) 2017/3/13 confidential

離散対数問題との関係 離散対数問題 DLOG 10億年(離散対数仮定) ? DH問題 1億年(DH仮定) 2017/3/13 confidential

DLOGを解くアルゴリズムAが存在するなら DHを解くアルゴリズムBが存在する (証明) (定理) DLOGを解くアルゴリズムAが存在するなら DHを解くアルゴリズムBが存在する (証明) B A 2017/3/13 confidential

DLOGを解くアルゴリズムAが存在するなら DHを解くアルゴリズムBが存在する (証明) (定理) DLOGを解くアルゴリズムAが存在するなら DHを解くアルゴリズムBが存在する (証明) B A 2017/3/13 confidential

PPT : Probabilistic Polynomial Time 確率的 多項式 時間 確率的     多項式    時間 PPTアルゴリズム A 乱数テープ R 2017/3/13 confidential

R a PPTアルゴリズム A 乱数テープ R Aがaを 出力 この面積 Pr(Aが解く) = 全面積 2017/3/13 confidential

離散対数仮定 確率ε以上でDLOGを解くような PPTアルゴリズムは存在しない DH仮定 PPTアルゴリズムは存在しない 2017/3/13 confidential

定理 離散対数仮定が成り立てば、  DH仮定が成り立つ。 2017/3/13 confidential

ElGamal暗号 公開鍵: p= 大きな素数 q= p-1を割り切る大きな素数 g=位数がqとなる元 y (=gx mod p) 2017/3/13 confidential

ElGamal暗号 公開鍵: p, q, g, y(=gx mod p) 秘密鍵: x 平文: m 暗号化: r ← zp-1 E(m)=(gr, myr) 2017/3/13 confidential

ElGamal暗号 公開鍵:p, q, g, y(=gx mod p) 秘密鍵: x 平文: m 暗号化:E(m)=(gr, myr) 復号: myr / (gr)x=m(gx)r/grx=m mod p 2017/3/13 confidential

敵への入力 公開鍵:p,q,g,y 暗号文: (gr, m・yr) mod p 2017/3/13 confidential

巡回群 <g>={1, g, g2, …, gq-1} は、 (生成元)gで生成される巡回群 2017/3/13 confidential

DDH仮定 (g, gr, y, yr) と (g, gr, y, z)は 多項式時間で区別できない。 ただし、  多項式時間で区別できない。 ただし、  z は<g> からランダムに選ばれた要素 2017/3/13 confidential

DDH仮定より 平文: m∈{1, g, g2, …, gq-1} とする。 暗号文: E(m) = (gr, myr) ~(gr, m z ) ただし、   zは<g>からランダムに選ばれた要素。 2017/3/13 confidential

DDH仮定より 平文: m∈{1, g, g2, …, gq-1} とする。 暗号文: E(m) = (gr, myr) ~(gr, m z ) ただし、   zは<g>からランダムに選ばれた要素。   mz=m×乱数 → one-time pad  2017/3/13 confidential

DDH仮定より 平文: m∈{1, g, g2, …, gq-1} とする。 暗号文: E(m) = (gr, myr) ~(gr, m z ) ただし、   zは<g>からランダムに選ばれた要素。   mz=m×乱数 → one-time pad mに関する情報は、もれていない 2017/3/13 confidential

ElGamal暗号の安全性 DDH仮定の下、 平文mに関する情報は、何ももれていない。 2017/3/13 confidential

なりすまし攻撃 B A オレオレ 2017/3/13 confidential

Aの公開鍵 v (=g-s mod p) B A s s v =g-s mod p をチェック 2017/3/13 confidential

Bが、なりすませてしまう C B A s s s オレはAだ 2017/3/13 confidential

Schnorrの認証法 v =g-s mod p s gy=gr+sc=gr(gs)c=xv-c x =gyvc mod p B A x=gr mod p x c c←ランダム y=r+sc mod q y gy=gr+sc=gr(gs)c=xv-c x =gyvc mod p 2017/3/13 confidential

Schnorrの認証法 v =g-s mod p s x =gyvc mod p をチェック B A r←ランダム x=gr mod p x y=r+sc mod q y x =gyvc mod p をチェック 2017/3/13 confidential

零知識性 Bには、sに関する情報が一切漏れていない。 2017/3/13 confidential

零知識性 Bには、sに関する情報が一切漏れていない if Bは、自分自身で通信系列(x,c,y)を 生成できる。 2017/3/13 confidential

定理 Bは、自分自身で通信系列(x,c,y)を 生成できる。 2017/3/13 confidential

証明 v =g-s mod p s x =gyvc mod p をチェック B A r←ランダム x=gr mod p x c c←ランダム y=r+sc mod q y x =gyvc mod p をチェック 2017/3/13 confidential

証明 1. c←ランダム 2. y←ランダム 3. x =gyvc mod p B B x c y 2017/3/13 confidential

証明 1. c←ランダム 2. y←ランダム 3. x =gyvc mod p B B 4. x c y 2017/3/13 confidential

健全性 Bをacceptさせられるなら、Aはsを知っている。 2017/3/13 confidential

健全性 Bをacceptさせられるなら、Aはsを知っている。 Aをサブルーチンとして使って、sを求めることができる 2017/3/13 confidential

定理 AがBをacceptさせられる Aをサブルーチンとして使って、 sを求めることができる 2017/3/13 confidential

証明 B A x c c←ランダム y x =gyvc mod p 2017/3/13 confidential

Aを初期状態にリセット B A 2017/3/13 confidential

もう一度、Aを走らせる B A x 2017/3/13 confidential

証明 B A x c’ c’←ランダム 2017/3/13 confidential

証明 B A x c’ c’←ランダム y’ x =gy’vc’ mod p 2017/3/13 confidential

証明 x =gyvc mod p x =gy’vc’ mod p B A x c, c’ y, y’ 2017/3/13 confidential

証明 v –(c-c’) =gy-y’ mod p 1 =gy-y’vc-c’ mod p x =gyvc mod p B A x v –(c-c’) =gy-y’ mod p c, c’ 1 =gy-y’vc-c’ mod p x =gyvc mod p y, y’ x =gy’vc’ mod p 2017/3/13 confidential

証明 v =g-(y-y’)/(c-c’) mod p v –(c-c’) =gy-y’ mod p 1 =gy-y’vc-c’ mod p B A v =g-(y-y’)/(c-c’) mod p x v –(c-c’) =gy-y’ mod p c, c’ 1 =gy-y’vc-c’ mod p x =gyvc mod p y, y’ x =gy’vc’ mod p 2017/3/13 confidential

証明 v=g-s mod p v =g-(y-y’)/(c-c’) mod p v –(c-c’) =gy-y’ mod p B A v =g-(y-y’)/(c-c’) mod p x v –(c-c’) =gy-y’ mod p c, c’ 1 =gy-y’vc-c’ mod p x =gyvc mod p y, y’ x =gy’vc’ mod p 2017/3/13 confidential

証明 v=g-s mod p s=(y-y’)/(c-c’) v =g-(y-y’)/(c-c’) mod p B A s=(y-y’)/(c-c’) v =g-(y-y’)/(c-c’) mod p x v –(c-c’) =gy-y’ mod p c, c’ 1 =gy-y’vc-c’ mod p x =gyvc mod p y, y’ x =gy’vc’ mod p 2017/3/13 confidential

敵のモデル 学習段階 なりすまし段階 2017/3/13 confidential

学習段階 s x =gyvc mod p をチェック 敵:盗聴 B A r←ランダム x=gr mod p x c c←ランダム y=r+sc mod q y x =gyvc mod p をチェック 敵:盗聴 2017/3/13 confidential

なりすまし段階 B 敵 x c c←ランダム y x =gyvc mod p 2017/3/13 confidential

定理 なりすましに成功する敵が存在したと仮定すると、離散対数問題を解ける。 2017/3/13 confidential

v=g-s mod p B なりすまし段階 学習段階 B 敵 (x’’,c’’,y’’) x c 敵 y s 2017/3/13 confidential s

v=g-s mod p なりすまし段階 学習段階 B 敵 (x’’,c’’,y’’) x c,c’ 敵 y,y’ 2017/3/13 confidential

s=(y-y’)/(c-c’) v=g-s mod p なりすまし段階 学習段階 B 敵 (x’’,c’’,y’’) x c,c’ 敵 2017/3/13 confidential s=(y-y’)/(c-c’)

Schnorrのデジタル署名 公開鍵:v =g-s mod p 秘密鍵:s A A r←ランダム x=gr mod p x c=H(x,m) y=r+sc mod q y 2017/3/13 confidential

Schnorrのデジタル署名 公開鍵:v =g-s mod p 秘密鍵:s x =gyvc mod p を計算 c=H(x,m) をチェック A B A 秘密鍵:s r←ランダム x=gr mod p x c=H(x,m) 平文m x =gyvc mod p を計算 y=r+sc mod q σ=(c,y) y c=H(x,m) をチェック 署名文 2017/3/13 confidential

選択平文攻撃 署名 オラクル 署名文 σ 平文 m 敵 公開鍵 (平文*、署名文*) 2017/3/13 confidential

ランダム・オラクル・モデル における選択平文攻撃 署名 オラクル 署名文 σ 平文 m 敵 公開鍵 (平文*、署名文*) 乱数 c=H(m,x) (m, x) Hオラクル 2017/3/13 confidential

定理 ROモデルにおいて、 Schnorrの署名に対し、確率εで 偽造に成功する敵Aが存在する。 ただし、  ただし、  AはHオラクルに高々h回質問すると仮定する。 Schnorrの認証法において、確率ε/hで なりすましに成功する敵Bが存在する。 2017/3/13 confidential

ランダム・オラクル・モデル における選択平文攻撃 署名 オラクル 署名文 σi 平文 mi 敵 A 公開鍵 v (m*、c*, y*) 乱数 cj=H(mj,xj) (mj, xj) Hオラクル 2017/3/13 confidential

なりすましの敵 B 署名 オラクル 署名文 σi 平文 mi なりすますぞ! 偽造の 敵 A 公開鍵 v v (m*、c*, y*) 乱数 cj=H(mj,xj) (mj, xj) Hオラクル 2017/3/13 confidential

Bのなりすまし戦略 偽造の敵Aは、Hオラクルに 偽造用の(m*, x*)をk番目に質問する。 相手 B 偽造の 敵A (m*,x*) 2017/3/13 confidential

Bはkをランダムに推測 Bは、x*をAに送る。 敵 Hオラクル (m*,x*) = B 相手 x* 2017/3/13 confidential

Bのなりすまし戦略 相手がc*を返してきた。 敵 Hオラクル (m*,x*) = B 相手 x* c* 2017/3/13 confidential

Bのなりすまし戦略 Bは、c*=H(m*,x*)とする。 敵 A B 相手 = (m*,x*) x* c*=H(m*,x*) c* 2017/3/13 confidential

Bは、Aを最後まで走らせる Aは、偽造(m*,c*,y*)を出力する。 敵 A (m*, c*, y*) B 相手 x* (m*,x*) Hオラクル (m*,x*) c*=(m*,x*) Bの内部 (m*, c*, y*) B 相手 x* c* 2017/3/13 confidential

Bは、このy*を相手に返す。 (m*,c*,y*)及びx*は正しい偽造なので、 検査式 x*=g y* v c* mod pを満たす 敵 A Hオラクル (m*,x*) c*=H(m*,x*) Bの内部 (m*, c*, y*) B 相手 x* c* y* 2017/3/13 confidential

よって、相手はacceptする。 (m*,c*,y*)及びx*は正しい偽造なので、 検査式 x*=g y* v c* mod pを満たす Hオラクル (m*,x*) c*=H(m*,x*) Bの内部 (m*, c*, y*) B 相手 x* c* y* accept 2017/3/13 confidential

これで、Bはなりすましに成功。 (m*,c*,y*)及びx*は正しい偽造なので、 検査式 x*=g y* v c* mod pを満たす 敵 A Hオラクル (m*,x*) c*=H(m*,x*) Bの内部 (m*, c*, y*) B 相手 x* c* y* accept 2017/3/13 confidential

さて、Bは署名オラクルを どうシミュレート 平文 mi 敵 A 公開鍵 v v (m*、c*, y*) Hオラクル 2017/3/13 confidential

零知識性の証明の要領で 署名 オラクル ci, yi ←ランダム xi←gyivci 署名文 σi=(ci,yi) 平文 mi 敵 A (m*、c*, y*) Hオラクル 2017/3/13 confidential

Hオラクルのシミュレート 署名 オラクル ci, yi ←ランダム xi←gyivci σi=(ci,yi) 平文 mi 敵 A 公開鍵 v (m*、c*, y*) (mi, xi) Hオラクル 2017/3/13 confidential

ci=H(mi,xi) とすれば、 σi=(ci,yi)は検査式を満たす 署名 オラクル ci, yi ←ランダム xi←gyivci σi=(ci,yi) 平文 mi 敵 A 公開鍵 v v (m*、c*, y*) (mi, xi) ci=H(mi,xi) Hオラクル 2017/3/13 confidential

平文m, 署名文σ=(c,y)の検査法 x=gyvc mod p とおく。 c=H(m,x) をチェック 2017/3/13 confidential

Bは、両オラクルを正しくシミュレート 署名 オラクル ci, yi ←ランダム xi←gyivci σi=(ci,yi) 平文 mi 敵 A (m*、c*, y*) (mi, xi) ci=H(mi,xi) Hオラクル 2017/3/13 confidential

証明 これで、BはAの環境を完全にシミュレート よって、Aは最後まで走り、 偽造(m*,c*,y*)を出力 証明終わり 2017/3/13 confidential

定理 Schnorrの署名に対し、確率εで 偽造に成功する敵Aが存在する。 Schnorrの認証法において、確率ε/hで なりすましに成功する敵Bが存在する。 2017/3/13 confidential

定理 Schnorrの署名に対し、確率εで 偽造に成功する敵Aが存在する。 Schnorrの認証法において、確率ε/hで なりすましに成功する敵Bが存在する。 確率(ε/h)2で離散対数問題を解ける 2017/3/13 confidential

演習 教科書p.49, 問5.3, 問5.4 2017/3/13 confidential