본문 바로가기
학부/Network Security

키 배송문제(Key Distribution Problem)

by ulqaef 2019. 4. 20.
728x90

A 송신자가 B 수신자에게 메시지를 전달할 때 A 송신자는 C 도청자가 자신의 메시지를

보는 것을 원치 않기 때문에 대칭암호를 이용하여 암호화를 진행한다고 가정하자.

 

A는 메시지를 암호화해서 암호문을 작성하였고 B에게 전송했다.

하지만 B는 A가 메시지를 암호화할 떄 사용한 키를 알지 못하기 때문에

암호화된 메시지를 복호화 할 수 없다. 그렇기 때문에 A는 암호화된 메시지와 함께 

암호화에 사용된 키를 같이 전송해줘야 한다.

 

하지만 암호문과 함께 암호화에 사용된 키를 같이 전송하게 된다면

C는 전송된 암호문뿐만 아니라 암호화에 사용된 키까지 알게 될 수도 있다.

그렇게 되면 B뿐만 아니라 C까지도 암호문을 복호화하여 메시지를 알아낼 수 있다.

 

위와 같이 대칭암호로 암호화된 메시지를 복호화하기 위해서는 암호문과 함께

암호화에 사용된 키도 같이 전송해야하는데 키를 보내면 안되는 문제를 키 배송문제(Key Distribution Problem)라고 한다.

이러한 키 배송문제를 해결하기 위한 방법은 몇 가지가 있다.

 

 

1. 키 사전공유에 의한 키 배송문제 해결

안전한 방법으로 키를 사전에 공유하는 방법이다. 당연히 유효하지만 이는 명백한 한계가 존재한다.

키를 사전에 공유해주기 위해서는 안전한 방법으로 수신자에게 키를 전송해주어야 한다. 하지만 메일 등으로

키를 건네주거나 메모리카드를 이용하여 전달하는 방법도 도청자로부터 안전하다고 할 수 없다.

만약 안전하게 키를 공유했다고 하더라도 키를 사전에 공유받아야 할 인원이 많으면 많을 수록  사전에 생성해내야 하는

키의 수가 증가하기 떄문에 이는 현실적으로 적용하기 힘들다. 

 

예) 1,000명의 사람이 자신 외의 999명과 통신을 해야하는 경우

         (1,000 x 999) / 2 = 499,500개

 

 

2. 키 배포센터에 의한 키 배송문제 해결

키를 사전에 공유한다고 하면 키의 개수는 방대해진다. 그 문제를 해결하기 위해서 키 배포센터를 미리 준비해두는 것이다.

예를 들어 1,000명의 인원이 통신에 필요한 키를 지정된 컴퓨터에 보존시켜두고 통신이 필요할 때마다 키를 공유한다.

인원이 추가될 때마다 컴퓨터에 키를 추가시켜준다.

하지만 이 또한 한계가 있다.

인원이 늘어날 때마다 키 배포센터의 부하는 커지게 되고 그 컴퓨터가 고장나게 되면 전체의 암호 통신에 마비가 오게 된다.

또한 적극적 암호해독자가 키 배포센터를 공격할 가능성도 있다.

그리고 키 배포센터는 통신을 수행할 두 사람 외의 신뢰할 만한 제3자이어야 한다.

 

 

3.Diffie-Hellman 키 교환에 의한 키 배송문제 해결

통신을 원하는 송/수신자는 사전에 특정 정보를 교환한다. 이 정보는 암호해독자가 알게 되도 무방하다.

송/수신자는 특정 정보를 토대로 동일한 키를 각각 만들어 낼 수 있지만 암호해독자는 만들어낼 수 없다.

 

 

4.공개 키 암호에 의한 키 배송문제 해결

대칭암호에서는 암호화 키와 복호화 키가 같은 키였다. 하지만 공개 키 암호에서는 암호화 키와 복호화 키가 다른 키가 된다.

암호화키를 가지고 있는 사람은 누구든지 암호화 할 수 있지만 복호화 할 수는 없다. 복호화는 복호화 키를 가지고 있는 사람만이 

가능하기 때문이다.

수신자는 사전에 암호화 키를 송신자에게 알려준다. 이 암호화 키는 아무나 알게 되도 상관없기 때문에 공개 키라고도 한다.

송신자는 그 암호화 키를 써서 세션키를 암호화 해서 수신자에게 보낸다. 복호화 키를 가지고 있는 유일한 사람인 수신자만 복호화를 진행한다. 이렇게 공개 키 암호를 사용하여 키 배송문제를 해결할 수 있다.

 

 

 

 

 

 

<참고 : 히로시 유키 - 알기 쉬운 정보보호개론>

728x90
반응형

'학부 > Network Security' 카테고리의 다른 글

하이브리드 암호 시스템(Hybrid Cryptosystem)  (0) 2019.04.20
RSA  (0) 2019.04.20
CTR(CounTeR)모드  (0) 2019.04.20
OFB(Output-FeedBack)모드  (0) 2019.04.20
CFB(Cipher-FeedBack)모드  (0) 2019.04.20

댓글


`