지피지4윈

From The Hidden Wiki
Jump to navigationJump to search

개요

지피지4윈(Gpg4win)은 공개 키 암호 방식을 사용하여 서명 및 암호화를 할 수 있는 윈도우즈용 소프트웨어이다. 피지피 호환인 그누 프라이버시 가드를 사용한다.


기본적인 방식은 자신의 공개 캐를 타인에게 공개하고, 개인 키는 자신만 가지고 있는 것이다. 그리고 상대방이 나의 공개 키로 암호화한 내용은 내가 가지고 있는 개인 키로만 해독할 수 있다. 또한 내가 개인 키로 암호화하거나 서명한 내용은 내가 공개한 공개 키로만 해독이 가능하기 때문에 다른 사람이 위조를 못 하고, 내가 올린 내용이라는 증명이 되는 것이다. 이런 것을 전자 서명이라고 한다.


Kleopatra에서 이메일처럼 텍스트로 된 문장을 암호화할 수도 있고, 그냥 파일을 암호화할 수도 있다. 전자 서명도 가능하며 체크섬(checksum)을 만들어 파일 무결성을 검증하는 용도로도 쓸 수 있다.


리눅스에서도 와인을 이용하여 실행이 가능하긴 한데 좀 오류가 난다. 리눅스에서는 그냥 지피지4유에스비를 사용하거나 지피지(GPG) 프런트-엔드인 씨호스(Seahorse)를 사용하자.

설치 및 인증서 생성

다운로드는 https://www.gpg4win.org/download.html 에서 받을 수 있으며 소스 코드가 공개되어있는 오픈 소스 소프트웨어이다. 설치할 때 설치 항목을 선택할 수 있는데 GPA(GNU Privacy Assistant)와 Claws-Mail(Claws Mail-User-Agent)은 체크가 해제되어 있다. 만약 사용할 거면 그 둘도 체크해서 설치한다. 설치 마지막에 Claws Mail을 기본 메일 클라이언트로 설정할 거냐고 물어보는데 '아니요'를 선택한다.


다 설치한 후 Kleopatra를 실행시킨다. 메뉴에서 File -> New Certificate을 선택하면 새로운 인증서를 만들 수 있다. 우선 Create a personal OpenPGP key pair를 선택한다. 이름(Name)과 이메일 주소(EMail)는 적당히 가짜로 써넣는다. 그리고 비밀번호(passphrase)를 입력하는데 오랜 시간이 지난 후에도 잊어먹지 않고 외우고 있어야 한다.(그래야 사용할 수 있다.) 그 후 공개 키(public key)와 개인 키(private key) 한 쌍의 인증서(certificate)가 생성된다.(개인 키를 이용해서 자동으로 공개 키를 생성한다.) 그리고 백업을 만들고 싶다면 Make a Backup Of YOur Key Pair를 누른다. 적당한 디렉터리를 선택 후 파일 이름을 적당히 써넣으면 확장자가 gpg인 파일을 생성한다. 인증서나 키는 확장자가 asc나 gpg인 파일로 생성된다. 메모장같은 텍스트 에디터로 열어보면 내용을 볼 수 있다.


Kleopatra 대신 GPA를 사용해도 된다. GPA도 Kleopatra처럼 키 관리자(Key Manager)이다. GPA를 처음 실행시키면 개인 키(private key)가 아직 없는데 만들거냐고 묻는데 Generate key now를 눌러서 키를 만든다. 이름은 5글자 이상 아무거나 적으면 되고, 이메일 주소는 대충 가짜 이메일 주소로 적으면 된다. 그리고 설치 중 백업 카피를 만들거냐고 묻는데 그냥 Create backup copy를 체크해서 만들면 된다. 그리고 Passphrase는 비밀번호(password)로 자신이 외울 수 있는 걸로 쓰면 된다. 너무 짧으면 8자리 이상이어야 한다는 경고 메시지가 뜨고, 숫자나 특수 문자가 포함되어 있지 않아도 경고 메시지가 뜬다. 그리고 비밀 키를 적당한 장소에 저장하면 asc 파일이 생성된다. 근데 파일이 생성되면서 GPA가 오류나서 꺼지지만 키는 정상적으로 생성되었으니 걱정할 필요없다.

자신의 공개 키 공개하기

Kleopatra를 실행시키면 자신이 만든 인증서(certificate)가 보일 것이다. 그 인증서를 선택한 후 마우스 오른쪽 버튼을 눌러 Export Certificates를 누르면 확장자가 asc인 파일이 만들어진다. 이 파일을 메모장으로 열어보면 다음과 같은 텍스트가 있다. 이 텍스트가 공개 키(public key)이다.


-----BEGIN PGP PUBLIC KEY BLOCK-----

Version: GnuPG v2


생략

-----END PGP PUBLIC KEY BLOCK-----


이 텍스트를 복사하여 적당한 게시판에 올려놓거나 이메일 등으로 다른 사람에게 전달하면 다른 사람이 이 공개 키로 문장이나 파일을 암호화하여 당신에게 보낼 것이다. 그럼 당신은 당신의 개인 키(private key)로 그 암호를 풀면 된다.

메시지 암호화 방법

누군가가 공개한 공개 키(public key)로 메시지를 암호화하는 방법을 설명하겠다.

일단 공개 키는 다음과 같이 생겼다.


-----BEGIN PGP PUBLIC KEY BLOCK-----

Version: GnuPG v2


생략

-----END PGP PUBLIC KEY BLOCK-----


게시판같은 곳에 공개 키가 올라와있을 경우 복사해서 메모장에 붙여넣기한다.(GnuPG v2 공개 키만 되고, GnuPG v1 공개 키는 안 된다. GnuPG v1 공개 키도 된다.) 그리고 저장할 때 확장자를 asc로 저장한다. 그리고 지피지4윈의 Kleopatra를 실행시킨 후 Import Certificates를 해서 공개 키 파일(.asc)을 불러온다. 그 후 메모장같은 곳에 자신이 암호화하고자 하는 메시지를 쓴 후 '복사하기'를 하여 클립보드(Clipboard)에 저장한다.(글자들을 마우스로 선택한 후 마우스 오른쪽 버튼을 눌러서 복사하기를 누르면 된다.) 그 후 Kleopatra의 Clipboard를 클릭하고 Encrypt를 클릭한 후 아까 그 공개 키로 암호화한다. 그리고 메모장같은 곳에 붙여넣기하면 다음과 같은 형태로 뜬다.


-----BEGIN PGP MESSAGE-----

Version: GnuPG v2


생략

-----END PGP MESSAGE-----


이제 이 메시지를 공개 키를 올린 사람에게 전달해주면 그 사람은 자신의 개인 키(private key)로 그 메시지를 해독해서 볼 수 있다.