分析エンジニアは、起こりうる終末シナリオを回避するために、インターネットの基礎構造に小さいながらも重要な変更を加えることを推奨しました。
ルート サーバー システム諮問委員会 (RSSAC) のレポート [PDF] では、グローバル ネットワークの一部がシャットダウンする可能性を回避するために、インターネットのアドレス帳の重要なパラメータ (つまり、情報の保存期間) を増やす必要があると主張しています。
インターネットの基盤となるインフラストラクチャ(ルートサーバーとトップレベルドメイン(TLD))は拡大を続け、物理的には地球全体に広がっています。これは全体的な安定性を高める一方で、ネットワークの主要部分がオフラインになる可能性も高めることを意味します。
地震などの自然災害や、船舶による海底ケーブルの切断などの事故により、ルート サーバー ノードまたはネーム サーバーが数日間またはそれ以上オフラインになる可能性があります。
インターネットの他の部分は通常通り動作しますが、ネットワークの主要コンポーネントの喪失により、ネットワークの一部で古い情報が保存・配信され、他の部分でより最新の情報と衝突する可能性があります。その結果、信頼性の高いインターネットが失われ、衝突、混乱、そして混沌とした状況が発生する可能性があります。
報告書では、変更は「緊急」ではなく、問題はまだ発生していないが、グループはテストベッドで問題を作り出すことに成功しており、現実世界で問題が発生する前に修正したいと考えていると指摘している。
なぜ今になってこれが出てきたのでしょうか?
この終末シナリオは、新しいDNSSECセキュリティプロトコルの導入によって最近になってようやく現れました。DNSSECは、インターネットの基盤となる構成要素間で送信される情報にデジタル署名を追加することで、システムへのハッキングを困難にします。
しかし、その追加のセキュリティにより、多数のルート サーバーの 1 つが 4 日間以上オフラインになった場合、世界中の何百万ものサーバーに危険な連鎖反応が発生し、最大 6 日間矛盾した情報が提供されてしまう可能性があります。
こうした矛盾した情報により、サーバーはインターネットの大部分から情報の送受信を拒否する可能性があり、その結果、何百万人ものインターネットユーザーがウェブサイトやメールにアクセスできなくなる可能性があります。つまり、システムの機能不全です。
現段階ではまだ理論上の話ですが、何百もの新しい TLD の展開、ルート サーバー ミラーの増加、DNSSEC の採用拡大によるインターネットの継続的な拡大により、その可能性は高まっています。
終末のシナリオ
では、技術的には何について話しているのでしょうか?
インターネットのインフラストラクチャを介して送信されるすべての情報には、有効期限 (TTL) という重要な要素があります。
TTLは、情報を受信したマシンに対し、その情報を有効とみなすべき期間を指示します。TTLの有効期限(数秒から数日)が切れると、マシンは情報を破棄し、更新された情報を探します。これは、常に更新されるグローバルネットワークにとって非常に重要な機能です。
エンジニアは特定のTTLを決定する際に、いくつかの要素のバランスを取る必要があります。データが頻繁に、例えば毎分更新される場合は、最新の状態を維持するためにTTLを短く設定するのが理にかなっています。1日に1回更新される場合は、TTLを長く設定するのが理にかなっています。
これと関連しているのは、実際のシステムです。情報が1時間ごとにしか更新されない場合、システムが毎秒更新情報を探すのは意味がないだけでなく、不要なネットワーク輻輳を引き起こすことになります。
数百万台のサーバーやデバイスがオンラインになっていることを考えると、何十億もの無意味なクエリが発生していることになります。これはネットワーク管理の不備です。さらに、TTLを不必要に短く設定すると、情報が必要な時間よりも短い期間しか保存されないため、システムの安定性が低下します。
インターネットのルートゾーンと個々のトップレベルドメインゾーンの変更は、インターネット全体よりもはるかに遅くなります。通常、1日に1回行われます(レポートによると、TLDの60%のTTLは86,400秒、つまり1日です)。ルートゾーン自体は1日に2回更新されます。
これに関連して、メインルートゾーンのコピーを管理する権威サーバーとして機能するルートサーバーには、「権限開始期間」(SOA)が10日間あります。つまり、データは最大10日間保存・使用でき、その後破棄されます(ただし、それ以前に複数回更新されているはずです)。
しかし、DNSSEC とその 2 つの署名キー (メインの ZSK (ゾーン署名キー) と関連する KSK (キー署名キー)) の導入により、大きな変化がもたらされました。
これらの鍵は、ルートサーバーおよびTLDから送信される情報がそれら自身から送信されたものであり、改ざんされていないことを検証するために使用されます。現在、ZSKの「有効期間」は10日間、KSKは15日間です。
潜在的な問題を引き起こすのは、ルートゾーンファイルのTTLとDNSSEC鍵の有効期間の組み合わせです。この論文では、KSKの最悪のシナリオが次のように示されています。
- ルート ネーム サーバー インスタンスは、少なくとも 4 日間、ゾーン更新の受信を停止します。
- 検証を行わない再帰ネーム サーバーは、古いルート サーバー インスタンスに対してルート ゾーン NS RRset を照会し (「プライミング クエリ」とも呼ばれます)、応答をキャッシュします。
- 検証を行う再帰ネーム サーバーは、そのクエリを上記の非検証を行う再帰サーバーに転送します。
この場合、「非検証再帰ネームサーバー」とは、単にルートゾーン情報を取得し(インターネット上の何百万ものサーバーと同様に)、エンドユーザーのためにそれを保存するサーバーです。
一方、「検証型再帰ネームサーバー」はDNSSEC鍵の正しさも確認する機能を持ちますが、DNSSEC鍵の正しさも確認します。繰り返しますが、検証プラグインを搭載したウェブブラウザだけでも、毎日何百万台ものサーバーやデバイスがこれを行っています。この論文では、ZSKについても同様の最悪のシナリオが想定されています。
どちらの状況でも、ルート サーバーが数日間更新されないという単純な事実により、不正な矛盾した情報が 1 週間近くネットワークを通じて拡散される可能性があります。
エンドユーザーの観点から何が起こるかを正確に知ることは不可能ですが、サーバー間で情報が矛盾すると、基盤となるアーキテクチャに大きな混乱が生じ、ユーザーにエラーメッセージが表示されることはほぼ確実です。
これは、インターネット エンジニアが一生をかけて回避方法を設計する状況です。
わかりました。それで解決策は何ですか?
RSSAC グループは、この問題を軽減するために主に 3 つの方法を検討しました。そのうちの 2 つは主要なルート ゾーン パラメータを変更する方法 (NS RRset TTL を 3 日以下に短縮し、SOA を 4 日以下に短縮する) であり、もう 1 つは DNSSEC パラメータを変更する方法です。
最終的に、ルートゾーンシステムは90年代初頭から維持し、DNSSECパラメータを調整することが最善の選択肢であると決定されました。ZSKの有効期間を10日から13日(またはそれ以上)に、KSKの有効期間を15日から21日(またはそれ以上)に延長することが提案されています。
これにより、デジタル署名プロセスの安全性は若干低下しますが、基礎となるルート ゾーン システムに影響が及ぶことは避けられます。
同様の懸念から、今年初めにZSKの有効期間が変更されました。その際、ZSKの有効期間は7日から10日に延長されましたが、目立った悪影響は見られませんでした。
これはまた、3ヶ月ごとに行われる大規模な鍵署名式典で、9個ではなく7個のデジタル鍵を作成すれば済むことを意味するかもしれない。しかし、インターネットエンジニアが安全な箱の中で鍵を作成するのに費やす時間は短縮されない。
この報告書 [PDF] は、RSSAC がインターネットの基礎となるアーキテクチャに変更を加えることを推奨した初めての事例です。®