메모리
OMEMOOMEMO는 Andreas Straub에 의해 개발된 멀티 클라이언트 엔드 투 엔드 암호화를 위한 XMPP(Extensible Messaging and Presence Protocol)의 확장입니다.Straub에 따르면 OMEMO는 이중 래칫 알고리즘을 사용하여 "멀티엔드에서 멀티엔드로의 암호화를 제공하여 메시지 중 일부가 오프라인인 경우에도 여러 클라이언트에서 안전하게 동기화할 수 있도록 합니다."[1]"OMEMO"라는 이름은 "OMEMO Multi-End Message and Object Encryption"의 재귀 약자입니다.Double Ratchet Algorithm과 Personal Eventing Protocol(PEP, XEP-0163)[2]에 기반한 개방형 표준입니다.OMEMO는 메시지 동기화 및 오프라인 전달을 통해 미래 및 미래 및 미래 비밀 유지 및 거부 기능을 제공합니다.
특징들
OTR과 비교하여 OMEMO 프로토콜은 다대다 암호화 채팅, 오프라인 메시지 큐잉, 전송 비밀, 파일 전송, 검증 가능성 및 거부 기능을 약간 더 큰 메시지 크기 [3]오버헤드로 제공합니다.
역사
이 프로토콜은 Andreas Straub에 의해 2015년 Google Summer of Code 프로젝트로 개발되고 처음 구현되었습니다.이 프로젝트의 목표는 Android XMPP 기반의 인스턴트 메시징 클라이언트인 Conversations에 이중 래칫 기반의 멀티 엔드 투 멀티 엔드 암호화 스킴을 구현하는 것이었다.2015년 가을에 제안된 XMPP 확장 프로토콜(XEP)로 대화에 도입되어 XMPP 표준 재단(XSF)에 제출되었으며 2016년 [1]12월에 XEP-0384로 승인되었다.
2016년 7월 ChatSecure 프로젝트는 다음 릴리즈에서 OMEMO를 구현할 것이라고 발표했습니다.ChatSecure v4.0은 OMEMO를 지원하며 2017년 [4][5]1월 17일에 출시되었습니다.
크로스 플랫폼 XMPP 클라이언트 Gajim을 위한 OMEMO 플러그인의 첫 번째 실험 릴리스는 2015년 [6]12월 26일에 제공되었습니다.
2016년 6월 비영리 컴퓨터 보안 컨설팅 회사인 Recratical Open Security는 OMEMO [7]프로토콜에 대한 분석을 발표했습니다.
클라이언트 지원
OMEMO를 지원하는 선택된 클라이언트(클라이언트의 전체 목록도[8] 있음):
- 비글림(macOS)[9]
- Chat Secure (iOS)[10]
- 대화(안드로이드)
- Converse.js(브라우저 기반)[11]
- Dino (Linux, macOS)[12]
- 공식 플러그인(Linux, Windows, BSD)[13]을 통한 Gajim
- 모날(iOS)
- Movim(브라우저 기반)[14]
- 공식 플러그인을 통한 Psi(Linux, Windows, macOS)[15]
- Psi+ (공식 플러그인 사용) (Linux, Windows, macOS, Haiku, FreeB)SD)[16]
- 실험 플러그인을 통한 Pidgin이나 Finch 등의 libpurple 클라이언트
- libpurple[18] 플러그인에 기반한 Xtra 경유 Adium
- EXP 플러그인을 통한 욕설(BSD, Linux, macOS, Windows)[19]
- SiskinIM (iOS)[9]
라이브러리 지원
- smack은 smack-omemo와 smack-omemo-signal의[20] 2가지 모듈을 사용하여 OMEMO를 지원합니다.
- XMPPFramework(macOS, iOS, tvOS)는 SignalProtocol-ObjC [23]라이브러리와 함께 사용할 경우 OMEMO 스케줄 확장을 통해 OMEMO를 지원합니다.
레퍼런스
- ^ a b "[Standards] NEW: XEP-0384 (OMEMO Encryption)". 2016-12-07. Retrieved 2016-12-23.
- ^ Daniel Gultsch. "OMEMO Multi-End Message and Object Encryption". Retrieved 2015-11-23.
- ^ "OMEMO Multi-End Message and Object Encryption". conversations.im. Retrieved 2019-01-22.
- ^ "ChatSecure iOS v3.2.3 - XMPP Push". 2016-07-25. Retrieved 2016-09-07.
- ^ "ChatSecure v4.0 - OMEMO and Signal Protocol". 2017-01-17. Retrieved 2017-02-07.
- ^ Bahtiar Gadimov (2015-12-26). "Initial OMEMO commit". dev.gajim.org. Retrieved 2017-09-08.
- ^ OMEMO: 암호 분석 보고서.2016년 6월
- ^ "Are we OMEMO yet?". Are we OMEMO yet?. Retrieved 2019-01-22.
- ^ a b "BeagleIM and SiskinIM just got OMEMO support". tigase.net. Retrieved 2019-06-07.
- ^ "ChatSecure v4.0 - OMEMO and Signal Protocol". chatsecure.org. Retrieved 2017-01-17.
- ^ "XEP-0384: OMEMO Encryption · Issue #497 · conversejs/converse.js". GitHub. Retrieved 2019-11-20.
- ^ "Dino - Modern Jabber/XMPP Client using GTK+/Vala". dino.im. Retrieved 2017-11-06.
- ^ Bahtiar Gadimov; et al. "Omemogajimplugin · Wiki · gajim / gajim-plugins · GitLab". Retrieved 2016-12-04.
- ^ "End to end encryption in Movim - OMEMO is (finally) there!". mov.im. Retrieved 2021-12-15.
- ^ Vyacheslav Karpukhin. "OMEMO for Psi · GitHub". Retrieved 2018-03-04.
- ^ Vyacheslav Karpukhin. "Psi+ snapshots". Retrieved 2018-03-04.
- ^ Richard Bayerle. "lurch - OMEMO for libpurple". Retrieved 2017-02-12.
- ^ Olivier Mehani. "Lurch4Adium - OMEMO Xtra for Adium". Retrieved 2017-06-08.
- ^ René Calles. "profanity-omemo-plugin: A Python plugin to use (axolotl / Signal Protocol) encryption for the profanity XMPP messenger". Retrieved 2017-01-10.
- ^ Schaub, Paul (6 June 2017). "Ignite Realtime Blog: Smack v4.2 Introduces OME... Ignite Realtime". community.igniterealtime.org. Retrieved 2017-07-11.
- ^ "Robbiehanson/XMPPFramework". 26 October 2021.
- ^ "Robbiehanson/XMPPFramework". 26 October 2021.
- ^ "SignalProtocolObjC". 30 January 2021.
외부 링크
- 홈페이지
- XEP-0384: OMEMO 암호화(실험용)
- 다른 클라이언트에서 OMEMO를 구현하기 위한 Python 라이브러리
- C에서의 OMEMO 프로토콜 구현
- OMEMO Top - 인스턴트 메시지 클라이언트의 OMEMO 지원 목록