Tor(トーア、トール )は、Transmission Control Protocol(TCP)を用いた通信を匿名化するための規格、およびそのリファレンス実装であるソフトウェアの名称である。名称の由来は、オリジナルのソフトウェア開発プロジェクトの名称である「The Onion Router」の頭文字である。

Torは、匿名通信を可能にする無料のオーバーレイネットワークによって構成される。これは、世界中の7,000以上のボランティア運営リレーおよび、これらのリレーを経由してランダムな経路でインターネットトラフィックを送る何百万ものユーザーによって運用される。この技術はオニオンルーティングと呼ばれる。

Torを使用することで、ユーザーのインターネット活動を追跡することがより困難になる。これは、インターネット上の単一の地点(ユーザーのデバイスを除く)では、トラフィックがどこから発信され、最終的にどこへ向かうかを同時に把握できなくなるためである。これにより、ユーザーの位置情報や使用状況は、ネットワーク監視やを行う者から隠され、ユーザーの自由と機密性のある通信が保護される。

歴史

Torの核心の原理であるオニオンルーティングは、1990年代半ばにアメリカ海軍研究所の職員である数学者と、コンピュータ科学者のマイケル・G・リードおよびデイビッド・ゴールドシュラッグによって開発された。これは、アメリカ情報機関の通信をオンライン上で保護するためのものだった。

オニオンルーティングは、通信プロトコルスタックのアプリケーション層で暗号化を用いて実装され、玉ねぎの皮のような多重の層に包まれた構造をとる。Torアルファ版は、サイバーソンとコンピュータ科学者のおよびによって開発され、当初は「The Onion Routingプロジェクト」と呼ばれ(後に「Tor」が略称となった)、2002年9月20日に公開された。一般向けの最初のリリースはその1年後に行われた。

2004年、海軍研究所はTorのコードをフリーライセンスで公開し、エレクトロニック・フロンティア財団(EFF)がディングルダインとマシューソンの開発の継続を支援した。

2006年、ディングルダイン、マシューソン、その他5名がTorプロジェクトを設立した。これはマサチューセッツ州に拠点を置く501(c)団体の研究・教育系非営利団体で、Torの維持管理を担当する。設立初期において、EFFはThe Tor Projectのとして支援を行い、初期の財政的支援者には、米国のや、、ヒューマン・ライツ・ウォッチ、ケンブリッジ大学、Google、およびオランダ拠点のが含まれていた。

Torの運用期間中に、さまざまな脆弱性が発見され、時折悪用されることもあった。Torに対する攻撃は学術研究の活発な分野であり、Torプロジェクト自身もこれを歓迎している。

2024年9月、TorはTailsと統合された。

Torの利用

Torは、ユーザーがインターネットを閲覧し、チャットし、インスタントメッセージを匿名で送信することを可能にし、合法的な目的と違法な目的の両方で、幅広い人々によって使用されている。例えば、Torは犯罪組織、ハクティビズム集団、法執行機関によって、時には同時に、互いに異なる目的で利用されてきた。同様に、米国政府内の機関は、様々な形でTorに資金を提供した。資金提供元には、米国国務省、アメリカ国立科学財団、ラジオ・フリー・アジアが含まれる。その一方で、Torを転覆させようとしている。Torは、2010年に中国でのユーザー体験に基づいてフリーダム・ハウスが資金提供した報告書によって評価された多数の検閲回避ツールの一つであり、これには、Hotspot Shield、自由門などが含まれる。

Torは、ウェブ上での匿名性の問題を完全に解決することを意図したものではない。Torは、追跡を完全に消去するようには設計されておらず、ウェブサイトがユーザーの行動やデータを追跡できる可能性を減らすことを目的としている。

Torは違法行為にも利用され得る。これらには、プライバシー保護や検閲回避、さらには児童虐待コンテンツの配布、麻薬販売、マルウェア配布などが含まれる。

Torは、『エコノミスト』誌によって、ビットコインやシルクロードとの関連で「ウェブの暗い片隅」と表現されている。アメリカ国家安全保障局(NSA)およびイギリス政府通信本部(GCHQ)といったシギント(信号情報)機関から標的にされてきたが、その成功は限定的であった。また、イギリス国家犯罪対策庁(NCA)によるノータライズ作戦では、より大きな成果を上げている。。同時に、GCHQは「SHADOWCAT」というツールをTorで使用しており、これは「Torネットワークを利用したSSH経由でのVPSへのエンドツーエンド暗号化アクセス」のためのものである。Torは、匿名での名誉毀損、機密情報の不正な情報漏洩、著作権侵害、違法な性的コンテンツの流通、違法な薬物取引、武器、盗難クレジットカード番号の販売、資金洗浄(マネーロンダリング)、銀行詐欺、クレジットカード詐欺、個人情報の窃盗、偽造通貨の交換などに利用されうる。闇市場は、少なくとも一部において、Torのインフラをビットコインと連携させて利用している。また、IoTデバイスを「文鎮化」(使用不能に)させるためにも利用されてきた。

米国連邦捜査局(FBI)は、シルクロードのロス・ウルブリヒトに対する訴状の中で、Torに「既知の合法的な用途」があることを認めた。CNETによると、Torの匿名機能は、「電子フロンティア財団(EFF)およびその他の市民の自由団体によって、内部告発や人権活動家がジャーナリストと通信するための方法として」推奨されている。EFFの「監視に対する自己防衛」ガイドには、プライバシーと匿名性を保護するためのより大きな戦略の中でTorがどのように位置づけられるかの説明が含まれている。

2014年、EFFのは『ビジネスウィーク』に対し、「Torの最大の問題は報道です。誰も、ある人が虐待者のストーキングから守られた時のことなど耳にしません。人々が聞くのは、誰かが児童ポルノのダウンロードして摘発から逃れる方法についてなのです」と述べた。

Torプロジェクトは、Torユーザーには、ウェブサイトや広告主からインターネット活動をプライベートに保ちたいと願う「普通の人々」、サイバースパイを懸念する人々、そして活動家、ジャーナリスト、軍事関係者など検閲を回避しているユーザーが含まれると述べている。2013年11月時点で、Torのユーザーは約400万人だった。『ウォール・ストリート・ジャーナル』によると、2012年にはTorのトラフィックの約14%が米国から接続されており、「インターネットを検閲されている国」の人々が2番目に大きなユーザー層を形成していた。Torは、ドメスティックバイオレンスの被害者、および彼らを支援するソーシャルワーカーや機関によって利用されるケースが増加している。職員がサイバーセキュリティに関して専門的な訓練を受けているかどうかにかかわらず、支援に利用されている。適切に導入されれば、Torは現代のオンライン生活におけるデジタルメディアの普及により増加しているサイバーストーキングを防ぐことができる。SecureDropとともに、Torは『ガーディアン』、『ザ・ニューヨーカー』、プロパブリカ、そして『ザ・インターセプト』といった報道機関によって、内部告発者のプライバシーを保護するために使用されている。

2015年3月、は、「イギリスにおいて、オンライン匿名システムを全面的に禁止することは許容される政策選択肢とは見なされていないという広範な合意がある」とし、「たとえそうであったとしても、技術的な課題が存在するだろう」と述べた概要報告書を発表した。その報告書はさらに、Torが「児童のわいせつ画像のオンライン閲覧および配布において、わずかな役割しか果たしていない」(その固有の遅延が一部の原因で)と指摘し、によるその利用、内部告発者にとってのそのオニオンサービスの有用性、およびグレート・ファイアウォール(金盾で最も有名な機能)の回避が高く評価された。

Torのエグゼクティブディレクター、アンドリュー・リューマンは、2014年8月に、NSAとGCHQのエージェントが匿名でTorにバグ報告を提供したと述べた。

TorプロジェクトのFAQは、EFFの支持を裏付ける理由を提示している。

国家による検閲とTorとの攻防

中国

中華人民共和国(中国)は、2009年9月30日の建国60周年記念式典に併せるかたちでインターネット検閲を強化し、Torを始めとする類似技術を用いたグレート・ファイアウォール(中国の検閲システム)回避を行う者の摘発、Tor公式サイトへのアクセス遮断、Torリレーノードへのアクセス遮断などを強化した【Bloomberg Businessweek特約】【BusinessWeek特約】中国、建国60周年でネット検閲をさらに強化| nikkei BPnet 〈日経BPネット〉。

これに対抗するため、Torプロジェクトでは、Torリレーノードとなってくれるボランティアの増強を呼びかけている。たとえISPに規制(通信を遮断)されても、IPアドレスが公開されていないTor Bridgeを利用すればこれらの規制を回避することが可能であり、Torへのアクセスが禁止されている非民主主義的な国内も利用可能である。

2018年10月以降、中国政府による取り締まり強化のため、Tor内の中国のオンラインコミュニティは減少し始めた。

ロシア

2021年12月8日、ロシア政府機関のロスコムナゾールは、を遵守しなかったとして、Torおよび6つのVPNサービスの禁止措置を発表した。ロシアのインターネットサービスプロバイダは、2021年12月1日からTorの主要ウェブサイトおよびいくつかのブリッジをブロックしようと試みたが、失敗に終わった。Torプロジェクトはこの禁止措置についてロシアの裁判所に提訴している。

2022年ロシアのウクライナ侵攻中のインターネット検閲に対応し、BBCとVOAはロシアの視聴者に対しTorの利用を促した。ロシア政府は技術的・政治的手段によりTorへのアクセスを遮断を強化したが、Torネットワークはロシアからのトラフィックが増加し、またロシアでの検閲回避ツールの利用が増えていると報告した。

2022年5月24日、ロシアの裁判所は、Torプロジェクトがこの件に関与することをロシアの法律が要求しているため、Torのウェブサイトへのブロックを一時的に解除した(ただし、ノードへの接続は解除されなかった)。しかし、このブロックは2022年7月21日に再開された。

イラン 2011年に、イラン当局は少なくとも2回にわたりTorの遮断を試みた。そのうちの一つの試みは、有効期限が2時間のセキュリティ証明書を使用しているすべてのサーバーを一律にブロックするという手法であったが、この試みが成功したのはわずか24時間未満であった。

2022年のマフサ・アミニ抗議運動中、イラン当局は断続的なインターネットの遮断を実施した。Torとがイラン当局の検閲を回避するために使用された。

2026年1月、は、2026年イラン抗議活動の余波でTorが利用されているが、成功は限定的であると報じた。

トルコ

2014年トルコ政府は、TorプロジェクトからのTorブラウザのダウンロードを遮断した。

2016年12月、トルコ政府はTorネットワークへのアクセスを遮断した。当時のトルコでは、政府によって制限されたソーシャルメディアや各種サービスを利用するために、TorやVPNサービスが普及していた。 今回の措置では、Torだけでなく、国内で特に利用者の多かった主要なVPNサービス10件も同時にブロックの対象となった。

ベネズエラ

2018年6月、ベネズエラ当局はTorネットワークへのアクセスをブロックした。このブロックは、ネットワークへの直接的な接続とブリッジリレーを介した接続の両方に影響を与えた。

ネットワークの動作

Torは、個人の識別とデータの送信経路を分離することにより、ユーザーの個人情報とオンライン活動を、監視やトラフィック分析から隠蔽することを目的とする。これがオニオンルーティングと呼ばれ、通信は暗号化され、世界中のボランティアが運用するリレーのネットワークを介してランダムに中継される。これらのオニオンルーターは、リレー間の完全前方秘匿性を確保するために、多層的な方法で暗号化を採用しており(これが「オニオン」の比喩の由来である)、これによりユーザーはネットワーク上の匿名性を得ることができる。その匿名性は、Torの匿名オニオンサービス機能による検閲に耐性をもつコンテンツのホスティングにまで及ぶ。さらに、一部の入り口ノード(ガード・リレー)を非公開にすることで、ユーザーは公開されたTorのノード間のリレーのブロックに依存するインターネットの検閲を回避することができる。

送信者と受信者のIPアドレスが、通信経路上のいずれのホップにおいても「両方とも」平文で存在することはないため、通信経路のどこかで盗聴している者は、両端を直接特定することはできない。さらに、受信者には、発信者が通信の発信元ではなく、最後のTorノード(出口ノードとも呼ばれる)が通信の発信元であるかのように見える。

Torは接続経路を匿名化する技術であり、通信内容を秘匿化するものではない。Torでは経路の中間に限り暗号化を行っているが、経路の末端では暗号化が行われていない。通信内容の秘匿まで行いたい場合は、TLSなど(HTTPSやSMTP over SSLなど)を用いて、別途暗号化を行う必要がある。しかし、Torの機能としてオニオンサービス(.onion)というTorサーキット上でサービスをホストする機能があり、これを使用した場合は末端の通信も暗号化される。

トラフィックの開始

TorユーザーのSOCKS対応アプリケーションは、TorインスタンスのSOCKSインターフェースを介してネットワークトラフィックを転送するように設定できる。このインターフェースは、localhostのTCPポート9050番(スタンドアロン版Torの場合)または9150番(Torブラウザ・バンドルの場合)で待ち受けしている。

公開された通常のホストへの接続

Torは定期的にTorネットワーク内に仮想回線を作成し、その回線を通じてトラフィックを多重化し、オニオンルーティングにより目的地へ転送する。Torネットワーク内に入ると、トラフィックは回線に沿ってルーターからルーターへと送られ、最終的に出口ノードに到達する。この時点で、元の(潜在的に平文の)パケットが利用可能となり、本来の目的地に送信される。目的地から見ると、そのトラフィックはTorの出口ノードを送信元としているように見える。

Torのアプリケーションへの非依存性は、他の多くの匿名化ネットワークと一線を画している。これは、TCPのストリームレベルで動作するためである。Torを使ってトラフィックが一般的に匿名化されるアプリケーションには、IRC、インスタントメッセージ、そしてWWWの閲覧などがある。

オニオン・サービスへの接続

Torはウェブサイトやその他のサーバーにも匿名性を提供できる。Torに接続したデバイスだけからの受信接続を受けつけるよう設定されたサーバーは、オニオンサービス(旧称:隠しサービス)と呼ばれる。サーバーのIPアドレス(ひいてはそのネットワーク上の位置)を公開する代わりに、オニオンサービスは、通常、TorブラウザまたはTorを使用するように設計された他のソフトウェアを介して、そのを通じてアクセスできる。Torネットワークは、ネットワーク内の分散ハッシュテーブルから対応する公開鍵と「イントロダクション・ポイント(導入点)」を検索することで、オニオンサービスのアドレスを取得する。Torは、ファイアウォールやネットワークアドレス変換(NAT)の背後でホストされているものも含め、オニオンサービスとの間でデータを送信でき、その際に両者の匿名性を維持する。これらのオニオンサービスにアクセスするはTorが必要である。送信者と受信者のどちらもTorアプリケーションを使ってTorネットワークに接続し、通信は常にエンドツーエンドで暗号化される。接続はTorネットワークの内部で完結し、Torのネットワークの外に出ることはない。

オニオンサービスは2003年に初めて仕様が定められ、2004年以降Torネットワークに展開されている。これらは設計上、一覧には掲載されておらず、オニオンアドレスが既知の場合にのみネットワーク上で発見できるが、公開されているオニオンアドレスをまとめたサイトやサービスも存在する。リンクの一般的な情報源には、Pastebin.com、Twitter(現在の「X」)、Reddit、その他のインターネットフォーラム、およびDuckDuckGoなど専用の検索エンジンがある。

サービスの公開とディレクトリ・サーバー オニオンサービスを運用するサーバー(以下、サービス側)は、外部からの接続を受け入れる前に、自身の存在をTorネットワーク上に公開する必要がある。 イントロダクション・ポイントの選定: サービス側は、ネットワーク内からランダムに数箇所のリレーを選び、「イントロダクション・ポイント(導入点)」として指定する。サービス側はこれらのポイントに対して、常に接続を維持する。 記述子(Descriptor)のアップロード: サービス側は、自身の公開鍵やイントロダクション・ポイントのリストを含む「サービス記述子」を作成し、ディレクトリ・サーバー(Hidden Service Directory, HSDIR)へアップロードする。これにより、ユーザーがサービスを検索・特定することが可能となる。

ユーザーのオニオンサービスへの接続 主に以下のステップで行われる。 回路の構築: クライアントおよびオニオンサービス側は、それぞれTorネットワーク内の3つ以上のリレー(入口ノード、中間ノード等)を経由する独立した暗号化回路を構築する。この際、各リレー間は多層的な暗号化(オニオン・ルーティング)によって保護される。 ランデブー・ポイントでの合流: 通信を確立するために、ネットワーク上の任意のリレーが「ランデブー・ポイント」として選定される。クライアントは自らの回路をこのポイントまで伸ばし、同時にサービス側も指定されたランデブー・ポイントへ回路を接続することで、両者の通信経路が結合される。 エンドツーエンドの匿名性: このプロセスにより、クライアントからサーバーまでの経路は合計6ホップ(クライアント側3ホップ + サービス側3ホップ)の匿名リレーによって形成される。ランデブー・ポイントを含むどの中間ノードも、通信の「送信元(クライアント)」と「宛先(サーバー)」の情報を同時に知ることはできず、通信の全行程において高い秘匿性が維持される。

トラフィックの動作

Torは、Microsoft WindowsやmacOS、Linux等の各種Unix系OSで動作する。「オニオンルーティング」と呼ばれるカプセル化技術により、複数のノードを経由させて通信を行い、通信を匿名化する。暗号化が、「あたかもタマネギの皮のように、1ホップごとに積み重ねられること」が名前の由来である。TCPでのみ通信が可能で、UDPやICMPなどの通信プロトコルは使用することができない。

通信を秘匿するにあたって、まずTorは各ノード間に回線を構築する。このとき、ユーザは各ノードと共通鍵を共有する。この鍵はユーザと1つ1つのノードのみが共有している。回線構築後は、この回線を使って通信を行う。データは先述の共通鍵を使って暗号化されるが、このとき、データは終端ノードから順番に暗号化される。ユーザはこのデータを構築した回線に渡し、各ノードは共通鍵を用いて、1枚ずつ暗号化の層を剥いでいく。こうすることで、終端ノード以外はデータの内容を読み取ることができなくなる。

Torのデザイン 接続元がオニオンプロキシ(OP)を立て、オニオンルータ(OR、ノード)経由で本来の宛先へ接続するhttps://svn-archive.torproject.org/svn/projects/design-paper/tor-design.html#tth_sEc4。OPはユーザの複数のTCPストリームを受け取り、それらを多重化、ORがそれらを宛先までリレーする。

それぞれのORは、長期のidキーと、短期のオニオンキーを維持している。前者はルータ記述子に署名するのに、後者は回線を構築する際や、別の短期のキーを作るときのリクエストを復号するのに使われる。短期のキーは漏洩したときの影響を小さくするため、一定期間ごとに交換されている。関連項目のオニオンルーティングも参照。

セル セルとは、TLS 接続を流れるデータの単位で、512バイトhttps://svn-archive.torproject.org/svn/projects/design-paper/tor-design.html#tth_sEc4.1。ヘッダとペイロードを持ち、ヘッダに回線id(circID)が含まれる。これは、単一の TLS 接続で、複数の回線を多重化できるため、回線を特定するための識別子である。

セルはコントロールセルとリレーセルの2種類があり、前者は受け取ったノードによって処理されるコマンドを伝達し、後者は接続元から宛先へのデータの受け渡しに使われる。リレーセルは、circID の他に、streamID、チェックサム、リレーコマンド等を持つ。リレーセルのヘッダとペイロードの全ては、暗号化されて送信される。

回線の構築 以下は、TorクライアントAlice(発信元)から、オニオンルータBob、Carolまでの回線を構築する際の説明であるhttps://svn-archive.torproject.org/svn/projects/design-paper/tor-design.html#tth_sEc4.2。

Aliceは、あらかじめ得ているディレクトリリストの中から、無作為的にBobとCarolを選択する(実際は最初のノードは2、3ヶ月同じ)。 Alice→Bob: Aliceはcreate cell(セルに回線構築要求コマンドを乗せたもの)を送信し、回線構築の要求を行う このとき、Aliceは今までに使われていないcircIDを発行する ペイロードは Bobのオニオンキーで暗号化された、DH ハーフハンドシェイクを含んでいる () Bob→Alice: Bobはcreated cell(セルに構築完了を通知するためのコマンドを乗せたもの)の中にと共通鍵のハッシュを積んで送る AliceとBobは共通鍵を共有できた 以降、Alice-Bob間の通信はこの共通鍵で暗号化されて行われる

Alice→Bob: Alice は relay extend cell(セルにサーキットを延長する要求を乗せたもの)を送信する この中に次の OR(Carol)のアドレスが含まれており、Carolのオニオンキーで暗号化されたも含まれる Bob→Carol: Bob はハーフハンドシェイクをcreate cellに入れ、Carolに送信する このとき、Bobは今までに使われていないcircIDを発行する Carol→Bob: created cellに共通鍵のハッシュを積んで送る Bob は とを対応付けている Bob→Alice: Carolがcreated cellを返した場合、ペイロードをrelay extended cellに入れてAliceに返す AliceとCarolは共通鍵を共有できた

以上の手続きは一方向エンティティ認証、すなわち、Alice は Bob を知っているが、Alice は公開鍵を使っていないので、BobはAliceが誰なのか知らないということを達成している。一方向鍵認証も達成しており、AliceとBobは鍵について合意しており、AliceはBobのみがその鍵を知っていることを知っていることを意味している。前方秘匿性とキーの新鮮さの保持にも成功していて、これにより、鍵共有プロトコルでセッションキーを生成した際に、のちに秘密鍵の安全性が破れたとしてもセッションキーの安全性が保たれることが保証される。

Alice-Bob間、Bob-Carol間の共通鍵はそれぞれAliceとBob、BobとCarolしか知らないので、データを盗聴されることなく、中継により匿名性を得ることができる。

セッション鍵交換のためにDiffie-Hellman鍵交換方式が用いられ、通信の暗号化としてはAESが使用される。オニオンサーキット構築を含めたTorノード間の全通信は、外部からの盗聴や改竄を防ぐために、TLSによる通信の上で行われる。

データの送受信 先述の、リレーセルや回線を用いて行われる。以下は、Alice のデータが Bob、Carol を経由して、Dave まで届く様子を説明したものである。

Aliceはペイロードやペイロードのダイジェストをリレーセルに入れ、circID以外の全てを終端ノードから順番に、共通鍵を用いて暗号化して送信する Bobは1つ復号し、ダイジェストが一致しない場合、BobはcircIDを置き換えて、Carolへセルを送信する Carolも同じように1つ復号し、ダイジェストが一致した場合、かつrelay cellの内容を認識可能なら、Daveへ送信する (送信完了) Carolに到着したペイロードとそのダイジェストが一致しなかった場合、回線そのものを切断する

逆にDaveが送信し、Aliceが受信する場合、各ノードは自分にセルが回ってきたときに、ペイロードを暗号化していく。

オニオンサービスとランデブー・ポイント

Torの特徴として、Tor経由でしかアクセス出来ない秘匿されたオニオンサービス(旧:Hidden Service(秘匿サービス))が存在する。これにより、サーバのIPアドレスを明かさずに各種 TCP のサービス(Webサーバ、メールサーバ、IRCサーバなど)を運用することが可能である。これは、.onionの識別子を持つ、特殊な疑似アドレスを持たせることにより、特定のIPアドレスと結びつけることなく、Torを実行させているノード同士が接続することができる。一般のWebサイト等にTor経由で接続するのとは異なり、オニオンサービスは深層Webの一角を成すダークネットに含まれ、出口ノードは存在しない。中間ノードが通信の内容を見ることは不可能である。

Aliceを接続元、Bobを宛先とすると、このサービスを用いることで、Bobは自身のIPアドレスをさらすことなくサービスを提供でき、アプリケーションもTorの存在を透過的に扱うことができる。

サーバのBobはまず、複数のORをイントロダクション・ポイントとして指名し、ルックアップサービスへ広告するhttps://svn-archive.torproject.org/svn/projects/design-paper/tor-design.html#tth_sEc5。このとき、Bobは長期の公開鍵暗号のペアを持っており、これでサービスを証明する。先ほどの広告も、Bobの公開鍵で署名されている。Bobはイントロダクション・ポイントまでの回線を開き、リクエストを待つように伝える。

AliceはBobのサービスを知ると(ネットや直接Bobに聞いて)、ルックアップサービスから情報を得る。AliceはあるORをランデブー・ポイント(RP: rendezvous point)として指名し、回線を構築する。この際、Bobを識別するためにランダムなランデブー・クッキーも渡す。

次に、AliceはBobのイントロダクション・ポイントの1つに匿名でストリームを開く。このとき、AliceはBobの公開鍵で暗号化したRPの情報とランデブー・クッキーを渡し、DH鍵共有を始める。イントロダクション・ポイントはBobへそのメッセージを送る。