공개 키 암호화의 기본 개념
공개 키 암호화(Public Key Cryptography)는 데이터를 안전하게 주고받기 위해 공개 키(public key)와 개인 키(private key)로 이루어진 한 쌍의 키를 사용하는 암호화 방식입니다. 두 개의 서로 다른 키를 사용한다는 의미에서 '비대칭 키 암호화(asymmetric cryptography)'라고도 불립니다.
이 방식에서 사용자는 하나의 키 쌍을 가지며, 공개 키는 누구에게나 자유롭게 배포할 수 있지만 개인 키는 오직 자신만 보관합니다. 흥미로운 점은 두 키가 수학적으로 밀접하게 연관되어 있으면서도, 공개 키만으로는 개인 키를 유추할 수 없다는 것입니다. 따라서 공개 키로 암호화한 메시지는 그에 짝을 이루는 개인 키로만 해독할 수 있습니다.
공개 키 암호화의 두 가지 핵심 용도
공개 키 암호화는 크게 두 가지 방식으로 활용됩니다.
1. 공개 키 암호화 (기밀성 확보)
수신자의 공개 키로 암호화된 메시지는 해당 개인 키를 가진 수신자 본인 외에는 누구도 해독할 수 없습니다. 이를 통해 전송 중인 데이터의 기밀성(confidentiality)을 보장할 수 있습니다.
2. 디지털 서명 (인증성 확보)
발신자가 자신의 개인 키로 서명한 메시지는 발신자의 공개 키를 가진 누구나 검증할 수 있습니다. 이를 통해 메시지가 실제로 해당 발신자가 작성했으며, 전송 과정에서 위변조되지 않았음을 확인할 수 있습니다. 즉, 인증성(authenticity)을 제공합니다.
디지털 서명이란?
디지털 서명(digital signature)은 메시지, 소프트웨어, 디지털 파일의 진위 여부와 무결성(integrity)을 검증하는 수학적 기술입니다. 이를 통해 서명자의 신원, 서명 날짜와 시간을 확인하고 문서 내용이 원본 그대로인지 인증할 수 있습니다.
디지털 서명은 자체적인 보안성이 뛰어나며, 디지털 통신 환경에서 빈번히 발생하는 변조(tampering)와 사칭(impersonation) 문제를 해결하기 위해 고안되었습니다.
쉽게 이해하는 비유: 우편함과 밀랍 봉인
공개 키 암호화 = 잠긴 우편함
공개 키 암호화는 투입구가 열려 있는 잠긴 우편함에 비유할 수 있습니다. 우편함의 위치(거리 주소)는 공개 키에 해당하며, 주소를 아는 사람이라면 누구나 편지를 넣을 수 있습니다. 하지만 우편함을 열고 편지를 꺼내 읽을 수 있는 사람은 열쇠(개인 키)를 가진 소유자뿐입니다.
디지털 서명 = 밀랍 봉인
디지털 서명은 개인 밀랍 인장으로 봉인한 편지에 비유됩니다. 편지 자체는 누구나 열어볼 수 있지만, 봉인이 온전하다면 그 편지가 확실히 해당 발신자로부터 왔음을 확인할 수 있습니다.
공개 키의 신뢰성 문제와 PKI
공개 키 암호화의 가장 큰 과제는 공개 키가 진짜이며 악의적인 제3자에 의해 변조되거나 교체되지 않았음을 입증하는 것입니다. 이 문제를 해결하는 대표적인 방법은 다음과 같습니다.
- PKI(Public-key Infrastructure, 공개 키 기반 구조) — 인증 기관(Certificate Authority)이라 불리는 제3의 신뢰 기관이 키 쌍의 소유권을 인증해 주는 방식입니다.
- 신뢰의 웹(Web of Trust) — PGP에서 사용하는 방식으로, 중앙 기관 없이 사용자들 간의 상호 신뢰 관계를 통해 키의 진위를 검증합니다.
공개 키 암호화의 특징과 활용
공개 키 암호화는 순수 대칭 키 알고리즘에 비해 연산 부담이 상당히 크다는 단점이 있습니다. 이러한 이유로 실제 시스템에서는 대량의 데이터를 대칭 키로 암호화하고, 그 대칭 키를 공개 키 암호화로 안전하게 전달하는 하이브리드 방식이 널리 사용됩니다.
그럼에도 불구하고 공개 키 기술은 안전한 키 교환, 디지털 서명, 전자상거래, SSL/TLS 기반 웹 보안 등 매우 폭넓은 응용 분야를 가능하게 하는 현대 정보 보안의 근간이라 할 수 있습니다.