1. 정보보호 개론 (2)

79
충충충 충충충충 충충 충충충 [ jinmun @ gmail.com ] 충충 충충 충충 충충 충충 충충 1. 1. 충충충충 충충 충충충충 충충 (2) (2)

Upload: wirt

Post on 08-Jan-2016

151 views

Category:

Documents


0 download

DESCRIPTION

1. 정보보호 개론 (2). 목 차. 1. 해쉬 함수 2. 메시지 인증 3. 전자서명. 1.1 해쉬함수 모델. 1.2 해쉬함수 종류. 전용 해쉬 함수 MD4, MD5, SHA, SHA-1, RIPEMD-128/160, HAS-160 블록 암호 기반 해쉬 함수 -DES 기반 Single length MDCs ※ M atyas- M eyer- O seas, D avies- M eyer, M iyaguchi- P reneel MDC-2 MDC-4 모듈러 연산에 기반 해쉬 함수 - PowerPoint PPT Presentation

TRANSCRIPT

충북대 네트워크 보안 연구실[ jinmun @ gmail.com ]

정보 보호 응용정보 보호 응용정보 보호 응용정보 보호 응용

1. 1. 정보보호 개론정보보호 개론 (2)(2)

22007-01 정보보호응용

목 차목 차

1. 해쉬 함수

2. 메시지 인증

3. 전자서명

32007-01 정보보호응용

1.1 1.1 해쉬함수 모델해쉬함수 모델

42007-01 정보보호응용

1.2 1.2 해쉬함수 종류해쉬함수 종류

전용 해쉬 함수MD4, MD5, SHA, SHA-1, RIPEMD-128/160, HAS-160

블록 암호 기반 해쉬 함수 -DES 기반Single length MDCs

※ Matyas-Meyer-Oseas, Davies-Meyer, Miyaguchi-Preneel

MDC-2

MDC-4

모듈러 연산에 기반 해쉬 함수MASH-1, MASH-2

52007-01 정보보호응용

1.3 1.3 전용 해쉬 알고리즘전용 해쉬 알고리즘

MD5

SHA-1

RIPEMD-128/160

HAS-160

62007-01 정보보호응용

MD5 MD5 알고리즘알고리즘

72007-01 정보보호응용

DCBA

B DCA

A B C D

DCBA

MD5 MD5 알고리즘 알고리즘 (( 계속계속 ))

HMD5 처리 과정

fF , ABCD, Yq, T [1-16] 16 회

128512

mod 232

CVq

fG , ABCD, Yq, T [17-32] 16 회

fH , ABCD, Yq, T [33-48] 16 회

fI , ABCD, Yq, T [49-64] 16 회

Yq

CVq+1

82007-01 정보보호응용

MD5 MD5 알고리즘 알고리즘 (( 계속계속 ))

MD5 초기값

A = 0x 0 1 2 3 4 5 6 7

B = 0x 8 9 A B C D E F

C = 0x F E D C B A 9 8

D = 0x 7 6 5 4 3 2 1 0

92007-01 정보보호응용

MD5 MD5 알고리즘 알고리즘 (( 계속계속 ))

MD5 의 HMD5 상수 T [i] 의 값 T [i] = 232 * ABS (sin(i)) 정수부분 ; i 는 라디안

T[1] = D76AA478 T[17] = F61E2562 T[33] = FFFA3942 T[49] = F4292244

T[2] = E8C7B756 T[18] = C040B340 T[34] = 8771F681 T[50] = 432AFF97

T[3] = 242070DB T[19] = 265E5A51 T[35] = 699D6122 T[51] = AB9423A7

T[4] = C1BDCEEE T[20] = E9B6C7AA T[36] = FDE5380C T[52] = FC93A039

T[5] = F57C0FAF T[21] = D62F105D T[37] = A4BEEA44 T[53] = 655B59C3

T[6] = 4787C62A T[22] = 02441453 T[38] = 4BDECFA9 T[54] = 8F0CCC92

T[7] = A8304613 T[23] = D8A1E681 T[39] = F6BB4B60 T[55] = FFEFF47D

T[8] = FD469501 T[24] = E7D3FBC8 T[40] = BEBFBC70 T[56] = 85845DD1

T[9] = 698098D8 T[25] = 21E1CDE6 T[41] = 289B7EC6 T[57] = 6FA87E4F

T[10] = 8B44F7AF T[26] = C33707D6 T[42] = EAA127FA T[58] = FE2CE6E0

T[11] = FFFF5BB1 T[27] = F4D50D87 T[43] = D4EF3085 T[59] = A3014314

T[12] = 895CD7BE T[28] = 455A14ED T[44] = 04881D039 T[60] = 4E0811A1

T[13] = 6B901122 T[29] = A9E3E905 T[45] = D9D4D039 T[61] = F7537E82

T[14] = FD987193 T[30] = FCEFA3F8 T[46] = E6DB99E5 T[62] = BD3AF235

T[15] = A679438E T[31] = 676F02D9 T[47] = 1FA27CF8 T[63] = 2AD7D2BB

T[16] = 49B40821 T[32] = 8D2A4C8A T[48] = C4AC5665 T[64] = EB86D391

102007-01 정보보호응용

MD5MD5 알고리즘 알고리즘 (( 계속계속 ))

MD5 의 HMD5 의 기본 동작

A B C D

A B C D

g

CLSSCLSS

X[K]

T [i]

A, B, C, D : 버퍼의 4 단어

g : 기약 함수 F, G, H, I 중의 하나

CLSS=<<<s :32 비트 순환 좌측 쉬프트

( 로테이션 )

X[k] : 메시지의 q 번째 512 비트 블록 중에서 k 번째 단어 (32 비트 )

T[i] : 행렬 T 에서 i 번째 단어 (32 비트 )

: 법 232 의 덧셈

A, B, C, D : 버퍼의 4 단어

g : 기약 함수 F, G, H, I 중의 하나

CLSS=<<<s :32 비트 순환 좌측 쉬프트

( 로테이션 )

X[k] : 메시지의 q 번째 512 비트 블록 중에서 k 번째 단어 (32 비트 )

T[i] : 행렬 T 에서 i 번째 단어 (32 비트 )

: 법 232 의 덧셈

라운드 기약함수 g g(b,c,d)

1 F(B,C,D) (BC)+(B D)

2 G(B,C,D) (BD)+(CD)

3 H(B,C,D) BCD

4 I(B,C,D) C(B+D)

112007-01 정보보호응용

SHA-1 SHA-1 알고리즘알고리즘

Secure Hash AlgorithmNIST(National Institute of Standards and Technology) 에서

개발1993 년에 표준으로 발표 (FIPS 180)

1995 년에 개선된 버전 발표 (FIPS 180-1) SHA-1

해쉬길이 : 160 비트 (5 개의 32 비트 워드 )

입력 : 264 비트 보다 작은 임의의 크기의 입력 512 비트 단위로 적용 전체 입력의 크기가 512 비트의 배수가 아니면 padding 을 한다 .

– 마지막 64 비트에는 실제 크기를 기록한다 .

122007-01 정보보호응용

SHA

서명문 형식

패딩 패턴 : 1000

64 비트 : 서명문 길이 표시 상위 32 비트와 하위 32 비트 교환

SHA-1 SHA-1 알고리즘알고리즘 (( 계속계속 ))

서명문 M 100 0 64 서명문 M 100 0 64

L512 비트 =N 32비트

448 mod 512

132007-01 정보보호응용

SHA-1 SHA-1 알고리즘알고리즘 (( 계속계속 ))

512 비트 입력은 80 개의 32 비트 블록으로 확장

Wt = Mt, t = 0,…,15

Wt = (Wt-3 . Wt-8 . Wt-14 . Wt-16) <<< 1, t = 16,…,79

<<<: circular left shift

4 라운드 라운드 당 20 단계

5 개의 32 비트 초기 값을 사용

A = 0x67452301

B = 0xefcdab89

C = 0x98badcfe

D = 0x10325476

E = 0xc3d2e1f0

142007-01 정보보호응용

SHA-1 SHA-1 알고리즘알고리즘 (( 계속계속 ))

152007-01 정보보호응용

SHA-1 SHA-1 알고리즘알고리즘 (( 계속계속 ))

162007-01 정보보호응용

RIPEMD–160

서명문 형식

패딩 패턴 : 1000

64 비트 : 서명문 길이 표시 상위 32 비트와 하위 32 비트 교환

RIPEMD–160 RIPEMD–160 알고리즘알고리즘

서명문 M 100 0 64 서명문 M 100 0 64

L512 비트 =N 32비트

448 mod 512

172007-01 정보보호응용

RIPEMD–160 RIPEMD–160 알고리즘알고리즘 (( 계속계속 ))

RIPEMD–160 해쉬

160

Y0 Y1 512

512비트 Yq

512비트

YL–1

512비트

HRIP-160

512

512 512

CV0= IVABCDE

CV1 CVq CVL–1 CVL

512비트

160 160 160 160HRIP-160 HRIP-160 HRIP-160

182007-01 정보보호응용

RIPEMD–160 RIPEMD–160 알고리즘알고리즘 (( 계속계속 ))

RIPEMD 초기값

A = 0 1 2 3 4 5 6 7

B = 8 9 A B C D E F

C = F E D C B A 9 8

D = 7 6 5 4 3 2 1 0

E = 0 F E 1 D 2 C 3

192007-01 정보보호응용

RIPEMD–160 RIPEMD–160 알고리즘알고리즘 (( 계속계속 ))

CVq+1

f1, K1, Xi

16 stepsA B C D E

f2, K2, X(i)

16 stepsA B C D Ef3, K3, X 2 (i)

16 stepsA B C D Ef4, K4, X 3 (i)

16 stepsA B C D Ef5, K5, X 4 (i)

16 steps

f5, K´1, Xi

16 stepsA´ B´ C´ D´ E´f4, K´2, X(i)

16 steps

f3, K´3, X 2(i)

16 steps

f2, K´4, X 3 (i)

16 steps

f1, K´4, X 4 (i)

16 steps

A´ B´ C´ D´ E´

A´ B´ C´ D´ E´

A´ B´ C´ D´ E´

CVq

: mod 232

Yq Yq

CVq+1

202007-01 정보보호응용

RIPEMD–160 RIPEMD–160 알고리즘알고리즘 (( 계속계속 ))

RIPEMD 의 HRIP–160 상수

j = 0 ~ 15 K1 = 00000000 K1´ = 50A28BE6

j = 16 ~ 31 K2 = 5A827999 K2´ = 5C4DD124

j = 32 ~ 47 K3 = 6ED9EBA1 K3´ = 6D703EF3

j = 48 ~ 63 K4 = 8F1BBCDC K4´ = 7A6D76E9

j = 64 ~ 79 K5 = A953FD4E K5´ = 00000000

212007-01 정보보호응용

RIPEMD–160 RIPEMD–160 알고리즘알고리즘 (( 계속계속 ))

RIPEMD 의 논리함수

222007-01 정보보호응용

RIPEMD–160 RIPEMD–160 알고리즘알고리즘 (( 계속계속 ))

HRIP–160 기본 동작

A, B, C, D, E = 32 비트 버퍼A', B', C', D', E' = 32 비트

버퍼j = 스텝 수 (0≤j≤79)

rols(j) = rotation( 회전 )

Xj = 512 비트 입력 값에서 선택된 32 비트

Kj = 상수

HRIP–160 기본 동작

A, B, C, D, E = 32 비트 버퍼A', B', C', D', E' = 32 비트

버퍼j = 스텝 수 (0≤j≤79)

rols(j) = rotation( 회전 )

Xj = 512 비트 입력 값에서 선택된 32 비트

Kj = 상수

232007-01 정보보호응용

HAS-160 HAS-160 알고리즘알고리즘

HAS-160한국 디지탈 서명 표준인 KCDSA 에서 사용할 목적으로 개발160 비트의 해쉬 값512 비트 단위로 입력 값패딩 규칙은 SHA-1 과 동일하다 .

242007-01 정보보호응용

HAS-160 HAS-160 알고리즘알고리즘 (( 계속계속 ))

각 라운드 상수 값

252007-01 정보보호응용

HAS-160 HAS-160 알고리즘알고리즘 (( 계속계속 ))

A, B, C, D, E = 32 비트 버퍼

t = 라운드 수 (0≤t≤79)

Ft = 라운드 함수

CLS(1)S/CLS(2)s = 32 비트에서 s 비트 순환 좌측 쉬프트

X[t] =512 비트 입력

값에서 선택된 32 비트 ,

Kt : 상수 값

A, B, C, D, E = 32 비트 버퍼

t = 라운드 수 (0≤t≤79)

Ft = 라운드 함수

CLS(1)S/CLS(2)s = 32 비트에서 s 비트 순환 좌측 쉬프트

X[t] =512 비트 입력

값에서 선택된 32 비트 ,

Kt : 상수 값

262007-01 정보보호응용

해쉬 함수 요약해쉬 함수 요약

전용 해쉬 함수 요약

272007-01 정보보호응용

2. 2. 메시지 인증메시지 인증

메시지 인증 일반 모델만일 수신된 MAC 과 계산된 MAC 이 일치한다면수신자는 메시지가 변경되지 않았다고 확신할 수 있음수신자는 합법적 송신자로부터 메시지가 왔다고 확신함

K

M | |

C

MC

CompareK

K

CK(M)

Source Destination

282007-01 정보보호응용

2. 2. 메시지 인증메시지 인증

2.1 메시지 암호화

2.2 메시지 인증 코드

2.3 해쉬 함수

292007-01 정보보호응용

2.1 2.1 메시지 암호화메시지 암호화

1) 관용 암호 방식의 이용

기밀성 제공 A 와 B 만이 K 를 공유하고 암 / 복호화 가능

단순한 인증 제공 K 를 아는 A 만이 해당 암호문 작성 가능

서명 제공 불가 수신자가 메시지 위조 가능 ; 송신자가 메시지 부인

그림 11.1(b)

302007-01 정보보호응용

2.1 2.1 메시지 암호화 메시지 암호화 (( 계속계속 ))

2) 단순 공개키 암호 방식의 이용

기밀성 제공 : 메시지를 복호화할 수 있는 사용자는 B 뿐임

인증은 제공하지 못함 : 아무나 B 의 공개키를 이용할 수 있음

EM MD

KU KREKU (M)b bb

그림 11.1(b)

312007-01 정보보호응용

2.1 2.1 메시지 암호화 메시지 암호화 (( 계속계속 ))

3) 단순 공개키 암호 방식의 이용 (2)

인증과 디지털 서명은 제공하나 기밀성은 제공하지 않음기밀성 제공

누구나 A 의 공개키를 가질 수 있고 복호화가 가능인증과 디지털 서명 제공

A 만이 메시지를 생성할 수 있음 B 도 암호문의 구성은 할 수 없음

EM MD

KRa KUaEKR (M)a

그림 11.1(c)

322007-01 정보보호응용

2.1 2.1 메시지 암호화 메시지 암호화 (( 계속계속 ))

4) 공개키 암호방식의 2 중 적용

인증과 디지털 서명 제공 KUa 로 복호화 될 수 있는 암호문은 KRa 소유자만 작성 가능

기밀성 제공 KUb로 암호화된 이미지는 KRb 소유자만 복호화 가능

M ME E D D

KR aEKR (M)

a KUbEKU [EKR (M)]

b a KRb KU aEKR (M)

a

그림 11.1(d)

332007-01 정보보호응용

2.2 2.2 메시지 인증 코드메시지 인증 코드

암호학적 점검 값인 MAC을 메시지에 추가하는 방식

암호학적 점검값 비밀키를 사용하여 생성된 작은 크기의 데이터 블록

메시지와 키의 함수 : MAC = Ck(M)

메시지 +MAC을 전송하고 수신측에서는 계산한 MAC 과 수신한 MAC을 비교하여 인증 수신자는 메시지 변경이 없음을 확신함 수신자는 합법적인 송신자로부터 메시지가 왔음을 확신함 메시지 내에 순서번호가 있는 경우 수신자는 합법적 순서를 확신함

송수신자 같은 키를 사용하므로 디지털 서명 기능은 제공하지 못함

342007-01 정보보호응용

2.2 2.2 메시지 인증 코드 메시지 인증 코드 (( 계속계속 ))

1) 1) 암호학적 점검값 사용암호학적 점검값 사용 (1)(1)

메시지 내용 인증 K 를 모르는 공격자가 메시지와 대응되는 점검값 구성 불가

출처 인증 K 를 아는 A 만이 올바른 점검값 작성하여 전송 가능

M | |

C

MC

CompareK

K

CK(M)

Source Destination

352007-01 정보보호응용

2.2 2.2 메시지 인증 코드 메시지 인증 코드 (( 계속계속 ))

2) 2) 암호학적 점검값 사용암호학적 점검값 사용 (2)(2)

인증 제공 인증 제공 : : A 와 B 만이 K1 을 공유

기밀성 제공 기밀성 제공 : : A 와 B 만이 K2 를 공유

평문평문 ++ 인증인증 : : 평문 즉시 사용 가능평문 즉시 사용 가능 , , 인증은 필요시 수행인증은 필요시 수행

M | |

C

M C

CompareK1

K1

Source Destination

E D

K2K2 EK [M||CK (M)]12

CK (M)1

362007-01 정보보호응용

2.2 2.2 메시지 인증 코드 메시지 인증 코드 (( 계속계속 ))

3) 암호학적 점검값 사용 (3)

인증 제공 : A 와 B 만이 K1 을 공유기밀성 제공 : A 와 B 만이 K2 를 공유

암호문 + 인증 : 복호화후 평문 사용가능 , 인증을 위해서는 암호문 필요

C

K1

M| |E

K2

C

K1

Compare

D

K2

M

EK [M]2

CK (EK [M])1 2

372007-01 정보보호응용

2.3 2.3 해쉬 함수해쉬 함수

1) 1) 해쉬 함수 사용 해쉬 함수 사용 (1)(1)

인증 제공인증 제공 H(M)을 관용키 암호화 방식으로 보호함

기밀성 제공기밀성 제공 A 와 B 만이 K 를 공유

M | |

H

MH

Compare

Destination

E D

KKEK[M||H(M)]

H(M)

Source

(a)

382007-01 정보보호응용

2.3 2.3 해쉬 함수 해쉬 함수 (( 계속계속 ))

2) 2) 해쉬 함수 사용해쉬 함수 사용 (2)(2)

인증 제공 인증 제공 H(M) 만을 관용키 방식으로 암호학적 보호 메시지 내용 무결성 보장 기밀성을 요구하지 않는 응용에서 처리 부하 경감

M | |

H E

K

M

EK[H(M)]

H

D

K Compare

392007-01 정보보호응용

2.3 2.3 해쉬 함수 해쉬 함수 (( 계속계속 ))

3) 3) 해쉬 함수 사용해쉬 함수 사용 (3)(3)

인증 제공인증 제공 H(M)을 공개키 암호 방식으로 보호

디지털 서명디지털 서명 A 만이 EKRa[H(M)]을 생성 가능

DestinationSource

M | |

H E

KR

M

EKR [H(M)]

H

D

KU Compare

a

a

a

402007-01 정보보호응용

2.3 2.3 해쉬 함수 해쉬 함수 (( 계속계속 ))

4) 4) 해쉬 함수 사용해쉬 함수 사용 (4)(4)

인증인증 (( 디지털 서명디지털 서명 ) ) 제공제공 공개키 방식 사용 , EKRa[H(M)]

기밀성 제공기밀성 제공 메시지도 암호화 , A 와 B 만이 K 를 공유

M | |

H

MH

CompareKRa KUa

E D

KKEK[M||EKR [H(M)]]

a

EKR H(M)aE D

412007-01 정보보호응용

2.3 2.3 해쉬 함수 해쉬 함수 (( 계속계속 ))

5) 5) 해쉬 함수 + 비밀값 사용 (1))

S : A 와 B 공통의 비밀값

인증 제공 : A 와 B 만이 S 를 공유

암호화 회피 이유 암호화 소프트웨어는 느리고 , 하드웨어는 비용 증대 아주 작은 데이터 블록에도 동일한 암호화 절차 필요

s

M | | M HCompare

H(M||S)H| |

| |s

422007-01 정보보호응용

2.3 2.3 해쉬 함수 해쉬 함수 (( 계속계속 ))

6) 해쉬 함수 + 비밀값 사용 (2)

인증 제공 A 와 B 만이 S 를 공유

기밀성 제공 A 와 B 만이 암 / 복호키 K 를 공유

M | |

Hs | |

E D

KK

EK[M||H(M||S)]

M H

Compare

H(M||S)

| |s

432007-01 정보보호응용

3. 3. 전자 서명전자 서명

구 분 종이문서 전자문서

기록매체

전달방법

안전• 신뢰성

출처 증명

종이

우편 , 인편

위• 변조가 비교적 어려움

종이의 물리적 특성으로 위• 변조 식별 가능

수기서명 , 날인

전자기록 매체

네트워크를 통한 전송

위• 변조가 용이함

전자기록매체의 물리적 특성으로 위• 변조 식별불가능

전자서명

서명자를 확인하고 서명자가 당해 전자문서에 서명하였음을 나타내는데 이용하기 위하여 당해 전자문서에 첨부되거나 논리적으로 결합된 전자적 형태의 정보 ( 전자서명법 제 2 조 )

전자문서의 특성

전자서명 ( 디지털서명 ) 의 정의

442007-01 정보보호응용

3. 3. 전자 서명 전자 서명 (( 계속계속 ))

전자 서명의 요구 조건서명은 메시지에 의존하는 비트 형태이어야 함위조와 부인 방지 위해 , 송신자의 유일한 정보 비트를 이용해야 함서명문을 만들기가 쉬워야 함서명문을 인식 , 확인 하기가 쉬워야 함서명문을 위조하는 것이 계산적으로 실행 불가능기억장소에 서명문의 복사본을 유지하는 것이 실용적이어야 함

452007-01 정보보호응용

3.1 3.1 전자 서명 전자 서명 접근방식접근방식

462007-01 정보보호응용

3.1 3.1 전자 서명 접근방식 전자 서명 접근방식 (( 계속계속 ))

RSA 접근 방식M : 메시지H : 해쉬 함수 E : 공개키 암호 함수EKRa[H(M)] : 메시지 M 의 해쉬값을 A 의 개인키로 암호화

DSS 접근 방식M : 메시지H : 해쉬 함수s, r : 서명k : 난수KUG : 전역적 공개키Sig : 서명 함수 , Ver : 확인 함수

472007-01 정보보호응용

3.2 3.2 전자 서명 알고리즘전자 서명 알고리즘

1) 서명 준비 과정사용자 집단에 공통적이며 , 공개되는 3 개의 매개 변수

160 비트 길이의 소수 q

512~1024 비트 사이의 소수 p

⇒ (p-1) 이 q 로 나누어짐

h (p-1)/q mod p 형태의 g(1 < h < (p - 1))

각 사용자는 개인키를 선택하고 공개키를 생성

랜덤 개인키 x 선택 (1 ≤ x ≤ q-1)

개인키 x 로부터 공개키 y 계산

– y = gx mod p

482007-01 정보보호응용

3.2 3.2 전자 서명 알고리즘 전자 서명 알고리즘 (( 계속계속 ))

1) 서명 생성 과정메시지별로 고유한 정수 k 를 랜덤하게 생성 (0 < k < q)

서명 r = (gk mod p) mod q : 메시지의 함수가 아님 s = [k-1 (H(M)+xr)] mod q Signature = (r, s)

2) 서명 검증 과정수신한 r’ 과 s’ 으로부터 계산한 v 를 r’ 과 비교하여 검증

w = s-1 mod q u1 =[(H(M)w)] mod q

u2 = rw mod q

v = [(gu1 yu2 ) mod p] mod q, y : 사용자 공개키

492007-01 정보보호응용

3.2 3.2 전자 서명 알고리즘 전자 서명 알고리즘 (( 계속계속 ))

502007-01 정보보호응용

전자서명일반 전자서명 + 특수 전자서명

특수 전자서명 : 전자서명의 목적과 기능을 고려한 서명부인 방지 서명의뢰 부인 방지 서명수신자 지정 서명은닉 서명대리 서명위임 서명다중 서명

3.33.3 특수 전자서명특수 전자서명

512007-01 정보보호응용

부인 방지 서명부인 방지 서명

부인 방지 서명 구성서명의 확인 과정서명의 부인 과정

서명자의 도움 없이 서명 진위 확인 불가

서명자는 서명 사실 부인 불가

522007-01 정보보호응용

부인 방지 서명 부인 방지 서명 (( 계속계속 ))

이산대수 문제 이용

y g X mod p 부인 방지 서명

M : 서명문S M X mod p : 서명

532007-01 정보보호응용

부인 방지 서명 부인 방지 서명 (( 계속계속 ))

확인 과정

서명자 A공개 정보 yA, p, g 검증자 B

yA gXA mod pS M XA mod p

q R Zp – 1 D1 Tgq mod p D2 D1

XA mod p T Ma gb mod p

T 확인q 전송

a, b R Zp – 1

T Ma gb mod p

a, b 전송D1 Tgq mod pD2 Sa yA

b+q mod p

M, S

T

D1, D2

a, b

q

542007-01 정보보호응용

부인 방지 서명 부인 방지 서명 (( 계속계속 ))

확인 과정의 검증 과정 D1 Tgq mod p 확인

D2 Sa yAb+q mod p 확인

Sa gXAb gXAq mod p

MXAa gXA b gXA q mod p

(Ma gb) XA (gq)XA mod p

TXA (gq) XA mod p

(Tgq) XA mod p

D1XA mod p

552007-01 정보보호응용

부인 방지 서명 부인 방지 서명 (( 계속계속 ))

부인 과정

서명자 A공개 정보 yA, p, g 검증자 B

k 계산

q R Zp – 1 Q g kq mod p

T1, T2 확인q 전송

a R Zp – 1 k {0, 1, 2, , Z – 1}

T1 Mk ga mod p

T2 (S ) k yAa mod p

a 전송

Q (gk ) q mod p

T1, T2

Q

a

q

kX

S

S

T

T A

'2

1

562007-01 정보보호응용

부인 방지 서명 부인 방지 서명 (( 계속계속 ))

k 의 계산

서명자 A 자신이 서명한 경우에는 , T1XA / T2 가 1 이 되어 k 를 구할 수 없다 .

가 성립하는 k 에 1, 2, , Z–1 을 대입하여 k 값을 결정한다 .

kX

S

S

T

T A

'2

1

572007-01 정보보호응용

부인 방지 서명 부인 방지 서명 (( 계속계속 ))

확인 과정 예

서명자 A공개 정보

yA = 11, p = 23, g = 5 검증자 B

yA gXA mod p 59 11 mod 23S M XA mod p 139 3 mod 23 q R Zp – 1 q = 13 D1 Tgq mod p 7 513 9 mod 23D2 D1

XA mod p 99 2 mod 23T Ma gb mod p 확인 q 전송

a, b R Zp – 1

a = 4, b = 7T Ma gb mod p 134 57 7 mod 23

a, b 전송

D1 Tgq mod 확인 Tgq 7 513 9 mod 23D2 Sa yA

b+q mod p 34 1113 + 7 2 mod 23

M = 13, S = 3

T = 7

D1 = 9, D2 = 2

a = 4, b = 7

q = 13

582007-01 정보보호응용

부인 방지 서명 부인 방지 서명 (( 계속계속 ))

부인 과정 예

서명자 A공개 정보

yA = 11, p = 23, g = 5 검증자 B

k = 0, 1, 2, , k = 4q R Zp – 1, q = 8Q g k q mod p 54 8 9 mod 23T1, T2 확인q = 8

a R Zp – 1, a = 6k {0, 1, 2, , Z – 1} k = 4

T1 Mk ga mod p

134 56 6 mod 23T2 (S ) k yA

a mod p (17)4 116 3 mod 23

a 전송

Q (gk ) q mod p (54) 8 9 mod 23 확인

kX

S

S

T

T A

'2

1

k

17

3

3

69

T1 = 6, T2 = 3

Q = 9

a = 6q = 8

592007-01 정보보호응용

수신자 지정 서명수신자 지정 서명

특정 수신자만 검증 가능

서명자도 검증 불가능

특정 수신자는 필요 시 제삼자에게 서명의 정당성 확인 가능

602007-01 정보보호응용

수신자 지정 서명 수신자 지정 서명 (( 계속계속 ))

수신자 지정 서명 구성

서명자 A공개 정보

yA, yB, g, p, q 검증자 B

yA gXA mod p

r, R RZp K gR – r mod pD yB

R mod p e = h (yB, K, D, M)S r – XA

e mod p

yB gXB mod p

e = h (yB, K, D, M)

D (gS yAe K) XB

mod p

M, K, D, S

612007-01 정보보호응용

수신자 지정 서명 수신자 지정 서명 (( 계속계속 ))

수신자 지정 서명 검증 과정D (gSyA

eK) XB mod p

S r – XAe mod p

K g R – r mod p

yA gXA mod p

(gr g –XAe gXA

e gR g – r) XB mod p

gXB R mod p

yB gXB mod p

yBR mod p

D yBR mod p

D mod p

622007-01 정보보호응용

수신자 지정 서명 수신자 지정 서명 (( 계속계속 ))

지정 검증자 확인

지정 검증자 B공개 정보 yB, p, q, g 제삼자 C

r RZq t1 gr mod pt2 (gSyA

e K) r+XB mod p

b = 0 이면 Z r mod q

b = 1 이면 Z r + XB mod q

b R {0, 1}b = 0 이면 t1 gZ mod p t2 (gSyA

e K) Z D mod p 확인b = 1 이면 gZ t1 yB mod p t2 (gSyA

e K) Z mod p 확인

t1 , t2

b

Z

632007-01 정보보호응용

은닉 서명은닉 서명

은닉 서명 서명자가 서명문 확인 불가

은닉 서명 응용 전자화폐에 이용

은닉 서명

S M X M : 서명문

642007-01 정보보호응용

은닉 서명 은닉 서명 (( 계속계속 ))

은닉 서명 구성

제공자 A공개 정보

n, e 서명자 B

r R Zn

서명문 MK1 re M mod n

Md mod n

n = p qgcd (e, (n)) = 1e d 1 mod (n)K2 K1

d mod n

rMd mod n

K1

r

KS 2

K2mod n

652007-01 정보보호응용

은닉 서명 은닉 서명 (( 계속계속 ))

은닉 서명 구성 예

제공자 A공개 정보

n= 55, e = 7

서명자 B

r R Zn r = 6 K1 reM mod n 67 5 40 mod 55

15 mod 55

n = p q = 11 5 = 55 (n) = (55) = 40gcd (e, (55)) = 1e d 1 mod (n) d = 23K2 K1

d mod n

4023 35 mod 55

K1 = 40

r

KS 2

K2 = 35 Md mod 55

6

35

662007-01 정보보호응용

대리 서명대리 서명

본인 부재시 대리 서명본인을 대신하여 제삼자가 서명검증자는 대리 서명으로부터 서명자의 위임 사실을 확인할 수 있

음 .

위임 서명완전 위임 (full delegation) :

자신의 비밀정보를 직접 전달부분 위임 (partial delegation) :

자신의 비밀정보로부터 별도로 다른 비밀정보를 만들어 전달보증 위임 (warrant delegation) :

위임 사실 증명서를 제공

672007-01 정보보호응용

대리 서명 대리 서명 (( 계속계속 ))

부분 위임 서명

위임 서명자 A공개 정보 p, g, yA

대리 서명자 B

yA gXA mod pk RZp – 1 K gk mod p XA + kK mod p – 1 g yA KK mod p

확인

, K

비밀 전송

682007-01 정보보호응용

대리 서명 대리 서명 (( 계속계속 ))

부분 위임 검증

g yA KK mod p 증명

g gXAgkK gXA (gk) K yA KK mod p

692007-01 정보보호응용

대리 서명 대리 서명 (( 계속계속 ))

부분 위임 서명 ( 위임서명 생성 예 )

서명자 A공개 정보

P=23, g=6, yA=3

위임 서명자 B

yA gXA mod p 67 mod 23 3 mod 23K=5 RZp – 1 K gk mod p 65 mod 23 2 mod 23 XA + kK mod p – 1 7+5 2 mod 22 17 mod 22

g yA KK mod p

g 617 mod 23 12 mod 23yA KK 3 22 mod

23 12 mod 23

, K

비밀 전송

702007-01 정보보호응용

대리 서명 대리 서명 (( 계속계속 ))

부분 위임 대리 서명

대리 서명자 B공개 정보 yA, p, q, g 검증자 C

r RZq

R gr mod p mod qH h (M) S r – R H mod q

H h (M)v yA KK mod p

R gSvRH mod p mod qK, S, R, M

712007-01 정보보호응용

대리 서명 대리 서명 (( 계속계속 ))

부분 위임 대리 서명 검증 과정

v yA KK mod p

R g S vRH mod p mod q

gr – RH (gXA gkK)RH mod p mod q

gr g – RHXA g – RHkK gXARH gRHkK mod p mod q

gr mod p mod q

R mod p mod q

722007-01 정보보호응용

대리 서명 대리 서명 (( 계속계속 ))

부분 위임 대리 서명의 예 ( 서명 및 검증 )

대리 서명자 B

공개 정보 yA=3, p=23,

q=11, g=6

검증자 C

r =9 RZq

R gr mod p mod q 69 mod 23 mod 11 5 mod 23 mod 11H h (M)H=M=5 S r – R H mod q 9-5175 mod 11 2 mod 11

H h (M)H=M=5 v yA KK mod p 322 mod 2312 mod 23R 5 mod 23 mod 11

gSvRH mod p mod q 62 1255 mod 23 mod 11 13 3 mod 23 mod 11 5 mod 23 mod 11

K, S, R, M

732007-01 정보보호응용

서명자 A공개 정보 p, g, yA

대리 서명자 B

yA gXA mod pk R Zp – 1 K gk mod p e = h (mw || K) eXA + k mod p – 1

e = h (mw|| K)

g yAe K mod p 확인

p + eXB mod p – 1

대리 서명 정보 생성

mw , , K

비밀 전송

대리 서명 대리 서명 (( 계속계속 ))

위임 서명자 보호 대리 서명대리 서명 정보

mw 는 위임 서명기간

742007-01 정보보호응용

대리 서명 대리 서명 (( 계속계속 ))

대리 서명자 보호 대리 서명– 대리 서명 정보 검증

g yA e K mod p 증명

g g e XA g k g XA e g k mod p

752007-01 정보보호응용

대리 서명자 B공개 정보

p, q, g, yA , yB검증자 C

r R Zq

R gr mod p mod qmw

H h (M) Sp

r – R p H mod qe = h (mw || K)vp (yAyB )

e K mod pR g Sp vp

RH

mod p mod q

Sp , R, M,

mw , K

대리 서명 대리 서명 (( 계속계속 ))

대리 서명자 보호 대리 서명대리 서명 절차

762007-01 정보보호응용

대리 서명 대리 서명 (( 계속계속 ))

대리 서명자 보호 대리 서명 대리 서명자 보호 대리 서명 검증

vp (yA yB) e K mod p

R g Sp vpRH mod p mod q

g ( r – RHp ) ((yA yB) e K)RH mod p mod q

g r g – RHp yA RHe

yBRHe KRH mod p mod q

g r g – RH(+XB e) gXARHe gXBRHe gkRH mod p mod q

g r g – RH g – RHXB e gXARHe gXBRHe gkRH mod p mod q

g r g – RH (XA e +k) g – RHXB e gXARHe gXBRHe gkRH mod p mod q

g r g – RH XA e g – RH k g – RHXB e gXARHe gXBRHe gkRH mod p mod q

g r

772007-01 정보보호응용

다중 서명다중 서명

다중 서명동시에 여러 서명자가 서명하는 방식동시 다중 서명순차 다중 서명

782007-01 정보보호응용

다중 서명 다중 서명 (( 계속계속 ))

다중 서명순차 다중 서명

서명자 1 공개정보

E1,n1,r1

서명자 i 공개정보

Ei,ni,ri

서명자 j

M : 서명문

Idx: 서명자 모록

h(M)=H

S1=Hd1 mod n1

Si-1,M, IDi-1

Si=(Si-1)di mod ni

Si,M, IDi

Sj=(Si)dj mod nj

S1,M, ID1Si,M, IDi

H=h(M)

H ((((Si-1)ei-1 mod ni-1)ei-2 mod ni-2)…)e1 mod n1

792007-01 정보보호응용

특수서명 요약특수서명 요약