PGP란 무엇인가요?

공유
PGP란 무엇인가요?
아티클 듣기
00:00 / 00:00

PGP는 Pretty Good Privacy를 뜻합니다. 이는 온라인 통신 시스템의 개인 정보 보호, 보안 및 인증 서비스를 제공하도록 설계된 암호화 소프트웨어입니다. 필 짐머맨(Phil Zimmerman)은 초기 PGP 프로그램과 관련이 있는 인물인데, 그에 따르면, 사회적으로 증가하고 있는 개인 정보 보호 요구에 따라 자유롭게 이용할 수 있도록 만들어졌습니다.

1991년 이래로 다양한 버전의 PGP 소프트웨어가 만들어졌습니다. 1997년 필 짐머맨은 오픈소스 PGP 표준을 만들기 위해 IETF(Internet Engineering Task Force)를 제안했습니다. 제안은 수락되었고, 암호화 키와 메시지에 대한 표준 형식을 정의하는 OpenPGP 프로토콜이 만들어졌습니다.

초기에는 이메일 메시지와 첨부 파일을 보호하는 데만 쓰였지만, 오늘날 PGP는 디지털 서명, 전체 디스크 암호화, 네트워크 보안과 같은 다양한 분야에 적용되고 있습니다.

초기 PGP는 PGP 주식회사가 소유했지만, 이후 Network Associates 주식회사에 인수되었습니다. 2010년에는 Symantec 기업이 3억 달러에 PGP를 인수했으며, 이제 해당 용어는 OpenPGP 호환 제품을 지칭하는 상표로 사용되고 있습니다.


어떻게 작동하나요?

PGP는 공개 키 암호 방식을 구현하기 위해 널리 사용되는 최초의 소프트웨어 중 하나입니다. 이 시스템은 대칭 암호화와 비대칭 암호화를 모두 사용해 높은 수준의 보안을 가능하게 하는 하이브리드 암호화 시스템입니다.

문자 암호화의 기본 과정에서, 평문(분명하게 이해될 수 있는 데이터)은 암호문(읽을 수 없는 데이터)으로 전환됩니다. 그러나 암호화 과정 이전에, 대부분의 PGP 시스템은 데이터 압축을 진행합니다. PGP는 평문 파일을 전송하기 전에 압축함으로써, 저장 공간과 전송 시간을 절약하는 동시에 보안을 강화합니다.

파일을 압축한 다음에는, 실제 암호화 과정이 진행됩니다. 이 단계에서 압축된 평문 파일은 단일 사용 키로 암호화되며, 이는 세션 키로 알려져 있습니다. 해당 키는 대칭 암호 방식을 통해 임의로 생성되며, 각 PGP 통신 세션은 고유한 세션 키를 갖고 있습니다.

다음으로 세션 키(1)는 비대칭 암호화를 통해 자체 암호화됩니다. 예정된 수신자(밥)는 그의 공개 키(2)를 메시지의 전송자(앨리스)에게 제공하고, 이를 통해 그녀는 세션 키를 암호화할 수 있습니다. 이 과정은 보안 환경에 상관없이 인터넷을 통해 앨리스가 안전하게 밥과 세션 키를 공유할 수 있게 합니다.

PGP란 무엇인가요?

세션 키의 비대칭 암호화는 보통 RSA 알고리즘을 통해 이뤄집니다. 인터넷 보안의 많은 부분을 차지하고 있는 TLS(Transport Layer Security) 프로토콜을 포함해서 많은 암호화 시스템이 RSA를 사용합니다. 

메시지의 암호문과 암호화된 세션키가 전송된 다음, 밥은 자신의 개인 키(3)를 사용해 세션 키를 해독할 수 있으며, 이는 암호문을 본래의 평문으로 해독하는 데 사용됩니다.

PGP란 무엇인가요?

PGP는 암호화와 해독이라는 기본적인 처리 외에도 디지털 서명도 지원하고 있으며, 이는 다음 세 가지 이상의 기능을 포함합니다.

  • 증명: 밥은 앨리스가 보낸 메시지를 검증할 수 있습니다.

  • 무결성: 밥은 메시지가 변경되지 않았음을 확신할 수 있습니다.

  • 부인 방지: 메시지에 디지털 서명이 된 이후, 앨리스는 메시지를 보내지 않았다고 주장할 수 없습니다.


활용 예시

PGP가 가장 많이 사용되는 곳은 이메일 보안입니다. PGP를 통해 보호되는 이메일은 읽을 수 없는 문자열(암호문)로 변환되며, 상응하는 해독 키를 통해서만 해독될 수 있습니다. 이러한 작동 메커니즘은 문자 메시지를 암호화하는 것과 실제적으로 동일하며, PGP를 다른 애플리케이션에서 구현할 수 있게 하는 소프트웨어 응용 프로그램들도 있어, 보호되지 않는 메시징 서비스에 암호화 시스템을 효과적으로 추가할 수 있게 합니다.

PGP는 대부분 인터넷 통신 보안에 사용되지만, 개인 장치를 암호화하는 데도 사용될 수 있습니다. PGP는 컴퓨터나 모바일 기기의 디스크 파티션에 사용될 수 있습니다. 하드 디스크를 암호화함으로써, 사용자는 시스템 시작할 때마다 비밀번호를 입력해야 합니다.


장단점

PGP의 대칭형 암호화와 비대칭 암호화의 조합 덕분에, 사용자들은 인터넷을 통해 정보와 암호 키를 안전하게 공유할 수 있습니다. 하이브리드 시스템으로서 PGP는 비대칭 암호화의 보안과 더불어 대칭형 암호화의 속도라는 장점을 모두 갖고 있습니다. 디지털 서명은 보안 및 속도 외에도 데이터의 무결성과 발신인의 신뢰성을 보장합니다.

OpenPGP 프로토콜은 표준화된 경쟁 환경을 가능하게 했으며, PGP 솔루션은 다수의 기업과 조직에 사용되고 있습니다. OpenPGP 표준을 적용한 모든 PGP 프로그램은 서로 호환됩니다. 이는 하나의 프로그램에서 생성된 파일과 키가 문제 없이 다른 곳에서도 사용될 수 있음을 의미합니다.

단점도 있습니다. PGP 시스템은 특별히 기술적 지식이 거의 없는 이들이 간단히 사용하거나 이해하기가 쉽지 않습니다. 또한, 많은 이들이 길이가 긴 공개 키를 꽤나 불편하게 여기고 있습니다.

2018년에는 EFF(Electronic Frontier Foundation)가 EFAIL이라 하는 주요 취약점을 발견했습니다. EFAIL을 통해 공격자는 암호화된 이메일의 동적 HTML 콘텐츠를 가로채 평문 메시지에 접근할 수 있습니다.

그러나 EFAIL에서 알려진 우려들은 1990년 대 말부터 PGP 커뮤니티에 알려져 있었으며, 이러한 취약성은 PGP 자체 보다는 이메일 클라이언트들의 서로 다른 구현 방식과 관련되어 있습니다. 따라서 우려스럽고, 오해의 소지가 있는 이야기와는 다르게, PGP는 붕괴되지 않고 계속해서 높은 보안을 제공하고 있습니다.


마치며

1991년 개발된 이래로, PGP는 데이터 보안에 핵심적인 도구가 됐으며, 오늘날에는 다수의 통신 시스템과 디지털 서비스 제공업자들에게 개인 정보 보호, 보안, 인증을 제공하는 다양한 분야의 애플리케이션에서 사용되고 있습니다.

2018년 EFAIL 결함의 발견으로 프로토콜의 지속성에 대한 중대한 우려가 제기되었지만, 핵심 기술은 여전히 안전하고 암호학적으로 건강한 것으로 간주되고 있습니다. 한 가지 기억할 것은 다양한 방식의 PGP 구현 방식에 따라 보안 수준이 달라질 수 있다는 것입니다.

Loading