<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://wiki.step.im/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Who</id>
	<title>XMPP用語集 - 利用者の投稿記録 [ja]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.step.im/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Who"/>
	<link rel="alternate" type="text/html" href="https://wiki.step.im/index.php?title=%E7%89%B9%E5%88%A5:%E6%8A%95%E7%A8%BF%E8%A8%98%E9%8C%B2/Who"/>
	<updated>2026-04-22T19:48:01Z</updated>
	<subtitle>利用者の投稿記録</subtitle>
	<generator>MediaWiki 1.35.14</generator>
	<entry>
		<id>https://wiki.step.im/index.php?title=OMEMO&amp;diff=261</id>
		<title>OMEMO</title>
		<link rel="alternate" type="text/html" href="https://wiki.step.im/index.php?title=OMEMO&amp;diff=261"/>
		<updated>2024-12-12T01:40:06Z</updated>

		<summary type="html">&lt;p&gt;Who: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:基本用語]]&lt;br /&gt;
[[Category:エンドツーエンド暗号化]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- 参考：http://jezf25zgvxlsvuzdzm6fg2hoetmruhy4uxnolyw46tuh4jugcwc7byqd.onion/OMEMO --&amp;gt;&lt;br /&gt;
==概要==&lt;br /&gt;
OMEMOは[https://xmpp.org/extensions/xep-0384.html#revision-history-v0.0.1 2015年に最初の版が作成された]XMPPのエンドツーエンド暗号化をする現代的な仕様で、[https://xmpp.org/extensions/xep-0384.html#intro-motivation 過去の暗号化仕様の問題を解決する]。インスタントメッセンジャー[https://signal.org/ja Signal]のエンドツーエンド暗号化を行うアルゴリズムであるDouble Ratchet（[https://signal.org/docs/specifications/doubleratchet/ Signal]、[https://ja.wikipedia.org/wiki/Double_Ratchetアルゴリズム Wikipedia日本語]）を[https://xmpp.org/extensions/xep-0384.html#intro-overview XMPPで仕様にした]ものである。&lt;br /&gt;
&lt;br /&gt;
==XMPPの他エンドツーエンド暗号化方式と比較した総覧==&lt;br /&gt;
&amp;lt;!-- https://wiki.xmpp.org/web/XMPP_E2E_Security#Comparative_Overview （固定版 https://wiki.xmpp.org/web/index.php?title=XMPP_E2E_Security&amp;amp;oldid=10490 )を和訳と微修正した。 --&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot; |企画&lt;br /&gt;
!colspan=&amp;quot;5&amp;quot; |セキュリティ特性&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot; |伝達の種類&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot; |XMPPとの互換性&lt;br /&gt;
|-&lt;br /&gt;
![https://ja.wikipedia.org/wiki/デジタル署名#認証 真正性]&lt;br /&gt;
![https://en.wikipedia.org/wiki/Information_security#Integrity &amp;lt;abbr title=&amp;quot;情報及び処理方法が、正確であること及び完全であることを保護すること。&amp;quot;&amp;gt;完全性&amp;lt;abbr&amp;gt;]&lt;br /&gt;
![https://ja.wikipedia.org/wiki/暗号 暗号化]&lt;br /&gt;
![https://ja.wikipedia.org/wiki/Forward_secrecy 前方秘匿性]&lt;br /&gt;
![https://en.wikipedia.org/wiki/Malleability_(cryptography) &amp;lt;abbr title=&amp;quot;暗号文が与えられたとき、ある関係性を持った別の暗号文の生成ができないこと。&amp;quot;&amp;gt;頑強性&amp;lt;/abbr&amp;gt;]&lt;br /&gt;
!1対1&lt;br /&gt;
!グループチャット&lt;br /&gt;
!オフラインメッセージ&lt;br /&gt;
!複数の送信源&lt;br /&gt;
!Discoveryのサポート&lt;br /&gt;
|-&lt;br /&gt;
|[https://xmpp.org/extensions/xep-0384.html OMEMO]&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |悪意のある認証済みデバイスの場合を除いて有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |認証済みデバイスによっては有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:yellow&amp;quot; |非匿名のみ有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|-&lt;br /&gt;
|[https://xmpp.org/extensions/xep-0374.html OpenPGP for XMPPインスタントメッセージ]&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:yellow&amp;quot; |N/A&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |可能であり、予定があるが、現在は仕様がない&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|-&lt;br /&gt;
|[https://xmpp.org/extensions/xep-0027.html 古いPGP]&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無。メッセージ暗号化のみで、署名されない&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:yellow&amp;quot; |N/A&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:yellow&amp;quot; |全送信源で同じ鍵の組み合わせの場合は有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
|-&lt;br /&gt;
|OTR&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Signalとの比較==&lt;br /&gt;
以下に挙げられているSignalの問題がXMPPにはなく、Signalの最大の特長である優れた暗号化の実装がOMEMOにある。&lt;br /&gt;
&lt;br /&gt;
===Signalの問題点===&lt;br /&gt;
====全OSに共通の問題====&lt;br /&gt;
=====中央集権=====&lt;br /&gt;
サーバーを選べない。[https://signal.org/blog/the-ecosystem-is-moving/ Signal側はこれが問題にされていると認識しているが、脱中央集権化すると、変更を加えることが難しくなると主張している]。&lt;br /&gt;
&lt;br /&gt;
=====Google reCAPTCHA=====&lt;br /&gt;
プライバシーに悪いGoogle reCAPTCHAが使われ、[https://github.com/signalapp/Signal-Android/issues/10999 Githubのissueで取り上げらた]。&lt;br /&gt;
&lt;br /&gt;
=====電話番号=====&lt;br /&gt;
[https://support.signal.org/hc/ja/articles/360007318691-電話番号を登録する 電話番号が必要]。&lt;br /&gt;
&lt;br /&gt;
====Android版の問題====&lt;br /&gt;
=====F-Droidにアプリがない=====&lt;br /&gt;
[https://community.signalusers.org/t/signal-android-app-on-f-droid-store-f-droid-status/28581 F-Droidにアプリがない]。ただし、フォークした[https://www.twinhelix.com/apps/signal-foss Signal FOSS]はF-Droidにレポジトリを追加して入手できる。&lt;br /&gt;
&lt;br /&gt;
====デスクトップ版の問題====&lt;br /&gt;
=====スマートフォンに依存=====&lt;br /&gt;
[https://support.signal.org/hc/ja/articles/360007318751-登録のトラブルシューティング デスクトップアプリだけでは登録できず、スマートフォンが必要]。&lt;br /&gt;
&lt;br /&gt;
=====Electron=====&lt;br /&gt;
デスクトップ版は、起動が遅く、動作が重く、不安定で、セキュリティが脆く、アプリのファイルサイズが大きく、視覚障害者が利用しづらい[https://www.freie-messenger.de/en/begriffe/electron/ Electron]を使用している。[https://github.com/signalapp/Signal-Desktop/issues/2178 過去にはGithubのissueでこの問題が取り上げられたが]、大幅なコード書き換えが必要なため、開発者が取り除く予定はない。&lt;br /&gt;
&lt;br /&gt;
===XMPP+OMEMOがSignalに対して完全に上回る点===&lt;br /&gt;
* 非中央集権。&lt;br /&gt;
** 電話番号不要。&lt;br /&gt;
** スマートフォン不要。&lt;br /&gt;
** サーバーとクライアントは、通信経路匿名化ソフトウェアTorのオニオンサービスで通信可能。&lt;br /&gt;
&lt;br /&gt;
* クライアントアプリの豊富さ。&lt;br /&gt;
** 使いやすいクライアントがある。&lt;br /&gt;
** 外観が豊富。&lt;br /&gt;
** 軽量なクライアントがある。&lt;br /&gt;
** GUIもCLIもある。&lt;br /&gt;
** Elecrtonを使用しないクライアントがある。&lt;br /&gt;
** Android OSの場合は、F-Droidから外部のレポジトリを登録せずに、アプリをダウンロードできる。&lt;br /&gt;
* サーバーソフトウェアの豊富さ。&lt;br /&gt;
* デスクトップパソコンとの相性。&lt;br /&gt;
&lt;br /&gt;
===Signalと同等な点===&lt;br /&gt;
* メッセージの暗号化&lt;br /&gt;
** エンドツーエンド暗号化&lt;br /&gt;
&lt;br /&gt;
このように、エドワード・スノーデンがエンドツーエンド暗号化を理由にSignalを薦めていても、OMEMOではなく、わざわざSignalを選ぶ理由がない。&lt;br /&gt;
&lt;br /&gt;
==電子メール+OpenPGPとの比較==&lt;br /&gt;
OpenPGPは古く、仕様にたくさんの問題を抱えている。&lt;br /&gt;
&lt;br /&gt;
===OpenPGPの問題点===&lt;br /&gt;
&amp;lt;!-- 参考：https://nicholasjohnson.ch/2022/01/03/goodbye-pgp/ --&amp;gt;&lt;br /&gt;
====Web of Trust====&lt;br /&gt;
全員の連絡先が他の連絡先全員に漏れる。&lt;br /&gt;
&lt;br /&gt;
====鍵サーバー====&lt;br /&gt;
=====署名スパム=====&lt;br /&gt;
公衆鍵サーバーは誰でもどの鍵にも署名可能で、大量の無駄な鍵で署名されて、鍵が長くなる。&lt;br /&gt;
&lt;br /&gt;
=====鍵束=====&lt;br /&gt;
鍵サーバーに鍵を要求する度に、端末のIPアドレスと要求したすべての鍵がサーバーに知られる。これは、ランダムな間隔でTor経由で鍵を更新する[https://manpages.debian.org/bullseye/parcimonie/parcimonie.1p.en.html Parcimonie]で防げるが、ソフトウェアは1年半以上も更新されていない。&lt;br /&gt;
&lt;br /&gt;
====朽ちた暗号====&lt;br /&gt;
[https://safecurves.cr.yp.to/rigid.html OpenPGPは、バックドアがあるとされているNISTの楕円曲線をサポートしている。]&lt;br /&gt;
&lt;br /&gt;
OpenPGPは、下位互換性と標準への準拠という名目でセキュリティを犠牲にしている。SHA-1、3DES、CAST5、Blowfish などの朽ちているか、もしくは古いアルゴリズムをサポートしている。最新の暗号システムでは使用しないCFBモードとS2Kパスワード ハッシュを使用する。&lt;br /&gt;
&lt;br /&gt;
====鍵の有効期限====&lt;br /&gt;
連絡先に定期的に鍵を更新するよう強要する。鍵を更新するため、[[#鍵サーバー]]を使用する人がいる。&lt;br /&gt;
&lt;br /&gt;
====指定がなければRSAを使用====&lt;br /&gt;
より速く、より小さく、より安全な[https://ja.wikipedia.org/wiki/エドワーズ曲線デジタル署名アルゴリズム Curve25519]を使用しない。&lt;br /&gt;
&lt;br /&gt;
====鍵IDと指紋====&lt;br /&gt;
多数の利用者は、成りすまし可能なv3の危険な鍵IDのままにしている。しかし、現在のv4の鍵であっても、[https://shattered.io/ 衝突済みのSHA1]に依存している。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ====パケット形式==== --&amp;gt;&lt;br /&gt;
====圧縮＋暗号化====&lt;br /&gt;
[https://security.stackexchange.com/questions/43413/is-it-safe-for-gpg-to-compress-all-messages-prior-to-encryption-by-default 攻撃者が暗号化されたメッセージを解読するのに役立つ場合がある。]&lt;br /&gt;
&lt;br /&gt;
====否認不可能====&lt;br /&gt;
署名暗号技術の[https://ja.wikipedia.org/wiki/否認不可 否認可能性]がない。ただし、電子メールではサーバーは[https://ja.wikipedia.org/wiki/DKIM DKIM]を使用し、メール内容にはメタデータとIPログに加えてコンテキスト情報があり、OpenPGPに否認可能性がなくても変わらない。&lt;br /&gt;
&lt;br /&gt;
====前方秘匿性（フォワードセキュリティ）の欠如====&lt;br /&gt;
暗号鍵の秘密鍵が漏洩した場合、その鍵で過去に暗号化されたすべてのデータを他者が解読可能になる。主要なメールプロバイダーは要求に応じて法執行機関にメール内容を提供し、NSAは[https://ja.wikipedia.org/wiki/XKeyscore XKeyscore]を利用して、送信されるメールのコピーを保持する。&lt;br /&gt;
&lt;br /&gt;
====メッセージパディングなし====&lt;br /&gt;
パディングがない暗号のモードであるCFBを使うので、暗号文のままでもメッセージの正確な長さがわかる。&lt;br /&gt;
&lt;br /&gt;
また、[https://inaz2.hatenablog.com/entry/2015/12/23/000923 パディングオラクル攻撃]に対して脆弱。&lt;br /&gt;
&lt;br /&gt;
===XMPP+OMEMOが電子メール+OpenPGPに対して完全に上回る点===&lt;br /&gt;
* 鍵サーバーがない。&lt;br /&gt;
* 朽ちた暗号が使われない。[https://xmpp.org/extensions/xep-0384.html#protocol-key_exchange 鍵交換]は暗号Curve25519/Ed25519とハッシュSHA-256が使われ、[https://xmpp.org/extensions/xep-0384.html#protocol-message_encryption メッセージ暗号化]は暗号AES-256-CBCとハッシュHKDF-SHA-256、HMAC-SHA-256が使われる。ただし、OpenPGPと同じく否認可能性はない。&lt;br /&gt;
* 前方秘匿性（フォワードセキュリティ）があり、すなわち同じ鍵を短期間だけ使い、自動的に更新されるため、秘密にすべき鍵が漏洩しても、過去に送信したメッセージをほとんど解読できない。&lt;br /&gt;
* [https://xmpp.org/extensions/xep-0384.html#protocol-double_ratchet メッセージパディングあり]。&lt;br /&gt;
* 別人が同じ暗号文を再送する[https://ja.wikipedia.org/wiki/反射攻撃 反射攻撃]に[https://xmpp.org/extensions/xep-0384.html#reqs-threat-model 強い]。&lt;br /&gt;
&lt;br /&gt;
===XMPP+OMEMOが電子メール+OpenPGPに対して下回る点===&lt;br /&gt;
* クライアントが少ない。&lt;br /&gt;
* 普及していない。&lt;br /&gt;
&lt;br /&gt;
==関連用語==&lt;br /&gt;
* [[OTR]]&lt;br /&gt;
&lt;br /&gt;
==外部リンク==&lt;br /&gt;
* [https://xmpp.org/extensions/xep-0384.html XEP-0384: OMEMO Encryption]&lt;br /&gt;
* [https://conversations.im/omemo/ OMEMO Multi-End Message and Object Encryption]&lt;br /&gt;
* [https://omemo.top/ Are we OMEMO yet?]&lt;br /&gt;
&lt;br /&gt;
===Wiki===&lt;br /&gt;
* [https://wiki.xmpp.org/web/XMPP_E2E_Security XMPP E2E Security] - XMPP Wiki&lt;br /&gt;
* [https://wiki.xmpp.org/web/Tech_pages/OMEMO Tech pages/OMEMO] - XMPP Wiki&lt;br /&gt;
* [https://en.wikipedia.org/wiki/OMEMO OMEMO] - Wikipedia英語&lt;br /&gt;
* [https://ja.wikipedia.org/wiki/Double_Ratchetアルゴリズム Double Ratchetアルゴリズム] - Wikipedia日本語&lt;/div&gt;</summary>
		<author><name>Who</name></author>
	</entry>
	<entry>
		<id>https://wiki.step.im/index.php?title=monocles_chat&amp;diff=260</id>
		<title>monocles chat</title>
		<link rel="alternate" type="text/html" href="https://wiki.step.im/index.php?title=monocles_chat&amp;diff=260"/>
		<updated>2024-06-17T05:35:30Z</updated>

		<summary type="html">&lt;p&gt;Who: カテゴリ追加&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[blabber.im]]と[[Conversations]]からフォークされたAndroid用XMPPクライアント。[[blabber.im]]は[https://codeberg.org/kriztan/blabber.im/releases 最終リリースが2022年]で、開発が停止しているが、monocles chatはそうでない。&lt;br /&gt;
&lt;br /&gt;
==Conversationsから変更された機能==&lt;br /&gt;
monocles chatによると、多くの変更と追加機能が存在する。&lt;br /&gt;
*エンドツーエンド暗号化は[[OTR]]に対応&lt;br /&gt;
*古い暗号スイートを削除したり、[https://ja.wikipedia.org/wiki/DNS-based_Authentication_of_Named_Entities &amp;lt;abbr title=&amp;quot;DNS-based Authentication of Named Entities&amp;quot;&amp;gt;DANE&amp;lt;/abbr&amp;gt;]に対応するなど、サーバーとの通信をより安全化&lt;br /&gt;
*Torのような匿名暗号ネットワーク[https://geti2p.net/ja/ I2P]に対応&lt;br /&gt;
*外観の選択肢が増加&lt;br /&gt;
&lt;br /&gt;
==外部リンク==&lt;br /&gt;
===パッケージ配信===&lt;br /&gt;
*[https://f-droid.org/ja/packages/de.monocles.chat/ F-Droid]&lt;br /&gt;
*[https://play.google.com/store/apps/details?id=eu.monocles.chat Google Play]&lt;br /&gt;
*[https://codeberg.org/monocles/monocles_chat/releases Codeberg リリース]&lt;br /&gt;
&lt;br /&gt;
=== monocles XMPPサーバー===&lt;br /&gt;
*[https://monocles.chat/login monocles.chat]&lt;br /&gt;
*[https://monocles.eu/conversejs Converse.js]&lt;br /&gt;
&lt;br /&gt;
===開発===&lt;br /&gt;
*[https://codeberg.org/monocles/monocles_chat ソースコード] - Codeberg&lt;br /&gt;
**[https://codeberg.org/monocles/monocles_chat/issues 問題]&lt;br /&gt;
*[https://translate.codeberg.org/projects/monocles_chat/monocles_chat 翻訳]&lt;br /&gt;
&lt;br /&gt;
===その他===&lt;br /&gt;
*[https://xmpp.org/software/monocles-chat/ XMPP標準化団体xmpp.orgのページ]&lt;br /&gt;
*[https://monocles.eu/more/ monocles公式ウェブサイト]&lt;br /&gt;
**[https://docs.monocles.eu/apps/chat.app/ monocles chat公式ドキュメント]&lt;br /&gt;
**[https://ocean.monocles.eu/apps/registration/ アカウント登録]&lt;br /&gt;
*[https://monocles.social/@monocles 公式SNSアカウント]&lt;br /&gt;
*[xmpp:support@conference.monocles.eu XMPP公式手助けグループ]&lt;br /&gt;
&lt;br /&gt;
[[Category:クライアント]]&lt;/div&gt;</summary>
		<author><name>Who</name></author>
	</entry>
	<entry>
		<id>https://wiki.step.im/index.php?title=blabber.im&amp;diff=259</id>
		<title>blabber.im</title>
		<link rel="alternate" type="text/html" href="https://wiki.step.im/index.php?title=blabber.im&amp;diff=259"/>
		<updated>2024-05-15T01:57:01Z</updated>

		<summary type="html">&lt;p&gt;Who: /* 説明 */ 開発停止についてと、フォークしたmonocles chatについて&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:クライアント]]&lt;br /&gt;
== 日本語訳 ==&lt;br /&gt;
()&lt;br /&gt;
&lt;br /&gt;
== 説明 ==&lt;br /&gt;
[[Conversations]]からフォークしたAndroid5.0以降向けの多機能クライアント。OpenPGP、[[OMEMO]]に対応している。[https://codeberg.org/kriztan/blabber.im/releases 最終リリースが2022年]で、開発が停止しているが、[[monocles chat]]がこれをフォークして開発を継続している。&lt;br /&gt;
&lt;br /&gt;
以前はPix-Art Messengerという名称だった。&lt;br /&gt;
&lt;br /&gt;
=== 関連用語 ===&lt;br /&gt;
====・[[monocles chat]]====&lt;br /&gt;
blabber.imとConversationsのフォークアプリ。開発継続中。&lt;br /&gt;
&lt;br /&gt;
== リンク ==&lt;br /&gt;
* [https://blabber.im/ blabber.im]&lt;br /&gt;
* [https://play.google.com/store/apps/details?id=im.blabber.messenger blabber.im (XMPP / Jabber Client) - Google Play のアプリ]&lt;br /&gt;
* [https://f-droid.org/en/packages/de.pixart.messenger/ blabber.im | F-Droid - Free and Open Source Android App Repository]&lt;/div&gt;</summary>
		<author><name>Who</name></author>
	</entry>
	<entry>
		<id>https://wiki.step.im/index.php?title=monocles_chat&amp;diff=258</id>
		<title>monocles chat</title>
		<link rel="alternate" type="text/html" href="https://wiki.step.im/index.php?title=monocles_chat&amp;diff=258"/>
		<updated>2024-05-15T01:50:19Z</updated>

		<summary type="html">&lt;p&gt;Who: ページの作成:「blabber.imとConversationsからフォークされたAndroid用XMPPクライアント。blabber.imは[https://codeberg.org/kriztan/blabber.im/releases 最終…」&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[blabber.im]]と[[Conversations]]からフォークされたAndroid用XMPPクライアント。[[blabber.im]]は[https://codeberg.org/kriztan/blabber.im/releases 最終リリースが2022年]で、開発が停止しているが、monocles chatはそうでない。&lt;br /&gt;
&lt;br /&gt;
==Conversationsから変更された機能==&lt;br /&gt;
monocles chatによると、多くの変更と追加機能が存在する。&lt;br /&gt;
*エンドツーエンド暗号化は[[OTR]]に対応&lt;br /&gt;
*古い暗号スイートを削除したり、[https://ja.wikipedia.org/wiki/DNS-based_Authentication_of_Named_Entities &amp;lt;abbr title=&amp;quot;DNS-based Authentication of Named Entities&amp;quot;&amp;gt;DANE&amp;lt;/abbr&amp;gt;]に対応するなど、サーバーとの通信をより安全化&lt;br /&gt;
*Torのような匿名暗号ネットワーク[https://geti2p.net/ja/ I2P]に対応&lt;br /&gt;
*外観の選択肢が増加&lt;br /&gt;
&lt;br /&gt;
==外部リンク==&lt;br /&gt;
===パッケージ配信===&lt;br /&gt;
*[https://f-droid.org/ja/packages/de.monocles.chat/ F-Droid]&lt;br /&gt;
*[https://play.google.com/store/apps/details?id=eu.monocles.chat Google Play]&lt;br /&gt;
*[https://codeberg.org/monocles/monocles_chat/releases Codeberg リリース]&lt;br /&gt;
&lt;br /&gt;
=== monocles XMPPサーバー===&lt;br /&gt;
*[https://monocles.chat/login monocles.chat]&lt;br /&gt;
*[https://monocles.eu/conversejs Converse.js]&lt;br /&gt;
&lt;br /&gt;
===開発===&lt;br /&gt;
*[https://codeberg.org/monocles/monocles_chat ソースコード] - Codeberg&lt;br /&gt;
**[https://codeberg.org/monocles/monocles_chat/issues 問題]&lt;br /&gt;
*[https://translate.codeberg.org/projects/monocles_chat/monocles_chat 翻訳]&lt;br /&gt;
&lt;br /&gt;
===その他===&lt;br /&gt;
*[https://xmpp.org/software/monocles-chat/ XMPP標準化団体xmpp.orgのページ]&lt;br /&gt;
*[https://monocles.eu/more/ monocles公式ウェブサイト]&lt;br /&gt;
**[https://docs.monocles.eu/apps/chat.app/ monocles chat公式ドキュメント]&lt;br /&gt;
**[https://ocean.monocles.eu/apps/registration/ アカウント登録]&lt;br /&gt;
*[https://monocles.social/@monocles 公式SNSアカウント]&lt;br /&gt;
*[xmpp:support@conference.monocles.eu XMPP公式手助けグループ]&lt;/div&gt;</summary>
		<author><name>Who</name></author>
	</entry>
	<entry>
		<id>https://wiki.step.im/index.php?title=%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%88%E4%B8%80%E8%A6%A7&amp;diff=257</id>
		<title>クライアント一覧</title>
		<link rel="alternate" type="text/html" href="https://wiki.step.im/index.php?title=%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%88%E4%B8%80%E8%A6%A7&amp;diff=257"/>
		<updated>2024-05-15T01:41:25Z</updated>

		<summary type="html">&lt;p&gt;Who: /* 概要 */ monocles chatを追加&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[クライアント一覧]]&lt;br /&gt;
&lt;br /&gt;
== 概要 ==&lt;br /&gt;
日本語でのXMPPクライアントの一覧。&lt;br /&gt;
「日本語で」ある必要性のためにあるページ。&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;margin:auto&amp;quot;&lt;br /&gt;
|+ XMPPクライアント一覧&lt;br /&gt;
|-&lt;br /&gt;
! 名前 !! 対応OS !! [[MUC]](グループチャット) !! 暗号化([[OpenPGP]]) !! 暗号化([[OTR]]) !! 暗号化([[OMEMO]]) !!ファイル転送 !! 音声通話 !! ビデオ通話 !! 日本語メニュー !! リンク !! 解説&lt;br /&gt;
|-&lt;br /&gt;
| [[Conversations]] || Android ||○ || ○ || ×(現在は削除[https://github.com/iNPUTmice/Conversations/issues/2908])||○ || ○ || ○ || ○ || ○ || https://conversations.im/ || Playストアからではカンパ扱いになるので有料&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [[blabber.im]] || Android ||○ || ○ || ×||○ || ○ || ○ || ○ || ○ || https://blabber.im/ || Conversationsから派生。[https://codeberg.org/kriztan/blabber.im/releases 最終リリースが2022年]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [[monocles chat]] || Android || ○ || ○ || ○|| ○ || ○ || ○ || ○ || ○ || https://monocles.eu/more/ || Conversationsとblabber.imから派生。&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [[Monal]] || iOS,Mac OS || ○||  || × || ○ || ○ ||  ||  || || https://apps.apple.com/app/id317711500 || empty&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| [[Siskin IM]] || iOS || ○||  ||  || ○ || ○ || ○ || ○ || || https://siskin.im/ || empty&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| [[Beagle IM]] || Mac OS || ○||  ||  || ○ || ○ || ○ || ○ || || https://beagle.im/ || empty&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| [[Gajim]] || Windows,Mac OS,Linux|| ○|| ○ ||  △ ||  ○ || ○ || ○ || △ || ○ || https://gajim.org/ || empty&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| [[Dino]] || Linux || ○ || ○||  || ○ || ○ || ○ || ○ || △||https://dino.im/ || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| [[converse.js]] || Web || ○ ||  ||   || ○ || ○ ||  ||  || △（サイト自体は英語）||https://conversejs.org/ || Webで利用できるクライアント&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [[movim]] || Web || ○ ||  ||   || ○ ||  ||  ||  || △（ログインすれば日本表示にできる）||https://movim.eu/|| XMPPアカウントでログインするSNS。&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| Pidgin || Windows,Mac OS,Linux|| ||  ||   || ||  ||  ||  ||   ||https://www.pidgin.im/ || マルチチャットクライアント&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Thunderbird || Windows,Mac OS,Linux|| ○||  || △（デフォルトでは無効[https://wiki.mozilla.org/Thunderbird:OTR]） ||   || ||  ||  ||○ || https://www.thunderbird.net/ja/ || チャット機能を使って接続が可[https://support.mozilla.org/ja/kb/instant-messaging-and-chat]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
※機能が対応していても同じクライアントやOSでなければ使えない場合もあるので注意&lt;br /&gt;
&lt;br /&gt;
=== 関連 ===&lt;br /&gt;
[[Category:クライアント]]&lt;br /&gt;
&lt;br /&gt;
== リンク ==&lt;br /&gt;
* [https://xmpp.org/software/ Software · XMPP Software（英語）]&lt;br /&gt;
* [https://de.wikipedia.org/wiki/Liste_von_XMPP-Clients Liste von XMPP-Clients（オランダ語）]&lt;br /&gt;
* [https://apps.xmpp24.de/en/ XMPP Messenger Table（英語）]&lt;/div&gt;</summary>
		<author><name>Who</name></author>
	</entry>
	<entry>
		<id>https://wiki.step.im/index.php?title=OTR&amp;diff=256</id>
		<title>OTR</title>
		<link rel="alternate" type="text/html" href="https://wiki.step.im/index.php?title=OTR&amp;diff=256"/>
		<updated>2024-05-15T01:30:32Z</updated>

		<summary type="html">&lt;p&gt;Who: /* 説明 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:基本用語]]&lt;br /&gt;
[[Category:エンドツーエンド暗号化]]&lt;br /&gt;
Off-the-Record Messaging&lt;br /&gt;
&lt;br /&gt;
== 日本語訳 ==&lt;br /&gt;
()&lt;br /&gt;
&lt;br /&gt;
== 説明 ==&lt;br /&gt;
インスタントメッセージ用の暗号化プロトコル。&lt;br /&gt;
&lt;br /&gt;
普通に使う分には、暗号化のこの機能によってデータを盗み見られる危険性は減って安全な会話ができる、と思っておけばいいかもしれない。&lt;br /&gt;
ただし複数の相手とのチャットには対応していない。&lt;br /&gt;
&lt;br /&gt;
[[ChatSecure]]、[[monocles chat]]、[[Psi]]などのクライアントが対応している。&lt;br /&gt;
&lt;br /&gt;
=== 関連用語 ===&lt;br /&gt;
[[OMEMO]]&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
== リンク ==&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Off-the-Record_Messaging Off-the-Record Messaging - Wikipedia]&lt;br /&gt;
* [https://wiki.xmpp.org/web/OTR OTR - XMPP WIKI]&lt;/div&gt;</summary>
		<author><name>Who</name></author>
	</entry>
	<entry>
		<id>https://wiki.step.im/index.php?title=Conversations&amp;diff=255</id>
		<title>Conversations</title>
		<link rel="alternate" type="text/html" href="https://wiki.step.im/index.php?title=Conversations&amp;diff=255"/>
		<updated>2024-05-15T01:29:33Z</updated>

		<summary type="html">&lt;p&gt;Who: /* ・Monocles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:クライアント]]&lt;br /&gt;
== 日本語訳 ==&lt;br /&gt;
()&lt;br /&gt;
&lt;br /&gt;
== 説明 ==&lt;br /&gt;
Android6.0以降向けの多機能クライアント。OpenPGP、[[OMEMO]]に対応している。&lt;br /&gt;
&lt;br /&gt;
オープンソースであるので、[[blabber.im]]のようにフォークしたアプリも存在している。&lt;br /&gt;
&lt;br /&gt;
GooglePlayストアから購入できるが、F-Droidから無料でインストールもできる。&lt;br /&gt;
&lt;br /&gt;
=== 関連用語 ===&lt;br /&gt;
&lt;br /&gt;
====・[[blabber.im]]====&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
====・Quicksy====&lt;br /&gt;
Conversationsのフォーク。&lt;br /&gt;
&lt;br /&gt;
====・[[monocles chat]]====&lt;br /&gt;
blabber.imとConversationsのフォークアプリ。&lt;br /&gt;
&lt;br /&gt;
====・Conv6ations====&lt;br /&gt;
Conversationsのフォークアプリ。&lt;br /&gt;
IPv6の接続回りの違いがある、らしい。開発中止。&lt;br /&gt;
&lt;br /&gt;
== リンク ==&lt;br /&gt;
* [https://conversations.im/ Conversations: the very last word in instant messaging]&lt;br /&gt;
* [https://play.google.com/store/apps/details?id=eu.siacs.conversations Conversations (Jabber / XMPP) - Google Play のアプリ]&lt;br /&gt;
* [https://f-droid.org/en/packages/eu.siacs.conversations/ Conversations | F-Droid - Free and Open Source Android App Repository]&lt;br /&gt;
* [https://quicksy.im/ Quicksy]&lt;br /&gt;
* [https://play.google.com/store/apps/details?id=im.quicksy.client Quicksy - Google Play のアプリ]&lt;/div&gt;</summary>
		<author><name>Who</name></author>
	</entry>
	<entry>
		<id>https://wiki.step.im/index.php?title=Conversations&amp;diff=254</id>
		<title>Conversations</title>
		<link rel="alternate" type="text/html" href="https://wiki.step.im/index.php?title=Conversations&amp;diff=254"/>
		<updated>2024-04-14T04:57:20Z</updated>

		<summary type="html">&lt;p&gt;Who: /* リンク */ 消失&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:クライアント]]&lt;br /&gt;
== 日本語訳 ==&lt;br /&gt;
()&lt;br /&gt;
&lt;br /&gt;
== 説明 ==&lt;br /&gt;
Android6.0以降向けの多機能クライアント。OpenPGP、[[OMEMO]]に対応している。&lt;br /&gt;
&lt;br /&gt;
オープンソースであるので、[[blabber.im]]のようにフォークしたアプリも存在している。&lt;br /&gt;
&lt;br /&gt;
GooglePlayストアから購入できるが、F-Droidから無料でインストールもできる。&lt;br /&gt;
&lt;br /&gt;
=== 関連用語 ===&lt;br /&gt;
&lt;br /&gt;
====・[[blabber.im]]====&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
====・Quicksy====&lt;br /&gt;
Conversationsのフォーク。&lt;br /&gt;
&lt;br /&gt;
====・[[Monocles]]====&lt;br /&gt;
blabber.imとConversationsのフォークアプリ。&lt;br /&gt;
&lt;br /&gt;
====・Conv6ations====&lt;br /&gt;
Conversationsのフォークアプリ。&lt;br /&gt;
IPv6の接続回りの違いがある、らしい。開発中止。&lt;br /&gt;
&lt;br /&gt;
== リンク ==&lt;br /&gt;
* [https://conversations.im/ Conversations: the very last word in instant messaging]&lt;br /&gt;
* [https://play.google.com/store/apps/details?id=eu.siacs.conversations Conversations (Jabber / XMPP) - Google Play のアプリ]&lt;br /&gt;
* [https://f-droid.org/en/packages/eu.siacs.conversations/ Conversations | F-Droid - Free and Open Source Android App Repository]&lt;br /&gt;
* [https://quicksy.im/ Quicksy]&lt;br /&gt;
* [https://play.google.com/store/apps/details?id=im.quicksy.client Quicksy - Google Play のアプリ]&lt;/div&gt;</summary>
		<author><name>Who</name></author>
	</entry>
	<entry>
		<id>https://wiki.step.im/index.php?title=Conversations&amp;diff=253</id>
		<title>Conversations</title>
		<link rel="alternate" type="text/html" href="https://wiki.step.im/index.php?title=Conversations&amp;diff=253"/>
		<updated>2024-04-14T04:55:24Z</updated>

		<summary type="html">&lt;p&gt;Who: /* 説明 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:クライアント]]&lt;br /&gt;
== 日本語訳 ==&lt;br /&gt;
()&lt;br /&gt;
&lt;br /&gt;
== 説明 ==&lt;br /&gt;
Android6.0以降向けの多機能クライアント。OpenPGP、[[OMEMO]]に対応している。&lt;br /&gt;
&lt;br /&gt;
オープンソースであるので、[[blabber.im]]のようにフォークしたアプリも存在している。&lt;br /&gt;
&lt;br /&gt;
GooglePlayストアから購入できるが、F-Droidから無料でインストールもできる。&lt;br /&gt;
&lt;br /&gt;
=== 関連用語 ===&lt;br /&gt;
&lt;br /&gt;
====・[[blabber.im]]====&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
====・Quicksy====&lt;br /&gt;
Conversationsのフォーク。&lt;br /&gt;
&lt;br /&gt;
====・[[Monocles]]====&lt;br /&gt;
blabber.imとConversationsのフォークアプリ。&lt;br /&gt;
&lt;br /&gt;
====・Conv6ations====&lt;br /&gt;
Conversationsのフォークアプリ。&lt;br /&gt;
IPv6の接続回りの違いがある、らしい。開発中止。&lt;br /&gt;
&lt;br /&gt;
== リンク ==&lt;br /&gt;
* [https://conversations.im/ Conversations: the very last word in instant messaging]&lt;br /&gt;
* [https://play.google.com/store/apps/details?id=eu.siacs.conversations Conversations (Jabber / XMPP) - Google Play のアプリ]&lt;br /&gt;
* [https://f-droid.org/en/packages/eu.siacs.conversations/ Conversations | F-Droid - Free and Open Source Android App Repository]&lt;br /&gt;
* [https://quicksy.im/ Quicksy]&lt;br /&gt;
* [https://play.google.com/store/apps/details?id=im.quicksy.client Quicksy - Google Play のアプリ]&lt;br /&gt;
* [https://f-droid.org/en/packages/eu.sum7.conversations/ Conv6ations | F-Droid - Free and Open Source Android App Repository]&lt;/div&gt;</summary>
		<author><name>Who</name></author>
	</entry>
	<entry>
		<id>https://wiki.step.im/index.php?title=%E4%BB%A3%E6%9B%BF%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E5%AF%BE%E5%BF%9C%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC&amp;diff=252</id>
		<title>代替ネットワーク対応サーバー</title>
		<link rel="alternate" type="text/html" href="https://wiki.step.im/index.php?title=%E4%BB%A3%E6%9B%BF%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E5%AF%BE%E5%BF%9C%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC&amp;diff=252"/>
		<updated>2024-03-22T04:20:56Z</updated>

		<summary type="html">&lt;p&gt;Who: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;サーバー名アルファベット順&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot; |サーバー&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot; |代替ネットワーク&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot; |[https://xmpp.org/extensions/xep-0001.html &amp;lt;abbr title=&amp;quot;XEP-0001: XMPP Extension Protocols&amp;quot;&amp;gt;XEP&amp;lt;/abbr&amp;gt;]&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot; |備考&lt;br /&gt;
|-&lt;br /&gt;
!名前&lt;br /&gt;
!情報&lt;br /&gt;
![https://community.torproject.org/onion-services/ オニオン](Tor)&lt;br /&gt;
![https://geti2p.net/ja/ I2P]&lt;br /&gt;
![[multi_user_chat|&amp;lt;abbr title=&amp;quot;XEP-0045: Multi-User Chat&amp;quot;&amp;gt;MUC&amp;lt;/abbr&amp;gt;]]&lt;br /&gt;
![[OMEMO|&amp;lt;abbr title=&amp;quot;XEP-0384: OMEMO Encryption&amp;quot;&amp;gt;OMEMO&amp;lt;/abbr&amp;gt;]]&lt;br /&gt;
|-&lt;br /&gt;
|[https://5222.de/ 5222.de]&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|ドイツ語。&lt;br /&gt;
|-&lt;br /&gt;
|[https://cock.li/ Cock.li]&lt;br /&gt;
|[https://cock.li/help][https://cock.li/xmpp]&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[https://creep.im/ Creep.im]&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[https://dismail.de/ dismail.de]&lt;br /&gt;
|[https://dismail.de/info.html]&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[https://jabber-germany.de/ jabber-germany.de]&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[https://jabber.cat/ jabber.cat]&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|ドイツ語。&lt;br /&gt;
|-&lt;br /&gt;
|[https://jabber.hot-chilli.net/ jabber.hot-chilli.net]&lt;br /&gt;
|[https://jabber.hot-chilli.net/server-specifications/]&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.jabjab.de/?lang=en JabJab.de]&lt;br /&gt;
|[https://www.jabjab.de/status]&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[https://otr.im/chat.html OTR.im]&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[https://pimux.de/ pimux.de]&lt;br /&gt;
|[https://pimux.de/about-pimux-de]&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[https://qwik.space/ qwik]&lt;br /&gt;
|[https://qwik.space/articles/xmpp/intro]&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[https://systemausfall.org/ systemausfall.org]&lt;br /&gt;
|[https://hilfe.systemausfall.org/xmpp/]&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|ドイツ語。&lt;br /&gt;
|-&lt;br /&gt;
|[https://trashserver.net/en/ trashserver.net]&lt;br /&gt;
|[https://trashserver.net/en/technics/]&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[https://wiuwiu.de/en/ wiuwiu.de]&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[https://xmpp.is/ XMPP.is]&lt;br /&gt;
|[https://xmpp.is/about/server/]&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Who</name></author>
	</entry>
	<entry>
		<id>https://wiki.step.im/index.php?title=OMEMO&amp;diff=251</id>
		<title>OMEMO</title>
		<link rel="alternate" type="text/html" href="https://wiki.step.im/index.php?title=OMEMO&amp;diff=251"/>
		<updated>2024-03-20T08:07:07Z</updated>

		<summary type="html">&lt;p&gt;Who: /* 電話番号 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:基本用語]]&lt;br /&gt;
[[Category:エンドツーエンド暗号化]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- 参考：http://jezf25zgvxlsvuzdzm6fg2hoetmruhy4uxnolyw46tuh4jugcwc7byqd.onion/OMEMO --&amp;gt;&lt;br /&gt;
==概要==&lt;br /&gt;
OMEMOは[https://xmpp.org/extensions/xep-0384.html#revision-history-v0.0.1 2015年に最初の版が作成された]XMPPのエンドツーエンド暗号化をする現代的な仕様で、[https://xmpp.org/extensions/xep-0384.html#intro-motivation 過去の暗号化仕様の問題を解決する]。インスタントメッセンジャー[https://signal.org/ja Signal]の暗号化を行うアルゴリズムであるDouble Ratchet（[https://signal.org/docs/specifications/doubleratchet/ Signal]、[https://ja.wikipedia.org/wiki/Double_Ratchetアルゴリズム Wikipedia日本語]）を[https://xmpp.org/extensions/xep-0384.html#intro-overview XMPPで仕様にした]ものである。&lt;br /&gt;
&lt;br /&gt;
==XMPPの他エンドツーエンド暗号化方式と比較した総覧==&lt;br /&gt;
&amp;lt;!-- https://wiki.xmpp.org/web/XMPP_E2E_Security#Comparative_Overview （固定版 https://wiki.xmpp.org/web/index.php?title=XMPP_E2E_Security&amp;amp;oldid=10490 )を和訳と微修正した。 --&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot; |企画&lt;br /&gt;
!colspan=&amp;quot;5&amp;quot; |セキュリティ特性&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot; |伝達の種類&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot; |XMPPとの互換性&lt;br /&gt;
|-&lt;br /&gt;
![https://ja.wikipedia.org/wiki/デジタル署名#認証 真正性]&lt;br /&gt;
![https://en.wikipedia.org/wiki/Information_security#Integrity &amp;lt;abbr title=&amp;quot;情報及び処理方法が、正確であること及び完全であることを保護すること。&amp;quot;&amp;gt;完全性&amp;lt;abbr&amp;gt;]&lt;br /&gt;
![https://ja.wikipedia.org/wiki/暗号 暗号化]&lt;br /&gt;
![https://ja.wikipedia.org/wiki/Forward_secrecy 前方秘匿性]&lt;br /&gt;
![https://en.wikipedia.org/wiki/Malleability_(cryptography) &amp;lt;abbr title=&amp;quot;暗号文が与えられたとき、ある関係性を持った別の暗号文の生成ができないこと。&amp;quot;&amp;gt;頑強性&amp;lt;/abbr&amp;gt;]&lt;br /&gt;
!1対1&lt;br /&gt;
!グループチャット&lt;br /&gt;
!オフラインメッセージ&lt;br /&gt;
!複数の送信源&lt;br /&gt;
!Discoveryのサポート&lt;br /&gt;
|-&lt;br /&gt;
|[https://xmpp.org/extensions/xep-0384.html OMEMO]&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |悪意のある認証済みデバイスの場合を除いて有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |認証済みデバイスによっては有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:yellow&amp;quot; |非匿名のみ有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|-&lt;br /&gt;
|[https://xmpp.org/extensions/xep-0374.html OpenPGP for XMPPインスタントメッセージ]&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:yellow&amp;quot; |N/A&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |可能であり、予定があるが、現在は仕様がない&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|-&lt;br /&gt;
|[https://xmpp.org/extensions/xep-0027.html 古いPGP]&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無。メッセージ暗号化のみで、署名されない&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:yellow&amp;quot; |N/A&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:yellow&amp;quot; |全送信源で同じ鍵の組み合わせの場合は有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
|-&lt;br /&gt;
|OTR&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Signalとの比較==&lt;br /&gt;
以下に挙げられているSignalの問題がXMPPにはなく、Signalの最大の特長である優れた暗号化の実装がOMEMOにある。&lt;br /&gt;
&lt;br /&gt;
===Signalの問題点===&lt;br /&gt;
====全OSに共通の問題====&lt;br /&gt;
=====中央集権=====&lt;br /&gt;
サーバーを選べない。[https://signal.org/blog/the-ecosystem-is-moving/ Signal側はこれが問題にされていると認識しているが、脱中央集権化すると、変更を加えることが難しくなると主張している]。&lt;br /&gt;
&lt;br /&gt;
=====Google reCAPTCHA=====&lt;br /&gt;
プライバシーに悪いGoogle reCAPTCHAが使われ、[https://github.com/signalapp/Signal-Android/issues/10999 Githubのissueで取り上げらた]。&lt;br /&gt;
&lt;br /&gt;
=====電話番号=====&lt;br /&gt;
[https://support.signal.org/hc/ja/articles/360007318691-電話番号を登録する 電話番号が必要]。&lt;br /&gt;
&lt;br /&gt;
====Android版の問題====&lt;br /&gt;
=====F-Droidにアプリがない=====&lt;br /&gt;
[https://community.signalusers.org/t/signal-android-app-on-f-droid-store-f-droid-status/28581 F-Droidにアプリがない]。ただし、フォークした[https://www.twinhelix.com/apps/signal-foss Signal FOSS]はF-Droidにレポジトリを追加して入手できる。&lt;br /&gt;
&lt;br /&gt;
====デスクトップ版の問題====&lt;br /&gt;
=====スマートフォンに依存=====&lt;br /&gt;
[https://support.signal.org/hc/ja/articles/360007318751-登録のトラブルシューティング デスクトップアプリだけでは登録できず、スマートフォンが必要]。&lt;br /&gt;
&lt;br /&gt;
=====Electron=====&lt;br /&gt;
デスクトップ版は、起動が遅く、動作が重く、不安定で、セキュリティが脆く、アプリのファイルサイズが大きく、視覚障害者が利用しづらい[https://www.freie-messenger.de/en/begriffe/electron/ Electron]を使用している。[https://github.com/signalapp/Signal-Desktop/issues/2178 過去にはGithubのissueでこの問題が取り上げられたが]、大幅なコード書き換えが必要なため、開発者が取り除く予定はない。&lt;br /&gt;
&lt;br /&gt;
===XMPP+OMEMOがSignalに対して完全に上回る点===&lt;br /&gt;
* 非中央集権。&lt;br /&gt;
** 電話番号不要。&lt;br /&gt;
** スマートフォン不要。&lt;br /&gt;
** サーバーとクライアントは、通信経路匿名化ソフトウェアTorのオニオンサービスで通信可能。&lt;br /&gt;
&lt;br /&gt;
* クライアントアプリの豊富さ。&lt;br /&gt;
** 使いやすいクライアントがある。&lt;br /&gt;
** 外観が豊富。&lt;br /&gt;
** 軽量なクライアントがある。&lt;br /&gt;
** GUIもCLIもある。&lt;br /&gt;
** Elecrtonを使用しないクライアントがある。&lt;br /&gt;
** Android OSの場合は、F-Droidから外部のレポジトリを登録せずに、アプリをダウンロードできる。&lt;br /&gt;
* サーバーソフトウェアの豊富さ。&lt;br /&gt;
* デスクトップパソコンとの相性。&lt;br /&gt;
&lt;br /&gt;
===Signalと同等な点===&lt;br /&gt;
* メッセージの暗号化&lt;br /&gt;
** エンドツーエンド暗号化&lt;br /&gt;
&lt;br /&gt;
このように、エドワード・スノーデンがエンドツーエンド暗号化を理由にSignalを薦めていても、OMEMOではなく、わざわざSignalを選ぶ理由がない。&lt;br /&gt;
&lt;br /&gt;
==電子メール+OpenPGPとの比較==&lt;br /&gt;
OpenPGPは古く、仕様にたくさんの問題を抱えている。&lt;br /&gt;
&lt;br /&gt;
===OpenPGPの問題点===&lt;br /&gt;
&amp;lt;!-- 参考：https://nicholasjohnson.ch/2022/01/03/goodbye-pgp/ --&amp;gt;&lt;br /&gt;
====Web of Trust====&lt;br /&gt;
全員の連絡先が他の連絡先全員に漏れる。&lt;br /&gt;
&lt;br /&gt;
====鍵サーバー====&lt;br /&gt;
=====署名スパム=====&lt;br /&gt;
公衆鍵サーバーは誰でもどの鍵にも署名可能で、大量の無駄な鍵で署名されて、鍵が長くなる。&lt;br /&gt;
&lt;br /&gt;
=====鍵束=====&lt;br /&gt;
鍵サーバーに鍵を要求する度に、端末のIPアドレスと要求したすべての鍵がサーバーに知られる。これは、ランダムな間隔でTor経由で鍵を更新する[https://manpages.debian.org/bullseye/parcimonie/parcimonie.1p.en.html Parcimonie]で防げるが、ソフトウェアは1年半以上も更新されていない。&lt;br /&gt;
&lt;br /&gt;
====朽ちた暗号====&lt;br /&gt;
[https://safecurves.cr.yp.to/rigid.html OpenPGPは、バックドアがあるとされているNISTの楕円曲線をサポートしている。]&lt;br /&gt;
&lt;br /&gt;
OpenPGPは、下位互換性と標準への準拠という名目でセキュリティを犠牲にしている。SHA-1、3DES、CAST5、Blowfish などの朽ちているか、もしくは古いアルゴリズムをサポートしている。最新の暗号システムでは使用しないCFBモードとS2Kパスワード ハッシュを使用する。&lt;br /&gt;
&lt;br /&gt;
====鍵の有効期限====&lt;br /&gt;
連絡先に定期的に鍵を更新するよう強要する。鍵を更新するため、[[#鍵サーバー]]を使用する人がいる。&lt;br /&gt;
&lt;br /&gt;
====指定がなければRSAを使用====&lt;br /&gt;
より速く、より小さく、より安全な[https://ja.wikipedia.org/wiki/エドワーズ曲線デジタル署名アルゴリズム Curve25519]を使用しない。&lt;br /&gt;
&lt;br /&gt;
====鍵IDと指紋====&lt;br /&gt;
多数の利用者は、成りすまし可能なv3の危険な鍵IDのままにしている。しかし、現在のv4の鍵であっても、[https://shattered.io/ 衝突済みのSHA1]に依存している。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ====パケット形式==== --&amp;gt;&lt;br /&gt;
====圧縮＋暗号化====&lt;br /&gt;
[https://security.stackexchange.com/questions/43413/is-it-safe-for-gpg-to-compress-all-messages-prior-to-encryption-by-default 攻撃者が暗号化されたメッセージを解読するのに役立つ場合がある。]&lt;br /&gt;
&lt;br /&gt;
====否認不可能====&lt;br /&gt;
署名暗号技術の[https://ja.wikipedia.org/wiki/否認不可 否認可能性]がない。ただし、電子メールではサーバーは[https://ja.wikipedia.org/wiki/DKIM DKIM]を使用し、メール内容にはメタデータとIPログに加えてコンテキスト情報があり、OpenPGPに否認可能性がなくても変わらない。&lt;br /&gt;
&lt;br /&gt;
====前方秘匿性（フォワードセキュリティ）の欠如====&lt;br /&gt;
暗号鍵の秘密鍵が漏洩した場合、その鍵で過去に暗号化されたすべてのデータを他者が解読可能になる。主要なメールプロバイダーは要求に応じて法執行機関にメール内容を提供し、NSAは[https://ja.wikipedia.org/wiki/XKeyscore XKeyscore]を利用して、送信されるメールのコピーを保持する。&lt;br /&gt;
&lt;br /&gt;
====メッセージパディングなし====&lt;br /&gt;
パディングがない暗号のモードであるCFBを使うので、暗号文のままでもメッセージの正確な長さがわかる。&lt;br /&gt;
&lt;br /&gt;
また、[https://inaz2.hatenablog.com/entry/2015/12/23/000923 パディングオラクル攻撃]に対して脆弱。&lt;br /&gt;
&lt;br /&gt;
===XMPP+OMEMOが電子メール+OpenPGPに対して完全に上回る点===&lt;br /&gt;
* 鍵サーバーがない。&lt;br /&gt;
* 朽ちた暗号が使われない。[https://xmpp.org/extensions/xep-0384.html#protocol-key_exchange 鍵交換]は暗号Curve25519/Ed25519とハッシュSHA-256が使われ、[https://xmpp.org/extensions/xep-0384.html#protocol-message_encryption メッセージ暗号化]は暗号AES-256-CBCとハッシュHKDF-SHA-256、HMAC-SHA-256が使われる。ただし、OpenPGPと同じく否認可能性はない。&lt;br /&gt;
* 前方秘匿性（フォワードセキュリティ）があり、すなわち同じ鍵を短期間だけ使い、自動的に更新されるため、秘密にすべき鍵が漏洩しても、過去に送信したメッセージをほとんど解読できない。&lt;br /&gt;
* [https://xmpp.org/extensions/xep-0384.html#protocol-double_ratchet メッセージパディングあり]。&lt;br /&gt;
* 別人が同じ暗号文を再送する[https://ja.wikipedia.org/wiki/反射攻撃 反射攻撃]に[https://xmpp.org/extensions/xep-0384.html#reqs-threat-model 強い]。&lt;br /&gt;
&lt;br /&gt;
===XMPP+OMEMOが電子メール+OpenPGPに対して下回る点===&lt;br /&gt;
* クライアントが少ない。&lt;br /&gt;
* 普及してない。&lt;br /&gt;
&lt;br /&gt;
==関連用語==&lt;br /&gt;
* [[OTR]]&lt;br /&gt;
&lt;br /&gt;
==外部リンク==&lt;br /&gt;
* [https://xmpp.org/extensions/xep-0384.html XEP-0384: OMEMO Encryption]&lt;br /&gt;
* [https://conversations.im/omemo/ OMEMO Multi-End Message and Object Encryption]&lt;br /&gt;
* [https://omemo.top/ Are we OMEMO yet?]&lt;br /&gt;
&lt;br /&gt;
===Wiki===&lt;br /&gt;
* [https://wiki.xmpp.org/web/XMPP_E2E_Security XMPP E2E Security] - XMPP Wiki&lt;br /&gt;
* [https://wiki.xmpp.org/web/Tech_pages/OMEMO Tech pages/OMEMO] - XMPP Wiki&lt;br /&gt;
* [https://en.wikipedia.org/wiki/OMEMO OMEMO] - Wikipedia英語&lt;br /&gt;
* [https://ja.wikipedia.org/wiki/Double_Ratchetアルゴリズム Double Ratchetアルゴリズム] - Wikipedia日本語&lt;/div&gt;</summary>
		<author><name>Who</name></author>
	</entry>
	<entry>
		<id>https://wiki.step.im/index.php?title=OMEMO&amp;diff=249</id>
		<title>OMEMO</title>
		<link rel="alternate" type="text/html" href="https://wiki.step.im/index.php?title=OMEMO&amp;diff=249"/>
		<updated>2024-03-14T01:44:09Z</updated>

		<summary type="html">&lt;p&gt;Who: /* XMPP+OMEMOが電子メール+OpenPGPに対して完全に上回る点 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:基本用語]]&lt;br /&gt;
[[Category:エンドツーエンド暗号化]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- 参考：http://jezf25zgvxlsvuzdzm6fg2hoetmruhy4uxnolyw46tuh4jugcwc7byqd.onion/OMEMO --&amp;gt;&lt;br /&gt;
==概要==&lt;br /&gt;
OMEMOは[https://xmpp.org/extensions/xep-0384.html#revision-history-v0.0.1 2015年に最初の版が作成された]XMPPのエンドツーエンド暗号化をする現代的な仕様で、[https://xmpp.org/extensions/xep-0384.html#intro-motivation 過去の暗号化仕様の問題を解決する]。インスタントメッセンジャー[https://signal.org/ja Signal]の暗号化を行うアルゴリズムであるDouble Ratchet（[https://signal.org/docs/specifications/doubleratchet/ Signal]、[https://ja.wikipedia.org/wiki/Double_Ratchetアルゴリズム Wikipedia日本語]）を[https://xmpp.org/extensions/xep-0384.html#intro-overview XMPPで仕様にした]ものである。&lt;br /&gt;
&lt;br /&gt;
==XMPPの他エンドツーエンド暗号化方式と比較した総覧==&lt;br /&gt;
&amp;lt;!-- https://wiki.xmpp.org/web/XMPP_E2E_Security#Comparative_Overview （固定版 https://wiki.xmpp.org/web/index.php?title=XMPP_E2E_Security&amp;amp;oldid=10490 )を和訳と微修正した。 --&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot; |企画&lt;br /&gt;
!colspan=&amp;quot;5&amp;quot; |セキュリティ特性&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot; |伝達の種類&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot; |XMPPとの互換性&lt;br /&gt;
|-&lt;br /&gt;
![https://ja.wikipedia.org/wiki/デジタル署名#認証 真正性]&lt;br /&gt;
![https://en.wikipedia.org/wiki/Information_security#Integrity &amp;lt;abbr title=&amp;quot;情報及び処理方法が、正確であること及び完全であることを保護すること。&amp;quot;&amp;gt;完全性&amp;lt;abbr&amp;gt;]&lt;br /&gt;
![https://ja.wikipedia.org/wiki/暗号 暗号化]&lt;br /&gt;
![https://ja.wikipedia.org/wiki/Forward_secrecy 前方秘匿性]&lt;br /&gt;
![https://en.wikipedia.org/wiki/Malleability_(cryptography) &amp;lt;abbr title=&amp;quot;暗号文が与えられたとき、ある関係性を持った別の暗号文の生成ができないこと。&amp;quot;&amp;gt;頑強性&amp;lt;/abbr&amp;gt;]&lt;br /&gt;
!1対1&lt;br /&gt;
!グループチャット&lt;br /&gt;
!オフラインメッセージ&lt;br /&gt;
!複数の送信源&lt;br /&gt;
!Discoveryのサポート&lt;br /&gt;
|-&lt;br /&gt;
|[https://xmpp.org/extensions/xep-0384.html OMEMO]&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |悪意のある認証済みデバイスの場合を除いて有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |認証済みデバイスによっては有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:yellow&amp;quot; |非匿名のみ有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|-&lt;br /&gt;
|[https://xmpp.org/extensions/xep-0374.html OpenPGP for XMPPインスタントメッセージ]&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:yellow&amp;quot; |N/A&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |可能であり、予定があるが、現在は仕様がない&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|-&lt;br /&gt;
|[https://xmpp.org/extensions/xep-0027.html 古いPGP]&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無。メッセージ暗号化のみで、署名されない&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:yellow&amp;quot; |N/A&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:yellow&amp;quot; |全送信源で同じ鍵の組み合わせの場合は有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
|-&lt;br /&gt;
|OTR&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Signalとの比較==&lt;br /&gt;
以下に挙げられているSignalの問題がXMPPにはなく、Signalの最大の特長である優れた暗号化の実装がOMEMOにある。&lt;br /&gt;
&lt;br /&gt;
===Signalの問題点===&lt;br /&gt;
====全OSに共通の問題====&lt;br /&gt;
=====中央集権=====&lt;br /&gt;
サーバーを選べない。[https://signal.org/blog/the-ecosystem-is-moving/ Signal側はこれが問題にされていると認識しているが、脱中央集権化すると、変更を加えることが難しくなると主張している]。&lt;br /&gt;
&lt;br /&gt;
=====Google reCAPTCHA=====&lt;br /&gt;
プライバシーに悪いGoogle reCAPTCHAが使われ、[https://github.com/signalapp/Signal-Android/issues/10999 Githubのissueで取り上げらた]。&lt;br /&gt;
&lt;br /&gt;
=====電話番号=====&lt;br /&gt;
[https://support.signal.org/hc/ja/articles/360007318691-電話番号を登録する 電話番号が必要]。&lt;br /&gt;
&lt;br /&gt;
[https://support.signal.org/hc/ja/articles/360007061452-Signal-は私が連絡先に登録している人たちに私の電話番号を送信しているのですか? 電話番号が相手に伝わる]。&lt;br /&gt;
&lt;br /&gt;
====Android版の問題====&lt;br /&gt;
=====F-Droidにアプリがない=====&lt;br /&gt;
[https://community.signalusers.org/t/signal-android-app-on-f-droid-store-f-droid-status/28581 F-Droidにアプリがない]。ただし、フォークした[https://www.twinhelix.com/apps/signal-foss Signal FOSS]はF-Droidにレポジトリを追加して入手できる。&lt;br /&gt;
&lt;br /&gt;
====デスクトップ版の問題====&lt;br /&gt;
=====スマートフォンに依存=====&lt;br /&gt;
[https://support.signal.org/hc/ja/articles/360007318751-登録のトラブルシューティング デスクトップアプリだけでは登録できず、スマートフォンが必要]。&lt;br /&gt;
&lt;br /&gt;
=====Electron=====&lt;br /&gt;
デスクトップ版は、起動が遅く、動作が重く、不安定で、セキュリティが脆く、アプリのファイルサイズが大きく、視覚障害者が利用しづらい[https://www.freie-messenger.de/en/begriffe/electron/ Electron]を使用している。[https://github.com/signalapp/Signal-Desktop/issues/2178 過去にはGithubのissueでこの問題が取り上げられたが]、大幅なコード書き換えが必要なため、開発者が取り除く予定はない。&lt;br /&gt;
&lt;br /&gt;
===XMPP+OMEMOがSignalに対して完全に上回る点===&lt;br /&gt;
* 非中央集権。&lt;br /&gt;
** 電話番号不要。&lt;br /&gt;
** スマートフォン不要。&lt;br /&gt;
** サーバーとクライアントは、通信経路匿名化ソフトウェアTorのオニオンサービスで通信可能。&lt;br /&gt;
&lt;br /&gt;
* クライアントアプリの豊富さ。&lt;br /&gt;
** 使いやすいクライアントがある。&lt;br /&gt;
** 外観が豊富。&lt;br /&gt;
** 軽量なクライアントがある。&lt;br /&gt;
** GUIもCLIもある。&lt;br /&gt;
** Elecrtonを使用しないクライアントがある。&lt;br /&gt;
** Android OSの場合は、F-Droidから外部のレポジトリを登録せずに、アプリをダウンロードできる。&lt;br /&gt;
* サーバーソフトウェアの豊富さ。&lt;br /&gt;
* デスクトップパソコンとの相性。&lt;br /&gt;
&lt;br /&gt;
===Signalと同等な点===&lt;br /&gt;
* メッセージの暗号化&lt;br /&gt;
** エンドツーエンド暗号化&lt;br /&gt;
&lt;br /&gt;
このように、エドワード・スノーデンがエンドツーエンド暗号化を理由にSignalを薦めていても、OMEMOではなく、わざわざSignalを選ぶ理由がない。&lt;br /&gt;
&lt;br /&gt;
==電子メール+OpenPGPとの比較==&lt;br /&gt;
OpenPGPは古く、仕様にたくさんの問題を抱えている。&lt;br /&gt;
&lt;br /&gt;
===OpenPGPの問題点===&lt;br /&gt;
&amp;lt;!-- 参考：https://nicholasjohnson.ch/2022/01/03/goodbye-pgp/ --&amp;gt;&lt;br /&gt;
====Web of Trust====&lt;br /&gt;
全員の連絡先が他の連絡先全員に漏れる。&lt;br /&gt;
&lt;br /&gt;
====鍵サーバー====&lt;br /&gt;
=====署名スパム=====&lt;br /&gt;
公衆鍵サーバーは誰でもどの鍵にも署名可能で、大量の無駄な鍵で署名されて、鍵が長くなる。&lt;br /&gt;
&lt;br /&gt;
=====鍵束=====&lt;br /&gt;
鍵サーバーに鍵を要求する度に、端末のIPアドレスと要求したすべての鍵がサーバーに知られる。これは、ランダムな間隔でTor経由で鍵を更新する[https://manpages.debian.org/bullseye/parcimonie/parcimonie.1p.en.html Parcimonie]で防げるが、ソフトウェアは1年半以上も更新されていない。&lt;br /&gt;
&lt;br /&gt;
====朽ちた暗号====&lt;br /&gt;
[https://safecurves.cr.yp.to/rigid.html OpenPGPは、バックドアがあるとされているNISTの楕円曲線をサポートしている。]&lt;br /&gt;
&lt;br /&gt;
OpenPGPは、下位互換性と標準への準拠という名目でセキュリティを犠牲にしている。SHA-1、3DES、CAST5、Blowfish などの朽ちているか、もしくは古いアルゴリズムをサポートしている。最新の暗号システムでは使用しないCFBモードとS2Kパスワード ハッシュを使用する。&lt;br /&gt;
&lt;br /&gt;
====鍵の有効期限====&lt;br /&gt;
連絡先に定期的に鍵を更新するよう強要する。鍵を更新するため、[[#鍵サーバー]]を使用する人がいる。&lt;br /&gt;
&lt;br /&gt;
====指定がなければRSAを使用====&lt;br /&gt;
より速く、より小さく、より安全な[https://ja.wikipedia.org/wiki/エドワーズ曲線デジタル署名アルゴリズム Curve25519]を使用しない。&lt;br /&gt;
&lt;br /&gt;
====鍵IDと指紋====&lt;br /&gt;
多数の利用者は、成りすまし可能なv3の危険な鍵IDのままにしている。しかし、現在のv4の鍵であっても、[https://shattered.io/ 衝突済みのSHA1]に依存している。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ====パケット形式==== --&amp;gt;&lt;br /&gt;
====圧縮＋暗号化====&lt;br /&gt;
[https://security.stackexchange.com/questions/43413/is-it-safe-for-gpg-to-compress-all-messages-prior-to-encryption-by-default 攻撃者が暗号化されたメッセージを解読するのに役立つ場合がある。]&lt;br /&gt;
&lt;br /&gt;
====否認不可能====&lt;br /&gt;
署名暗号技術の[https://ja.wikipedia.org/wiki/否認不可 否認可能性]がない。ただし、電子メールではサーバーは[https://ja.wikipedia.org/wiki/DKIM DKIM]を使用し、メール内容にはメタデータとIPログに加えてコンテキスト情報があり、OpenPGPに否認可能性がなくても変わらない。&lt;br /&gt;
&lt;br /&gt;
====前方秘匿性（フォワードセキュリティ）の欠如====&lt;br /&gt;
暗号鍵の秘密鍵が漏洩した場合、その鍵で過去に暗号化されたすべてのデータを他者が解読可能になる。主要なメールプロバイダーは要求に応じて法執行機関にメール内容を提供し、NSAは[https://ja.wikipedia.org/wiki/XKeyscore XKeyscore]を利用して、送信されるメールのコピーを保持する。&lt;br /&gt;
&lt;br /&gt;
====メッセージパディングなし====&lt;br /&gt;
パディングがない暗号のモードであるCFBを使うので、暗号文のままでもメッセージの正確な長さがわかる。&lt;br /&gt;
&lt;br /&gt;
また、[https://inaz2.hatenablog.com/entry/2015/12/23/000923 パディングオラクル攻撃]に対して脆弱。&lt;br /&gt;
&lt;br /&gt;
===XMPP+OMEMOが電子メール+OpenPGPに対して完全に上回る点===&lt;br /&gt;
* 鍵サーバーがない。&lt;br /&gt;
* 朽ちた暗号が使われない。[https://xmpp.org/extensions/xep-0384.html#protocol-key_exchange 鍵交換]は暗号Curve25519/Ed25519とハッシュSHA-256が使われ、[https://xmpp.org/extensions/xep-0384.html#protocol-message_encryption メッセージ暗号化]は暗号AES-256-CBCとハッシュHKDF-SHA-256、HMAC-SHA-256が使われる。ただし、OpenPGPと同じく否認可能性はない。&lt;br /&gt;
* 前方秘匿性（フォワードセキュリティ）があり、すなわち同じ鍵を短期間だけ使い、自動的に更新されるため、秘密にすべき鍵が漏洩しても、過去に送信したメッセージをほとんど解読できない。&lt;br /&gt;
* [https://xmpp.org/extensions/xep-0384.html#protocol-double_ratchet メッセージパディングあり]。&lt;br /&gt;
* 別人が同じ暗号文を再送する[https://ja.wikipedia.org/wiki/反射攻撃 反射攻撃]に[https://xmpp.org/extensions/xep-0384.html#reqs-threat-model 強い]。&lt;br /&gt;
&lt;br /&gt;
===XMPP+OMEMOが電子メール+OpenPGPに対して下回る点===&lt;br /&gt;
* クライアントが少ない。&lt;br /&gt;
* 普及してない。&lt;br /&gt;
&lt;br /&gt;
==関連用語==&lt;br /&gt;
* [[OTR]]&lt;br /&gt;
&lt;br /&gt;
==外部リンク==&lt;br /&gt;
* [https://xmpp.org/extensions/xep-0384.html XEP-0384: OMEMO Encryption]&lt;br /&gt;
* [https://conversations.im/omemo/ OMEMO Multi-End Message and Object Encryption]&lt;br /&gt;
* [https://omemo.top/ Are we OMEMO yet?]&lt;br /&gt;
&lt;br /&gt;
===Wiki===&lt;br /&gt;
* [https://wiki.xmpp.org/web/XMPP_E2E_Security XMPP E2E Security] - XMPP Wiki&lt;br /&gt;
* [https://wiki.xmpp.org/web/Tech_pages/OMEMO Tech pages/OMEMO] - XMPP Wiki&lt;br /&gt;
* [https://en.wikipedia.org/wiki/OMEMO OMEMO] - Wikipedia英語&lt;br /&gt;
* [https://ja.wikipedia.org/wiki/Double_Ratchetアルゴリズム Double Ratchetアルゴリズム] - Wikipedia日本語&lt;/div&gt;</summary>
		<author><name>Who</name></author>
	</entry>
	<entry>
		<id>https://wiki.step.im/index.php?title=OMEMO&amp;diff=248</id>
		<title>OMEMO</title>
		<link rel="alternate" type="text/html" href="https://wiki.step.im/index.php?title=OMEMO&amp;diff=248"/>
		<updated>2024-03-12T02:32:57Z</updated>

		<summary type="html">&lt;p&gt;Who: /* 電子メール+PGPとの比較 */ PGPの語句をOpenPGPに変更&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:基本用語]]&lt;br /&gt;
[[Category:エンドツーエンド暗号化]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- 参考：http://jezf25zgvxlsvuzdzm6fg2hoetmruhy4uxnolyw46tuh4jugcwc7byqd.onion/OMEMO --&amp;gt;&lt;br /&gt;
==概要==&lt;br /&gt;
OMEMOは[https://xmpp.org/extensions/xep-0384.html#revision-history-v0.0.1 2015年に最初の版が作成された]XMPPのエンドツーエンド暗号化をする現代的な仕様で、[https://xmpp.org/extensions/xep-0384.html#intro-motivation 過去の暗号化仕様の問題を解決する]。インスタントメッセンジャー[https://signal.org/ja Signal]の暗号化を行うアルゴリズムであるDouble Ratchet（[https://signal.org/docs/specifications/doubleratchet/ Signal]、[https://ja.wikipedia.org/wiki/Double_Ratchetアルゴリズム Wikipedia日本語]）を[https://xmpp.org/extensions/xep-0384.html#intro-overview XMPPで仕様にした]ものである。&lt;br /&gt;
&lt;br /&gt;
==XMPPの他エンドツーエンド暗号化方式と比較した総覧==&lt;br /&gt;
&amp;lt;!-- https://wiki.xmpp.org/web/XMPP_E2E_Security#Comparative_Overview （固定版 https://wiki.xmpp.org/web/index.php?title=XMPP_E2E_Security&amp;amp;oldid=10490 )を和訳と微修正した。 --&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot; |企画&lt;br /&gt;
!colspan=&amp;quot;5&amp;quot; |セキュリティ特性&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot; |伝達の種類&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot; |XMPPとの互換性&lt;br /&gt;
|-&lt;br /&gt;
![https://ja.wikipedia.org/wiki/デジタル署名#認証 真正性]&lt;br /&gt;
![https://en.wikipedia.org/wiki/Information_security#Integrity &amp;lt;abbr title=&amp;quot;情報及び処理方法が、正確であること及び完全であることを保護すること。&amp;quot;&amp;gt;完全性&amp;lt;abbr&amp;gt;]&lt;br /&gt;
![https://ja.wikipedia.org/wiki/暗号 暗号化]&lt;br /&gt;
![https://ja.wikipedia.org/wiki/Forward_secrecy 前方秘匿性]&lt;br /&gt;
![https://en.wikipedia.org/wiki/Malleability_(cryptography) &amp;lt;abbr title=&amp;quot;暗号文が与えられたとき、ある関係性を持った別の暗号文の生成ができないこと。&amp;quot;&amp;gt;頑強性&amp;lt;/abbr&amp;gt;]&lt;br /&gt;
!1対1&lt;br /&gt;
!グループチャット&lt;br /&gt;
!オフラインメッセージ&lt;br /&gt;
!複数の送信源&lt;br /&gt;
!Discoveryのサポート&lt;br /&gt;
|-&lt;br /&gt;
|[https://xmpp.org/extensions/xep-0384.html OMEMO]&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |悪意のある認証済みデバイスの場合を除いて有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |認証済みデバイスによっては有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:yellow&amp;quot; |非匿名のみ有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|-&lt;br /&gt;
|[https://xmpp.org/extensions/xep-0374.html OpenPGP for XMPPインスタントメッセージ]&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:yellow&amp;quot; |N/A&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |可能であり、予定があるが、現在は仕様がない&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|-&lt;br /&gt;
|[https://xmpp.org/extensions/xep-0027.html 古いPGP]&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無。メッセージ暗号化のみで、署名されない&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:yellow&amp;quot; |N/A&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:yellow&amp;quot; |全送信源で同じ鍵の組み合わせの場合は有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
|-&lt;br /&gt;
|OTR&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Signalとの比較==&lt;br /&gt;
以下に挙げられているSignalの問題がXMPPにはなく、Signalの最大の特長である優れた暗号化の実装がOMEMOにある。&lt;br /&gt;
&lt;br /&gt;
===Signalの問題点===&lt;br /&gt;
====全OSに共通の問題====&lt;br /&gt;
=====中央集権=====&lt;br /&gt;
サーバーを選べない。[https://signal.org/blog/the-ecosystem-is-moving/ Signal側はこれが問題にされていると認識しているが、脱中央集権化すると、変更を加えることが難しくなると主張している]。&lt;br /&gt;
&lt;br /&gt;
=====Google reCAPTCHA=====&lt;br /&gt;
プライバシーに悪いGoogle reCAPTCHAが使われ、[https://github.com/signalapp/Signal-Android/issues/10999 Githubのissueで取り上げらた]。&lt;br /&gt;
&lt;br /&gt;
=====電話番号=====&lt;br /&gt;
[https://support.signal.org/hc/ja/articles/360007318691-電話番号を登録する 電話番号が必要]。&lt;br /&gt;
&lt;br /&gt;
[https://support.signal.org/hc/ja/articles/360007061452-Signal-は私が連絡先に登録している人たちに私の電話番号を送信しているのですか? 電話番号が相手に伝わる]。&lt;br /&gt;
&lt;br /&gt;
====Android版の問題====&lt;br /&gt;
=====F-Droidにアプリがない=====&lt;br /&gt;
[https://community.signalusers.org/t/signal-android-app-on-f-droid-store-f-droid-status/28581 F-Droidにアプリがない]。ただし、フォークした[https://www.twinhelix.com/apps/signal-foss Signal FOSS]はF-Droidにレポジトリを追加して入手できる。&lt;br /&gt;
&lt;br /&gt;
====デスクトップ版の問題====&lt;br /&gt;
=====スマートフォンに依存=====&lt;br /&gt;
[https://support.signal.org/hc/ja/articles/360007318751-登録のトラブルシューティング デスクトップアプリだけでは登録できず、スマートフォンが必要]。&lt;br /&gt;
&lt;br /&gt;
=====Electron=====&lt;br /&gt;
デスクトップ版は、起動が遅く、動作が重く、不安定で、セキュリティが脆く、アプリのファイルサイズが大きく、視覚障害者が利用しづらい[https://www.freie-messenger.de/en/begriffe/electron/ Electron]を使用している。[https://github.com/signalapp/Signal-Desktop/issues/2178 過去にはGithubのissueでこの問題が取り上げられたが]、大幅なコード書き換えが必要なため、開発者が取り除く予定はない。&lt;br /&gt;
&lt;br /&gt;
===XMPP+OMEMOがSignalに対して完全に上回る点===&lt;br /&gt;
* 非中央集権。&lt;br /&gt;
** 電話番号不要。&lt;br /&gt;
** スマートフォン不要。&lt;br /&gt;
** サーバーとクライアントは、通信経路匿名化ソフトウェアTorのオニオンサービスで通信可能。&lt;br /&gt;
&lt;br /&gt;
* クライアントアプリの豊富さ。&lt;br /&gt;
** 使いやすいクライアントがある。&lt;br /&gt;
** 外観が豊富。&lt;br /&gt;
** 軽量なクライアントがある。&lt;br /&gt;
** GUIもCLIもある。&lt;br /&gt;
** Elecrtonを使用しないクライアントがある。&lt;br /&gt;
** Android OSの場合は、F-Droidから外部のレポジトリを登録せずに、アプリをダウンロードできる。&lt;br /&gt;
* サーバーソフトウェアの豊富さ。&lt;br /&gt;
* デスクトップパソコンとの相性。&lt;br /&gt;
&lt;br /&gt;
===Signalと同等な点===&lt;br /&gt;
* メッセージの暗号化&lt;br /&gt;
** エンドツーエンド暗号化&lt;br /&gt;
&lt;br /&gt;
このように、エドワード・スノーデンがエンドツーエンド暗号化を理由にSignalを薦めていても、OMEMOではなく、わざわざSignalを選ぶ理由がない。&lt;br /&gt;
&lt;br /&gt;
==電子メール+OpenPGPとの比較==&lt;br /&gt;
OpenPGPは古く、仕様にたくさんの問題を抱えている。&lt;br /&gt;
&lt;br /&gt;
===OpenPGPの問題点===&lt;br /&gt;
&amp;lt;!-- 参考：https://nicholasjohnson.ch/2022/01/03/goodbye-pgp/ --&amp;gt;&lt;br /&gt;
====Web of Trust====&lt;br /&gt;
全員の連絡先が他の連絡先全員に漏れる。&lt;br /&gt;
&lt;br /&gt;
====鍵サーバー====&lt;br /&gt;
=====署名スパム=====&lt;br /&gt;
公衆鍵サーバーは誰でもどの鍵にも署名可能で、大量の無駄な鍵で署名されて、鍵が長くなる。&lt;br /&gt;
&lt;br /&gt;
=====鍵束=====&lt;br /&gt;
鍵サーバーに鍵を要求する度に、端末のIPアドレスと要求したすべての鍵がサーバーに知られる。これは、ランダムな間隔でTor経由で鍵を更新する[https://manpages.debian.org/bullseye/parcimonie/parcimonie.1p.en.html Parcimonie]で防げるが、ソフトウェアは1年半以上も更新されていない。&lt;br /&gt;
&lt;br /&gt;
====朽ちた暗号====&lt;br /&gt;
[https://safecurves.cr.yp.to/rigid.html OpenPGPは、バックドアがあるとされているNISTの楕円曲線をサポートしている。]&lt;br /&gt;
&lt;br /&gt;
OpenPGPは、下位互換性と標準への準拠という名目でセキュリティを犠牲にしている。SHA-1、3DES、CAST5、Blowfish などの朽ちているか、もしくは古いアルゴリズムをサポートしている。最新の暗号システムでは使用しないCFBモードとS2Kパスワード ハッシュを使用する。&lt;br /&gt;
&lt;br /&gt;
====鍵の有効期限====&lt;br /&gt;
連絡先に定期的に鍵を更新するよう強要する。鍵を更新するため、[[#鍵サーバー]]を使用する人がいる。&lt;br /&gt;
&lt;br /&gt;
====指定がなければRSAを使用====&lt;br /&gt;
より速く、より小さく、より安全な[https://ja.wikipedia.org/wiki/エドワーズ曲線デジタル署名アルゴリズム Curve25519]を使用しない。&lt;br /&gt;
&lt;br /&gt;
====鍵IDと指紋====&lt;br /&gt;
多数の利用者は、成りすまし可能なv3の危険な鍵IDのままにしている。しかし、現在のv4の鍵であっても、[https://shattered.io/ 衝突済みのSHA1]に依存している。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ====パケット形式==== --&amp;gt;&lt;br /&gt;
====圧縮＋暗号化====&lt;br /&gt;
[https://security.stackexchange.com/questions/43413/is-it-safe-for-gpg-to-compress-all-messages-prior-to-encryption-by-default 攻撃者が暗号化されたメッセージを解読するのに役立つ場合がある。]&lt;br /&gt;
&lt;br /&gt;
====否認不可能====&lt;br /&gt;
署名暗号技術の[https://ja.wikipedia.org/wiki/否認不可 否認可能性]がない。ただし、電子メールではサーバーは[https://ja.wikipedia.org/wiki/DKIM DKIM]を使用し、メール内容にはメタデータとIPログに加えてコンテキスト情報があり、OpenPGPに否認可能性がなくても変わらない。&lt;br /&gt;
&lt;br /&gt;
====前方秘匿性（フォワードセキュリティ）の欠如====&lt;br /&gt;
暗号鍵の秘密鍵が漏洩した場合、その鍵で過去に暗号化されたすべてのデータを他者が解読可能になる。主要なメールプロバイダーは要求に応じて法執行機関にメール内容を提供し、NSAは[https://ja.wikipedia.org/wiki/XKeyscore XKeyscore]を利用して、送信されるメールのコピーを保持する。&lt;br /&gt;
&lt;br /&gt;
====メッセージパディングなし====&lt;br /&gt;
パディングがない暗号のモードであるCFBを使うので、暗号文のままでもメッセージの正確な長さがわかる。&lt;br /&gt;
&lt;br /&gt;
また、[https://inaz2.hatenablog.com/entry/2015/12/23/000923 パディングオラクル攻撃]に対して脆弱。&lt;br /&gt;
&lt;br /&gt;
===XMPP+OMEMOが電子メール+OpenPGPに対して完全に上回る点===&lt;br /&gt;
* 鍵サーバーがない。&lt;br /&gt;
* 朽ちた暗号が使われない。[https://xmpp.org/extensions/xep-0384.html#protocol-key_exchange 鍵交換]は暗号Curve25519/Ed25519とハッシュSHA-256が使われ、[https://xmpp.org/extensions/xep-0384.html#protocol-message_encryption メッセージ暗号化]は暗号AES-256-CBCとハッシュHKDF-SHA-256、HMAC-SHA-256が使われる。ただし、OpenPGPと同じく否認可能性はない。&lt;br /&gt;
* 前方秘匿性（フォワードセキュリティ）があり、同じ鍵を短期間だけ使い、自動的に更新され、秘密にすべき鍵が漏洩しても、過去に送信したメッセージをほとんど解読できない。&lt;br /&gt;
* [https://xmpp.org/extensions/xep-0384.html#protocol-double_ratchet メッセージパディングあり]。&lt;br /&gt;
* 別人が同じ暗号文を再送する[https://ja.wikipedia.org/wiki/反射攻撃 反射攻撃]に[https://xmpp.org/extensions/xep-0384.html#reqs-threat-model 強い]。&lt;br /&gt;
&lt;br /&gt;
===XMPP+OMEMOが電子メール+OpenPGPに対して下回る点===&lt;br /&gt;
* クライアントが少ない。&lt;br /&gt;
* 普及してない。&lt;br /&gt;
&lt;br /&gt;
==関連用語==&lt;br /&gt;
* [[OTR]]&lt;br /&gt;
&lt;br /&gt;
==外部リンク==&lt;br /&gt;
* [https://xmpp.org/extensions/xep-0384.html XEP-0384: OMEMO Encryption]&lt;br /&gt;
* [https://conversations.im/omemo/ OMEMO Multi-End Message and Object Encryption]&lt;br /&gt;
* [https://omemo.top/ Are we OMEMO yet?]&lt;br /&gt;
&lt;br /&gt;
===Wiki===&lt;br /&gt;
* [https://wiki.xmpp.org/web/XMPP_E2E_Security XMPP E2E Security] - XMPP Wiki&lt;br /&gt;
* [https://wiki.xmpp.org/web/Tech_pages/OMEMO Tech pages/OMEMO] - XMPP Wiki&lt;br /&gt;
* [https://en.wikipedia.org/wiki/OMEMO OMEMO] - Wikipedia英語&lt;br /&gt;
* [https://ja.wikipedia.org/wiki/Double_Ratchetアルゴリズム Double Ratchetアルゴリズム] - Wikipedia日本語&lt;/div&gt;</summary>
		<author><name>Who</name></author>
	</entry>
	<entry>
		<id>https://wiki.step.im/index.php?title=OMEMO&amp;diff=230</id>
		<title>OMEMO</title>
		<link rel="alternate" type="text/html" href="https://wiki.step.im/index.php?title=OMEMO&amp;diff=230"/>
		<updated>2023-11-27T12:44:30Z</updated>

		<summary type="html">&lt;p&gt;Who: /* 前方秘匿性（フォワードセキュリティ）の欠如 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:基本用語]]&lt;br /&gt;
[[Category:エンドツーエンド暗号化]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- 参考：http://jezf25zgvxlsvuzdzm6fg2hoetmruhy4uxnolyw46tuh4jugcwc7byqd.onion/OMEMO --&amp;gt;&lt;br /&gt;
==概要==&lt;br /&gt;
OMEMOは[https://xmpp.org/extensions/xep-0384.html#revision-history-v0.0.1 2015年に最初の版が作成された]XMPPのエンドツーエンド暗号化をする現代的な仕様で、[https://xmpp.org/extensions/xep-0384.html#intro-motivation 過去の暗号化仕様の問題を解決する]。インスタントメッセンジャー[https://signal.org/ja Signal]の暗号化を行うアルゴリズムであるDouble Ratchet（[https://signal.org/docs/specifications/doubleratchet/ Signal]、[https://ja.wikipedia.org/wiki/Double_Ratchetアルゴリズム Wikipedia日本語]）を[https://xmpp.org/extensions/xep-0384.html#intro-overview XMPPで仕様にした]ものである。&lt;br /&gt;
&lt;br /&gt;
==XMPPの他エンドツーエンド暗号化方式と比較した総覧==&lt;br /&gt;
&amp;lt;!-- https://wiki.xmpp.org/web/XMPP_E2E_Security#Comparative_Overview （固定版 https://wiki.xmpp.org/web/index.php?title=XMPP_E2E_Security&amp;amp;oldid=10490 )を和訳と微修正した。 --&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot; |企画&lt;br /&gt;
!colspan=&amp;quot;5&amp;quot; |セキュリティ特性&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot; |伝達の種類&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot; |XMPPとの互換性&lt;br /&gt;
|-&lt;br /&gt;
![https://ja.wikipedia.org/wiki/デジタル署名#認証 真正性]&lt;br /&gt;
![https://en.wikipedia.org/wiki/Information_security#Integrity &amp;lt;abbr title=&amp;quot;情報及び処理方法が、正確であること及び完全であることを保護すること。&amp;quot;&amp;gt;完全性&amp;lt;abbr&amp;gt;]&lt;br /&gt;
![https://ja.wikipedia.org/wiki/暗号 暗号化]&lt;br /&gt;
![https://ja.wikipedia.org/wiki/Forward_secrecy 前方秘匿性]&lt;br /&gt;
![https://en.wikipedia.org/wiki/Malleability_(cryptography) &amp;lt;abbr title=&amp;quot;暗号文が与えられたとき、ある関係性を持った別の暗号文の生成ができないこと。&amp;quot;&amp;gt;頑強性&amp;lt;/abbr&amp;gt;]&lt;br /&gt;
!1対1&lt;br /&gt;
!グループチャット&lt;br /&gt;
!オフラインメッセージ&lt;br /&gt;
!複数の送信源&lt;br /&gt;
!Discoveryのサポート&lt;br /&gt;
|-&lt;br /&gt;
|[https://xmpp.org/extensions/xep-0384.html OMEMO]&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |悪意のある認証済みデバイスの場合を除いて有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |認証済みデバイスによっては有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:yellow&amp;quot; |非匿名のみ有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|-&lt;br /&gt;
|[https://xmpp.org/extensions/xep-0374.html OpenPGP for XMPPインスタントメッセージ]&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:yellow&amp;quot; |N/A&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |可能であり、予定があるが、現在は仕様がない&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|-&lt;br /&gt;
|[https://xmpp.org/extensions/xep-0027.html 古いPGP]&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無。メッセージ暗号化のみで、署名されない&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:yellow&amp;quot; |N/A&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:yellow&amp;quot; |全送信源で同じ鍵の組み合わせの場合は有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
|-&lt;br /&gt;
|OTR&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Signalとの比較==&lt;br /&gt;
以下に挙げられているSignalの問題がXMPPにはなく、Signalの最大の特長である優れた暗号化の実装がOMEMOにある。&lt;br /&gt;
&lt;br /&gt;
===Signalの問題点===&lt;br /&gt;
====全OSに共通の問題====&lt;br /&gt;
=====中央集権=====&lt;br /&gt;
サーバーを選べない。[https://signal.org/blog/the-ecosystem-is-moving/ Signal側はこれが問題にされていると認識しているが、脱中央集権化すると、変更を加えることが難しくなると主張している]。&lt;br /&gt;
&lt;br /&gt;
=====Google reCAPTCHA=====&lt;br /&gt;
プライバシーに悪いGoogle reCAPTCHAが使われ、[https://github.com/signalapp/Signal-Android/issues/10999 Githubのissueで取り上げらた]。&lt;br /&gt;
&lt;br /&gt;
=====電話番号=====&lt;br /&gt;
[https://support.signal.org/hc/ja/articles/360007318691-電話番号を登録する 電話番号が必要]。&lt;br /&gt;
&lt;br /&gt;
[https://support.signal.org/hc/ja/articles/360007061452-Signal-は私が連絡先に登録している人たちに私の電話番号を送信しているのですか? 電話番号が相手に伝わる]。&lt;br /&gt;
&lt;br /&gt;
====Android版の問題====&lt;br /&gt;
=====F-Droidにアプリがない=====&lt;br /&gt;
[https://community.signalusers.org/t/signal-android-app-on-f-droid-store-f-droid-status/28581 F-Droidにアプリがない]。ただし、フォークした[https://www.twinhelix.com/apps/signal-foss Signal FOSS]はF-Droidにレポジトリを追加して入手できる。&lt;br /&gt;
&lt;br /&gt;
====デスクトップ版の問題====&lt;br /&gt;
=====スマートフォンに依存=====&lt;br /&gt;
[https://support.signal.org/hc/ja/articles/360007318751-登録のトラブルシューティング デスクトップアプリだけでは登録できず、スマートフォンが必要]。&lt;br /&gt;
&lt;br /&gt;
=====Electron=====&lt;br /&gt;
デスクトップ版は、起動が遅く、動作が重く、不安定で、セキュリティが脆く、アプリのファイルサイズが大きく、視覚障害者が利用しづらい[https://www.freie-messenger.de/en/begriffe/electron/ Electron]を使用している。[https://github.com/signalapp/Signal-Desktop/issues/2178 過去にはGithubのissueでこの問題が取り上げられたが]、大幅なコード書き換えが必要なため、開発者が取り除く予定はない。&lt;br /&gt;
&lt;br /&gt;
===XMPP+OMEMOがSignalに対して完全に上回る点===&lt;br /&gt;
* 非中央集権。&lt;br /&gt;
** 電話番号不要。&lt;br /&gt;
** スマートフォン不要。&lt;br /&gt;
** サーバーとクライアントは、通信経路匿名化ソフトウェアTorのオニオンサービスで通信可能。&lt;br /&gt;
&lt;br /&gt;
* クライアントアプリの豊富さ。&lt;br /&gt;
** 使いやすいクライアントがある。&lt;br /&gt;
** 外観が豊富。&lt;br /&gt;
** 軽量なクライアントがある。&lt;br /&gt;
** GUIもCLIもある。&lt;br /&gt;
** Elecrtonを使用しないクライアントがある。&lt;br /&gt;
** Android OSの場合は、F-Droidから外部のレポジトリを登録せずに、アプリをダウンロードできる。&lt;br /&gt;
* サーバーソフトウェアの豊富さ。&lt;br /&gt;
* デスクトップパソコンとの相性。&lt;br /&gt;
&lt;br /&gt;
===Signalと同等な点===&lt;br /&gt;
* メッセージの暗号化&lt;br /&gt;
** エンドツーエンド暗号化&lt;br /&gt;
&lt;br /&gt;
このように、エドワード・スノーデンがエンドツーエンド暗号化を理由にSignalを薦めていても、OMEMOではなく、わざわざSignalを選ぶ理由がない。&lt;br /&gt;
&lt;br /&gt;
==電子メール+PGPとの比較==&lt;br /&gt;
PGPは古く、仕様にたくさんの問題を抱えている。&lt;br /&gt;
&lt;br /&gt;
===PGPの問題点===&lt;br /&gt;
&amp;lt;!-- 参考：https://nicholasjohnson.ch/2022/01/03/goodbye-pgp/ --&amp;gt;&lt;br /&gt;
====Web of Trust====&lt;br /&gt;
全員の連絡先が他の連絡先全員に漏れる。&lt;br /&gt;
&lt;br /&gt;
====鍵サーバー====&lt;br /&gt;
=====署名スパム=====&lt;br /&gt;
公衆鍵サーバーは誰でもどの鍵にも署名可能で、大量の無駄な鍵で署名されて、鍵が長くなる。&lt;br /&gt;
&lt;br /&gt;
=====鍵束=====&lt;br /&gt;
鍵サーバーに鍵を要求する度に、端末のIPアドレスと要求したすべての鍵がサーバーに知られる。これは、ランダムな間隔でTor経由で鍵を更新する[https://manpages.debian.org/bullseye/parcimonie/parcimonie.1p.en.html Parcimonie]で防げるが、ソフトウェアは1年半以上も更新されていない。&lt;br /&gt;
&lt;br /&gt;
====朽ちた暗号====&lt;br /&gt;
[https://safecurves.cr.yp.to/rigid.html PGPは、バックドアがあるとされているNISTの楕円曲線をサポートしている。]&lt;br /&gt;
&lt;br /&gt;
OpenPGPは、下位互換性と標準への準拠という名目でセキュリティを犠牲にしている。SHA-1、3DES、CAST5、Blowfish などの朽ちているか、もしくは古いアルゴリズムをサポートしている。最新の暗号システムでは使用しないCFBモードとS2Kパスワード ハッシュを使用する。&lt;br /&gt;
&lt;br /&gt;
====鍵の有効期限====&lt;br /&gt;
連絡先に定期的に鍵を更新するよう強要する。鍵を更新するため、[[#鍵サーバー]]を使用する人がいる。&lt;br /&gt;
&lt;br /&gt;
====指定がなければRSAを使用====&lt;br /&gt;
より速く、より小さく、より安全な[https://ja.wikipedia.org/wiki/エドワーズ曲線デジタル署名アルゴリズム Curve25519]を使用しない。&lt;br /&gt;
&lt;br /&gt;
====鍵IDと指紋====&lt;br /&gt;
多数の利用者は、成りすまし可能なv3の危険な鍵IDのままにしている。しかし、現在のv4の鍵であっても、[https://shattered.io/ 衝突済みのSHA1]に依存している。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ====パケット形式==== --&amp;gt;&lt;br /&gt;
====圧縮＋暗号化====&lt;br /&gt;
[https://security.stackexchange.com/questions/43413/is-it-safe-for-gpg-to-compress-all-messages-prior-to-encryption-by-default 攻撃者が暗号化されたメッセージを解読するのに役立つ場合がある。]&lt;br /&gt;
&lt;br /&gt;
====否認不可能====&lt;br /&gt;
署名暗号技術の[https://ja.wikipedia.org/wiki/否認不可 否認可能性]がない。ただし、電子メールではサーバーは[https://ja.wikipedia.org/wiki/DKIM DKIM]を使用し、メール内容にはメタデータとIPログに加えてコンテキスト情報があり、PGPに否認可能性がなくても変わらない。&lt;br /&gt;
&lt;br /&gt;
====前方秘匿性（フォワードセキュリティ）の欠如====&lt;br /&gt;
暗号鍵の秘密鍵が漏洩した場合、その鍵で過去に暗号化されたすべてのデータを他者が解読可能になる。主要なメールプロバイダーは要求に応じて法執行機関にメール内容を提供し、NSAは[https://ja.wikipedia.org/wiki/XKeyscore XKeyscore]を利用して、送信されるメールのコピーを保持する。&lt;br /&gt;
&lt;br /&gt;
====メッセージパディングなし====&lt;br /&gt;
パディングがない暗号のモードであるCFBを使うので、暗号文のままでもメッセージの正確な長さがわかる。&lt;br /&gt;
&lt;br /&gt;
また、[https://inaz2.hatenablog.com/entry/2015/12/23/000923 パディングオラクル攻撃]に対して脆弱。&lt;br /&gt;
&lt;br /&gt;
===XMPP+OMEMOが電子メール+PGPに対して完全に上回る点===&lt;br /&gt;
* 鍵サーバーがない。&lt;br /&gt;
* 朽ちた暗号が使われない。[https://xmpp.org/extensions/xep-0384.html#protocol-key_exchange 鍵交換]は暗号Curve25519/Ed25519とハッシュSHA-256が使われ、[https://xmpp.org/extensions/xep-0384.html#protocol-message_encryption メッセージ暗号化]は暗号AES-256-CBCとハッシュHKDF-SHA-256、HMAC-SHA-256が使われる。ただし、PGPと同じく否認可能性はない。&lt;br /&gt;
* 前方秘匿性（フォワードセキュリティ）があり、同じ鍵を短期間だけ使い、自動的に更新され、秘密にすべき鍵が漏洩しても、過去に送信したメッセージをほとんど解読できない。&lt;br /&gt;
* [https://xmpp.org/extensions/xep-0384.html#protocol-double_ratchet メッセージパディングあり]。&lt;br /&gt;
* 別人が同じ暗号文を再送する[https://ja.wikipedia.org/wiki/反射攻撃 反射攻撃]に[https://xmpp.org/extensions/xep-0384.html#reqs-threat-model 強い]。&lt;br /&gt;
&lt;br /&gt;
===XMPP+OMEMOが電子メール+PGPに対して下回る点===&lt;br /&gt;
* クライアントが少ない。&lt;br /&gt;
* 普及してない。&lt;br /&gt;
&lt;br /&gt;
==関連用語==&lt;br /&gt;
* [[OTR]]&lt;br /&gt;
&lt;br /&gt;
==外部リンク==&lt;br /&gt;
* [https://xmpp.org/extensions/xep-0384.html XEP-0384: OMEMO Encryption]&lt;br /&gt;
* [https://conversations.im/omemo/ OMEMO Multi-End Message and Object Encryption]&lt;br /&gt;
* [https://omemo.top/ Are we OMEMO yet?]&lt;br /&gt;
&lt;br /&gt;
===Wiki===&lt;br /&gt;
* [https://wiki.xmpp.org/web/XMPP_E2E_Security XMPP E2E Security] - XMPP Wiki&lt;br /&gt;
* [https://wiki.xmpp.org/web/Tech_pages/OMEMO Tech pages/OMEMO] - XMPP Wiki&lt;br /&gt;
* [https://en.wikipedia.org/wiki/OMEMO OMEMO] - Wikipedia英語&lt;br /&gt;
* [https://ja.wikipedia.org/wiki/Double_Ratchetアルゴリズム Double Ratchetアルゴリズム] - Wikipedia日本語&lt;/div&gt;</summary>
		<author><name>Who</name></author>
	</entry>
	<entry>
		<id>https://wiki.step.im/index.php?title=OMEMO&amp;diff=229</id>
		<title>OMEMO</title>
		<link rel="alternate" type="text/html" href="https://wiki.step.im/index.php?title=OMEMO&amp;diff=229"/>
		<updated>2023-11-27T12:42:06Z</updated>

		<summary type="html">&lt;p&gt;Who: /* 否認不可能 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:基本用語]]&lt;br /&gt;
[[Category:エンドツーエンド暗号化]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- 参考：http://jezf25zgvxlsvuzdzm6fg2hoetmruhy4uxnolyw46tuh4jugcwc7byqd.onion/OMEMO --&amp;gt;&lt;br /&gt;
==概要==&lt;br /&gt;
OMEMOは[https://xmpp.org/extensions/xep-0384.html#revision-history-v0.0.1 2015年に最初の版が作成された]XMPPのエンドツーエンド暗号化をする現代的な仕様で、[https://xmpp.org/extensions/xep-0384.html#intro-motivation 過去の暗号化仕様の問題を解決する]。インスタントメッセンジャー[https://signal.org/ja Signal]の暗号化を行うアルゴリズムであるDouble Ratchet（[https://signal.org/docs/specifications/doubleratchet/ Signal]、[https://ja.wikipedia.org/wiki/Double_Ratchetアルゴリズム Wikipedia日本語]）を[https://xmpp.org/extensions/xep-0384.html#intro-overview XMPPで仕様にした]ものである。&lt;br /&gt;
&lt;br /&gt;
==XMPPの他エンドツーエンド暗号化方式と比較した総覧==&lt;br /&gt;
&amp;lt;!-- https://wiki.xmpp.org/web/XMPP_E2E_Security#Comparative_Overview （固定版 https://wiki.xmpp.org/web/index.php?title=XMPP_E2E_Security&amp;amp;oldid=10490 )を和訳と微修正した。 --&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot; |企画&lt;br /&gt;
!colspan=&amp;quot;5&amp;quot; |セキュリティ特性&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot; |伝達の種類&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot; |XMPPとの互換性&lt;br /&gt;
|-&lt;br /&gt;
![https://ja.wikipedia.org/wiki/デジタル署名#認証 真正性]&lt;br /&gt;
![https://en.wikipedia.org/wiki/Information_security#Integrity &amp;lt;abbr title=&amp;quot;情報及び処理方法が、正確であること及び完全であることを保護すること。&amp;quot;&amp;gt;完全性&amp;lt;abbr&amp;gt;]&lt;br /&gt;
![https://ja.wikipedia.org/wiki/暗号 暗号化]&lt;br /&gt;
![https://ja.wikipedia.org/wiki/Forward_secrecy 前方秘匿性]&lt;br /&gt;
![https://en.wikipedia.org/wiki/Malleability_(cryptography) &amp;lt;abbr title=&amp;quot;暗号文が与えられたとき、ある関係性を持った別の暗号文の生成ができないこと。&amp;quot;&amp;gt;頑強性&amp;lt;/abbr&amp;gt;]&lt;br /&gt;
!1対1&lt;br /&gt;
!グループチャット&lt;br /&gt;
!オフラインメッセージ&lt;br /&gt;
!複数の送信源&lt;br /&gt;
!Discoveryのサポート&lt;br /&gt;
|-&lt;br /&gt;
|[https://xmpp.org/extensions/xep-0384.html OMEMO]&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |悪意のある認証済みデバイスの場合を除いて有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |認証済みデバイスによっては有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:yellow&amp;quot; |非匿名のみ有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|-&lt;br /&gt;
|[https://xmpp.org/extensions/xep-0374.html OpenPGP for XMPPインスタントメッセージ]&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:yellow&amp;quot; |N/A&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |可能であり、予定があるが、現在は仕様がない&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|-&lt;br /&gt;
|[https://xmpp.org/extensions/xep-0027.html 古いPGP]&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無。メッセージ暗号化のみで、署名されない&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:yellow&amp;quot; |N/A&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:yellow&amp;quot; |全送信源で同じ鍵の組み合わせの場合は有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
|-&lt;br /&gt;
|OTR&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Signalとの比較==&lt;br /&gt;
以下に挙げられているSignalの問題がXMPPにはなく、Signalの最大の特長である優れた暗号化の実装がOMEMOにある。&lt;br /&gt;
&lt;br /&gt;
===Signalの問題点===&lt;br /&gt;
====全OSに共通の問題====&lt;br /&gt;
=====中央集権=====&lt;br /&gt;
サーバーを選べない。[https://signal.org/blog/the-ecosystem-is-moving/ Signal側はこれが問題にされていると認識しているが、脱中央集権化すると、変更を加えることが難しくなると主張している]。&lt;br /&gt;
&lt;br /&gt;
=====Google reCAPTCHA=====&lt;br /&gt;
プライバシーに悪いGoogle reCAPTCHAが使われ、[https://github.com/signalapp/Signal-Android/issues/10999 Githubのissueで取り上げらた]。&lt;br /&gt;
&lt;br /&gt;
=====電話番号=====&lt;br /&gt;
[https://support.signal.org/hc/ja/articles/360007318691-電話番号を登録する 電話番号が必要]。&lt;br /&gt;
&lt;br /&gt;
[https://support.signal.org/hc/ja/articles/360007061452-Signal-は私が連絡先に登録している人たちに私の電話番号を送信しているのですか? 電話番号が相手に伝わる]。&lt;br /&gt;
&lt;br /&gt;
====Android版の問題====&lt;br /&gt;
=====F-Droidにアプリがない=====&lt;br /&gt;
[https://community.signalusers.org/t/signal-android-app-on-f-droid-store-f-droid-status/28581 F-Droidにアプリがない]。ただし、フォークした[https://www.twinhelix.com/apps/signal-foss Signal FOSS]はF-Droidにレポジトリを追加して入手できる。&lt;br /&gt;
&lt;br /&gt;
====デスクトップ版の問題====&lt;br /&gt;
=====スマートフォンに依存=====&lt;br /&gt;
[https://support.signal.org/hc/ja/articles/360007318751-登録のトラブルシューティング デスクトップアプリだけでは登録できず、スマートフォンが必要]。&lt;br /&gt;
&lt;br /&gt;
=====Electron=====&lt;br /&gt;
デスクトップ版は、起動が遅く、動作が重く、不安定で、セキュリティが脆く、アプリのファイルサイズが大きく、視覚障害者が利用しづらい[https://www.freie-messenger.de/en/begriffe/electron/ Electron]を使用している。[https://github.com/signalapp/Signal-Desktop/issues/2178 過去にはGithubのissueでこの問題が取り上げられたが]、大幅なコード書き換えが必要なため、開発者が取り除く予定はない。&lt;br /&gt;
&lt;br /&gt;
===XMPP+OMEMOがSignalに対して完全に上回る点===&lt;br /&gt;
* 非中央集権。&lt;br /&gt;
** 電話番号不要。&lt;br /&gt;
** スマートフォン不要。&lt;br /&gt;
** サーバーとクライアントは、通信経路匿名化ソフトウェアTorのオニオンサービスで通信可能。&lt;br /&gt;
&lt;br /&gt;
* クライアントアプリの豊富さ。&lt;br /&gt;
** 使いやすいクライアントがある。&lt;br /&gt;
** 外観が豊富。&lt;br /&gt;
** 軽量なクライアントがある。&lt;br /&gt;
** GUIもCLIもある。&lt;br /&gt;
** Elecrtonを使用しないクライアントがある。&lt;br /&gt;
** Android OSの場合は、F-Droidから外部のレポジトリを登録せずに、アプリをダウンロードできる。&lt;br /&gt;
* サーバーソフトウェアの豊富さ。&lt;br /&gt;
* デスクトップパソコンとの相性。&lt;br /&gt;
&lt;br /&gt;
===Signalと同等な点===&lt;br /&gt;
* メッセージの暗号化&lt;br /&gt;
** エンドツーエンド暗号化&lt;br /&gt;
&lt;br /&gt;
このように、エドワード・スノーデンがエンドツーエンド暗号化を理由にSignalを薦めていても、OMEMOではなく、わざわざSignalを選ぶ理由がない。&lt;br /&gt;
&lt;br /&gt;
==電子メール+PGPとの比較==&lt;br /&gt;
PGPは古く、仕様にたくさんの問題を抱えている。&lt;br /&gt;
&lt;br /&gt;
===PGPの問題点===&lt;br /&gt;
&amp;lt;!-- 参考：https://nicholasjohnson.ch/2022/01/03/goodbye-pgp/ --&amp;gt;&lt;br /&gt;
====Web of Trust====&lt;br /&gt;
全員の連絡先が他の連絡先全員に漏れる。&lt;br /&gt;
&lt;br /&gt;
====鍵サーバー====&lt;br /&gt;
=====署名スパム=====&lt;br /&gt;
公衆鍵サーバーは誰でもどの鍵にも署名可能で、大量の無駄な鍵で署名されて、鍵が長くなる。&lt;br /&gt;
&lt;br /&gt;
=====鍵束=====&lt;br /&gt;
鍵サーバーに鍵を要求する度に、端末のIPアドレスと要求したすべての鍵がサーバーに知られる。これは、ランダムな間隔でTor経由で鍵を更新する[https://manpages.debian.org/bullseye/parcimonie/parcimonie.1p.en.html Parcimonie]で防げるが、ソフトウェアは1年半以上も更新されていない。&lt;br /&gt;
&lt;br /&gt;
====朽ちた暗号====&lt;br /&gt;
[https://safecurves.cr.yp.to/rigid.html PGPは、バックドアがあるとされているNISTの楕円曲線をサポートしている。]&lt;br /&gt;
&lt;br /&gt;
OpenPGPは、下位互換性と標準への準拠という名目でセキュリティを犠牲にしている。SHA-1、3DES、CAST5、Blowfish などの朽ちているか、もしくは古いアルゴリズムをサポートしている。最新の暗号システムでは使用しないCFBモードとS2Kパスワード ハッシュを使用する。&lt;br /&gt;
&lt;br /&gt;
====鍵の有効期限====&lt;br /&gt;
連絡先に定期的に鍵を更新するよう強要する。鍵を更新するため、[[#鍵サーバー]]を使用する人がいる。&lt;br /&gt;
&lt;br /&gt;
====指定がなければRSAを使用====&lt;br /&gt;
より速く、より小さく、より安全な[https://ja.wikipedia.org/wiki/エドワーズ曲線デジタル署名アルゴリズム Curve25519]を使用しない。&lt;br /&gt;
&lt;br /&gt;
====鍵IDと指紋====&lt;br /&gt;
多数の利用者は、成りすまし可能なv3の危険な鍵IDのままにしている。しかし、現在のv4の鍵であっても、[https://shattered.io/ 衝突済みのSHA1]に依存している。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ====パケット形式==== --&amp;gt;&lt;br /&gt;
====圧縮＋暗号化====&lt;br /&gt;
[https://security.stackexchange.com/questions/43413/is-it-safe-for-gpg-to-compress-all-messages-prior-to-encryption-by-default 攻撃者が暗号化されたメッセージを解読するのに役立つ場合がある。]&lt;br /&gt;
&lt;br /&gt;
====否認不可能====&lt;br /&gt;
署名暗号技術の[https://ja.wikipedia.org/wiki/否認不可 否認可能性]がない。ただし、電子メールではサーバーは[https://ja.wikipedia.org/wiki/DKIM DKIM]を使用し、メール内容にはメタデータとIPログに加えてコンテキスト情報があり、PGPに否認可能性がなくても変わらない。&lt;br /&gt;
&lt;br /&gt;
====前方秘匿性（フォワードセキュリティ）の欠如====&lt;br /&gt;
暗号鍵の秘密鍵が漏洩した場合、他人がその鍵で過去に暗号化されたすべてのデータを解読可能になる。主要なメールプロバイダーは要求に応じて法執行機関にメール内容を提供し、NSAは[https://ja.wikipedia.org/wiki/XKeyscore XKeyscore]を利用して、送信されるメールのコピーを保持する。&lt;br /&gt;
&lt;br /&gt;
====メッセージパディングなし====&lt;br /&gt;
パディングがない暗号のモードであるCFBを使うので、暗号文のままでもメッセージの正確な長さがわかる。&lt;br /&gt;
&lt;br /&gt;
また、[https://inaz2.hatenablog.com/entry/2015/12/23/000923 パディングオラクル攻撃]に対して脆弱。&lt;br /&gt;
&lt;br /&gt;
===XMPP+OMEMOが電子メール+PGPに対して完全に上回る点===&lt;br /&gt;
* 鍵サーバーがない。&lt;br /&gt;
* 朽ちた暗号が使われない。[https://xmpp.org/extensions/xep-0384.html#protocol-key_exchange 鍵交換]は暗号Curve25519/Ed25519とハッシュSHA-256が使われ、[https://xmpp.org/extensions/xep-0384.html#protocol-message_encryption メッセージ暗号化]は暗号AES-256-CBCとハッシュHKDF-SHA-256、HMAC-SHA-256が使われる。ただし、PGPと同じく否認可能性はない。&lt;br /&gt;
* 前方秘匿性（フォワードセキュリティ）があり、同じ鍵を短期間だけ使い、自動的に更新され、秘密にすべき鍵が漏洩しても、過去に送信したメッセージをほとんど解読できない。&lt;br /&gt;
* [https://xmpp.org/extensions/xep-0384.html#protocol-double_ratchet メッセージパディングあり]。&lt;br /&gt;
* 別人が同じ暗号文を再送する[https://ja.wikipedia.org/wiki/反射攻撃 反射攻撃]に[https://xmpp.org/extensions/xep-0384.html#reqs-threat-model 強い]。&lt;br /&gt;
&lt;br /&gt;
===XMPP+OMEMOが電子メール+PGPに対して下回る点===&lt;br /&gt;
* クライアントが少ない。&lt;br /&gt;
* 普及してない。&lt;br /&gt;
&lt;br /&gt;
==関連用語==&lt;br /&gt;
* [[OTR]]&lt;br /&gt;
&lt;br /&gt;
==外部リンク==&lt;br /&gt;
* [https://xmpp.org/extensions/xep-0384.html XEP-0384: OMEMO Encryption]&lt;br /&gt;
* [https://conversations.im/omemo/ OMEMO Multi-End Message and Object Encryption]&lt;br /&gt;
* [https://omemo.top/ Are we OMEMO yet?]&lt;br /&gt;
&lt;br /&gt;
===Wiki===&lt;br /&gt;
* [https://wiki.xmpp.org/web/XMPP_E2E_Security XMPP E2E Security] - XMPP Wiki&lt;br /&gt;
* [https://wiki.xmpp.org/web/Tech_pages/OMEMO Tech pages/OMEMO] - XMPP Wiki&lt;br /&gt;
* [https://en.wikipedia.org/wiki/OMEMO OMEMO] - Wikipedia英語&lt;br /&gt;
* [https://ja.wikipedia.org/wiki/Double_Ratchetアルゴリズム Double Ratchetアルゴリズム] - Wikipedia日本語&lt;/div&gt;</summary>
		<author><name>Who</name></author>
	</entry>
	<entry>
		<id>https://wiki.step.im/index.php?title=%E4%BB%A3%E6%9B%BF%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E5%AF%BE%E5%BF%9C%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC&amp;diff=228</id>
		<title>代替ネットワーク対応サーバー</title>
		<link rel="alternate" type="text/html" href="https://wiki.step.im/index.php?title=%E4%BB%A3%E6%9B%BF%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E5%AF%BE%E5%BF%9C%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC&amp;diff=228"/>
		<updated>2023-09-20T04:06:34Z</updated>

		<summary type="html">&lt;p&gt;Who: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;サーバー名アルファベット順&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot; |サーバー&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot; |代替ネットワーク&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot; |[https://xmpp.org/extensions/xep-0001.html &amp;lt;abbr title=&amp;quot;XEP-0001: XMPP Extension Protocols&amp;quot;&amp;gt;XEP&amp;lt;/abbr&amp;gt;]&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot; |備考&lt;br /&gt;
|-&lt;br /&gt;
!名前&lt;br /&gt;
!情報&lt;br /&gt;
![https://community.torproject.org/onion-services/ オニオン](Tor)&lt;br /&gt;
![https://geti2p.net/ja/ I2P]&lt;br /&gt;
![[multi_user_chat|&amp;lt;abbr title=&amp;quot;XEP-0045: Multi-User Chat&amp;quot;&amp;gt;MUC&amp;lt;/abbr&amp;gt;]]&lt;br /&gt;
![[OMEMO|&amp;lt;abbr title=&amp;quot;XEP-0384: OMEMO Encryption&amp;quot;&amp;gt;OMEMO&amp;lt;/abbr&amp;gt;]]&lt;br /&gt;
|-&lt;br /&gt;
|[https://5222.de/ 5222.de]&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|ドイツ語。&lt;br /&gt;
|-&lt;br /&gt;
|[https://cock.li/ Cock.li]&lt;br /&gt;
|[https://cock.li/help][https://cock.li/xmpp]&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|招待制。&lt;br /&gt;
|-&lt;br /&gt;
|[https://creep.im/ Creep.im]&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[https://dismail.de/ dismail.de]&lt;br /&gt;
|[https://dismail.de/info.html]&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[https://jabber-germany.de/ jabber-germany.de]&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[https://jabber.cat/ jabber.cat]&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|ドイツ語。&lt;br /&gt;
|-&lt;br /&gt;
|[https://jabber.hot-chilli.net/ jabber.hot-chilli.net]&lt;br /&gt;
|[https://jabber.hot-chilli.net/server-specifications/]&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.jabjab.de/?lang=en JabJab.de]&lt;br /&gt;
|[https://www.jabjab.de/status]&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[https://otr.im/chat.html OTR.im]&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[https://pimux.de/ pimux.de]&lt;br /&gt;
|[https://pimux.de/about-pimux-de]&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[https://qwik.space/ qwik]&lt;br /&gt;
|[https://qwik.space/articles/xmpp/intro]&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[https://systemausfall.org/ systemausfall.org]&lt;br /&gt;
|[https://hilfe.systemausfall.org/xmpp/]&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|ドイツ語。&lt;br /&gt;
|-&lt;br /&gt;
|[https://trashserver.net/en/ trashserver.net]&lt;br /&gt;
|[https://trashserver.net/en/technics/]&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[https://wiuwiu.de/en/ wiuwiu.de]&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[https://xmpp.is/ XMPP.is]&lt;br /&gt;
|[https://xmpp.is/about/server/]&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Who</name></author>
	</entry>
	<entry>
		<id>https://wiki.step.im/index.php?title=%E4%BB%A3%E6%9B%BF%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E5%AF%BE%E5%BF%9C%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC&amp;diff=227</id>
		<title>代替ネットワーク対応サーバー</title>
		<link rel="alternate" type="text/html" href="https://wiki.step.im/index.php?title=%E4%BB%A3%E6%9B%BF%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E5%AF%BE%E5%BF%9C%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC&amp;diff=227"/>
		<updated>2023-08-27T06:45:42Z</updated>

		<summary type="html">&lt;p&gt;Who: ページの作成:「サーバー名アルファベット順  {| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot; |- !colspan=&amp;quot;2&amp;quot; |サーバー !colspan=&amp;quot;2&amp;quot; |代替ネットワーク !colspan=&amp;quot;2…」&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;サーバー名アルファベット順&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot; |サーバー&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot; |代替ネットワーク&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot; |[https://xmpp.org/extensions/xep-0001.html &amp;lt;abbr title=&amp;quot;XEP-0001: XMPP Extension Protocols&amp;quot;&amp;gt;XEP&amp;lt;/abbr&amp;gt;]&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot; |備考&lt;br /&gt;
|-&lt;br /&gt;
!名前&lt;br /&gt;
!情報&lt;br /&gt;
![https://community.torproject.org/onion-services/ オニオン](Tor)&lt;br /&gt;
![https://geti2p.net/ja/ I2P]&lt;br /&gt;
![[multi_user_chat|&amp;lt;abbr title=&amp;quot;XEP-0045: Multi-User Chat&amp;quot;&amp;gt;MUC&amp;lt;/abbr&amp;gt;]]&lt;br /&gt;
![[OMEMO|&amp;lt;abbr title=&amp;quot;XEP-0384: OMEMO Encryption&amp;quot;&amp;gt;OMEMO&amp;lt;/abbr&amp;gt;]]&lt;br /&gt;
|-&lt;br /&gt;
|[https://5222.de/ 5222.de]&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|ドイツ語。&lt;br /&gt;
|-&lt;br /&gt;
|[https://cock.li/ Cock.li]&lt;br /&gt;
|[https://cock.li/help][https://cock.li/xmpp]&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|招待制。&lt;br /&gt;
|-&lt;br /&gt;
|[https://creep.im/ Creep.im]&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[https://dismail.de/ dismail.de]&lt;br /&gt;
|[https://dismail.de/info.html]&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[https://jabber-germany.de/ jabber-germany.de]&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[https://jabber.cat/ jabber.cat]&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|ドイツ語。&lt;br /&gt;
|-&lt;br /&gt;
|[https://jabber.hot-chilli.net/ jabber.hot-chilli.net]&lt;br /&gt;
|[https://jabber.hot-chilli.net/server-specifications/]&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.jabjab.de/?lang=en JabJab.de]&lt;br /&gt;
|[https://www.jabjab.de/status]&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[https://otr.im/chat.html OTR.im]&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[https://pimux.de/ pimux.de]&lt;br /&gt;
|[https://pimux.de/about-pimux-de]&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[https://qwik.space/ qwik]&lt;br /&gt;
|[https://qwik.space/articles/xmpp/intro]&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[https://systemausfall.org/ systemausfall.org]&lt;br /&gt;
|[https://hilfe.systemausfall.org/xmpp/]&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|ドイツ語。&lt;br /&gt;
|-&lt;br /&gt;
|[https://trashserver.net/en/ trashserver.net]&lt;br /&gt;
|[https://trashserver.net/en/technics/]&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|&lt;br /&gt;
|-&amp;lt;!--&lt;br /&gt;
|[https://wiuwiu.de/en/ wiuwiu.de]&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|&lt;br /&gt;
|- --&amp;gt;&lt;br /&gt;
|[https://xmpp.is/ XMPP.is]&lt;br /&gt;
|[https://xmpp.is/about/server/]&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Who</name></author>
	</entry>
	<entry>
		<id>https://wiki.step.im/index.php?title=OMEMO&amp;diff=226</id>
		<title>OMEMO</title>
		<link rel="alternate" type="text/html" href="https://wiki.step.im/index.php?title=OMEMO&amp;diff=226"/>
		<updated>2023-05-16T13:09:12Z</updated>

		<summary type="html">&lt;p&gt;Who: /* 概要 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:基本用語]]&lt;br /&gt;
[[Category:エンドツーエンド暗号化]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- 参考：http://jezf25zgvxlsvuzdzm6fg2hoetmruhy4uxnolyw46tuh4jugcwc7byqd.onion/OMEMO --&amp;gt;&lt;br /&gt;
==概要==&lt;br /&gt;
OMEMOは[https://xmpp.org/extensions/xep-0384.html#revision-history-v0.0.1 2015年に最初の版が作成された]XMPPのエンドツーエンド暗号化をする現代的な仕様で、[https://xmpp.org/extensions/xep-0384.html#intro-motivation 過去の暗号化仕様の問題を解決する]。インスタントメッセンジャー[https://signal.org/ja Signal]の暗号化を行うアルゴリズムであるDouble Ratchet（[https://signal.org/docs/specifications/doubleratchet/ Signal]、[https://ja.wikipedia.org/wiki/Double_Ratchetアルゴリズム Wikipedia日本語]）を[https://xmpp.org/extensions/xep-0384.html#intro-overview XMPPで仕様にした]ものである。&lt;br /&gt;
&lt;br /&gt;
==XMPPの他エンドツーエンド暗号化方式と比較した総覧==&lt;br /&gt;
&amp;lt;!-- https://wiki.xmpp.org/web/XMPP_E2E_Security#Comparative_Overview （固定版 https://wiki.xmpp.org/web/index.php?title=XMPP_E2E_Security&amp;amp;oldid=10490 )を和訳と微修正した。 --&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot; |企画&lt;br /&gt;
!colspan=&amp;quot;5&amp;quot; |セキュリティ特性&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot; |伝達の種類&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot; |XMPPとの互換性&lt;br /&gt;
|-&lt;br /&gt;
![https://ja.wikipedia.org/wiki/デジタル署名#認証 真正性]&lt;br /&gt;
![https://en.wikipedia.org/wiki/Information_security#Integrity &amp;lt;abbr title=&amp;quot;情報及び処理方法が、正確であること及び完全であることを保護すること。&amp;quot;&amp;gt;完全性&amp;lt;abbr&amp;gt;]&lt;br /&gt;
![https://ja.wikipedia.org/wiki/暗号 暗号化]&lt;br /&gt;
![https://ja.wikipedia.org/wiki/Forward_secrecy 前方秘匿性]&lt;br /&gt;
![https://en.wikipedia.org/wiki/Malleability_(cryptography) &amp;lt;abbr title=&amp;quot;暗号文が与えられたとき、ある関係性を持った別の暗号文の生成ができないこと。&amp;quot;&amp;gt;頑強性&amp;lt;/abbr&amp;gt;]&lt;br /&gt;
!1対1&lt;br /&gt;
!グループチャット&lt;br /&gt;
!オフラインメッセージ&lt;br /&gt;
!複数の送信源&lt;br /&gt;
!Discoveryのサポート&lt;br /&gt;
|-&lt;br /&gt;
|[https://xmpp.org/extensions/xep-0384.html OMEMO]&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |悪意のある認証済みデバイスの場合を除いて有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |認証済みデバイスによっては有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:yellow&amp;quot; |非匿名のみ有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|-&lt;br /&gt;
|[https://xmpp.org/extensions/xep-0374.html OpenPGP for XMPPインスタントメッセージ]&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:yellow&amp;quot; |N/A&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |可能であり、予定があるが、現在は仕様がない&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|-&lt;br /&gt;
|[https://xmpp.org/extensions/xep-0027.html 古いPGP]&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無。メッセージ暗号化のみで、署名されない&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:yellow&amp;quot; |N/A&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:yellow&amp;quot; |全送信源で同じ鍵の組み合わせの場合は有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
|-&lt;br /&gt;
|OTR&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Signalとの比較==&lt;br /&gt;
以下に挙げられているSignalの問題がXMPPにはなく、Signalの最大の特長である優れた暗号化の実装がOMEMOにある。&lt;br /&gt;
&lt;br /&gt;
===Signalの問題点===&lt;br /&gt;
====全OSに共通の問題====&lt;br /&gt;
=====中央集権=====&lt;br /&gt;
サーバーを選べない。[https://signal.org/blog/the-ecosystem-is-moving/ Signal側はこれが問題にされていると認識しているが、脱中央集権化すると、変更を加えることが難しくなると主張している]。&lt;br /&gt;
&lt;br /&gt;
=====Google reCAPTCHA=====&lt;br /&gt;
プライバシーに悪いGoogle reCAPTCHAが使われ、[https://github.com/signalapp/Signal-Android/issues/10999 Githubのissueで取り上げらた]。&lt;br /&gt;
&lt;br /&gt;
=====電話番号=====&lt;br /&gt;
[https://support.signal.org/hc/ja/articles/360007318691-電話番号を登録する 電話番号が必要]。&lt;br /&gt;
&lt;br /&gt;
[https://support.signal.org/hc/ja/articles/360007061452-Signal-は私が連絡先に登録している人たちに私の電話番号を送信しているのですか? 電話番号が相手に伝わる]。&lt;br /&gt;
&lt;br /&gt;
====Android版の問題====&lt;br /&gt;
=====F-Droidにアプリがない=====&lt;br /&gt;
[https://community.signalusers.org/t/signal-android-app-on-f-droid-store-f-droid-status/28581 F-Droidにアプリがない]。ただし、フォークした[https://www.twinhelix.com/apps/signal-foss Signal FOSS]はF-Droidにレポジトリを追加して入手できる。&lt;br /&gt;
&lt;br /&gt;
====デスクトップ版の問題====&lt;br /&gt;
=====スマートフォンに依存=====&lt;br /&gt;
[https://support.signal.org/hc/ja/articles/360007318751-登録のトラブルシューティング デスクトップアプリだけでは登録できず、スマートフォンが必要]。&lt;br /&gt;
&lt;br /&gt;
=====Electron=====&lt;br /&gt;
デスクトップ版は、起動が遅く、動作が重く、不安定で、セキュリティが脆く、アプリのファイルサイズが大きく、視覚障害者が利用しづらい[https://www.freie-messenger.de/en/begriffe/electron/ Electron]を使用している。[https://github.com/signalapp/Signal-Desktop/issues/2178 過去にはGithubのissueでこの問題が取り上げられたが]、大幅なコード書き換えが必要なため、開発者が取り除く予定はない。&lt;br /&gt;
&lt;br /&gt;
===XMPP+OMEMOがSignalに対して完全に上回る点===&lt;br /&gt;
* 非中央集権。&lt;br /&gt;
** 電話番号不要。&lt;br /&gt;
** スマートフォン不要。&lt;br /&gt;
** サーバーとクライアントは、通信経路匿名化ソフトウェアTorのオニオンサービスで通信可能。&lt;br /&gt;
&lt;br /&gt;
* クライアントアプリの豊富さ。&lt;br /&gt;
** 使いやすいクライアントがある。&lt;br /&gt;
** 外観が豊富。&lt;br /&gt;
** 軽量なクライアントがある。&lt;br /&gt;
** GUIもCLIもある。&lt;br /&gt;
** Elecrtonを使用しないクライアントがある。&lt;br /&gt;
** Android OSの場合は、F-Droidから外部のレポジトリを登録せずに、アプリをダウンロードできる。&lt;br /&gt;
* サーバーソフトウェアの豊富さ。&lt;br /&gt;
* デスクトップパソコンとの相性。&lt;br /&gt;
&lt;br /&gt;
===Signalと同等な点===&lt;br /&gt;
* メッセージの暗号化&lt;br /&gt;
** エンドツーエンド暗号化&lt;br /&gt;
&lt;br /&gt;
このように、エドワード・スノーデンがエンドツーエンド暗号化を理由にSignalを薦めていても、OMEMOではなく、わざわざSignalを選ぶ理由がない。&lt;br /&gt;
&lt;br /&gt;
==電子メール+PGPとの比較==&lt;br /&gt;
PGPは古く、仕様にたくさんの問題を抱えている。&lt;br /&gt;
&lt;br /&gt;
===PGPの問題点===&lt;br /&gt;
&amp;lt;!-- 参考：https://nicholasjohnson.ch/2022/01/03/goodbye-pgp/ --&amp;gt;&lt;br /&gt;
====Web of Trust====&lt;br /&gt;
全員の連絡先が他の連絡先全員に漏れる。&lt;br /&gt;
&lt;br /&gt;
====鍵サーバー====&lt;br /&gt;
=====署名スパム=====&lt;br /&gt;
公衆鍵サーバーは誰でもどの鍵にも署名可能で、大量の無駄な鍵で署名されて、鍵が長くなる。&lt;br /&gt;
&lt;br /&gt;
=====鍵束=====&lt;br /&gt;
鍵サーバーに鍵を要求する度に、端末のIPアドレスと要求したすべての鍵がサーバーに知られる。これは、ランダムな間隔でTor経由で鍵を更新する[https://manpages.debian.org/bullseye/parcimonie/parcimonie.1p.en.html Parcimonie]で防げるが、ソフトウェアは1年半以上も更新されていない。&lt;br /&gt;
&lt;br /&gt;
====朽ちた暗号====&lt;br /&gt;
[https://safecurves.cr.yp.to/rigid.html PGPは、バックドアがあるとされているNISTの楕円曲線をサポートしている。]&lt;br /&gt;
&lt;br /&gt;
OpenPGPは、下位互換性と標準への準拠という名目でセキュリティを犠牲にしている。SHA-1、3DES、CAST5、Blowfish などの朽ちているか、もしくは古いアルゴリズムをサポートしている。最新の暗号システムでは使用しないCFBモードとS2Kパスワード ハッシュを使用する。&lt;br /&gt;
&lt;br /&gt;
====鍵の有効期限====&lt;br /&gt;
連絡先に定期的に鍵を更新するよう強要する。鍵を更新するため、[[#鍵サーバー]]を使用する人がいる。&lt;br /&gt;
&lt;br /&gt;
====指定がなければRSAを使用====&lt;br /&gt;
より速く、より小さく、より安全な[https://ja.wikipedia.org/wiki/エドワーズ曲線デジタル署名アルゴリズム Curve25519]を使用しない。&lt;br /&gt;
&lt;br /&gt;
====鍵IDと指紋====&lt;br /&gt;
多数の利用者は、成りすまし可能なv3の危険な鍵IDのままにしている。しかし、現在のv4の鍵であっても、[https://shattered.io/ 衝突済みのSHA1]に依存している。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ====パケット形式==== --&amp;gt;&lt;br /&gt;
====圧縮＋暗号化====&lt;br /&gt;
[https://security.stackexchange.com/questions/43413/is-it-safe-for-gpg-to-compress-all-messages-prior-to-encryption-by-default 攻撃者が暗号化されたメッセージを解読するのに役立つ場合がある。]&lt;br /&gt;
&lt;br /&gt;
====否認不可能====&lt;br /&gt;
署名暗号技術の[https://ja.wikipedia.org/wiki/否認不可 否認可能性]がない。ただし、電子メールではサーバーはDKIMを使用し、メール内容にはメタデータとIPログに加えて、コンテキスト情報があり、に否認可能性がなくても変わらない。&lt;br /&gt;
&lt;br /&gt;
====前方秘匿性（フォワードセキュリティ）の欠如====&lt;br /&gt;
暗号鍵の秘密鍵が漏洩した場合、他人がその鍵で過去に暗号化されたすべてのデータを解読可能になる。主要なメールプロバイダーは要求に応じて法執行機関にメール内容を提供し、NSAは[https://ja.wikipedia.org/wiki/XKeyscore XKeyscore]を利用して、送信されるメールのコピーを保持する。&lt;br /&gt;
&lt;br /&gt;
====メッセージパディングなし====&lt;br /&gt;
パディングがない暗号のモードであるCFBを使うので、暗号文のままでもメッセージの正確な長さがわかる。&lt;br /&gt;
&lt;br /&gt;
また、[https://inaz2.hatenablog.com/entry/2015/12/23/000923 パディングオラクル攻撃]に対して脆弱。&lt;br /&gt;
&lt;br /&gt;
===XMPP+OMEMOが電子メール+PGPに対して完全に上回る点===&lt;br /&gt;
* 鍵サーバーがない。&lt;br /&gt;
* 朽ちた暗号が使われない。[https://xmpp.org/extensions/xep-0384.html#protocol-key_exchange 鍵交換]は暗号Curve25519/Ed25519とハッシュSHA-256が使われ、[https://xmpp.org/extensions/xep-0384.html#protocol-message_encryption メッセージ暗号化]は暗号AES-256-CBCとハッシュHKDF-SHA-256、HMAC-SHA-256が使われる。ただし、PGPと同じく否認可能性はない。&lt;br /&gt;
* 前方秘匿性（フォワードセキュリティ）があり、同じ鍵を短期間だけ使い、自動的に更新され、秘密にすべき鍵が漏洩しても、過去に送信したメッセージをほとんど解読できない。&lt;br /&gt;
* [https://xmpp.org/extensions/xep-0384.html#protocol-double_ratchet メッセージパディングあり]。&lt;br /&gt;
* 別人が同じ暗号文を再送する[https://ja.wikipedia.org/wiki/反射攻撃 反射攻撃]に[https://xmpp.org/extensions/xep-0384.html#reqs-threat-model 強い]。&lt;br /&gt;
&lt;br /&gt;
===XMPP+OMEMOが電子メール+PGPに対して下回る点===&lt;br /&gt;
* クライアントが少ない。&lt;br /&gt;
* 普及してない。&lt;br /&gt;
&lt;br /&gt;
==関連用語==&lt;br /&gt;
* [[OTR]]&lt;br /&gt;
&lt;br /&gt;
==外部リンク==&lt;br /&gt;
* [https://xmpp.org/extensions/xep-0384.html XEP-0384: OMEMO Encryption]&lt;br /&gt;
* [https://conversations.im/omemo/ OMEMO Multi-End Message and Object Encryption]&lt;br /&gt;
* [https://omemo.top/ Are we OMEMO yet?]&lt;br /&gt;
&lt;br /&gt;
===Wiki===&lt;br /&gt;
* [https://wiki.xmpp.org/web/XMPP_E2E_Security XMPP E2E Security] - XMPP Wiki&lt;br /&gt;
* [https://wiki.xmpp.org/web/Tech_pages/OMEMO Tech pages/OMEMO] - XMPP Wiki&lt;br /&gt;
* [https://en.wikipedia.org/wiki/OMEMO OMEMO] - Wikipedia英語&lt;br /&gt;
* [https://ja.wikipedia.org/wiki/Double_Ratchetアルゴリズム Double Ratchetアルゴリズム] - Wikipedia日本語&lt;/div&gt;</summary>
		<author><name>Who</name></author>
	</entry>
	<entry>
		<id>https://wiki.step.im/index.php?title=%E3%82%AB%E3%83%86%E3%82%B4%E3%83%AA:%E3%82%A8%E3%83%B3%E3%83%89%E3%83%84%E3%83%BC%E3%82%A8%E3%83%B3%E3%83%89%E6%9A%97%E5%8F%B7%E5%8C%96&amp;diff=225</id>
		<title>カテゴリ:エンドツーエンド暗号化</title>
		<link rel="alternate" type="text/html" href="https://wiki.step.im/index.php?title=%E3%82%AB%E3%83%86%E3%82%B4%E3%83%AA:%E3%82%A8%E3%83%B3%E3%83%89%E3%83%84%E3%83%BC%E3%82%A8%E3%83%B3%E3%83%89%E6%9A%97%E5%8F%B7%E5%8C%96&amp;diff=225"/>
		<updated>2023-05-11T11:16:27Z</updated>

		<summary type="html">&lt;p&gt;Who: ページの作成:「端末で暗号化した暗号文を別の端末で復号する。サーバーの管理者に平文が傍受されない。」&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;端末で暗号化した暗号文を別の端末で復号する。サーバーの管理者に平文が傍受されない。&lt;/div&gt;</summary>
		<author><name>Who</name></author>
	</entry>
	<entry>
		<id>https://wiki.step.im/index.php?title=OMEMO&amp;diff=224</id>
		<title>OMEMO</title>
		<link rel="alternate" type="text/html" href="https://wiki.step.im/index.php?title=OMEMO&amp;diff=224"/>
		<updated>2023-05-11T11:11:03Z</updated>

		<summary type="html">&lt;p&gt;Who: カテゴリ&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:基本用語]]&lt;br /&gt;
[[Category:エンドツーエンド暗号化]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- 参考：http://jezf25zgvxlsvuzdzm6fg2hoetmruhy4uxnolyw46tuh4jugcwc7byqd.onion/OMEMO --&amp;gt;&lt;br /&gt;
==概要==&lt;br /&gt;
OMEMOは[https://xmpp.org/extensions/xep-0384.html#revision-history-v0.0.1 2015年に最初の版が作成された]XMPPのエンドツーエンド暗号化をする現代的な仕様で、過去の暗号化仕様の問題を解決する[https://xmpp.org/extensions/xep-0384.html#intro-motivation 過去の暗号化仕様の問題を解決する]。インスタントメッセンジャー[https://signal.org/ja Signal]の暗号化を行うアルゴリズムであるDouble Ratchet（[https://signal.org/docs/specifications/doubleratchet/ Signal]、[https://ja.wikipedia.org/wiki/Double_Ratchetアルゴリズム Wikipedia日本語]）を[https://xmpp.org/extensions/xep-0384.html#intro-overview XMPPで仕様にした]ものである。&lt;br /&gt;
&lt;br /&gt;
==XMPPの他エンドツーエンド暗号化方式と比較した総覧==&lt;br /&gt;
&amp;lt;!-- https://wiki.xmpp.org/web/XMPP_E2E_Security#Comparative_Overview （固定版 https://wiki.xmpp.org/web/index.php?title=XMPP_E2E_Security&amp;amp;oldid=10490 )を和訳と微修正した。 --&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot; |企画&lt;br /&gt;
!colspan=&amp;quot;5&amp;quot; |セキュリティ特性&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot; |伝達の種類&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot; |XMPPとの互換性&lt;br /&gt;
|-&lt;br /&gt;
![https://ja.wikipedia.org/wiki/デジタル署名#認証 真正性]&lt;br /&gt;
![https://en.wikipedia.org/wiki/Information_security#Integrity &amp;lt;abbr title=&amp;quot;情報及び処理方法が、正確であること及び完全であることを保護すること。&amp;quot;&amp;gt;完全性&amp;lt;abbr&amp;gt;]&lt;br /&gt;
![https://ja.wikipedia.org/wiki/暗号 暗号化]&lt;br /&gt;
![https://ja.wikipedia.org/wiki/Forward_secrecy 前方秘匿性]&lt;br /&gt;
![https://en.wikipedia.org/wiki/Malleability_(cryptography) &amp;lt;abbr title=&amp;quot;暗号文が与えられたとき、ある関係性を持った別の暗号文の生成ができないこと。&amp;quot;&amp;gt;頑強性&amp;lt;/abbr&amp;gt;]&lt;br /&gt;
!1対1&lt;br /&gt;
!グループチャット&lt;br /&gt;
!オフラインメッセージ&lt;br /&gt;
!複数の送信源&lt;br /&gt;
!Discoveryのサポート&lt;br /&gt;
|-&lt;br /&gt;
|[https://xmpp.org/extensions/xep-0384.html OMEMO]&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |悪意のある認証済みデバイスの場合を除いて有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |認証済みデバイスによっては有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:yellow&amp;quot; |非匿名のみ有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|-&lt;br /&gt;
|[https://xmpp.org/extensions/xep-0374.html OpenPGP for XMPPインスタントメッセージ]&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:yellow&amp;quot; |N/A&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |可能であり、予定があるが、現在は仕様がない&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|-&lt;br /&gt;
|[https://xmpp.org/extensions/xep-0027.html 古いPGP]&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無。メッセージ暗号化のみで、署名されない&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:yellow&amp;quot; |N/A&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:yellow&amp;quot; |全送信源で同じ鍵の組み合わせの場合は有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
|-&lt;br /&gt;
|OTR&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Signalとの比較==&lt;br /&gt;
以下に挙げられているSignalの問題がXMPPにはなく、Signalの最大の特長である優れた暗号化の実装がOMEMOにある。&lt;br /&gt;
&lt;br /&gt;
===Signalの問題点===&lt;br /&gt;
====全OSに共通の問題====&lt;br /&gt;
=====中央集権=====&lt;br /&gt;
サーバーを選べない。[https://signal.org/blog/the-ecosystem-is-moving/ Signal側はこれが問題にされていると認識しているが、脱中央集権化すると、変更を加えることが難しくなると主張している]。&lt;br /&gt;
&lt;br /&gt;
=====Google reCAPTCHA=====&lt;br /&gt;
プライバシーに悪いGoogle reCAPTCHAが使われ、[https://github.com/signalapp/Signal-Android/issues/10999 Githubのissueで取り上げらた]。&lt;br /&gt;
&lt;br /&gt;
=====電話番号=====&lt;br /&gt;
[https://support.signal.org/hc/ja/articles/360007318691-電話番号を登録する 電話番号が必要]。&lt;br /&gt;
&lt;br /&gt;
[https://support.signal.org/hc/ja/articles/360007061452-Signal-は私が連絡先に登録している人たちに私の電話番号を送信しているのですか? 電話番号が相手に伝わる]。&lt;br /&gt;
&lt;br /&gt;
====Android版の問題====&lt;br /&gt;
=====F-Droidにアプリがない=====&lt;br /&gt;
[https://community.signalusers.org/t/signal-android-app-on-f-droid-store-f-droid-status/28581 F-Droidにアプリがない]。ただし、フォークした[https://www.twinhelix.com/apps/signal-foss Signal FOSS]はF-Droidにレポジトリを追加して入手できる。&lt;br /&gt;
&lt;br /&gt;
====デスクトップ版の問題====&lt;br /&gt;
=====スマートフォンに依存=====&lt;br /&gt;
[https://support.signal.org/hc/ja/articles/360007318751-登録のトラブルシューティング デスクトップアプリだけでは登録できず、スマートフォンが必要]。&lt;br /&gt;
&lt;br /&gt;
=====Electron=====&lt;br /&gt;
デスクトップ版は、起動が遅く、動作が重く、不安定で、セキュリティが脆く、アプリのファイルサイズが大きく、視覚障害者が利用しづらい[https://www.freie-messenger.de/en/begriffe/electron/ Electron]を使用している。[https://github.com/signalapp/Signal-Desktop/issues/2178 過去にはGithubのissueでこの問題が取り上げられたが]、大幅なコード書き換えが必要なため、開発者が取り除く予定はない。&lt;br /&gt;
&lt;br /&gt;
===XMPP+OMEMOがSignalに対して完全に上回る点===&lt;br /&gt;
* 非中央集権。&lt;br /&gt;
** 電話番号不要。&lt;br /&gt;
** スマートフォン不要。&lt;br /&gt;
** サーバーとクライアントは、通信経路匿名化ソフトウェアTorのオニオンサービスで通信可能。&lt;br /&gt;
&lt;br /&gt;
* クライアントアプリの豊富さ。&lt;br /&gt;
** 使いやすいクライアントがある。&lt;br /&gt;
** 外観が豊富。&lt;br /&gt;
** 軽量なクライアントがある。&lt;br /&gt;
** GUIもCLIもある。&lt;br /&gt;
** Elecrtonを使用しないクライアントがある。&lt;br /&gt;
** Android OSの場合は、F-Droidから外部のレポジトリを登録せずに、アプリをダウンロードできる。&lt;br /&gt;
* サーバーソフトウェアの豊富さ。&lt;br /&gt;
* デスクトップパソコンとの相性。&lt;br /&gt;
&lt;br /&gt;
===Signalと同等な点===&lt;br /&gt;
* メッセージの暗号化&lt;br /&gt;
** エンドツーエンド暗号化&lt;br /&gt;
&lt;br /&gt;
このように、エドワード・スノーデンがエンドツーエンド暗号化を理由にSignalを薦めていても、OMEMOではなく、わざわざSignalを選ぶ理由がない。&lt;br /&gt;
&lt;br /&gt;
==電子メール+PGPとの比較==&lt;br /&gt;
PGPは古く、仕様にたくさんの問題を抱えている。&lt;br /&gt;
&lt;br /&gt;
===PGPの問題点===&lt;br /&gt;
&amp;lt;!-- 参考：https://nicholasjohnson.ch/2022/01/03/goodbye-pgp/ --&amp;gt;&lt;br /&gt;
====Web of Trust====&lt;br /&gt;
全員の連絡先が他の連絡先全員に漏れる。&lt;br /&gt;
&lt;br /&gt;
====鍵サーバー====&lt;br /&gt;
=====署名スパム=====&lt;br /&gt;
公衆鍵サーバーは誰でもどの鍵にも署名可能で、大量の無駄な鍵で署名されて、鍵が長くなる。&lt;br /&gt;
&lt;br /&gt;
=====鍵束=====&lt;br /&gt;
鍵サーバーに鍵を要求する度に、端末のIPアドレスと要求したすべての鍵がサーバーに知られる。これは、ランダムな間隔でTor経由で鍵を更新する[https://manpages.debian.org/bullseye/parcimonie/parcimonie.1p.en.html Parcimonie]で防げるが、ソフトウェアは1年半以上も更新されていない。&lt;br /&gt;
&lt;br /&gt;
====朽ちた暗号====&lt;br /&gt;
[https://safecurves.cr.yp.to/rigid.html PGPは、バックドアがあるとされているNISTの楕円曲線をサポートしている。]&lt;br /&gt;
&lt;br /&gt;
OpenPGPは、下位互換性と標準への準拠という名目でセキュリティを犠牲にしている。SHA-1、3DES、CAST5、Blowfish などの朽ちているか、もしくは古いアルゴリズムをサポートしている。最新の暗号システムでは使用しないCFBモードとS2Kパスワード ハッシュを使用する。&lt;br /&gt;
&lt;br /&gt;
====鍵の有効期限====&lt;br /&gt;
連絡先に定期的に鍵を更新するよう強要する。鍵を更新するため、[[#鍵サーバー]]を使用する人がいる。&lt;br /&gt;
&lt;br /&gt;
====指定がなければRSAを使用====&lt;br /&gt;
より速く、より小さく、より安全な[https://ja.wikipedia.org/wiki/エドワーズ曲線デジタル署名アルゴリズム Curve25519]を使用しない。&lt;br /&gt;
&lt;br /&gt;
====鍵IDと指紋====&lt;br /&gt;
多数の利用者は、成りすまし可能なv3の危険な鍵IDのままにしている。しかし、現在のv4の鍵であっても、[https://shattered.io/ 衝突済みのSHA1]に依存している。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ====パケット形式==== --&amp;gt;&lt;br /&gt;
====圧縮＋暗号化====&lt;br /&gt;
[https://security.stackexchange.com/questions/43413/is-it-safe-for-gpg-to-compress-all-messages-prior-to-encryption-by-default 攻撃者が暗号化されたメッセージを解読するのに役立つ場合がある。]&lt;br /&gt;
&lt;br /&gt;
====否認不可能====&lt;br /&gt;
署名暗号技術の[https://ja.wikipedia.org/wiki/否認不可 否認可能性]がない。ただし、電子メールではサーバーはDKIMを使用し、メール内容にはメタデータとIPログに加えて、コンテキスト情報があり、に否認可能性がなくても変わらない。&lt;br /&gt;
&lt;br /&gt;
====前方秘匿性（フォワードセキュリティ）の欠如====&lt;br /&gt;
暗号鍵の秘密鍵が漏洩した場合、他人がその鍵で過去に暗号化されたすべてのデータを解読可能になる。主要なメールプロバイダーは要求に応じて法執行機関にメール内容を提供し、NSAは[https://ja.wikipedia.org/wiki/XKeyscore XKeyscore]を利用して、送信されるメールのコピーを保持する。&lt;br /&gt;
&lt;br /&gt;
====メッセージパディングなし====&lt;br /&gt;
パディングがない暗号のモードであるCFBを使うので、暗号文のままでもメッセージの正確な長さがわかる。&lt;br /&gt;
&lt;br /&gt;
また、[https://inaz2.hatenablog.com/entry/2015/12/23/000923 パディングオラクル攻撃]に対して脆弱。&lt;br /&gt;
&lt;br /&gt;
===XMPP+OMEMOが電子メール+PGPに対して完全に上回る点===&lt;br /&gt;
* 鍵サーバーがない。&lt;br /&gt;
* 朽ちた暗号が使われない。[https://xmpp.org/extensions/xep-0384.html#protocol-key_exchange 鍵交換]は暗号Curve25519/Ed25519とハッシュSHA-256が使われ、[https://xmpp.org/extensions/xep-0384.html#protocol-message_encryption メッセージ暗号化]は暗号AES-256-CBCとハッシュHKDF-SHA-256、HMAC-SHA-256が使われる。ただし、PGPと同じく否認可能性はない。&lt;br /&gt;
* 前方秘匿性（フォワードセキュリティ）があり、同じ鍵を短期間だけ使い、自動的に更新され、秘密にすべき鍵が漏洩しても、過去に送信したメッセージをほとんど解読できない。&lt;br /&gt;
* [https://xmpp.org/extensions/xep-0384.html#protocol-double_ratchet メッセージパディングあり]。&lt;br /&gt;
* 別人が同じ暗号文を再送する[https://ja.wikipedia.org/wiki/反射攻撃 反射攻撃]に[https://xmpp.org/extensions/xep-0384.html#reqs-threat-model 強い]。&lt;br /&gt;
&lt;br /&gt;
===XMPP+OMEMOが電子メール+PGPに対して下回る点===&lt;br /&gt;
* クライアントが少ない。&lt;br /&gt;
* 普及してない。&lt;br /&gt;
&lt;br /&gt;
==関連用語==&lt;br /&gt;
* [[OTR]]&lt;br /&gt;
&lt;br /&gt;
==外部リンク==&lt;br /&gt;
* [https://xmpp.org/extensions/xep-0384.html XEP-0384: OMEMO Encryption]&lt;br /&gt;
* [https://conversations.im/omemo/ OMEMO Multi-End Message and Object Encryption]&lt;br /&gt;
* [https://omemo.top/ Are we OMEMO yet?]&lt;br /&gt;
&lt;br /&gt;
===Wiki===&lt;br /&gt;
* [https://wiki.xmpp.org/web/XMPP_E2E_Security XMPP E2E Security] - XMPP Wiki&lt;br /&gt;
* [https://wiki.xmpp.org/web/Tech_pages/OMEMO Tech pages/OMEMO] - XMPP Wiki&lt;br /&gt;
* [https://en.wikipedia.org/wiki/OMEMO OMEMO] - Wikipedia英語&lt;br /&gt;
* [https://ja.wikipedia.org/wiki/Double_Ratchetアルゴリズム Double Ratchetアルゴリズム] - Wikipedia日本語&lt;/div&gt;</summary>
		<author><name>Who</name></author>
	</entry>
	<entry>
		<id>https://wiki.step.im/index.php?title=OMEMO&amp;diff=223</id>
		<title>OMEMO</title>
		<link rel="alternate" type="text/html" href="https://wiki.step.im/index.php?title=OMEMO&amp;diff=223"/>
		<updated>2023-05-11T09:45:51Z</updated>

		<summary type="html">&lt;p&gt;Who: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- 参考：http://jezf25zgvxlsvuzdzm6fg2hoetmruhy4uxnolyw46tuh4jugcwc7byqd.onion/OMEMO --&amp;gt;&lt;br /&gt;
==概要==&lt;br /&gt;
OMEMOは[https://xmpp.org/extensions/xep-0384.html#revision-history-v0.0.1 2015年に最初の版が作成された]XMPPのエンドツーエンド暗号化をする現代的な仕様で、過去の暗号化仕様の問題を解決する[https://xmpp.org/extensions/xep-0384.html#intro-motivation 過去の暗号化仕様の問題を解決する]。インスタントメッセンジャー[https://signal.org/ja Signal]の暗号化を行うアルゴリズムであるDouble Ratchet（[https://signal.org/docs/specifications/doubleratchet/ Signal]、[https://ja.wikipedia.org/wiki/Double_Ratchetアルゴリズム Wikipedia日本語]）を[https://xmpp.org/extensions/xep-0384.html#intro-overview XMPPで仕様にした]ものである。&lt;br /&gt;
&lt;br /&gt;
==XMPPの他エンドツーエンド暗号化方式と比較した総覧==&lt;br /&gt;
&amp;lt;!-- https://wiki.xmpp.org/web/XMPP_E2E_Security#Comparative_Overview （固定版 https://wiki.xmpp.org/web/index.php?title=XMPP_E2E_Security&amp;amp;oldid=10490 )を和訳と微修正した。 --&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot; |企画&lt;br /&gt;
!colspan=&amp;quot;5&amp;quot; |セキュリティ特性&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot; |伝達の種類&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot; |XMPPとの互換性&lt;br /&gt;
|-&lt;br /&gt;
![https://ja.wikipedia.org/wiki/デジタル署名#認証 真正性]&lt;br /&gt;
![https://en.wikipedia.org/wiki/Information_security#Integrity &amp;lt;abbr title=&amp;quot;情報及び処理方法が、正確であること及び完全であることを保護すること。&amp;quot;&amp;gt;完全性&amp;lt;abbr&amp;gt;]&lt;br /&gt;
![https://ja.wikipedia.org/wiki/暗号 暗号化]&lt;br /&gt;
![https://ja.wikipedia.org/wiki/Forward_secrecy 前方秘匿性]&lt;br /&gt;
![https://en.wikipedia.org/wiki/Malleability_(cryptography) &amp;lt;abbr title=&amp;quot;暗号文が与えられたとき、ある関係性を持った別の暗号文の生成ができないこと。&amp;quot;&amp;gt;頑強性&amp;lt;/abbr&amp;gt;]&lt;br /&gt;
!1対1&lt;br /&gt;
!グループチャット&lt;br /&gt;
!オフラインメッセージ&lt;br /&gt;
!複数の送信源&lt;br /&gt;
!Discoveryのサポート&lt;br /&gt;
|-&lt;br /&gt;
|[https://xmpp.org/extensions/xep-0384.html OMEMO]&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |悪意のある認証済みデバイスの場合を除いて有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |認証済みデバイスによっては有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:yellow&amp;quot; |非匿名のみ有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|-&lt;br /&gt;
|[https://xmpp.org/extensions/xep-0374.html OpenPGP for XMPPインスタントメッセージ]&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:yellow&amp;quot; |N/A&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |可能であり、予定があるが、現在は仕様がない&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
|-&lt;br /&gt;
|[https://xmpp.org/extensions/xep-0027.html 古いPGP]&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無。メッセージ暗号化のみで、署名されない&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:yellow&amp;quot; |N/A&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:yellow&amp;quot; |全送信源で同じ鍵の組み合わせの場合は有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
|-&lt;br /&gt;
|OTR&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:#33ff00&amp;quot; |有&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
| style=&amp;quot;background-color:red&amp;quot; |無&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Signalとの比較==&lt;br /&gt;
以下に挙げられているSignalの問題がXMPPにはなく、Signalの最大の特長である優れた暗号化の実装がOMEMOにある。&lt;br /&gt;
&lt;br /&gt;
===Signalの問題点===&lt;br /&gt;
====全OSに共通の問題====&lt;br /&gt;
=====中央集権=====&lt;br /&gt;
サーバーを選べない。[https://signal.org/blog/the-ecosystem-is-moving/ Signal側はこれが問題にされていると認識しているが、脱中央集権化すると、変更を加えることが難しくなると主張している]。&lt;br /&gt;
&lt;br /&gt;
=====Google reCAPTCHA=====&lt;br /&gt;
プライバシーに悪いGoogle reCAPTCHAが使われ、[https://github.com/signalapp/Signal-Android/issues/10999 Githubのissueで取り上げらた]。&lt;br /&gt;
&lt;br /&gt;
=====電話番号=====&lt;br /&gt;
[https://support.signal.org/hc/ja/articles/360007318691-電話番号を登録する 電話番号が必要]。&lt;br /&gt;
&lt;br /&gt;
[https://support.signal.org/hc/ja/articles/360007061452-Signal-は私が連絡先に登録している人たちに私の電話番号を送信しているのですか? 電話番号が相手に伝わる]。&lt;br /&gt;
&lt;br /&gt;
====Android版の問題====&lt;br /&gt;
=====F-Droidにアプリがない=====&lt;br /&gt;
[https://community.signalusers.org/t/signal-android-app-on-f-droid-store-f-droid-status/28581 F-Droidにアプリがない]。ただし、フォークした[https://www.twinhelix.com/apps/signal-foss Signal FOSS]はF-Droidにレポジトリを追加して入手できる。&lt;br /&gt;
&lt;br /&gt;
====デスクトップ版の問題====&lt;br /&gt;
=====スマートフォンに依存=====&lt;br /&gt;
[https://support.signal.org/hc/ja/articles/360007318751-登録のトラブルシューティング デスクトップアプリだけでは登録できず、スマートフォンが必要]。&lt;br /&gt;
&lt;br /&gt;
=====Electron=====&lt;br /&gt;
デスクトップ版は、起動が遅く、動作が重く、不安定で、セキュリティが脆く、アプリのファイルサイズが大きく、視覚障害者が利用しづらい[https://www.freie-messenger.de/en/begriffe/electron/ Electron]を使用している。[https://github.com/signalapp/Signal-Desktop/issues/2178 過去にはGithubのissueでこの問題が取り上げられたが]、大幅なコード書き換えが必要なため、開発者が取り除く予定はない。&lt;br /&gt;
&lt;br /&gt;
===XMPP+OMEMOがSignalに対して完全に上回る点===&lt;br /&gt;
* 非中央集権。&lt;br /&gt;
** 電話番号不要。&lt;br /&gt;
** スマートフォン不要。&lt;br /&gt;
** サーバーとクライアントは、通信経路匿名化ソフトウェアTorのオニオンサービスで通信可能。&lt;br /&gt;
&lt;br /&gt;
* クライアントアプリの豊富さ。&lt;br /&gt;
** 使いやすいクライアントがある。&lt;br /&gt;
** 外観が豊富。&lt;br /&gt;
** 軽量なクライアントがある。&lt;br /&gt;
** GUIもCLIもある。&lt;br /&gt;
** Elecrtonを使用しないクライアントがある。&lt;br /&gt;
** Android OSの場合は、F-Droidから外部のレポジトリを登録せずに、アプリをダウンロードできる。&lt;br /&gt;
* サーバーソフトウェアの豊富さ。&lt;br /&gt;
* デスクトップパソコンとの相性。&lt;br /&gt;
&lt;br /&gt;
===Signalと同等な点===&lt;br /&gt;
* メッセージの暗号化&lt;br /&gt;
** エンドツーエンド暗号化&lt;br /&gt;
&lt;br /&gt;
このように、エドワード・スノーデンがエンドツーエンド暗号化を理由にSignalを薦めていても、OMEMOではなく、わざわざSignalを選ぶ理由がない。&lt;br /&gt;
&lt;br /&gt;
==電子メール+PGPとの比較==&lt;br /&gt;
PGPは古く、仕様にたくさんの問題を抱えている。&lt;br /&gt;
&lt;br /&gt;
===PGPの問題点===&lt;br /&gt;
&amp;lt;!-- 参考：https://nicholasjohnson.ch/2022/01/03/goodbye-pgp/ --&amp;gt;&lt;br /&gt;
====Web of Trust====&lt;br /&gt;
全員の連絡先が他の連絡先全員に漏れる。&lt;br /&gt;
&lt;br /&gt;
====鍵サーバー====&lt;br /&gt;
=====署名スパム=====&lt;br /&gt;
公衆鍵サーバーは誰でもどの鍵にも署名可能で、大量の無駄な鍵で署名されて、鍵が長くなる。&lt;br /&gt;
&lt;br /&gt;
=====鍵束=====&lt;br /&gt;
鍵サーバーに鍵を要求する度に、端末のIPアドレスと要求したすべての鍵がサーバーに知られる。これは、ランダムな間隔でTor経由で鍵を更新する[https://manpages.debian.org/bullseye/parcimonie/parcimonie.1p.en.html Parcimonie]で防げるが、ソフトウェアは1年半以上も更新されていない。&lt;br /&gt;
&lt;br /&gt;
====朽ちた暗号====&lt;br /&gt;
[https://safecurves.cr.yp.to/rigid.html PGPは、バックドアがあるとされているNISTの楕円曲線をサポートしている。]&lt;br /&gt;
&lt;br /&gt;
OpenPGPは、下位互換性と標準への準拠という名目でセキュリティを犠牲にしている。SHA-1、3DES、CAST5、Blowfish などの朽ちているか、もしくは古いアルゴリズムをサポートしている。最新の暗号システムでは使用しないCFBモードとS2Kパスワード ハッシュを使用する。&lt;br /&gt;
&lt;br /&gt;
====鍵の有効期限====&lt;br /&gt;
連絡先に定期的に鍵を更新するよう強要する。鍵を更新するため、[[#鍵サーバー]]を使用する人がいる。&lt;br /&gt;
&lt;br /&gt;
====指定がなければRSAを使用====&lt;br /&gt;
より速く、より小さく、より安全な[https://ja.wikipedia.org/wiki/エドワーズ曲線デジタル署名アルゴリズム Curve25519]を使用しない。&lt;br /&gt;
&lt;br /&gt;
====鍵IDと指紋====&lt;br /&gt;
多数の利用者は、成りすまし可能なv3の危険な鍵IDのままにしている。しかし、現在のv4の鍵であっても、[https://shattered.io/ 衝突済みのSHA1]に依存している。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ====パケット形式==== --&amp;gt;&lt;br /&gt;
====圧縮＋暗号化====&lt;br /&gt;
[https://security.stackexchange.com/questions/43413/is-it-safe-for-gpg-to-compress-all-messages-prior-to-encryption-by-default 攻撃者が暗号化されたメッセージを解読するのに役立つ場合がある。]&lt;br /&gt;
&lt;br /&gt;
====否認不可能====&lt;br /&gt;
署名暗号技術の[https://ja.wikipedia.org/wiki/否認不可 否認可能性]がない。ただし、電子メールではサーバーはDKIMを使用し、メール内容にはメタデータとIPログに加えて、コンテキスト情報があり、に否認可能性がなくても変わらない。&lt;br /&gt;
&lt;br /&gt;
====前方秘匿性（フォワードセキュリティ）の欠如====&lt;br /&gt;
暗号鍵の秘密鍵が漏洩した場合、他人がその鍵で過去に暗号化されたすべてのデータを解読可能になる。主要なメールプロバイダーは要求に応じて法執行機関にメール内容を提供し、NSAは[https://ja.wikipedia.org/wiki/XKeyscore XKeyscore]を利用して、送信されるメールのコピーを保持する。&lt;br /&gt;
&lt;br /&gt;
====メッセージパディングなし====&lt;br /&gt;
パディングがない暗号のモードであるCFBを使うので、暗号文のままでもメッセージの正確な長さがわかる。&lt;br /&gt;
&lt;br /&gt;
また、[https://inaz2.hatenablog.com/entry/2015/12/23/000923 パディングオラクル攻撃]に対して脆弱。&lt;br /&gt;
&lt;br /&gt;
===XMPP+OMEMOが電子メール+PGPに対して完全に上回る点===&lt;br /&gt;
* 鍵サーバーがない。&lt;br /&gt;
* 朽ちた暗号が使われない。[https://xmpp.org/extensions/xep-0384.html#protocol-key_exchange 鍵交換]は暗号Curve25519/Ed25519とハッシュSHA-256が使われ、[https://xmpp.org/extensions/xep-0384.html#protocol-message_encryption メッセージ暗号化]は暗号AES-256-CBCとハッシュHKDF-SHA-256、HMAC-SHA-256が使われる。ただし、PGPと同じく否認可能性はない。&lt;br /&gt;
* 前方秘匿性（フォワードセキュリティ）があり、同じ鍵を短期間だけ使い、自動的に更新され、秘密にすべき鍵が漏洩しても、過去に送信したメッセージをほとんど解読できない。&lt;br /&gt;
* [https://xmpp.org/extensions/xep-0384.html#protocol-double_ratchet メッセージパディングあり]。&lt;br /&gt;
* 別人が同じ暗号文を再送する[https://ja.wikipedia.org/wiki/反射攻撃 反射攻撃]に[https://xmpp.org/extensions/xep-0384.html#reqs-threat-model 強い]。&lt;br /&gt;
&lt;br /&gt;
===XMPP+OMEMOが電子メール+PGPに対して下回る点===&lt;br /&gt;
* クライアントが少ない。&lt;br /&gt;
* 普及してない。&lt;br /&gt;
&lt;br /&gt;
==関連用語==&lt;br /&gt;
* [[OTR]]&lt;br /&gt;
&lt;br /&gt;
==外部リンク==&lt;br /&gt;
* [https://xmpp.org/extensions/xep-0384.html XEP-0384: OMEMO Encryption]&lt;br /&gt;
* [https://conversations.im/omemo/ OMEMO Multi-End Message and Object Encryption]&lt;br /&gt;
* [https://omemo.top/ Are we OMEMO yet?]&lt;br /&gt;
&lt;br /&gt;
===Wiki===&lt;br /&gt;
* [https://wiki.xmpp.org/web/XMPP_E2E_Security XMPP E2E Security] - XMPP Wiki&lt;br /&gt;
* [https://wiki.xmpp.org/web/Tech_pages/OMEMO Tech pages/OMEMO] - XMPP Wiki&lt;br /&gt;
* [https://en.wikipedia.org/wiki/OMEMO OMEMO] - Wikipedia英語&lt;br /&gt;
* [https://ja.wikipedia.org/wiki/Double_Ratchetアルゴリズム Double Ratchetアルゴリズム] - Wikipedia日本語&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[カテゴリ:エンドツーエンド暗号化]]&lt;/div&gt;</summary>
		<author><name>Who</name></author>
	</entry>
	<entry>
		<id>https://wiki.step.im/index.php?title=OTR&amp;diff=222</id>
		<title>OTR</title>
		<link rel="alternate" type="text/html" href="https://wiki.step.im/index.php?title=OTR&amp;diff=222"/>
		<updated>2023-05-11T09:39:33Z</updated>

		<summary type="html">&lt;p&gt;Who: 「エンドツーエンド暗号化」カテゴリ&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:基本用語]]&lt;br /&gt;
[[Category:エンドツーエンド暗号化]]&lt;br /&gt;
Off-the-Record Messaging&lt;br /&gt;
&lt;br /&gt;
== 日本語訳 ==&lt;br /&gt;
()&lt;br /&gt;
&lt;br /&gt;
== 説明 ==&lt;br /&gt;
インスタントメッセージ用の暗号化プロトコル。&lt;br /&gt;
&lt;br /&gt;
普通に使う分には、暗号化のこの機能によってデータを盗み見られる危険性は減って安全な会話ができる、と思っておけばいいかもしれない。&lt;br /&gt;
ただし複数の相手とのチャットには対応していない。&lt;br /&gt;
&lt;br /&gt;
[[ChatSecure]]、[[Psi]]などのクライアントが対応している。&lt;br /&gt;
&lt;br /&gt;
=== 関連用語 ===&lt;br /&gt;
[[OMEMO]]&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
== リンク ==&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Off-the-Record_Messaging Off-the-Record Messaging - Wikipedia]&lt;br /&gt;
* [https://wiki.xmpp.org/web/OTR OTR - XMPP WIKI]&lt;/div&gt;</summary>
		<author><name>Who</name></author>
	</entry>
	<entry>
		<id>https://wiki.step.im/index.php?title=Conversations&amp;diff=219</id>
		<title>Conversations</title>
		<link rel="alternate" type="text/html" href="https://wiki.step.im/index.php?title=Conversations&amp;diff=219"/>
		<updated>2021-06-09T04:29:58Z</updated>

		<summary type="html">&lt;p&gt;Who: Monocles&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:クライアント]]&lt;br /&gt;
== 日本語訳 ==&lt;br /&gt;
()&lt;br /&gt;
&lt;br /&gt;
== 説明 ==&lt;br /&gt;
Android5.0以降向けの多機能クライアント。OpenPGP、[[OMEMO]]に対応している。&lt;br /&gt;
&lt;br /&gt;
オープンソースであるので、[[blabber.im]]のようにフォークしたアプリも存在している。&lt;br /&gt;
&lt;br /&gt;
GooglePlayストアから購入できるが、F-Droidから無料でインストールもできる。&lt;br /&gt;
&lt;br /&gt;
=== 関連用語 ===&lt;br /&gt;
====・Conv6ations====&lt;br /&gt;
Conversationsのフォークアプリ。&lt;br /&gt;
&lt;br /&gt;
IPv6の接続回りの違いがある、らしい。&lt;br /&gt;
&lt;br /&gt;
====・[[blabber.im]]====&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
====・[[Monocles]]====&lt;br /&gt;
blabber.imとConversationsのフォークアプリ。&lt;br /&gt;
&lt;br /&gt;
== リンク ==&lt;br /&gt;
* [https://conversations.im/ Conversations: the very last word in instant messaging]&lt;br /&gt;
* [https://play.google.com/store/apps/details?id=eu.siacs.conversations Conversations (Jabber / XMPP) - Google Play のアプリ]&lt;br /&gt;
* [https://f-droid.org/en/packages/eu.siacs.conversations/ Conversations | F-Droid - Free and Open Source Android App Repository]&lt;br /&gt;
* [https://f-droid.org/en/packages/eu.sum7.conversations/ Conv6ations | F-Droid - Free and Open Source Android App Repository]&lt;/div&gt;</summary>
		<author><name>Who</name></author>
	</entry>
</feed>