GnuPG/ko

이 안내서는 젠투 리눅스 사용자에게 보안 통신용 도구인 GnuPG 기본 사용 방법을 알려드립니다.

이 안내서에서 무얼 배울 수 있을까
이 안내서에서는 독자 여러분이 공용키 암호화 기법, 암호화, 디지털 서명에 대해 잘 알고 있음을 가정합니다. 만약 그렇지 않다면 공식 GnuPG 핸드북 2장을 따로 보시고 이 글로 다시 돌아오십시오.

Readers will learn how to install GnuPG, create a key pair, add keys to a keyring, and submit a public key to a key server. Readers will also learn how to sign, encrypt, verify, and decrypt messages and files sent and received.

다른 프로그램
At the very least, GnuPG must be emerged. Many applications today have some sort of support for PGP, so having  as a USE flag is a good idea. When desiring an email client capable of using GnuPG any of the following options are well suited:
 * PinePGP.
 * Mutt - A small but very powerful text-based mail client.
 * Thunderbird - Mozilla's e-mail solution.
 * Evolution - A GNOME Microsoft Outlook work alike.
 * KMail - KDE's mail client.
 * Installing KGPG might be of interest when using the KDE desktop environment. This small program allows for the generation of key pairs, importing keys from ASCII files, signing imported keys, exporting keys, among a few other nifty features.

키 만들기
To create a key, use the command. The first time it is run, it will create some directories essential to the correct operation and implementation of GnuPG. Run it again to create the keys:

The type of key can be chosen, but most users will go for the default, RSA and RSA. Next is the key size - remember that bigger is better, but do not use a size larger than 2048 with DSA/ElGamal keys. 2048 is generally more than enough for normal email communication.

After size comes the expiration date. Here smaller is better, but users can go for a key that never expires, or for an expiration date of around 2 or 3 years.

Now it is time to enter some personal information about the key's user. When sending a public key to other users it is important that a real email address is used (as opposed to a fake one).

Now enter a key passphrase twice. It is a good idea to use a strong passphrase. If someone is able to obtain the associated private key and cracks the password they will be able to impersonate the user by sending signed messages just as the user would. The malicious user could dupe the victims contacts into believing the e-mails or messages were sent by the victim.

Next, GnuPG will generate a key. Moving the mouse, browsing the web, or streaming audio in the background will help speed up the process of generating random data, which is used to increase the security of the key pair.

폐기 인증 만들기
After creating the keys a revocation certificate should be created. Doing this allows the user to revoke the key in case something nasty happens (such as a malicious user gaining control of the key/passphrase).

lists the keys in the public keyring. It may be used to see the ID of the key so that a revocation certificate can be created. It is a good idea to copy the entire directory and the revocation certificate (ASCII armored - ) to a secure medium (a CD-R or a USB drive stored in a safe location). Remember that the file can be used to revoke the keys and make them unusable in the future.

키 내보내기
To export a key, run. You can almost always use the key ID or something that identifies the key (in this example an email address was used). Larry now has a that he can send his friends, or place on his web page so that others can safely communicate with him.

키 가져오기
공용 키 모음에 파일을 추가하려면 다음 단계를 거쳐야합니다:
 * 1) 먼저 키를 가져온 다음,
 * 2) 키 지문을 확인해야 합니다.
 * 3) 지문을 인정한 다음, 검증해야 합니다.

Now we will be adding Luis Pinto's (a friend of mine) public key to our public keyring. After giving him a call and asking him for his key fingerprint, I compare the fingerprint with the output of the command. As the key is authentic, I add it to the public keyring. In this particular case, Luis's key will expire in 2003-12-01 so I am asked if I want my signature on his key to expire at the same time.

키 서버로 키 보내기
Now that a key has been generated, it is probably a good idea to send it to a world key server. There are a lot of key servers in the world and most of them exchange keys. In this next example Larry the cow's key will be sent to the keys.gnupg.net server. Sending keys uses HTTP, so if a proxy is used for HTTP traffic do not forget to set it accordingly. The command for sending the key is: where   is the key ID. If a HTTP proxy is not needed then the  option can be removed.

또한 Larry가 서명한 다른 사람의 키를 키 서버에 보내는건 좋은 방안입니다. Luis Pinto의 키를 키 서버로 보낼 수 있었습니다. 이런 방법을 통해 Larry의 키를 믿는 사람이 Luis 의 키를 믿을 수 있게 둔 서명을 사용할 수 있습니다.

키 서버에서 키 가져오기
Now we are going to search for Gustavo Felisberto's (the author of this guide :)) key and add it to the keyring of Larry the cow.

서버 응답에서 키 서버로 몇가지 키를 제출했음을 볼 수 있습니다만, 현재   만을 사용합니다. 이제 Larry the cow가 키를 받을 수 있고 키를 믿을 수 있다면 키에 서명할 수 있습니다.

GPG 에이전트가 무엇인가요?
Sometimes working with certain applications requires the frequent use of a GPG key, which means that a passphrase must be frequently entered. In the past many applications supported a passphrase caching mechanism. This would make life easier for users because passphrases were automatically entered. However, this disallowed sharing this cache across programs (how secure would that be?) and forced applications to reinvent the wheel over and over again.

A GPG agent is a separate application that GPG uses to cache the passphrase in a standard and secure way. It allows applications to use GPG concurrently: if the passphrase is entered while working in one application, the other application can work with GPG without needing to unlock the key again — if the GPG Agent is configured to allow this, of course.

젠투에서는 GPG 에이전트 프로그램을 제공합니다. 꾸러미에 참조할 것으로 간주할 수 있는 요소를 넣었으며, 이 문서에서 주로 활용합니다.

gpg-agent와 pinentry 설정
GnuPG includes. Pinentry is a helper application that  uses to request the passphrase in a graphical window. It comes in three flavors: it can pop up a window using the GTK+, QT, or curses libraries (depending on the USE flags set when emerging).

If was installed with more than one popup window type, it is possible to choose between the windows with the  command:

Now create a file called and add the following lines to define the default timeout of the passphrase (e.g. 30 minutes) and the application to be called when the passphrase needs to be retrieved (e.g. the GTK+ version of Pinentry).

이제 적당한 때에 에이전트를 사용하도록 GnuPG를 설정하겠습니다. 를 편집하여 다음 줄을 추가하십시오.

이제 GPG 에이전트 사용 준비가 (거의) 되었습니다.

GPG 에이전트 자동으로 시작하기
If KDE is used as the desktop environment, edit (system-wide, for KDE4 ) or  (local user,  in KDE4). Add the following command to the appropriate file to have KDE automatically start the GPG Agent:

Additionally, uncomment the following lines in (system-wide,  in KDE4) or add it to  (local user,  in KDE4):

When using a desktop environment other than KDE, put the above lines in if  is used to start X.org or  if XDM, GDM, KDM, etc. are used.

암호화 및 서명
이제 Larry에게 보내려는 파일이 있다고 해보겠습니다. 이걸 암호화 할 수 있고, 서명할 수도 있으며, 심지어는 암호화와 서명을 동시에 할 수도 있습니다. 암호화는 Larry만이 열 수 있음을 의미하며, 서명은 Larry에게 이 파일을 만든 진짜 사람이 여러분임을 알려줍니다.

To encrypt:

To sign:

To encrypt and sign:

This will create binary files. To create ASCII files, just add the  option to the beginning of the command.

해독 및 서명 검증
Suppose that Larry has received an encrypted file. The command used to decrypt it is. This will decrypt the document and verify the signature (if there is one).

키 없이 암호화 및 해독
It is possible to encrypt files using passwords instead of keys. The password itself will function as the key — it will be used as a symmetric cipher. The file can be encrypted using ; decrypting uses the same command mentioned above.

GnuPG에서는 암호를 물어보고 암호 검증을 수행할 것입니다.

고급 기능
GnuPG에는 몇가지 고급 기능이 있습니다. 이를 찾아보려면 파일을 열어보십시오.

Uncomment the two lines above. With this modification, any time GnuPG needs to check a signature and does not find the public key on the local keyring it will contact the key server at keys.gnupg.net in an attempt to fetch the public key from the server.

Another nice command is. This will contact the key server defined in the configuration file and refresh the public keys in the local keyring from there. It is capable of searching for revoked keys, new IDs, and new signatures on keys. It is a wise idea to run this command once or twice a month; if a user revokes their key this can provide a notification the key can no longer be trusted.

전자메일 서명 정보
GnuPG를 전자메일과 함께 사용하는 95%의 목적은 보내는 메시지를 서명하고 암호화 하거나 서명/암호화 한 메시지를 읽는데 있습니다.

GnuPG로 전자 메일을 서명/암호화 하는데 두가지 방법이 있는데, 예전 방법과 최근의 방법입니다. 예전 방법대로는 메시지는 평문으로 나타나지만, 가능한 형식을 갖추지 않고, 첨부한 파일에 대해서는 서명 및 암호화를 하지 않습니다. 여기에 예전 방식대로의 메시지 서명 예를 들도록 하겠습니다:

HTML을 인식하는 기능을 갖춘 GUI 기반 전자메일 읽기 프로그램에게는 오늘날 이 방식대로 주고 받는 메시지가 썩 좋은 방식이 아닙니다.

이러한 추가 문제를 해결하기 위해 MIME(다중 목적 인터넷 메일 확장)을 만들었습니다. 이 규약을 통해 메일 보기 프로그램에 메시지 전체 내용을 서명했는지 암호화했는지를 알려주는 필드를 추가했습니다. 이에 대한 문제는 모든 메일 보기 프로그램이 이 기능을 지원하지 않는다는 점입니다. 일부 내용을 잘라버리기도 합니다(마이크로소프트 아웃룩은 이 기능을 지원하지 않기로 유명한 프로그램입니다).

Kgpg
Kgpg is a wonderful GUI for GnuPG. The main screen provides an area to paste text to sign or encrypt. The reverse is also true: ASCII armored text to be decrypted can also be entered.

Seahorse
Seahorse aims to be a GnuPG GUI interface for the GNOME desktop. The software has been evolving fast, but it still lacks many important features that can be found in Kgpg or the command line version.

KMail
If the  USE flag is set, KMail will be compiled with gpg support, and will be able to encrypt and decrypt inline PGP mails automatically as well as encrypting OpenPGP/MIME mails. To decrypt OpenPGP/MIME mails (which most users want) a GPG agent must be running.

로 이동하여 KMail을 제대로 설정했는지 확인하십시오. GpgME 기반 백엔드 목록을 볼 수 있어야 하고, OpenPGP 확인 상자에 표시할 수 있어야 합니다. 목록에는 있는데 회색으로 표시되어 있다면, 을 누르십시오. GpgME 기반 백엔드가 그래도 회색으로 표시되어 있다면, KMail이 제대로 동작하고 있는 것은 아닙니다.

KMail에서 이 기능을 쓸 수 없다면, 공식 KMail PGP 페이지 에서 더 많은 내용을 알아보십시오.

Claws-Mail
이 메일 클라이언트en 는 큰 용량의 메일함에 매우 빠르게 동작하며, GPG와 상당히 잘 동작하고, 메일 보기 프로그램에 바라는 세련된 모든 기능이 다 들어있습니다. 유일한 문제라면 예전 PGP 서명으로는 동작하지 않기 때문에 이런 메일을 받게 되면 서명을 직접 확인해야 합니다.

Claws-Mail에서 gpg 키를 사용하려면 으로 이동하십시오. 어떤 키를 사용할 지 선택했으면 대부분 사용자에게 기본 키를 넣어 보내야합니다.

몇가지 문제
I had some problems with photos in keys. Check the version you are using. If you have GnuPG 1.2.1-r1 and higher you are probably OK; older versions may have problems. Also most key servers do not like keys with photos, so you are better off not adding photos.

The latest versions of GnuPG seem to have broken, which was used to send all keys in a keyring to the public server.

여기에 없는 내용
is a very complex tool. It lets users do much more than what has been covered here. This document is for users who are new to GnuPG. For more information check out the official GnuPG website.

This article does not cover tools such as pgp4pine, gpgpine, evolution, and Windows GPG tools.

고마운 사람들
John Michael Ashley의 GnuPG 핸드북은 초보자들에게 굉장히 좋은 책입니다.

Swift(Sven Vermeulen)가 이 글을 다시 작성하라고 독촉해주었습니다.

Everyone in the team; you guys rock.

Tiago Serra는 절 개인 정보 분야를 다시 맏게 해주었습니다.