현재 선택한 정보보안 과정

정보보안기사 필기 이론 학습

이론 목록으로 돌아가기

공개키와 하이브리드 암호

공개키·개인키의 역할과 키 운반·키 합의·데이터 암호화의 관계를 구분합니다.

예상 읽기 3

1. 대칭키와 공개키의 역할 분담

대칭키 방식에서는 통신할 두 주체가 비밀키를 공유해야 한다. n명 모두가 서로 다른 쌍별 키를 미리 가지면 필요한 키 수는 n(n-1)/2다. 10명은 45개, 100명은 4,950개다. 키 분배센터를 사용하는 경우에 그대로 적용하는 수식은 아니다.

공개키 방식에서는 각 주체가 공개키와 개인키의 쌍을 가진다. n명이 한 쌍씩 가진다는 조건이면 n개의 키쌍, 개별 키는 2n개다. 공개키는 공개해도 되지만 실제 누구의 키인지 검증해야 한다. 공격자가 바꿔 놓은 키를 사용하면 강한 알고리즘도 통신 상대를 보호하지 못한다.

구분대칭키공개키
비밀공유키각 주체의 개인키
대표 역할대용량 암호화·MAC키 설정·전자서명·인증
관리 문제비밀키를 안전하게 공유공개키와 소유자의 신뢰 연결
키 길이 비교전수조사 비용 등이 기준수학적 문제와 공격 방식이 다름

두 계열의 키 비트 수를 그대로 비교해 더 안전하다고 판단하지 않는다.

2. 키 운반과 키 합의

키 운반(Key Transport)은 한쪽이 만든 비밀키 재료를 다른 쪽에 안전하게 전달하는 방식이다. 예를 들어 송신자가 생성한 세션키를 수신자의 공개키로 보호하고 수신자가 자신의 개인키로 복구한다.

키 합의(Key Agreement)는 양쪽의 비밀값이 기여해 공통 비밀을 만드는 방식이다. DH·ECDH가 대표다. 완성된 세션키 자체를 암호화해 보내는 과정과 구분한다. 자세한 계산은 DH 키 합의와 타원곡선 기초에서 다룬다.

3. 하이브리드 암호의 흐름

큰 파일을 보낼 때 공개키 연산으로 파일 전체를 처리하기보다 데이터는 효율적인 대칭키로 보호하고, 공개키 기술로 그 키를 운반하거나 합의한다.

키 운반을 사용하는 전자봉투의 단순한 예는 다음과 같다.

CODE코드 영역 안에서 좌우로 이동할 수 있습니다.
송신자: 세션키 K 생성
데이터 보호: K로 메시지 암호화·인증
키 보호: 수신자 공개키로 K 보호
전달: 보호된 K + 데이터 암호문 + 필요한 초기값·태그
수신자: 개인키로 K 복구 → 태그 확인·데이터 복호화

여러 수신자에게 같은 데이터를 전달하는 구조라면 데이터키를 수신자별로 따로 보호할 수도 있다. 여기서 세션키는 데이터의 대칭키이고 수신자의 개인키와 같지 않다. DH 기반 하이브리드는 키 보호 단계 대신 인증된 합의와 KDF로 데이터키를 만든다.

좌우로 이동해 그림을 확인하세요.그림 크게 보기
하이브리드 암호: 데이터와 키의 보호 분담
하이브리드 암호: 데이터와 키의 보호 분담

4. 기밀성과 서명자를 구별하기

  • 기밀성을 위한 공개키 암호화: 수신자 공개키로 보호 → 수신자 개인키로 복구
  • 전자서명: 서명자 개인키로 생성 → 서명자 공개키로 검증

수신자의 공개키는 누구나 알 수 있으므로 그것으로 암호문을 만들었다는 사실만으로 송신자 신원이 인증되지는 않는다. 전자봉투에도 송신자 확인이 필요하면 서명 등 별도 인증을 결합한다. 공개키의 소유자 확인은 인증서·PKI·신뢰와 폐지 확인에서 다룬다.

스스로 확인하기

개념 확인 문제

문제를 누르면 바로 아래에서 정답과 해설을 확인할 수 있습니다.

0110명이 모든 사용자 쌍마다 독립적인 대칭키 하나를 미리 공유하면 키가 몇 개 필요한가?
정답 및 해설

10×9÷2=45개다. 각 사용자가 KDC와 장기키 하나만 공유하는 조건과 다르다.

02한쪽이 만든 세션키를 상대 공개키로 보호해 전달하는 것과 양쪽 비밀값으로 공통값을 만드는 것은 각각 무엇인가?
정답 및 해설

앞은 키 운반, 뒤는 키 합의다. 하이브리드 암호는 이런 키 설정과 대칭키 데이터 보호를 결합한다.