자격증/정보보안기사

대칭키 키 배송 문제

부소대장 2024. 2. 19. 19:00
반응형

대칭키 암호는 암/복호화에 같은 키를 사용하기 때문에 송신자와 수신자는 각각 동일한 비밀키를 공유하여야 하며, 키 공유 과정에서의 문제를 해결하기 위해 다음 4가지의 방법을 사용하고 있다.

 

* 키 배송 문제를 해결하기 위한 방법 4가지

 키의 사전 공유에 의한 해결

 키 배포센터에 의한 해결

 Diffie-Hellman 키 교환에 의한 해결

 공개키 암호에 의한 해

 

 

① 키의 사전 공유에 의한 해결

- 송신자와 수신자 간의 비밀키를 미리 협상하는 것을 PSK(Pre-Shared Key)라 한다. 미리 키를 교환하기 때문에 키 배송문제를 쉽게 해결할 수 있지만 통신 대상이 많으면 많을수록 더 많은 키의 관리가 필요하다.

사용자 n명일 경우 키의 개수는 n(n-1)/2

 

 

② 키 배포센터에 의한 해결

- 키 분배 센터(KDC)를 이용하여 송신자와 수신자간의 비밀키를 각각 전달한다.

KDC 키 분배 과정에서 사용하는 키는 마스터키(K)와 세션키(S)가 있다.

 

마스터키(K) : 키 분배 센터와 사용자가 공유하는 유일한 키이다. 사용자가 n명일 경우 키의 개수는 2n개이다.

 

세션키(S) : 두 사용자간의 암호화 통신을 위한 임시키로 논리적인 연결이 종료되면 폐기된다. 키 분배 센터로부터 마스터키로 암호화되어 전송받는다. 사용자가 n명일 경우 키의 개수는 n개이다.

A -> KDC

AKDC에게 AB의 통신을 위한 세션키를 요구한다. 요구 메시지에는 A,B의 신원 요청, A 자신의 ID값이 포함되어있다.

 

KDC > A, B

KDC는 세션키를 생성하고 AB의 마스터키를 이용하여 각각 세션키, A, B의 신원정보(ID), Timestamp(T)를 담아 암호화하여 전송한다.

* 이 과정에서 BA가 자신과 통신하고자 함을 확인함.

 

AB는 각각 KDC와 서로 공유하고 있던 A, B의 마스터키로 암호화된 키값을 자신의 마스터키로 복호화하여 세션키를 얻는다.

 

A -> B

A는 세션키로 암호화하여 B에게 자신의 ID, Timestamp(T)를 전송한다.

 

B -> A

B는 세션키로 암호화하여 A에게 자신의 ID, Timestamp+1을 전송한다.

 

 

③ Diffie-Hellman 키 교환에 의한 해결

교환 절차

1) Alice는 소수p, 그리고 1부터 p-1까지의 정수 g를 선택하여 사전에 Bob과 공유한다.

2) Alice0보다 크거나 같고 p-1보다 작은 정수 a를 선택한다. a는 공유하지 않는다.

3) AliceA=g^a mod p를 계산한다.(g^ap로 나눈 나머지)

4) AliceABob에게 전송한다.

5) Bob0보다 크거나 같고 p-1보다 작은 정수 b를 선택한다.

6) BobB=g^b mod p를 계산한다.(g^bp로 나눈 나머지)

7) BobBAlice에게 전송한다.

8) AliceB^a mod p, BobA^b mod p를 계산한다.

B^a mod p = (g^b)^a mod p = g^ab mod p

A^b mod p = (g^a)^b mod p = g^ab mod p

따라서 g^ab mod p라는 공통의 비밀키(K)를 공유한다.

 

 

④ 공개키 암호에 의한 해결

- 암/복호화에 서로 다른 키를 사용

- 송신자는 수신자의 공개키를 이용하여 암호화, 수신자는 자신의 개인키로 복호화 가능

- 수학적 난제를 기반으로 설계

수신자는 공개키, 개인키 중 공개키를 공개함

송신자는 수신자의 공개키를 획득

송신자는 문서를 수신자의 공개키로 암호화하여 수신자에게 전송

수신자는 자신의 개인키로 암호화된 문서를 복호화함

반응형

'자격증 > 정보보안기사' 카테고리의 다른 글

대칭키 DES  (0) 2024.02.22
공개키 암호 알고리즘  (0) 2024.02.20
SSL/TLS  (0) 2024.02.16
FTP  (1) 2024.02.15
대칭키 암호 vs 공개키 암호  (0) 2024.02.14