コンピュータネットワーク覚え書き③

参考文献:中岡快二郎著『インターネット技術入門』

OSI参照モデル
オープン・システム・インターコネクション(開放型相互接続システム)の略。
各社が独自にコンピュータ・ネットワークを設計、開発するとお互いの互換性がなくなり、コンピュータ発展の障害になるため、1977年に発表されたアプリケーション開発の共通理解(プロトコル)。
アプリケーションソフトの多種多様の機能をまとめて1つに扱うと、開発段階での障害の対処や完成後のメンテナンスが大変で、一部の手直しが全ネットワークの見直しへと広がりかねないため、OSIモデルではそれぞれの機能を各階層(レイヤー)に割り当てている。
モデル内の各階層は、それぞれ独自の役割と目的を持ち、その上下の階層に対して明確な出入力を規定している。また、各階層は他の階層でおこなわれる処理には関係なく独自の処理をおこなえる。

OSIモデルの階層
プロトコルの種類別に以下の7階層ある。

①物理層(フィジカル層)
伝送線路やコネクタの形状、0と1のビット列を電気信号に変換する形式などが規定されている。

②データリンク層
データ形式のプロトコルが規定されている階層。
上位層のネットワーク層から受け取ったデータにMACアドレスを付加してフレームを構成し、同じネットワークに接続された別のコンピュータにそのフレームを届ける機能を規定している。
また受信側でフレームの誤りを検査できる機能も規定している。

③ネットワーク層
複数のLANが接続されたインターネット上で、自身が所属するLANとは異なるLANに接続されたホストコンピュータにデータを届けるための経路を選択する機能が規定されている。この階層で構成されるデータはパケットと呼ばれる。

④トランスポート層
アプリケーション層から受け取ったデータにアプリケーションの種類を付加する、あるいはネットワーク層から受け取ったデータをどのアプリケーションに渡すかを決める。
また分割されて送られてきたデータを正しく並べ替える機能なども規定されている。
この階層で構成されるデータはセグメントと呼ばれる。

⑤セッション層
コネクション型通信(電話など双方が応答確認をしておこなう通信方法)を実現するプロトコルが規定されている階層。
異なるコンピュータで動作しているアプリケーションソフト同士の対話処理をおこなう。
たとえばアプリケーション間の通信の開始と切断を制御する機能を規定している。

⑥プレゼンテーション層
文字コード、画像データのフォーマット、動画データの形式、圧縮形式、暗号化の方法などを規定。

⑦アプリケーション層
ユーザーが利用する電子メール、ファイルの送受信、ウェブを閲覧するなどさまざまなアプリケーションが規定されている。

IPアドレス
インターネット・プロトコル・アドレスの略。
インターネットで使用するネットワーク層のプロトコルとして代表的なもので、複数のコンピュータが同じネットワークアドレス(LAN)を共有していたり、異なるネットワークアドレスで認識される複数のLANがルータで接続されている際に、誤りのないデータ伝送をするため、各コンピュータもしくは各ルータに固有のアドレス(通し番号)を指定する。つまり、同姓同名のような重複したアドレスは許されない。
IPアドレスは32ビットの整数値で表される。この32桁の数字は、8桁×4組に小分けにされ、各8桁の二進数は十進数で表すことになっている。

例えば
11000000.10101000.00001010.00000101は
192.168.10.5となる。

ちなみに、このコンピュータ版マイナンバーは誰が決めているのかというと、全世界でICANNという組織が一元的に管理している。
日本ではJPNICという機関がIPアドレスを割り当てている。インターネットが普及する前は、この機関から直接IPアドレスの取得を申請しなければならなかったが、今はインターネットサービスプロバイダが代わりに申請をしてくれる。

ネットワーク部とホスト部
ネットワーク部はネットワーク(ブリッジやリピータを含むLAN)の識別に使うアドレス部分。IPアドレス前半が当たる。
ホスト部はコンピュータやルータの識別に使うアドレス部分。IPアドレス後半が当たる。

サブネットマスク
32ビットのIPアドレスのビットパターン(ビット列)だけでは、どこまでがネットワーク部で、どこからがホスト部か区別することができない。
そこでネットワーク部を表すビットを1、ホスト部を表すビットを0に設定したビットパターンを使って、どこまでがネットワーク部かを表す方法のこと。
例えば、IPアドレス32桁中、24桁がネットワーク部の場合は
11111111 11111111 11111111 00000000
または
255.255.255.0/24(※スラッシュ以降の値がネットワーク部の桁数を表す部分=プレフィクス)となる。

ネットワークアドレス
ホスト部の全てのビットを0にしたアドレス。
これはネットワーク自体を識別するアドレスなので、ホスト部には当てられない。
例えばアドレスが192.168.10.0/24の場合には
ネットワークアドレスは192.168.10.0となる。

ブロードキャストアドレス
ホスト部の全てのビットを1にした(つまり個々のホストコンピュータの識別はしない)アドレス。このアドレスは、同じネットワークアドレスを持つLANに所属する全てのホストコンピュータにパケットを送信するときに使用する。
例えばネットワークアドレスが192.168.10.0の場合には
ブロードキャストアドレスは192.168.10.255(ホスト部の8桁が全て1なので255)となる。

ホストへのIPアドレスの割り当て
ネットワークアドレスが192.168.10.0/24のLANにコンピュータ(ホスト)を接続する場合、IPアドレスの残り8桁256パターンがホストに割り当てられることになる。しかし、00000000と11111111はネットワークアドレスとブロードキャストアドレスが使っているので、ホストに当てられるアドレスはさらに2個減って254となる。

アドレス変換
現在、ネットワークのほとんどはプライベートIPアドレスを使って運用されている。この理由はIPアドレスが不足していてグローバルIPアドレスを割り当てられないからである。
例えばIPv4では32ビットのIPアドレスを使用しているので、理論上は40億台程度のホストコンピュータに個別のIPアドレスを割り振ることができるが、世界中のホストの総数はそれを遙かに超えるため、IPアドレスが足りなくなっている。
プライベートIPアドレスのパケットはルータが中継しないため、組織内のネットワークからインターネットに接続することはできない。
そこで組織内で使っているローカルなプライベートIPアドレスとグローバルIPアドレスを相互変換する必要があるのである。

NAT
アドレス変換の方法の1つ。ネットワーク・アドレス・トランスレーションの略。
プライベートIPアドレスとグローバルIPアドレスを一対一に対応させて変換する。
したがって、1つのグローバルIPアドレスを使ってインターネットに接続できるホストは1つだけとなる。このアドレス変換はアクセスルータがおこなう。
NATでは、保有するグローバルIPアドレスと同じ数のホストしかネットワークに接続できないため、IPアドレス不足の解決にはならない。

IPマスカレード
NATの問題点を解決した手法。別名拡張NATもしくはNAPT(ネットワーク・アドレス・ポート・トランスレーション)。
IPマスカレードは、プライベートIPアドレスと同時に、IPアドレスよりも上位プロトコルであるTCPあるいはUDPヘッダ内のポート番号も変換することで、1つのグローバルIPアドレスを使って複数のホストがインターネットに接続できるようにしている。
つまり、それぞれのホストに異なるポート番号を変換して与えてやれば、同じグローバルIPアドレスを用いる各ホストが区別できるのである。
こうしてIPマスカレードでは1つのグローバルIPアドレスを複数のプライベートIPアドレスに対応させることができる。
長所としては、アドレスが変換されてネットにつながっているため、ネット上からプライベートIPアドレスを持つ組織内のホストに直接アクセスができず、セキュリティ的に利点があるということ。
欠点としては、一部のアプリはポート番号が変わってしまうと通信できない。

PKI(公開鍵暗号基盤)
パブリック・キー・インフラストラクチャー。
公開鍵暗号方式を利用してインターネット上でセキュリティを確保して通信する必要がある場合、その基盤(インフラ)となるシステムを構築する上で必要な環境をまとめたもの。
具体的には
①通信相手の身元を確認する(なりすまし防止)。
②通信の途中でデータが盗聴されないことを保証する(盗聴の防止)。
③通信途中でデータが書き替えられていないことを確認する(改ざんの防止)。
PKIの基本技術は以下の5つがある。

①共通鍵暗号方式
送信側と受信側が同じ鍵、同じルールを使って暗号化し、復号化する方式。
従来のこの方式では通信をおこなう当事者以外には鍵とルールは秘密にしていたが、現在ではルールは公開し、鍵だけを秘密にするしくみが一般的になっている。
この方式の特徴は、同じ鍵を使って暗号化・復号化できるので処理が高速化されることで、できるだけ速くデータを復号したい場合にむいている。
デメリットは、鍵の管理と配布で、共通鍵は第三者には秘密にしなければならないので、一組の送受信者ごとに異なる鍵が必要になってしまう。また、共通鍵は盗聴やコピーの危険があるため通信ネットワークを使って送ることができないので、通信相手への鍵の配布も問題なる。これらのデメリットのため、この方式が単独で用いられることはない。
共通鍵暗号の方式にはアメリカ標準のDES(データ・エンクリプション・スタンダード)や、世界中で使用されているIDEA(インターナショナル・データ・エンクリプション・アルゴリズム)などがある。前者は56ビット、後者は128ビットの鍵を使う。
DESの仕組みは、暗号化される前の平文を、いくつかのブロックに分割し、各ブロックに様々な操作(変換表にしたがってビット列を並び替える。暗号鍵と平文とで排他的論理和などの論理演算をおこなう)を加え暗号化する。
この操作がわかっていれば、逆の手順をおこなうことで必ず元のデータを復元することができる。

②公開鍵暗号方式
公開鍵と秘密鍵のふたつの鍵を使って暗号化・復号化する方式。
ふたつの鍵には、暗号化に使った鍵は復号化には使えない(鍵をかけるのに使った鍵は、鍵を開けるのには使えない)という性質がある。
手順は以下の通り。
受信側は公開鍵と秘密鍵のふたつを作成し、公開鍵は公開する(メールで相手に直接送るなど)。
送信側は公開鍵を受信側から取得し、その公開鍵でデータを暗号化して受信側に送信する。
受信側は自分だけが持つ秘密鍵でそのデータを復号する。
公開鍵暗号方式のひとつであるRSA暗号は、桁の多い合成数の素因数分解の難しさと、逆に、正解の素数をかけて合成数を作るのはたやすいことを利用している。つまり、10873=83×131という因数分解を利用する場合、10873が暗号化に使う公開鍵、83と131が復号化に使う秘密鍵ということになる。
この方式では、鍵の管理・配布という問題が生じることはない。利用者は自分の秘密鍵だけを他人にばれないように管理すればいい。
ただし、共通鍵方式と比較して暗号化と復号に時間がかかる。

③ハッシュ関数
長い文章といった大きなデータをハッシュ関数に通すと「ハッシュ値(もしくはダイジェスト)」と呼ばれる決まった長さの小さなビット列に変換される。
このビット列は、単にデータを圧縮したものではなく、そのデータの特徴を反映している。
したがって、元データが1ビットでも変わるとハッシュ値も変わるため、ハッシュ関数はデータの改ざんの検知に使われている。
また、ハッシュ関数には元データからハッシュ値は簡単に求められるが、ハッシュ値から元データを復元することはできないという特徴もある。同じハッシュ値を持つデータは無数にあるからである。
たとえば、もとの文章が17文字のハッシュ値128ビットの場合、ハッシュ値から求められる元の文章の候補は256個もある。
この特徴を利用しておこなわれるユーザ認証もある。たとえば、パスワードのハッシュ値を送った場合、仮に盗聴されてハッシュ値を盗まれたとしても、それをもとにパスワードを復元することはできない。このような意味で、ハッシュ関数は正確には暗号ではないが、広義の暗号として扱われている。

④電子署名
その名のとおり電子的に行う署名。文章を作成した人物が自分であることを証明する。
具体的には、文書を送るときに、その文書を自分の秘密鍵で暗号化して送る。その後、受信者が送信者から送られてきた公開鍵を使って文書を復元できれば、その文書は公開鍵の所有者から送られてきたものであることがわかる。
もう少し厳密に言うと、送信者Aは受信者Bに、文書データと、その文書データのハッシュ値をさらに秘密鍵で暗号化した電子署名を送信する。
これを受け取ったBは、文書データからハッシュ値を求め、さらに電子署名をAから送られた公開鍵を用いてハッシュ値に戻し、ふたつのハッシュ値を比較する。
このふたつのハッシュ値が一致すれば、受信した文書は確かにAが送ったもので、さらに途中で誰かに改ざんされていないことが分かるのである。

⑤電子証明書
電子署名では、受信した公開鍵が送信者本人のものであるという前提がないとセキュリティとして成立しない。そこで公開鍵以外にも、同じような証明が必要な場合がある。
例えば、オンラインショッピングなどでは、店舗側のWebページが信用できるものである(正規に実在する企業が運営している)ことを証明する必要がある。
このような電子証明書は、公開鍵を管理する組織である認証局(CA:サーティフィケート・オーソリティ)が発行する。
電子証明書の中には、公開鍵、その公開鍵の所有者名、署名アルゴリズム、メールアドレス、有効期限などが記載され、認証局の電子署名がついている。この電子署名は、電子証明書のハッシュ値を認証局の秘密鍵で暗号化したものである。
つまり、認証局は電子証明書を受け取れば、その中に記載されている公開鍵が、その証明書に書かれている人や組織のものであることを、証明書の情報から確認できる。
電子証明書を取得したい依頼者は、名前やメールアドレスなどの登録情報を入力した申請書を認証局に依頼する。
Calendar
<< May 2020 >>
SunMonTueWedThuFriSat
     12
3456789
10111213141516
17181920212223
24252627282930
31
search this site.
tags
archives
recent comment
recent trackback
others
にほんブログ村 科学ブログへ にほんブログ村 科学ブログ 恐竜へ カウンター
admin
  • 管理者ページ
  • 記事を書く
  • ログアウト