[홈으로] [게시판]

모질라 썬더버드에서 GnuPG 사용하기

모질라 썬더버드는 Outlook Express와 같은 종류의 메일 프로그램입니다. GnuPG는 전자서명과 암호화를 해주는 프로그램입니다.

차례 [+]

Outlook Express와의 비교

여러가지 면에서 썬더버드가 훨씬 좋습니다.

GnuPG를 사용하기에도 썬더버드가 더 편리합니다. 아웃룩 익스프레스도 가능하지만 미리 보조 프로그램을 띄워두어야해서 불편합니다. (http://winpt.sf.net 참고)

그리고 모양도 더 이쁩니다(중요).

윈도에서 썬더버드 사용하기

썬더버드는 자유 소프트웨어이기 때문에 다양한 플랫폼용으로 나와 있습니다. 모양도 원래 이쁘지만 윈도XP에서는 특히 더 '이쁩니다'.

공식 배포하는 곳은 http://www.mozilla.org/products/thunderbird/ 입니다. zip 압축으로 배포되는 윈도용 버전을 받아다가 '아무데나' 압축 풀고 쓰면 됩니다. 한편, http://texturizer.net/thunderbird/download.html 에서는 윈도 인스톨러 버전을 제공하기 때문에 이것을 쓰는 것이 더 산뜻할지도 모릅니다.

1.0부터 zip파일이 아닌 자체 윈도 인스톨러 버전을 제공하네요. 그냥 http://www.mozilla.org/products/thunderbird/ 에서 제공하는 1.0버전을 쓰면 됩니다.

설치해서 프로그램을 켜보면 사용법은 '뻔'합니다. 아웃룩에 익숙하다면 금방 알 수 있습니다.

음 꼭 이 스크린샷이어야 하나요 *.* --류광
음 마침 제가 항상 유용한 정보를 얻는 메일이 왔길래 재미 삼아 찍었는데요.. 혹시 어디 기관에서 검열이라도 들어오면 교체하도록 하겠습니다 -_-;;; --yongjoo
스샷 잠시 숨깁니다 ^^; --yongjoo

썬더버드에서 GnuPG 사용하기

GnuPG 개요

왜 필요한가?

우리는 '비밀결사조직'이다. 현장에 파견된 결사대원들에게 지령을 전달해야 하는데 벌써 정보 기관에서 '눈치를 까고' 모든 통신을 도청하고 (전자)우편을 감시하고 있다. 어떻게 해야 할까?

전자 서명, 암호화

이 문제를 해결하기 위해서 조직원 간에 '전자 서명'과 '암호화' 기술을 도입하기로 하였다. '암호화'란 편지를 받아보아야 할 사람만 해독할 수 있는 암호문으로 편지를 보내는 것이고, '전자 서명'이란 편지가 배달 되는 도중에 내용이 변조되었는지 알아볼 수 있도록 암호화된 싸인을 넣는 것이다.

비밀키와 공개키

암호화 지령을 보내려면 조직원 각자마다 고유한 비밀키, 공개키를 만들어야 한다. 공개키는 해당 조직원에게 보낼 암호를 만들 수 있는 열쇠이다. 비밀키는 자기에게 온 암호를 해독할 수 있는 열쇠이다.

각 조직원들의 공개키는 모든 사람에게 공개한다. 비밀키는 공개하지 않는다. 특정 조직원에게 암호문을 보내고 싶으면 그 사람의 공개키로 암호문을 만들면 된다. 만들어진 암호문은 아무도 해독할 수 없다. 오직 비밀키를 가진 해당 조직원만 해독할 수 있다. 공개키와 비밀키는 쌍을 이루며 남의 비밀키로는 암호를 해독할 수 없다.

암호화가 '전략상' 필요없는 경우, 지령을 보낼때 자신의 비밀키로 전자 서명을 넣을 수 있다. 서명은 편지 본문의 내용을 정확히 반영하는 짧은 암호로 되어 있고 공개키로 보낸 사람의 서명과 본문이 내용이 일치하는지 확인할 수 있다. 본문 내용을 조작한다면 서명과 대조했을때 틀렸다는 것을 알 수 있다.

말이 헷갈리지만 암튼 일단 쓰다 보면 이해가 될 것이다.. -_-;

윈도용 GnuPG 설치

다운로드 http://www.nullify.org/

디폴트로 c:gnupg 디렉토리에 설치하려고 하는데 그럴 필요는 없고 평소 하던대로 Program Files 디렉아래에 설치하면 된다.

자신의 공개키, 비밀키 만들기

[참고]

여기서 설명하는 것은 명령 프롬프트를 통해 직접 GnuPG 프로그램을 동작시켜 키를 생성하고 다루는 방법입니다. 뒤에서 설명하는 Enigmail을 썬더버드에 설치하면 같은 작업을 썬더버드의 메뉴를 통해서 할 수도 있습니다. 그러나 좀더 자세한 내용을 이해하려면 여기서 설명하는 내용을 읽어보세요.

명령 프롬프트를 열어서 gnupg 디렉으로 이동한다. 다음 명령을 내린다.

..GnuPG> gpg --gen-key

엔터를 누르면 다음 화면을 보게 된다.

gpg (GnuPG) 1.2.3-nr1; Copyright (C) 2003 Free Software Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.

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

생성할 키의 종류를 묻는 것인데 기본값을 그대로 쓸 것이니까 그냥 엔터 누른다.

DSA keypair will have 1024 bits.
About to generate a new ELG-E keypair.
              minimum keysize is  768 bits
              default keysize is 1024 bits
    highest suggested keysize is 2048 bits
What keysize do you want? (1024)

생성할 키의 크기를 물어보는 것인데 크기가 클수록 암호는 '깨지기' 어렵게 된다. 사실 어떤 암호라도 언젠가는 깨어지게 되는데, 이것은 결국 시간과의 싸움이다. 키의 크기가 클수록 암호를 깨기 위한 계산에 더 오랜 시간이 필요하다. 컴퓨터 성능이 발달할 수록 이 시간은 짧아지게 된다.

보통은 기본값 1024를 그대로 쓰니까 그냥 엔터 누른다. 혹시나 뉴욕무역센터를 폭파할 계획이라면 2048을 치고 엔터를 누른다. 당신의 암호화된 연애편지를 훔쳐보고 싶어하는 연적이 펜타곤에서 근무하는 암호 해독 요원이라면 역시 2048로 하는 것이 훨씬 안전할거다!(컴터 성능은 비약적으로 발달하니까 조만간 2048을 기본값으로 쓰게 될지도 모른다..)

Please specify how long the key should be valid.
         0 = key does not expire
      <n>  = key expires in n days
      <n>w = key expires in n weeks
      <n>m = key expires in n months
      <n>y = key expires in n years
Key is valid for? (0)

키의 유효기간을 정하는 것인데 역시 기본값인 '무한대'를 선택할 것이므로 그냥 엔터 누른다. 뉴욕무역센터를 폭파할 계획이라면 유효기간을 짧게 두고 계속 키를 바꿔주는 것이 보안 유지에 유리할 것이다.

Is this correct (y/n)?

맞습니까? 지금까지 잘 한것 같으면 y 눌러주고 엔터.

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

Real name: Hong Gil Dong
Email address: hong@nospam.plz
Comment:

자신의 이름과 이멜 주소를 영문으로 넣어준다. 물론 꼭 실명이어야 할 필요는 없지만 조직원들이 알아볼 수 있는 이름이어야 하겠다. 코멘트는 안달아도 된다.

Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit?

바꿀것이 없다면 O(영문 오)를 눌러 준다.

You need a Passphrase to protect your secret key.

Enter passphrase:
Repeat passphrase:

여기가 중요한데, passphrase란 자신의 비밀키를 사용할 수 있는 패스워드이다. 반드시 자신과 아무 상관없는 의미없는 숫자와 영문자 조합을 6글자 이상 사용한다.

passphrase를 까먹으면 자신의 비밀키를 사용할 수 없으니, 자신에게 온 암호문을 해독할 수도 없고, 자신이 어떤 문서에 서명을 할 수도 없게된다(망한다). 그렇다고 잘보이는데 적어둔다거나 해서도 안된다(만에 하나 자신의 비밀키가 누출되었을 때, 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.
+++++.++++++++++++++++++++++++++++++.+++++++++++++++.+++++++++++++++++++++++++++
++++++++.+++++++++++++++++++++++++..++++++++++++++++++++>+++++..................
................................................................................
.........................<++++++++++^^^
public and secret key created and signed.
key marked as ultimately trusted.

pub  1024D/DA5CF8CF 2004-02-01 Hong Gil Dong <hong@nospam.plz>
     Key fingerprint = 2217 3BED 407C BFE6 8D8D  A1C2 716D 0EC9 DA5C F8CF
sub  1024g/CA69E902 2004-02-01

키가 생성된 후의 화면이다. 처음에 나오는 이야기는 키가 생성되는 도중에 마우스를 마구 움직인다거나 키보드를 아무렇게나 두들겨 주면 좋다는 이야기인데, ++++... 같은 문자들이 주르르륵 나올 때가 키가 생성되고 있는 때이다.

키를 생성할 때는 무작위로 추출하는 숫자들이 많이 필요하다. 그러나 숫자를 무작위로 생산해내는 알고리즘이란 것은 없으며 다만 컴퓨터 내장 시계를 참고해서 숫자를 정하는 것 뿐이다. 연속적으로 많은 무작위 숫자를 생산해야 할때, 마우스나 키보드를 움직여 주면 CPU가 이것을 처리하느라고 시계를 참조하는 간격이 불규칙하게 되기 때문에, 좀더 숫자를 무작위적으로 생산하는 데 도움이 된다.

Key fingerprint란 자신의 공개키의 '지문'에 해당하는 것이다. 공개키는 무척 길이가 긴 의미없는 문자열이기 때문에, 누군가가 어떤 공개키를 들고 와서 이것이 당신것 맞냐고 물어본다면 큰 낭패를 겪게 된다(눈빠지게 일일이 확인해야 하니까). 핑거프린트는 이럴 때 쓰는 것이다. 남이 들고온 공개키로부터 핑거프린트를 만들어서 자신의 것과 맞는지 비교해 보면 된다(공개키 문자가 1024개인데, 핑거프린트는 문자 40개밖에 안되니까 눈이 빠지지는 않을듯..)

모든 과정이 끝난후, GnuPG 디렉토리에는 pubring.gpg와 secring.gpg란 파일이 생겨 있을 것이다. 각각 자신의 공개키와 비밀키가 들어있으니까 따로 잘 보관해 둔다.(시디로 구워서 지하 금고 안에 넣어둔다)

자신의 공개키를 알리기

공개키를 만들었으면 남들에게 알려야 한다. 공개키는 pubring.gpg 안에 들어 있지만 이 안에는 사람이 알아볼 수 없는 이진수 값으로 저장되어 있으므로 이래서는 다른 사람들에게 알리기가 곤란하다. 다음 명령으로 좀더 알아보기 쉽게 공개키를 가공해 출력한다.

..GnuPG> gpg --armor --export hong@nospam.plz

--armor 란 옵션이 알아보기 쉬운 배포용 출력을 해달라는 뜻이다. pubring.gpg에는 내 공개키 뿐만 아니라 남의 공개키도 함께 저장이 되기 때문에 --export 옵션 뒤에 자신의 이메일 주소를 적어 자신의 공개키를 출력하도록 지정한다.

출력물은 대개 다음과 같다.

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.2.3-nr1 (Windows XP)

mQGiBEAdWQYRBADrbDKy5CMFpvmtvEY0A3xaCXuoPHDhWxaW/CdgnfMD4G8havZ4
pogK/Hne++4PYirNEuVuHYQ6Xympg5rEeEslBg8+ytXFvz+UxRW+7+43lC4MJ62M
03JifkbBayBl3uZiAUEhc62DIXevnMNVHR7qj2VXMuxzboiiCbpuFfxaVwCg32O0
001i6/C0IfeH5IRlN7FwUUkD/1KKpMNchYR27+0+04MsRBfBpLndDBDAX3mQoPIw
POsLNe/7/DyoIzUKH1EEfH3xlXZZVi8NGp7C47zPKm0weplkEgIFl3hv9JoU+BxQ
K8Ll0OwR7BeBOTO86RIQR1D2ebmIJFf6v0U1IcVN8C8419qebqXBOVSOlJd7FzNC
SpHgBADolWXTfmz1KZcWKKUEdmiGrYpUBOJ0hkLX84pWMgaxQF9yBfmgBOHQmd2T
TR8MaWO4wAIPDBuu6T3Hb8ivfOP4UMCptPUkM8j4olBuHTI977acxVohdiafAsXC
Q8V2T8Evo12txZDV/y6eimg34MaotJCcRbdvQQ2CCft7vyPC0LQVWXBhcmtKIDxk
ZmRmQGRmZGYuZGQ-iF8EExECAB8FAkAdWQcCGwMHCwkIBwMCAQMVAgMDFgIBAh4B
AheAAAoJEHFtDsnaXPjP0gQAoNdZ9W4nr5ACUdfl3M6TcEG6UoiEAKCa810VZh3l
E3xt4JGEuWVKh+oHXrkBDQRAHVkYEAQAm/2oZrs8Xo4fSPeVmM7eTZN8dgjKo7KX
bx6KlZu1O9jJZmdlJjAB3HZ1thAsUnGZJUexjzhYPg/NuRaKZYkSAYsgmaqejlGY
4ZqrlrdYse/UWR3NqqSBi3PsPq915eIrq5r3HPf8Pn1qp75PegPDXwwJsaQDc0a9
RTcCVJm4arsAAwUD/RNKAUoQSKyhDYHW939hlS5fy9BcE/+qS93kKfQ9I5crgkrw
1BA7o8aoGzI8oOzxjhA9MkYp6c42R0WxSzm+O4w3FAtpMlml4hYYoanZa/5Nsxir
WM3f9tLkyP0Ewe87yQpLO8Dl6R/q3aKsw7xoMt+f22aLVajZuwMEYVH252SAiEkE
GBECAAkFAkAdWRgCGwwACgkQcW0Oydpc+M8PeQCg3B8xdtamlbpg95ZTZlmJP2IZ
U3AAn1I9I8jfTviLJUFyZZ4G1UMEeiY8
=NGY3
-----END PGP PUBLIC KEY BLOCK-----

이것을 조직원들에게 알려주면 된다. 조직원 아니라도 막 뿌려대도 된다. 홈페이지에도 올리고 메일로도 보내고..

좀더 간편한 방법은 인터넷의 '키 서버'에 자신의 공개키를 등록하는 것이다. 키 서버에 등록해두면 남이 쉽게 서버로부터 내 공개키를 내려 받을 수 있다. 다음과 같이 등록한다.

gpg --keyserver ldap://certserver.pgp.com --send-key hong@nospam.plz

키 서버가 여러대가 있는데 서로 동기화가 이루어진다고 하니 모든 곳에 등록할 필요는 없는 것 같다. 썬더버드의 Enigmail(뒤에서 설명)에서 기본적으로 사용하는 서버는 다음과 같은데 일단 이곳에는 모두 직접 등록해두는 것도 좋을 것 같다.

ldap://certserver.pgp.com, keyserver.kjsl.com, pgp.dtype.org, random.sks.keyserver.penguin.de

다른 사람의 공개키 등록하기

남의 공개 키를 수동으로 등록하려면 다음과 같이 한다. 썬더버드에서 사용할때는 키 서버로부터 다운받아 자동 등록도 가능하다(뒤에서 설명).

..GnuPG> gpg --import

명령을 치고 공개키를 죽 긁어 복사해다가 붙여넣기를 해주면 된다. 공개키를 파일로 받았다면 다음과 같이 파일명을 써주면 된다.

..GnuPG> gpg --import osama.gpg

그런데 중요한 문제가 있다! 공개키를 홈페이지에 올려놓았는데 홈페이지가 해킹당해서 엉뚱한 공개키가 올라가 있을 수도 있다! 누군가가 고의로 조직원들에게 틀린 공개키를 배포했을지도 모른다(자기 것을 대장 것이라고 속이고 배포하면..)!! 키 서버에서 내려받은 키가 정말로 맞는 것인지 어떻게 보증할까? 키 서버도 이미 정보 기관의 공작에 포함되어 있을지도 모르는데..!

그래서 사용하는 것이 핑거프린트이다. 남의 공개키를 등록했다면 꼭 핑거 프린트를 확인해야 한다. 우선 다음과 같이 핑거프린트를 출력한다. 이메일을 적지 않으면 등록된 모든 공개키의 핑거프린트를 출력한다.

..GnuPG> gpg --fingerprint osama@bin.laden

pub  1024D/DA5CF8CF 2004-02-01 Bin Laden <osama@bin.laden>
     Key fingerprint = 2217 3BED 407C BFE6 8D8D  A1C2 716D 0EC9 DA5C F8CF
sub  1024g/CA69E902 2004-02-01

이제 핑거프린트가 맞는지 확인해야한다. 라덴씨를 만나거나, 전화를 하거나, 뭐든지 간에 가장 확실한 방법으로(중간에 누가 변조할 가능성이 없는 방법으로) 직접 본인에게 핑거프린트를 알려달라고 해야 한다. 핑거프린트는 공개키와 마찬가지로 공개되는 것이니까, 중간에 도청이 되거나 해도 상관없다. 변조되지 않은 진짜 핑거프린트를 확인하는 것이 중요하다.

불러주는 핑거프린트 40개 문자가 자신의 보유한 것과 일치한다면 비로소 안심하고 그 공개키를 쓸 수 있는 것이다.(중요중요)

핑거프린트를 확인했다면, 이제 해당 공개키를 명시적으로 신뢰(trust)해주어야 한다. 다음 명령을 내린다.

..GnuPG> gpg --edit-key osama@bin.laden

pub  1024D/8B927C8A  created: 1999-07-02 expires: never      trust: -/-
sub  1024g/C19EA233  created: 1999-07-02 expires: never
(1)  Bin Laden <osama@bin.laden>

Command>

Command>에서 fpr이라고 치면 다시 한번 핑거프린트가 출력된다. 핑거프린트가 일치한다면, trust라고 쳐준다.

Command> trust

pub  1024D/8B927C8A  created: 1999-07-02 expires: never      trust: -/-
sub  1024g/C19EA233  created: 1999-07-02 expires: never
(1)  Bin Laden <osama@bin.laden>

Please decide how far you trust this user to correctly
verify other users' keys (by looking at passports,
checking fingerprints from different sources...)?

 1 = Don't know
 2 = I do NOT trust
 3 = I trust marginally
 4 = I trust fully
 5 = I trust ultimately
 m = back to the main menu

Your decision? 5

마지막으로 묻는 것은 신뢰도의 레벨을 정하는 것이다. 1~4번은 정도의 차이는 있지만 신뢰하지 못하는 공개키로 간주된다. 핑거프린트를 본인에게 분명히 확인했다면 5번을 눌러준다.

pub  1024D/8B927C8A  created: 1999-07-02 expires: never      trust: u/-
sub  1024g/C19EA233  created: 1999-07-02 expires: never
(1)  Bin Laden <osama@bin.laden>

Command> quit

trust: u/- 라는 것은 이전과 현재의 신뢰도를 보여준다. quit이라고 쳐서 종료하면 된다.

다른 사람의 공개키에 서명하기

공개키 서명에 관한 내용은 나중에 보충하겠습니다.

더 자세한 정보

GnuPG의 좀더 자세한 사용법은 http://www.gnupg.org/gph/en/manual.html 를 참고하면 된다. 홈페이지는 http://www.gnupg.org/ 이다.

Enigmail

Enigmail은 썬더버드에 설치해서 사용하는 GnuPG 프로그램입니다. Enigma라는 것은 2차대전때 독일군이 사용하던 암호화 기계의 이름인 것 같은데 아마 여기에서 이름을 따온 듯 하네요.

설치

에니그메일의 홈페이지는 http://enigmail.mozdev.org/ 입니다. 썬더버드용 에니그메일은 http://enigmail.mozdev.org/thunderbird.html 에서 다운로드합니다. All Platform용 파일과 Windows용 파일 두가지를 모두 받아야합니다.

파일을 받았으면 썬더버드 -> tools -> Options -> extension -> Install New Extension 을 눌러 다운로드한 파일 두가지를 모두 설치해 줍니다.

설치가 끝나고 썬더버드를 재시작하면 메뉴에 새로 등장한 에니그메일 메뉴를 볼 수 있게 됩니다.

[참고]

썬더버드 한글판을 사용하는 경우에 enigmail 한글팩을 설치해야 합니다. http://www.hanjo.pe.kr/moniwiki/wiki.php/ComputerAccessary#s-1.2 에서 받으세요.

썬더버드 한글판에서 enigmail 0.90.0 신버전을 사용하려면 위와 다른 0.90.0용 한글팩을 설치해야합니다. http://www.redwiki.net/wiki/wiki.php/PGP/enigmail 에서 받아 설치하세요.

GnuPG 프로그램 위치 지정

설치를 했으면 GnuPG 프로그램의 정확한 위치를 지정해 주어야 합니다. 메뉴의 Enigmail -> Preferences -> Basic -> GPG executable path 에서 설치된 gpg.exe 파일의 위치를 넣어줍니다.

자신의 키 생성하기

에니그메일을 사용하면 자신의 키를 쉽게 생성할 수 있습니다. 앞에서 직접 gpg.exe를 사용해 자신의 키를 생성한 경우라면 이 과정은 다시 할 필요가 없습니다. 반복하게 되면 같은 이름과 메일 계정으로 다른 키 조합이 반복 생성되므로 주의해야 합니다.

Enigmail -> Generate key 를 눌러 창을 띄웁니다. 복수의 메일 계정을 가진 경우 어느 계정의 정보로 키를 생성할 것인지 선택하고, passphrase를 두번 정확히 입력한 뒤 Generate key 버튼을 눌러주면 됩니다. 시간이 상당히 소요되므로 잠시 기다려야합니다. 잠시후 "Key generation completed!" 라는 창이 뜨면 끝난 것입니다.

메일 주고 받기

자신의 공개키를 메일에 삽입하기

에니그메일을 사용하면 자신의 공개키를 간단히 메일에 삽입할 수 있습니다. Enigmail -> Insert Public key를 누르면 됩니다.

다른 사람의 공개키를 메일로부터 등록하기

누군가가 자신의 공개키를 메일에 적어 보냈다면 역시 쉽게 그 공개키를 등록할 수 있습니다. Enigmail -> Import 혹은 Decrypt/verify를 누르면 됩니다.

암호화된 메일 보내기

앞서 설명한 대로, 암호화된 메일을 보내기 위해서는 메일을 받을 사람의 공개키를 알고 있어야(등록되어 있어야) 합니다. 이미 공개키가 등록된 메일 주소로 메일을 보낼때는 자동적으로 해당 공개키가 선택되며, 같은 메일주소로 등록된 공개키가 여럿이거나 해당하는 메일주소로 된 공개키가 없을 때는 등록된 공개키 중에 선택할 수 있도록 창이 뜹니다.

우선 wite 버튼을 눌러 메일 내용을 작성합니다. 한글 메일이라면 View -> Encoding에서 EUC-KR을 꼭 선택해 주어야 합니다. 인코딩을 제대로 선택하지 않으면 상대방이 메일을 읽지 못하게 됩니다. 또 한가지 메일 작성에서 주의해야할 점은 '메일의 제목은 암호화가 되지 않는다'는 점입니다. 따라서 메일 제목에는 남이 보아서는 안될 내용이 들어가서는 안됩니다. 메일 작성이 다 되었으면 OpenPGP 버튼을 눌러 encrypt message를 선택합니다.

화면 아래의 열쇠 모양이 현재 작성 중인 메일이 암호화 될 것이라는 점을 나타냅니다. 옆의 연필 모양은 sign message를 선택했을때 불이 들어오며, 전자 서명이 되어 발송될 것이라는 것을 나타내게됩니다.

메일 작성이 끝났으면 send 버튼을 눌러 메일을 발송합니다. 만일 메일 받는 사람의 주소로 등록된 공개키가 없거나 여러개가 있을 때는 다음과 같은 선택 화면이 나타납니다. 물론 메일 받는 사람의 공개키를 맞게 선택하지 않으면 메일 받는 사람이 해독할 방법이 없게 됩니다.

send 버튼을 누르고 나서 메일이 발송되기 직전의 모습입니다. 메일 본문의 내용이 암호화 되어 있는 모습이 보입니다. 메일의 제목은 암호화되지 않는다는 점을 꼭 명심해야 합니다.

암호화된 메일 읽기

누군가한테 암호화된 메일을 받았다면, 아마도 자신의 공개키로 암호화가 되어 있을 것입니다. 이 메일을 해독하기 위해서는 자신의 비밀키가 등록되어 있어야 하며, passphrase를 알고 있어야 합니다. 앞서 설명한대로 자신의 키를 생성하였다면 이미 자신의 비밀키가 등록되어 있는 상태이므로, 메일을 클릭하면 바로 passphrase를 묻는 창이 뜹니다. Cap Lock키나 한영 전환 상태를 유의하면서 passphrase를 정확히 입력합니다.

passphrase를 맞게 입력하였다면 메일은 해독되어 보이게 됩니다.

서명해서 메일 보내기

서명을 하기 위해서는 역시 자신의 비밀키가 등록되어 있어야 하며, passphrase를 알고 있어야 합니다. 메일을 작성하고 Opne PGP -> sign message를 선택하면 하단에 연필 모양의 불이 들어옵니다. 이 상태에서 send를 누르면 passphrase를 묻습니다.

passphrase가 맞게 입력되었다면, 메일에는 서명이 첨부되어 발송됩니다. 본문 아래에 암호화된 서명이 첨부되어 있는 모습을 볼 수 있습니다. 이 서명은 메일 본문의 내용을 정확히 반영하고 있습니다.

서명된 메일 읽기

누군가로부터 서명이 첨부된 메일을 받았고, 그 사람의 공개키가 나에게 등록되어 있으며, 그 공개키를 trust 하였다면 다음과 같이 Good Signature를 가진 메일이라는 표시가 뜹니다. 이것은 그 메일이 변조되지 않았다는 것을 의미합니다.

흔히, 아직 공개키가 등록되지 않은 사람으로부터 서명이 첨부된 메일을 받는 경우가 있습니다. 서명이 첨부된 메일의 변조 여부를 알려면 해당 발신자의 공개키가 있어야만 하므로, 다음과 같이 unverified signature란 메시지가 뜹니다. 이때 물음표가 붙은 펜 아이콘을 클릭하면 키 서버로부터 해당 공개키를 다운받아 등록할 것인지 붙는 창이 뜹니다.

yes를 누른다면 어떤 서버로부터 키를 다운 받을 것인지 묻는데, 서버 사이에는 동기화가 이루어진다고 하므로 기본값을 그대로 두고 OK를 눌러주면 되는것 같습니다. 만일 다운로드가 실패한다면 다른 서버를 선택해 봅니다.

다운로드가 이루어지고 있습니다.

공개키를 다운받고 나면 Untrusted good signature란 표시가 나타납니다. 이것의 의미는 메일이 변조되지 않은 것은 분명하나 서버로부터 다운 받은 공개키를 믿을 수 있는지 의심스럽다는 뜻입니다. (즉 핑거프린트를 확인해 trust 여부를 결정해야 합니다)

이전에 설명한 것과 마찬가지로, 공개키를 받았다면 꼭 핑거프린트를 확인하고 핑거프린트가 일치한다면 trust를 해주어야합니다. 이 과정을 완료해야만, 해당 메일은 Good signature를 가진 것으로 표시됩니다.

맺는말

모질라 썬더버드 무척 마음에 듭니다. --yongjoo

제일 위로
최종 수정 일시: 04월 16일(2012년) 08:03 PM 편집 | 정보 | 차이 | 비슷한페이지 | DebugInfo
유용한 페이지들: 분류 분류 | 자유로운 연습장 SandBox | 무작위 페이지들 RandomPages | 인기있는 페이지들 MostPopular