mirror of
https://github.com/simplex-chat/simplex-chat.git
synced 2025-06-29 04:39:53 +00:00
103 lines
12 KiB
Markdown
103 lines
12 KiB
Markdown
|
---
|
|||
|
title: SimpleX platform
|
|||
|
revision: 07.02.2023
|
|||
|
---
|
|||
|
|
|||
|
| Updated 07.02.2023 | Languages: [EN](/docs/SIMPLEX.md), [FR](/docs/lang/fr/SIMPLEX.md), [CZ](/docs/lang/cs/SIMPLEX.md) JA |
|
|||
|
# SimpleX プラットフォーム - 動機と比較
|
|||
|
|
|||
|
## 問題点
|
|||
|
|
|||
|
既存のチャットプラットフォームとプロトコルには、次の一部またはすべての問題が存在します:
|
|||
|
|
|||
|
- ユーザプロファイルと連絡先のプライバシー(メタデータのプライバシー)の欠如
|
|||
|
- プロバイダ経由のMITM攻撃から[E2EE][1]実装の保護が無い(またはオプションの保護のみ)
|
|||
|
- 迷惑メッセージ(スパムや不正使用)
|
|||
|
- データの所有権と保護の欠如
|
|||
|
- 非技術者ユーザーに対するすべての非集中型プロトコルの使用の複雑さ
|
|||
|
|
|||
|
少数の集中型プラットフォームに通信が集中することで、こうした問題の解決は非常に困難です。
|
|||
|
|
|||
|
## 解決策の提案
|
|||
|
|
|||
|
提案するプロトコルのスタックは、メッセージと連絡先の両方をクライアントデバイスにのみ保存させることで、サーバーの役割を、キューに送信されるメッセージの認証のみを必要とする単純なメッセージリレーに減らすことで、これらの問題を解決します。他のプラットフォームとは異なり、ユーザーには識別子が割り当てられていないため、メッセージだけでなくメタデータも保護されます。
|
|||
|
|
|||
|
プラットフォームの目的や技術設計の詳細については[SimpleXホワイトペーパー](https://github.com/simplex-chat/simplexmq/blob/master/protocol/overview-tjr.md)を参照してください。
|
|||
|
|
|||
|
## SimpleXを使用する理由
|
|||
|
|
|||
|
## プライバシーとセキュリティに対するSimpleX独自のアプローチ
|
|||
|
|
|||
|
誰もがコミュニケーションのプライバシーとセキュリティに気を配る必要があります。何気ない会話でも危険にさらされる可能性があります。
|
|||
|
|
|||
|
### ID、プロフィール、連絡先、メタデータの完全なプライバシー
|
|||
|
|
|||
|
**他の既存のメッセージングプラットフォームとは異なり、SimpleXはユーザーIDを割り当てません** - SimpleXは、ユーザーを識別するために、電話番号(SignalやWhatsAppなどで利用)、ドメインベースのアドレス (電子メール、XMPP、Matrixなどで利用)、ユーザー名 (Telegramなどで利用)、公開鍵、さらには乱数 (他のすべてのメッセンジャーなどで利用) も使用しておらず、SimpleXを使用している人が何人いるのかさえわかりません。
|
|||
|
|
|||
|
他のすべてのプラットフォームが使っているユーザー識別子の代わりにメッセージを配信するために、SimpleXは単方向(シンプレクス)のメッセージキューのアドレスを使います。SimpleXを使うことは、連絡先ごとに異なるメールアドレスや電話番号を持つようなものですが、これらすべてのアドレスを管理する手間はかかりません。近い将来、SimpleXアプリはメッセージキューを自動的に変更し、会話をあるサーバーから別のサーバーに移動させ、ユーザーにさらに優れたプライバシーを提供するようになるでしょう。
|
|||
|
|
|||
|
このアプローチにより、SimpleXプラットフォームのサーバや監視者から通信相手を隠すことで、プライバシーを保護します。Torなどのオーバーレイトランスポートネットワークを経由してSimpleXサーバーに接続するようにネットワークアクセスを設定することで、プライバシーをさらに向上させることができます。
|
|||
|
|
|||
|
### スパムや悪用からの最善の保護
|
|||
|
|
|||
|
SimpleXプラットフォーム上では識別子を持たないため、1回限りの招待リンクやオプションの一時的なユーザーアドレスを共有しない限り、連絡を取ることはできません。オプションのユーザーアドレスであっても、スパムの連絡先リクエストに使われる可能性はありますが、接続を失うことなく変更または完全に削除することができます。
|
|||
|
|
|||
|
### データの完全な所有権、管理、セキュリティ
|
|||
|
|
|||
|
SimpleXは全てのユーザーデータをクライアントデバイスに保存し、メッセージは受信するまで一時的にSimpleXのリレーサーバーに保存されます。
|
|||
|
|
|||
|
私たちはすべてのサポートするデバイスで使用できるポータブルデータベースフォーマットを使用しています。近日中にモバイルアプリからチャットデータベースをエクスポートする機能を追加し、別のデバイスでも使用できるようにする予定です。
|
|||
|
|
|||
|
フェデレーションネットワーク (電子メール、XMPP、または Matrix) のサーバーとは異なり、SimpleXサーバーはユーザーアカウントを保存せず、受信者にメッセージを中継するだけで、双方のプライバシーを保護します。 配信されるメッセージには追加の暗号化レイヤーがあるため、サーバーの送信トラフィックと受信トラフィックの間に共通の識別子や暗号化メッセージはありません。 そのため、誰かがサーバートラフィックを監視している場合、誰が誰と通信しているのかを簡単に判断することはできません (既知のトラフィック相関攻撃については、[SimpleXホワイトペーパー](https://github.com/simplex-chat/simplexmq/blob/master/protocol/overview-tjr.md)を参照してください)。
|
|||
|
|
|||
|
### ユーザー独自のSimpleXネットワーク
|
|||
|
|
|||
|
SimpleXを独自のサーバーで使用し、アプリ内で事前に構成されたサーバーまたは他のSimpleXサーバーを使用している人々と通信することもできます。
|
|||
|
|
|||
|
SimpleX プラットフォームはオープンプロトコルを使用し、チャットボットを作成するためのSDKを提供します。これにより、ユーザーが SimpleXチャットアプリを介して対話できるサービスの実装が可能になります。私たちは、どのようなSimpleXサービスを構築できるか非常に楽しみにしています。
|
|||
|
|
|||
|
SimpleXアプリユーザー向けのチャットボットサービスや、モバイルアプリへのSimpleX チャットライブラリの統合など、SimpleXプラットフォームでの開発を検討されている方は、ぜひお気軽にお問い合わせください。
|
|||
|
|
|||
|
## 他のプロトコルとの比較
|
|||
|
|
|||
|
| | SimpleX chat | Signal, big platforms | XMPP, Matrix | P2P protocols |
|
|||
|
| :--------------------------------------------- | :----------------: | :-------------------: | :-------------: | :-------------: |
|
|||
|
| ユーザーIDが必要 | いいえ = プライベート | はい<sup>1</sup> | はい<sup>2</sup> | はい<sup>3</sup> |
|
|||
|
| MITMの可能性 | いいえ = セキュア | はい<sup>4</sup> | はい | はい |
|
|||
|
| DNSへの依存 | いいえ = 弾力性 | はい | はい | いいえ |
|
|||
|
| 単一オペレータまたはネットワーク | いいえ = 分散型 | はい | いいえ | はい<sup>5</sup> |
|
|||
|
| セントラルコンポーネントまたはその他のネットワーク全体への攻撃 | いいえ = 弾力性 | はい | はい<sup>2</sup> | はい<sup>6</sup> |
|
|||
|
|
|||
|
1. 通常は電話番号に基づいていますが、場合によってはユーザー名に基づく場合もある。
|
|||
|
2. DNSベース。
|
|||
|
3. 公開鍵またはその他のグローバルにユニークなID。
|
|||
|
4. オペレーターのサーバーが侵害された場合。
|
|||
|
5. P2Pネットワークや暗号通貨ベースのネットワークは分散型ではあるが、非中央集権型ではない。これらは、ユーザーアドレスの単一の名前空間を持つ単一のネットワークとして動作する。
|
|||
|
6. P2Pネットワークは中央機関が存在するか、ネットワーク全体が侵害される可能性がある。次のセクションを参照。
|
|||
|
|
|||
|
## [P2P][9]メッセージングプロトコルとの比較
|
|||
|
|
|||
|
プライバシーと集中管理の問題を解決することを目的としたP2Pチャット/メッセージングプロトコルや実装はいくつかありますが、それらは提案された設計よりも信頼性が低く、実装や分析が複雑で、攻撃に対してより脆弱であるという独自の問題点を抱えています。
|
|||
|
|
|||
|
1. [P2P][9]ネットワークは、[DHT][10]の一種を使用して、ネットワークを通じてメッセージ/リクエストをルーティングします。DHTの実装は、信頼性、配信保証、遅延のバランスを取るがある複雑な設計になっています。提案された設計では、より優れた配信保証と低い遅延の両方が実現されます(メッセージは、受信者によって選択されたサーバーを使用して、毎回1つのノードを経由して、複数回並列に渡されます。一方、P2Pネットワークでは、メッセージは、アルゴリズムによって選択されたノードを使用して、`O(log N)`ノードを順次通過します)。
|
|||
|
|
|||
|
2. 提案された設計は、ほとんどのP2Pネットワークとは異なり、一時的なものであっても、いかなる種類のグローバルユーザーIDも持ちません。
|
|||
|
|
|||
|
3. P2P自体は[MITM attack][2]の問題を解決するものではなく、既存のソリューションのほとんどは最初の鍵交換に帯域外メッセージを使用しません。 提案された設計では、最初の鍵交換に帯域外メッセージ、または場合によっては既存の安全で信頼できる接続を使用します。
|
|||
|
|
|||
|
4. P2Pの実装は、インターネットプロバイダーによっては([BitTorrent][11]などの使用が)ブロックされることがあります。提案された設計は、トランスポートに依存せず、標準のWebプロトコル上で動作し、サーバーをWeb サイトと同じドメインにデプロイできます。
|
|||
|
|
|||
|
5. 各ノードは検出可能であり、ネットワークは全体として動作するため、既知のP2Pネットワークはすべて[シビル攻撃][12]に対して脆弱である可能性があります。 シビル攻撃の可能性を下げる既知の対策は、中央集権的なコンポーネントか高価な[プルーフ・オブ・ワーク][13]が必要です。これとは反対に、提案された設計では、サーバーは接続されておらず、相互に認識されず、すべてのクライアントに認識されないため、サーバーの発見可能性がありません。SimpleXネットワークは断片化されており、複数の分離された接続として動作します。これにより、SimpleXネットワークに対するネットワーク全体の攻撃が不可能になります。たとえ一部のサーバーが侵害されたとしても、ネットワークの他の部分は正常に動作し、影響を受けたクライアントは連絡先やメッセージを失うことなく、他のサーバーの使用に切り替えることができます。
|
|||
|
|
|||
|
6. P2Pネットワークは[DrDos攻撃][15]に対して[脆弱][14]である可能性があります。提案された設計では、クライアントは既知の信頼された接続からのトラフィックのみを中継し、ネットワーク全体のトラフィックを反映および増幅するために使用することはできません。
|
|||
|
|
|||
|
[1]: https://en.wikipedia.org/wiki/End-to-end_encryption
|
|||
|
[2]: https://en.wikipedia.org/wiki/Man-in-the-middle_attack
|
|||
|
[9]: https://en.wikipedia.org/wiki/Peer-to-peer
|
|||
|
[10]: https://en.wikipedia.org/wiki/Distributed_hash_table
|
|||
|
[11]: https://en.wikipedia.org/wiki/BitTorrent
|
|||
|
[12]: https://en.wikipedia.org/wiki/Sybil_attack
|
|||
|
[13]: https://en.wikipedia.org/wiki/Proof_of_work
|
|||
|
[14]: https://www.usenix.org/conference/woot15/workshop-program/presentation/p2p-file-sharing-hell-exploiting-bittorrent
|
|||
|
[15]: https://en.wikipedia.org/wiki/Denial-of-service_attack#Reflected_attack
|