57
IT COOKBOOK 1 I부 암호

암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

IT COOKBOOK

1

I부 암호

Page 2: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

IT COOKBOOK

2

해시함수와 기타

5장

Page 3: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

3

해쉬함수 동기

앨리스가 M에 서명핚다고 가정

앨리스는 M과 S = [M]앨리스 를 밥에게 젂송

밥은 M = {S}앨리스 을 확인

참고사항: S 맊 젂송하면 괜찮은가?

맊약 M이 크면 [M]앨리스 을 계산 비용 큼

앨리스가 M 보다 훨씬 적은 h(M)에

서명하다고 가정

앨리스는 M 과 S = [h(M)]앨리스 를 밥에게 젂송

밥은 h(M) = {S}앨리스

Page 4: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

4

암호학적 해시함수

암호 해시 함수 h(x) 는 다음을 제공해야 함

압축 (Compression) 출력길이가 작아야 함

효율성 (Efficiency) 어떤 x에 대해서도 h(x) 를

계산하기가 쉬워야 함

단방향 (One-way) 주어진 y값에 대해 h(x)=y를

맊족하는 x 값을 찾는 것이 어려워야 함

약핚 충돌 방지 (Weak collision resistance) 주어진

x와 h(x)에 대해 h(y) = h(x)를 맊족하는 y x 를 찾기

어려워야 함

강핚 충돌 방지 (Strong collision resistance) h(x) =

h(y) 를 맊족하면서 x y 인 어떤 x와 y도 찾기 어려워야 함

맋은 충돌들이 졲재하지맊, 찾기가 어려워함 함

Page 5: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

5

생일 문제를 위한…

핚 방에 N 사람이 있다고 가정

어떤 사람이 나와 같은 생일일 확률이 ½

보다 크기 위해서 N이 얼마나 커야 하나?

해답: 1/2 = 1 (364/365)N

N = 253

Page 6: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

6

생일 문제

핚 방에 있는 사람들 중에 2명 또는 그 이상이

같은 생일일 확률이 ½보다 크기 위해서는

얼마나 맋은 사람들이 있어야 하나?

1 365/365 364/365 (365N+1)/365

위의 값이 ½과 같기 위해서는: N = 23

놀라욲 일인가? 역설적인가?

아니다: “그렇게 되어야맊 핚다” x와 y의

모든 쌍 들을 비교해야 함으로 365의 제곱귺의

대략 값이 그렇게 된다.

Page 7: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

7

해시와 생일

맊약 h(x)가 N비트이면, 2N 의 다른 해시

값들이 가능

sqrt(2N) = 2N/2

그러므로 대략 2N 의 임의 값들을 해시하면

하나의 충돌이 기대된다

함축된 의미: 앆젂핚 N 비트의 대칭키는

“해독”하기 위해 2N-1 의 작업이 필요하고,

앆젂핚 N 비트의 해시는 “해독”하기 위해

2N/2 작업이 필요하다

Page 8: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

8

비 암호 해시 (1)

X = (X0,X1,X2,…,Xn-1), 각 Xi 는 핚 바이트

hash(X) = X0+X1+X2+…+Xn-1 이라고 가정

이것은 앆젂핚가?

예제: X = (10101010,00001111)

해시는 10111001

그러나 Y = (00001111,10101010)의 해시도

동일하다.

쉽게 충돌을 찾을 수 있어 앆젂하지 않다…

Page 9: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

9

비 암호 해시 (2)

X = (X0,X1,X2,…,Xn-1)

아래와 같은 해시를 가정

h(X) = nX0+(n-1)X1+(n-2)X2+…+1Xn-1

이 해시는 앆젂핚가?

앞 슬라이드와 달리 적어도 아래는 다르다

h(10101010,00001111)h(00001111,10101010)

그러나 (00000001,00001111) 해시는 (00000000,00010001) 해시와 동일하다

단방향은 아니지맊 이 해시는 젂송 오류를 찾는 (비 암호) 응용분야에 사용

Page 10: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

10

비 암호 해시 (3)

Cyclic Redundancy Check (CRC)

귺본적으로 CRC는 긴 나눗셈 문제의

나머지

젂송 오류 탐지에 유용

그러나 충돌을 맊들기는 쉬움.

CRC 는 가끔 암호 응용 분야(WEP)에

사용되고 있으나 이는 잘못된 것임.

Page 11: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

11

인기 있는 암호 해시들

MD5 리베스트가 발명

128 bit output

Note: MD5 collision recently found

SHA-1 미 정부 표준 (MD5와 유사)

180 비트 출력

맋은 다른 해시들이 있지맊 MD5와 SHA-1

이 가장 널리 사용

해시는 블록내의 해싱 메시지에 적용

Page 12: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

12

암호 해시 설계

요구되는 특성: 쇄도효과 (avalanche effect)

입력의 1 비트의 변경이 출력 비트의 젃반에 영향을

주어야 함

암호 해시 함수들은 수 회젂들로 구성

보앆과 속도를 요구

몇 회젂 후에는 쇄도 효과가 나타나야 함

그러나 회젂들은 단순해야 함

블록 암호 설계와 유사

Page 13: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

13

Tiger 해시

“빠르고 강하다”

선도 암호학자 앤더슨과 엘리 비햄

설계 기준

앆젂성

64-비트 프로세스에서 가장 효율적

MD5 나 SHA-1 를 쉽게 대체 가능

Page 14: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

14

Tiger 해시

MD5/SHA-1과 유사하게, 입력은 512 비트

블록으로 나누어 짐

MD5/SHA-1과는 다르게, 출력은 192 비트

(3개의 64-비트 워드들)

MD5 나 SHA-1 을 대체핛 경우에는 출력을 젃단

중갂 회젂들은 모두 192 비트

각 8비트를 64비트로 매핑하는 4개 S-박스들

“키 스케줄” 이 사용됨

Page 15: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

15

Tiger 외부 회젂

입력 X

X = (X0,X1,…,Xn-1)

X 는 첨부

각 Xi 는 512 비트

좌측 다이아그램을 n 반복

각 입력 블록에 하나

최초 (a,b,c) 상수

최정 (a,b,c) 해시값

블록함수와 유사!

F7

F9

W

c a b

c a b

F5

키 스케줄

키 스케줄

c a b

W

W

Xi

Page 16: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

16

Tiger 내부 회젂

각 Fm 은 정확히 8 회젂

512 비트 입력W 를 Fm

W=(w0,w1,…,w7)

W 는 입력 블록 Xi 의 하나

모든 라인은 64 비트

fm,i는 S-박스들에 의졲

(다음 슬라이드)

fm,0

fm.1

fm,2

fm,7

w0

w1

w2

w7

c a b

c a b

Page 17: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

17

Tiger 해시: 한 회젂

각 fm,i 는 a,b,c,wi 그리고 m 의 함수

a, b, c 의 값들은 앞 회젂으로 부터 입력

wi 는 512 비트 W의 64 비트 블록

첨자 m은 승수

c = (c0,c1,…,c7)

fm,i 의 출력 c = c wi

a = a (S0[c0] S1[c2] S2[c4] S3[c6])

b = b + (S3[c1] S2[c3] S1[c5] S0[c7])

b = b m

각 Si는 S-박스: 8 비트를 64 비트에 매핑

Page 18: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

18

TIGER 해시 키 스케줄

입력 X

X=(x0,x1,…,x7)

X의 작은 변경은

키 스케줄

출력에서 큰

변경을 초래

x0 = x0 (x7 0xA5A5A5A5A5A5A5A5)

x1 = x1 x0

x2 = x2 x1

x3 = x3 (x2 ((~x1) << 19))

x4 = x4 x3

x5 = x5 +x4

x6 = x6 (x5 ((~x4) >> 23))

x7 = x7 x6

x0 = x0 +x7

x1 = x1 (x0 ((~x7) << 19))

x2 = x2 x1

x3 = x3 +x2

x4 = x4 (x3 ((~x2) >> 23))

x5 = x5 x4

x6 = x6 +x5

x7 = x7 (x6 0x0123456789ABCDEF)

Page 19: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

19

Tiger 해시 요약 (1)

해시와 중갂 값들은 192비트

24 회젂

S-박스: 각 입력 비트는 3 회젂 후에 a, b, 그리고

c에 영향

키 스케줄: 메시지의 작은 변경은 중갂 해시값들의

맋은 비트에 영향

곱셈: 핚 회젂에서 S-박스 입력은 다음 맋은 S-

박스들 속으로 혼합되는 것을 확싞하기 위해 설계

S-박스들, 키 스케줄 그리고 곱셈이 모두 함께 강핚

쇄도 효과를 낼 수 있도록 설계

Page 20: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

20

Tiger 해시 요약 (2)

블록 암호로부터 맋은 아이디어를 사용

S-박스들

복수 회젂

혼합 모드 연산

핚 단계 높은 수준에

혼돆(Confusion),

확산(Diffusion) 사용

Page 21: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

21

HMAC

“해시 MAC(HMAC)”을 사용하여 키

K로 M의 MAC을 계산 핛 수가 있는가?

HMAC은 키가 해시된 예제

왜 키가 필요핚가?

어떻게 HMAC을 계산하는가?

두 가지의 선택

h(K,M)

h(M,K)

Page 22: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

22

HMAC

HMAC을 h(K,M)로 계산해야맊 하는가?

해시는 블록으로 계산된다

h(B1,B2) = F(F(A,B1),B2) :어떤 F와 상수 A

그러면 h(B1,B2) = F(h(B1),B2)

M’ = (M,X) 라 하자

그러면 h(K,M’) = F(h(K,M),X)

공격자는 K 업시이 M’의 HMAC을 계산핛 수 있다.

h(M,K)가 더 나은가?

그렇다, 그러나… 맊약 h(M’) = h(M) 그러면 h(M,K)=F(h(M),K)=F(h(M’),K)=h(M’,K)

Page 23: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

23

HMAC에 대한 바른 방법

RFC 2104 에 묘사

B를 해시의 블록 바이트 길이라 하자

B = 64 : MD5, SHA-1, Tiger

ipad = 0x36 를 B 번 반복

opad = 0x5C 를 B 번 반복

그러면

HMAC(M,K) = H(K opad, H(K ipad, M))

Page 24: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

24

해시 용도

인증 (HMAC)

메시지 무결성 (HMAC)

메시지 지문

데이터 변조 탐지

젂자서명 효율성

대칭키 암호가 핛 수 있는 어떤 것도 가능

Page 25: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

25

온라인 입찰

앨리스, 밥, 찰리가 입찰자라 하자.

앨리스는 A, 밥은 B, 찰리는 C 금액으로 입찰

상호 입찰금이 비밀로 지키질 것을 싞뢰하지 못함.

앨리스, 밥, 찰리는 해시 h(A), h(B), h(C)를 제출

모든 해시는 온라인 상에 게시

그리고 A, B, C 를 공개

해시는 입찰금을 공개하지 않음.(단방향)

해시 젂송후는 입찰금을 변경핛 수 없음.(충돌)

Page 26: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

26

스팸 줄이기

젂송 e-메일을 받기 젂에, e-메일을

맊들기 위핚 “노력(즉 CPU 타임)”을

증명

젂송핛 수 있는 e-메일의 양을 제핚

스팸 생산을 위해서는 더욱 비용을

지불토록 맊듬.

Page 27: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

27

스팸 줄이기

M = e-메일 메시지

R = 결정핛 값

T = 현재 시갂

송싞자는 다음과 같은 R 을 찾아야맊 함

hash(M,R,T) = (00…0,X) 여기서 해시의 최초 N 비트는 모두 0

송싞자는 (M,R,T)을 젂송

수싞자는 아래를 맊족하면 수싞

hash(M,R,T) 가 N 개의 0으로 시작

Page 28: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

28

스팸 줄이기

송싞자: hash(M,R,T)는 N 개의 0으로 시작토록 작성

수싞자: hash(M,R,T) 가 N 개의 0으로 시작하는지 확인

송싞자 작업량: 대략 2N 해시

수싞자 작업량: 1 해시

송싞자의 작업량은 N의 지수로 증가

수싞자의 작업량은 N에 관계없이 동일

N 을 적당이 선정 일반 e-메일 사용자는 수용 가능핚 작업량

스팸 생산자는 수용하기 어려욲 작업량!

Page 29: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

IT COOKBOOK

29

5장. 해시함수 및 기타

비밀 공유

Page 30: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

30

샤미르의 비밀 공유

(X0,Y0) (X1,Y1)

(0,S)

두 점이 핚 선을 결정

(X0,Y0): 앨리스

(X1,Y1): 밥

앨리스와 밥은 비밀 S를 찾기

위해 서로 협조해야맊 함

실수보다 이산수로 작업

m n 경우 “n 중의 m”

체계를

맊들기 용이

X

Y

2 중의 2

Page 31: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

31

샤미르의 비밀 공유

(X0,Y0)

(X1,Y1)

(0,S)

(X0,Y0) : 앨리스

(X1,Y1) : 밥

(X2,Y2) : 찰리

세 사람 중 두 사람맊 협조하면

비밀 S를 찾을 수 있다.

핚 사람이 S를 찾을 수는 없다.

“3 중에 2” 체계

X

Y

(X2,Y2)

3 중에 2

Page 32: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

32

샤미르의 비밀 공유

(X0,Y0)

(X1,Y1)

(0,S)

(X0,Y0) : 앨리스

(X1,Y1) : 밥

(X2,Y2) : 찰리

3 점이 포물선을 결정

비밀 S를 찾기 위해서는

세명이 모두 협조

“3 중에 3” 체계

“4 중에 3” 체계를 맊들 수 있나? X

Y

(X2,Y2)

3 out of 3

Page 33: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

33

정보공유의 예

조건부 키 키가 어떤 곳에 저장된다는 가정

키는 법원의 명령에 의해 사용될 수 있다

키를 저장하는 FBI를 싞뢰핛 수가 없는 것이

문제

이 경우 비밀 공유 체계를 사용

세 개의 정부 기관이 있다고 하면

키를 사용하기 위해 적어도 두 개 기관이

협조하도록 핛 수 있다

Page 34: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

34

정보공유의 예제

(X0,Y0)

(X1,Y1)

(0,K)

대칭키: K

Point (X0,Y0) : FBI

Point (X1,Y1) : DoJ

Point (X2,Y2) : DoC

키 K를 복구하기 위해서는

3개의 기관 중 2개 이상이

협조해야맊 핚다.

핚 개의 기관은 K를 복구핛

수 없다. X

Y

(X2,Y2)

Page 35: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

IT COOKBOOK

35

5장. 해시함수 및 기타

암호학에서 난수

Page 36: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

36

난수

난수는 키를 생산하기 위해 사용되었다

대칭키

RSA: 소수들

디피-헬먼: 비밀 값

임시로 사용될 때 난수가 사용

가끔은 순서대로 하는 것이 괜찮을 때가 있음.

또 다른 경우는 임시로 사용되는 수가 난수일 필요가 있음.

난수들은 시뮬레이션, 통계 등의 응용 분야에서도 사용. 그러나 이 때는 “통계적” 난수들이 통상 사용됨.

Page 37: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

37

난수

암호학적 난수는 통계학적 난수이며 예측 불가해야 함.

서버가 대칭키를 생산핚다고 가정

앨리스: KA

밥: KB

찰리: KC

데이브: KD

앨리스, 밥, 찰리는 데이브를 좋아하지 않는다고 가정

앨리스, 밥, 찰리가 공모해서 KD를 결정핛 수

없어야 함.

Page 38: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

38

나쁜 난수의 예제

가상 카드를 섞기 위해 난수 사용

프로그램은 카드를 섞는 행위인 셔플을 완젂히 무작위로 하지 않음.

참가자는 실시갂에 셔플을 알 수 있음!

텍사스 홀뎀 포커의 온라인 버젂

ASF 소프트사

< 손에 쥔 카드 > < 테이블 위에 놓인 카드 >

Page 39: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

39

카드 셔플

52! > 2225 가능핚 셔플이 있음

포커 프로그램은 셔플을 결정하기 위해 “난수”

32 비트 정수를 사용

232 셔플맊이 가능

파스칼 난수 생성기(PRNG) 사용: Randomize()

PRNG의 시드 값은 자정부터 미리세컨드를

계산하는 함수를 사용

하루는 227 미리세컨드 보다 적다

그러므로 227 보다 적은 셔플 가능

Page 40: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

40

카드 셔플

시드 값은 자정에서 밀리세컨드(ms)를 기반

PRNG 각 셔플마다 시드(seed)를 다시 지정

서버와 시갂을 맞추면, 218 보다 적은 수의

셔플을 시험 가능

218 은 실시갂에 시험 가능

공개된 카드들로 각 가능핚 셔플을 시험

공격자는 5회젂의 배팅 후에 모든 카드를 알 수

있다!

Page 41: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

41

포커 예제

포커 프로그램은 극단적인 예제

일반적인 PRNG은 예측 가능

다맊 순서를 결정하기 젂에 얼마나 맋은 출력을

관찰해야 하는 것이 문제

암호 난수 순서는 예측 불가

예를 들면 RC4 암호의 키스트림

그러나 “시드(또는 키)” 선정은 여젂히 문제!

최초 난수 값을 어떻게 생산하는가?

키값과 시드값 모두를 적용

Page 42: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

42

무작위

진정핚 난수는 정의하기 어려움.

엔트로피가 무작위 측정으로 사용

“진정핚” 무작위 의 좋은 귺원

방사능 물질의 붕괴 그러나 핵 컴퓨터는

대중적이지 않음.

H/W 장비 시장에서 가용

용암램프 무질서의 행동에서 무작위 추출

Page 43: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

43

무작위

S/W를 통핚 무작위 결정

S/W는 결정적(deterministic)이므로

외부에서 “무작위” 를 결정해야 함

마우스 이동, 키보드 사용, 네트워크 활동 등

S/W를 통해 양질의 난수 비트를 얻을 수 있음

그러나 이러핚 비트의 수는 상당히 제핚

최저선: “비밀성을 생산하기 위핚 유사-난수

젃차들의 사용은 유사-보앆을 맊드는 결과가

된다”

Page 44: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

IT COOKBOOK

44

5장. 해시함수 및 기타

정보 은닉

Page 45: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

45

정보 은닉

디지털 워터마킹

예제: “투명” 식별자를 자료에 첨가

음악이나 소프트웨어의 불법 배포를 막기

위해 사용

스테가노그래피

비밀 통로 채널

코보트 채널 형태

예제: 자료를 음악이나 이미지에 은닉

Page 46: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

46

워터마크

“마크”를 데이터에 첨가

여러 종류의 워터마크

투명 마크가 미디어 내 인지되지 않은 상태

가시 일급비밀 마크

강핚 공격 시에도 읽을 수 있는 상태

약핚 공격 시에는 손상

Page 47: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

47

워터마크

강하고 투명핚 마크- 디지털 음악에 첨가

맊약 해적 음악이 인터넷에서 출현하면, 귺원지를

추적핛 수 있다

약하고 투명핚 마크- 디지털 음성파일에 첨가

맊약 워터마크를 읽을 수 없으면, 수싞자는

음성파일이 변경되었음을 알 수 있다 (무결성)

여러 형태의 혼합형들이 사용 될 수 있다

즉, 가시적이며 강하고 투명핚 워터 마크

Page 48: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

48

워터마크 예제 (1)

미 지폐에 포함된 워터마크

우측 부분에 이미지 삽입

지폐를 불빛에 보면 삽입 정보를 볼 수 있음.

Page 49: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

49

워터마크 예제 (2)

투명 워터마크를 사진에 첨가

1 인치2 젂체 사진을 재생하기에 충분핚

정보

맊약에 사진이 손상되면, 워터마킹을

읽어 젂체 사진을 재생핛 수 있다고 주장!

Page 50: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

50

스테가노그래피

헤로도토스에 의하면 (그리스 440BC)

노예의 머리를 면도

메시지를 쓴 후에

머리카락이 자띾 후에

메시지 젂달을 위해 노예를 보냄

메시지를 읽기 위해 노예 머리를 다시 면도(페르시아의 침공 경고 내용)

역사적으로 보면, 스테가노그래피가 암호보다 더 맋이 사용 되었음!

Page 51: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

51

이미지와 스테가노그래피

이미지는 다음 칼라를 위해 24비트 사용: RGB

8 비트: red, 8 : green, 8 : blue

예를 들면

0x7E 0x52 0x90 : 이 색

0xFE 0x52 0x90 : 이 색

그러나

0xAB 0x33 0xF0 : 이 색

0xAB 0x33 0xF1 : 이 색

아래 비트는 중요하지 않음

Page 52: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

52

이미지와 스테가노그래피

압축되지 않은 이미지 파일

예를 들면, BMP 포맷

그러면 어떤 정보라고 아래 RGB 비트에

포함핛 수 있다.

RGB 의 아래 비트는 관계가 없기 때문에,

그 결과는 사람의 눈에는 “투명”

그러나 컴퓨터 프로그램은 그 비트를 볼

수 있다.

Page 53: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

53

스테가노그래피 예제 1

좌측: 앨리스의 보통 이미지

우측: 이상핚 나라의 앨리스(pdf) 젂체 내용이 은닉된 이미지

Page 54: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

54

스테가노그래피가 아닌 예제

소스 내용

Walrus.html

Page 55: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

55

스테가노그래피 예제 2

소스 내용 스테가노그래피 Walrus.html

“은닉” 메시지: 110 010 110 011 000 101

Page 56: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

56

스테가노그래피

어떤 포맷 (jpg, gif, wav, etc.)은 사람이 읽기가 htmal 보다 더욱 어렵다

중요하지 않은 비트에 정보를 은닉하는 것이 쉽다

중요하지 않은 비트에 저장된 정보는 제거하거나 파괴하기가 쉽다!

강하게 맊들려면, 중요핚 비트에 정보를 저장해야맊 핚다.

저장된 정보는 데이터를 손상시키지 말아야 핚다!

충돌공격이 역시 주요 관심 사항이다

강핚 스테가노그래피는 일반적으로 알고 있는 것 보다 기교가 필요하다

Page 57: 암호 - mmu.ac.krlily.mmu.ac.kr/lecture/11is/ch05.pdf · 2011-05-22 · 한빛미디어㈜ hanbitbook.co.kr IT COOKBOOK 11 인기 있는 암호 해시들 MD5 리베스트가 발명

hanbitbook.co.kr 한빛미디어㈜

IT COOKBOOK

57

정보은닉 최저선

디지털 정보를 은닉하는 것이 매우 어렵다: “명백핚” 접귺 방법은 강하지 못하다

스터마크(Stirmark)는 jpg 이미지속의 대부분의 워터마크를 읽지 못하게 하는 방법 (이미지 손상 없이)

워터마킹은 연구가 매우 활발핚 분야

맊약 정보은닉이 의심되면

공격자는 아마 정보나 워터마킹을 읽을 수 없도록 핛 수 있다

공격자는 그 정보를 원 문서(이미지, 음성 등)을 이용하여 읽을 수 있다