공시 한 판

정보보호론 개념서 · 공개키 암호·해시·전자서명

세션키 분배와 공개키 사용

설명 영상 하이브리드 암호 시스템과 세션키 분배 · 2:14

핵심 정리

공개키 암호 방식은 암호화와 복호화에 쓰는 키가 서로 다른 방식이다. 공개키로 암호화한 자료는 짝이 되는 개인키를 가진 사람만 복호화할 수 있다. 다만 공개키 암호는 계산이 복잡하여 긴 메시지를 직접 암호화하기에는 효율이 낮다. 그래서 실제 통신에서는 두 방식을 함께 쓰는데, 이를 하이브리드 암호 시스템이라 한다.

이 구조의 의의는 대칭키 암호의 속도와 공개키 암호의 키 배포 편의를 결합하는 데 있다. 하이브리드 암호 시스템은 임의의 세션키로 메시지를 대칭키 암호화하고, 그 세션키를 수신자의 공개키로 암호화한다. 메시지 본문은 빠른 대칭키로 처리하고, 짧은 세션키만 공개키로 보호하므로 메시지는 대칭키, 세션키는 공개키 양쪽의 장점을 취하게 된다. 세션키는 하나의 통신 세션에서만 쓰는 1회용 대칭키다.

세션키를 공개키로 전달하는 목적은 키의 기밀성을 보장하고 키를 안전하게 배포하는 데 있다. 이 목적은 무결성을 보장하는 것과는 다르다. 세션키는 수신자의 공개키로 암호화되어 전달되고, 수신자는 자신의 개인키로 복호화한다. 이 방식을 쓰면 송수신자가 미리 비밀키를 나눠 가질 필요가 없다. 세션키를 이용하여 데이터의 기밀성을 제공할 수 있다는 점도 이 구조의 효과다.

공개키 방식은 기밀성과 전자서명에서 키 쌍을 다르게 쓴다. 기밀성을 위한 암호화에는 수신자의 공개키를 쓰고, 전자서명에는 송신자의 개인키를 쓴다. 인증을 위해 서명을 검증하는 쪽은 상대방의 공개키를 알고 있어야 한다.

이 방식의 가장 큰 한계는 키 교환 과정이 인증되지 않으면 중간자 공격에 노출된다는 점이다. 디피-헬먼 키 교환이 대표적인 예이며, 이 방식 자체는 상대방을 인증하지 않는다. 따라서 키 교환은 반드시 인증된 채널에서 이루어져야 하는 것으로 이해하면 된다. 세션마다 새로운 세션키를 만드는 특성은 전방향 보안이라 한다.

자세히

하이브리드 구조와 세션키 전달

이 쟁점의 핵심은 세션키를 공개키로 보호하는 구조를 정확히 이해하는 것이다. 송신자는 메시지를 세션키로 대칭키 암호화한다. 같은 세션키를 수신자의 공개키로 암호화하여 암호화된 메시지와 함께 보낸다. 수신자는 개인키로 세션키를 복호화한 뒤 그 세션키로 메시지를 복호화한다. 따라서 세션키의 기밀성은 수신자의 개인키에 달려 있다. 이 구조에서 메시지의 기밀성과 세션키의 기밀성은 함께 제공된다. 하이브리드 암호 시스템은 대칭 암호와 공개키 암호의 장점을 조합한 방식이다. 이 구조에서 메시지는 대칭 암호 방식으로 암호화된다.

S/MIME에서도 같은 원리가 쓰인다. 기밀성 문서는 세션키로 암호화하고, 세션키를 수신자의 공개키로 암호화하여 보내는 전자봉투 방식으로 전달할 수 있다. 데이터 콘텐트 유형 가운데 기밀성만 제공하는 것은 Enveloped-Data이다. 전자봉투라는 이름은 키를 봉투에 넣어 전달하는 모습에서 왔다고 보면 이해가 쉽다.

세션키 전달에서 자주 문제가 되는 것은 누구의 키로 세션키를 암호화하느냐이다. 세션키를 공개키 방식으로 안전하게 전달하려면 수신자의 공개키로 세션키를 암호화해야 한다. 반대로 세션키를 송신자의 개인키로 암호화하면 누구나 송신자의 공개키로 세션키를 얻을 수 있다. 그러면 기밀성이 보장되지 않으므로 이 방식은 세션키 전달 수단으로 쓸 수 없다.

디피-헬먼 교환과 중간자 공격

디피-헬먼 방식은 공개키 값을 서로 교환하여 키 자료를 만드는 방식이다. 이 방식에서 공개되는 것은 p, g, g^a, g^b이다. 반면 개인 지수 a·b와 공유 비밀 g^ab mod p는 비밀로 유지해야 한다. 개인 지수와 공유 비밀은 비밀 공개되는 값과 비밀로 남는 값을 구분하는 것이 이 쟁점의 핵심이다.

디피-헬먼은 키 교환 알고리즘이며, 메시지를 직접 암호화하는 대칭키 암호 알고리즘이 아니다. IKE는 디피-헬먼 키 교환 알고리즘을 기반으로 한다. IKE가 IPsec의 SA를 설정하는 과정에서 두 당사자는 디피-헬먼 군을 협상할 수 있다.

디피-헬먼의 안전성은 이산 대수 문제를 푸는 것이 어렵다는 점에 기반한다. 그러나 이 방식은 상대방을 인증하지 않는다. 교환 과정이 인증되지 않으면 중간자가 양쪽 사이에 끼어들 수 있다. 따라서 키 교환 과정이 인증되어야 중간자 공격을 막을 수 있다. 상대방 인증 없음이 한계 두 쟁점을 함께 보면 디피-헬먼은 안전한 수학적 바탕을 가졌지만 인증 문제는 별도로 해결해야 한다는 결론이 나온다.

세션키의 성질

세션키는 대칭키이므로 메시지의 암호화와 복호화에 같은 키가 쓰인다. 세션키는 예측되지 않도록 선택되어야 하며, 일반적으로 의사 난수 생성기로 만든다. 세션키를 이용하여 데이터의 기밀성을 제공할 수 있다는 점은 이미 살펴본 바와 같다. 세션키의 성질을 정리하면, 한 세션에서만 쓰이고, 대칭키이며, 무작위로 만들어진다는 세 가지로 요약할 수 있다.

이어지는 내용

로그인하면 하루 5페이지까지 무료로 전체를 읽을 수 있습니다.

앱에서 이 절 읽기