Tox (プロトコル)
この項目「Tox (プロトコル)」は翻訳されたばかりのものです。不自然あるいは曖昧な表現などが含まれる可能性があり、このままでは読みづらいかもしれません。(原文:英語版 "Tox (protocol)" 2018年12月25日 (火) 02:28(UTC)) 修正、加筆に協力し、現在の表現をより自然な表現にして下さる方を求めています。ノートページや履歴も参照してください。(2019年1月) |
GNU/Linux上で動作するToxクライアントのµTox | |
最新版 | |
---|---|
リポジトリ | |
プログラミング 言語 | C言語 |
対応OS | クロスプラットフォーム |
種別 | VoIP、インスタントメッセージ、テレビ電話 |
ライセンス | GNU GPL v3+ |
公式サイト |
tox |
Toxは、エンドツーエンド暗号化を提供するP2Pのインスタントメッセージとテレビ電話のプロトコルである。全ての人に安全で簡単に接続できるコミュニケーションを提供することを目的としている。リファレンス実装はGNU GPL v3+の下で配布されている。
歴史
[編集]GitHubへの最初のコミットは、2013年6月23日にirungentooというユーザーによって行われた[2]。2014年2月3日以降、プレアルファ版のテストバイナリをユーザーが利用できるようになり、ToxのナイトリービルドがJenkinsによって公開されるようになった[3]。同年7月12日、Toxの開発はアルファ段階に入り、このことのために再設計されたダウンロードページが作成された。
特徴
[編集]ユーザーには公開鍵と秘密鍵が割り当てられ、完全に分散されたP2Pネットワークによって互いに直接接続する。ユーザーは友達にメッセージを送ること・友達や見知らぬ人とチャットルームに参加すること・音声と動画によるチャット・互いにファイルを送信することができる。Tox上の全てのやり取りは、NaClによってエンドツーエンド暗号化されており、認証付き暗号と完全な前方秘匿性を提供する。
Toxクライアントは安全で匿名性のある様々な通信機能をサポートすることを目的としている。全てのクライアントがインスタントメッセージをサポートしており、グループメッセージング・VoIP・ビデオ会議・タイピングインジケーター・メッセージの既読確認・ファイル共有・プロファイルの暗号化・デスクトップ共有などの追加機能は、クライアントによってサポートの度合いは異なる。追加機能はコアプロトコルがサポートしている限りは、どのクライアントでも実装することができる。コアネットワークシステムに関連しない機能についてはクライアントに任されている。クライアントの開発者は、クライアントの互換性と最良のセキュリティを維持するために、Tox-Client-Standardに従うことが強く推奨されている。
アーキテクチャ
[編集]コア
[編集]ToxコアはプロトコルとAPIを確立するためのライブラリである。ユーザーにとってのフロントエンドであるクライアントは、コアの上に構築されている。コアを利用することで誰でもクライアントを作成することができる。主要開発者であるirungentooによって書かれたコアの設計に関する技術文書はMITライセンスの下で公開されており、自由に利用することができる[4]。
プロトコル
[編集]Toxの中核となるものはToxプロトコルの実装である。このプロトコルはOSI参照モデルのアプリケーション層の一例であり、恐らくプレゼンテーション層でもある。Toxプロジェクト以外によって作成されたToxプロトコルの実装も存在する[5]。
Toxプロトコルは音声のストリーミングにはOpusを、動画のストリーミングにはVP8を使用する[6]。
暗号化
[編集]Toxはlibsodium
を介してNaClに組み込まれている暗号化方式を使用する。具体的には、鍵交換にはCurve25519を、共通鍵暗号にはXSalsa20を、メッセージ認証符号にはPoly1305を採用している[7]。
クライアント
[編集]Toxクライアントは、他のToxユーザーと通信するために、Toxコアライブラリを使用するアプリケーションである。様々なクライアントが存在し、多くのシステムに対応している[8]。
名称 | オペレーティングシステム | プログラミング言語 | 公式ウェブサイト・リポジトリ |
---|---|---|---|
Antidote | iOS | Swift | antidote |
Antox | Android | Scala | github |
Cyanide | Sailfish OS | C++、QML | github |
gTox | Unix系、Windows | C++ (GTK+ 3) | github |
qTox | Unix系、Windows | C++ (Qt) | qtox |
Toxic | Unix系 | C言語 (ncurses) | github |
Toxy | Windows | C# (WPF) | github |
Toxygen | Unix系、Windows | Python (PySide) | github |
TRIfA | Android | Java、C言語 | github |
µTox | Unix系、Windows | C言語 | utox |
xWinTox | Unix系 | Objective-C | github |
Isotoxin | Windows | C++ | github |
ratox | Unix系 | C言語 | ratox |
WebTox | ウェブベース | HTML5 (クライアント)、Go (サーバ) | github |
PidginとMiranda NGにもToxプロトコル向けのプラグインが存在する[9][10]。
Tox Foundationとの関係の解除
[編集]LWN.netによると、2015年7月11日、Tox Foundationの代表兼CEOによる「寄付金の悪用をめぐる争い」のため、Toxの開発者達は同財団との関係の解除したと正式に発表した[11]。プロジェクトのドメインは同財団が管理していたので、プロジェクトの大部分が新たなインフラ・サーバ・ドメインに移管した。
反応
[編集]Toxは初期の概念の段階で大きな注目を受け、各国の技術系ニュースサイトで取り上げられた[12][13][14][15]。2013年8月15日にはGitHubのトレンドで5位になった[16]。メタデータの漏洩についての懸念が提起され、友人を探すプロセスでオニオンルーティングを使うようにすることで対応した[17]。Toxは2014年と2015年にGoogle Summer of Codeで学生に対して指導を行う組織として承認された[18][19]。
脚注
[編集]- ^ "Release 0.2.20"; 閲覧日: 2024年12月1日; 出版日: 2024年11月11日.
- ^ “Initial commit”. GitHub. 2019年1月13日閲覧。
- ^ “packages”. Jenkins. 2019年1月13日閲覧。
- ^ “Tox Core Documentation”. GitHub. 2019年1月13日閲覧。
- ^ “Xot”. GitHub. 2019年1月13日閲覧。
- ^ “What codecs does Toxcore use for audio and video?”. Tox. 2019年1月13日閲覧。
- ^ “Which encryption algorithms does Toxcore employ?”. Tox. 2019年1月13日閲覧。
- ^ “Tox Clients”. Tox. 2019年1月13日閲覧。
- ^ “Tox Protocol Plugin For Pidgin / libpurple”. GitHub. 2019年1月13日閲覧。
- ^ “Tox protocol”. Miranda NG. 2019年1月13日閲覧。
- ^ “A split within the Tox project”. LWN.net (2015年7月15日). 2019年1月13日閲覧。
- ^ “Tox: A Replacement for Skype and Your Privacy?”. SiliconANGLE (2013年8月5日). 2019年1月13日閲覧。
- ^ “Freier und sicherer Videochat mit Tox”. Golem.de (2013年7月30日). 2019年1月13日閲覧。
- ^ “Проект Tox развивает свободную альтернативу Skype”. opennet.ru (2013年7月30日). 2019年1月13日閲覧。
- ^ “Skype-Alternative Tox zum Ausprobieren”. heise online (2013年8月2日). 2019年1月13日閲覧。
- ^ “GitHub’s New ‘Trending’ Feature Lets You See The Future”. ReadWrite (2013年8月15日). 2019年1月13日閲覧。
- ^ “Prevent_Tracking.txt”. GitHub. 2019年1月13日閲覧。
- ^ “Google Summer of Code 2014 Organization Project Tox”. Google. 2019年1月13日閲覧。
- ^ “Google Summer of Code 2015 Organization Tox”. Google. 2019年1月13日閲覧。