OMEMO

マルチクライアントエンドツーエンド暗号化のためのXMPPの拡張 From Wikipedia, the free encyclopedia

OMEMOとは、Andreas Straubによって開発された複数クライアントエンドツーエンド暗号化のためのExtensible Messaging and Presence Protocol(XMPP)の拡張である。OMEMOはDouble Ratchetアルゴリズムを使用しており、Straubは「複数の末端から複数の末端への暗号化を提供し、一部のクライアントがオフラインだとしても複数のクライアント間でメッセージを安全に同期できるようにします」と述べている[1]。「OMEMO」という名前は「OMEMO Multi-End Message and Object Encryption」の再帰的頭字語である。OMEMOはDouble RatchetアルゴリズムとPersonal Eventing Protocol(PEP、XEP-0163)に基づいたオープン標準である[2]。OMEMOはメッセージ同期とオフライン配信で後方秘匿性、前方秘匿性、否認可能性を提供する。

OMEMOのロゴ

特徴

OTR英語版と比較して、OMEMOプロトコルは複数対複数の暗号化チャット、オフラインメッセージの順番待ち、前方秘匿性、ファイル転送、検証可能性と否認可能性を提供するが、メッセージの大きさの計算量がわずかに大きくなる[3]

歴史

OMEMOは2015年のGoogle Summer of CodeでAndreas Straubによって開発され初めて実装された。プロジェクトの目標はConversations英語版と呼ばれるAndroidのXMPPを基にしたインスタントメッセンジャーにDouble Ratchetアルゴリズムを基にした複数の末端から複数の末端への暗号化方法を実装することであった。OMEMOはConversationsに導入され、2015年秋にXMPP Extension Protocol(XEP)の提案としてXMPP Standards Foundation(XSF)に提出され、2016年12月にXEP-0384として承認された[1]

2016年7月、ChatSecure英語版プロジェクトは次のリリースでOMEMOを実装すると発表した。OMEMOに対応したChatSecure v4.0は2017年1月17日に公開された[4][5]

クロスプラットフォームXMPPクライアントのGajim英語版向けのOMEMOプラグインの最初の実験的リリースは2015年12月26日に公開された[6]

2016年6月、非営利コンピュータセキュリティコンサルティングファームのRadically Open SecurityがOMEMOプロトコルの分析結果を公開した[7]

クライアントの対応

OMEMOに対応するクライアントの例[注釈 1]:

ライブラリの対応

  • Smackはsmack-omemoとsmack-omemo-signalという2つのモジュールを使ってOMEMOに対応している[23]
  • XMPPFramework(macOSiOStvOS[24]はSignalProtocol-ObjCライブラリと結合して使うときにOMEMOModule拡張[25]経由でOMEMOに対応している[26]

脚注

外部リンク

Related Articles

Wikiwand AI