Tor
以上の手続きは一方向エンティティ認証、すなわち、Alice は Bob を知っているが、Alice は公開鍵を使っていないので、Bob は Alice が誰なのか知らないということを達成している。一方向鍵認証も達成しており、Alice と Bob は鍵について合意しており、Alice は Bob のみがその鍵を知っていることを知っていることを意味している。前方秘匿性とキーの新鮮さの保持にも成功していて、これにより、鍵共有プロトコルでセッションキーを生成した際に、のちに秘密鍵の安全性が破れたとしてもセッションキーの安全性が保たれることが保証される。
Alice-Bob間、Bob-Carol間の共通鍵はそれぞれAliceとBob、BobとCarolしか知らないので、データを盗聴されることなく、中継により匿名性を得ることができる。
セッション鍵交換のためにDiffie-Hellman鍵交換方式が用いられ、通信の暗号化としてはAESが使用される。オニオンサーキット構築を含めたTorノード間の全通信は、外部からの盗聴や改竄を防ぐために、TLSによる通信の上で行われる。
Torは、Microsoft WindowsやmacOS、Linux等の各種Unix系OSで動作する。「オニオンルーティング」と呼ばれるカプセル化技術により、複数のノードを経由させて通信を行い、通信を匿名化する。暗号化が、「あたかもタマネギの皮のように、1ホップごとに積み重ねられること」が名前の由来である。TCPで通信が可能で、UDPやICMPなどの通信プロトコルは使用することができない。
通信を秘匿するにあたって、まずTorは各ノード間に回線を構築する。このとき、ユーザは各ノードと共通鍵を共有する。この鍵はユーザと1つ1つのノードのみが共有している。回線構築後は、この回線を使って通信を行う。データは先述の共通鍵を使って暗号化されるが、このとき、データは終端ノードから順番に暗号化される。ユーザはこのデータを構築した回線に渡し、各ノードは共通鍵を用いて、1枚ずつ暗号化の層を剥いでいく。こうすることで、終端ノード以外はデータの内容を読み取ることができなくなる。
↑ “Tor: People” (2008年7月17日). 2011年4月8日閲覧。
↑ “New Release: Tor 0.4.5.6”. Tor Blog. Tor Project (2021年2月15日). 2021年2月23日閲覧。
↑ “New release candidate: Tor 0.4.5.5-rc”. Tor Blog. Tor Project (2021年2月1日). 2021年2月5日閲覧。
↑ 米海軍が産み、オープンソース陣営が育てる匿名ネット技術『トーア』
↑ Tor: People
↑ 【Bloomberg Businessweek特約】【BusinessWeek特約】中国、建国60周年でネット検閲をさらに強化| nikkei BPnet 〈日経BPネット〉
↑ https://svn.torproject.org/svn/projects/design-paper/tor-design.html#tth_sEc4
↑ https://svn.torproject.org/svn/projects/design-paper/tor-design.html#tth_sEc4.1
1 2 https://svn.torproject.org/svn/projects/design-paper/tor-design.html#tth_sEc4.2
↑ https://svn.torproject.
現在、Torの回線は3つのノードを経由しているが、悪意のある攻撃者が両端のノードをコントロールできた場合、匿名性が破られてしまう。そのため、Torは2、3ヶ月の間最初のノードを使い続けることで、攻撃のコストを上げており、このノードはエントリーガードと呼ばれる。
Orbotは、Androidユーザー向け匿名ネットワーククライアント。Android端末でTorに接続することを目指すThe Guardian Projectとの共同開発プロジェクトである。これも公式アーカイブやGoogle Playから入手できる。 Tor経由でネット閲覧する場合、かつてはWebブラウザOrfoxを組み合わせて用いたが、現在はその後継のAndroid版Torブラウザに移行。 これ以外については、The Guardian Project (ソフトウェア)#運営するプロジェクトも参照。