情報セキュリティ特論(1 - kaoru kurosawa...

73
情報セキュリティ特論(1情報セキュリティ特論(1黒澤 (茨城大学) 黒澤 (茨城大学) [email protected] 2011/1/13 confidential 1

Upload: others

Post on 25-Sep-2019

1 views

Category:

Documents


0 download

TRANSCRIPT

情報セキュリティ特論(1)情報セキュリティ特論(1)

黒澤 馨 (茨城大学)黒澤 馨 (茨城大学)

[email protected]

2011/1/13 confidential 1

教科書・参考書教科書・参考書

現代暗号 の招待現代暗号への招待:

黒澤 馨 (著), ( ),サイエンス社

現代暗号の基礎数理

黒澤馨、尾形わかは(著)

電子情報通信学会編(コロナ社)電子情報通信学会編(コロナ社)

2011/1/13 confidential 2

講義内容講義内容

• 暗号の歴史

• 確率確率

• メッセージ認証コード

2011/1/13 confidential 3

暗号の歴史暗号の歴史

ザ 鍵• シーザー暗号から公開鍵暗号まで

2011/1/13 confidential 4

暗号

来•従来:軍事・外交軍事・外交

•現在:ビジネス 個人のプライバシビジネス、個人のプライバシ

2011/1/13 confidential 5

シーザー暗号(1)

•(平文) H A L↓ ↓ ↓

•(暗号文) I B M(暗号文) I B M

2011/1/13 confidential 6

シーザー暗号(2)

ゴ ズ•アルゴリズム何文字かずらすという手順何文字かずらすという手順

•鍵ずらす文字数ずらす文字数

2011/1/13 confidential 7

外交と暗号

ワシントン軍縮交渉(1921年)•ワシントン軍縮交渉(1921年)軍艦保有数の英米と日本の比率軍艦保有数の英米と日本の比率

本 主張•日本の主張 10:7•譲歩の用意 10:6•譲歩の用意 10:6(暗号解読で知られていた)

2011/1/13 confidential 8

紫暗号(旧海軍)

•解読するのは至難のわざ解読するのは至難のわざ

•米の天才フリードマンらが成功ミッドウェイ海戦に圧勝ミッドウェイ海戦に圧勝山本五十六大将の戦死山本 十 大将 戦死

2011/1/13 confidential 9

エニグマ暗号(ドイツ)

•解読するのは至難のわざ解読するのは至難のわざ

•英の天才チューリングらが成功Uボ トの被害減少Uボートの被害減少

2011/1/13 confidential 10

天才チューリング

•チューリング賞チュ リング賞

グ機械•チューリング機械計算可能とは何か計算可能とは何か

2011/1/13 confidential 11

世界初のコンピュータ

•コロッサス(英、1943年)コロッサス(英、1943年)エニグマ暗号の解読

•戦後 処分•戦後、処分設計図も焼却処分厳重な緘口令

2011/1/13 confidential 12

栄誉はエニアックへ

•1945年1945年米ペンシルバニア大学の

カ と クエッカートとモークリー

•18,000本の真空管•毎秒5,000回の計算

2011/1/13 confidential 13

アメリカでは

•ウィーナーウィ ナ砲弾を命中させるために計算機 製作を言上計算機の製作を言上

•ノイマン•ノイマンプログラム内蔵を提唱

•シャノン情報理論

2011/1/13 confidential 14情報理論

発熱しない真空管を作れ

•1947年 トランジスタ1947年 トランジスタブラッテンバ デバーディンショックレーショックレ

•1954年 パラメトロン後藤英

2011/1/13 confidential 15後藤英一

戦後の暗号

•計算機を利用した解読計算機を利用した解読

計算機を利 た製作•計算機を利用した製作

•計算機を所有していたのは政府機関と軍関係のみ

2011/1/13 confidential 16

1960年代

•計算機の性能向上計算機の性能向上

般企業も所有•一般企業も所有し、

•暗号を送金や商取引に

標準化の要望2011/1/13 confidential 17

•標準化の要望

S暗号DES暗号

•1976年米国標準暗号に制定米国標準暗号に制定

•アルゴリズムは公開鍵 み秘密鍵のみ秘密

平文=64ビット平文=64ビット暗号文=64ビット

2011/1/13 confidential 18鍵長=56ビット

Deep Crack

•1999年1999年DES暗号を22時間で破る

•製作費用•製作費用わずか25万ドル

2011/1/13 confidential 19

AES暗号

•次期暗号をコンテストで募る次期暗号をコンテストで募る

決定( 年)•Rijndaelに決定(2001年)平文 128ビット平文 128ビット暗号文 128ビット鍵長 128、194、256ビット

2011/1/13 confidential 20

共通鍵暗号の弱点

•送信者と受信者が鍵を共有送信者と受信者が鍵を共有

どうや 鍵を 送するか•どうやって鍵を配送するか ?

スーツケースに入れて運ぶ手間と費用が大変

2011/1/13 confidential 21

公開鍵暗号の登場

•暗号化鍵pkを公開 !!暗号化鍵pkを公開 !!

•復号鍵skのみを秘密

•ただし、、pkからskを求めることは困難

2011/1/13 confidential 22

DHとRSA

•1976年1976年Diffie and Hellman が概念

•1977年•1977年RSA暗号暗号

2011/1/13 confidential 23

英のGCHQ

•実は、1975年以前に実は、1975年以前に公開鍵暗号

•秘密厳守•秘密厳守•特許もとらず

2011/1/13 confidential 24

代表的な公開鍵暗号代表的な公開鍵暗号

• RSA暗号

N=pqの素因数分解の困難さを利用N pqの素因数分解の困難さを利用

• ElGamal暗号

有限巡回群上の離散対数問題を利用

2011/1/13 confidential 25

現代暗号理論

•デジタル署名デジタル署名•電子選挙•電子現金•電子現金•放送型暗号系零知識証明などなど•零知識証明などなど

計算機科学の一大分野に成長

2011/1/13 confidential 26

講義内容講義内容

• 暗号の歴史

• 確率確率

教科書、2章p.8~• メッセージ認証コード

2011/1/13 confidential 27

確率とは確率とは

さ を考 標本空間• さいころを考える

1

標本空間

={1,2,・・・,6} Pr(1) Pr(2) ・・・・・・・・・ Pr(6)

U確率分布1|

6確率関数

Pr(1)=Pr(2)=・・・=

( ) ( ) ( )

61

確率分布

6

1 2 3 4 5 6さいころ

2011/1/13 confidential 28

確率とは確率とは

さ を考 標本空間• さいころを考える

1

標本空間

={1,2,・・・,6} Pr(1) Pr(2) ・・・・・・・・・ Pr(6)

U確率分布1|

6確率関数

Pr(1)=Pr(2)=・・・=

( ) ( ) ( )

61

確率分布

6

(1) i 1 6に対し

1 2 3 4 5 6さいころ

(1) i = 1,・・・,6に対し

Pr(i)≧0(2) P (1) P (6) 1(2) Pr(1)+・・・+Pr(6) = 1

2011/1/13 confidential 29

• 定義1

以下の性質が成り立つとき、

(標本空間 U 確率関数Pr)の組を(標本空間 U、確率関数Pr)の組を

確率分布と呼ぶ

(1) 各 u∈ U に対し、 Pr(u)≧0(2) Σ Pr(u) = 1(2) Σu Pr(u) = 1

2011/1/13 confidential 30

• |U| = 集合Uの要素数

ば• たとえば、

U = { 1, 2, ・・・ , 6 } のとき、|U| = 6U { 1, 2, , 6 } のとき、|U| 6• 定義2

各 ∈ U に対し各 u∈ U に対し、

Pr(u) =1

Pr(u) =

が成り立つ確率分布を一様分布という

U成り 確率分布を 様分布 う

2011/1/13 confidential 31

Pr(A) = + =61

61

31

1|

6

Pr(A) 6 6 3

1 2 3 4 5 61 2 3 4 5 6

2011/1/13 confidential 32

Pr(A) = + =61

61

31

1|

6

Pr(A) 6 6 3

1 2 3 4 5 61 2 3 4 5 6

事象A

2011/1/13 confidential 33

Pr(A) = + =61

61

31

1|

6

Pr(A) 6 6 3

1 2 3 4 5 6

• 定義3

1 2 3 4 5 6

事象A

• 定義3

標本空間Uの部分集合Aを事象と呼び、

Pr(A) = Pr(μ) と定義する

と定義する。

2011/1/13 confidential 34

Pr(A) = + =61

61

31

Pr(A) = 1 - =31

32

1|

6

Pr(A) 6 6 3 Pr(A) 1 3 3

1 2 3 4 5 6

• 定義3

1 2 3 4 5 6

事象A 余事象A

• 定義3

標本空間Uの部分集合Aを事象と呼び、

( ) ( )Pr(A) = Pr(μ) と定義する。

事象Aの補集合Aは余事象と呼ばれ、

Pr(A) = 1 – Pr(A)2011/1/13 confidential 35

Pr(A) = 1 Pr(A)

A B

A∩B

A∪B

2つの部分集合、A,B ⊆ に対し

A∪B

U|A∪B| = |A| + |B| - |A∩B|

2011/1/13 confidential 36

A B

A∩B

A∪B

2つの部分集合、A,B ⊆ に対し

A∪B

U|A∪B| = |A| + |B| - |A∩B|

確率においても、同様に

Pr(A∪B) = Pr(A) + Pr(B) - Pr(A∩B)≦ Pr(A) + Pr(B)

2011/1/13 confidential 37

≦ Pr(A) + Pr(B)

• (例) コインを2枚投げる

2枚目

1枚目H T

H = 表

H

T

H H

T H

H T

T T

T = 裏

標本空間 UT T H T T

Pr(HH)=Pr(HT)=Pr(TH)=Pr(TT)=1/4Pr(HH) Pr(HT) Pr(TH) Pr(TT) 1/4

2011/1/13 confidential 38

• (例) コインを2枚投げる

2枚目

1枚目H T

H = 表

H

T

H H

T H

H T

T T

T = 裏

標本空間 UT T H T T

少なくとも 回は表が出る少なくとも一回は表が出る

事象AA = { HH,HT,TH }, Pr(A) = ¼ + ¼ + ¼ = ¾Pr(A) = ¼ + ¼ + ¼ = ¾

2011/1/13 confidential 39

• (例) コインを2枚投げる

2枚目

1枚目H T

H = 表

H

T

H H

T H

H T

T T

T = 裏

標本空間 UT T H T T

少なくとも 回は表が出る少なくとも一回は表が出る

事象AA = { HH,HT,TH }

余事象A余事象AA = { TT },

2011/1/13 confidential 40

条件付確率条件付確率

( ) ①Pr(μ)

• Pr(μ| B) = if μ∈B ①

• Pr(μ| B) = 0 if μ B ②

(μ)Pr(B)

(μ| ) μ ②

事象A ⊆ の条件付確率U事象 の条件付確率

Pr(A|B) = Pr(μ|B) Aμ

P (A∩B)= ③

Pr(A∩B)Pr(B)

⇒ Pr(A∩B) = Pr(A|B) ・ Pr(B)

2011/1/13 confidential 41

B1 B2 Bn・・・・・・・・

= U

B1 B2 Bn

AA

• 標本空間 がn個の事象

割 仮

UB1,B2,・・・,Bnに分割されていると仮定する。

すると、任意の事象Aに対し

Pr(A) = Pr(A∩B) = Pr(A|B )・Pr(B )n

n

Pr(A) = Pr(A∩Bi) = Pr(A|Bi)・Pr(Bi)i 1

i 1

2011/1/13 confidential 42

B1 B2 Bn・・・・・・・・

= U

B1 B2 Bn

AA

Pr(B | A) = Pr(A∩B ) / Pr(A)Pr(B1 | A) = Pr(A∩B1) / Pr(A)

分子 = Pr(A | B ) Pr(B )分子 = Pr(A | B1) ・Pr(B1)分母 = ΣPr(A | Bi)・Pr(Bi)

= Pr(A | B1) ・Pr(B1) / ΣPr(A | Bi)・Pr(Bi)

2011/1/13 confidential 43

B1 B2 Bn・・・・・・・・

= U

B1 B2 Bn

AA

ベイズの定理

Pr(B1 | A) = Pr(A | B1) ・Pr(B1) / ΣPr(A | Bi)・Pr(Bi)

2011/1/13 confidential 44

講義内容講義内容

• 暗号の歴史

• 確率確率

• メッセージ認証コード

教科書, p.12~

2011/1/13 confidential 45

なりすまし攻撃なりすまし攻撃

アリス ボブ

好き

2011/1/13 confidential 46

改ざん攻撃改ざん攻撃

アリス ボブきらい好き

2011/1/13 confidential 47

メッセージ認証メッセージ認証平文 認証子

アリス鍵 K

ボブ鍵 K

(好き,Tag)鍵 K 鍵 K

なりすまし攻撃敵

・なりすまし攻撃

・改ざん攻撃

2011/1/13 confidential 48

方式方式

• p=大きな素数

• 鍵 K=(a b) ← {0 1 p-1}鍵 K (a,b) ← {0, 1, …, p 1}• 平文 m ∈ {0, 1, …, p-1}• Tag=a・m+b mod p

2011/1/13 confidential 49

送信者のアルゴリズム送信者のアルゴリズム

• 平文 m ∈ {0, 1, …, p-1}• 鍵 K=(a b) ← {0 1 p-1}鍵 K (a,b) ← {0, 1, …, p 1}

• アリスは、

Tag =a・m+b mod pTag =a m+b mod pを計算し、(m,Tag)をボブに送る。

2011/1/13 confidential 50

受信者のアルゴリズム受信者のアルゴリズム

• 平文 m ∈ {0, 1, …, p-1}• 鍵 K=(a b) ← {0 1 p-1}鍵 K (a,b) ← {0, 1, …, p 1}

• (m,Tag)を受け取ったボブは、

Tag=a・m+b mod pTag=a m+b mod p• が成り立てばaccept

2011/1/13 confidential 51

メッセージ認証メッセージ認証平文 認証子

アリス鍵 K

ボブ鍵 K

(m,Tag)( b)鍵 K 鍵 K=

(a,b)

= (a,b)

敵,

• p=素数

• 鍵 a,b ← {0,1,2,・・・,p-1} からランダムに選

• 平文 m ∈ {0 1 2 ・・・ p 1}2011/1/13 confidential 52

• 平文 m ∈ {0,1,2,・・・,p-1}

メッセージ認証メッセージ認証平文 認証子

アリス鍵 K

ボブ鍵 K

(m,Tag)( b)鍵 K 鍵 K=

(a,b)

= (a,b)

敵,

Tag = am + b mod p pは素数

• 鍵 a,b ← {0,1,2,・・・,p-1} からランダムに選ぶ

平文 m ∈ {0 1 2 ・・・ p-1}2011/1/13 confidential 53

平文 m ∈ {0,1,2, ,p-1}

定理定理

• 本方式においては、

Pr(なりすまし成功) = 1/pPr(改ざん成功) = 1/p

2011/1/13 confidential 54

なりすまし攻撃なりすまし攻撃

アリスボブ

K=(a b)

m, Tag

K=(a,b)

ボブ accepts ifT b dTag=a×m+b mod p

2011/1/13 confidential 55

なりすまし確率なりすまし確率

アリス ボブ

(m, Tag)=固定

敵 K=(a,b):ランダム

Pr(ボブ accepts)P (T b d= Pr(Tag=a×m+b mod p

となる鍵(a,b)を持っている)

2011/1/13 confidential 56

なりすまし攻撃

b 0 1 2 p 1

なりすまし攻撃

ba

0 (0,0)(0,1)(0,2) (0,p-1)

0 1 2 p-1

・・・

・・・

標本空間 U21 (1,0)

(2,0)・・・・・

A・・・p-1

・・・

(p-1,0) (p-1,p-1)・・・・・・・・・

Tag = a m + b mod pTag = a m + b mod pとなる(a,b)の集合A

2011/1/13 confidential 57

ba

0 (0 0)(0 1)(0 2) (0 p-1)

0 1 2 p-1

・・・

・・・

標本空間 U210 (0,0)(0,1)(0,2) (0,p-1)

(1,0)(2,0)

・・・・A 標本空間 U

・・・p-1

( , )

・・・

・・・

(p-1 0) (p-1 p-1)・・・・・・・・・

A

A = ボブがだまされるという事象

p 1 (p 1,0) (p 1,p 1)

A = ボブがだまされるという事象

= (Tag = a m + b mod p ) が成り立つ事象

固定

2011/1/13 confidential 58

ba

0 (0 0)(0 1)(0 2) (0 p-1)

0 1 2 p-1

・・・

・・・

標本空間 U210 (0,0)(0,1)(0,2) (0,p-1)

(1,0)(2,0)

・・・・

Tag=am+b標本空間 U

・・・p-1

( , )

・・・

・・・

(p-1 0) (p-1 p-1)・・・・・・・・・

mod p

Pr(A) =

p 1 (p 1,0) (p 1,p 1)

この面積Pr(A) =

全面積

2011/1/13 confidential 59

ba

0 (0 0)(0 1)(0 2) (0 p-1)

0 1 2 p-1

・・・

・・・

標本空間 U210 (0,0)(0,1)(0,2) (0,p-1)

(1,0)(2,0)

・・・・

Tag=am+b標本空間 U

・・・p-1

( , )

・・・

・・・

(p-1 0) (p-1 p-1)・・・・・・・・・

mod p

Pr(A) =

p 1 (p 1,0) (p 1,p 1)

この面積Pr(A) =

全面積

この式が成り立つ( b)の個数この式が成り立つ(a,b)の個数

(a,b)の総数=

2011/1/13 confidential 60

ba

0 (0 0)(0 1)(0 2) (0 p-1)

0 1 2 p-1

・・・

・・・

標本空間 U210 (0,0)(0,1)(0,2) (0,p-1)

(1,0)(2,0)

・・・・

Tag=am+b標本空間 U

・・・p-1

( , )

・・・

・・・

(p-1 0) (p-1 p-1)・・・・・・・・・

mod p

Pr(A) =

p 1 (p 1,0) (p 1,p 1)

この式が成り立つ(a,b)の個数Pr(A) =

(a,b)の総数 = p2

2011/1/13 confidential 61

ba

0 (0 0)(0 1)(0 2) (0 p-1)

0 1 2 p-1

・・・

・・・

210 (0,0)(0,1)(0,2) (0,p-1)

(1,0)(2,0)

・・・・

Tag=am+b分子:

aを決めると、・・・p-1

( , )

・・・

・・・

(p-1 0) (p-1 p-1)・・・・・・・・・

mod p aを決めると、bが決まる。

Pr(A) =

p 1 (p 1,0) (p 1,p 1)

この式が成り立つ(a,b)の個数Pr(A) =

(a,b)の総数 = p2

a = 0 → b = taga = 1 → b = tag - m

a = p-1 → b = tag - (p-1)m・・・

p個

2011/1/13 confidential 62

a p 1 → b tag (p 1)m

ba

0 (0 0)(0 1)(0 2) (0 p-1)

0 1 2 p-1

・・・

・・・

標本空間 U210 (0,0)(0,1)(0,2) (0,p-1)

(1,0)(2,0)

・・・・

Tag=am+b標本空間 U

・・・p-1

( , )

・・・

・・・

(p-1 0) (p-1 p-1)・・・・・・・・・

mod p

Pr(A) =

p 1 (p 1,0) (p 1,p 1)

この式が成り立つ(a,b)の個数Pr(A) =

(a,b)の総数

=p a = 0 → b = tag=

=1p 2 a = 1 → b = tag - m

a = p-1 → b = tag - (p-1)m・・・

p個

2011/1/13 confidential 63p a p 1 → b tag (p 1)m

∀ P( )• ∀x ,P(x)全てのx各各x任意のxF

に対し、P(x)が成り立つ

For any x

• ∀x ,∀y,P(x,y), y, ( ,y)全ての(x,y)

各(x,y) に対し、P(x,y)が成り立つ各( ,y)任意の(x,y)

に対し、P(x,y)が成り立つ

1• ∀m, ∀Tag, Pr(なりすまし攻撃でボブが騙される) = p

1

2011/1/13 confidential 64

改ざん攻撃改ざん攻撃

アリス ボブ(m,Tag) (m’,Tag’)鍵 K 鍵 K=

( b)

= (a,b)m’ ≠ m

敵(a,b)

2011/1/13 confidential 65

改ざん攻撃改ざん攻撃

アリス ボブ(m,Tag) (m’,Tag’)鍵 K 鍵 K=

( b)

= (a,b)事象A m’ ≠ m

敵(a,b)

if accept = 事象B

2011/1/13 confidential 66

改ざん攻撃改ざん攻撃

任意に固定

アリス ボブ(m,Tag) (m’,Tag’)鍵 K 鍵 K=

( b)

= (a,b)事象A

敵(a,b)

if accept = 事象B

2011/1/13 confidential 67

• 事象A = {(a,b)| Tag = a・m + b mod p }• 事象B = {(a,b)| Tag’ = a・m’ + b mod p }

• ∀m, ∀Tag, ∀m’(≠m), ∀Tag’Pr(ボブが騙される)

P (A∩B)= Pr(B|A) = Pr(A∩B)Pr(A)

= 事象A,Bが成り立つ(a,b)の数

事象Aが成り立つ(a b)の数p1=

2011/1/13 confidential 68

事象Aが成り立つ(a,b)の数p

方式方式

平文 {0 1 1}• 平文 m ∈ {0, 1, …, p-1}• 鍵 (a,b) ← {0, 1, …, p-1}( , ) { , , , p }• アリスは、

Tag=a・m+b mod pTag=a・m+b mod pを計算し、(m,Tag)をボブに送る。

• ボブは、

Tag=a・m+b mod pTag a m+b mod p• が成り立てばaccept

2011/1/13 confidential 69

定理定理

• 本方式においては、

Pr(なりすまし成功)=1/pPr(なりすまし成功) 1/pPr(改ざん成功)=1/p

2011/1/13 confidential 70

長いメッセージの場合長いメッセージの場合

• 平文 m1, m2 ∈ {0, 1, …, p-1}• 鍵 (a b c) ← {0 1 p-1}鍵 (a, b, c) ← {0, 1, …, p 1}• Tag=a・m1+b・m2+c mod p

2011/1/13 confidential 71

演習(1)演習(1)

• この方式においても、

Pr(なりすまし成功)=1/pPr(なりすまし成功) 1/pPr(改ざん成功)=1/p

が成り立つことを証明せよ。

2011/1/13 confidential 72

演習(2)演習(2)

以下の方式の以下の方式の

Pr(なりすまし成功)、Pr(改ざん成功)( ) (改 )を求めよ。

• 平文 m1, m2 ∈ {0, 1, …, p-1}• 鍵 (a, c) ← {0, 1, …, p-1}• Tag=a・m1+a2・m2+c mod pTag a m1+a m2+c mod p

2011/1/13 confidential 73