PGP의 주요 서비스 개요
PGP(Pretty Good Privacy)는 전자메일과 파일의 보안을 위해 널리 사용되는 암호화 프로그램입니다. PGP는 크게 인증, 기밀성, 기밀성+인증, 압축, 전자메일 호환성, 분할의 여섯 가지 핵심 서비스를 제공합니다. 각 서비스의 원리와 동작 방식을 하나씩 살펴보겠습니다.
1. 인증(Authentication)
PGP는 SHA-1 해시 함수를 사용하여 160비트 길이의 메시지 다이제스트(message digest)를 생성합니다. 여기서 EP(DP)는 공개키 기반 암호화(복호화)를 의미하며, 사용되는 알고리즘은 RSA 또는 DSS입니다.
SHA-1과 RSA의 조합은 매우 효과적인 디지털 서명 방식을 지원합니다. RSA의 강력한 보안성 덕분에 수신자는 해당 개인키의 소유자만이 서명을 생성할 수 있다는 사실을 확신할 수 있습니다. 아울러 SHA-1의 강점 덕분에 다른 누구도 해시 코드와 원본 메시지의 서명에 대응하는 새로운 메시지를 위조해낼 수 없습니다.
2. 기밀성(Confidentiality)
기밀성 역시 PGP가 지원하는 핵심 서비스로, 전송할 메시지나 로컬에 파일로 저장할 데이터를 암호화함으로써 제공됩니다. 이때 사용자는 CAST-128, IDEA, 3DES 중 하나를 64비트 암호 피드백(CFB) 모드로 선택하여 사용할 수 있습니다.
대칭키(세션 키)는 단 한 번만 사용되며, 필요한 비트 수를 갖는 난수로 생성됩니다. 이 세션 키는 메시지와 함께 전달되며, 수신자의 공개키로 암호화되어 보호됩니다. 전체 동작 과정은 다음과 같습니다.
- 발신자는 메시지와 함께, 이 메시지에서만 사용할 세션 키로 쓰일 난수를 생성합니다.
- 메시지는 세션 키를 이용해 CAST-128, IDEA 또는 3DES로 암호화됩니다.
- 세션 키는 수신자의 공개키로 RSA를 통해 암호화된 뒤 메시지 앞부분에 추가됩니다.
- 수신자는 자신의 개인키로 RSA 복호화를 수행하여 세션 키를 복원합니다.
- 복원된 세션 키를 사용해 메시지를 복호화합니다.
3. 기밀성과 인증의 동시 적용
이 두 가지 서비스는 동일한 메시지에 함께 적용될 수 있습니다. 먼저 평문 메시지에 대한 서명을 생성하여 메시지 앞에 붙입니다. 그다음 평문 메시지와 서명을 CAST-128(또는 IDEA, 3DES)로 암호화하고, 세션 키는 RSA로 암호화합니다.
이 순서는 메시지를 먼저 암호화한 뒤 암호문에 서명하는 방식보다 바람직합니다. 일반적으로 평문 버전의 메시지와 함께 서명을 저장해 두는 것이 더 편리하기 때문입니다. 또한 제3자 검증의 관점에서도 유리합니다. 서명이 먼저 수행된 경우, 제3자는 서명을 검증할 때 대칭키를 신경 쓸 필요가 없기 때문입니다.
4. 압축(Compression)
기본 설정상 PGP는 서명을 적용한 후, 암호화를 수행하기 전에 메시지를 압축합니다. 이러한 순서는 전자메일 전송과 파일 저장 양쪽 모두에서 저장 공간을 절약하는 장점이 있습니다.
5. 전자메일 호환성(E-mail Compatibility)
일부 전자메일 시스템은 ASCII 텍스트로 구성된 블록만 사용할 수 있도록 제한하고 있습니다. 그런데 PGP를 사용하면 전송되는 블록의 상당 부분이 암호화되어 이진(binary) 데이터가 되기 때문에, 이를 ASCII 형태로 안전하게 변환하는 처리(Radix-64 인코딩)가 필요합니다. 이를 통해 텍스트 기반 메일 시스템에서도 암호화된 메시지를 문제없이 주고받을 수 있습니다.
6. 분할(Segmentation)
전자메일 시스템에는 최대 메시지 길이에 대한 제한이 존재합니다. 예를 들어, 인터넷에서 이용 가능한 일부 메일 시스템은 최대 50,000옥텟(octet)의 길이 제한을 두고 있습니다. 이보다 긴 메시지는 더 작은 세그먼트로 분할되어야 하며, 각 세그먼트는 독립적으로 전송됩니다. 수신 측의 PGP는 도착한 세그먼트들을 자동으로 재조합하여 원래의 메시지를 복원합니다.
마무리
이처럼 PGP는 디지털 서명을 통한 인증, 대칭키·공개키 암호화를 결합한 기밀성 확보, 압축과 분할 처리, 메일 시스템과의 호환성 유지까지 폭넓은 보안 기능을 하나의 체계 안에서 제공합니다. 덕분에 사용자는 별도의 복잡한 절차 없이도 전자메일과 파일을 안전하게 보호할 수 있습니다.