Torと聞くと怪しいダークウェブにアクセスするための特別なブラウザのことでしょ、という認識の方が多いかと思います。あるいは、そもそもTorなんて知らないですよね。
前回のコラムでは、そんなTorという技術を俯瞰しました。
【2022/5/11】ビットコインも利用するTorとは
https://coinkeninfo.com/tor-1/
ここでは、Torはアクセス元のIPアドレスを隠すことができる技術ですよ、と紹介したのですが、実はTorには自宅サーバーを手軽に公開できる、といった側面もあります。
ダークウェブというのは、そもそもどこか得体の知れない場所で運営されているWEBサーバーが公開するWEBのことですね。
その得体の知れない場所が自宅であってもよいわけです。そして、サーバーも手軽にラズベリーパイであってもよいわけです。
ということで、今回はそんな自宅サーバーを手軽に公開できるよ、という側面についてご紹介します。
Onionサービス
Torネットワークを通してWEBといったサービスを提供する場合、Onionアドレスというものをサービスに紐付けます。
Onionアドレスは、次のような感じでランダムな文字列に.onionを付けたものとなります。
twitter3e4tixl4xyajtrzo62zg5vztmjuricljdp2c5kshju4avyoid.onion
この例は、最近Twitterが始めたもので、Torブラウザを通してTwitterにアクセスできます。
こうしたOnionアドレスに紐付けて公開されるサービスをOnionサービスと呼びます。
OnionアドレスはIPアドレスの代わりになるもので、サービスを特定するために使われます。
見た目は.onionがつくことからドメイン名ぽいですが、技術的には別物です。
そのため普通のブラウザではこの文字列を解釈してサーバーに接続することはできないです。
TorブラウザやBraveブラウザのようなTor対応をうたっているブラウザは、このOnionアドレスを解釈し通常のURLアクセスのような勝手を実現しています。
サーバーの身元を一意に特定する必要があることから、ビットコインアドレスのように公開鍵を元に生成され、ランダムな文字列となります。
このへんはビットコインと同じで親近感が湧きますね。
でも、完全にランダムな文字列だと、サービスと紐付くにしては分かりにくいですよね。
そのためか、上述のTwitterのOnionアドレスは先頭の7文字をtwitterとしています。
これはバニティアドレスと呼ばれ、頑張って鍵を生成しまくってこうしたアドレスになるものを探すことで得られます。
バニティアドレスについては加藤さんのコラムを参照ください。
【2021/6/3】バニティアドレスをトラストレスに生成してもらうhttps://coinkeninfo.com/vanity-address/
Torで自宅サーバーを手軽に公開する
Umbrelというライトニングネットワークノードをラズベリーパイで立ち上げられるプロジェクトがありますが、これを使うと実は簡単にOnionサービスを自分で立ち上げて公開することができます。