最近、エンドツーエンド暗号化の仕組み、信頼がどのように機能するのか、そしてなぜ信頼が暗号の真正性を保証しMITM攻撃を回避する上で極めて重要であるのかについて、より深く学びました。本日より、Jabber上での今後のエンドツーエンド暗号化通信には、強化されたOMEMO信頼ポリシーを適用します。
要約(TL;DR) この記事の最後にあるOpenPGPメッセージを私のOpenPGP公開鍵で検証し、署名が有効であれば、以下の8つのフィンガープリントをあなたのJabberクライアントで信頼してください:
146614A4 A28D568E 2491DBF4 432AF3AD 23B5FB40 7040D732 55031B56 0096B36A 2BCBC6B0 F28E8015 9FFA69CC CFE90042 90285C0A 96605915 4DB56134 6804E451 E551B50A 91A332B2 A967C861 08F70299 C466C798 709997DF 3742BA35 8A5D3036 5D49448C 4C9282DE BABE51C4 CD7C80EB C3D4A231 3F51A98A 8F011C46 0E72685D 853B4672 DF3AA335 2D6819E0 AA7E341B D64BE04D 31620525 FDD3F443 D0FC2929 EBE2B559 46D07ECA 9BF8F18C 5C897CE8 66FD1C18 8B842EB0 6D17A04E BDDD3D42 A95CBAEB 810112B2 FE8F5992 A7DFC5B4 742B376B 15A8F58B B135195E 88E9BB60 A398B7A0 7014A253 7CCE9FEB 007EA82A 1D8CA17A 79C07435 462F78E9 47115B0E そして非常に重要なのは、(クライアントが対応していれば)私との会話での盲目的な信頼(Blind Trust)を無効にし、それ以外のOMEMOフィンガープリントをすべて拒否することです。それらは既に使用されていないか、攻撃者によるものです。
OMEMOとは? OMEMOとは、Andreas Straub氏によって開発された、XMPP(拡張可能メッセージングおよびプレゼンスプロトコル)のマルチクライアント対応エンドツーエンド暗号化のための拡張機能です。Straub氏によれば、OMEMOはDouble Ratchetアルゴリズムを利用して「複数クライアント間での暗号化通信を可能にし、一部のクライアントがオフラインであっても安全にメッセージを同期できる」ように設計されています。「OMEMO」とは、「OMEMO Multi-End Message and Object Encryption」の再帰的頭字語です。この仕様は、Double RatchetアルゴリズムとPersonal Eventing Protocol(PEP, XEP-0163)に基づくオープンスタンダードです。OMEMOは、将来及び前方秘匿性、否認性、メッセージ同期、オフライン配信を提供します。