📚

初学者によるネットワーク入門(『入門 コンピュータ科学: ITを支える技術と理論の基礎知識』第4章 ネットワーク 読書メモ)

2023/09/26に公開

コンピュータ科学の基礎を学び直している。『入門 コンピュータ科学: ITを支える技術と理論の基礎知識』の第4章ネットワークを読んだので、知識の整理がてら読書メモをアウトプットしておく。

第4章 ネットワークとインターネット

4.1 ネットワークの基礎

4.1.1 ネットワークの分類

広さによる分類:

  • ローカルエリアネットワーク(LAN)
    • ビルやビルの集合体中のコンピュータから構成される
    • 例: 大学のキャンパス内や工場内のネットワーク
  • メトロポリタンエリアネットワーク(MAN)
    • 地域のコミュニティを結んでいる中規模なネットワーク
  • ワイドエリアネットワーク(WAN)
    • 都市間や場合によっては地球の裏側という遠く離れたマシンを結びつけるネットワーク

性質による分類:

  • 開放型ネットワーク(open network)
    • ネットワークの内部構成と動作がパブリックドメインな設計に基づいている
    • 例: インターネット
  • 閉鎖型ネットワーク(closed network)、プロプライエタリネットワーク(proprietary network)
    • 特定の個人や企業が所有し制御する技術に基づいているか

開放型ネットワークの設計は、事由に回覧されて多くの人々に使用される結果、知的財産権を主張する固有ネットワーク型のアプローチを技術的に凌駕することもある。なぜなら後者でのアプリケーションには、ライセンス料や契約条項などにより制限が課せられるからである。
(p.152)

私見: OSSとかも同じ

ネットワークのトポロジーに基づいた分類:

  • バス型
    • バスと呼ばれる共通の通信経路にすべてのマシンが接続される
      • ハブは極めて短いバス(見かけはスター型だが)
    • 例: イーサネット
  • スター型
    • 1代のマシンが中心となって他のすべてのマシンがそのマシンに接続される
    • 例: 無線ネットワーク
      • アクセスポイントが中心点となって周辺のすべての通信を調整している

バス型ネットワークとスター型ネットワークの相違は、機器の物理的構成から常に明らかというわけではない。相違は、ネットワーク中のマシンが共通のバスを用いて直接通信すると認識しているか、中間的なセントラルマシン経由で間接的に通信すると認識しているかという点にある。
(p.153)

4.1.2 プロトコル

プロトコル: 動作を決定する規則
イーサネット標準に基づいたバス型ネットワークではCSMA/CD(Carrier Sense, Multiple Access with Collision Detection)というプロトコルによって制御されている。

このプロトコルでは、すべてのメッセージはバス上のすべてのマシンへと一斉に送信される。各マシンは、すべてのメッセージを監視しているが、自分宛てのメッセージだけを取り出す。メッセージを送信するのにマシンは、バスが静かになるまで待って、バスの監視を続けながらメッセージがバス上にないところを見計らって送信する。他のマシンが同時に通信を始めたならば、どちらのマシンも衝突を検出して、それぞれランダムに選んだ短時間の休止をはさんで再度送信を試みる。
(p.154)

「少人数のグループで議論するのに類似したシステム」(p.154)
→発言が被ったら譲り合う

一方、スター型ネットワークでは、マシンが自分の送信とほかのマシンの送信が衝突したことを検知できない。各マシンはセントラルAPと更新できるが、異なるマシンからの信号は、障害物や距離などが原因で妨害されてしまう。

「したがって無線ネットワークは、衝突を検出(defect)するのではなく回避(avoid)する方法を採用」(p.154)しており、それはCSMA/CA(Carrier Sense, Multiple Access with Collision Avoidance)といわれ、IEEE(Institute of Electrical and Electronics Engineers, 米国電気電子学会)により規格化されている。中でもIEEE 802.11で定義されているプロトコルは、WiFiとして知られている。
衝突回避のプロトコルは衝突を完全になくすよう設計されてはいない。
もし衝突したらメッセージを送り直す必要がある。

衝突回避の一般的なアプローチ: 送信する機会を待っているマシンを優先する
ただし前述の通りスター型では他のチャネルが空いているか使用中かどうかわからないので衝突は起こり得る。
この問題の解決のため、WiFiネットワークによっては、各マシンは送信要求をAPに送り、
その応答が返るまでメッセージの送信を控えさせるものもある。

  • コラム: イーサネット
    • バストポロジーを用いてLANを実装する標準
    • イーサネットの名前の由来は、最初のイーサネットがイーサ(ether)と呼ばれた同軸ケーブルを使ってマシンを接続する設計になっていたから

4.1.3 ネットワークを組み合わせる

既存のネットワークを接続することで通信システムを拡張できる。
「イーサネットプロトコルに基づいたバスネットワークの場合、バスを接続して1本の長いバスを形成可能なことが多い」(p.156)。
これはリピータ、ブリッジ、スイッチを使って行う。

  • リピータ(repeater)
    • 元の2つのバスの間で相互の信号を渡すだけで、信号の意味を考慮しない
  • ブリッジ(bridge)
    • 2つのバスをつなぐ
    • 送信先アドレスがもう一方のコンピュータである場合のみメッセージを転送する
      • もう一方の側の通信に影響を与えないのでリピータより効率的
  • スイッチ(switch)
    • 複数の接続をもつブリッジ
    • ブリッジと同様送信先アドレスを考慮して他のバスにメッセージを送る

イーサネットとWiFiのように、性質の異なるネットワークを接続しなければならない場合もある。
この場合はネットワークのネットワークを構築するという形で接続しなければならない。
これがインターネット(internet)である。
(一般的なインターネット(internet)といわゆるインターネット(the Internet)は異なる)

ネットワークを繋いでインターネットを構成するにはルータを使う。

  • ルータ(router)
    • メッセージ転送専用のコンピュータ
    • 各ネットワークの内部的性質を保ったまま、外部のネットワーク間の接続を行う

アドレスシステムについて:
「(元のネットワーク中のマシンとルータを含む)インターネット中のすべてのマシンに一意なアドレスが割り当てられている(つまり元のネットワーク中のマシンは、2つのアドレスをもつ。
元のネットワーク中の"局所的"なアドレスとインターネットのアドレスである)。」(p.157)

「あるマシンが異なるネットワーク中にある別のマシンにメッセージを送る際には、目的のマシンのインターネットアドレスをメッセージに付加した上で、自分が属するネットワークのルータにメッセージを送出する。そうすると、適切な方向へメッセージは転送されていく。この転送の目的のために各ルータは、目的のアドレスに従ってメッセージを、どの方向へ転送るかの情報を含む転送表(forwarding table)を保持する。」(pp.156-157)

ネットワークとインターネットの接続点をゲートウェイ(gateway)と呼んだりする。
ゲートウェイはいろんな形式で出現するので使われ方は曖昧だったりする。
だいたいの場合はルータを指すことが多い。そうでない場合、ルータ以上の意味がこめられていることが多い。
例: インターネットに接続されているほとんどの住宅用WiFiネットワークの「ゲートウェイ」は
ネットワークのAPとそのAPに接続されたルータをあわせて呼ぶのに使用される。
(これら2つの機器は通常1つの装置としてパッケージされている)

4.1.4 通信を処理する手法

  • プロセス間通信…プロセス間で作業状態を調整するための通信
    • クライアントサーバ…クライアントからの要求をサーバが応答し、調整する
    • ピアツーピア(P2P)…お互いにサービスを提供し、サービスを享受する一群のプロセスから構成される
      • 例:
        • インターネットメッセンジャー
        • 対戦ゲーム
      • ピアツーピアは2つのプロセスがネットワーク越しに通信し合うシステムをいうので、「ピアツーピアネットワーク」は誤用

ピアツーピアネットワーク(peer-to-peer network)という用語を耳にすることも多い。しかしこれは、技術に疎い世間が技術用語を受け入れるときに発生する誤用の一例にすぎない。
ピアツーピアというのは、2つのプロセスがネットワーク(あるいはインターネット)越しに通信し合うシステムをいうのであり、ネットワーク(あるいはインターネット)の性質ではない。プロセスは、あるときはピアツーピアモデルを用いて他のプロセスと通信し、あるときはクライアントサーバモデルを用いて他のプロセスと通信するが、どちらも同じネットワーク上でのことなのである。
つまりピアツーピアネットワーク上での通信ではなく、ピアツーピアモデルを用いた通信というのが適切なのだ。
(p.159)

4.1.5 分散システム

  • 分散システム(distributed system)
    • 異なるコンピュータ上のプロセスとして実行されるソフトウェアユニットから構成されるシステム

共通のインフラストラクチャとして既成システムを利用し、アプリケーションに特徴的な部分だけ開発することで分散アプリケーションを構築できるようになった。

  • 分散システムの例:
    • クラスタコンピューティング(cluster computing)
      • 「多くの独立したコンピュータが密接に結合して作業を進めることで、大型コンピュータに匹敵する計算能力やサービスを提供する分散システム
      • 同程度の能力のスパコンより安価で、信頼性も高く、保守費用も少なく済む
      • 高い可用性(high-availability)が求められるシステムで使用される
        • 1台故障しても代わりがあるから
      • 負荷分散システム(load-balancing)としても使用される
        • 高負荷のマシンの代わりに空いてるマシンを使えるから
    • グリッドコンピューティング(grid computing)
      • クラスタほど密接に統合されているのではなく、緩く結びついている
    • クラウドコンピューティング(cloud computing)
      • ネットワーク上で共用されるきわめて多くのコンピュータを顧客の要望に応じて割り当てる
      • 信頼性や拡張性については十分な保証
      • プライバシーやセキュリティがどのように担保されるかについて関心が高まっている

4.2 インターネット

いわゆるインターネット(the internet)の方

4.2.1 インターネットアーキテクチャ

インターネットはインターネット接続事業者(Internet Service Provider, ISP)企業により構築され保守されている。
ISPによって管理されているネットワークシステムは階層構造になっている。
最上位は、「超高速かつ超高容量の国際的なWANから構成されるティア1ISP(tier-1 ISP)」(p.161)。
ティア1ISPに接続されているのはティア2ISP。「地域的に限定されていて企業規模としても中小であることが多い」(p.161)。

ティア1とティア2のISPがインターネットの中核。
そこへのアクセスはアクセスISP(access ISP)と呼ばれる中継企業が提供する。
イントラネット(intranet)とも呼ばれ、「個々のユーザにインターネットアクセスを提供する個別の企業によって運営されている」(pp.161-162)。

個々のユーザがアクセスISPに接続するための装置は、エンドシステム(end system)
あるいはホスト(host)として知られている。
これらはコンピュータである必要はなく、電話機、ビデオカメラなどいろいろ。
「結局のところインターネットは本質的に通信システムであり、他の装置と通信するすべての機器が潜在的にエンドシステムとなる」(p.162)
最も急成長しているアクセスISPはWiFi技術に基づく無線接続かも。

4.2.2 インターネットアドレッシング

IPアドレス(IP address): システム内の各コンピュータに一意なアドレス

IPアドレス付与の流れ:
Internet Corporation for Assigned Names and Numbers(ICANN, アイキャン)

ISP

各マシン

IPアドレスはビットパターンなので人間が把握するのに向いていない。
よってマシンをニーモニック名で認識するもう1つのアドレスシステムがある。
このアドレスシステムはドメイン(domain)の概念に基づいている。

ドメイン: 大学、クラブ、会社、政府機関のような1つの組織によって運営されているインターネット上の仮想的な概念領域

各領域はICANNに登録されなければならいない。
ドメインの登録はICANNから登録業務を委託されているレジストラ(registar)と呼ばれる会社によって行われる。
登録プロセスの一環としてドメイン名(domain name)が割り当てられる。
(例: google.com)

hogehoge.comの"com"部分はトップレベルドメイン(top-level domain, TLD)と呼ばれる。

  • TLDの例
    • com: 商用
    • edu: 教育機関
    • gov: 合衆国政府機関
    • org: 非営利団体
    • museum: 博物館や美術館
    • info: 何でも
    • net: 何でも

.jpみたいなものは国別コードトップレベルドメイン(country code TLD)と呼ばれるもの。

ドメインはピリオドで分けて左向きに拡張される。
例: r2d2.compsc.nowhereu.edu:
コンピュータr2d2が、TLDであるedu中のドメインnowhereu中のサブドメインcompsc中にあることを意味している

ドメイン名とIPアドレスの変換は複数のネームサーバ(name server)によって行われる。
このシステムをドメインネームシステム(domain name system, DNS)と呼ぶ。
DNSを用いて変換を行うプロセスはDNSルックアップ(DNS lookup)と呼ばれる。

4.2.3 インターネットアプリケーション

電子メール
  • SMTP(Simple Mail Transfer Protocol)
    • メールサーバ間でメールを転送したり、ローカルマシンからメールサーバへ新しいメッセージを送信したりするときに使われるプロトコル
    • ASCIIしか扱えない
      • ASCII以外のデータを扱えるようにするための追加プロトコルとしてMIME(Multipurpose Internet Mail Extensions)が開発された
  • ユーザのメールサーバに蓄積された電子メールにアクセスするためのプロトコル:
    • POP3(Post Office Protocol version 3)
    • IMAP(Internet Mail Access Protocol)
ファイル転送プロトコル

FTP(File Transfer Protocol)

telnetとセキュアシェル

telnet遠隔地にあるコンピュータにユーザがアクセスできるようにするための、インターネット初期のプロトコル。
telnetによる通信は暗号化されていない。
telnetの代替としてセキュアシェル(Secure Shell, SSH)がある。
SSHはデータの暗号化のみならず認証(authentication)の機能がある。

VoIP
  • VoIP(Voice over Internet Protocol)
    • インターネットインフラストラクチャを用いて伝統的な電話システムと同じような音声通信を提供するプロトコル

VoIPシステムは4つの形式に分類できる

  • VpIPソフトフォン(soft phone)
    • 「スピーカーとマイクロフォン以外に特別なハードウェアを必要としないで2つ以上のPCが1つの通信を共有できるようにするP2Pソフトウェアから構成される」(p.167)
    • 例: Skype
  • アナログ電話アダプタ(analog telephone adapter)
    • 「ユーザが自分の伝統的な電話をアクセスISPが提供する電話サービスに接続できるようにする装置」(p.167)
  • 組込みVoIPフォン
    • 伝統的な電話に取って代わるもの
    • TCP/IPネットワークに直接接続できる受話器
    • 私見: IP電話ってやつ?
      • ChatGPTより:

        要するに、IP電話は通信の手段を指し、通常はビジネス環境で使用されます。
        一方、組み込みVoIPフォンは、他のデバイスやアプリケーション内で利用可能な小型のVoIP通信デバイスを指します。組み込みVoIPフォンは、IP電話の一部として機能することもあります。

  • スマートフォン
    • 4Gスマートフォンネットワークは、IPに基づいたネットワークとして設計されている
インターネットラジオ

インターネットラジオはストリーミングオーディオ(streaming audio)の一例。

  • Nユニキャスト
    • サーバから、ラジオを選曲した各クライアントにプログラムメッセージを送出する
    • 送信局のサーバのみならずインターネット上でサーバのすぐ近くにあるコンピュータにも
      重大な負荷を課してしまうという短所があった。実際Nユニキャストでサーバは、各クライアントに個々のメッセージをリアルタイムに送信しなければならない。そしてサーバの近くにあるコンピュータは、それらすべてのメッセージを転送しなければならないからである。
      (p.168)

Nユニキャストに代わるアプローチ:

  • P2Pをあたかもファイル共有システムのように応用するもの
    • 「1つのピアがデータを受け取ったならば、そのデータを待っているピアに配信する側に回るのである。そうすることで配信問題の多くがデータの送信者からピアに肩代わりされる。」(p.169)
  • マルチキャスト(multicast)
    • 配信の問題をインターネットルータに任せる方式
    • サーバは1つのメッセージを1つのグループアドレスを使って送信する
    • 簡潔に言うと、マルチキャストを使用するときサーバは、どれだけのクライアントが聴いているかにかかわりなくプログラムのコピーを1つだけ送信する。メッセージを必要なだけコピーして適切な受け手に配信するのは、ルータの責任ということになる。
      (p.169)

4.3 ワールドワイドウェブ

わりと知ってる内容が多そうなのでスキップ

4.4 インターネットプロトコル

ここで見るメッセージ転送プロトコルでは、システム中のすべてのコンピュータが強調しなければならない。したがってこのプロセスを制御するソフトウェアは、インターネット中のすべてのコンピュータに搭載されていなければならない。
(p.178)

4.4.1 インターネットソフトウェアの階層的アプローチ

  • 送信:
    • アプリケーション層(application layer)
      • メッセージを準備して宛先アドレスを指定する
        • ニーモニックアドレスからIPアドレスに変換する
    • トランスポート層(transport layer)
      • メッセージをパケット(packet)に分割する
        • 分割するのは、長いメッセージだだと、そのメッセージの通過中に他のメッセージが待たされてしまうから
    • ネットワーク層(network layer)
      • 各パケットに中継アドレスを割り当てる
        • どの方向にパケットを送信するかを決定する
        • ネットワーク層とリンク層がインターネットルータ上のソフトウェアを構成している
        • ルータの転送表を保持していて、その表に基づいてパケットの転送先を決定する
    • リンク層(link layer)
      • パケットを送信する
        • 「コンピュータが接続されているネットワークに特有の通信の詳細を扱わなければならない」(p.181)
          • 例: ネットワークがイーサネットであればCSMA/CDを適用する

p.180の図4-14がわかりやすい。

中継地点のリンク層はパケットを受け取ると、パケットをネットワーク層へ上げる。
ネットワーク層は、パケット中にある最終目的うちを転送表と比較し、パケットの次のステップを決定し、パケットをリンク層に戻す。
パケットの旅程の途中では、リンク層とネットワーク層だけが関わる(p.180 図4-14参照)。

パケットが最終目的地に到着すると、ネットワーク層はパケットをトランスポート層に渡す。
トランスポート層はパケットを集めてメッセージを再構成し、送信時に宛先アドレスとともに指定されたポート番号をもつアプリケーション層のソフトウェアユニットにメッセージを渡す。

普通のアプリケーションは汎用的なポート番号をもつので、インターネットのユーザがポート番号を気にする必要はほとんどない。

各層が分業して一瞬で処理している。すごい。

4.4.2 TCP/IPプロトコルスイート

開放的なネットワークを構築するためには、各製造会社が他者の装置やソフトウェアと互換性を保って動作するように標準の策定が必要である。その結果生まれた標準が国際標準化機構(International Organization for Standardization)により策定された開放型システム間相互接続(Open System Interconnection, OSI)参照モデルである。
(p.182)

前節の4レベルの階層ではなく7レベルの階層に基づいている。
引用される頻度の高いモデルだが、すでに実装されている4レベルの階層モデルがインターネットの世界では事実上の標準になってしまっている。

TCP/IPプロトコルスイート(TCP/IP protocol suite)とは、インターネットの実装で使用されている4レベルの通信階層を実現するための一連のプロトコル標準である。
実際伝送制御プロトコル(Transmission Control Protocol, TCP)とインターネットプロトコル(Internet Protocol, IP)とは、この大規模なプロトコル群の中の2つのプロトコルの名前にすぎない。したがってプロトコル群全体をTCP/IPプロトコルスイートと呼ぶのは、誤解を招きかねない。厳密には、TCPはトランスポート層の1つの版(version)を定義している。
(p.182)

TCP以外の方法としてユーザデータグラムプロトコル(User Datagram Protocol, UDP)がある。
ヤマトを選ぶか、佐川を選ぶか、みたいな感じ。

  • メッセージ送信前:
    • TCP
      • あらかじめ接続を確立してからメッセージを送る
      • 送信側と受信側のトランスポート層が肯定反応(acknowledgement)を通して共同し、パケット送信を確実にする
        • 信頼性が高い
    • UDP
      • 接続を確立せずいきなりメッセージを送る
        • 信頼性が低い

TCPはフロー制御(flow control)と輻輳制御(congestion control)を提供しているが、UDPはない。

  • フロー制御
    • 「メッセージの送信元のトランスポート層が、セグメントを送出する転送レートを下げることで、受信側のトランスポート層が圧倒されて機能不全に陥るのを防ぐこと」(p.183)
  • 輻輳制御
    • 「メッセージの送信元のトランスポート層が、転送レートを調整して送信側と受信側の間の混雑を緩和させること」(p.183)

一方でUDPはTCPよりも円滑なデータ送信が可能。

IPは、ネットワーク層に割り当てられた作業(転送(forwarding)と経路制御(routing))を実装するためのインターネット標準。

転送に関して、ネットワーク層がパケットを準備する際に、パケットにホップカウンタ(hop counter)あるいは生存期間(time to live, TTL)と呼ばれる値を付加する。
この値は、パケットがインターネット中を転送される回数の上限を定めている。

インターネットは日々成長しているのだが、それでも今日のISPのルータの迷路の中を通って行くパケットのホップカンタは、インターネットの初期に設定された64で十分であると認められている。
(p.183)

4.5 セキュリティ

4.5.1 攻撃の形式

悪意のあるソフトウェア、総じてマルウェア(malware)

  • ウイルス(virus)
    • 「マシン上にすでにあるプログラムに潜り込むことでコンピュータに感染するソフトウェア」(p.184)
    • "ホスト"プログラムの実行によりウイルスも実行される
    • たいていのウイルスは自分のコピーを作る以外はほとんど何もしないが、データや他のプログラムを破壊するやつもいる
  • ワーム(worm)
    • 「ネットワーク中で自分自身を転送する自律的なプログラム」(p.185)
    • ウイルスと同様自身の複製を生成するだけのものやより壊滅的なものまでさまざま
    • 「爆発的に増殖することで正規のアプリケーションの性能を低下させ、極端な場合にはネットワークや更にはインターネット全体に高負荷をかけて麻痺させることもあり得る」(p.185)
  • トロイの木馬(Trojan horse)
    • 「好ましいプログラムに偽装してコンピュータシステムに侵入するプログラム」(p.185)
    • メールの添付ファイルとして送られてくることが多い
  • スパイウェア(spyware, スニッフィングソフトウェア(sniffing software)とも)
    • 「規制するコンピュータ上で行われていることの情報を収集して、攻撃を企んでいる人物に報告するソフトウェア」(p.185)
  • フィッシング(phishing)
    • 「直接尋ねることで明示的に情報を獲得する技法」(p.185)
    • 電子メールを通じて実行される
  • サービス拒否攻撃(denial of service, Dos)
    • 「多量のメッセージを送りつけることにより、コンピュータを高負荷にするプロセス」(p.185)
    • 「サービス拒否攻撃は、インターネット上の大規模な商用ウェブサーバに対して行われ、それによって企業のビジネスを崩壊させたり、場合によっては企業の商業活動そのものを停止に追い込むことがある」(p.185)
    • 準備として、多くの疑われないコンピュータにソフトウェアを密かに移植しておき、信号が与えられたら一斉にメッセージを生成させるようにすることが多い
  • スパム(spam)
    • ジャンクメールがあふれること

いったんコンピュータがインターネットに接続されたならば、20分以内に侵入者がその存在を探っているとの見積がなされている。
(p.185)

インターネットに接続しっぱなしにしないようにしましょう!
PCはちゃんと保護しておきましょう!

4.5.2 保護と予防

"少しの予防は多くの治療に勝る"

  • ファイアウォール(firewall)
    • 「ネットワーク中のある点を通過するデータにフィルタをかける」(p.186)
  • スパムフィルタ(spam filter)
    • 「迷惑メールを阻止するファイアウォール」(p.186)
  • プロキシサーバ(proxy server)
    • 「サーバの有害な行為からクライアントを守ることを目的として、クライアントとサーバの間で
      仲介として機能するソフトウェアユニット」(p.186)
    • イントラネットのクライアントがこの種のサーバに接続するときクライアントは、実際の接続をプロキシサーバに依頼する。そしてプロキシサーバは、クライアントのかわりに実際のサーバと接続する。その後プロキシサーバは、実際のクライアントと実際のサーバの仲介者の役割を演じてメッセージを中継する
      (pp.186-187)

    • 利点1: サーバが実際のクライアントを知ることができなくなる
    • 利点2: サーバからクライアントへのメッセージすべてにフィルタをかけられる
  • ネットワーク監査ソフトウェア
  • アンチウイルスソフトウェア(antivirus software)

4.5.3 暗号

  • FTPS

    • FTPの暗号化版
  • HTTPS

    • HTTPの暗号化版。セキュアソケットレイヤ(Secure Sockets Layer, SSL)として知られるプロトコルシステムがはたらいている
  • 公開鍵暗号(public-key encryption)

    • 公開鍵(public key)で暗号化し、秘密鍵(private key)で復号する

「公開鍵を使用するに際して、正しい受信者の鍵を使っていることを確認しなければならない」(p.189)

この問題を解決する1つのアプローチは、認証局(certificate authority)と呼ばれる信頼できるインターネットサイトを確立することである。認証局の役割は、公開鍵とその配布者の正確なリストを保守することである。これら認証局がサーバとして機能して、信頼できる公開鍵情報を公開鍵証明書(certificate)として知られるパッケージとして、クライアントに提供する。公開鍵証明書とは、配布者の名前と公開鍵を含むパッケージである。
今日インターネット上では、多くの商業的な認証局が利用できる。しかし企業や官庁は、通信の機密性を高めるために、独自の認証局を保持することも一般化している。
(p.189)

公開鍵暗号システムは認証(authentication)の問題を解決するのにも役立つ。
認証とは、メッセージの著者を確認すること。
秘密鍵でも暗号化できて、秘密鍵を持っているということは真正の送信者である。
このようにして秘密鍵の保持者は、デジタル署名(digital signature)と呼ばれるビットパターンを生成し、メッセージに添付することで、メッセージが真正のものであることを認められる。

4.5.4 ネットワークセキュリティへの法的アプローチ

2つの障害がある。

  1. 法的な行為では予防にはあまり役に立たない
    • 「できることは、法的資源を提供することだけだ」(p.190)
  2. ネットワークは国際的なので、資源の獲得が極めて難しいことが多い

感想

以前基本情報技術者試験の勉強をするときにこのあたりのことを勉強していたことを思い出した。当時は資格を取るためにとりあえず覚えるというマインドで取り組んでおり、また実務ではこのあたりの領域について深く考えなくてもとりあえず仕事を回すことができていたため、今回、自分がいかに浅い知識しか持っていなかったかということがわかり、学び直してよかったと思った。

本章で学べる内容は基礎的な内容であるため、いずれも重要な知識なのだが、個人的には4.4節のインターネットプロトコル、4.5.3節の暗号が特に興味深かった。インターネットプロトコルについては今度『マスタリングTCP/IP』などを読んでより知見を深めたいと思っている。暗号に関しては、今度アルゴリズムの勉強をする予定なので、またそのときに補強したいと思っている。

参考文献

Discussion