分析:トランスポート層セキュリティ(TLS)は、現代のインターネットの大部分を支えています。例えば、HTTPSウェブサイトへの安全な接続の基盤となっています。しかし、オンラインでの匿名性を維持することに懸念を抱く人にとっては、脅威となる可能性があります。
プライバシー擁護派は長年、様々な形態のウェブトラッキングがもたらすリスクについて警告してきました。これには、Cookie、ウェブビーコン、そして数え切れないほど多くの形態のフィンガープリンティングが含まれます。
この問題への意識が高まったことで、多少は改善が見られました。Appleは最近、macOS MojaveとiOS 12向けにSafariのトラッキング防止機能を強化しました。Firefoxも今年初め、Facebook Containerと呼ばれるトラッキング防止アドオンをリリースするなど、様々な改善を行いました。また、BraveやTor Browserといったブラウザは、より広範なプライバシー機能を提供し続けています。
しかし、ウェブトラッキングに伴うプライバシーリスクは依然として存在し、今やオンラインで人々を追跡する新たなメカニズムが出現したようです。プライバシー攻撃対象領域の最近の拡大は、ドイツのハンブルク大学の研究者によるものとされています。
今週 ArXiv を通じて配布された論文の中で、コンピューターサイエンスの専門家 Erik Sy、Hannes Federrath、Christian Burkert、Mathias Fischer が、トランスポート層セキュリティ (TLS) セッション再開に関する新しい追跡手法について説明しています。
難しい交渉
TLS(以前はSSL)は、クライアントとサーバー間のWeb通信を保護するために使用される暗号化プロトコルとして広く知られています。最新バージョンは1.3です。
例えばHTTPSウェブサイトにアクセスする場合など、TLS接続を確立するには、ネットワーク上でのやり取りが必要になります。そのため、より簡単な手順で以前に確立したセッションを再開できる手段、つまりTLSセッション再開機能があれば理にかなっています。
これを行うための手法は、TLS 1.3 と仕様の古いバージョンによって異なります。事前共有キー (PSK) による 0-RTT/1-RTT (ラウンドトリップ時間) は最新のメカニズムであり、従来のアプローチではセッション ID とセッション チケットが使用されます。
細かい違いはさておき、これらのテクニックは、イベント会場で手にスタンプを押してもらい、その後入場料を支払わずに再入場できるようにするようなものです。まあ、実際にはそうでもないですが。TLSハンドシェイクの奥義に関する議論を避けるために、この辺にしておきましょう。
ポイントは、セッション再開は初期ハンドシェイク中にクライアントデバイスに渡される識別子に依存するということです。そして、この識別子(セッションID、セッションチケット、またはPSK ID)はブラウザのTLSキャッシュに保持されるため、他のデジタル識別子と同様に追跡可能です。
デスクトップパソコンで動作するブラウザでは、ユーザーが定期的にブラウザを再起動すれば、それほど問題にはなりません。しかし、研究者たちは、モバイルデバイスではブラウザを再起動せずに数日、あるいは数週間(充電時間を考慮すると)も動作し続ける可能性があると観察しています。
セッション再開識別子の有効期限は様々です。サーバーは、ticket_lifetime_hint
識別子の有効期間を秒単位で指定する非拘束フィールドを32ビット符号なし整数で提供できます。これにより、約68年の有効期間が実現できます。ただし、TLS 1.2とTLS 1.3では、チケットの有効期間はより制限されており、それぞれ24時間と7日間となっています。
もっと悪い状況になる可能性もあるが、それでも良くない
Sy、Federrath、Burkert、Fischerらは、Alexaトップ100万サイトのうち、TLSセッションチケット対応ウェブサイトの80%が、有効期限のヒントを10分以下に設定していることを発見しました。残りのウェブサイトでは、約10%が有効期限のヒントを24時間以上に設定していました。
FacebookとGoogleは、行動ターゲティング広告事業を展開しているため、セッション再開チケットの有効期間を他の多くの企業よりも長く設定していると指摘しています。Facebookの有効期間ヒント設定である48時間は、発見されたセッションチケットヒントの99.99%よりも長くなっています。Googleの28時間は、Alexaの上位100万ウェブサイトの97.13%を上回っています。
TLSプロキシ?いや、そうではない。カナダの情報セキュリティ研究者は、正直言って安全性が低く、危険だと指摘する
続きを読む
ただし、セッション再開チケットの有効期限が切れても、それ以前に相関識別子を配置できれば、ユーザーを追跡する機能が必ずしも削除されるわけではありません。
研究者らは、クライアントがセッションを再開しようとすると、セッションが再開されたか拒否されたかに関わらず、TLSセッション再開識別子をサーバーに送信することを観察した。この公開されたデータは、同じユーザーによって新たに確立されたセッションに関連付けられる可能性がある。
研究者らは、ウェブサイトは訪問ごとに新しいセッション識別子を発行し、「2 回の訪問間の時間がユーザーのブラウザのセッション再開の有効期間を超えない限り、ユーザーを無期限に追跡できる」と指摘しています。
ちょっと残る
しかし、ほとんどのウェブブラウザのデフォルト設定はリスクを軽減しています。調査対象となった45種類のブラウザのうち、3分の2はセッションIDとセッションチケットのメカニズムにおいて、セッション再開の有効期間を最長60分に制限していました。
それでも、ほとんどのブラウザではユーザーを 1 週間以上追跡することが可能であるようです。
「私たちの研究結果は、多くの現行ブラウザのセッション再開期間の標準設定では、平均的なユーザーが最大8日間追跡される可能性があることを示しています」と論文は述べている。「TLSバージョン1.3のドラフトで推奨されている上限である7日間のセッション再開期間では、私たちのデータセットの全ユーザーの65%が永続的に追跡される可能性があります。」
研究者らは、プライバシーに配慮した3つのブラウザ(JonDoBrowser、Orbot、Tor Browser)がセッション再開をサポートしていないことを特に指摘しました。他の4つのブラウザ(360 Secure Browser、Konqueror、Microsoft Edge、Sleipnir)は、サードパーティによるセッション再開のサポートを制限しています。
TLS セッション再開識別子による追跡のリスクを軽減するために、専門家は、TLS 1.3 で指定されている 7 日間のセッション再開時間を 10 分に短縮し、ブラウザメーカーがサードパーティの追跡シナリオに対処することを推奨しています。
「最も効果的な手法は、ブラウザで TLS セッション再開を完全に無効にすることだ」と彼らは結論付けている。
重要なのは、TLSとHTTPSを諦めないことです。これらは今日のインターネットで安全を保つために非常に役立ちます。ただし、ブラウザとウェブサイトの開発者の皆様は、セッション再開について改めてご検討ください。®