정보보안산업기사 필기

[암호학] 키 배송 문제와 해결 방안

zzadary1012 2026. 3. 30. 23:10

- 키 배송 문제 (Key Distribution Problem)

: 대칭키를 사용한다면 Alice가 Bob에게 암호문을 보낼 때 키를 같이 보내야 한다. 이 때 키를 보낸다면 공격자에 의해 도청당할 수 있다. 하지만 키를 보내지 않는다면 Bob은 암호문을 복호화할 수 없다. 이것이 키 배송 문제이다.

 

· 해결 방안

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

● 키배포 센터에 의한 해결 (온라인 키 분배)

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

● 공개키 암호에 의한 해결

 

 

(1) 키의 사전 공유에 의한 해결

: 키 관리기관(TA, trusted authority)이 사전에 두 사용자에게 키를 전달하는 방법이다.

 

· 특징

① 키를 전달하는 비밀 경로는 일대일 경로이다.

② 따라서, n명의 사용자가 있다면 TA는 n(n-1) / 2 가지의 키를 관리하여야 한다. (Ex. n명의 사람이 서로 한 번씩 악수를 한다고 생각하면 됨)

▶ 복잡하고 관리비용 ↑

 

 

(2) 키배포 센터에 의한 해결 (온라인 키 분배)

: 키배포 센터(KDC, Key Distribution Center) - 신뢰할 수 있는 제 3의 기관

 

· 기본 원리 

① Alice는 KDC와 자신만이 아는 키 KA를 가짐

② Bob은 KDC와 자신만이 아는 키 KB를 가짐

③ Alice가 Bob과 통신하고 싶을 때, KDC가 일회용 세션 키를 만들어 배송함

 

· 절차

① Alice가 KDC에 "Bob과 통신하고 싶다"고 신청하면 KDC는 일회용 세션키를 생성한다.

② KDC에서는 Alice의 키 KA와, Bob의 키 KB를 꺼낸다.

③ KDC는 Alice의 키 KA를 사용하여 세션키를 암호화하여 Alice에게 보낸다.

→ C_A = E_KA(K)

④ KDC는 Bob의 KB를 사용하여 세션키를 암호화하여 Bob에게 보낸다.

→ C_B = E_KB(K)

⑤ Alice와 Bob은 각각 암호화된 세션키를 받아 본인의 키로 복호화를 실시하면 같은 세션키를 얻게 된다.

 

※ KDC가 Alice에게 세션키와 Bob용 티켓을 한꺼번에 주고 Alice가 Bob에게 티켓을 전달하기도 함 ※

 

· 특징 

① n명의 사용자가 있다면 n개의 키를 관리한다.

② 전송 도중의 세션키가 암호화 되어 있으므로 안전하다.

 

 

(3) Diffie-Hellman 키 교환에 의한 해결

: 이산대수 문제를 풀기 어렵다는 사실에 착안하여 발명된 알고리즘 → 최초의 비밀키 교환 프로토콜

 

· 원리

① 양쪽의 통신주체는 두 개의 수 p와 g를 선택함

→ p : 매우 큰 소수 (300자리가 넘는 십진수)

 

② 개인키 생성

● Alice : 임의의 큰 수 x를 선택 ( 0 ≤ x ≤ p-1 )

● Bob : 임의의 큰 수 y를 선택 ( 0 ≤ y ≤ p-1 )

 

③ 공개값 계산 및 교환

● Alice : A = gˣ  mod p를 계산하여 Bob에게 보낸다 (x값을 제외하고 오직 A만 보냄)

● Bob : B = gʸ mod p 를 계산하여 Alice에게 보낸다 (y값을 제외하고 오직 B만 보냄)

 

④ 공통 비밀 키(K) 계산

● Alice : K = Bˣ mod p = (gʸ)ˣ mod p

● Bob : K = Aʸ mod p = (gˣ)ʸ mod p

▶ K = gˣʸ mod p가 되므로 두 키가 일치한다.

 

 

· 특징

① 양쪽의 통신주체가 KDC 없이 대칭 세션키를 생성

② "키 교환"이라는 말이 있지만 실제로 키를 교환하는 것 X

→ 공유할 키를 계산하여 만들어 내는 것

③ 유한체상의 이산대수 문제(DLP)를 풀기 어렵다는 사실에 기반

→ 결과값(Y)를 보고 지수(x)를 찾아내는 것이 어려움 (Y = gˣ mod p)

④ 기밀성(Confidentiality)은 제공하지만 인증(Authentication) 기능이 없음

 

· 위협적인 공격기법

1) 이산대수 공격

: Eve 가 A와 B를 가로채서 x와 y를 계산한다면 비밀키가 드러나게 된다.

 

2) 서비스 거부 공격(DoS, Denial of Service)

: Diffie-Hellman 기법은 지수함수에 기초 → 계산이 복잡하여 비밀키 생성에 지연 시간 발생 가능

▶ DoS 공격에 대한 취약점을 가지고 있음

 

3) 중간자 공격(man-in-the-middle attack)

: Eve가 중간에서 Alice인 척 Bob과 키를 맺고, Bob인 척 Alice와 키를 맺음

▶ 방지하기 위해 전자서명공개키 인증서 등을 사용

 

 

※ Diffie-Hellman은 공개키 알고리즘이 아니라 키 합의 프로토콜임 ※

 

 

(4) 공개키 암호에 의한 해결

: 암호화키와 복호화키가 서로 다른 암호화 알고리즘

 

· 한 쌍의 키

● 공개키 (Public Key) : 누구나 알 수 있도록 공개하는 키 

● 개인키 (Private Key) : 본인만 안전하게 보관하는 비밀 키

 

· 과정

① Bob이 Alice에게 암호화키를 알려준다.

→ 암호화키는 Eve에게 알려져도 상관없음

② Alice는 암호화키를 사용하여 평문을 암호화하여 Bob에게 보낸다.

③ Bob은 본인에게만 있는 복호화키로 복호화하여 내용을 확인한다.

 

→ 암호화키 = 공개키 / 복호화키 = 개인키

 

▶ Eve가 내용을 가로채도 복호화키가 없으므로 안전함

 

구분 TA (Trusted Authority) KDC (Key Distribution Center) DH (Diffie-Hellman) 공개키 방식
핵심 개념 신뢰할 수 있는 제 3의 기관 키배포 센터 공개 채널에서 비밀키 생성 공개키와 개인키 쌍을 사용하는 비대칭키 암호
신뢰의 대상 제3의 인증기관 KDC 수학적 난제 (이산 대수) 인증 기관 및 수학적 원리
키 종류 인증서 및 키 관리 대칭키 세션키 공개키 & 개인키
주요 특징 사전에 키 전달 세션마다 새로운 대칭키 발급 사전에 공유된 비밀 없이 키 교환 가능 키 분배 문제를 근본적으로 해결
장점 보안 정책의 중앙 집중화 키 관리 효율적 중간에 가로채도 비밀키 유추 불가 인증, 부인방지, 기밀성 모두 제공
단점 복잡 & 관리 비용 높음 KDC가 Single Point가 됨 중간자 공격에 취약 매우 느림

[표 - 키 배송 문제를 해결하는 방안]

 

 

 

♠ 2026.03.30 / D-296 ♠

 

오늘은 대칭키 암호를 사용할 때 발생하는 키 배송 문제와 이를 해결할 수 있는 방법들을 정리했다. 이 파트는 일단은 다 중요해보이긴 한다. 키 배송 문제를 해결할 수 있는 방법 네 가지와 각각의 원리 및 특징들을 암기하는 것이 유리할 것 같다.

 

원래 어제 공부를 했어야 했는데 당직이었어서 못했다. 14시간 30분동안 잠도 안 자고 혼자 앉아만 있는건 지옥이다. 요즘 살이 굉장히 쪄서 다이어트? 겸 러닝을 하고 있다. 러닝하니까 피곤하다. 오늘은 여기까지 하고 자보도록 하겠다.

 

내일부터는 본격적으로 비대칭키 암호에 대해 공부해보겠다.