8.1 信頼と脅威

セキュアなネットワークを構築する理由と方法を見ていく前に、一つの単純な真実をはっきりさせておくことが重要だろう: セキュリティ障害は避けられない。突き詰めればセキュリティとは信頼に関する仮定を置き、脅威を評価し、リスクを軽減する処置を取ることに尽きるからである。完全なセキュリティというものは存在しない。

信頼 (trust) と脅威 (threat) は表裏一体と言える。脅威とはシステムが避けるように設計される障害シナリオであり、信頼とは第三者やシステム内部の要素がどう振る舞うかに関する仮定である。例えばオープンキャンパスのときに Wi-Fi を通じてメッセージを転送するとき、メッセージの横取りはおそらく脅威とみなされる (そして本章で解説される対策が取られる) だろう。しかし鍵のかかったデータセンターの中にある二台のマシンの間で光ファイバーケーブル越しにメッセージを転送するなら、そのチャンネルはセキュアだと信頼できるので、追加の対策は取られないだろう。

「Wi-Fi ベースの通信を保護する手段が存在するのだから、光ファイバーケーブルを使う場合でもとりあえずそれを使えばいいのではないか」と思うかもしれない。しかし、この意見は通信をセキュアにするコストを無視している。メッセージを保護すると (Wi-Fi であれ光ファイバーケーブルであれ) 暗号化のオーバーヘッドで通信速度が無視できない程度低下する。科学計算 (例えばハリケーンのモデルの計算) を行っていて性能を最大限に引き出す必要があり、データセンターに何者かが忍び込む確率が百万分の一 (さらに、転送されるデータには大した価値がない) なら、光ファイバーケーブルの通信チャンネルをセキュアにしないことは十分に正当化される。

こういった判断はいたるところで下されるものの、たいていは暗黙であり、成文化されることはない。例えば、メッセージを送信する前に世界で最もセキュアなアルゴリズムで暗号化を行ったとしよう。セキュリティ対策は万全だと思うかもしれないが、このとき送信側はサーバーがアルゴリズムを忠実に実行し、復号されたメッセージを敵対者に漏らさないことを暗黙に信頼している。サーバーを脅威だとみなすべきだろうか? それともサーバーは間違った処理を行わないと信頼すべきだろうか? 結局、どんなに良くてもリスクを軽減することしかできない: 低いコストで取り除ける脅威を特定し、信頼に関して置いている仮定を明示的に示すことで状況が変化したとき (例えば今までより高い技術と根気を持った敵対者が現れたとき) でも不意を突かれないように備えるしかない。

多くの計算がローカルからサーバー (クラウド) に移動されている現在、前段落の例に登場したサーバーに歩み寄る敵対者という脅威は非常に現実的なものになった。これを受けて、TCB (trusted computing base, トラステッドコンピューティングベース) を構築するための研究が行われている。TCB は興味深い話題ではあるものの、コンピューターネットワークではなくコンピューターアーキテクチャの分野に属する話題なので本書では触れない。

本章を読むときは、信頼脅威 (および敵対者) という言葉に注目するようにしてほしい。これらの言葉はセキュリティに関する主張が置かれた文脈を理解する上での鍵となる。

本章の理解を助けるであろう歴史的な事実を最後に一つ記しておく。インターネット (および前身の ARPANET) は米国の国防省からの資金提供を受けて構築された。国防省は間違いなく脅威の解析を理解している機関である。初期の研究報告では、ルーターやネットワークの一部で障害が起きたとき (あるいは破壊されたとき) でもネットワークが動作を続けられるかどうかに関する懸念事項に多くのページが割かれている。インターネットのルーティングアルゴリズムが分散化しており、中心的な役割を持つ単一障害点が存在しない理由はこのような事情があったためである。一方で、当初のインターネットの設計はネットワークの内側の存在が全て信頼できることを仮定していたので、現在サイバーセキュリティと我々が呼ぶ概念 (ネットワークに接続できる悪意を持った人物に対する防御) に対してはほとんどあるいは全く注意が払われていなかった。これは、本章で紹介するツールの多くが後から追加されたパッチとみなせることを意味する。これらのツールは強固な暗号学的基礎を持ってはいるものの、「アドオン (後付け)」であることに変わりはない。仮にインターネットが根本的に再設計されるようなことがあれば、セキュリティを組み込むことは最も優先される事項となるだろう。

広告