winnyの匿名性(2)

非対称暗号とは、対となるふたつの鍵を使って暗号化・復号化する暗号方式である。このふたつの鍵をA,Bとしよう。元文章をAをつかって暗号化し、Bを使って復号化するのである。つまり、相手にはAだけ渡して、暗号化してもらった文章を送り、自分だけはBを使って復号化して読むことが出来るわけである。Aを公開鍵、Bを秘密鍵とか呼ばれる。また、Bを使って暗号化したものはAを使って復元できる。だもんで、自分の署名をBを使って暗号化しておけば、Aの鍵(これは公開鍵なので相手に知られている)で復号化できる。この署名は、Bの鍵を持っている人によって行なわれたことが保証されるので、本人確認の手段として使う。非対称暗号は何種類かあるが、最初にこれを考えたやつ(RSA暗号のRonald Rivest氏、Adi Shamir氏、Leonard Adleman氏の3人か?)は天才だと思う。余談だが、ブラウザとかで利用しているSSL(Secure Sockets Layer)も結局、この仕組みを利用している。

winnyでも、パケットはRC4で暗号化されている。(と言われている) これはプロバイダなどの第三者に通信を覗き見された時に何をやりとりしているのかわからなくするためである。しかし、winnyのようなソフトの場合、問題は、第三者による通信の傍受に対してsecureであることではなくて、悪意のある第三者がこのソフトを用いたり、何らかの手段でこのP2Pネットワークに入ってきた時に、そこで送受信されているファイルの内容を知ることが出来るかどうかである。winnyで逮捕者が出たのは記憶に新しいが、送信されている内容をどうやって調べたのだろうか?(別に警察が「悪意のある第三者」だと言うつもりはないのであしからず。)

winnyの場合、ホップ数(中継地点)が非常に少ないと言われている。これは、ホップ数をあまり増やすと自分がdownloadする量の何倍もの中継を行なわなければならなくなるからである。1Gbpsとか10Gbpsの通信が標準的になれば別にそれでも構わないが、それはまだ当分先のことだろう。だもんで、winnyの場合、たいていの場合はほとんどホップせずに直接ファイルを送受信しているような状態になる。もうこの時点でやばい。送信者の匿名性は無いに等しい。winnyの場合、さらに悪いことに、利用者はハードディスクが少ないので古いcacheから消したりしているのが現状だと思う。少なくとも、P2PネットワークでDVDイメージのような巨大なファイルを共有するのならば、各自が10T(10*1024G)や100Tはcache用にHDDを開放していないといけないと思う。そうでないと、共有とは名ばかりで、実際はファイルは第一送信者のハードディスクにしかなく、そのファイルが欲しい人は、その第一送信者から直接もらうのと同じような状態になる。winnyでも人気のないファイルはきっとそういう状態になっているだろう。これで(法に触れるようなファイルを共有して)警察に捕まらないほうがおかしい。

長くなってきたので、続きはまた次回。