HTTPS (HTTP over TLS) を使用してサイトにアクセスする場合、TLS プロトコルは、中間者 (MITM) 攻撃によって転送中のデータが盗聴されたり改ざんされたりすることを防ぎ、認証局 (CA) から取得した x.509 証明書によって、ユーザーが実際に接続しているサーバーがブラウザーのアドレスバーに表示されるドメイン名と一致するか検証します。
最新のブラウザーは、TLS を使用していない場合は接続が安全でないことを示し、TLS 接続が CA 発行の x.509 証明書によって認証されることを要求します。
Onion Service プロトコルを使用してサイトにアクセスする場合、Tor プロトコルは、中間者 (MITM) 攻撃によって転送中のデータが盗聴されたり改ざんされたりすることを防ぎ、Onion Service プロトコルは、ユーザーが実際に接続しているサーバーがブラウザーのアドレスバーに表示されるドメイン名と一致するか検証します。
サービスの名前は、基礎となる接続の認証に使用される実際の公開鍵であるため、この証明に認証局は必要ありません。
「.onion」は 特別なトップレベルドメインであるため、ほとんどの認証局は Onion Site 用の X.509 証明書の発行をサポートしていません。
現時点では、HTTPS 証明書を提供しているのは以下の認証局のみです。
- 組織にとってかなりのコストがかかる、DigiCert の拡張認証 (EV) TLS 証明書。
- HARICA のドメイン認証 (DV) TLS 証明書。
とはいえ、Onion Site に HTTPS が必要な場合や導入したい場合もあります。
いくつかのトピックと論点をまとめましたので、あなたの Onion Site に最適なものを分析できます。
Onion アドレスとそのランダムな英数字56文字は誰でも生成できるため、一部の企業の管理者は、自社の Onion Site を HTTPS 証明書に関連付けることが、自社のサービスをユーザーに告知するための解決策になると考えています。
ユーザーはクリックして手動で認証を行う必要があり、それによってユーザーが期待している Onion Site を訪問していることが示されます。
あるいは、ウェブサイトは HTTPS を使用して Onion アドレスを確認する他の方法を提供することができます。例えば、HTTPS 認証されたページから Onion Site のアドレスをリンクしたり、Onion-Location を使用したりすることができます。
この議論のもう1つのトピックは、ユーザーの期待と最新のブラウザーです。
HTTPS と CA の信頼モデルについては様々な批判がありますが、情報セキュリティコミュニティでは、ウェブサイトにアクセスするときは HTTPS を安全な接続の代名詞として探し、HTTP 接続を避けるようにユーザーに教えてきました。
Tor Browser のユーザーに新しいユーザーエクスペリエンスを提供するため、Tor の開発者とUXチームが協力し、ユーザーが HTTP を使用して Onion Site にアクセスしても、Tor Browser は警告またはエラーメッセージを表示しません。
CA によって発行された証明書を使用するリスクの1つは、証明書の透明性のために Onion Service の所有者が HTTPS を使用する場合、.onionドメインが意図せずに漏洩する可能性があることです。
Tor Browser が自分で作成した HTTPS 証明書を検証できるようにする公開提案があります。
この提案が実装されれば、Onion Service の運営者は署名用の Onion Key を使用して独自の HTTPS 証明書チェーンを作成できるようになります。
Tor Browser は、このような自己生成チェーンを検証する方法を知っています。
これにより、証明書の作成に第三者が関与しなくなり、あなたの Onion Service の存在を知ることがなくなります。
一部のウェブサイトは複雑な設定を行い、HTTP および HTTPS コンテンツの両方を提供しています。
その場合、HTTP 経由で Onion Service を使用するだけで、セキュア Cookie が漏洩する可能性があります。
私たちは、Tor Browser のセキュリティへの期待と、Onion Service のユーザビリティ及び普及にどのように取り組んでいるかについて書きました。
この問題に対処するには、いくつかの方法があります。
- Onion Service に HTTPS 証明書を使用しないようにする最も簡単な解決策は、相対リンクのみを使用するようにすべてのコンテンツを記述することです。
こうすることで、コンテンツがどのウェブサイト名から提供されているかに関係なく、スムーズに動作するようになります。
- もう一つの方法は、ウェブサーバーのルールを使って、絶対リンクをその場で書き換えることです。
- または、中間でリバースプロキシ (具体的には、HTTPS 証明書を使用した Onionspray) を使用します。
前述の点に関連して、一部のプロトコル、フレームワーク、およびインフラストラクチャは、技術要件として SSL を使用します。「https ://」リンクがない場合は機能しません。
その場合、Onion Service が機能するには、HTTPS 証明書を使用する必要があります。
実際、HTTPS は Onion Service よりも少し多くのものを提供します。
例えば、ウェブサーバーが Tor プログラムと同じ場所に配置されていない場合は、HTTPS 証明書を使用して、暗号化されていないトラフィックが2つの間のネットワークに公開されないようにする必要があります。
ただし、ウェブサーバーと Tor プロセスが同じマシン上にある必要はありません。
今後の展望
2020年に Certificate Authority/Browser Forum は投票を行い、v3 Onion 証明書を承認しました。そのため、CA は Tor Onion アドレスを含むドメイン認証 (DV) および企業認証 (OV) 証明書を発行できるようになりました。
近い将来、Let's Encrypt CAが v3 Onion 証明書の発行を無料で開始できることを期待しています。
詳細情報