한국은 1999년부터 온라인 뱅킹과 전자정부 서비스에 정부 연계 "공인인증서" 사용을 사실상 의무화했고, 이는 액티브X와 인터넷 익스플로러에 강하게 종속된 시스템이었다. 이 제도는 2020년에야 폐지되어 여러 민간 인증서로 대체되었다 — PGP가 등장한 지 거의 10년 뒤에 만들어진, 완전히 중앙화된 방식이었다.
키 한 쌍: 공개 키와 개인 키
하나의 키가 데이터를 암호화하고 복호화하는 대칭 암호화(AES 같은)와 달리, PGP는 수학적으로 연결된 키 한 쌍을 사용합니다. 공개 키는 자유롭게 배포할 수 있습니다 — 누구나 그것으로 오직 당신만을 위한 메시지를 암호화할 수 있고, 기기를 절대 벗어나지 않는 대응하는 개인 키만이 그것을 복호화할 수 있습니다.
공인인증서와 PGP, 정반대의 설계
공인인증서 체제는 정부가 인증 기관을 지정하고, 그 기관이 개인에게 인증서를 발급하는 하향식 구조였다. PGP는 애초부터 그런 지정 기관 없이 설계됐다: 누구나 스스로 키 쌍을 만들고, 공개 키를 공개하며, 개인 키로 서명한다. 2020년 한국이 단일 인증서 체제를 폐지하고 여러 민간 사업자로 분산시킨 방향은, PGP가 처음부터 취했던 탈중앙 모델과 우연히 닮아 있다.
디지털 서명 — 같은 아이디어를 거꾸로
메시지에 서명하려면, 작성자는 내용을 해시한 다음 그 해시를 자신의 개인 키로 암호화합니다. 누구나 작성자의 공개 키로 서명을 검증할 수 있습니다 — 검증에 성공하면 메시지가 실제로 개인 키 소유자에 의해 작성되었고 이후 변경되지 않았음이 확인됩니다.
왜 필요한가
- 사전에 비밀을 교환하지 않고 수신자를 위한 기밀 메시지 암호화하기.
- 저작권을 증명하기 위해 소프트웨어 릴리스나 커밋에 서명하기.
- 외부에서 받은 서명된 이메일이나 파일의 진위 검증하기.
지정 기관 대신 Web of Trust
공인인증서 체제는 정부가 지정한 기관이 신뢰를 보증하는 구조였다. PGP는 정반대로 "신뢰의 거미줄(Web of Trust)"에 의존한다. 사용자들은 특정 키가 실제로 그 사람의 것임을 직접 확인한 후 서로의 공개 키에 직접 서명한다. 낯선 키에 대한 신뢰는 어떤 지정 기관이 아니라, 이미 신뢰하는 사람들의 서명 체인을 통해 간접적으로 형성된다.