메뉴 건너뛰기

SayClub.org

정보보안(InfoSec)

PGP(Pretty Good Privacy)

미르다테 2024.12.30 17:00 조회 수 : 22

PGP(Pretty Good Privacy)

① 전자우편 암/복호화(기밀성), 메시지 인증(무결성), 사용자 인증, 송신처 부인 방지만 지원한다.
② 전자메일 송신자 신원 확인을 위해 DSS, RSA 암호 알고리즘을 이용한 전자서명 기능을 제공한다.
③ CAST, IDEA, 3DES와 같은 대칭키 암호 알고리즘을 이용하여 전자메일의 비밀성을 보장한다.
④ 대칭키 암호 알고리즘에 사용되는 대칭키 교환을 위해 RSA 공개키 암호시스템이나 Elgamal 키 전송 알고리즘, Diffie-Hellman 키 교환 알고리즘을 사용한다.
⑤ 메시지 기밀성을 위한 암호화 : RSA, IDEA
⑥ 사용자 인증의 전자서명 : ESA
⑦ 해시함수 : MD5
⑧ 키 관리 : RSA

PGP 구성요소
① 인증 받은 메시지와 파일에 대한 전자서명 생성과 확인 작업을 지원한다.
② RSA와 Diffie-Hellman 등 공개키 생성을 지원한다.
③ 공개키 분배 및 취득을 지원한다.
④ PGP 주요기능 : 전자서명, 기밀성, 압축, 단편화와 재조립

 

PGP는 'Pretty Good Privacy'의 약자로서, 컴퓨터 파일을 암호화하고 복호화하는 프로그램이다. 1991년 필립 짐머만이 개발하였으며, 현재 전 세계적으로 이메일 보안의 표준으로 자리잡았다.

 

암호학의 일대 혁명을 가져온 프로그램으로, 1991년 필 지머먼(Phil Zimmermann)이라는 프로그래머가 개발한 전자우편 암호화 프로그램과 그 파생작들을 말한다. 이 프로그램 전까지만 해도 암호화 기능은 정부나 군대, 그리고 정보기관의 전유물이었으나 PGP로 인해서 일반 사람들까지 암호가 퍼지게 되었다. 덕택에 개인 사용자가 암호를 쓴다는 것에 열받은 미국 정부(+NSA)는 PGP의 강력한 암호화 기능이 테러리스트를 도울수 있다는 이유로 필 지머먼을 군수물자 통제법 위반으로 조사하였으나, 나중엔 조사를 포기하게 된다.

여담으로 1997년 PGP 국제버전인 PGPi 5.0이 개발되었고, 필 지머먼은 이를 국외로 수출하려고 했으나 당시 미국 정부는 암호화 프로그램을 무기로 간주하여 이를 저지한다. 이에 지머먼은 법률을 검토하던 중, 소프트웨어는 수출 금지 항목에 포함되어 있어도, 종이에 인쇄된 책은 수출에 제약이 없다는 점을 발견했다. 법의 허점이라기 보다는, 미국에서는 강력한 수정헌법 1조 덕에 출판의 자유가 보장되어 내용이 무엇이든 책으로 배포가 가능했던 것.[2] 그리하여 총 6천여 페이지의 소스코드를 출력하여 12권의 책으로 묶었고, 이를 수출하고 국외에서 지원자를 모집하여 스캐너로 책 페이지의 이미지를 떠서 OCR을 통해 다시 프로그램 소스 코드로 변환하여 컴파일하는 대단한 삽질(...)을 통해 결국 해외 수출에 성공한다. 당시 70여명의 지원자가 있었다고 한다. 스캔과 OCR 변환, 빌드와 미국 국외에서 출시하기까지 걸린 총 시간은 1000시간 쯤 된다고 한다.(...) 이를 "PGPi Scanning Project"라고 부른다. 이후 개정판 버전이 다시 이러한 과정을 거쳐 수출에 성공했으며, 미 정부가 1999년에 적성국가를 제외한 나머지 국가에 암호화 프로그램 수출을 허가하도록 법령을 수정하여 이러한 삽질은 더 이상 일어나지 않게 되었다.

또한, 암호화 알고리즘을 사용하는 다른 소프트웨어들도 같은 이유로 수출이 제한되어 해외에서는 미국산 소프트웨어에서 대칭키 암호화 알고리즘은 키 길이가 40비트로 제한된 알고리즘을 쓸 수 밖에 없었다. 따라서, 한국에서는 전자상거래용으로 SEED라는 128비트 키를 사용하는 독자적인 암호화 알고리즘을 개발해 익스플로러에 ActiveX 형태로 적용했으며, 이 때부터 ActiveX와 함께하는 환장할 인증 시스템이 완전히 뿌리내리게 된다. 지금은 살짝 바뀌었지만 어차피 그게 그거.


간단히만 설명하자면, 이메일 내용 자체를 암호화하여 오로지 보내는 사람과 받는 사람만이 그 원문(Plain Text)을 알 수 있도록 하는 암호화 방식을 말한다. 물론 이메일 서비스 제공자(Google, Yahoo, Outlook 등)는 이메일의 전송 과정에서 TLS를 적용하는 등의 기본적인 보안을 제공한다. 하지만 이메일 서비스 제공자 자체를 신뢰할 수 없거나[3], 법원이 발부한 압수수색 영장에 의해 수사상 필요로 인해 이메일 서비스 제공자가 이메일을 수사기관과 법원에 제출해야 하는 경우에는 수사와 관련없는 이메일까지 내용이 그대로 노출될 수밖에 없다.[4] PGP등으로 암호화해서 메일을 송수신했더라도 개인키는 컴퓨터등에 있을 것이고, 송수신 과정에 여러 디지털 흔적이 남으므로 디지털 포렌식을 회피하기란 사실상 힘들다. 일반적인 경우에 이메일 제공자조차 이메일의 원문을 알 수 없도록 암호화를 할 필요가 있었고, 그것이 PGP이다.

공개키와 개인키를 통해 암호화와 복호화를 각각 개별적으로 수행한다. 공개키를 이용하여서 문서를 암호화 할 수는 있지만 그것을 복호하여 원래 문서로 되돌리는 것은 개인키를 이용해서만 가능하다. 따라서 공개키를 송신자에게 제공하여 송신전에 암호화를 수행하도록 하며 딱히 이것이 유출되는 것은 상관 없다. 그래서 공개키라 부른다. 사실상 개인키로만 복호화가 가능하므로 수신자가 가지고 있는 개인 키만 안전하게 보관이 가능하다면 상당히 높은 보안성을 유지할 수 있다.

처음 개발되었을 때 개인 사용자한테는 무료였지만, 현재는 유료로 시만텍에서 판매하고 있다. 그러나 PGP의 한 갈래인 OpenPGP는 현재 인터넷 표준으로 자리매김 하였으며, 이를 이용한 GnuPG같은 여러 프로그램이 등장했다. 당연하게 윈도우나 맥, 리눅스 버전도 존재한다.

리눅스는 패키지 보관소(Repository)에 보관된 소프트웨어를 보관소의 GPG 키를 이용하여 패키지에 문제가 있는지 없는지 확인하며, 몇몇 포럼의 Geek들은 자신이 직접 글을 썼다는걸 증명하기 위해 PGP를 사용해 사인하거나 암호화하여 글을 작성하기도 하며, 이러한 글은 작성자의 공개키를 바탕으로 PGP를 통해 해독하여 본인인지 아닌지 확인할 수 있다.

 

 

 

 

<전자서명>
PGP로 전자서명을 할 수도 있다. 원본 파일을 작성하고, 그 파일에 대해 sig 파일을 생성하여 상대방에게 원본 파일과 sig 파일을 함께 배포하며, 상대방은 PGP를 이용해 sig 파일을 검증한다. sig 파일이 생성된 후에 원본 파일이 변경되었으면, sig 파일 검증시 Bad signature라고 출력된다.

1991년 개발된 PGP 프로그램을 이용한 전자서명은, 전 세계적으로 보편화 되어, 일반적으로 사용하지만, 대한민국 전자서명법상의 보호를 받는 전자서명으로 인정받고 있지는 않다. 공인인증서만이 대한민국 전자서명법에 의해 인정받고 있다. PGP 전자서명은 무료인 반면에, 공인인증서 전자서명은 2011년 현재 1년 4,400원을 지불해야 한다.

 

<AES256>
위키리크스의 줄리언 어산지는 미국의 외교기밀문서를 압축하여 AES 256 비트 암호화를 하여 전 세계에 배포해, 자신이 형사처벌을 받으면 그 암호를 공개하겠다고 협박했다. PGP 프로그램을 통해 AES 256 비트 암호화와 복호화가 가능하다. 고급 암호화 표준(AES)는 미국 정부가 제정한 최신 암호화 기술이다.

미국 정부가 제정한 기존의 암호화 표준은 56비트 DES 암호 코드였다. 그러나 DES가 슈퍼컴퓨터를 사용하면 수시간내에 해독될 수 있게 되자, 256비트 키를 사용하는 차세대 표준 AES를 제정했다.

어산지가 배포한 파일 중 하나는 1.4기가바이트(GB) 용량인 insurance.aes256 인데, 영국 석유회사 BP와 관타나모 수용소 관련 기록 등을 담고 있는 것으로서, 슈퍼컴퓨터로도 해독에 수십년 이상이 걸리는 것으로 알려졌다.

위로