제17장 첨부파일 암호화는 어떻게 하는가? / 제18장 파일 서명 암호화
제17장 첨부파일 암호화는 어떻게 하는가?
메일본문과 첨부파일을 함께 암호화하여 발송하고자 하면 첨부파일을 암호화 하여야 한다. 사용하는 이메일 프로그램에 GnuPG가 통합된 경우에는 첨부파일도 이메일 본문과 같이 취급한다. 따라서 서명 추가, 암호화가 모두 가능하다
GpgOL을 이용하는 경우 첨부파일에 대한 암호화와 서명추가는 동일하게 이루어진다. 이메일 프로그램에 암호화 프로그램이 통합되지 않은 경우에는 첨부파일이 평문으로 발송되는 경우가 있으니 주의하여야 한다.
이 경우에는 첨부파일을 별도로 암호화한 다음 이메일에 첨부파일로 추가하면 된다. 이 절차는 18장에서 설명하는 파일 암호화와 동일하다.
제18장 파일 서명 암호화
Gpg4win을 이용하면 이메일뿐만 아니라 일반 파일을 대상으로 서명 작업을 수행하고 암호화 작업을 수행할 수 있다. 기본적인 원리는 동일하다. 즉,
- 비공개 인증서를 이용해 파일 내용이 변경되지 않았음을 확인할 수 있도록 서명 작업을 수행한다.
- 서명 작업을 마친 파일을 수신자의 공개인증서로 암호화 작업을 수행한다.
GpgEX을 이용하면 윈도우 탐색기로 S/MIME방식과 OpenPGP방식으로 파일 서명과 암호작업을 수행할 수 있다. 이장에서 그 절차를 설명하고자 한다. 이메일 첨부파일로 어떤 파일을 보내려고 하는 경우 GpgOL프로그램은 자동으로 메일과 첨부파일에 대한 서명과 암호화 작업을 동시에 수행할 수 있다. 사용자는 별도 작업을 수행할 필요가 없다.
18.1 파일 서명과 점검 작업
파일에 대해 서명을 하는 이유는 파일을 암호화하는 것이 아니라 파일의 내용을 남이 변경하면 그 사실을 수신자가 자동으로 알아낼 수 있도록 확인기능을 부여(즉 진실성 확인)하는데 있다.
윈도우 탐색기의 context 메뉴에서 GpgEX 를 이용하여 암호화하려는 파일을 선택한다. 파일을 한 개, 또는 여러 개 또는 폴더 전체를 대상으로 마우스 오른쪽 버튼을 누른 다음 context menu를 선택한다.
그러면 위와 같이 Sign and encrypt을 선택할 수 있는 선택상자가 나온다.
다음과 같은 화면에서 sign라디오 버튼을 선택한다.
필요하면, Output as text (ASCII armor)를 옵션으로 선택할 수 있다. 서명파일은 파일 타입이 .asc나 .pem으로 끝나도록 되어있다. 이 파일을 일반 텍스트 에디터로 열어보면 내용을 알 수 없도록 난수와 같은 숫자와 문자로 되어 있다. 만일 ASCII armor 옵션을 선택하지 않으면 파일 타입이 .sig나 .p7s가 된다. 이 파일은 바이너리파일이므로 텍스트에디터로 그 내용을 화면에 출력해 볼 수 없다.
[Next]버튼을 누르면 다음 대화상자가 나오는데 서명에 사용할 비공개 인증서를 선택한다.
이제 [Sign] 버튼을 선택하여 서명 작업을 수행한다.
PIN 대화상자에서 암호 문구를 입력한다. 서명 작업이 정상적으로 완료가 되면 다음과 같은 대화상자가 화면에 출력된다.
이제 서명파일 작성 작업이 성공한 것을 화면에서 확인할 수 있다.
서명 파일은 항상 별도로 만든다. 다시 말하면 서명 대상 파일은 변경사항이 없고 새로운 파일이 서명파일로 추가된다. 나중에 서명을 확인하려면 원본 파일과 서명파일 두 개가 모두 필요하다. 다름 예제에서 보듯 OpenPGP 방식과 S/MIME 방식으로 만든 서명파일의 파일 타입이 서로 다름을 확인할 수 있다.
<filebname>.txt는 원본파일인 경우
OpenPGP인 경우에 <filename>.txt.sig 또는
<<filename>.txt.asc ( text/ASCII-armor옵션 사용 시)이 서명파일이 되고
S/MIME인 경우에는 <filename>.txt.p7s 또는 <filename>.txt.pem ( text/ASCII-armor 옵션 사용 시)이 서명파일이 된다.
서명파일 확인 작업
내가 수신한 파일이 최초 작성자가 작성한 그대로, 전달과정에서 내용 변경이 없이 내게 전달되었는지를 서명파일을 이용해 점검해 보자.
파일이 전달과정에서 변경되지 않고 진실한지 확인하기 위해서 .sig나 .asc, .p7s, .pem과 같은 서명파일과 원본파일이 동일한 파일폴더에 있어야 한다. 먼저 서명파일을 선택한 다음
Decrypt & check을 선택한다.
그러면 다음과 같은 대화상자가 화면에 출력된다.
그러면 서명파일과 서명파일의 대상이 되는 원본 텍스트파일이 자동으로 선택된다. Decrypt/Verify를 선택한다. 그러면 다음과 같이 성공한 경우 대화상자가 화면에 나온다.
즉 서명 내용이 원본파일과 동일하다는 내용이 화면에 출력되었으므로 파일이 변형되지 않았음을 알 수 있다. 만일 인터넷으로 전달되는 과정에서 변형된 것이면 다음과 같은 화면이 나온다.