[DEBIAN] Thunder Bird에서 Anigmail, GnuPG(gpg)를 통한 이메일 암호화

오늘은 암호화된 메일 통신을 위해 GPG를 이용한 키생성과 Thunder Bird에 연동하는 과정을 이야기할까 합니다. 일반적으로 쓰는 메일 서비스들이 암호화되어 안전하게 전송된다고는 하지만 우리는 신뢰할 수 없기 때문에 종단 간 암호화로 더 튼튼한 이메일을 사용하죠.

그럼 안전한 메일 사용을 위한 이메일 암호화에 대해 알아볼까요.

GnuPG(GPG)를 이용한 비밀키/공개키 생성(Generate Secret&Public key)

먼저 gpg를 이용해서 key를 생성해줍니다. 혹시 gpg가 없다면.. apt를 통해 설치해주세요.

#> gpg –gen-key

gpg (GnuPG) 1.4.20; Copyright (C) 2015 Free Software Foundation, Inc. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

Please select what kind of key you want: (1) RSA and RSA (default) (2) DSA and Elgamal (3) DSA (sign only) (4) RSA (sign only) Your selection?

(1) RSA and RSA (default)

RSA keys may be between 1024 and 4096 bits long. What keysize do you want? (2048)

디폴트는 2048, 전 조금 더 안전하기 위해(테스트삼아).. 4096으로 진행했습니다. 다음은 키의 유효기간을 설정해줍니다. Default는 무제한입니다.

Please specify how long the key should be valid. 0 = key does not expire = key expires in n days w = key expires in n weeks m = key expires in n months y = key expires in n years Key is valid for? (0) 그다음은 사용자 이름 설정 (최소 5글자)

You need a user ID to identify your key; the software constructs the user ID from the Real Name, Comment and Email Address in this form: “Heinrich Heine (Der Dichter) heinrichh@duesseldorf.de

Real name: TESTzz

… 개인정보 설정

마지막으로 비밀키 생성을 위한 패스워드 입력

You need a Passphrase to protect your secret key.

Enter passphrase:

……………………..+++++ We need to generate a lot of random bytes. It is a good idea to perform some other action (type on the keyboard, move the mouse, utilize the disks) during the prime generation; this gives the random number generator a better chance to gain enough entropy.

이용가능한 랜덤 바이트가 충분하지 않습니다. 어떤 다른 일을 해서 OS가 좀 더 많은 엔트로피를 모을 수 있게 하십시오! (212 바이트가 더 필요합니다.)

한참걸렷네요. 역시 4096은…ㅋㅋㅋ

gpg: key 37B011BB marked as ultimately trusted public and secret key created and signed.

gpg: checking the trustdb gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u pub 4096R/37B011BB 2017-05-25 Key fingerprint = 8A60 656B 6F89 E3E2 F465 EAF1 F363 4A3A 37B0 11BB uid TESTzzz asdfasdfas@asdfasdf.com sub 4096R/900EBEA7 2017-05-25 키 생성이 완료되었습니다.

이제 공개키를 보기편하게 출력하면.. #> gpg –armor –export [YOUR@EMAILz]

—–BEGIN PGP PUBLIC KEY BLOCK—– Version: GnuPG v1

mQINBFRQA8EBEADrLHxW4807EJMzDjhrR5+FRy5/3616nyLlbWFTLnS1/i514L7Z LVzbho4eZWjErRWqT1mr+E7dr/c8Ei5J8kUMqm5MoSkCoc5Y7Gp0jKhfDF4Megpd X2ZKw7VG+4GZU9gxbm+6ymHeDAFRfQjUoHzCZsdsgnhi1C58kMoY39dFidlk24AG E7y8WEg42yzSyJFjK5+qdGuKTBK4UmYM3uxHbxZgBLZ1PQ9DhsToauTqQSJEFzC+ r4qQeO6CeZAUEhgCt3HnmKE8hdARQelNRICrQc/Gpd3c3Wcpi3zj61cRqTCDBtNJ h66bN+b6MilfT1S+9YMqLACXIWRcXPPUUWanmleguzGfngRjr/qf2PF6g2HYsp40 4M3CE0JX5O5iD4A81b5duuhIzZhJu1LFyn0uPX/zHlEwo36cQF3ElbsKyX6woXpx hbHf67y6oQdSivhJvshJamRHxgi+bU6kkiiY0E8L5/8h309TVpd0wXfYfMPeE+V6 GsLjbxlU2bYrVxocREZpjCzqKBCmbZZxAd9eQPl8dYAs7kpxh8v3N9PEs0TRH2rh KYjhKE++G/XuFOc6lm2gE5SnmwcDdJlIQm8YhW2LF/tTmQjAnxu4ILeWHwufhubv BWn2UkdkGitrKEUmk9z24BMRKdPy0aALblvLCtri+2mf7ZaP9Stkdr/7yQARAQAB tCZNaWNoYWwgUGFwaXMgPG1pY2hhbC5wYXBpc0B0b3B0YWwuY29tPokCNwQTAQgA IQUCWLHEMwIbAwULCQgHAgYVCAkKCwIEFgIDAQIeAQIXgAAKCRA4BLuC053A4+MY D/97E5xv9aWQ0hZEC4ojrshTKGfsf1/0f1CvsvO6PthrvVBbsuIyArOpOwjKnuXG uF0UiAfUFsqv27NW8f+HFRKYsMCjJMSFq7Hl07bCifPoVoRJcyy/HDUxQs/uGsez yhPHghk1F3MjMswHtEsrByNmwlhX0HvERhMvtXJyx+fqjtjMCwyijePmrdgA2Ra2 ……

이런 형태의 PGP 공개키로 출력할 수 있습니다. 참고로.. 4096이면 굉장히 많습니다. (보통 2048을 많이 사용하죠. )

이제 이 값을.. 뿌리시면 됩니다.

Thunder Bird에서 Enigmail 사용하기

gpg를 통해 비밀키와 공개키 생성을 하였으니 썬더버드에 연동해봅시다. (사실 썬더버드에서Enigmail 사용 시 직접 키 생성도 가능…한)

메일 클라이언트에서 암호화 메일을 사용하기 위해 addon을 하나 설치합니다. 바로 Enigmail이라는 Addon이고 Thunder Bird에서 암호화된 메일을 사용할 수 있도록 지원해줍니다.

눈치 채셨겠지만.. 에니그마에서 비롯된 이름이죠.

썬더버드 로딩 후 메뉴 > Addon 에 들어가서 검색 후 설치해줍니다.

아니면.. 직접 설치하셔도 되구요. 아래 링크 접속 후 다운로드 해주세요.

https://addons.mozilla.org/ko/thunderbird/addon/enigmail/

접속 후 다운로드를 누르면 .xpi 파일이 다운로드 됩니다. Addon 직접 설치로 깔아주시면 됩니다. (그냥 위에 방법이 훠워워워어어어얼씬 편해요)

재부팅하면 Anigmail이 실행되면서 암호화키를 설정하라고 나옵니다.

우리는 미리 키를 만들었으니 2번째를 선택해줍니다. (물론 여기서 직접 만드시려면 맨위에꺼)

그럼 또 물어보는데, 내 키를 쓰고싶다고 해줍니다.

테스트(?) 삼아 보여드리는 부분이라 원래 저장된 디렉토리로 주었는데요, 실제로 사용하실 땐 키 따로 보관하시고 지정해주시면 됩니다.

자 이제 설정은 끝났습니다. 이제부턴 메일 Write 부분에 Enigmail 이 추가되어 나타납니다.

그리고.. 아래와 같이 암호화되지 않은 메일은 빨간글씨로 나타나지요.

암호화하고, 설정까지 달아서 전송하면 이제 이 메일의 본문은 암호화 됩니다.

(중요합니다. 제목은 암호화되지 않아요)

키가 등록된 썬더버드에선 자동으로 풀려서 보이지만 그냥 gmail 앱(등록하지 않아서)에서는 아래와 같이 암호화 데이터로 보입니다.

그쵸?제목은 암호화되지 않아요.

Reference

http://docbook.kr/wiki/index.php/ThunderBird