이메일 보안 – PGP (윈도)

최종 검토일 : 2019.05.15
  • 다운로드 위치 : GPG4Win; Mozilla Thunderbird; Enigmail
  • 컴퓨터 요구사양 : 인터넷 연결, 윈도로 운영되는 컴퓨터, 이메일 계정
  • 이 가이드에서 사용된 버전 : 윈도 10 Pro 64 bit; 모질라 썬더버드 60.6.1, Enigmail 2.0.10, GPG4Win 3.1.7
  • 라이선스 : 자유 소프트웨어, 자유 소프트웨어 라이선스 혼합
  • 수준 : 초급~중급
  • 소요 시간 : 30~60 분

PGP는 이메일 소통을 감청으로부터 보호하기 위한 방법이다. 당신의 인터넷을 감시하는 회사, 정부, 범죄자로부터 보호할 수 있으며, 이메일이 저장된 컴퓨터가 도난이나 공격을 당했을 때, 누군가 이메일을 읽지 못하도록 저장할 수 있다.

또한, 이메일을 보낸 사람이 특정한 사람인지, 아니면 또 다른 사람이 가짜 메시지를 보낸 것인지 검증하는데 사용된다. (그렇지 않으면, 이메일은 조작되기 매우 쉽다.) 이 두 가지 기능은 당신이 감시나 정보 조작의 공격 대상이 될 경우 매우 중요한 방어 수단이다.

PGP을 이용하기 위해서는, 당신이 사용하는 이메일 프로그램과 같이 작동할 추가적인 소프트웨어를 설치해야 한다. 또한, 당신이 비밀리에 보관해야 할 개인키를 생성해야 한다. 개인키는 당신에게 보내진 이메일을 복호화하고, 이메일을 보낼 때 당신이 보냈다는 것을 보여주기 위해 전자 서명하는데 사용된다. 마지막으로, 당신의 공개키를 어떻게 배포하는지 배울 것이다. 공개키는 다른 사람들이 당신에게 암호화된 메일을 보내기 위해 알아야 하고, 당신이 이메일을 보냈다는 것을 확인하기 위해 사용되는 키이다.

개요

PGP를 사용하기 위해, 3개의 프로그램이 필요하다. GPG4Win(GnuPG로 알려진, 윈도용 GNU 프라이버시 보호 프로그램), 모질라 썬더버드, Enigmail 이다. GnuPG는 이메일 콘텐츠를 실제로 암호화하고 복호화하는 프로그램이다. 모질라 썬더버드는 이메일을 읽고 쓰는 이메일 클라이언트 프로그램이고, Enigmail은 이 두 개를 묶어주는 모질라 썬더버드의 부가기능(add-on)이다.

주의하라! 이 가이드는 모질라 썬더버드에서 PGP를 사용하는 법을 다룬다. 당신은 아웃룩과 같은 다른 이메일 소프트웨어를 사용할 수도 있고, 혹은 구글 메일이나 Outlook.com 과 같은 웹메일을 이용할 수도 있다. 이 가이드는 다른 프로그램에서 PGP를 어떻게 사용하는지는 다루지 않는다. 썬더버드를 새롭게 설치하고, 이 새로운 이메일 프로그램과 PGP를 사용하는 법을 실험하든가, 아니면 당신이 사용하는 소프트웨어에서 PGP 사용법을 찾아볼 수 있다.

PGP를 이용한다고 이메일을 완전히 암호화하지는 않는다. 발신자와 수신자 정보, 그리고 제목은 암호화되지 않는다!

현재의 이메일 시스템에서는 발신자, 수신자 정보를 암호화하는 것이 불가능하다. 모질라 썬더버드에서 Enigmail 부가기능을 사용하면, 이메일 콘텐츠를 쉽게 암호화할 수 있다. 하지만, 당신을 감시하는 누군가는 당신이 누구와 언제 이메일을 주고 받는지는 여전히 볼 수 있다. 우선 소프트웨어를 다운로드하여 설치하고, 설정과 사용법을 알아보자.

GPG4Win 다운로드 및 설치

GPG4Win 다운로드 페이지에서 설치 파일을 다운로드 할 수 있다.

Gpg4win 파일 다운로드 후 설치할 구성 요소를 선택할 수 있다. 현 가이드에선 GnuPG만 설치해도 된다. 체크 박스 해제 후 Next를 선택하여 설치를 진행한다.

모질라 썬더버드 다운로드 및 설치

모질라 썬더버드 웹사이트에 가서 자신의 운영체제에 맞는 버전을 선택하여 다운로드 한다.

Thunderbird Setup 파일을 더블-클릭한다. 마찬가지로, 이 파일을 실행할 것인지 물을 것이고, “실행(Run)” 버튼을 클릭한다.

모질라 썬더버드 설치 윈도가 뜬다. “다음” 버튼 클릭.

3.5_10

기본 설치(Standard Setup)와 사용자 지정 설치(Custom Setup) 중에 선택하도록 한다. 기본 설치를 선택하고, “다음” 버튼 클릭.

3.5_11

모질라 썬더버드가 어디에 설치되는지 보여준다. “설치” 버튼 클릭.

3.5_12

설치가 진행되면, “launch Mozilla Thunderbird”가 활성화된 창이 나타난다. “완료” 버튼 클릭.

3.5_13

Enigmail 설치 준비

모질라 썬더버드가 처음 실행될 때, 기본 설정에 대한 작은 확인창이 나타난다. “기본으로 설정” 버튼 클릭을 권장한다.

3.5_14

새로운 이메일 계정을 원하는지 묻는다. “건너뛰고 기존 메일 사용하기”버튼을 클릭한다. 이제 이메일을 보내고 받기 위해 모질라 썬더버드를 설정할 것이다. 당신이 gmail.com, outlook.com, yahoo.com 으로 이메일을 보내고 받는데 익숙하다면, 모질라 썬더버드는 새로운 경험일 것이다. 그러나 크게 다르지는 않다.

3.5_15

모질라 썬더버드에 이메일 계정 추가

새로운 창이 뜬다.

3.5_16

이름, 이메일 주소, 암호(비밀번호)를 입력한다. 모질라는 당신의 비밀번호나 이메일 계정에 접근하지 않는다. “계속” 버튼 클릭.

3.5_17

많은 경우, 모질라 썬더버드는 자동적으로 필요한 설정을 탐지한다. 어떤 경우에는, 모질라 썬더버드가 완전한 정보를 가지고 있지 않기 때문에, 직접 필요한 정보를 입력해야 한다. 아래는 Gmail과 관련하여 구글이 제공하는 안내사항이다. 자신이 사용하는 이메일에 대한 설정이 자동적으로 탐지되지 않는다면, 해당 이메일 서비스에서 썬더버드와 같은 제3자 이메일 클라이언트 사용법을 찾아봐야 한다.

(수동설정을 누르면 다음과 같은 화면이 나온다)

3.5_18

  • 받는 메일(IMAP) 서버 – SSL 필요
    • imap.gmail.com
    • 포트: 993
    • SSL 필요: 예
  • 보내는 메일(SMTP) 서버 – TLS 필요
    • smtp.gmail.com
    • 포트: 465 또는 587
    • SSL 필요: 예
    • 인증 필요: 예
    • 받는 메일 서버와 동일한 설정 사용
  • 이름 또는 표시 이름: [사용자 이름]
  • 계정 이름 또는 사용자 이름: 전체 Gmail 주소(username@gmail.com). Google Apps 사용자는 username@your_domain.com을 입력하세요.
  • 이메일 주소: 전체 Gmail 주소(username@gmail.com). Google Apps 사용자는 username@your_domain.com을 입력하세요.
  • 비밀번호: Gmail 비밀번호
구글 2단계 인증을 사용할 경우 (당신의 위협 모델에 따라, 이를 사용해야할 수 있다!) 썬더버드에서 표준 Gmail 비밀번호를 이용하지 못할 수 있다. 대신, 썬더버드에서 Gmail 계정에 접근하기 위해 애플리케이션 전용의 새로운 비밀번호를 생성해야 할 수 있다. 이를 위해서는 구글의 자체 가이드를 참고하라.

모든 정보가 제대로 입력되었으면, “완료” 버튼 클릭.

3.5_19

모질러 썬더버드는 당신의 이메일을 컴퓨터에 다운로드 하기 시작한다. 친구에게 테스트 이메일을 보내보자.

Enigmail 설치

Enigmail은 모질라 썬더버드의 부가기능(Add-on)이다. 메뉴 버튼의 애드온 스토어를 선택해 Enigmail을 찾아 설치한다.

Enigmail이 설치된 후, 썬더버드는 Enigmail을 활성화하기 위해 브라우저를 다시 시작할 것인지 묻는다. “지금 다시 시작” 버튼을 클릭하여 썬더버드를 재시작한다.

썬더버드가 재시작할 때, 추가적인 창이 떠서 Enigmail 부가기능 설정을 시작한다. “Start Setup Now” 버튼을 선택하고, “다음” 버튼을 클릭한다. (또는 직접 메뉴 > Enigmail > 설정 마법사로 들어가 부가기능 설정을 시작한다)

3.5_24

“I prepfer a standard configuration” 초급자에게 추천하는 기본 옵션을 변경하지 않고, “다음”을 클릭한다.

3.5_25

공개키와 비밀키의 생성

이제 자신의 비밀키와 공개키를 생성한다. 당신의 개인키 보안을 위해 강력한 비밀번호(패스프레이즈)를 생성해야 한다. 최소한 8자 이상의 문자나 숫자, 구두점을 포함하라는 권고가 표시된다. (이 가이드의 <강력한 비밀번호 생성하기> 참조) 이 비밀번호는 절대 잊어버려서는 안된다.

3.5_26

비밀번호(패스프레이즈)를 입력하면, 키가 생성된다.

3.5_27

키 생성이 완료되면, 아래와 같이 폐기 증명서(Revocation Certificate)를 생성하라는 메시지가 나온다. 폐기 증명서는 향후에 개인키와 공개키를 무효화하기 위해서 중요하다. 개인키를 단지 삭제한다고 공개키의 효력이 없어지는 것이 아니다. 다른 사람에게 내 공개키가 효력이 없다는 것을 알리기 위해 폐기 증명서가 활용된다.

3.5_28

“Create Revocation Certificate”을 클릭하면, 팝업창이 뜨는데, 여기에 자신의 개인키 비밀번호를 입력한다.

3.5_29

폐기 증명서를 저장하라는 창이 뜬다. 폐기 증명서는 다른 사람이 접근할 수 없는 곳에 안전하게 보관해야 한다.

3.5_30

마지막으로 “완료”를 클릭하면, Enigmail 설치가 완료된다.

긴 키-ID 보여주기

다음 단계는 필수적인 것은 아니지만, OpenPGP와 Enigmail을 사용할 때 도움이 된다. 간단히 말해, 키 아이디는 지문의 작은 부분이다. 공개키가 특정인에 속한다는 것을 확인할 때 지문은 가장 좋은 방법이다. 기본 보여주기 설정을 바꿈으로써 당신이 알고 있는 인증서의 지문을 쉽게 읽을 수 있다.

썬더버드의 메뉴 버튼을 클릭하고, Enigmail 아래의 “키 관리”를 선택한다.

3.5_31

이름과 키ID, 두 개의 컬럼을 보여주는 창이 뜰 것이다.

3.5_32

맨 오른쪽에 작은 버튼이 있다. 컬럼을 설정하기 위해 그 버튼을 클릭한다. 키 아이디 옵션의 체크를 해제하고, 지문을 클릭한다.

3.5_33

이제 컬럼은 다음과 같이 보일 것이다.

3.5_34

이제 암호화된 이메일을 보내고 받을 준비가 완료되었다. 다음에는 암호화된 이메일을 주고받을 사람들을 실제로 찾는 단계로 넘어가자.

PGP/MIME 이용하기

설정의 마지막 단계는 첨부파일 암호화와 서명을 쉽게 보낼 수 있도록 PGP/MIME를 활성화하는 것이다. 메뉴 버튼에서 “설정”, “계정 설정”을 클릭한다. 계정 설정 창이 열린다.

3.5_35

계정설정 창이 열리면 “OpenPGP 보안” 탭을 클릭한다. 그리고 “PGP/MIME를 기본으로 사용” 옆 체크박스를 클릭한다. “확인” 버튼을 클릭한다. 이제 Enigmail은 PGP/MIME를 기본으로 사용할 수 있다.

3.5_36

PGP는 이메일 전체를 암호화하지는 않는다. 발신자와 수신자 정보를 암호화하면 이메일이 작동되지 않는다. Enigmail 부가기능과 함께 썬더버드를 사용하면 쉽게 이메일 본문을 암호화, 복호화할 수 있다.

다른 사람에게 당신이 PGP를 사용한다는 것을 알리기

이제 PGP를 가졌으니 다른 사람에게 이 사실을 알려야 한다. 그래야 다른 사람들이 당신에게 PGP로 암호화된 메시지를 보낼 수 있다. PGP 사용을 알리는 세 가지 방법을 살펴보자.

1. 이메일로 알리기

당신의 공개키를 다른 사람에게 첨부파일로 쉽게 보낼 수 있다. 썬더버드에서 “쓰기” 버튼을 클릭한다.

이메일 주소와 제목(예를 들어 “내 공개키”)을 쓰고 Enigmail 메뉴를 클릭하고, “내 공개키 첨부” 옵션을 선택한다.

3.5_37

개인키 비밀번호를 입력하는 창이 나타나고, 비밀번호를 입력하면 메시지를 발송한다.

이메일을 보내면 수신자는 당신의 공개키를 다운로드해서 사용할 수 있다. 이 방법을 사용하면, 수신자가 다른 형태의 소통을 통해 공개키 지문을 검증하는 것이 좋다. 당신의 이메일이 이미 가로채어 조작되었을 수도 있기 때문이다.

2. 웹사이트에서 PGP를 이용해 다른 사람에게 알리기

당신의 공개키를 웹사이트에 올려놓을 수도 있다. 가장 쉬운 방법은 파일을 업로드하고 링크하는 것이다. 향후에 인증서를 이용하기 위해 이를 파일로 어떻게 키를 내보내는지(export) 알아야 한다.

메뉴 > Enigmail > 키관리를 클릭한다. 굵은 글씨체로 되어 있는 인증서를 찍고 오른-클릭을 하여 메뉴가 나오면 “파일로 키 내보내기”를 선택한다.

3.5_38

세 개의 버튼이 있는 창이 뜨는데, “공개키만 보내기” 버튼을 클릭한다.

3.5_39

“비밀키 내보내기”를 클릭하지 않도록 해야 한다. 비밀키를 내보내면, 다른 사람이 당신의 비밀번호를 추측하여 당신을 가장할 수 있기 때문이다.

3.5_40

이제 이 공개키 파일을 홈페이지에 올리는 등 자유롭게 사용할 수 있다.

3. 키 서버에 올리기

키 서버는 공개키를 쉽게 검색하고 다운로드할 수 있도록 해준다. 대부분의 최근 키 서버는 동기화 되는데, 즉 한 서버에 올려진 공개키는 모든 다른 서버에 궁극적으로 도달하게 된다. 키 서버에 공개키를 올리는 것은 사람들에게 당신이 PGP 인증서를 사용한다는 것을 알리는 편리한 방법이지만, 키 서버가 작동하는 속성에 의해서, 한번 올린 공개키를 지울 수 없다는 점을 알아야 한다. 단지 폐기 표시가 되도록 할 수 있을 뿐이다. 키 서버에 공개키를 올리기 전에, 전 세계에 당신의 공개키를 알리는 것이 좋을지 생각해 볼 필요가 있다.

키 서버에 공개키를 올리기로 했다면, Enigmail 키 관리창으로 돌아가서, 키 서버 메뉴를 클릭하고, 공개키 “공개키 업로드”를 선택한다.

3.5_41

PGP를 사용하고 있는 사람 찾기

1. 이메일로 공개키 받기

당신은 이메일 첨부파일로 보내온 공개키를 받을 수 있다. 수신된 메시지를 클릭하면, 창 아래에 첨부파일이 있다. 첨부파일에 오른-클릭을 하고 “OpenPGP 키 가져오기”를 선택한다.

3.5_42

작은 창이 열리며 결과를 알려줄 것이다. “확인” 버튼을 클릭한다.

3.5_43

Enigmail 키 관리 창을 열면, 결과를 확인할 수 있다. 당신의 PGP키는 굵은 글자로 되어 있는데, 당신은 개인키와 공개키를 모두 가지고 있기 때문이다. 방금 받아들인 공개키는 굵지 않은 글씨로 되어 있다.

3.5_44

2. 공개키를 파일로 받기

웹 사이트에서 다운로드 받거나, 채팅 소프트웨어로 다른 사람이 보낸 공개키를 받을 수도 있다. 이런 경우, 그 파일이 다운로드 폴더에 있을 것이다. Enigmail 키 관리를 열어 “파일” 메뉴의 “파일에서 키 가져오기”를 선택한다.

3.5_45

공개키는 .asc, .pgp, .gpg 와 같은 파일 이름을 가지고 있다. 파일을 선택하고, “열기” 버튼을 누른다. 작은 창이 열리고, 그 결과를 알려줄 것이다.

3. 키 서버에서 공개키 가져오기

키 서버는 공개키를 얻을 수 있는 유용한 방법이다. 공개키를 찾아본다. 키 관리를 열고 “키 서버” 메뉴를 클릭하여 “키 검색”을 선택한다.

3.5_46

검색 필드를 가진 작은 창이 뜬다. 이메일 주소 전체나 부분으로, 혹은 이름으로 검색할 수 있다. 예를 들어, “eff.org”가 포함된 인증서를 검색할 수 있다.

3.5_47

많은 옵션을 가진 큰 창이 뜬다. 스크롤을 내리면 어떤 인증서들은 회색인 이탤릭체로 되어 있다. 이 인증서들은 폐기되거나 만료된 것들이다.

3.5_48

원하는 사람을 찾아, 왼쪽 박스에 클릭하여 유효한 인증서를 선택하고 “확인” 버튼을 누른다.

3.5_49

어떤 사람은 하나 이상의 유효한 인증서를 가지고 있는 경우가 있다. 누구라도 다른 누군가의 공개 인증서를 업로드할 수 있으며, 이 키들 중 하나는 그 이메일 주소를 가지고 있는 사람의 것이 아닐 수 있다. 이 경우 지문을 확인하는 것이 매우 중요하다.

작은 공지창이 떠서 성공 여부를 알려준다.

3.5_50

Enigmail 키 관리자가 추가된 인증서를 보여줄 것이다.

3.5_51

PGP 암호화 메일 보내기

이제 첫번째 암호화 이메일을 보내보자. 썬더버드에서 “쓰기”를 클릭하면, 새 창이 뜬다.

메시지를 쓰고, 수신자를 입력한다. 이미 공개키를 알고 있는 수신자를 선택해야 한다. Enigmail이 이를 탐지하여, 자동적으로 이메일을 암호화할 것이다.

3.5_52

제목은 암호화되지 않는다는 것을 기억하자. 따라서 “안녕~”과 같이 위험하지 않은 것으로 선택한다. “보내기”를 클릭하면, 당신의 PGP 키 비밀번호를 치라는 창이 뜬다. 이는 당신의 이메일 비밀번호와 다르다는 것을 기억하자. 비밀번호를 치고, “확인”을 누르면, 이메일이 암호화되어 전송된다.

3.5_53

발송된 이메일의 암호화를 풀지 않은 상태에서 보면, 아래와 같이 보인다.

3.5_54

PGP 암호화 메일 받기

암호화된 메일을 받을 때에는 어떤지 보자. 썬더버드가 새 메일이 왔음을 알려준다. 메시지를 클릭해보자.

작은 창이 뜨고 PGP 키 비밀번호를 물어본다. “확인” 을 누른다.

3.5_55

이제 암호화가 풀린 메시지가 보일 것이다.

3.5_56

PGP 키 폐기하기

Enigmail 인터페이스를 통해 PGP 키 폐기하기

Enigmail을 통해 생성된 PGP 키는 5년 후에 자동적으로 폐기된다. 그래서 키가 만료된 후 사람들이 당신에게 다른 키를 요청하는 것을 알게 될 것이다. 키가 만료되기 이전에 PGP 키를 페기해야 할 경우도 있다. 새롭고, 더 강력한 PGP 키를 생성하고 싶을 때이다. Enigmail에서 당신의 PGP 키를 폐기하는 가장 쉬운 방법은 Enigmail 키 관리자를 통해서이다.

굵은 글씨의 당신의 PGP 키를 오른-클릭하고 “키 폐기”를 선택한다.

3.5_57

창이 떠서 당신에게 확인한다. “키 폐기” 버튼을 클릭한다.

3.5_58

비밀번호 창이 열리면, PGP 키 비밀번호를 넣고, “확인”을 클릭한다. 새 창이 열리고 성공했음을 알려줄 것이다. “확인”을 클릭한다.

3.5_59

Enigmail 키 관리자로 돌아가면, 당신의 PGP 키에 변화가 있음을 알 수 있을 것이다. 회색 이탤릭체 글씨로 보일 것이다.

3.5_60

폐기 인증서로 PGP 키 폐기하기

앞서 얘기한대로, Enigmail로 생성된 PGP 키는 5년 후에 자동 만료된다. 그리고 만료되기 이전에 PGP 키를 폐기하고 싶을 수도 있다. 마찬가지로 다른 사람들도 기존의 키를 폐기할 수 있다.

당신은 친구들에게 그들이 자신의 키를 폐기하기를 원한다는 공지의 형태로 폐기 인증서를 받게 될 수 있다. 앞에서 언급했듯이 당신이 키를 폐기하기 위해 Enigmail 키 관리자를 사용할 때, Enigmail은 내부적으로 폐기 인증서를 생성하고 가져온다. 이미 폐기 인증서가 있으므로, 앞서 생성된 것을 당신의 키를 폐기하는데 이용할 수 있다. Enigmail 키 관리자의 “파일” 메뉴에서 “파일에서 키 가져오기”를 선택한다.

3.5_61

창이 열리면, 앞서 만들었던 “폐기 인증서”를 선택한다. 파일을 클릭하고 “열기”를 클릭한다. 인증서를 성공적으로 가져왔다는 공지가 뜨고 키는 폐기되었다. “확인”을 클릭한다. Enigmail 키 관리자로 돌아오면 인증서가 회색, 이텔릭채로 변한 것을 알 수 있을 것이다.

당신이 폐기한 키가 당신 것이라면, 그리고 당신이 키 서버에 당신의 공개키를 업로드했다면, 이제 키 서버에 폐기된 키를 다시 업로드해야, 다른 사람이 더 이상 그 키를 사용하지 않을 것이다.

이제 모든 것을 익혔으니, PGP 암호화된 이메일을 보내도록 하자.

이 글은 EFF의 How to: Use PGP for Windows(2018년 6월 18일, 마지막 업데이트)를 기초로 한 것입니다.