OMEMO

OMEMO 로고

OMEMO안드레아스 슈트라우브가 개발한 다중 클라이언트 단대단 암호화를 위한 Extensible Messaging and Presence Protocol(XMPP) 확장 프로토콜이다. 슈트라우브에 따르면, OMEMO는 더블 래칫 알고리즘을 사용하여 "다중 단말 간(multi-end to multi-end) 암호화를 제공하며, 일부 클라이언트가 오프라인 상태이더라도 여러 클라이언트 간에 메시지를 안전하게 동기화할 수 있도록 한다."[1] "OMEMO"라는 이름은 "OMEMO Multi-End Message and Object Encryption"의 재귀 약자이다. 이는 더블 래칫 알고리즘과 퍼스널 이벤팅 프로토콜(Personal Eventing Protocol, PEP, XEP-0163)을 기반으로 하는 개방형 표준이다.[2] OMEMO는 메시지 동기화 및 오프라인 전송과 함께 미래 및 전방향 보안과 부인 방지 기능을 제공한다.

특징

OTR과 비교할 때, OMEMO 프로토콜은 약간 더 큰 메시지 크기 오버헤드를 대가로 다대다 암호화 채팅, 오프라인 메시지 대기열, 전방향 보안, 파일 전송, 검증 가능성 및 부인 방지 기능을 제공한다.[3]

역사

이 프로토콜은 2015년 구글 서머 오브 코드 프로젝트로서 안드레아스 슈트라우브에 의해 개발되고 처음 구현되었다. 이 프로젝트의 목표는 Conversations라는 안드로이드 기반 XMPP 인스턴트 메시징 클라이언트에 더블 래칫 기반의 다중 단말 간 암호화 방식을 구현하는 것이었다. 이는 Conversations에 도입되었으며, 2015년 가을에 XMPP Standards Foundation(XSF)에 제안된 XMPP Extension Protocol(XEP)로 제출되었고, 2016년 12월에 XEP-0384로 승인되었다.[1]

2016년 7월, ChatSecure 프로젝트는 차기 릴리스에서 OMEMO를 구현할 것이라고 발표했다. ChatSecure v4.0은 OMEMO를 지원하며 2017년 1월 17일에 출시되었다.[4][5]

크로스 플랫폼 XMPP 클라이언트인 Gajim을 위한 OMEMO 플러그인의 첫 실험적 릴리스는 2015년 12월 26일에 공개되었다.[6]

2016년 6월, 비영리 컴퓨터 보안 컨설팅 회사인 Radically Open Security는 OMEMO 프로토콜에 대한 분석 보고서를 발표했다.[7]

지원 클라이언트

OMEMO를 지원하는 주요 클라이언트(전체 목록도 존재함[8]):

라이브러리 지원

  • Smack은 smack-omemo 및 smack-omemo-signal 두 모듈을 사용하여 OMEMO를 지원한다.[23]
  • XMPPFramework (MacOS, IOS, TvOS)[24]는 SignalProtocol-ObjC 라이브러리와 함께 사용할 때 OMEMOModule 확장을 통해 OMEMO를 지원한다.[25][26]

각주

  1. “[Standards] NEW: XEP-0384 (OMEMO Encryption)”. 2016년 12월 7일. 2016년 12월 23일에 확인함. 
  2. Daniel Gultsch. “OMEMO Multi-End Message and Object Encryption”. 2015년 11월 23일에 확인함. 
  3. “OMEMO Multi-End Message and Object Encryption” (영어). 《conversations.im》. 2019년 1월 22일에 확인함. 
  4. “ChatSecure iOS v3.2.3 - XMPP Push”. 2016년 7월 25일. 2016년 9월 7일에 확인함. 
  5. “ChatSecure v4.0 - OMEMO and Signal Protocol”. 2017년 1월 17일. 2017년 2월 7일에 확인함. 
  6. Bahtiar Gadimov (2015년 12월 26일). “Initial OMEMO commit”. 《dev.gajim.org》. 2017년 9월 8일에 확인함. 
  7. Radically Open Security (2016년 6월 1일). “OMEMO: Cryptographic Analysis Report” (PDF) (영어). Amsterdam: Radically Open Security. 2025년 4월 4일에 원본 문서 (PDF)에서 보존된 문서. 2025년 4월 10일에 확인함. 
  8. “Are we OMEMO yet?” (미국 영어). 《Are we OMEMO yet?》. 2019년 1월 22일에 확인함. 
  9. “Beagle OMEMO support”. 2019년 7월 7일. 
  10. “ChatSecure v4.0 - OMEMO and Signal Protocol”. 《chatsecure.org》. 2017년 1월 17일. 2017년 1월 17일에 확인함. 
  11. “XEP-0384: OMEMO Encryption · Issue #497 · conversejs/converse.js” (영어). 《GitHub》. 2019년 11월 20일에 확인함. 
  12. “Dino - Modern Jabber/XMPP Client using GTK+/Vala”. 《dino.im》. 2017년 11월 6일에 확인함. 
  13. Bahtiar Gadimov 외. “Omemogajimplugin · Wiki · gajim / gajim-plugins · GitLab”. 2016년 12월 4일에 확인함. 
  14. Developers, Gajim. “Gajim 1.8.0” (영어). 《Gajim》. 2023년 6월 15일에 확인함. 
  15. “Kaidan 0.9: End-to-End Encryption & XMPP Providers”. 《Kaidan》. 2023년 5월 5일. 2023년 10월 20일에 확인함. 
  16. “End to end encryption in Movim - OMEMO is (finally) there!”. 《mov.im》. 2021년 12월 15일에 확인함. 
  17. Vyacheslav Karpukhin. “OMEMO for Psi · GitHub”. 《깃허브. 2018년 3월 4일에 확인함. 
  18. Vyacheslav Karpukhin. “Psi+ snapshots”. 《깃허브. 2018년 3월 4일에 확인함. 
  19. Richard Bayerle. “lurch - OMEMO for libpurple”. 《깃허브. 2017년 2월 12일에 확인함. 
  20. Olivier Mehani. “Lurch4Adium - OMEMO Xtra for Adium”. 《깃허브. 2017년 6월 8일에 확인함. 
  21. René Calles. “profanity-omemo-plugin: A Python plugin to use (axolotl / Signal Protocol) encryption for the profanity XMPP messenger”. 《깃허브. 2017년 1월 10일에 확인함. 
  22. “BeagleIM and SiskinIM just got OMEMO support”. 《tigase.net》. 2019년 6월 7일에 확인함. 
  23. Schaub, Paul (2017년 6월 6일). “Ignite Realtime Blog: Smack v4.2 Introduces OME... | Ignite Realtime” (영어). 《community.igniterealtime.org》. 2017년 7월 11일에 확인함. 
  24. “Robbiehanson/XMPPFramework”. 《깃허브》. 2021년 10월 26일. 
  25. “Robbiehanson/XMPPFramework”. 《깃허브》. 2021년 10월 26일. 
  26. “SignalProtocolObjC”. 《깃허브》. 2021년 1월 30일. 

외부 링크

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.