오프 더 레코드 메시징
오프 더 레코드 메시징(영어: Off-the-record messaging, OTR)은 인스턴트 메신저 대화에 암호화를 제공하는 암호 프로토콜이다. OTR은 128비트 키 길이의 AES 대칭 키 암호, 1536비트 그룹 크기의 디피-헬먼 키 교환, 그리고 SHA-1 해시 함수를 조합하여 사용한다. OTR은 인증 및 암호화 외에도 전방향 보안과 가변적 암호화를 제공한다.
이 프로토콜의 주된 동기는 대화 내용을 비밀로 유지하면서 대화 참여자들에게 부인 가능 인증을 제공하는 것이었다. 이는 현실 세계의 사적인 대화나 저널리즘의 비보도(오프 더 레코드)와 유사하다. 이는 나중에 통신 사건이나 참여자의 신원을 검증할 수 있는 기록으로 사용될 수 있는 결과물을 생성하는 암호화 도구들과는 대조적이다. 최초의 도입 논문 제목은 "Off-the-Record Communication, or, Why Not To Use PGP"였다.[1]
OTR 프로토콜은 암호학자 이안 골드버그와 니키타 보리소프가 설계하여 2004년 10월 26일에 발표했다.[2] 이들은 프로토콜을 구현하려는 인스턴트 메신저 클라이언트 개발자들을 지원하기 위해 클라이언트 라이브러리를 제공한다. 피진 및 Kopete 플러그인이 존재하여 피진이나 Kopete가 지원하는 모든 IM 프로토콜에서 OTR을 사용할 수 있으며, 일반적인 비암호화 대화를 방해하지 않으면서 OTR이 활성화된 상대와 세션을 시작하는 자동 감지 기능을 제공한다. 프로토콜 버전 4[3]는 소피아 셀리가 이끄는 팀에 의해 2017년[4]부터 개발 중이며, 닉 웅거와 이안 골드버그의 검토를 거쳤다. 이 버전은 온라인 및 오프라인 부인 방지 기능을 제공하고, 암호화 프리미티브를 업데이트하며, 비순차적 전달 및 비동기 통신을 지원하는 것을 목표로 한다.
2014년 12월 28일 슈피겔 기사에 게재된 기밀 NSA 문서에 따르면, NSA가 두 사용자 간의 대화를 가로챘으나 사용자들이 OTR 프로토콜을 사용하고 있었기 때문에 메시지를 해독할 수 없었다.[5]
역사
[편집]OTR은 2004년 니키타 보리소프, 이안 에이브럼 골드버그, 에릭 A. 브루어에 의해 "전자 사회의 프라이버시 워크숍"(WPES)에서 OpenPGP와 S/MIME 시스템의 개선책으로 제시되었다.[1] 참조 구현의 첫 버전인 0.8.0은 2004년 11월 21일에 발표되었다. 2005년에는 마리오 디 라이몬도, 로사리오 젠나로, 휴고 크라브칙이 여러 취약점을 지적하고 적절한 수정을 제안한 분석 결과가 발표되었는데, 특히 키 교환의 결함이 포함되었다.[6] 그 결과, 제안된 수정 사항을 구현하고 추가로 공개 키를 숨기는 OTR 프로토콜 버전 2가 2005년에 발표되었다. 또한, 메시지 크기가 제한된 채팅 시스템에 대응하기 위해 OTR 메시지를 조각화하는 기능이 도입되었고, 중간자 공격에 대한 더 간단한 검증 방법이 구현되었다.[7]
2007년 올리비에 고파르트는 ejabberd용 mod_otr[8]을 발표하여 키 지문을 확인하지 않는 OTR 사용자에게 중간자 공격을 수행할 수 있게 했다. OTR 개발자들은 libotr에 사회주의 백만장자 프로토콜 구현을 도입하여 이 공격에 대응했다. 키 체크섬을 비교하는 대신, 상대적으로 낮은 엔트로피로도 사용 가능한 임의의 공유 비밀 지식을 활용할 수 있게 되었다.[9]
프로토콜 버전 3은 2012년에 발표되었다. 동일한 사용자 주소에 여러 채팅 클라이언트가 동시에 로그인했을 때 세션이 반복적으로 재수립되는 문제를 해결하기 위해, 버전 3에서는 송수신 클라이언트 인스턴스에 대한 더 정확한 식별 레이블이 도입되었다. 또한 다른 데이터 채널에 사용할 수 있는 추가 키 협상 기능이 포함되었다.[10]
여러 참여자가 있는 대화를 지원하기 위한 몇 가지 솔루션이 제안되었다. 2007년 장 비안, 렘지 세커, 우미트 토팔로글루가 제안한 방식은 한 참여자의 시스템을 "가상 서버"로 사용한다.[11] 2009년에 발표된 "다자간 오프 더 레코드 메시징"(mpOTR) 방식은 중앙 관리 호스트 없이 작동하며, 이안 골드버그 등에 의해 Cryptocat에 도입되었다.[12]
2013년에는 OTR 메시징과 Silent Circle Instant Messaging Protocol(SCIMP)을 기반으로 한 시그널 프로토콜이 도입되었다. 이는 주요 신기능으로 비동기 통신("오프라인 메시지") 지원을 가져왔으며, 메시지 순서 뒤바뀜에 대한 더 나은 복원력과 다자간 대화에 대한 더 간편한 지원을 제공했다.[13] 2015년 Conversations라는 안드로이드 XMPP 클라이언트에서 도입된 OMEMO는 시그널에서 사용되는 더블 래칫 알고리즘을 인스턴트 메시징 프로토콜인 XMPP("Jabber")에 통합하고 파일 전송 암호화도 가능하게 했다. 2015년 가을에는 표준화를 위해 XMPP Standards Foundation에 제출되었다.[14][15]
현재 프로토콜 버전 4가 설계되었다. 이는 소피아 셀리와 올라 비니에 의해 PETS2018에서 발표되었다.[16]
구현
[편집]OTR은 PGP, GnuPG, X.509(S/MIME)와 같은 일반적인 공개 키 암호화 제품군이 제공하는 기능인 암호화 및 인증 외에도 다음과 같은 덜 일반적인 기능들을 제공한다.
- 전방향 보안
- 메시지는 디피-헬먼 키 교환 프로토콜을 사용하여 협상된 임시 메시지당 AES 키로만 암호화된다. 장기 암호화 키가 유출되더라도 공격자가 암호문을 보유하고 있더라도 이전의 대화 내용은 유출되지 않는다.
- 부인 가능 인증
- 대화의 메시지에는 디지털 서명이 포함되지 않으며, 대화가 완료된 후에는 누구나 대화 참여자 중 한 명으로부터 온 것처럼 메시지를 위조할 수 있다. 이는 특정 메시지가 특정 사람으로부터 왔음을 증명하는 것을 불가능하게 만든다. 대화 내에서는 수신자가 메시지가 자신이 식별한 사람으로부터 오고 있음을 확신할 수 있다.
인증
[편집]OTR 3.1부터 프로토콜은 사회주의 백만장자 프로토콜을 통한 공유 비밀을 사용한 사용자의 상호 인증을 지원한다. 이 기능을 통해 사용자는 외부 채널을 통해 공개 키 지문을 수동으로 비교하는 불편함 없이 상대방의 신원을 확인하고 중간자 공격을 피할 수 있다.
한계
[편집]프로토콜의 제한으로 인해 OTR은 2009년 기준2009년 기준[update] 다자간 그룹 채팅을 지원하지 않으나[17] 향후 구현될 수 있다. 프로토콜 사양 버전 3[10]부터는 인증된 키 교환 중에 다른 채널을 통한 보안 통신(예: 암호화된 파일 전송)에 사용할 수 있는 추가 대칭 키가 도출된다. 암호화된 오디오나 비디오 지원은 계획되어 있지 않다. (그 용도로는 ZRTP를 사용하는 SRTP가 존재한다.) 다자간 오프 더 레코드 메시징(mpOTR) 프로토콜을 제작하기 위한 프로젝트가 Cryptocat, eQualitie, 그리고 이안 골드버그를 포함한 다른 기여자들에 의해 조직되었다.[12][18]
OTR 프로토콜 v3(libotr 4.0.0)부터 플러그인은 여러 장소에 로그인한 동일한 친구와의 다중 OTR 대화를 지원한다.[19]
클라이언트 지원
[편집]| 개발자 | OTR 개발 팀 |
|---|---|
| 안정화 버전 | 4.1.1
/ 2016년 3월 9일 |
| 프로그래밍 언어 | C |
| 운영 체제 | 크로스 플랫폼 |
| 종류 | 소프트웨어 라이브러리 |
| 라이선스 | LGPL v2.1+[20] |
| 웹사이트 | otr |
내장 지원 (프로젝트 개발자 지원)
[편집]이 클라이언트들은 별도의 설정 없이 오프 더 레코드 메시징을 지원한다(불완전한 목록).
- Adium (OS X)
- Blink SIP 클라이언트 (OS X)
- BitlBee (크로스 플랫폼), 3.0부터 (컴파일 시 선택 사항)[21]
- CenterIM (유닉스 계열), 4.22.2부터
- ChatSecure (iOS)
- Zom Mobile Messenger (안드로이드)
- climm (유닉스 계열), (mICQ) 0.5.4부터
- Jitsi (크로스 플랫폼)
- Kopete (유닉스 계열)[22][23]
- Profanity, 0.4.1부터
- Psi (크로스 플랫폼)[24]
- Psi+ (크로스 플랫폼)[24][25]
- 모질라 선더버드, 68부터
- monocles chat, 2022년부터 OTR을 지원하는 XMPP 클라이언트
- Tkabber (크로스 플랫폼), 버전 1.1부터[26]
- Irssi, 1.2.0부터[27]
제3자 플러그인을 통한 지원
[편집]
다음 클라이언트들은 오프 더 레코드 메시징을 사용하기 위해 플러그인이 필요하다.
구글 토크 "오프 더 레코드"와의 혼동
[편집]지메일의 구글 토크가 "오프 더 레코드"(기록하지 않음)라는 용어를 사용하지만, 이 기능은 이 문서에서 설명하는 오프 더 레코드 메시징 프로토콜과 아무런 관련이 없다. 대화는 위에서 설명한 방식으로 암호화되지 않으며, 최종 사용자가 접근할 수 없더라도 구글 내부적으로 기록될 수 있다.[33][34]
같이 보기
[편집]각주
[편집]- 1 2 니키타 보리소프, 이안 골드버그, 에릭 브루어 (2004년 10월 28일). 〈Off-the-Record Communication, or, Why Not To Use PGP〉 (PDF). 《Workshop on Privacy in the Electronic Society》. 2014년 3월 6일에 확인함.
- ↑ 이안 골드버그 (2014년 10월 26일). 《[OTR-users] Happy 10th anniversary!》. 2015년 4월 27일에 확인함.
- ↑ Sofía Celi; Ola Bini (2019년 2월 15일). “Off-the-Record Messaging Protocol version 4”. 《깃허브》.
- ↑ “Add disclaimer · otrv4/otrv4@0c0847e” (영어). 《GitHub》. 2023년 9월 20일에 확인함.
- ↑ “Inside the NSA's War on Internet Security”. 2014년 12월 28일.
- ↑ 마리오 디 라이몬도; 로사리오 젠나로; 휴고 크라브칙 (2005). 《Secure off-the-record messaging》 (PDF). 《Proceedings of the 2005 ACM Workshop on Privacy in the Electronic Society》 (Association for Computing Machinery). 81–89쪽.
- ↑ “Off-the-Record Messaging Protocol version 2”.
- ↑ “mod_otr”. 2013년 9월 29일에 원본 문서에서 보존된 문서. 2026년 1월 11일에 확인함.
- ↑ Chris Alexander; 이안 에이브럼 골드버그 (February 2007). 〈Improved user authentication in off-the-record messaging〉. 《Proceedings of the 2007 ACM workshop on Privacy in electronic society》 (PDF). New York: Association for Computing Machinery. 41–47쪽. doi:10.1145/1314333.1314340. ISBN 9781595938831. S2CID 17052562.
- 1 2 “Off-the-Record Messaging Protocol version 3”.
- ↑ Jiang Bian; Remzi Seker; Umit Topaloglu (2007). 《Off-the-Record Instant Messaging for Group Conversation》. IEEE International Conference on Information Reuse and Integration. IEEE. doi:10.1109/IRI.2007.4296601.
- 1 2 이안 에이브럼 골드버그; Berkant Ustaoğlu; Matthew D. Van Gundy; Hao Chen (2009). 〈Multi-party off-the-record messaging〉. 《Proceedings of the 16th ACM conference on Computer and communications security》 (PDF). Association for Computing Machinery. 358–368쪽. doi:10.1145/1653662.1653705. hdl:11147/4772. ISBN 9781605588940. S2CID 6143588.
- ↑ Nik Unger; Sergej Dechand; Joseph Bonneau; Sascha Fahl; Henning Perl; 이안 에이브럼 골드버그; Matthew Smith (2015). 《SoK: Secure Messaging》 (PDF). 《Proceedings of the 2015 IEEE Symposium on Security and Privacy》 (IEEE Computer Society's Technical Committee on Security and Privacy). 232–249쪽.
- ↑ Straub, Andreas (2015년 10월 25일). “OMEMO Encryption”. 《XMPP Standards Foundation website》. 2016년 1월 29일에 원본 문서에서 보존된 문서. 2016년 1월 16일에 확인함.
- ↑ Gultsch, Daniel (2015년 9월 2일). “OMEMO Encrypted Jingle File Transfer”. 《XMPP Standards Foundation website》. 2016년 1월 16일에 확인함.
- ↑ Sofía Celi; Ola Bini (2018년 7월 21일). 《No evidence of communication: Off-the-Record Protocol version 4》 (PDF). 2018년 11월 29일에 확인함.
- ↑ Ian Goldberg (2009년 5월 27일). “multi-party OTR communications? (and other OTR details)”. 《OTR-users mailing list》.
- ↑ Nadim Kobeissi (2014년 2월 1일). “mpOTR Project Plan”. 《Cryptocat wiki on GitHub》.
- ↑ Ian Goldberg (2012년 9월 4일). “pidgin-otr and libotr 4.0.0 released!”. 《OTR-announce mailing list》.
- ↑ “Off-the-Record Messaging”.
- ↑ “BitlBee Wiki”. Wiki.bitlbee.org. 2014년 1월 25일. 2014년 5월 15일에 확인함.
- ↑ “kopete-otr in KDE for 4.1”. 2008년 3월 28일에 원본 문서에서 보존된 문서.
- ↑ “kopete-otr review request”.
- 1 2 “OTR Plugin”. Github.com. 2017년 9월 6일에 확인함.
- ↑ “Psi+ snapshots”. Github.com. 2017년 9월 6일에 확인함.
- ↑ “Tkabber OTR Plugin”. 2014년 3월 11일에 원본 문서에서 보존된 문서.
- ↑ “Irssi Changelog - 1.2.0”.
- ↑ “Off the record plugin for HexChat”. 《깃허브》. 2021년 12월 2일.
- ↑ “Miranda OTR Plugin”.
- ↑ “OTR plugin for Pidgin”.
- ↑ “OTR plugin for WeeChat”. 《깃허브》. January 2019.
- ↑ “TingPing/hexchat-otr” (영어). 《GitHub》. 2017년 3월 14일에 확인함.
- ↑ “Chatting off the record - Talk Help”.
- ↑ “Google Talk - Privacy Policy”.
더 읽어보기
[편집]- Joseph Bonneau; Andrew Morrison (2006년 3월 21일). 《Finite-State Security Analysis of OTR Version 2》 (PDF). 2013년 9월 5일에 확인함.
- 마리오 디 라이몬도; 로사리오 젠나로; 휴고 크라브칙 (2005). 《Secure Off-the-Record Messaging》 (PDF). Proceedings of the 2005 ACM Workshop on Privacy in the Electronic Society. ACM. 2013년 8월 27일에 확인함. 다음 값 잘못됨:
|이름목록형식=amp(도움말)
외부 링크
[편집]- 오프 더 레코드 메시징 - 공식 웹사이트
- Protocol specification
- Off-the-Record Messaging: Useful Security and Privacy for IM 보관됨 30 12월 2013 - 웨이백 머신, 워털루 대학교에서 이안 골드버그의 강연 (비디오)
- 'Off-the-Record' Instant Messaging Tutorial (encryption, authentication, deniability, ..) - 유튜브