Skip to content

06. 키 교환과 하이브리드 암호


학습 목표

  1. 대칭키의 인터넷 환경 한계(키 전달 문제)를 이해한다.
  2. 비대칭키로 키 교환을 해결하는 방법을 설명할 수 있다.
  3. 하이브리드 암호(대칭키 + 비대칭키 혼합)의 원리를 이해한다.
  4. **세션 키(Session Key)**의 개념과 장점을 설명할 수 있다.
  5. 실제 인터넷 통신에서 암호가 어떻게 적용되는지 전체 흐름을 그릴 수 있다.

전체 구조


1. 대칭키의 인터넷 환경 한계

키 전달 문제

대칭키는 효율이 뛰어나지만, 인터넷 환경에서 치명적인 문제가 있다.

핵심 문제: 인터넷이라는 공개 구간을 통해 키를 안전하게 전달할 방법이 없다.

암기 포인트: 대칭키는 효율적이지만, 인터넷에서 키를 안전하게 전달할 방법이 없어서 단독 사용이 부적합하다.


2. 비대칭키로 키 교환하기

비대칭키가 해결하는 것

비대칭키에서는 공개키를 인터넷에 공개해도 된다. 공개키로 암호화한 것은 개인키로만 풀 수 있으니까.

공개키는 인터넷에 노출되어도 괜찮다. 공개키로 암호화한 것은 개인키로만 풀 수 있기 때문이다.

비대칭키만 쓰면 되지 않나?

가능은 하지만 효율이 나쁘다. 데이터를 주고받을 때마다 비대칭키 연산을 하면 CPU를 너무 많이 쓴다.


3. 하이브리드 암호: 최선의 해결책

아이디어

두 방식의 장점만 조합한다.

역할방식이유
키 교환비대칭키공개키로 안전하게 키 전달 가능
데이터 암호화대칭키빠르고 효율적

전체 흐름

흐름을 단계별로 정리

왜 이 방식이 좋은가?

  1. **세션 키(대칭키)**는 서버 공개키로 암호화되어 전달된다 → 도청해도 풀 수 없다
  2. 실제 데이터 통신은 **대칭키(세션 키)**로 한다 → 빠르고 효율적
  3. 비대칭키 연산은 키 교환 한 번만 한다 → CPU 부담 최소화

4. 세션 키(Session Key)

세션 키란?

PC가 생성한 대칭키를 **세션 키(Session Key)**라고 부른다. 하나의 통신 세션에서만 사용하는 키다.

세션별 고유 키의 장점

하나의 서버에 여러 PC가 접속하면, 각각 다른 세션 키를 사용한다.

특성설명
채널별 고유PC마다 다른 세션 키 사용
한시적 사용세션이 끝나면 키 폐기
피해 제한하나가 유출되어도 다른 세션에 영향 없음
효율대칭키이므로 빠른 암호화/복호화

5. 터널(Tunnel)이란?

PC와 서버 사이에 세션 키로 암호화된 통신 채널이 형성되면, 이것을 **터널(Tunnel)**이라 부른다.

  • TCP/IP 연결 위에서 키 교환을 하고 비밀 통신을 하면 → Secured Session
  • 이 보안 세션을 비유적으로 터널이라 부른다
  • VPN 등에서 "터널링"이라는 표현이 여기서 나온 것이다

6. 키 쌍 생성의 비용

비대칭키든 대칭키든, 키를 생성하는 것은 상당한 전산 자원을 소모한다.

암기 포인트: 키 쌍 생성은 비용이 크므로, 한 번 만들어서 일정 기간(보통 1년) 재사용한다. 이것이 인증서 유효기간의 이유다.


핵심 암기 포인트

대칭키의 한계: 인터넷에서 키를 안전하게 전달할 방법이 없다.

하이브리드 암호: 비대칭키로 키 교환 + 대칭키로 데이터 통신. 양쪽 장점만 취한다.

세션 키: PC가 생성한 대칭키. 서버 공개키로 암호화하여 전달. 세션별로 고유.

터널: 세션 키로 암호화된 통신 채널. VPN의 "터널링"이 이 개념.

흐름 요약: 서버 공개키 전달 → PC가 세션 키 생성 → 공개키로 암호화 전달 → 대칭키 통신.


확인 질문

  1. 대칭키만으로 인터넷 비밀 통신이 어려운 이유는 무엇인가?
  2. 하이브리드 암호에서 비대칭키와 대칭키 각각의 역할은 무엇인가?
  3. 세션 키가 채널별로 다른 것이 보안에 어떤 이점을 주는가?
  4. 세션 키를 서버에 전달할 때 왜 서버의 공개키로 암호화하는가?
  5. "터널"이라는 표현이 어떤 상황을 비유하는 것인가?