情報セキュリティ特論(6 - kurosawa.cis.ibaraki...
Transcript of 情報セキュリティ特論(6 - kurosawa.cis.ibaraki...
• RSA暗号
素因数分解の困難さ素因数分解の困難さ
• ElGamal暗号
離散対数問題の困難さ
5mod23 x
2011/1/13 confidential 2
• RSA暗号
素因数分解の困難さ素因数分解の困難さ
• ElGamal暗号
離散対数問題の困難さ
5mod23 x答えは、x=3
5mod23
2011/1/13 confidential 3
離散対数問題離散対数問題
• y=ax mod p (=素数)
となるxを求めよ、という問題。となるxを求めよ、という問題。
• p=1024ビットのとき、10億年
2011/1/13 confidential 4
• mod 5 において
12,32,42,22 4321
13,23,43,334321
4321
14,44,14,44 4321
フェルマーの定理フェルマ の定理
2011/1/13 confidential 5
• mod 5 において 2の位数は4
12,32,42,22 4321
13,23,43,334321
4321
14,44,14,44 4321
フェルマーの定理フェルマ の定理
3の位数は4
4の位数は2
2011/1/13 confidential 6
• mod 5 において2の位数は4:
p-1(=4)を割り切る
12,32,42,22 4321
p 1( 4)を割り切る
13,23,43,334321
4321
14,44,14,44 4321
3の位数は4:
4の位数は2:
p-1(=4)を割り切る
p-1(=4)を割り切る
p ( )
2011/1/13 confidential 7
• aの位数
となる最小のpa n mod1 となる最小のnpa mod1
• 定理
任意の元 の位数は 1を割り切る任意の元aの位数は、p-1を割り切る。
2011/1/13 confidential 8
Diffie Hellmanの鍵共有法Diffie-Hellmanの鍵共有法
大きな素数• p = 大きな素数, q = p-1を割り切る大きな素数q pg = 位数が大きな素数qの元
gq=1 mod pgq=1 mod p
2011/1/13 confidential 9
Diffie Hellmanの鍵共有法Diffie-Hellmanの鍵共有法
A B
pgxa
a mod
ランダム
A B
pgyb
b mod
ランダム
x ypg pgyx y
2011/1/13 confidential 10
Diffie Hellmanの鍵共有法Diffie-Hellmanの鍵共有法
A B
pgxa
a mod
ランダム
A B
pgyb
b mod
ランダム
x ypg pgy
a pyK mod)( b pxK mod)(
x y
〃
〃ab
abgpyK
)(mod)(
〃
〃ab
bagpxK
)(mod)(
〃abg 〃abg
2011/1/13 confidential 11
Diffie Hellmanの鍵共有法Diffie-Hellmanの鍵共有法
A B
pgxa
a mod
ランダム
A B
pgyb
b mod
ランダム
x ypg pgy
a pyK mod)( b pxK mod)(
x y
〃
〃ab
abgpyK
)(mod)(
〃
〃ab
bagpxK
)(mod)(
〃abg 〃abg敵
盗聴
2011/1/13 confidential 12
盗聴
敵のゴール敵のゴール
ba gygxg abgDH問題
p, q,
gygxg ,, gDH問題
1億年(DH仮定)
2011/1/13 confidential 13
離散対数問題との関係離散対数問題との関係
agxg 離散対数問題
DLOG 10億年(離散対数仮定)gxg , a離散対数問題
?
ba gygxg ,, abgDH問題gygxg ,, gDH問題
1億年(DH仮定)
2011/1/13 confidential 14
(定理)
DLOGを解くアルゴリズムAが存在するならDLOGを解くアルゴリズムAが存在するなら
DHを解くアルゴリズムBが存在する
(証明)B
ag A aB
ba gg ,abg
2011/1/13 confidential 15
(定理)
DLOGを解くアルゴリズムAが存在するならDLOGを解くアルゴリズムAが存在するなら
DHを解くアルゴリズムBが存在する
(証明)B
ag A aB
ba gg ,abg )( abg
2011/1/13 confidential 16
agxg , PPTアルゴリズム A a
乱数テープ R
PPT : Probabilistic Polynomial Time確率的 多 式 時確率的 多項式 時間
2011/1/13 confidential 17
agxg , PPTアルゴリズム A a
R乱数テープ R
R
AがaをAがaを出力 この面積
全面積Pr(Aが解く) =
a
全面積
2011/1/13 confidential 18
• 離散対数仮定
確率ε以上でDLOGを解くような
PPTアルゴリズムは存在しないPPTアルゴリズムは存在しない
• DH仮定
確率 上 問題を解くような確率ε以上でDH問題を解くような
PPTアルゴリズムは存在しないPPTアルゴリズムは存在しない
2011/1/13 confidential 19
定理定理
散 が ば• 離散対数仮定が成り立てば、
DH仮定が成り立つ。DH仮定が成り立つ。
2011/1/13 confidential 20
ElGamal暗号ElGamal暗号
鍵• 公開鍵:
p= 大きな素数p 大きな素数
q= p-1を割り切る大きな素数
g=位数がqとなる元
y (=gx mod p)y (=g mod p)• 秘密鍵: x
2011/1/13 confidential 21
ElGamal暗号ElGamal暗号
鍵• 公開鍵:
p q g y(=gx mod p)p, q, g, y( g mod p)• 秘密鍵: x• 平文: m• 暗号化:• 暗号化:
r ← zp-1
E(m)=(gr, myr)
2011/1/13 confidential 22
ElGamal暗号ElGamal暗号
鍵• 公開鍵:p, q, g, y(=gx mod p)• 秘密鍵: x秘密鍵: x• 平文: m• 暗号化:E(m)=(gr, myr) • 復号:• 復号:
myr / (gr)x=m(gx)r/grx=m mod p
2011/1/13 confidential 23
敵への入力敵への入力
鍵• 公開鍵:p,q,g,y• 暗号文: (gr m・yr) mod p暗号文: (g , m y ) mod p
2011/1/13 confidential 24
巡回群巡回群
• <g>={1, g, g2, …, gq-1} は、
(生成元)gで生成される巡回群(生成元)gで生成される巡回群
2011/1/13 confidential 25
DDH仮定DDH仮定
• (g, gr, y, yr) と (g, gr, y, z)は多項式時間で区別できない。多項式時間で区別できない。
• ただし、
z は<g> からランダムに選ばれた要素
2011/1/13 confidential 26
DDH仮定よりDDH仮定より
平文 {1 2 1} とする• 平文: m∈{1, g, g2, …, gq-1} とする。
• 暗号文:
E(m) = (gr, myr) ~(gr m z )~(gr, m z )
ただし、
zは<g>からランダムに選ばれた要素。
2011/1/13 confidential 27
DDH仮定よりDDH仮定より
平文 {1 2 1} とする• 平文: m∈{1, g, g2, …, gq-1} とする。
• 暗号文:
E(m) = (gr, myr) ~(gr m z )~(gr, m z )
ただし、
zは<g>からランダムに選ばれた要素。
mz=m×乱数 → one-time padmz m×乱数 → one time pad
2011/1/13 confidential 28
DDH仮定よりDDH仮定より
す• 平文: m∈{1, g, g2, …, gq-1} とする。
• 暗号文:
E(m) = (gr, myr) ~(gr m z )~(g , m z )
ただし、
は から ダム 選ばれた要素zは<g>からランダムに選ばれた要素。
mz=m×乱数 → one-time padmに関する情報は、もれていない
2011/1/13 confidential 29
ElGamal暗号の安全性ElGamal暗号の安全性
• DDH仮定の下、
• 平文mに関する情報は、何ももれていない。平文mに関する情報は、何ももれていない。
2011/1/13 confidential 30
なりすまし攻撃なりすまし攻撃
A B
オレオレ
2011/1/13 confidential 31
Aの公開鍵 v (=g-s mod p)Aの公開鍵 v (=g s mod p)
A Bs
s
v =g-s mod pをチェックをチェック
2011/1/13 confidential 32
Bが なりすませてしまうBが、なりすませてしまう
A Bs C
s
s
オレはAだオレはAだ
2011/1/13 confidential 33
Schnorrの認証法Schnorrの認証法v =g-s mod p
A Bs
g p
r←ランダムx=gr mod p
ランダム
x
c←ランダムc
y=r+sc mod q
y
2011/1/13 confidential 34x =gyvc mod pgy=gr+sc=gr(gs)c=xv-c
Schnorrの認証法Schnorrの認証法v =g-s mod p
A Bs
g p
r←ランダムx=gr mod p
ランダム
x
c←ランダムc
x =gyvc mod p
y=r+sc mod q
y
2011/1/13 confidential 35
x =gyv mod pをチェック
零知識性零知識性
情 が• Bには、sに関する情報が一切漏れていない。
2011/1/13 confidential 36
零知識性零知識性
情 が• Bには、sに関する情報が一切漏れていない
ififBは、自分自身で通信系列(x,c,y)を生成できる。
2011/1/13 confidential 37
定理定理
身• Bは、自分自身で通信系列(x,c,y)を生成できる。生成できる。
2011/1/13 confidential 38
証明証明v =g-s mod p
A Bs
g p
r←ランダムx=gr mod p
ランダム
x
c←ランダムc
x =gyvc mod p
y=r+sc mod q
y
2011/1/13 confidential 39
x =gyv mod pをチェック
証明証明
B B
1 ランダム
x
1. c←ランダムc
3 x =gyvc mod p
2. y←ランダム
y
2011/1/13 confidential 40
3. x =gyv mod p
証明証明
B B
1 ランダム
4. x
1. c←ランダムc
3 x =gyvc mod p
2. y←ランダム
y
2011/1/13 confidential 41
3. x =gyv mod p
健全性健全性
• Bをacceptさせられるなら、Aはsを知っている。
2011/1/13 confidential 42
健全性健全性
• Bをacceptさせられるなら、Aはsを知っている。
• Aをサブルーチンとして使って、sを求めることができるができる
2011/1/13 confidential 43
定理定理
が• AがBをacceptさせられる
• Aをサブルーチンとして使って、
sを求めることができるsを求めることができる
2011/1/13 confidential 44
証明証明
A B
ランダム
x
c←ランダムc
x =gyvc mod py
2011/1/13 confidential 45
x =gyv mod p
Aを初期状態にリセットAを初期状態にリセット
A B
2011/1/13 confidential 46
もう一度 Aを走らせるもう一度、Aを走らせる
A B
x
2011/1/13 confidential 47
証明証明
A B
’ ランダム
x
’ c’←ランダムc’
2011/1/13 confidential 48
証明証明
A B
’ ランダム
x
’ c’←ランダムc’
x =gy’vc’ mod py’
2011/1/13 confidential 49
x =gy v mod p
証明証明
A B
x
’c, c’
x =gy’vc’ mod py, y’x =gyvc mod p
2011/1/13 confidential 50
x =gy v mod p
証明証明
A B
x
’v –(c-c’) =gy-y’ mod p
c, c’1 =gy-y’vc-c’ mod p
x =gy’vc’ mod py, y’x =gyvc mod p
2011/1/13 confidential 51
x =gy v mod p
証明証明
A B
v =g-(y-y’)/(c-c’) mod px
’v –(c-c’) =gy-y’ mod pv =g (y y )/(c c ) mod p
c, c’1 =gy-y’vc-c’ mod p
x =gy’vc’ mod py, y’x =gyvc mod p
2011/1/13 confidential 52
x =gy v mod p
証明証明v=g-s mod p
A B
v =g-(y-y’)/(c-c’) mod px
’v –(c-c’) =gy-y’ mod pv =g (y y )/(c c ) mod p
c, c’1 =gy-y’vc-c’ mod p
x =gy’vc’ mod py, y’x =gyvc mod p
2011/1/13 confidential 53
x =gy v mod p
証明証明v=g-s mod p
A B
v =g-(y-y’)/(c-c’) mod ps=(y-y’)/(c-c’)
x
’v –(c-c’) =gy-y’ mod pv =g (y y )/(c c ) mod p
c, c’1 =gy-y’vc-c’ mod p
x =gy’vc’ mod py, y’x =gyvc mod p
2011/1/13 confidential 54
x =gy v mod p
敵のモデル敵のモデル
• 学習段階
• なりすまし段階なりすまし段階
2011/1/13 confidential 55
学習段階学習段階
A Bs
r←ランダムx=gr mod p
ランダム
x
c←ランダムc
x =gyvc mod p
y=r+sc mod q
y
2011/1/13 confidential 56
x =gyv mod pをチェック敵:盗聴
なりすまし段階なりすまし段階
敵 B
ランダム
x
c←ランダムc
x =gyvc mod py
2011/1/13 confidential 57
x =gyv mod p
定理定理
• なりすましに成功する敵が存在したと仮定すると、離散対数問題を解ける。数
2011/1/13 confidential 58
v=g-s mod p
B
学習段階なりすまし段階
(x’’,c’’,y’’) 敵 B
x
c
敵
c
y
2011/1/13 confidential 59s
v=g-s mod p
学習段階なりすまし段階
(x’’,c’’,y’’) 敵 B
x
c c’
敵
c,c
y,y’
2011/1/13 confidential 60
v=g-s mod p
学習段階なりすまし段階
(x’’,c’’,y’’) 敵 B
x
c c’
敵
c,c
y,y’
2011/1/13 confidential 61s=(y-y’)/(c-c’)
Schnorrのデジタル署名Schnorrのデジタル署名公開鍵:v =g-s mod p
A A秘密鍵:s
g p
r←ランダムx=gr mod p
H( )
x
c=H(x,m)
平文my=r+sc mod q
y
2011/1/13 confidential 62
Schnorrのデジタル署名Schnorrのデジタル署名公開鍵:v =g-s mod p
A A秘密鍵:s
g p
B
r←ランダムx=gr mod p
H( )
x
x =gyvc mod p
c=H(x,m)
平文m
を計算y=r+sc mod q
y σ=(c,y)c=H(x m)
2011/1/13 confidential 63署名文
c=H(x,m)をチェック
選択平文攻撃選択平文攻撃
署名署名オラクル
平文 m 署名文 σ
敵公開鍵 (平文* 署名文*)公開鍵 (平文 、署名文 )
2011/1/13 confidential 64
ランダム・オラクル・モデルにおける選択平文攻撃
署名署名オラクル
平文 m 署名文 σ
敵公開鍵 (平文* 署名文*)公開鍵 (平文 、署名文 )
乱数 c=H(m x)( ) 乱数 c=H(m,x)(m, x)
2011/1/13 confidential 65Hオラクル
定理定理
ROモデルにおいて• ROモデルにおいて、
Schnorrの署名に対し、確率εで偽造に成功する敵Aが存在する。
ただし、
AはHオラクルに高々h回質問すると仮定する。
• Schnorrの認証法において 確率ε/hで• Schnorrの認証法において、確率ε/hでなりすましに成功する敵Bが存在する。
2011/1/13 confidential 66
ランダム・オラクル・モデルにおける選択平文攻撃
署名署名オラクル
平文 mi署名文 σi
敵 A公開鍵 v (m* c* y*)公開鍵 v (m 、c , y )
乱数 c =H(m x )( ) 乱数 cj=H(mj,xj)(mj, xj)
2011/1/13 confidential 67Hオラクル
なりすましの敵 Bなりすましの敵 B
署名オラクル
平文 mi署名文 σi
な
偽造の敵 Av (m* c* y*)公開鍵 v
なりすます敵 A (m 、c , y )
乱数 c =H(m x )( )
公開鍵 すぞ!
乱数 cj=H(mj,xj)(mj, xj)
2011/1/13 confidential 68Hオラクル
Bのなりすまし戦略Bのなりすまし戦略• 偽造の敵Aは、Hオラクルに
偽造用の(m*, x*)をk番目に質問する。B
偽造の敵A
B
敵A
(m* x*) 相手(m ,x ) 相手
Hオラクル
2011/1/13 confidential 69
Bはkをランダムに推測Bはkをランダムに推測
Bは *をAに送る• Bは、x*をAに送る。
敵
(m*,x*)B 相手
(m ,x )=
x*Hオラクル
2011/1/13 confidential 70
Bのなりすまし戦略Bのなりすまし戦略
が• 相手がc*を返してきた。
敵
(m*,x*)B 相手
(m ,x )=
x*
c*
Hオラクル
2011/1/13 confidential 71
Bのなりすまし戦略Bのなりすまし戦略
• Bは、c*=H(m*,x*)とする。
B 相手敵 A
B 相手
x*(m*,x*) c*=H(m* x*)
=
x
c*
(m ,x ) c =H(m ,x )
Hオラクル
2011/1/13 confidential 72Bの内部
Bは Aを最後まで走らせるBは、Aを最後まで走らせる
造• Aは、偽造(m*,c*,y*)を出力する。
B 相手敵 A (m*, c*, y*)
x*(m*,x*) c*=(m*,x*)
c*
Hオラクル
2011/1/13 confidential 73Bの内部
Bは このy*を相手に返すBは、このy を相手に返す。
( * * *)及び *は正しい偽造なので• (m*,c*,y*)及びx*は正しい偽造なので、検査式 x*=g y* v c* mod pを満たす
B 相手敵 A (m*, c*, y*)
x*(m*,x*) c*=H(m*,x*)
c*
Hオラクル y*
2011/1/13 confidential 74Bの内部
よって 相手はacceptするよって、相手はacceptする。
( * * *)及び *は正しい偽造なので• (m*,c*,y*)及びx*は正しい偽造なので、検査式 x*=g y* v c* mod pを満たす
B 相手敵 A (m*, c*, y*)
x*(m*,x*) c*=H(m*,x*)
c*
Hオラクル y* accept
2011/1/13 confidential 75Bの内部
これで Bはなりすましに成功これで、Bはなりすましに成功。
( * * *)及び *は正しい偽造なので• (m*,c*,y*)及びx*は正しい偽造なので、検査式 x*=g y* v c* mod pを満たす
B 相手敵 A (m*, c*, y*)
x*(m*,x*) c*=H(m*,x*)
c*
Hオラクル y* accept
2011/1/13 confidential 76Bの内部
さて、Bは署名オラクルをどうシミュレート
B署名
オラクル
B
平文 mi
敵 Av (m* c* y*)公開鍵 v (m 、c , y )公開鍵
2011/1/13 confidential 77Hオラクル
零知識性の証明の要領で零知識性の証明の要領で
署名オラクル
平文 mi
ci, yi ←ランダムxi←gyivci
署名文 ( )
敵 Av (m* c* y*)公開鍵 v
署名文 σi=(ci,yi)
(m 、c , y )公開鍵
2011/1/13 confidential 78Hオラクル
HオラクルのシミュレートHオラクルのシミュレート
署名オラクル
平文 mici, yi ←ランダムxi←gyivci
σ (c y )
敵 Av (m* c* y*)公開鍵 v
σi=(ci,yi)
(m 、c , y )
( )
公開鍵
(mi, xi)
2011/1/13 confidential 79Hオラクル
ci=H(mi,xi) とすれば、i i iσi=(ci,yi)は検査式を満たす
署名オラクル
平文 mici, yi ←ランダムxi←gyivci
σ (c y )
敵 Av (m* c* y*)公開鍵 v
σi=(ci,yi)
(m 、c , y )
( )
公開鍵
ci=H(mi,xi)(mi, xi)
2011/1/13 confidential 80Hオラクル
平文m 署名文σ=(c y)の検査法平文m, 署名文σ=(c,y)の検査法
• x=gyvc mod p とおく。
• c=H(m x) をチェックc H(m,x) をチェック
2011/1/13 confidential 81
Bは 両オラクルを正しくシミュレートBは、両オラクルを正しくシミュレート
署名オラクル
平文 mici, yi ←ランダムxi←gyivci
σ (c y )
敵 Av (m* c* y*)公開鍵 v
σi=(ci,yi)
(m 、c , y )
( )
公開鍵
ci=H(mi,xi)(mi, xi)
2011/1/13 confidential 82Hオラクル
証明証明
境 全• これで、BはAの環境を完全にシミュレート
• よって、Aは最後まで走り、よって、Aは最後まで走り、
偽造(m*,c*,y*)を出力
• Bは、それを使ってなりすましに成功。
証明終わり
2011/1/13 confidential 83
定理定理
確• Schnorrの署名に対し、確率εで偽造に成功する敵Aが存在する。偽造に成功する敵Aが存在する。
• Schnorrの認証法において 確率ε/hで• Schnorrの認証法において、確率ε/hでなりすましに成功する敵Bが存在する。
2011/1/13 confidential 84
定理定理
確• Schnorrの署名に対し、確率εで偽造に成功する敵Aが存在する。偽造に成功する敵Aが存在する。
• Schnorrの認証法において 確率ε/hで• Schnorrの認証法において、確率ε/hでなりすましに成功する敵Bが存在する。
• 確率(ε/h)2で離散対数問題を解ける
2011/1/13 confidential 85
演習演習
書• 教科書p.49, 問5.3, 問5.4
2011/1/13 confidential 86