お知らせ

オニオン鍵の取り替えと無作為に選ぶチェーン

リレーはオニオン鍵をタイマーで取り替え、古い鍵を解放するようになりました。クライアントは、自分の一覧にあるリレーからチェーンを無作為に選びます。計測環境のリレーは5つです。

前回のお知らせ以降、main ブランチに変更がふたつ入りました。前回「次の項目」として挙げた、 チェーンの層の前方秘匿性と、3つより多いリレーの一覧です。研究のページの数値は、 これまでと同じ予備的な計測のままです。

リレーがオニオン鍵を取り替える

これまでリレーは、稼働しているあいだずっと同じ鍵合意用の鍵を使っていました。チェーン確立の セルを保存していた隣のリレーは、その鍵が盗まれれば、稼働していた期間のそのリレーの層を すべて開けました。

いまリレーは別にオニオン鍵を持ち、タイマーで取り替えます。ディスクリプタには現在の鍵と そのエポックが載ります。リレーは、古い鍵を載せたディスクリプタがすべて期限切れになるまで その鍵を保持するので、少し古いディスクリプタを持つクライアントもチェーンを確立できます。 そのあとで、ロックされたメモリからその鍵を解放します。

隣のリレーが保存していたチェーン確立のセルを開けるのは、そのセルが使った鍵をリレーが 持っているあいだだけです。長くても、その鍵が最初に公開されてから、取り替えの周期に ディスクリプタの有効期間と時計の許容差を足した時間までです。解放のあとに取得したメモリでは、 そのセルは開けません。

この期間は、壁時計とホストの稼働時間というふたつの時計で数え、どちらかが示した時点で それぞれの段階が進みます。ホストがスリープしても、期間が延びるのは復帰までです。壁時計を 戻しても、期間は延びません。

なぜ重要か:チェーン確立のセルを記録しておき、あとでリレーの鍵を手に入れる隣のリレーへの 対策です。

クライアントがチェーンを選ぶ

計測環境のリレーは5つになり、クライアントはそのすべてを一覧に持ちます。クライアントは起動の たびに入口を無作為に選び、一覧にあるすべてのリレーの署名付きバンドルをその入口に要求し、 アンカーで検証してから、残りの2つのホップを選びます。要求はチェーンがどれであっても同じ なので、要求からチェーンはわかりません。

クライアントはチェーンをログに書きません。何か失敗すると終了し、次の起動で新しいチェーンを 選びます。チェーン確立のセルひとつに入るのは、標準のスイートで4ホップ、gost で3ホップまで です。固定のチェーンは、経路がわかっている必要のある計測のための切り替えとして残っています。

すべてのリレーは、手元にあるバンドルをミラーとして提供します。バンドルがないリレーは、ミラー 全体を止める代わりにミラーから外れます。クライアントは、一覧にあるリレーのうち限られた数 (標準では1つ)が欠けたミラーを受け入れます。ミラーに載っているのに検証に通らないバンドルが あれば、チェーンは作りません。

なぜ重要か:固定のチェーンでは、同じ3つのリレーがすべてのチェーンを運び、それぞれが自分の 位置を知っていました。無作為に選ぶチェーンでは、チェーンが不正なリレーに当たる頻度が、計算も 標本による確認もできる量になります。計測用のツールは、いまその両方を行います。

これで解決しないこと

  • 鍵の取り替えは、メモリが取得された時点で生きているチェーンのホップ鍵、回線鍵、解放済みの 鍵についてライブラリがヒープに残したコピーには及びません。
  • 鍵の取り替えはリレー自身が行います。クライアントは、古い鍵が解放されたことを確認できません。
  • リレーの一覧は固定です。リレーを見つける仕組みも、複数の者が署名したディレクトリも ありません。
  • 不正な入口は、正直なリレーをミラーから外すことで、出口も不正である確率を上げられます。 外せる数の上限が、その度合いを抑えます。
  • リレーは、他のリレーごとに違うオニオン鍵を渡すことができます。チェーン確立のセルを開けた 鍵から、クライアントがどのリレーのミラーを使ったかがわかるため、不正な出口は入口を知る ことができます。
  • 気に入らないチェーンを拒否したり切ったりするリレーは、どのチェーンが残るかを決められます。
  • ガードリレーはありません。チェーンごとに入口を選び直すため、入口と出口の両方が不正な チェーンが少なくともひとつあった確率は、クライアントが再起動するたびに上がります。

ロードマップの次の項目は、エンドツーエンドの層を持つ受信側クライアントと、 クライアント間の否認可能な認証です。

全体の一覧は限界のページと 適用範囲(英語)に あります。オニオン鍵の取り替えとチェーンの選択は アーキテクチャ(英語)に、 脅威と対策は 脅威モデル(英語)に、 チェーンの選択の計測方法は 実験(英語)にあります。