Stories from the Infrastructure · 0-III

信頼の設計

CerfとKahn、そして全員が友好的だと前提したプロトコル

「セキュリティについては心配しなかった。インターネットは常識的な人々が使うものになるはずだったから」 引用元:Vint Cerf(TCP/IP 設計の回想・諸インタビュー)


I.

サンフランシスコのホテルの部屋

1973年春、Vint Cerfはサンフランシスコのホテルでカンファレンスに出席していた。Bob KahnがCerfを脇に引っ張った。KahnはARPAで働いており、Cerfはスタンフォードの教授だった。数年来の知り合いで、ARPANETの側面でともに作業したことがあった。Kahnには考えたい問題があり、Cerfがその相手として適していた。

問題はこうだった。ARPANETは機能していたが、それは一つのネットワークだった。他のネットワークが構築されつつあった——衛星ネットワーク、無線ネットワーク、他の国のネットワーク。やがてこれらの異なるネットワークは互いに話す必要が出てくる。しかし異なるアーキテクチャで構築され、異なるプロトコルを使い、データのパッケージングと送信についての異なる前提を持っていた。接続されるよう設計されていないネットワークをどうやって接続するか。

CerfとKahnはそのカンファレンスの大部分を問題に費やした。Cerfは自身の証言によれば、封筒の裏にアイデアを走り書きした。カンファレンスの終わりには、解決策の輪郭があった。彼らはそれを伝送制御プロトコル——TCPと呼んだ。後の洗練を経てTCP/IPとなる。インターネットの基盤。

1974年に発表した論文——「パケットネットワーク相互通信のためのプロトコル」——は人類史上最も重要な文書の一つだ。そしてその重要性の割に、驚くほど読みやすい。パケットのアドレス付け方法、異なるネットワーク間のルーティング方法、エラーの処理方法、接続の確立と終了方法を、明確かつ具体的に記述している。構築していないシステムを通じて制御できない見知らぬ人と話す方法の仕様だ。

· · ·

II.

作らないと選択したもの

TCP/IPの設計上の選択は必然ではなかった。特定の時代に特定の人々が、ある価値を他の価値より優先して行った選択だった。CerfとKahnとその同僚たちが優先した価値は、開放性と相互運用性——どんなネットワークも他のどんなネットワークとも接続できる能力、どんなアプリケーションも許可を求めずにプロトコルの上で動ける能力だった。

作らないと選択したのは認証だ。TCP/IPにはパケットが主張する送信元から実際に来ているかを検証するネイティブのメカニズムがない。IPアドレスは資格情報ではない。特定のアドレスから発信すると主張するパケットは、実際にはどこからでも発信できる。これは既知の限界だった。プロトコルに認証を組み込むと複雑になり、実装コストが増し、相互運用性が下がるため受け入れられた。インターネットを設計した人々は互いを知っていた。大学と政府の研究機関の研究者だった。誰かが意図的に偽のパケットを送るかもしれないという考え——ネットワーク上に敵対者がいるかもしれないという考え——は設計上の考慮事項ではなかった。それは彼らが生きていた世界ではなかった。

世界は変わった。プロトコルは変わらなかった。すでに見てきたBGPはこの信頼モデルを受け継いだ——ルーティングのアナウンスメントはプロトコルがそれを疑うメカニズムを持たないため信じられる。メールはそれを受け継いだ——メールのFromフィールドはプロトコルによって検証されない。誰でも誰かのふりができる。ウェブはそれを受け継いだ——初期の年々には暗号化もサーバー識別の検証もなく、読んでいるページが主張する送信元から来ているかを確認する方法がなかった。

何十年もの安全保障工学が、認証を設計されていないシステムに後付けすることに費やされてきた。HTTPS、DNSSEC、RPKI、デジタル署名、認証局——これらはすべて付加物であり、パッチであり、信頼を前提とし、時間をかけてその前提が間違っていたと発見した基盤の上に築かれた層だ。

· · ·

III.

贈り物と負債

CerfとKahnはTCP/IPを特許取得しなかった。ただ渡した。これは偶然でも見落としでもなかった。彼らが来た学術文化とARPAのオープン発表の気風に根ざした意図的な決断だった。誰でも実装でき、ライセンスを必要とせず、誰が使えるかやどのように使えるかに制限を置かないプロトコル——これが普遍的になれる唯一の種類のプロトコルだった。技術的に優れていても独占的なプロトコルは、常に所有権の条件によって制限される。

TCP/IPの贈り物は、私たちが持つインターネットだ。プロトコルを実装するどんなデバイスもネットワークに参加できる。プロトコルを実装するどんなネットワークも他のどんなネットワークとも相互接続できる。何十億ものデバイス、何百万ものネットワーク、想像を絶するアプリケーションとサービスの多様性——すべてが1973年にサンフランシスコのホテルの部屋で二人の男が走り書きし、翌年雑誌に発表し、世界に渡した仕様の上にある。

TCP/IPの負債もまた、私たちが持つインターネットだ。スパム、フィッシング、分散型サービス拒否攻撃、侵害されたデバイスから組み立てられたボットネット、BGPハイジャック、DNSポイズニング、監視——これらのどれも、プロトコルが異なる形で設計されていれば不可能だったかもしれない。このシリーズで議論してきたすべてのセキュリティ問題は、ある程度、友好的な人々のためのネットワークを構築し、後から友好的でない人々がそこに住んだという決断に根を持つ。

Cerfは一度ならず、もっとセキュリティを組み込めばよかったと言っている。そしてそれが重要だったかどうか確信が持てないとも言っている——よりセキュアなプロトコルはより遅く採用されたか、まったく採用されなかったかもしれず、そのすべての脆弱性を持つオープンなインターネットは、より慎重なインターネットより多くの善をなしてきた、と。

彼はおそらく正しい。1973年にインターネットに設計された信頼は、それが人類のコミュニケーションの大部分を包括する何かに成長することを可能にしたのと同じ信頼だ。友好的な見知らぬ人という前提は間違っていた。それはまた、最も深い意味で、正しい前提でもあった——なぜなら、それが何か非凡なことが起きるのに十分な大きさの空間を作り出し、そして非凡なことが起きたから。


本文はAIアシスタント(Claude / Anthropic)により執筆されており、内容の正確さは保証できません。挿絵は生成AIにより制作しました。