기사 공유하기

OTR(Off-the-record)[footnote]디지털보안가이드: 통신 보안 – 종단간 암호화와 안전한 통신 참고[/footnote]은 인스턴트 메시지나 채팅 프로그램의 이용자가 비밀스러운 대화를 갖도록 해주는 프로토콜이다. 이 가이드에서는, 윈도우 PC용 자유/오픈소스 인스턴트 메시징 프로그램인 피전(Pidgin)을 이용하여 OTR을 어떻게 사용하는지 배운다.

피전

[box type=”info”]

  • 다운로드 위치
  • 컴퓨터 요구사양: 인터넷 연결, 윈도우 XP 이상 컴퓨터, XMPP(Jabber) 계정[footnote]XMPP 계정이 필요하다면, xmpp.net의 Public XMPP Server Directory에서 등록할 수 있는 무료 서버와 등록 방법(영문)을 제공한다.[/footnote]
  • 이 가이드에서 사용한 버전: 윈도우 7 얼티메이트; 피전(Pidgin) 2.10.9, 피전-otr(pidgin-otr) 4.0.0-1
  • 라이선스: 자유 소프트웨어; 자유 소프트웨어; 라이선스 혼합
  • 참고 자료: 피전 – Support Info
  • 수준: 초보자
  • 소요시간: 20분

[/box]

OTR이란 무엇인가?

OTR은 사람들이 자신이 원하는 메시징 프로그램을 이용해서 비밀스러운 대화를 나눌 수 있도록 해주는 프로토콜이다. OTR은 아래와 같이 보안을 제공한다.

  • 대화의 암호화
  • 대화 상대방이 진짜 그 사람인지 확인하는 방법의 제공
  • 대화에 접근하지 못하도록 서버에 로그를 남기지 않도록 함

암호화나 대화자 인증 기능이 없이 단지 채팅 로그를 남기지 않는 “구글의 채팅 기록 해제(Off the record)”와 혼동해서는 안 된다. 윈도에서 OTR을 이용하는 몇 가지 방법이 있지만, 가장 일관되고 사용하기 쉬운 프로그램은 피전-otr(pidgin-otr) 플러그인을 포함한 피전(Pidgin) 채팅 프로그램이다.

[box type=”tip”]인스턴트 메시징 프로그램인 피전은 자동으로 대화를 기록하도록 기본 설정되어 있다. 그러나 당신은 이 기능을 끌 수 있다. 다만, 당신과 채팅하고 있는 사람까지는 통제할 수 없다. 즉, 당신이 대화 기록을 껐어도, 상대방은 그것을 기록하거나 스크린샷으로 남길 수 있다.[/box]

왜 피전과 OTR을 이용해야 하는가?

구글 행아웃이나 페이스북 채팅으로 대화를 할 때, 그 대화는 HTTPS로 암호화된다. 즉, 대화의 콘텐츠는 전송 중에 해커와 제3자로부터 보호된다. 그러나 구글이나 페이스북으로부터 보호되지는 않는다. 그들은 당신 대화의 열쇠를 가지고 있으며, 그것을 정보기관에 넘길 수 있다.

피전을 설치한 후, 당신은 여러 개의 계정으로 동시에 로그인할 수 있다. 예를 들어, 구글 행아웃, 페이스북, XMPP를 동시에 이용할 수 있다. 또한, 피전은 OTR 없이도 이런 프로그램을 통해 대화할 수 있도록 한다. OTR은 대화 쌍방이 그것을 이용해야만 작동하며, 상대방이 OTR을 설치하지 않았어도 피전을 이용해서 여전히 대화를 나눌 수 있다.

[box type=”tip”]피전을 이용하기 전에 기존의 인스턴트 메시지 계정을 갖고 있어야 하며, 피전에 등록해야 한다. 예를 들어 구글 계정을 갖고 있으면, 피전으로 구글 토크(Google Talk) 서비스를 이용할 수 있다. 기존의 인스턴트 메시지 계정의 상세 정보가 피전에서 등록하고 접근하는 데 이용된다.

피전은 다음과 같은 인스턴트 메시지 서비스를 지원한다. AIM, 봉주르(Bonjour), 가두가두(Gadu-Gadu), 구글 토크, 그룹와이즈(Groupwise), ICQ, IRC, MSN, 믹시트(MXit), 마이스페이스IM(MySpaceIM), 실크(SILC), 심플(SIMPLE), 세임타임(Sametime), 야후!, 제퍼(Zephyr), 그리고 XMPP 메시징 프로토콜로 운영되는 모든 인스턴트 메시지 프로그램.[footnote]예를 들어 짓시(Jit.si)[/footnote]
[/box]

또한, 피전은 당신과 대화하고 있는 사람이 진짜 그 사람인지, 아니면 중간자 공격[footnote]Man-in-the-middle attack; 제3자가 대화자를 가장하여 공격하는 것.[/footnote]을 받고 있는 것인지 확인하기 위해, 외부적(out-of-band) 확인 기능을 제공한다. 모든 대화에 대해 당신과 상대방의 키 지문을 보여주는 기능이 있다. “키 지문”은 “342e 2309 bd20 0912 ff10 6c63 2192 1928”과 같은 일련의 문자인데, 긴 공개키를 검증하는 데 이용된다. 트위터 DM이나 이메일과 같은 다른 채널로 당신의 지문을 교환하여, 다른 누군가 대화에 몰래 끼어드는지 확인할 수 있다.

한계: 언제 피전 + OTR을 쓰면 안 되는가?

프로그램이나 기술이 외부의 공격에 취약할 때를 의미하는 기술자들끼리 쓰는 표현이 있는데, “커다란 공격 표면(attack surface)을 가지고 있다”고 말한다. 피전은 큰 공격 표면을 가지고 있다. 피전은 복잡한 프로그램인데, 보안을 최우선 고려사항으로 두고 만들어진 것이 아니다.

피전은 분명 버그를 가지고 있고, 그중 일부는 정부나 큰 기업들이 컴퓨터에 침투하기 위해 이용될 수 있다. 대화를 암호화하기 위해 피전을 이용하는 것은 모든 사람의 인터넷 대화를 감시하려는 무차별적인 저인망식 감시를 막는데는 효과적이지만, 당신이 (정부와 같이) 자원이 많은 공격자에 의해 개인적으로 목표물이 되었다고 생각한다면, ‘PGP 암호화된 이메일’과 같은 더 강력한 수단을 고려해야 한다.

피전을 설치하고 사용하기

그렇다면 피전을 설치하고 사용하는 방법에 대해 알아보자.

피전 받기

피전 다운로드 페이지에서 설치파일을 내려받을 수 있다.

보안 메신저 OTR + Pidgin #1

녹색 ‘Download Now’ 버튼을 클릭하지 마라. 왜냐하면, 다른 설치 파일을 선택할 수 있다. 피전의 기본 설치 파일은 작은데, 모든 정보를 포함한 것이 아니라, 설치할 때 다시 필요한 파일을 내려받기 때문이다. 이 방법이 때때로 실패할 수도 있으므로 모든 필요한 설치 자료를 가지고 있는 “오프라인 설치파일”을 이용하는 것이 좋다.

따라서 “오프라인 설치파일(offline installer)” 링크를 클릭하고, 소스포지(Sourceforge) 페이지로 이동하면 몇 초 뒤에 작은 팝업이 뜨면서 파일을 저장할 것인지 물을 것이다.

[box type=”error”]
피전의 다운로드 페이지는 “HTTPS”를 이용하며 그래서 공격으로부터 상대적으로 안전하지만, 윈도우 버전 피전을 다운로드하도록 당신이 이동하는 웹사이트는 현재 소스포지(Sourceforge)이며, 그곳은 암호화되지 않은 “HTTP”를 이용하고 있으므로 보호되지 않는다. 즉, 당신이 내려받은 소프트웨어가 내려받기 전에 공격당했을 수도 있다.
[/box]

이러한 위험은 대부분 당신을 개인적으로 감시하려고 지역의 인터넷 인프라에 접근하는 누군가, 예를 들어 악의적인 핫스팟 제공자와 같은 자들에 의해서, 혹은 감염된 소프트웨어를 많은 이용자에게 배포하려는 정부에 의해 발생한다. “HTTPS 에브리웨어” 확장 프로그램은 소스포지의 다운로드 URL을 HTTPS로 다시 써주기 때문에, 어떤 소프트웨어를 내려받기 전에 “HTTPS 에브리웨어” 설치를 권고한다.

또한, 우리의 경험으로는, 소스포지는 종종 이용자들이 원하지 않는 프로그램을 설치하도록 속이는, 혼동을 유발하는 전체 페이지 광고를 다운로드 페이지에 가지고 있다. 이러한 혼동을 유발하는 광고를 피하기 위해서는 다른 소프트웨어 설치 전에 광고 차단 프로그램을 설치할 수 있다. 보호되지 않는 웹사이트에서 파일을 내려받기 전에 당신의 위협 모델을 생각해야 한다.

어떤 브라우저든, 진행하기 전에 우선 파일을 저장하는 것이 가장 좋다. “저장(Save)” 버튼을 클릭한다. 대부분 브라우저는 기본 설정으로 내려받은 파일을 다운로드 폴더에 저장한다.

OTR 받기

OTR 다운로드 페이지에서 피전의 OTR 플러그인인 피전-otr 설치파일을 내려받을 수 있다.

보안 메신저 OTR + Pidgin #2

“Downloads” 탭을 클릭하면, 이 페이지의 다운로드 섹션으로 이동한다. “Win32 installer for Pidgin” 링크를 클릭한다.

보안 메신저 OTR + Pidgin #3

어떤 브라우저든, 진행하기 전에 우선 파일을 저장하는 것이 가장 좋다. “저장(Save)” 버튼을 클릭한다. 대부분 브라우저는 기본 설정으로 내려받은 파일을 다운로드 폴더에 저장한다.

피전 설치

윈도우 탐색기를 열어 pidgin-2.10.9-offline.exe를 더블클릭하면, 이 프로그램을 설치할지 물을 것이다. “(Yes)” 버튼 클릭. 언어를 선택하라는 작은 창이 열린다. 한국어는 지원하지 않는다. “OK” 버튼 클릭.

보안 메신저 OTR + Pidgin #4

설치 과정 개요를 보여주는 창이 뜬다. “Next” 버튼 클릭.

보안 메신저 OTR + Pidgin #5

이제 라이선스 개요를 보여준다. “Next” 버튼 클릭.

보안 메신저 OTR + Pidgin #6

이제 어떠한 요소들을 설치할 지를 보여준다. 설정을 변경하지 말고, “Next” 버튼 클릭.

보안 메신저 OTR + Pidgin #7

피전이 어디에 설치되는지 보여준다. 변경하지 말고, “Next” 버튼 클릭.

보안 메신저 OTR + Pidgin #8

설치 과정을 보여주는 텍스트가 스크롤 된다. “Completed”가 나오면, “Next” 버튼 클릭.

보안 메신저 OTR + Pidgin #9

이제 피전 설치의 마지막 창이다. “종료(Finish)” 버튼 클릭.

보안 메신저 OTR + Pidgin #10

피전-otr 설치

윈도우 탐색기로 돌아와 pidgin-otr-4.0.0-1.exe를 더블클릭한다. 이 프로그램을 설치할 것인지 물으면, “Yes” 버튼 클릭. 설치 과정에 대한 간략한 개요를 보여준다. “Next” 버튼 클릭.

보안 메신저 OTR + Pidgin #11

라이선스 개요가 나온다. “동의(I Agree)” 버튼 클릭.

보안 메신저 OTR + Pidgin #12

피전-otr이 어디에 설치될지 보여준다. 이를 변경하지 말고, “설치(Install)” 버튼 클릭.

보안 메신저 OTR + Pidgin #13

마지막으로 마지막 창이 보이면, “종료(Finish)” 버튼 클릭.

보안 메신저 OTR + Pidgin #14

피전 설정

시작 메뉴로 가서, 윈도우 아이콘 클릭. 메뉴에서 피전을 선택한다.

보안 메신저 OTR + Pidgin #15

계정 추가

처음 피전이 실행되면, 아래와 같은 환영 창이 뜨면서 계정을 추가할 수 있도록 한다. 아직 설정한 계정이 없으면 “추가(Add)” 버튼을 누른다.

보안 메신저 OTR + Pidgin #16

이제 “계정 추가(Add Account)” 창이 뜰 것이다. 피전은 많은 채팅 프로그램과 작동할 수 있지만, 우리는 XMPP[footnote]이전에는 재버(Jabber)라고 알려졌다.[/footnote]에 초점을 맞출 것이다.

  • 프로토콜 항목에는 “XMPP” 선택.
  • 아이디(Username) 항목에는 XMPP 아이디 입력.
  • 도메인 항목에는 XMPP 계정의 도메인 입력.
  • 비밀번호 항목에는 XMPP 비밀번호 입력.

“비밀번호 기억하기(Remember password)” 박스에 체크하면, 당신의 계정에 쉽게 접근할 수 있다. 그러나 이것을 체크하면, 당신의 비밀번호가 컴퓨터에 저장되고, 당신의 컴퓨터를 쓰게 된 다른 사람도 이에 접근할 수 있음을 유의하라.

이것이 우려된다면, 이 박스를 체크하지 않는 것이 좋다. 그럼 피전을 시작할 때마다 XMPP 비밀번호를 입력해야 한다.

보안 메신저 OTR + Pidgin #17

친구 추가하기

이제 채팅할 친구를 추가한다. “친구들(Buddies)” 메뉴에서 “친구 추가(Add Buddy)”를 선택한다. “친구 추가(Add Buddy)” 창이 열린다.

보안 메신저 OTR + Pidgin #18

“친구 추가(Add Buddy)” 창에서, 당신이 채팅하고 싶은 사람의 아이디(username)를 입력한다. 다른 이용자가 같은 서버에 있을 필요는 없지만, 같은 프로토콜(예를 들어, XMPP)을 사용해야 한다.

“친구의 아이디(Buddy’s username)” 항목에서, 친구의 아이디와 도메인 네임을 입력한다. 이는 이메일 주소처럼 보인다.

“(선택)별명((Optional)Alias)” 항목에서, 당신의 친구를 뜻하는 아무 이름이나 선택해서 입력한다. 꼭 넣어야 하는 것은 아니지만, 대화 상대방의 XMPP 계정이 기억하기 힘들 경우 도움이 된다. “추가(Add)” 버튼 클릭.

보안 메신저 OTR + Pidgin #19

“추가(Add)” 버튼을 클릭하면, 보리스는 당신에게 자신을 추가할 권한을 줄 것인지 묻는 메시지를 받게 될 것이다. 보리스가 이를 승인하면, 그는 당신의 계정을 추가하고, 당신 역시 같은 요청을 받는다. “허가(authorize)” 버튼을 클릭한다.

보안 메신저 OTR + Pidgin #20

OTR 플러그인 설정

이제 안전하게 대화하기 위해 OTR 플러그인을 설정해보자. “도구(Tools)” 메뉴를 클릭하고 “플러그인(Plugins)”을 선택한다.

보안 메신저 OTR + Pidgin #21

“비밀 메시지(Off-the-Record Messaging)”까지 스크롤을 내려서 박스에 체크한다. “비밀 메시지(Off-the-Record Messaging)” 항목을 클릭하고 “플러그인 설정(Configure Plugin)” 버튼을 클릭한다.

보안 메신저 OTR + Pidgin #22

“비밀 메시지(Off-the-Record Messaging)” 설정창이 보일 것이다. “현재 키가 없습니다.(No key present.)”가 보일 것이다. “생성(Generate)” 버튼을 클릭한다.

보안 메신저 OTR + Pidgin #23

작은 창이 열리고 키를 생성한다. 이것이 끝나면, “OK” 버튼을 클릭한다.

보안 메신저 OTR + Pidgin #33

새로운 정보가 보일 것이다. 8글자씩 5개 그룹으로 나뉜, 40자 텍스트 열이다. 이것이 OTR 지문이다. “닫음(Close)” 버튼을 클릭한다.

보안 메신저 OTR + Pidgin #25

플러그인 창의 “닫음(Close)” 버튼을 클릭한다.

안전하게 채팅하기

이제 보리스와 채팅할 수 있다. 둘 다 메시지를 보내고 받을 수 있다. 그러나, 아직 안전하게 채팅할 수 있는 것은 아니다. XMPP 서버에 연결되어 있어도, 당신과 보리스 사이의 연결을 몰래 엿보는 것이 가능하다.

채팅창을 보면 오른쪽 아래에 빨간색으로 “비밀 아님(Not private)”이라고 되어 있을 것이다. “비밀 아님(Not private)” 버튼을 클릭한다.

보안 메신저 OTR + Pidgin #26

메뉴가 열리면 “친구 승인(Authenticate buddy)”을 선택한다.

보안 메신저 OTR + Pidgin #27

창이 열리고 “친구를 어떻게 승인하시겠습니까?(How would you like to authenticate your buddy?)”라고 묻는다. 3가지 선택지가 있다.

공유된 비밀

공유된 비밀은 당신과 대화 상대방이 미리 동의한, 한 줄의 텍스트이다. 상대방과 직접 만나서 이를 공유해야 하며, 이메일이나 스카이프와 같은 안전하지 않은 채널로 교환하지 않아야 한다. 당신과 친구는 함께 이 텍스트를 입력한다. “승인(Authenticate)” 버튼을 누른다.

보안 메신저 OTR + Pidgin #28

공유된 비밀 인증은 당신과 친구가 나중에 채팅하기로 이미 약속했지만, 당신의 컴퓨터에서 OTR 지문을 생성하지 않았을 경우 유용하다.

지문 확인

지문 확인은 당신이 친구의 지문을 가지고 있고 현재 피전과 연결되어 있을 때 유용하다. 당신의 친구가 컴퓨터를 바꾸었거나 새로운 지문을 생성했다면 사용할 수 없다. 당신이 받은 지문이 스크린 상의 지문과 일치한다면, “가지고 있음(I have)”을 선택하고 “승인(Authenticate)” 버튼을 클릭한다.

보안 메신저 OTR + Pidgin #29

질의와 응답

질의와 응답 확인은 당신이 친구와 공유된 비밀이나 지문을 공유하지 못했을 때 유용하다. 이 방법은 당신과 친구가 함께 가지고 있는 어떤 것(예를 들어, 어떤 행사에 함께 참여했다든가)이 있을 때, 그것을 기반으로 인증한다.

당신이 묻고 싶은 질문을 입력한다. 상대편이 쉽게 추측할 수 있을 정도로 너무 간단하게 하면 안 된다. 그렇다고 불가능한 질문을 던져서도 안 된다. “미네아폴리스에서 저녁 먹으러 어디에 갔었지?”와 같은 것은 좋은 질문이다.

답변이 정확하게 일치해야 한다. 질문에 대한 답을 선택할 때 유념해야 할 것이 있다. 대소문자를 구별해야 한다. 그래서 (예를 들어, use capitals, lower case)와 같이 괄호로 알려줄 필요도 있다.
질문과 답을 입력하고 “승인(Authenticate)” 버튼을 클릭한다.

보안 메신저 OTR + Pidgin #30

당신의 친구는 질문이 보여지는 창이 열리고 답변을 요구받을 것이다. 친구가 답변하고 “승인(Authenticate)” 버튼을 클릭한다. 그러면, 승인이 성공적인지 알려주는 메시지를 받을 것이다.

보안 메신저 OTR + Pidgin #31

보안 메신저 OTR + Pidgin #32

친구가 승인 절차를 마치면, 승인이 성공적임을 알려주는 창이 뜰 것이다.

보안 메신저 OTR + Pidgin #24

친구 역시 당신의 계정을 확인해야, 쌍방이 안전하게 대화할 수 있다. 아래는 Akiko와 Boris에게 어떻게 보이는지를 보여준다. 채팅창의 오른쪽 아래에 녹색 “비밀(Private)” 아이콘이 보일 것이다.

보안 메신저 OTR + Pidgin #34

다른 소프트웨어로 작업하기

상대방이 진짜임을 확인하는 방식은 짓시, 피전, 아디움(Adium), 코피트(Kopete)와 같은 서로 다른 채팅 소프트웨어 사이에서도 작동해야 한다. XMPP와 OTR로 채팅하기 위해 같은 소프트웨어를 쓸 필요는 없다.

그러나 때때로 소프트웨어 에러가 발생하기도 한다. 맥 OS X의 채팅 소프트웨어인 아디움은 질문과 답변 인증 과정에서 에러가 발생한다. 질문과 답변 인증을 할 때 인증에 실패하는 경우, 상대방이 아디움을 쓰고 있는지 확인하고 다른 인증 방법을 사용해야 한다.

택티컬 테크 컬렉티브(Tactical Tech Collective)는 피전과 함께, 짓시를 추천한다. 짓시는 XMPP 프로토콜을 사용하는 다른 피전 이용자와도 안전하게 인스턴트 메시지를 교환할 수 있을 뿐만 아니라, 다른 짓시 이용자와 안전한 음성 및 영상 통화도 가능하다. 윈도용, GNU/리눅스용, 맥 OS용이 있다.[footnote]짓시에 대한 자세한 사용법은 ‘Security-in-a-box’(영문)를 참고하라.[/footnote]

OTR을 지원하는 또 다른 윈도용, 다중 프로토콜 인스턴트 메시지 프로그램으로는 미란다(Miranda IM)가 있다. 맥에서는 Adium을 이용할 수 있다.

[box type=”note”]이 글은 EFF의 How to: Use OTR for Windows(2015년 2월 10일 마지막 업데이트)를 기초로 한 것입니다. 또한, 택티컬 테크 컬렉티브의 Security-in-a-box – ‘PIDGIN WITH OTR FOR WINDOWS – SECURE INSTANT MESSAGING’(2014년 8월 8일 마지막 업데이트) 역시 참고하였습니다.[/box]

관련 글