백인감자

[컴퓨터보안] Digital Signature (디지털 서명) 본문

컴퓨터보안

[컴퓨터보안] Digital Signature (디지털 서명)

백인감자 2017. 6. 10. 14:25

메시지 인증 방식은 송수신자의 메시지 교환을 제3자로부터 보호할 수 있다.

그러나 송수신자 간의 서로를 보호할 수 없다. 

A가 B에게 메시지 M 을 보냈는데 B가 M 을 위조하여 N 을 받았다고 주장할 수 있다.

혹은 A가 B에게 메시지 M 을 보내놓고 그런 메시지를 보낸 적이 없다고 부정할 수 있다.


즉, 메시지 인증 방식은 신뢰가 깨진 상태에는 대응을 못한다

디지털 서명이 제공하는 것

저자, 날짜 및 서명 시간

메시지 내용 인증

분쟁 해결을 위한 제 3자의 확인


Digital Signature


특징

비트 패턴은 서명되는 메시지에 의존된다.

forgery 와 denial 을 방지하기 위해 송신자의 고유한 정보를 사용해야 한다.

서명을 만드는 것이 쉬워야한다.

쉽게 인식하고 증명해야한다.

위조를 못하게 해야한다.(계산상 불가능 하도록)

-> 기존 디지털 서명에 새로운 메시지로 바꿀 수 없다.

-> 주어진 메시지에 대한 사기성 디지털 서명을 만들 수 없다.

저장소에 디지털 서명의 사본을 보관하는 것이 실용적이다.


디지털 서명 방식


디지털 서명 방식은 중재자의 여부에 따라 2가지로 분류된다.

1. Direct Digital Signature

2. Arbitrated Digital Signature


Direct Digital Signature

공개키 암호 알고리즘과 hash function 을 사용한 모델

송수신자만 존재하는 디지털 서명 구조

수신자는 송신자의 공개키를 가지고 있다고 가정한다.

송신자의 개인키로 전체메시지 또는 해시에 서명한다.

서명 후 수신자의 공개키로 암호화한다.


대표적 예 : ElGamal Digital Signature, Schnoor Digital Signature


문제점

송신자의 개인키 안전성에 따라 유효성이 달라진다.

송신자가 개인키를 분실하거나 도난당했다고 거짓주장할 수 있다.

실제로 송신자의 개인키가 도난당할 수 있다.

결과적으로 제 3자의 개입이 필요하다.



Arbitrated Digital Signature

관용암호 알고리즘과 중재자를 사용한 모델

arbiter(중재자) 가 등장한다.

arbiter 는 서명된 메시지의 유효성을 검사한다.

이를 위해 중재자에 대한 적절한 신뢰가 필요하다.

개인키나 공개키 알고리즘 어디에서든 구현 가능하다.

arbiter 는 메시지를 보거나 안보거나 할 수 있다.



ElGamal Digital Signature

A : 송신자 B : 수신자

1. 소수 q 와 primitive root a 선택 

2. 송신자는 비밀키(개인키,X_A) 선택 후 공개키 계산 (1<X_A<p-1, A: 송신자 )

3. 메시지 M 을 hash 적용시켜 m 으로 만든다. 0<=m<=q-1

4. 임의의 값 K 선택한다. ( 1<=K<=q-1, gcd(K,q-1)=1 )

5. 서명값  (S_1, S_2계산) 후 수신자에게 m 과 서명값을 전달



6. 수신자는 서명값 계산을 통해 검증한다.

V_1 , V_2 가 일치하면 유효한 것이다. 



Schnoor Digital Signature

쉬노아 서명 


특징

서명값이 짧다



 







Comments