Winnyでタイ━━━━||Φ|(|´|Д|`|)|Φ||━━━━ホ?

なぜか圏外からのひとことにリンクされてたので、せっかくなのでもうちょっとWinnyの動作について書いてみる。Winnyのソースを見た訳ではなく、噂話から適当に推測していることであって確認したことではないことに注意。
Winnyの匿名性は、京都府警が破ったと報道されている「暗号化」が重要なわけではない。「誰が本当にファイルを意図的にアップロードしている人なのかわからない」という点が最も重要で、通信内容の秘密=暗号化は「おまけ」だ。
まずWinnyネットワークの特徴を説明する。
Winnyネットワークに参加している A、B、C という人がいるとする。A は B と繋がり、B は A、Cと繋がっている。ファイルX を C が持っている。
AはファイルXの存在をBに問い合わせる。Bは自分が持っていないので、Cに問い合わせる。このようにして検索はネットワークを回る。C がファイルXを持っておらず、また A に問い合わせできる立場であれば、C は A にも問い合わせを行う。なぜなら、Cはその問い合わせが A から来たことを知らないからだ。問い合わせ情報パケットには、「後何回問い合わせ情報を次に送るべきかの数値」と「検索式」のみが記されており、誰から問い合わせが来たかという情報はない。
さて、今回は C がファイル X を持っていたので、B に持っていると答える。すると、B は自分で C からファイル X をダウンロードする。そして、A に対してファイル X を「自分が」持っていると答える。C の存在はいっさい口にしない。A は特に問い詰めることもなく、 B からファイル X をダウンロードする。これにより、 A は、本来のファイルの所有者である C の存在をまったく知ることなく、C の持っているファイルをダウンロードすることができる。
ここで、B には本来のファイルの所有者が C であることも A の問い合わせも見える、ように思えるが、実際には A の後ろ、 C の後ろに別の参加者がいるという懸念は払拭できない A も C も、B と同じように中継ぎをしているだけかもしれない。
ここが Winny の特徴だ。他の P2Pファイル交換ネットワークでは、検索式はネットワークを回るが、ファイルの発見後は A と C の接続(P2P)になるため、A には C がファイルを持っていることがすぐにわかる。
さらに Winny はこの「所有者の秘匿性」をさらに進めるため、キャッシュ機能を内包する。B は C のファイルX を A に転送し終わった後も自分の内部にキャッシュしたままにしておくのだ。たとえば新たな参加者 E が B に接続しファイルX を求めた場合、今度は B は C に問い合わせるまでもなく転送を開始する。自分が本書勇者であるふりをして。
Winnyネットワークは、ファイルが本来誰から流れたのか、突き止めることが不可能なように設計されているのだ。
暗号化は、では、何のためにあるのか。
もし、B が自分のキャッシュを確認した上で放置した場合、B の意志でアップロードしていると判断されるかもしれない、という考えから、B のキャッシュ内容は、B にはわからないように暗号化されている。ただ、これは Winny 本体に鍵が仕込まれている暗号化であり、あくまで一般利用者に対する暗号化で、Winny 本体を解析すれば、解けない暗号ではない。また、Winny ネットワークに参加しない、たとえばISPや各種プロキシ、ルータなどから Winny ネットワーク上での情報を秘密化するために、Winny のノード間の通信は暗号化されている。しかしこれも、Winny を解析すれば解けない暗号ではない。
なぜ Winny は A と C 間の通信をもっと厳密に暗号化しないのか? 無理だからだ。Winny ネットワークは、通信相手を隠すことを重視されているネットワークである。つまり、サイト証明など不可能、B が C になりすませば、それを A が見破ることは不可能なのだ(だいたい、A は C の存在そのものを知らないのだから)。
もしかすると、Winnyでは公開鍵暗号などの高度な暗号化技術が使われていたかもしれないが、なりすましを見破ることができないので、いかなる暗号も無駄になっているだろう。


さて、一部報道では Winny の暗号を破って逮捕した、と書かれている。だが今までの説明が正しいとすると「暗号を破ったところでファイルの所有者はわからない」ということがわかると思う。つまり、「容疑者が違法ファイルをWinnyで公開しているという証拠」を挙げることは、ほとんど無理だと思うのだけれど。
可能性があるとすれば、容疑者のトラフィック状況を監視し、他の接続がないという状況で、監視ノードを通して(通信内容は丸わかりだから)、別の容疑者に映画を送信していた、という状況をつかまなくては成らない。つまり、プロバイダの協力が必要と言うことだ。ただ、これでも、キャッシュにたまっていたファイルであって容疑者は知らない、という可能性も否定できない。もし「キャッシュでもアウト」という判断であれば逮捕できる。また、トラフィックを監視しないとしても、「中継でもアウト」という判断であれば、逮捕できる。