PGP(네트워크)는 Pretty Good Privacy의 약자입니다. 이는 온라인 통신 시스템에 대한 프라이버시, 보안, 인증을 제공하기 위해 설계된 암호화 소프트웨어입니다. 필 짐머만(Phil Zimmerman)이 최초로 PGP 프로그램을 만든 인물이며, 그에 따르면 이는 프라이버시에 대한 사회적 수요가 증가함에 따라 자유롭게 배포되었습니다.
1991년에 개발된 이후, 다양한 버전의 PGP 소프트웨어가 만들어졌습니다. 1997년, 필 짐머만은 인터넷 엔지니어링 태스크 포스(IETF)에 오픈소스 PGP 표준을 만들자는 제안을 했고, 이 제안은 받아들여져 OpenPGP 프로토콜의 탄생으로 이어졌습니다. 이 프로토콜은 암호화 키와 메시지를 위한 표준 형식을 정의합니다.
처음에는 이메일 메시지와 첨부 파일의 보안을 위해서만 사용되었지만, 현재는 디지털 서명, 전체 디스크 암호화, 네트워크 보호 등 광범위한 용도로 사용됩니다.
PGP는 처음에 PGP Inc라는 회사가 소유했으며, 이후 Network Associates Inc에 인수되었습니다. 2010년에는 Symantec Corp.가 PGP를 3억 달러에 인수하였고, 현재 이 용어는 그들의 OpenPGP 호환 제품을 지칭하는 상표로 사용됩니다.
어떻게 작동하나요?
PGP는 공개 키 암호화를 구현한 최초의 광범위하게 사용 가능한 소프트웨어 중 하나입니다. 이는 대칭 암호화와 비대칭 암호화를 모두 사용하는 하이브리드 암호 시스템으로, 높은 수준의 보안을 제공합니다.
텍스트 암호화의 기본 과정에서는 일반 텍스트(명확히 이해 가능한 데이터)가 암호문(읽을 수 없는 데이터)으로 변환됩니다. 그러나 암호화 과정이 시작되기 전에, 대부분의 PGP 시스템은 데이터 압축을 수행합니다. 일반 텍스트 파일을 전송 전에 압축함으로써, PGP는 디스크 공간과 전송 시간을 모두 절약하고, 동시에 보안을 향상시킵니다.
파일 압축 이후, 실제 암호화 과정이 시작됩니다. 이 단계에서 압축된 일반 텍스트 파일은 단일 사용 키를 사용하여 암호화되며, 이 키는 세션 키라고 불립니다. 이 키는 대칭 암호화를 통해 무작위로 생성되며, 각 PGP 통신 세션마다 고유한 세션 키가 사용됩니다.
다음으로, 세션 키 (1) 자체는 비대칭 암호화를 사용하여 암호화됩니다. 메시지 수신자(밥)는 자신의 공개 키 (2)를 메시지 발신자(앨리스)에게 제공하고, 앨리스는 이를 사용해 세션 키를 암호화합니다. 이 단계는 앨리스가 인터넷 보안 상태에 관계없이 안전하게 세션 키를 밥에게 공유할 수 있도록 합니다.
PGP란 무엇인가요?
세션 키의 비대칭 암호화는 보통 RSA 알고리즘을 통해 수행됩니다. TLS(전송 계층 보안) 프로토콜을 포함해 많은 다른 암호화 시스템에서도 RSA를 사용하며, 이 프로토콜은 인터넷의 상당 부분을 보호합니다.
메시지의 암호문과 암호화된 세션 키가 전송된 후, 밥은 자신의 개인 키 (3)를 사용하여 세션 키를 복호화할 수 있으며, 이 키를 통해 암호문을 다시 원래의 일반 텍스트로 복호화합니다.
PGP란 무엇인가요?
기본적인 암호화 및 복호화 과정 외에도, PGP는 디지털 서명을 지원하며 이는 최소한 세 가지 기능을 수행합니다:
인증: 밥은 메시지의 발신자가 앨리스였다는 것을 확인할 수 있습니다.
무결성: 밥은 메시지가 변경되지 않았음을 확인할 수 있습니다.
부인 방지: 메시지가 디지털 서명되면, 앨리스는 자신이 메시지를 보내지 않았다고 주장할 수 없습니다.
마무리
1991년 개발 이후, PGP는 데이터 보호를 위한 필수 도구로 자리잡았으며, 현재 다양한 애플리케이션에서 프라이버시, 보안, 인증을 제공하는 데 사용되고 있습니다.
2018년에 발견된 EFAIL 취약점으로 인해 프로토콜의 생존 가능성에 대한 심각한 우려가 제기되었지만, 핵심 기술은 여전히 견고하고 암호학적으로 안정적인 것으로 여겨집니다. 다양한 PGP 네트워크는 서로 다른 수준의 보안을 제공할 수 있다는 점도 주목할 가치가 있습니다.





















