IT Study/보안 및 프라이버시

🔐 Diffie-Hellman 키 교환 알고리즘 구조와 공개키 암호 개념

cs_bot 2025. 4. 12. 14:26

1. 공개키 암호(Public Key Cryptography)의 개념

  • 대칭키 암호 방식과 달리, 키 분배 문제를 해결하기 위해 고안된 암호 체계
  • 하나의 키 쌍(공개키, 개인키)을 사용하며, 공개키는 누구나 접근 가능하고, 개인키는 사용자만이 보유함
  • 공개키로 암호화한 정보는 해당 개인키로만 복호화 가능하며, 역으로 개인키로 서명한 정보는 공개키로 검증 가능함
  • 대표적인 알고리즘으로 RSA, ECC, ElGamal, Diffie-Hellman 등이 존재함
  • 기밀성(Confidentiality), 무결성(Integrity), 인증(Authentication), 부인방지(Non-repudiation) 등의 보안 요구사항 충족 가능

2. 공개키 암호의 필요성과 배경

  • 기존 대칭키 방식은 안전한 키 분배가 어려워, 보안 통신 확장이 제한적이었음
  • 네트워크가 확대되고 사용자 수가 증가함에 따라, 효율적이고 안전한 키 분배 메커니즘 필요성이 대두됨
  • 공개키 암호는 키 교환을 비공개 채널 없이 수행 가능하게 함으로써, 보안성과 확장성 문제를 동시에 해결함
  • 이를 통해 전자상거래, VPN, SSL/TLS, 디지털 서명, 블록체인 등 다양한 분야에서 실질적인 기반 기술로 활용됨

3. Diffie-Hellman 키 교환 알고리즘 개요

  • 1976년 Whitfield Diffie와 Martin Hellman에 의해 최초 제안된 공개키 기반 키 교환 프로토콜
  • 두 명의 사용자가 공개 채널을 통해 비밀 키를 안전하게 공유할 수 있는 방식 제시
  • 비밀 키를 직접 교환하지 않고, 수학적 연산을 통해 동일한 공유 키를 생성하는 구조를 가짐
  • 이 공유 키는 이후 대칭키 암호화 방식에서 실제 데이터 암호화에 활용됨

4. Diffie-Hellman 키 교환의 수학적 구조

  • 다음과 같은 수학적 연산 기반 위에 작동함
    • 큰 소수 ( p )와 원시근(primitive root) ( g )를 공개 파라미터로 설정함
    • 사용자 A는 비밀키 ( a )를 선택하고, ( A = g^a \mod p )를 계산하여 공개값으로 전송함
    • 사용자 B는 비밀키 ( b )를 선택하고, ( B = g^b \mod p )를 계산하여 공개값으로 전송함
    • 사용자 A는 ( B^a \mod p )를 계산하고, 사용자 B는 ( A^b \mod p )를 계산함
    • 양쪽 계산 결과는 동일한 값 ( g^{ab} \mod p )가 되어 공유 비밀키가 형성됨

5. Diffie-Hellman 키 교환의 절차 예시

  • 공통 파라미터: 소수 ( p = 23 ), 원시근 ( g = 5 ) 선택
  • 사용자 A: 개인키 ( a = 6 ) → ( A = 5^6 \mod 23 = 8 )
  • 사용자 B: 개인키 ( b = 15 ) → ( B = 5^{15} \mod 23 = 2 )
  • 사용자 A가 계산한 공유 키: ( 2^6 \mod 23 = 18 )
  • 사용자 B가 계산한 공유 키: ( 8^{15} \mod 23 = 18 )
  • 따라서 양측은 비밀 통신에 사용할 공유 키 ( K = 18 )을 생성하게 됨

6. Diffie-Hellman의 장점과 한계

  • 장점

    • 키 분배 문제를 안전하게 해결하는 최초의 구조
    • 대칭키 암호와 결합하여 효율적 암호 통신 가능
    • 공개 채널에서도 안전한 키 공유 가능
  • 한계

    • 중간자 공격(Man-in-the-middle attack)에 취약함
    • 키 인증 메커니즘이 없기 때문에, 인증 구조와 결합 필요
    • 고속 소수 연산 및 모듈러 거듭제곱 계산이 필요하므로 연산 비용 발생
    • 본질적으로 키 교환만 가능하며, 데이터 암호화 자체는 별도의 대칭키 알고리즘 필요

7. 안전성 확보를 위한 보완 기술

  • 인증서 기반의 인증 절차 추가(X.509, CA 등)
  • 전자서명 기반의 키 확인 메커니즘 도입
  • Ephemeral Diffie-Hellman(DHE), ECDHE 등의 강화된 변종 적용
    • ECDHE: 타원곡선 기반 Diffie-Hellman으로 계산 성능 및 보안성 향상
    • DHE-RSA 등 하이브리드 방식도 TLS 등에서 광범위하게 사용됨

8. 공개키 기반 구조(PKI)와의 연계

  • Diffie-Hellman 자체는 키 교환에 집중되어 있으며, 실제 서비스에는 공개키 기반 구조(PKI)와 결합됨
  • PKI는 공개키의 신뢰성과 유효성을 보장하는 인증 체계 제공
  • 디지털 인증서, 인증기관(CA), CRL/OCSP 등으로 구성됨
  • DH 기반 공유 키와 PKI를 함께 사용함으로써, 통신 주체 간의 인증, 무결성, 기밀성 전반을 확보함

9. 활용 사례 및 응용

  • HTTPS / SSL / TLS 프로토콜의 초기 핸드셰이크 과정에서 키 교환 용도로 사용됨
  • VPN 터널링에서 비밀 키 공유용으로 사용됨
  • 메시징 플랫폼(예: Signal, WhatsApp)에서 E2E 암호화 키 생성에 활용됨
  • IoT 디바이스 간 통신에서 경량화된 DH 변형 알고리즘 사용됨
  • 블록체인 플랫폼에서 참가자 간 안전한 키 협상 메커니즘으로 사용됨

10. 결론

  • Diffie-Hellman 알고리즘은 공개키 암호 시스템의 실질적 효용을 처음으로 제시한 선구적 구조임
  • 대칭키의 취약점을 보완하면서도, 실제 암호화 통신에서 확장 가능성과 안전성을 동시에 확보함
  • 현대 정보보안 시스템의 근간을 이루며, 다양한 인증 및 암호 기술과 결합되어 고신뢰 보안 통신 구현 가능