高校「情報Ⅰ」単語帳 - 第一学習社「高等学校 情報Ⅰ」 - 情報通信ネットワークの仕組みと役割

通信速度 【回線速度】

通信回線が単位時間あたりに送受信できるデータ量。伝送速度が高いほど短時間に大量のデータを送ることができ、快適に通信を行うことができる。

主に1秒間に伝送できるビット数である「ビット毎秒」(bps:bits per second)、1秒間に伝送できるバイト数である「バイト毎秒」(B/s:Bytes per second)の二種類が用いられる。ビット毎秒はコンピュータ間の通信に、バイト毎秒はコンピュータ内部の通信に用いられることが多い。

現在では1バイトは8ビットであるため、1バイト毎秒は8ビット毎秒に相当する。1バイトのビット数がシステムごとに様々だった時代の名残りで、正式な規格書などでは誤解の余地が無いようにバイト毎秒の代わりに「オクテット毎秒」(octet per second)を用いる場合もある。

現代のコンピュータや通信回線は高速にデータを伝送できるため、ビット毎秒やバイト毎秒をそのまま使うと値が大きくなりすぎる。このため、重さや長さなどと同じようにSI単位系の接頭辞(1000倍を表す「キロ」など)を先頭につけて大きな単位を構成する。

それぞれの1000倍を「キロビット毎秒」(kbps)「キロバイト毎秒」(kB/s)、100万倍を「メガビット毎秒」(Mbps)「メガバイト毎秒」(MB/s)、10億倍を「ギガビット毎秒」(Gbps)「ギガバイト毎秒」(GB/s)、1兆倍を「テラビット毎秒」(Tbps)「テラバイト毎秒」(TB/s)という。

通信の実効速度や体感速度は伝送速度に最も大きく影響を受けるが、送信側が伝送を開始してから(あるいは、受信側が送信要求を送ってから)受信側に最初のデータが到着するまでの待ち時間(レイテンシ/遅延時間)にも影響され、大陸間や衛星を介した通信など極めて遠距離間の通信では特に大きく影響する。

DCE 【Data Circuit terminating Equipment】

通信回線と末端の機器(端末やコンピュータなど)との間に設置され、機器から送られてきた信号を通信回線に適した信号に変換したり、その逆を行ったりして両者の仲立ちを行う装置。

異なる通信媒体の接続や、データの符号化・復号、信号の変換や変調・復調、送受信タイミングを合わせるクロック信号の供給などを行うもので、コンピュータなどからは回線に接続するためのインターフェース装置として機能する。

回線の種類などにより様々な機器があり、アナログ回線で用いられる「モデム」(modem:modulator-memodulator)や、ISDN回線で用いられる「DSU」(Digital Service Unit)や「ターミナルアダプタ」(TA:Terminal Adapter)、光回線で用いられる「ONU」(Optical Network Unit)などが該当する。

これに対し、コンピュータや情報機器、ネットワーク端末など、回線の末端に接続され利用者が直接操作する機器は「DTE」(Digital Terminal Equipment)という。DTE-データ回線終端装置-通信回線の順に接続されるが、機器や回線の種類によってはDTEの内部にデータ回線終端装置の機能が内蔵される場合もあり、必ずしも単体のデータ回線終端装置機器が利用されるとは限らない。

パケット通信 【パケット交換方式】 ⭐⭐

通信ネットワークにおけるデータの伝送方式の一つで、データを小さな単位に分割して個別に送受信する方式。通信を行う二者が伝送経路を占有せずに通信できる。

一定の大きさに分割されたデータのことを「パケット」(packet:小包)という。パケットには送りたいデータ本体(ペイロード)の他に、送信元や宛先の所在を表すアドレスなどの制御情報が付加される。

送信側の機器は送りたいデータを通信規格などで定められた長さごとに分割し、制御情報を付加して順番に送信する。通信経路上の中継機器は受け取ったパケットをいったん自身の記憶装置に格納し、次の中継装置へ順次送り出す。

これを繰り返して受信側の機器までパケット群を届け、受信側ではパケットからデータ取り出して順番に連結し、元のデータに復元する。このような伝送方式は「蓄積交換」(store and forward:ストアアンドフォワード)とも呼ばれる。

一方、回線網上の二地点間を結ぶ経路を交換機で中継し、両端の機器が通信中はこれを独占的に利用する通信方式を「回線交換方式」(circuit switching)という。歴史的には通信システムはアナログ電話回線など回線交換方式から発展したが、コンピュータネットワークやデータ通信の普及とともにパケット交換方式が一般的になっている。

主な特徴

パケット交換方式は回線交換のように通信中に伝送経路上の資源を占有しないため、中継機器などの設備、通信回線・電波などの伝送媒体を効率よく利用できる。中継時にデータを通信機器内に蓄積してから送り出すため、異なる通信速度や通信方式の機器間を接続しやすい。

制御情報に誤り検出符号や誤り訂正符号を付加して、伝送途上で生じたデータの破損・欠落を受信側で検知して修復したり、送信側へ再送要求を送ることもできる。制御情報で優先度を指定して、音声通話などリアルタイム性の高いデータを優先的に転送するといった制御もできる。

複数の経路から一つを選択したり別の経路に変更することも容易で、障害発生時に問題箇所を迂回して通信を続行するといった制御を行いやすい。経路の途中で混雑する機器や回線があると通信が遅延したり中断することがあり、通信速度や遅延時間の保証などは行いにくい。

応用

1960年代にインターネットの原型となる研究用コンピュータネットワークの通信方式として考案された。1990年代に構内ネットワーク(LAN)やインターネットが普及すると、コンピュータを始めとするデジタル機器の通信方式として浸透した。

一方、電話網などは伝統的に回線交換方式で運用されてきており、携帯電話では同じ無線ネットワークを用いて音声通話を回線交換、データ通信を蓄積交換で提供していた。このため、携帯電話では「パケット交換方式」という用語を(音声通話と対比して)データ通信を指す用語として用いる。

現代では、回線交換方式の通信網や通信方式は徐々に廃止され、音声通話などもパケット交換方式で実現するようになっている。例えば、メタル回線によるアナログ電話は光ファイバー回線によるIP電話(光電話)に、スマートフォンの通話機能は回線交換からVoLTEのようなパケット通信方式に移行が進んでいる。

パケット ⭐⭐⭐

「小包」という意味の英単語で、通信回線やネットワークを流れる情報のうち、データをある長さごとに区切り、送信元や宛先などの制御情報を付加した小さなまとまりのこと。

一つのパケットは制御情報が記述された先頭のヘッダ部(header)と、それに続く送りたいデータ本体であるペイロード部(payload)で構成される。大きなデータを送信する場合は一定の大きさごとに分割され、それぞれにヘッダ部が付加されて複数のパケットとして独立に伝送される。末尾にも制御情報やデータ長を調整するための埋め草データ(パディング)が連結されることがある。

大きなデータを複数のパケットに分解して送受信することで、一本の回線や伝送路を複数の通信主体で共有して効率よく利用することができる。パケットを利用した通信方式を「パケット通信」(packet communication)、パケットが流通する通信ネットワークを「パケット交換網」「パケット通信網」という。現代のコンピュータネットワークや通信サービスはほぼすべてパケット交換方式で実装されている。

また、狭義には、様々な通信方式で定められるデータの送受信単位(PDU:Protocol Data Unit)のうち、末端から末端(大本の送信元から最終的な宛先)まで送り届けられるものをパケットと呼ぶ場合がある。

途中の通信経路が複数の伝送媒体やネットワークにまたがる場合でも、中継機器によって転送を繰り返し、時にはより小さい伝送単位へ分解・再統合されながら相手先まで送り届けられる。インターネット上をIP(Internet Protocol)や上位のプロトコルで伝送されるデータなどが該当する。

より狭義には、末端から末端まで配送される伝送単位のうち、エラー検出と再送制御による確実な伝送、データ受信順の保証(送信順による並べ替え)などが行われる信頼性の高い通信プロトコルのPDUをパケットとする立場もある。これらが保証されないIPやUDPと対比した場合のTCPなどである。

規格上の呼称としてはIPとUDPは「データグラム」(datagram)、TCPは「セグメント」(segment)、より上位層のプロトコル(HTTPなど)では「メッセージ」(message)あるいは「リクエスト」(request)および「レスポンス」(response)などが正式あるいは一般的で、「パケット」はこれらの総称あるいは通称として用いられることが多い。

一方、下位のデータリンク層(リンク層)では、イーサネット(Ethernet)やWi-Fi(無線LAN)、PPPなどは「フレーム」(frame)、ATMなどでは「セル」(cell)などのPDUが用いられる。

ヘッダ 【ヘッダー】 ⭐⭐

データや文書の本体の先頭に付け加えられる、そのデータや文書自体についての情報を記述した部分のこと。

通信プロトコル(通信規約)の仕様ではデータの送受信単位(フレームやデータグラム、パケットなど)のデータ形式を定義しているが、多くの場合、その先頭部分に決まった記述形式や長さで制御情報を記載するよう定めており、この部分をヘッダという。送りたいデータの本体はヘッダに続く領域に格納され、これをペイロード(payload)あるいはボディ(body)などという。

例えば、電子メールのヘッダ領域には、差出人のメールアドレスや宛先アドレス、発信日時、件名、本文の文字コードなどが記載され、送受信や転送、表示を行うソフトウェアはこの部分を見て様々な処理や判断を行う。

ファイル形式の規格などでも、先頭部分をデータ自体についての属性や設定などのデータを格納するヘッダ領域と定めており、後続の領域にデータ本体を格納する。例えば、画像ファイルであれば、先頭に縦横のピクセル数や解像度、色情報、撮影日時、圧縮方式のパラメータなど、個々の画素や部分ではなくデータ全体に関わる情報が格納される。

ヘッダはプロトコルやファイル形式ごとに定められており、階層型のプロトコルを用いて通信を行うと、実際に送受信されるデータの塊は例えば、Ethernetヘッダ+(Ethernetペイロード:IPヘッダ+(IPペイロード:TCPヘッダ+(TCPペイロード:HTTPヘッダ+(HTTPボディ:HTMLヘッダ+HTMLボディ)))) といった多重の入れ子構造となり、それぞれの階層についてヘッダが記述される。

文書や印刷物のヘッダー領域

ワープロ文書などで、各ページの本文より上のページ上端に設けられた短冊状の領域をヘッダーという。本文とは別に各ページに共通する項目を文書全体に渡って指定することができる。

具体的な内容は利用者が指定・選択することができ、文書名や章題、日付、ロゴ画像などを固定的に表示するのに使われることが多い。ソフトウェアによって、文書の属性の一部として指定する場合(文書作成ソフトなど)と、印刷時に印刷設定として指定する場合(Webブラウザの印刷機能など)がある。

同様に、本文より下のページ下端に設けられた短冊状の領域を「フッター」(footer/「フッタ」とも表記される)と呼び、ページ数や著作権表示、脚注などが記載されることが多い。

パリティビット 【パリティデータ】 ⭐⭐

データの伝送や記録の際に生じる誤りを検知できるように算出・付加される符号の一つで、ビット列中に含まれる「1」の数が偶数か奇数かを表すもの。これを利用した誤り検出方式を「パリティチェック」(parity check)という。

データを0と1が並んだビット列で表したときに、各ビットの値を足し合わせた値が奇数であるか偶数であるか(「1」の数が奇数か偶数か)を1ビットの値として表す。

和が奇数のときに1とする(偶数なら0)ものを「偶数パリティ」(even parity)、偶数のときに1とするものを「奇数パリティ」(odd parity)という。パリティを足すことでどのビット列も偶奇性が同じになる(偶数パリティを含めた全ビットの和は常に偶数)という意味でこのように呼ばれる。

データの送り手(送信者や書き込み時)は元のデータに対して一定の長さごとにパリティビットを算出して付加する。受け手(受信者や読み込み時)は受け取ったデータから同じようにパリティビットを算出し、付加されたパリティビットと比較する。

両者のパリティビットが一致すれば、パリティを含めたビット列中には誤りが存在しないか偶数個存在し、一致しなければ奇数個の誤りが生じていることが分かる。一つのパリティビットだけではどの位置に誤りがあるかは分からず、正しい値に訂正することはできない。

バースト誤りのような特殊な状況を除き、通常の用途では短いビット列中に同時に複数の誤りが生じる可能性は低いため、実用上はパリティビットが一致しなければ1ビットの誤りが含まれ、一致すれば誤りが生じていないとみなすことが多い。

bps 【ビット毎秒】

通信回線などのデータ伝送速度の単位で、1秒間に伝送できるデータのビット数のこと。1bpsは毎秒1ビットのデータを伝送できることを表す。

コンピュータなどのデジタル機器では、ありとあらゆる情報を2進数の「0」と「1」の羅列であるデジタルデータとして表現し、2進数の1桁にあたる「0」または「1」で表される情報量を「ビット」(bit)と呼ぶ。デジタル信号を送受信できる伝送路で、1秒間に送ることができるビット数をbpsという単位で表す。

大きな値を表す場合には1000倍ごとに接頭辞を付加し、1000bpsを「1kbps」(キロbps)、100万bpsを「1Mbps」(メガbps)、10億bpsを「1Gbps」(ギガbps)、1兆bpsを「1Tbps」(テラbps)といったように表記する。

1kbpsを1024bps、1Mbpsを1024kbps…のように1024(2の10乗)倍ごとに区切る場合や、「k」と小文字で書いた場合は1000倍、「K」と大文字で書いた場合は1024倍などとする場合もあったが、IEC(国際電気標準会議)は1024倍を表す場合は「Ki」(キビ)、「Mi」(メビ、ミービ)など専用の接頭辞を用いて表記するよう勧告しており、このような混乱や使い分けは収束しつつある。

同じデジタル回線の伝送速度の単位に「Bytes/s」(B/s、バイト毎秒)があるが、1バイトは8ビットなので、1Byte/sは8bpsに相当する。厳密な使い分けの基準があるわけではないが、主にネットワーク回線など機器間を結ぶ比較的距離の長い通信ではbpsが、機器内部の回路間や装置間、コンピュータと周辺機器間など短距離の伝送路ではバイト毎秒がよく用いられる。

ネットワーク 【ネット】 ⭐⭐

「網」という意味の英単語。網そのものを指す用法の他に、複数の要素が互いに接続された網状の構造のことを比喩的にネットワークという。

ネットワーク状の構造を構成する各要素のことを「ノード」(node)、ノード間の繋がりのことを「リンク」(link)あるいは「エッジ」(edge)と言う。

ITの分野では、複数のコンピュータや電子機器などを繋いで信号やデータ、情報をやりとりすることができるコンピュータネットワークあるいは通信ネットワークのことを意味することが多い。

一般の外来語としては、人間関係の広がりのことや、組織や集団、拠点などの間の繋がりや体系、交通機関や道路などの地理的な構造(交通網)などをネットワークと呼ぶ。

コンピュータネットワーク

コンピュータネットワークとは、複数のコンピュータを信号線や無線で接続し、互いにデータの送受信ができるようにした通信網。通常は3台以上の機器が結ばれたものを指す。

規模や通信範囲の違いによって、WAN(Wide Area Network:広域ネットワーク)やLAN(Local Area Network:構内ネットワーク)に分類される。MAN(Metropolitan Area Network)やCAN(Campus Area Network)、PAN(Personal Area Network)など、より詳細な分類が用いられることもある。

また、伝送媒体や通信規格、通信規約(プロトコル)など技術的な仕様の違いに着目して分類することもある。イーサネット(Ethernet)、無線LAN(Wi-Fi)、光ファイバー(FTTH)、移動体データ通信(モバイルデータ通信)などである。

現代では世界中の様々な異なる主体の運営するネットワークを同一の通信規約(IP:Internet Protocol)に基づいて相互接続した「インターネット」(the Internet)が普及しており、これと対比して組織内のネットワークを「ローカルネットワーク」「プライベートネットワーク」「イントラネット」などと呼ぶこともある。

WAN 【Wide Area Network】 ⭐⭐⭐

地理的に離れた地点間を結ぶ広域的な通信ネットワーク。建物内や敷地内を構内ネットワークと対比される用語で、通信事業者が設置・運用する回線網のことを指すことが多い。

また、通信事業者の回線網を通じて複数の拠点間のLANを相互に結び、全体として一つの大きなネットワークとした企業内ネットワークのことをWANと呼ぶこともある。

文脈によっては、世界の通信事業者、企業、各種組織などのネットワークを相互に結んだものという意味合いから、インターネットのことをWANと呼ぶ場合もある。

MAN (Metropolitan Area Network)

広域的な回線網のうち、一つの都市や市街地の内部を繋ぐ高速・高密度な回線網をMAN(マン/Metropolitan Area Network:メトロポリタンエリアネットワーク)と呼ぶことがある。

WANとLANの中間規模のネットワークの類型の一つで、通信拠点や施設間を光ファイバー回線などで結ぶ中長距離の高速な通信ネットワークと、建物内で末端のコンピュータや通信機器を結ぶLANを組み合わせて構築される。前者の拠点間ネットワークのみを指す場合もある。

CAN (Campus Area Network)

企業の大規模拠点や工場、大学、基地などで、広大な敷地内の建物や施設をまたいで敷設される構内ネットワークをCAN(キャン/Campus Area Network:キャンパスエリアネットワーク)と呼ぶことがある。

WANとLANの中間規模のネットワークの類型の一つで、複数の施設内のLANを地中などに敷設した高速な光ファイバー回線などで相互接続し、一体的に運用したものを指す。

概ね、単一の主体が所有・管理する地理的に連続した用地に敷設されたコンピュータネットワークをこのように呼ぶが、MANとの区別は必ずしも明確ではない。一つの街のように広大なアメリカの総合大学や大企業本社などでは構内ネットワークをMANと呼ぶ例も見られる。

プロトコル 【通信規約】 ⭐⭐⭐

手順、手続き、外交儀礼、議定書、協定などの意味を持つ英単語。IT分野では、複数の主体が滞りなく信号やデータ、情報を相互に伝送できるように定められた約束事や手順である「通信プロトコル」を指すことが多い。他分野や一般の外来語としては「規定の手順」などの意味で用いられることもある。

コンピュータ内部で回路や装置の間で信号を送受信する際や、通信回線やネットワークを介してコンピュータや通信機器がデータを送受信する際に、それぞれの分野で定められたプロトコルを用いて通信を行う。英語しか使えない人と日本語しか使えない人では会話ができないように、対応しているプロトコルが異なると通信することができない。

機器やソフトウェアの開発元が独自に仕様を策定し、自社製品のみで使用されるクローズドなプロトコルと、業界団体や標準化機関などが仕様を標準化して公開し、異なる開発主体の製品間で横断的に使用できるオープンなプロトコルがある。インターネットなどで用いられるプロトコルの多くは、IETF(Internet Engineering Task Force)などが公開している標準プロトコルである。

プロトコルの階層化

<$Img:TCP-IP-Layer-Model.png|right|TCP/IP階層モデル[PD]>

人間同士が意思疎通を行う場合に、どの言語を使うか(日本語か英語か)、どんな媒体を使って伝達するか(電話か手紙か)、というように伝達の仕方をいくつかの異なる階層に分けて考えることができるが、コンピュータ通信においても、プロトコルの役割を複数の階層に分けて考える。

階層化することによって、上位のプロトコル(を実装したソフトウェア)は自分のすぐ下のプロトコルの使い方(インターフェース)さえ知っていれば、それより下で何が起きているかを気にせずに通信を行うことができる。電話機の操作法さえ知っていれば、地中の通信ケーブルや通信会社の施設で何が起きているか知らなくても通話できるのに似ている。

各階層のプロトコル群の機能や役割の範囲はモデル化して整理することがある。現在広く普及しているのはインターネット通信などで一般的な「TCP/IP階層モデル」(DARPAモデル)で、物理的な装置や伝送媒体に近い側から順に「リンク層」「インターネット層」「トランスポート層」「アプリケーション層」の4階層に分類している。

クライアントサーバシステム 【CSS】 ⭐⭐

通信ネットワークを利用したコンピュータシステムの形態の一つで、機能や情報を提供する「サーバ」(server)と、利用者が操作する「クライアント」(client)をネットワークで結び、クライアントからの要求にサーバが応答する形で処理を進める方式。

サーバはシステムで利用されるデータを保存・管理したり、接続された周辺機器などのハードウェアを管理したり、何らかのデータ処理機能を有するコンピュータやその上で動作するソフトウェアで、これらの機能や情報などをネットワークを通じて外部に提供することができる。

クライアントはサーバから機能や情報の提供を受ける機器やソフトウェアで、利用者が手元で操作し、画面表示や入力の受付などを担当する。クライアントはネットワークを通じてサーバに様々な要求を送り、サーバがこれに応えて処理を行い、応答を返す。

狭義には、企業などの情報システムの実装形態の一つで、機能や情報を提供するサーバソフトウェアと、これに対応する専用のクライアントソフトウェアにより役割を分担して処理を進める方式のことをクライアントサーバシステムと呼ぶことがある。

この文脈では、クライアントとしてWebブラウザなど汎用の製品を用いる「Webアプリケーション」(Web系システム)などは区別・対比される。広義には(あるいは、原理的には)、Webもクライアント-サーバ型のモデルで実現されるシステムであるため注意が必要である。

他の方式との違い

1980年代頃から普及し始めたシステム形態で、それ以前はメインフレームなどの大型コンピュータ(ホスト)などに通信回線を通じて入出力端末(ターミナル)を接続し、ホストが集中的に処理を行う方式が一般的だった。

クライアントサーバシステムと比べると、ホストとサーバ、ターミナルとクライアントの役割はそれぞれ似ているが、ターミナルにコンピュータとしての機能がなく表示や操作に単純な方式しか利用できない一方、クライアントは独立した一台のコンピュータやデジタル機器であり、サーバから受信したデータを用いて複雑な処理や表示、操作などを利用者に提供することができる。

ちなみに、サーバとクライアントのように非対称に役割を分担するのではなく、対等な機能や立場のコンピュータやソフトウェアがネットワークを通じて相互に要求や応答を送り合って一つの機能を実現する形態もあり、「ピアツーピアシステム」(Peer to Peer system、P2Pシステム)などと呼ばれる。

クライアント ⭐⭐⭐

顧客、依頼人、得意先、施主などの意味を持つ英単語。ITの分野では、他のコンピュータやソフトウェアから機能や情報の提供を受けるコンピュータやソフトウェアのことをクライアントという。

コンピュータシステムの構成のうち、機能や情報を提供する側である「サーバ」(server)と、機能や情報の提供を受けて利用する側である「クライアント」(client)に役割を分けた方式を「クライアントサーバシステム」(client-server model)という。

クライアントはサーバの機能や情報の提供を受け、自らは利用者への情報の提示や入力・操作の受け付けなどを担当することが多い。クライアントがサーバに処理要求(リクエスト)を送り、サーバがこれに応じて処理を行い、結果を返答(レスポンス)する、という形で一連の処理が進められる。

コンピュータ(ハードウェア)のことを明示的に指し示す場合は「クライアントコンピュータ」「クライアントマシン」「クライアント機」などと呼ばれ、ソフトウェアのことを指す場合は「クライアントソフト」「クライアントソフトウェア」「クライアントプログラム」などと呼ばれる。また、「メールクライアント」「DHCPクライアント」のように、システムや通信方式などの種類を冠して「○○クライアント」と称することも多い。

ファットクライアントとシンクライアント

企業の情報システムなどのクライアントコンピュータのうち、パソコンなど単体でも利用される汎用コンピュータを流用したものを「ファットクライアント」(fat client)、独立したコンピュータとしては機能せず、サーバへ接続して利用することに特化した特殊なクライアント専用機を「シンクライアント」(thin client)という。

シンクライアントは企業などで多数のクライアントが必要な場合に、管理コスト低減やセキュリティ向上のために導入される。自らはデータの処理・保存などの能力をほとんどまったく持たず、通信・入出力機能のみの構成としたものは「ゼロクライアント」(zero client)と呼ばれることもある。

ターミナルとの違い

大型コンピュータ(メインフレーム)などの分野では、コンピュータ本体など集中的に処理を行う機械を「ホスト」(host)、利用者が操作する端末装置を「ターミナル」(terminal)と呼ぶことがある。

これらはサーバとクライアントの役割分担に似ているが、ターミナルにはコンピュータとしての機能が(ほとんど)なく本質的には入出力装置のセットに過ぎない一方、クライアントは独立した一台のコンピュータとして、サーバから受信したデータを用いて複雑な処理や表示、操作などを利用者に提供することができる。

サーバ 【サーバー】 ⭐⭐⭐

コンピュータネットワークにおいて、他のコンピュータに対し、自身の持っている機能やサービス、データなどを提供するコンピュータのこと。また、そのような機能を持ったソフトウェア。

コンピュータ(ハードウェア)のことを明示的に指し示す場合は「サーバコンピュータ」「サーバマシン」「サーバ機」などと呼ばれ、ソフトウェアのことを指す場合は「サーバソフト」「サーバソフトウェア」「サーバプログラム」などと呼ばれる。「SV」「srv」「srv」などの略号で示されることもある。

一方、ネットワークを通じてサーバにアクセスし、その機能やサービス、データなどを受信したり利用したりするコンピュータやソフトウェアは「クライアント」(client)と呼ばれる。WebサーバにアクセスするためのWebブラウザなどが該当する。サーバとクライアントを組み合わせて構成するシステム「クライアントサーバシステム」という。

いわゆる大型汎用機(メインフレーム)などの分野では、実際の処理を担うコンピュータ本体や内部で動作するソフトウェアを「ホスト」(host)、ホストへ接続してデータ入力や画面出力を行なう装置やソフトウェアを「ターミナル」(terminal)と呼ぶ。

一般の外来語としては「ウォーターサーバー」のように末尾に長音記号「ー」を付す表記・発音が一般的だが、ITの分野では歴史的に3音以上の末尾にある “-r” 音の長音記号を省略する慣例があり、「サーバ」と表記することが多い。近年では一般的な表記にならって「サーバー」と表記する例も増えている。

サーバの種類

通常、個々のサーバ機やサーバソフトは外部に提供する機能やサービス、対応しているデータ形式やプロトコル(通信規約)が決まっており、「データベースサーバ」「Webサーバ」「ファイルサーバ」のように、提供する機能などの種類を冠して「○○サーバ」と呼ぶ。

サーバコンピュータは多数のクライアントからの処理要求に応えるため、内部の装置に高性能・大容量のものを搭載することが多い。タワー型サーバなどパソコンと同じような形態の機種と、ブレードサーバやラックマウントサーバなどサーバ専用の形態で提供される製品がある。

企業などの情報システムでサーバをクライアントと同じ建物に設置して自社運用する方式を「オンプレミス」(on-premise)という。一方、専門の事業者が運用するデータセンターに設置されたサーバを間借りしてインターネットや専用回線を通じて利用する方式を「クラウド」(cloud)という。

アップロード 【UL】

通信回線やネットワークを通じて、別のコンピュータへ能動的にデータを送信すること。また、送信したデータをストレージ上のファイルなど、まとまった形で保存させること。

一般的には利用者の手元のコンピュータや端末から、ネットワークを通じて別の機器へデータやファイルを送信する操作や動作を指す。一方、別のコンピュータなどから手元の機器へデータを受信する(能動的に取り寄せる)操作や動作は「ダウンロード」(download)と呼ばれる。

クライアントサーバシステムのように各コンピュータの役割が非対称なシステムや、中心と末端、上流と下流などがはっきり分かれているような形態のネットワークシステムでは、端末側(下流側)から中心側(上流側)へのデータの伝送を(中心側・上流側から見ても)アップロードという場合がある。

ダウンロード 【DL】

通信回線やネットワークを通じて、別のコンピュータなどからデータを受信すること。また、受信したデータを記憶装置上のファイルなどまとまった形で保存すること。俗に「DL」「ダウン」「落とす」とも呼ばれる。上位側から下位側へデータを送ることを指す場合もある。

現代の一般的な解釈では、あるコンピュータから見て、他のコンピュータからデータを受け取る(受信する)動作のことを指すことが多い。利用者の視点では、受信したデータをファイルとしてストレージ装置に保存することを指し、明示的にファイルとして保存されないデータの受信はダウンロードと呼ばないのが一般的である。

これに対し、別のコンピュータへデータを送信することを「アップロード」(upload)という。これも、利用者の視点では相手側のコンピュータ(サーバなど)上に明示的にファイルを作成・保存する操作を指し、入力フォームの送信のような単なるデータ送信は含めないことが多い。

また、音声や動画の視聴などの場合、データを視聴者のコンピュータにファイルなどの形で保存してから試聴する方式を「ダウンロード再生」「ダウンロード配信」などと呼ぶ。一方、専用のソフトなどでデータを受信しながら(ストレージには保存せずに)再生し、再生後にデータをすぐに破棄する方式を「ストリーミング」(streaming)という。

インストールとの違い

インストールはソフトウェアをコンピュータに導入し、初期設定などを行って利用可能にする操作や処理を表す。これを行うにはそのソフトウェアのインストール用プログラムやパッケージが必要で、これをネットワークを通じて取り寄せる場合にはダウンロードを行うことになる。

スマートフォンなどでは、アプリストアからソフトウェアを取得して導入する流れが一般的である。このとき、ストアからソフトウェアの導入プログラムを受信する動作がダウンロードで、ダウンロード完了後、プログラムを起動して端末へのアプリの展開、システムへの登録などを行う動作がインストールとなる。

歴史的な用法

古くは、ホストコンピュータと端末のように、中心や上位側と末端や下位側がはっきり分かれた非対称型のコンピュータシステムやネットワークが一般的だったため、上位側から下位側へデータを送ることをダウンロードと呼んでいた。

この場合、上位側にとっては送信だが、上位側から見てもダウンロードと言っていた。この用法は現代でも、組み込みシステムなどの開発で、開発機から電子基板にプログラムを送信する動作をダウンロードと呼ぶなどの形で一部残っている。

ストリーミング

通信ネットワークを介して動画や音声などを受信して再生する際に、データを受信しながら同時に再生を行う方式。データが完結していなくても配信・視聴を始めることができ、ライブ配信などで用いられる。

従来はデータ全体の受信(ダウンロード)を完了してから再生する方式が一般的だったが、ストリーミングではデータをある程度受信した時点で再生を開始し、受信処理と再生処理を並行して進めることにより、利用者は短い待ち時間で視聴を開始することができる。

ストリーミングにより、ダウンロード型では実現が難しい、始まりや終わりの決まっていない放送局型の配信サービスを実現することができる。テレビ放送やラジオ放送の生放送・生中継のように、撮影や録音を行いながら同時に配信・視聴できる配信方式のことは「ライブストリーミング」(live streaming)という。

技術的には、専用のデータ形式や通信方式(プロトコル)を用い、受信したデータが視聴者側でファイルとして残らない方式をストリーミングと呼ぶことが多く、動画ファイルなどをダウンロードしながら同時に再生する方式(利用者の使用感はほとんどストリーミングと変わらない)は「プログレッシブダウンロード」(progressive download)という。

ライブストリーミング (live streaming)

通信ネットワークを通じて映像・音声を配信する手法の一つで、撮影・録音しながら同時にデータを圧縮・変換して視聴者へ配信する方式。いわばネットワークを通じた「生放送」。

視聴者側が末尾まで受信の完了を待たずに受信しながら同時に再生することをストリーミング(再生)というが、ライブストリーミングではこれに加え、配信側も撮影・録音とデータ送信を並行して行い、収録したものをわずかなタイムラグでリアルタイムに配信する。テレビやラジオの生放送・生中継に相当する配信方式である。

インターネット上で大規模にライブストリーミングできる動画サービスも普及しており、開催中のイベントやスポーツの試合の様子をリアルタイムに伝えたり、視聴者とリアルタイムにやり取りしながら進行する生放送番組などが人気を博している。

ストリーミングサーバ (streaming server)

映像や音声のストリーミング配信を行うコンピュータをストリーミングサーバという。そのような機能を提供するソフトウェアのことを指すこともある。多数のクライアントからの接続を受け付け、同時にストリーミング方式のマルチメディアデータを配信する。

ストリーミング方式のデータは通常のWebサーバから配信することも可能だが、サーバや回線への負担が大きいため、ストリーミングサーバを利用するのが一般的である。また、録画した映像をリアルタイムに配信(ライブストリーミング)するような作業は、専用のストリーミングサーバでなければ行えない。

以前は専用のソフトウェアと高性能なハードウェアが必要とされていたが、パソコンの高性能化や光ファイバーなどの高速回線の普及によって、小規模なストリーミングサーバは個人でも構築できるようになった。

プログレッシブダウンロード (progressive download)

動画や音声などのファイルをダウンロードしながら、全体の受信完了を待たずに同時に再生(を開始)すること。

データを受信しながら同時に再生するストリーミング視聴に似ているが、技術的にはストリーミングとは異なり、あくまでファイルのダウンロードであるため、事前に再生時間を決めずに連続的に視聴することはできず、サーバ側に任意の位置からの再生(送信)開始を指示することもできない。

また、通信エラーなどでデータの一部が損なわれた際、ストリーミングではそのデータを飛ばして次のデータを送信し、再生時間が遅延しないよう制御するが、プログレッシブダウンロードではデータを再送して完全なデータが揃えようとするため、再生が一時停止することがある。

ストリーミングで視聴したデータは再生後すぐに破棄されるのが一般的だが、プログレッシブダウンロードの場合はキャッシュファイルの形で記憶装置に永続的に保管され、次に同じものを再生する際にそこから再生することができる。

LAN 【Local Area Network】 ⭐⭐⭐

限られた範囲内にあるコンピュータや通信機器、情報機器などをケーブルや無線電波などで接続し、相互にデータ通信できるようにしたネットワークのこと。概ね室内あるいは建物内程度の広さで構築されるものを指す。

銅線や光ファイバーなどを用いた通信ケーブルで機器間を接続するものを「有線LAN」(wired LAN)、電波などを用いた無線通信で接続するものを「無線LAN」(wireless LAN)という。

有線LANの通信方式としては「イーサネット」(Ethernet/IEEE 802.3)系諸規格が、無線LANの通信方式としては「Wi-Fi」(ワイファイ/IEEE 802.11)系諸規格がそれぞれ標準として普及しており、単にLANといった場合はこれらの方式を用いたネットワークを指すことが多い。他にも建物内に電気を供給するために張り巡らされた電力線を流用して通信する方式などがある。

主な用途

1980年代頃から企業や公的機関、大学、研究機関などで普及し始め、施設内にあるコンピュータを相互に接続し、高機能・高性能なサーバコンピュータでファイルなどの情報資源を一元的に管理したり、プリンタなどの機器を複数のコンピュータで共有するのに用いられてきた。

インターネットの一般への普及が始まると、構内の機器を外部への回線に接続する中継手段としても広く用いられるようになった。近年では一般家庭でもパソコンやスマートフォン、デジタル家電などを相互に接続したり、インターネットに接続するための通信ネットワークとして「家庭内LAN」が普及している。

他の分類

これに対し、通信事業者の回線網などを通じて地理的に離れた機器や施設間を広域的に結ぶネットワークを「WAN」(Wide Area Network:広域通信網、ワイドエリアネットワーク)と呼び、LANの対義語として用いられる。

LANとWANの中間規模のネットワークとして、一都市内などに収まる範囲の「MAN」(Metropolitan Area Network:メトロポリタンエリアネットワーク)や、大学のキャンパスや工場などで敷地内の複数の建物のLANを一つのネットワークに結んだ「CAN」(Campus Area Network:キャンパスエリアネットワーク)などの概念を用いることもある。

また、LANに似た概念として、個人の所有・利用するコンピュータや携帯機器、周辺機器などを無線通信などで相互に結ぶネットワークを「PAN」(Personal Area Network:パーソナルエリアネットワーク)、自動車などの(大型の)機器の内部で装置間を結ぶネットワークを「CAN」(Controller Area Network:コントローラエリアネットワーク)、これらをLANの一種に分類することもある。

ハブ ⭐⭐⭐

車輪やプロペラなどの中心にある部品や構造のこと。転じて、中心地、結節点、集線装置などの意味で用いられる。IT分野では構内ネットワークなどで用いられる集線装置を指すことが多い。

電気通信や光通信では、機器間をケーブルで結んで通信する際に、複数のケーブルを接続して相互に通信できるようにする集線装置、中継装置のことをハブという。用途や通信方式の違いにより「イーサネットハブ」「USBハブ」など様々な種類がある。

ネットワークハブ

有線LAN(構内ネットワーク)の標準であるイーサネット(Ethernet)では、各機器からケーブルをハブに接続し、ハブが信号の中継・転送を行うことによって機器間の通信を行う。このような接続形態を「スター型ネットワーク」という。

ハブには銅線ケーブル(UTPケーブル)を差し込むためのRJ45ポートや光ファイバーケーブルを差し込むための光ポートが並んでおり、各機器から通じるケーブルを接続する。あるケーブルから流れてきた信号を他のケーブルに流すことで相互に通信できるようにする。

単純に受信したすべての信号を増幅してすべてのケーブルに再送出するハブを「リピータハブ」(repeater hub)、信号からイーサネットフレームを復元し、宛先のMACアドレスを解析して関係するケーブルにだけ選択的に転送するハブを「スイッチングハブ」(switching hub)という。

現在ではスイッチングハブが一般的になったため、ハブと呼ばずに「ネットワークスイッチ」(network switch)「イーサネットスイッチ」(Ethernet switch)「LANスイッチ」(LAN switch)「L2スイッチ」(Layer 2 switch)あるいは単にスイッチと呼ぶことが多い。

USBハブ

コンピュータと周辺機器や携帯機器の接続に用いられるUSBでは、複数の機器からの接続を受け入れてコンピュータ側に一つのUSBケーブルで接続する集線装置を「USBハブ」という。コンピュータ側は一つのUSBポートで複数の機器を接続することができる。

コンピュータ側のUSBポートに接続するためのUSBケーブルと、数個のUSBポートを備えた小型の機器で、ポートの数だけUSB機器を接続し、コンピュータへ信号を中継する。液晶ディスプレイなどにUSBハブの機能が埋め込まれて提供される場合もある。

データハブ

情報システムやソフトウェアの分野では、システム間でやり取りするデータを集積・中継する専門のシステムを「データハブ」あるいは単にハブと呼ぶことがある。SOA(サービス指向アーキテクチャ)などで用いられるミドルウェアで、データの出し手からデータを受け取って保管し、そのデータを必要とする受け手へ引き渡す役割を果たす。

スイッチ 【SW】

切替器、開閉器、切り替わる、切り替え(る)、交代(する)、転換(する)、差し替え(る)などの意味を持つ英単語。

二つの物や状態の間で一方から他方に切り替えることや、そのための用具などのことをスイッチという。特に、機械部品の一種で、通電状態のオン・オフを切り替えたり、電気の流れる経路を切り替えたりする装置を指すことが多い。

通信・ネットワークの分野で、中継・集線装置のうち、データの宛先を見て関連する先にのみ転送を行う機能を持ったものをスイッチという。複数のストレージ装置とコンピュータを結ぶFCスイッチのようにコンピュータと周辺機器の接続に用いるものと、コンピュータ同士の接続に用いるものがある。

単にスイッチといった場合は、コンピュータ同士を結ぶLAN(構内ネットワーク)などのコンピュータネットワークで機器間の中継に用いる「ネットワークスイッチ」(network switch)を指すことが多い。通常はイーサネット(Ethernet)LANの中継機器を指し、「LANスイッチ」「L2スイッチ」「スイッチングハブ」などとも呼ばれる。

無線LAN 【wireless Local Area Network】 ⭐⭐⭐

電波による無線通信により複数の機器間でデータの送受信を行なう構内ネットワークのこと。狭義にはIEEE 802.11規格に準拠した方式を指し、「Wi-Fi」(ワイファイ)の愛称で親しまれる。

LAN(Local Area Network)は室内や建物内、あるいはそれに準じる屋外の比較的狭い範囲内の機器を相互に接続するコンピュータネットワークで、機器間を通信ケーブルで繋いで電気信号や光信号を伝送するものを「有線LAN」(wired LAN)、直接繋がっていない機器間で電波などをやり取りするものを無線LANという。

通信ケーブルの取り回しがないことが最大のメリットで、同世代の技術や製品で比較すると有線LANに比べ通信速度や安定性、機密性などで劣ることが多いが、オフィスや家庭での日常的なネットワーク利用には十分な性能があるため、急速に普及が進んでいる。

単に無線LANと言えばほとんどの場合にIEEE 802.11シリーズの標準規格に準拠した機器で構成されるネットワークを指し、業界団体の推進する「Wi-Fi」の名称で普及している。広義にはBluetoothやZigBeeなど他方式によるネットワークを含むが、これらはWi-Fiよりも狭い範囲の通信が主な用途であるため無線PAN(Wireless Personal Area Network)と呼ばれることもある。

一方、同じ無線通信網でも通信事業者などが運用する広域的なネットワークは無線WAN(Wide Area Network)という。携帯電話網やそれを応用した移動体データ通信網などが該当する。スマートフォンは無線LANと無線WANの両方に対応しているのが一般的で、環境に応じて切り替えたり、両ネットワーク間を中継(テザリング/モバイルルータ)することができる。

Wi-Fi ⭐⭐

電波を用いた無線通信により近くにある機器間を相互に接続し、構内ネットワーク(LAN)を構築する技術。本来は無線LAN規格のIEEE 802.11シリーズの認証プログラムの名称だが、「無線LAN」の同義語のように扱われることが多い。

LAN(Local Area Network)は室内や建物内、あるいは屋外でそれに準じる数十メートル程度までの比較的狭い範囲内の機器を相互に接続するコンピュータネットワークで、屋内のコンピュータとインターネットの接続、オフィス内のコンピュータ間の接続、家庭内のデジタル機器間の接続などで広く普及している。

従来は集線装置を介して各機器を通信ケーブルで接続するイーサネット(Ethernet)などの有線LANが主流だったが、同じ機能を無線通信で実現する無縁LANが登場し、ケーブルを取り回す必要のない手軽さから広く受け入れられた。また、スマートフォンやタブレット端末など携帯型の情報機器のネットワーク接続手段の一つとしても標準的に用いられている。

無線LANの標準規格としてIEEE 802.11および後継の諸規格が発行されているが、機器の相互運用性を確保・保証するため、業界団体の「Wi-Fi Allianceワイファイアライアンス」が接続試験を行い、認定された機器に「Wi-Fi」ブランドの利用を許可している。「Wi-Fi CERTIFIED」マークのある機器はメーカーが異なっても相互に通信することができる。

接続形態

<$Img:Wi-Fi-Access-Point.png|right|>

Wi-Fiの通信は「アクセスポイント」(AP:Access Point)と呼ばれる据え置き型の中継装置を中心に各機器が接続され、機器間の通信はAPを介して行う接続形態が一般的となっている。これを「インフラストラクチャーモード」という。

無線はケーブル接続と異なり送受信対象を物理的に指定したり制限することが難しいため、周囲の機器は各APに設定されたSSIDと呼ばれる固有の識別名を用いてAPを識別する。利用者は近隣にあるAPのSSIDの一覧の中から適切なものを選択して(あるいはSSIDを直接入力・指定して)接続を申請する。

また、APが無くても少数の機器(通常は二台)間であれば相対で通信することができる「アドホックモード」および、改良版の「Wi-Fi Direct」も用意されており、携帯機器と周辺機器の接続などで用いられることがある。

屋内設置用のAPはWi-Fi通信機能の他にイーサネットケーブルの差込口(ポート)を持っているものもあり、インターネットなどに有線で接続することができる。APにルータ機能を統合した「Wi-Fiルータ」もあり、家庭用やモバイル回線中継用(モバイルルータ)としてよく用いられる。

伝送規格

<$Fig:wi-fi|right|true>

無線によるデータ伝送の方式を規定した伝送規格には、標準化団体IEEEの802.11委員会が策定した規格が用いられている。これまで数年おきにより高速な新しい規格が発表されてきた。

1997年に発表された最初のIEEE 802.11標準は、2.4GHz(ギガヘルツ)帯の電波で2Mbps(メガビット毎秒)をデータ通信が可能だったが、本格的な普及が始まったのは1999年に発表されたIEEE 802.11a(5GHz/54Mbps)およびIEEE 802.11b(2.4GHz/11Mbps)からである。

2003年にはIEEE 802.11g(2.4GHz/54Mbps)、2009年にはIEEE 802.11n(2.4および5GHz/600Mbps)、2014年にはIEEE 802.11ac(5GHz/6.93Gbps)、2019年にはIEEE 802.11ax(2.4および5GHz/9.6Gbps)が策定され、近年は急激に通信速度が向上している。

実際の機器はこれらのうち前後数世代に対応しているものが主流で、製品パッケージの「Wi-Fi CERTIFIED」ロゴに「a/b」「b/g」「a/b/g/n」のように対応規格が記載されている。「ac」規格からは番号が導入され、「ac」が「Wi-Fi 5」、一世代前の「n」が「Wi-Fi 4」、一世代後の「ax」が「Wi-Fi 6」などとなっている。

セキュリティ

<$Img:Wi-Fi-Security.png|right|>

機器や回線に物理的に接触する必要がある有線通信と異なり、無線では電波が壁を透過するなどして利用場所の外にまで広がり、それを誰が受信しているか直接知る手段は無いため、一般的な使用法でも傍受や不正接続への備えが不可欠となる。

Wi-Fiでは利用者の認証や通信の暗号化についての技術仕様として「WPA」(Wi-Fi Protected Access)および後継の「WPA2」「WPA3」を定めており、多くの機器が標準で対応している。家庭など小規模環境向けの「WPA-Personal」と、企業や学校など大規模環境向けの「WPA-Enterprise」がある。

接続時の認証方式としては、事前にAPと機器の間で同じパスフレーズ(長いパスワード)を設定して照合する「WPA-PSK」(Pre-Shared Key)方式がよく用いられるが、WPA-EnterpriseではIEEE 802.1X標準に基づくRADIUS認証サーバを利用する方式なども選択できる。通信の暗号化には共通鍵暗号の有力な標準規格である「AES」(Advanced Encryption Standard)を採用し、一定の通信量ごとに暗号鍵を切り替えるなどして盗聴を防止する。

「無線LAN」と「Wi-Fi」

一般に利用されている無線LANのほとんどはWi-Fiだが、本来「無線LAN」とは無線通信を用いて構築されたLANの総称であり、Wi-Fi以外にもBluetoothやZigBeeなど他方式により構築されたネットワークも形式的には含まれると考えることもできる。

また、本来「Wi-Fi」は無線LAN機器がIEEE 802.11シリーズ規格に準拠していることを示すブランド名で、Wi-Fi Allianceの登録商標だが、一般には「無線LAN」「IEEE 802.11シリーズ規格」「Wi-Fi」はほとんど同義語のように捉えられている。

なお、IEEE 802.11シリーズの仕様を採用していてもWi-Fi Allianceによる認定を受けていない機器もあり、規格の完全な準拠や他メーカー製品との相互接続などは保証されない。著名な例では任天堂の携帯ゲーム機「ニンテンドーDS」などが知られる。

アクセスポイント 【AP】 ⭐⭐

通信ネットワークの末端でコンピュータなどからの接続要求を受け付け、ネットワークへの通信を仲介する施設や機器のこと。現代では無線LANの中継機器を指すことが多い。

無線LANアクセスポイント

無線LAN(Wi-Fi)を構成する機器の一種で、ネットワーク内の機器間の通信を中継したり、有線ネットワークや有線通信の機器へ接続するための装置を無線LANアクセスポイント(無線アクセスポイント/Wi-Fiアクセスポイント)という。現代では単にアクセスポイントといった場合はこれを指すことが多い。

Wi-Fiの通常の通信モードでは、ネットワーク内の各機器はアクセスポイントと一対一で通信し、他の機器への通信はアクセスポイントが中継・転送する形で行われる。また、アクセスポイントにはイーサネット(Ethernet)や光ファイバーなどの通信ケーブルの接続口があり、これを通じて他のネットワークやインターネットなどに通信を中継することができる。

通信サービスのアクセスポイント

通信サービス事業者などが運用する施設や設備で、契約者が公衆回線などを通じて事業者のネットワークへ接続するための中継拠点のことをアクセスポイントという。00年代前半頃まではアクセスポイントといえばこれを指していた。

特に、インターネットサービスプロバイダ(ISP)やパソコン通信ネットワークに電話回線やISDN回線を通じてダイヤルアップ接続を行なう際、ダイヤル先の通信拠点のことをこのように呼んだ。

アクセスポイントにはパソコン通信のホストコンピュータやインターネットと常時接続された回線が用意されており、利用者からの接続を受け付けて通信サービスを提供する窓口となっていた。常時接続が一般的になった今日では利用者が機器に最寄りのアクセスポイントの設定などをする必要がなくなり、意識されることもなくなった。

無線LANルータ 【wireless LAN router】

無線LAN(Wi-Fi)アクセスポイントの機能を内蔵したルータ。固定的に設置するブロードバンドルータ型の製品や、持ち運んで使用するホテルルータやモバイルルータなどの製品がある。

Wi-Fiアクセスポイントは端末からのWi-Fi接続を受け付けて端末間で相互に通信できるようにしたり有線ネットワークに取り次ぐ無線機器である。ルータはインターネットと家庭内LANなど異なるネットワークを接続する機器で、無線LANルータは両方の機能を兼ね備えている。

ブルードバンドルータ型の製品は家庭などからインターネットへ接続できるよう、通信事業者の広域回線に繋がるONU(光回線終端装置)などと接続するための「WAN側ポート」と、構内側の機器を接続するための「LAN側ポート」を備える。アクセスポイントも構内側の機器を接続するための機能である。

WAN側の回線を通じてインターネットサービスプロバイダ(ISP)側の機器と通信し、インターネット側のグローバルIPアドレスを取得することができ、構内側の機器に対してはDHCPなどでプライベートIPアドレスを発行することができる。ルータとしてWAN側とLAN側の中継を行い、NATやNAPTなどの機能で構内側の複数の機器が同時にインターネットに接続できるようにする。

別の有線LANに接続して周囲の機器をWi-Fiを通じてそのLANに取り次ぐ小型の製品は「ホテルルータ」あるいは「トラベルルータ」とも呼ばれる。また、WAN側が有線ではなく移動体通信網に接続するモバイル通信機能であるような製品は「モバイルルータ」と呼ばれる。

SSID 【Service Set Identifier】

無線LAN(Wi-Fi)におけるアクセスポイント(AP)の識別名。端末が接続先のネットワークを識別および指定するために付けられる名前で、最大32文字までの英数字を任意に設定できる。

機器同士の繋がりをケーブルの配線で指定する有線通信と異なり、無線電波は空間内で均等に広がるため、無関係な他人の端末とも交信可能となる。各機器は互いに同じグループであることを識別する手段が必要で、Wi-FiではAPと各端末が共通のSSIDを設定することで、SSIDが一致する端末としか通信できないようにする。

初期の仕様ではAPごとに固有かつ固定の識別子(BSSID)が用いられ、APのMACアドレスをそのまま識別名としていた。同一のネットワークに複数のAPを設置する場合を考慮して、ネットワーク識別名に拡張した「ESSID」(Extended SSID:拡張SSID)が用いられるようになった。現在ではSSIDと言えば通常はESSIDを指す。

通常、APは定期的に自身のSSIDを周囲に発信している。端末のWi-Fi機能をオンにすると、通信可能な範囲にあるAPのSSIDが一覧表示され、その中から接続したい相手を一つ選ぶ。パスフレーズの入力などで認証が行われ、パスすれば通信可能になる。誰でも接続可能なオープンなAPであればそのまま通信可能になる。

端末側ではどのAPにも接続できる「ANY」という特殊なSSIDを設定することもでき、とにかく最寄りのAPに接続申請したい状況などで利用される。製品によってはセキュリティに配慮して「ANY」設定の端末からの接続を拒否する機能(ANY接続拒否)を持ったものもある。

SSIDによるネットワークの識別は、見方によってはアクセス制限機能であるため、無線LANのセキュリティ機構の一つとみなされた時期もあるが、これはネットワークの利用者全員が同じログインID/パスワードを共有するようなもので、セキュリティ対策としては脆弱すぎる。不正アクセスや情報漏洩の対策には、認証や暗号化などの実質的なセキュリティ技術を用いるべきである。

WEP 【Wired Equivalent Privacy】

無線LAN(Wi-Fi)の通信を暗号化する方式の一つ。1999年に策定された規格で、Wi-Fi暗号化の最初の標準として広まったが、現在では十分な安全性が確保できなくなっている。

無線通信は有線に比べ信号の傍受自体は極めて容易であるため、データを送信時に暗号化し、正規の受信者しか復号できないようにすることで電波を傍受しても内容が盗み見られないようにする必要がある。

WEPは最初の無線LAN標準であるIEEE 802.11の一部として規定されており、ストリーム暗号の一つであるRC4アルゴリズムを用いてデータを保護する。暗号鍵の長さは40ビット(運用上24ビットのランダムなデータを加えて64ビットとして用いる)または104ビット(ランダムな24ビットを加えて128ビット)が利用できる。

WEPを利用するにはアクセスポイントと端末に共通の暗号鍵(WEPキー)を設定する必要がある。40ビットWEPの場合は10桁の16進数(0~9,A~F)か5桁の半角英数字を、104ビットWEPの場合は26桁の16進数か13桁の英数字を入力する。

Wi-Fi標準の暗号化システムとして採用され、初期のアクセスポイントや端末で広く利用されたが、2000年代に入ると様々な脆弱性が発見・報告されており、現在では使用を中止すべきとされている。安全性を高めた後継規格としてWPA、WPA2、WPA3などが策定されている。

WPA2 【Wi-Fi Protected Access 2】

無線LAN(Wi-Fi)上で通信を暗号化して保護するための技術規格の一つで、WPAの後継。また、通信機器などが同規格に準拠していることを認定する認証制度。業界団体のWi-Fi Allianceが運用している。

旧版のWPAは無線LANのセキュリティについて定めた国際標準である「IEEE 802.11i」のドラフト(標準案)を元に策定されたが、WPA2は同規格の完成版を元にしている。WPA2対応製品同士はメーカーや機種の違いによらず共通の方法で暗号化機能を利用できる。

暗号化の方式として新たに「AES」(Advanced Encryption Standard)暗号を用いた「CCMP」(Counter mode with CBC-MAC Protocol)を採用している。この通信モードは「WPA2-AES」と呼ばれ、最長256ビット(AES256)までの強力な暗号鍵を利用できる。

WPA同様、事前共有鍵(PSK:Pre-Shared Key)を用いる個人・家庭・小規模事業所向けの「WPA2 Personal」(パーソナルモード/WPA2-PSK)と、IEEE 802.1X標準に基づくRADIUS認証サーバにより利用者や端末の認証を行う、大規模事業所向けの「WPA2 Enterprise」(エンタープライズモード)の二つを選択できる。

歴史

2004年9月にWi-Fi Allianceが発表した規格で、2002年に発表された初代のWPA規格とほとんどの仕様は共通となっている。TKIPなどWPAの仕様をそのまま用いる互換モードも用意されているため、WPA2対応機器は古いWPA対応の機器とも通信することができる。

2006年からはWPA2に対応しなければ無線LAN機器の「Wi-Fi CERTIFIED」認証を得られないようになっており、以降のすべての認定機器が対応している。2017年には「KRACK」と呼ばれる攻撃手法が発見され、各社は脆弱性を修正するファームウェアの更新などで対応している。2018年には後継の「WPA3」規格が発表され、新しい機種で移行が進みつつある。

インターネット 【Internet】 ⭐⭐⭐

共通の通信仕様を用いて全世界の膨大な数のコンピュータや通信機器を相互に繋いだ、巨大なコンピュータネットワーク。

通信規約(プロトコル)の「IP」(Internet Protocol)と関連技術を用いて、様々な組織の運用するネットワークや機器を互いに接続した地球規模のネットワークシステムである。個人や企業、公的機関など様々な主体が利用する、国の枠を超えた人類共通の通信インフラ・情報インフラとして広く普及している。

機能

インターネット上では様々な機能、サービス、システムが構築、提供されている。膨大な文書を相互に関連付けたWeb(ウェブ)や、手紙のように利用者間でメッセージを送受信できる電子メール(e-mail)、利用者間の交流を促進するSNS、テレビのように映像を流す動画配信サービスなどはその一例である。

今日ではインターネットにおける情報やサービスの多くはWebを通じて提供されるため、日常的にはWebのことを指してインターネットあるいはネットと呼ぶことも多いが、厳密にはWebはインターネット上の機能・サービスの一つに過ぎない。モバイルアプリのようにソフトウェアやサービスの運用基盤としてインターネットが用いられることも多く、人々は意識せずに様々な場面でインターネットの恩恵を受けている。

構成・運用

インターネット全体を管理・運営する単一の主体というものはなく、様々な組織の運営するネットワークが相互に接続された分散型のネットワークとなっている。ただし、IPアドレスやドメイン名、ポート番号、通信プロトコルの仕様など、インターネット全体で共有される識別情報や技術規格などについては、管理・統括する国際的な民間非営利団体(ICANN、IETF、W3Cなど)が存在する。

組織内の構内ネットワーク(LAN)などをインターネットに接続するには、すでにインターネットに参加しているネットワークへ接続する必要がある。通信事業者の光ファイバー回線などを敷設・契約して、通信事業者自身や他の主体(企業や官公庁、大学など)が運営する既存のネットワークへ接続する。

個人や家庭などでインターネットを利用するには、接続を仲介する専門の事業者「インターネットサービスプロバイダ」(ISP:Internet Service Provider)と契約し、通信会社の回線を経由して接続することが多い。モバイル回線では移動体通信事業者(携帯キャリア)がISPの機能も兼ねており、回線が開通すればすぐに端末からインターネットに接続できる。

歴史

インターネットの起源は1969年に米国防総省が中心となってアメリカの大学や研究所などを通信回線で相互に結んだ「ARPANET」とされ、学術機関を結ぶ情報ネットワークとして発展した。1986年に大学間の相互接続ネットワークは全米科学財団が主催する「NSFNet」に移り、初期のインターネットのバックボーンネットワークとなった。

1989年に米国でNSFNetと民間事業者ネットワークの相互接続が始まり、商用インターネット利用が開始された。日本では1984年の「JUNET」が起源となって大学や研究機関からNSFNetに接続できるようになり、1992年に当時のAT&T JensとIIJが一般向けISP事業を開始した。

当初は電話回線でISPの通信拠点(アクセスポイント)に接続し、データを電話の音声信号に変換して送受信する「ダイヤルアップ接続」が用いられたが、1999年には電話回線に音声と異なる周波数でデジタル信号を流す「ADSL」方式で常時接続サービスが開始され、2000年代以降は光ファイバー回線に置き換わっていった。

日本で広く一般にインターネットが認知され普及し始めたのはWindows 95が発売された1995年頃で、WindowsパソコンやMacintosh(現在のMac)でWeb(当時はWWW:World Wide Webと呼ばれた)を閲覧したり電子メールを送受信するという使い方が主流だった。

同時期に携帯電話の爆発的な普及が始まり、1990年代末には携帯電話端末からのインターネット電子メールの送受信、NTTドコモの「iモード」などネット技術を利用した情報サービスなどが普及した。2007年に「iPhone」「Android」が登場するとスマートフォンやタブレット端末が普及し、個人のネット利用の主流はパソコンからこれらの携帯端末に移っていった。

ISP 【Internet Services Provider】 ⭐⭐⭐

公衆通信回線などを経由して契約者にインターネットへの接続を提供する事業者。インターネットを利用するには物理的な通信回線とは別に契約を結ぶ必要があるが、一部の通信サービスでは回線事業者が兼ねている場合もある。

大容量の通信回線でインターネットに接続された拠点施設を運用しており、サービス地域内の個人・法人と契約を結んでインターネットへの接続を請け負う。顧客との間の通信には通信会社が敷設・運用する光ファイバー回線や無線基地局などを利用する。

通信会社系や電機メーカー系などの全国をカバーする大手事業者と、特定の地域でのみ営業している地域系ISP(専業の小規模事業者やケーブルテレビ局、電力系通信会社など)がある。サービス提供は有償の場合がほとんどであり、月額固定料金制を採用している事業者が多い。

回線事業者との役割分担

ISP専業の事業者の場合、加入者宅への接続回線(アクセス回線)にはNTT東日本・西日本の「フレッツ」光ファイバー回線など、通信会社の通信サービスを利用する。契約者は通信会社との回線契約とISPとのインターネット接続契約をそれぞれ別に結ぶ必要がある。

これに対し、携帯電話事業者(移動体通信事業者)やケーブルテレビ事業者のように、回線事業者とISPを兼ね、音声通話(電話)や映像配信などと組み合わせた総合的な通信サービスの一環としてインターネット接続を提供している事業者もある。

付加サービス

多くのISP事業者は接続サービス以外にも会員向けに様々な付加サービスを提供している。例えば、専用の電子メールアドレス、Webサイトを開設できるサーバ上の専用スペース、コンピュータウイルスや迷惑メールの防除、映像や音楽などの配信サービス、オンライン決済サービス、ドメイン名の登録受付、法人向けの拠点間接続(VPN)、パソコンの接続設定などの出張代行サービス、独自のポータルサイトなどである。

こうした付加サービスには、電子メールのように接続サービスとセットで契約者全員に提供されるものと、申込制で追加料金を徴収するものがある。ポータルサイトなどはインターネットを通じて会員以外にも開放している事業者が多い。

FTTH 【Fiber To The Home】

光ファイバーによる家庭向けのデータ通信サービスのこと。もとは、一般家庭に光ファイバーを引き、電話、インターネット、テレビなどのサービスを統合して提供する構想の名称だったが、転じて、そのための通信サービスの総称として用いられるようになった。

従来、公衆交換回線網(PSTN)では銅線を用いたアナログ電話回線で主に音声通話サービスが提供されてきたが、これを通信局から加入者宅までの全区間(ラストワンマイル)で光ファイバー回線に置き換え、高速なデータ通信サービスをFTTHという。

高速な常時接続のデータ通信サービス(ブロードバンド)としては、電話回線で高周波の電気信号を送受信するxDSL方式(ADSLなど)や、ケーブルテレビ(CATV)回線を利用したもの、携帯電話回線を利用した無線データ通信サービスなども提供されているが、光ファイバーを用いるFTTHは最も高速で品質が安定している。

日本では2001年にNTT東日本・NTT西日本がFTTHサービス「Bフレッツ」、現在の「フレッツ光」を開始し、本格的に光ファイバー網への置き換えが始まった。通信速度も当初の10Mbpsから100Mbps、1Gbpsへ増強され、10Gbpsのサービス品目も登場している。NTTグループでは従来のメタル回線をすべて光ファイバー回線で置き換える計画を進めており、2025年初頭に切り替えが完了する予定となっている。

ONU 【Optical Network Unit】

光ファイバーを用いた加入者回線網(公衆回線網)において、加入者宅に設置される光回線の終端装置。光ファイバー回線と宅内ネットワークの橋渡しを行う。

光信号と電気信号の相互変換などを行なう装置で、箱型の筐体に光ファイバーケーブルが引き込まれ、コンピュータや宅内ネットワーク(LAN)に接続するための通信機能(LANポートや無線LAN機能など)を備えている。

単体のONUは信号の変換のみを行うため、インターネットへの接続や内部ネットワークとのデータ伝送の中継などを行うにはルータ(家庭では通常はブロードバンドルータ)が別途必要となる。また、宅内の複数台の機器を同時に接続したい場合はスイッチングハブ(有線LANの場合)や無線LANアクセスポイントなどの機器も必要となる。

近年ではブロードルータやスイッチングハブ、Wi-Fiアクセスポイントなどの機能を内蔵した機種(事業者によっては「ホームゲートウェイ」などと呼んでいる)も一般的になっており、その場合は別途これらの機器を追加しなくても一台でインターネット接続から構内ネットワークの構築まで賄うことができる。

国内の個人宅でFTTHサービスを利用する場合はNTT東日本・NTT西日本のフレッツ光をアクセス回線に用いることが多いが、両社とも、ONU単体の場合は通信料金のみでレンタル(ルータは契約者が自分で用意する)でき、ホームゲートウェイ型の機器は月額数百円でレンタルすることができる。

ちなみに、通信事業者の施設側では光終端装置として「OLT」(Optical Line Terminal)などの機器が使われる。一般的なFTTHサービスでは、OLTは複数の加入者へ伝送する光信号を一つに合成して送信し、各加入者宅のONUは受信した光信号から自分宛てのものだけを分離して電気信号に変換するという処理を行っている。

ブロックチェーン

一定の形式や内容のデータの塊を改竄困難な形で時系列に連結していく技術。内容が随時追加されていくデータ群を複数の独立した対等な主体の間で安全に共有することができる。仮想通貨(暗号通貨/暗号資産)の開発を通じて誕生し、他の用途へも応用されている。

ブロックチェーンを用いて記録されたデータはインターネットなどを通じて参加者間で複製、共有されるが、途中の一部を改竄しても全体を整合性のある状態にすることは困難な性質があり、特定の管理者や管理システムが存在しなくても真正なデータを共有することができる。

この性質を応用し、ネットワークに参加する二者間の取引を記録した台帳データを参加者間で共有しつつ、取引の発生に応じて追記していく分散型台帳を実現することができる。この台帳によって値の移動を追跡、検証可能な方法で記録したものを一種の通貨として利用する試みを暗号通貨という。

ハッシュ値とPoW(Proof of Work)

各ブロックには記録されるデータと共に、一つ前のブロックのデータから算出したハッシュ値が添付される。ハッシュ値はデータの長さによらず固定長の短いデータで、元になるデータが少しでも変化すると規則性なくまったく異なる値になるという性質がある。

これにより、チェーンの途中にあるブロックの内容を改変すると、次のブロックに記録されたハッシュ値と一致しなくなる。これを整合するように改変しても、今度はその次のブロックのハッシュ値と一致しなくなるため、後続のすべてのブロックを連結し直さなければならない。

単にハッシュ計算をやり直して連結し直すだけならばデータ量によってはすぐにできる場合もあるが、多くのブロックチェーン技術ではハッシュ値が特定の条件を満たすようブロックに短いデータ(nonce:ナンスという)を追加する。適切なナンス値を発見するには多数の候補値を用意して条件を満たすまで何度も繰り返しハッシュ値を算出し直す膨大な総当り計算が必要となる。

あるブロックのハッシュ値が条件を満たすことができるナンス値が発見されると、ようやくブロックを閉じて連結することができる。この工程を「PoW」(Proof of Work)と呼び、ビットコインなどのシステムではナンス値を算出した利用者に報酬として新たに暗号通貨を発行する仕組みになっている(コインのマイニングと呼ばれる)。

算出に時間がかかるナンス値が各ブロック毎に用意されていることにより、攻撃者が途中のブロックを改竄しても、後続のすべてのブロックのナンス値の割り出しをやり直さなければ正しいチェーンを得ることができず、改竄を極めて困難にすることができる。システムによってはPoWの代わりにPoS(Proof of State)など別の仕組みを用いる場合もある。

歴史

2008年に「Satoshi Nakamoto」(サトシ・ナカモト)という日本人風の名を名乗る匿名の人物(身元が分からず個人なのか集団や機関なのかも不明)が暗号通貨ネットワークの「ビットコイン」(Bitcoin)を立ち上げ、同時に公開された論文の中でその原理をブロックチェーンの語で紹介したのが最初である。

その後、ビットコインを模した暗号通貨が数多く作られ、インターネット上の交換所を通じて現金との間で、あるいは暗号通貨間で活発に取引が行われている。現在は主に投資用の資産として売買されており、通貨としての機能、すなわちモノやサービスの売買の決済、支払い手段としてはほとんど普及していない。

台帳に取引記録以外の情報を載せることで様々な仕組みを構築することもでき、ある種のプログラムを搭載して条件に応じて自動的に実行する「スマートコントラクト」などが提唱されている。2015年頃からブロックチェーンを金融取引などへ適用する試験的な取り組みなどが活発になっているが、今のところ暗号通貨のように既存の技術や制度では実現できない、あるいは決定的に優位性のある用途は見つかっていない。

P2P 【Peer to Peer】 ⭐⭐

ネットワーク上で機器間が接続・通信する方式の一つで、機能に違いのない端末同士が対等な関係で直に接続し、互いの持つデータや機能を利用しあう方式。また、そのような方式を用いるシステムやソフトウェアなどのこと。

一般的なネットワークシステムでは、データや機能の提供側と利用側に役割が分割されたクライアントサーバ方式がよく用いられる。利用者が操作するクライアントからの要求に基づいてサーバがデータや機能を提供する形態で、実装や運用が容易なため広く普及している。

P2P方式はこれと対比され、クライアントやサーバといった役割の違いがなく、同等の機能が実装されたソフトウェア同士が接続を結び、互いにデータや機能を提供し合う。三台以上の端末が互いに通信する場合、これをP2Pネットワークという。

通信や処理が特定のサーバに集中するクライアントサーバ方式に比べ、拡張性(スケーラビリティ)や耐障害性が高く、低コストで運用できる。また、用途や実装方式によっては通信の匿名性を高める効果が期待できる場合もある。

ただし、一元的なデータや状態の記録や管理が必要な用途には向かず、性能の安定性や処理の確実性、データの真正性なども期待しにくい。適用可能な用途であってもシステムの実装は困難で、システム全体の制御や動作確認、セキュリティの確保なども容易ではない。

ピュアP2PとハイブリッドP2P

すべての端末の機能や役割が完全に同一な、本来の意味でのP2Pシステムのことを特に「ピュアP2P」(pure P2P)ということがある。同じソフトウェアを導入したコンピュータが複数集まれば利用できるため運用しやすいが、すべての情報が各端末に分散しているため通信効率は低い。

一方、一部の端末にデータの所在や端末の接続状態などの情報を集め、データや端末を効率的に探索・接続できるようにした方式を「ハイブリッドP2P」(hybrid P2P)という。ある種のサーバに情報を集中して通信効率を高めた方式で、運用のためには性能や回線容量の大きなサーバ用の端末を誰かが常に用意しなければならない。

歴史

2000年代初頭に、不特定多数の利用者がインターネット上でパソコン上のファイルを共有・交換できるP2P方式のソフトウェアが多数登場し、P2Pという用語及び概念が浸透した。そうしたファイル共有ソフトを指して「P2Pソフト」と呼ぶこともあった。

電話のようにメッセージを交換する通信方式としても用いられ、一部のIP電話システムやメッセンジャーなどは利用者間の接続の仲介(呼び出し)を中央サーバが行い、メッセージの交換自体はP2P方式で行うハイブリッドP2Pとして実装されている。

音声や動画などの大容量のデータを多数の利用者に効率よく配信する通信方式としても期待され、端末間でバケツリレー式にデータを運んでいく放送型の動画・音声配信サービスなども登場した。

2010年代になると、台帳などの記録情報を不特定多数の端末間で改ざん不可能な状態で交換・共有するブロックチェーン技術が発明され、仮想通貨(暗号通貨)の技術的な基盤としてP2P方式が再び注目を集めるようになった。

ARPANET 【Advanced Research Projects Agency Network】

1969年に米国防総省の高等研究計画局(ARPA、現在のDARPA)が導入したコンピュータネットワーク。各地に分散した大型コンピュータ同士を通信回線で相互接続したもので、後のインターネットの原型となった。

当初は米国内の4つの大学や研究機関(カルフォルニア大学ロサンゼルス校、スタンフォード研究所、カルフォルニア大学サンタバーバラ校、ユタ大学)を繋いで開通し、その後徐々に接続拠点を増やしていった。

データを一定の長さに区切って制御情報を付してそれぞれ独立に伝送するパケット通信方式や、異なるネットワークを共通のアドレス体系や通信方式で結び、拠点間・機器間でバケツリレー式に転送を繰り返して宛先まで届ける仕組み(IPやルーティングに相当)、データの受信確認や再送制御により伝送の確実性を確保するコネクションの仕組み(TCPに相当)など、現在では当たり前に利用されている多くの技術の開発や実装、検証に用いられた。

1983年に米軍関係機関のネットワークがMILNETとして分離され、1986年には全米科学財団(NSF)が学術機関向けにNSFNETを開設、大学や研究機関などはそちらに移っていった。ARPANETからは徐々に接続拠点数が減っていき、1990年に正式に廃止された。

目的を巡る議論

ARPANETの目的について、「主要拠点が核攻撃を受けても全体が停止しない堅牢な分散型通信ネットワークを米軍が必要としていた」とする説明がよく行われるが、当時の関係者の多くは、当時の限られた大型コンピュータを地理的に離れた研究者も利用できるようにするためで核戦争に備える目的は無かったと証言している。

このような誤解が生まれたのは、当時のARPAの上級管理者の中に同趣旨の説明をする者がいたことや、ARPANETプロジェクトの直前に米軍事系シンクタンクのランド研究所がこの目的で研究を行い、ARPANETに似たパケット通信による分散ネットワークを提唱していたためとされる(ARPANET関係者は同プロジェクトとの関連を否定している)。

DARPA (ARPA)

<$Img:DARPA.jpg|right|DARPAロゴ>

DARPA(Defence Advanced Research Projects Agency/国防高等研究計画局)は米連邦政府機関の一つで、国防総省の傘下で軍事技術や軍事に役立つ可能性のある科学技術の研究・開発を行う機関である。

自前の研究施設などは持たず、大学や企業、研究機関などへの委託や助成、研究プロジェクトの公募、先端技術を応用した競技会の開催などが主な事業となる。陸海空軍、海兵隊など軍そのものからは独立しており、各軍の利害や戦略などに囚われず軍事転用可能な先端的な科学技術の研究・開発を推進している。

IT分野では、現在のインターネットの原型となる広域的なパケット通信ネットワークであるARPANETでよく知られ、その名残りはネットワーク制御用データの交換に用いられる「.arpa」ドメインなどに残っている。

1958年に設立された際の名称は「ARPA」(Advanced Research Projects Agency、アーパ)だったが、1972年にDARPA(ダーパ)に改称、1993年にARPAに戻り、1996年に再びDARPAに改称され現在に至る。

TCP/IP 【Transmission Control Protocol/Internet Protocol】 ⭐⭐⭐

インターネットなどで標準的に用いられる通信プロトコル(通信手順)で、TCP(Transmission Control Protocol)とIP(Internet Protocol)を組み合わせたもの。また、TCPとIPを含む、インターネット標準のプロトコル群全体の総称。

IPは複数のネットワークを繋ぎ合わせて同じ識別番号の体系(IPアドレス)により相互に通信可能にするプロトコルで、これを用いて世界的に様々な組織の管理するネットワークを相互接続してできたオープンなネットワークを「インターネット」(Internet)と呼んでいる。

プロトコル階層

IPではプロトコル群を役割に応じて階層化して整理しており、下位プロトコルのデータ送受信単位(パケットやフレーム、データグラムなど)の中に上位プロトコルの送受信単位を入れ子状に埋め込んで運ぶ仕組み(カプセル化という)になっている。

例えば、HTTPメッセージはTCPセグメントに格納されて運搬され、TCPセグメントはIPデータグラムに格納されて運搬され、IPデータグラムはイーサネットフレームやPPPフレームなどに格納されて運搬される。上位プロトコルは下位プロトコルに運搬を依頼するだけでよく、下層で何が起きているか詳細を知る必要がない。

階層は物理的な装置や回線に近い側からリンク層、インターネット層、トランスポート層、アプリケーション層となっており、IPはインターネット層、TCPはトランスポート層のプロトコルである。リンク層はIPの関連規格群では規定せず、イーサネットやWi-Fiなど各機器が対応している通信手段を利用する。

アプリケーション層は用途やシステムの種類ごとに多種多様なプロトコルが定義されている。例えば、Webコンテンツの伝送にはHTTP(Hypertext Transfer Protocol)、電子メールの送受信にはSMTP(Simple Mail Transfer Protocol)やPOP3(Post Office Protocol)、IMAP4(Internet Mail Access Protocol)などが用いられる。

総称としての「TCP/IP」

IPネットワーク上ではIPと組み合わせてTCPではなくUDP(User Datagram Protocol)や他のプロトコルを用いることもあるが、「TCP/IP」という呼称はTCPとそれ以外を区別するという意味合いは薄く(UDPを使う場合を「UDP/IP」とはあまり呼ばない)、「IPを中心とする標準的な通信プロトコルの総称」を表すことが多い。

歴史的な経緯からそのような意味合いが定着しているが、今日ではそのような総称的な意味は「インターネットプロトコルスイート」(Internet Protocol Suite)のような用語で表すか、「IP接続」「IPネットワーク」のように単に「IP」一語で代表させるようになってきている。

IP 【Internet Protocol】 ⭐⭐

複数の通信ネットワークを相互に接続し、データを中継・伝送して一つの大きなネットワークにすることができる通信規約(プロトコル)の一つ。IPによって接続された世界規模の巨大なコンピュータネットワークをインターネット(the Internet)という。

IPアドレス

IPではネットワークに接続された個々のネットワークやホスト(機器)に固有の識別番号である「IPアドレス」(IP address)を割り当て、これを宛先や送信元に指定して通信を行う。現在普及しているIPv4(IP version 4)では32ビットのアドレスが用いられ、最大で約42億台の機器が同じネットワークに参加できる。

同じネットワーク上ではアドレスに重複があってはならないため、インターネットで用いられるグローバルIPアドレスについては管理団体が申請に基づいて発行する形を取っている。これとは別に組織内ネットワークのみで使用されるプライベートIPアドレス(ローカルIPアドレス)用のアドレス領域が定められており、構内ネットワーク(LAN)などで自由に使うことができる。

IPデータグラム

IPで送受信するデータは一定の大きさに分割され、先頭に宛先アドレスや送信元アドレスなどの制御情報(IPヘッダと呼ばれる)を付加した「IPデータグラム」(IP datagram)と呼ばれる送受信単位で伝送される。このような伝送方式をパケット交換方式という。

IPデータグラム内の運ぶべきデータの部分(ペイロード)には通常、他の通信プロトコルのパケットなどが埋め込まれ、異なる種類や目的のデータをIPにより一つの機器や回線に混載して運ぶことができる。パケットは何段階も入れ子構造に埋め込むことができ、Webとメールなど通信の種類によって使い分けたり、到達保証や暗号化など下位のプロトコルにない様々な機能を付加したりすることができる。

TCPとUDP

IPの一段階上位(トランスポート層と呼ばれる)のプロトコルには「TCP」(Transmission Contorol Protocol)あるいは「UDP」(User Datagram Protocol)が用いられることが多く、より上位(アプリケーション層)の個別の用途向けのプロトコルのほとんどはこのいずれかによって通信の相手方まで伝送される。

TCPは通信を行う二者間で仮想的な伝送路(コネクション)を確立し、データを送信順に並べ替えたり、受信確認や再送制御などを行って信頼性の高い通信を行うことができる。UDPはこうした制御を行わない代わりに低遅延で高効率な通信を行うことができる。

ルータとルーティング

IPでは管理主体の異なる複数の(インターネットの場合は極めて多数の)ネットワークが対等な立場で連携し、中央集権的な管理システムがなくても任意の送信元から任意の宛先へデータを送り届ける仕組みが整備されている。

データの中継・転送は「ルータ」(router)と呼ばれる機器によって行い、各ネットワークのルータが隣接するルータへバケツリレー式に次々データを転送することで宛先まで運ばれていく。各ルータは自分の知る周囲の通信経路の情報を「ルーティングプロトコル」(routing protocol)と呼ばれる通信規約で頻繁に交換し、宛先アドレスまでの適切な通信経路の選択・指定ができるようになっている。

IPv4とIPv6

インターネットの普及期に用いられ、現在も広く利用されているのは「IPv4」(IPバージョン4)で、32ビットのアドレス(IPv4アドレス)を用いる。インターネットの急拡大に伴いアドレス数が逼迫しているため、IPの新しい規格である「IPv6」(IPバージョン6)が策定され、IPv4からの置き換えが模索されている。

IPv6では128ビットのIPv6アドレスにより約3.40×1038個のアドレスが利用でき、セキュリティ機能や転送効率なども改善されている。しかし、IPv4との直接的な互換性はなく、経路途上のすべてのネットワークやルータが対応していなければIPv6で通信できないため、一事業者内の閉じたネットワークでの採用事例はあるものの、インターネット上で本格的に普及するには至っていない。

IPv4 【Internet Protocol version 4】 ⭐⭐

インターネットの基礎となる通信規約(プロトコル)であるIP(Internet Protocol/インターネットプロトコル)の第4版。1990年代後半からのインターネット普及期に使われていたため広く普及し、現在もインターネット上の通信のほとんどはIPv4で行われる。

ネットワークに参加する機器などに固有の番号(IPアドレス)を割り当てて一意に識別し、複数のネットワークを経由して末端から末端までデータを送り届ける方法を定義している。データは一定の大きさのパケットと呼ばれる単位(正確にはIPデータグラムという)に分割されて送信され、受信側で再び元のデータに組み立てられる。

IPデータグラムは制御情報を記載したIPヘッダと呼ばれる先頭部分と、運びたいデータ本体であるペイロードからなる。ヘッダには送信元と宛先のIPアドレスや、積載しているデータのプロトコル番号、転送回数の上限を表す生存時間(TTL)、長いデータを複数のデータグラムに分割した際の通し番号(フラグメントオフセット)などが記載されている。

IPv4アドレス

IPv4ではアドレスを32ビットのデータとして表現し、「192.168.1.1」というように8ビットずつ4つの値に区切って「.」(ドット/ピリオド)を挟んで表記する。「0.0.0.0」から「255.255.255.255」まで約42億(232)個のアドレスが利用できる。

アドレス空間の中には各組織が個別に運用する構内ネットワーク(LAN)などの内部でのみ使用可能なプライベートIPアドレス用の領域もあり、インターネット上のアドレス(グローバルIPアドレス)とは独立に割り振られて使用されている。

32ビットのアドレスはインターネットが普及し始めた当初は十分な数に思われたが、急激な普及により数が逼迫し、2010年代後半には世界的に未割り当ての「在庫」アドレスが枯渇する事態となってしまった。

歴史

初期のIPは1970年代に当時のARPANET(現在のインターネットの原型となる広域ネットワーク)で開発された。バージョン0から3は試験的な仕様で、1980年に規格化(RFC 760)されたIPv4が本格的に実用に供された最初のIP仕様となった。現在広く知られているのは1981年の改訂版(RFC 791)である。

その後、特殊なストリーミング用途向けのバージョンとして試験的にIPv5が、IPv4の後継候補としてIPv6~IPv9が考案されたが、これらの仕様を勘案してIPv6が正式に後継規格として推進されることになった。最大の特徴は128ビットに拡張されたIPv6アドレスで、逼迫するIPv4アドレスからの移行が展望されたが、現在も一般に広く普及する状況には至っていない。

IPv6 【Internet Protocol Version 6】 ⭐⭐

インターネットの基礎となる通信規約(プロトコル)であるIP規格の第6版(バージョン6)。2の128乗個という膨大な数の機器の識別番号(アドレス)を利用でき、現在広く使われているIPv4(IP version 4)からの移行が進んでいる。

インターネットやこれに接続する組織内ネットワーク(LAN)などでは、「IP」(Internet Protocol/インターネットプロトコル)と呼ばれる共通のプロトコル規格に基づいて機器の識別やデータの送受信、ネットワーク間のデータの配送などを行っている。

IPv4とアドレス枯渇問題

インターネットが本格的に普及し始めた1990年代末には、1981年に策定された「IPv4」(IPバージョン4)規格が用いられ、現在も多くのネットワークで標準的に利用されている。これは機器を識別する「IPアドレス」を32ビットで表現する仕組みで、最大で約42億台の機器を単一のネットワークに収容できる。

これは規格制定時には十分過ぎるほど広大なアドレス空間だと考えられていたが、想定を超えるインターネットの爆発的な普及により2000年代半ば頃には新規に割り当てるIPv4アドレスが逼迫する事態となり、より多くのアドレスを利用できるIPv6への本格移行が模索された。

IPv6の主な特徴

IPv6の最大の特徴は、IPアドレスを従来の32ビットから128ビットに大幅に拡張したことである。従来のIPv4アドレスと区別するため「IPv6アドレス」と呼ばれ、2128個、すなわち、約340澗(かん)、約3.40×1038個のアドレスを同一ネットワーク内で利用できる。

各機器へのアドレスの割り当てやネットワークをまたいだデータの転送(ルーティング)、大きなデータを一定の長さの送信単位(データグラム)に分割する仕組みなど、基本的な機能はIPv4までと変わらないが、アドレス設定の自動化やセキュリティ機能の強化、転送効率の向上などの改善が行われている。

IPv4からの移行

一本の通信回線や単一のネットワークなどの単位ではIPv4とIPv6のデータを混在させることは可能だが、アドレス体系やデータ形式がIPv4と異なり直接的な相互運用性がないため、複数のネットワークを接続するにはそれぞれ個別に転送処理を行う必要がある。

また、IPv6を使用する場合でも、既存のインターネット上のIPv4アドレスの機器と通信できなければ利便性が大きく損なわれるため、何らかの中継システムを用意してアドレスの相互変換やデータの転送、相互乗り入れの仕組みを用意する必要がある。

通信事業者にとってはIPv6への移行期にはどうしてもIPv4と両対応せざるを得ず、コスト負担や運用の煩雑化が敬遠され、利用者にとっても目に見える利点に乏しいことから、00年代まではIPv6の利用は実験的な閉じたネットワークでのサービス提供などに留まっていた。

2010年代に入るとIPv4アドレスの未割り当ての領域が完全に枯渇する(以降はネットワーク廃止で返却されるアドレスの再割り当てで対応)といった事態が生じる一方、寡占化の進んだIT大手が本格的にIPv6アドレスでのサービス提供に乗り出すなど環境に変化が生じ、世界的に少しずつ普及が進み始めた。

日本では2011年にNTT東日本・NTT西日本によるフレッツ網がIPv6 IPoE接続(ネイティブ方式)に対応し、2017年に大手移動体通信事業者が端末に割り当てるアドレスをIPv6化するなど環境の整備が進展しており、ISPなども通常のサービスメニューとしてIPv6によるインターネット接続を提供するようになっている。

TCP 【Transmission Control Protocol】

インターネットなどのIPネットワークで、IP(Internet Protocol)の上位層であるトランスポート層のプロトコル(通信規約)として標準的に使われるものの一つ。信頼性が高いが即時性や高速性は得られにくい。

ネットワーク層(インターネット層)のIPと、HTTPなど各用途ごとに固有のアプリケーション層のプロトコルの橋渡しをするもので、ポート番号という識別番号を用いて、各IPデータグラムが運んでいるデータがどの上位プロトコルのものであるかを識別し、担当のソフトウェアに振り分けることができる。

TCPはコネクション型のプロトコルで、接続相手との通信の開始時に「スリーウェイハンドシェイク」と呼ばれる3段階から成る制御情報のやり取りを行い、通信相手の状況を確認して仮想的な伝送路(TCPコネクション)を確立する。一連のデータ伝送が終わると伝送路を切断して通信を終了する。

二者間で制御情報を双方向にやり取りすることで、送信したデータが受信側に到着したかどうかを確かめる「確認応答」、受信側が伝送途上でのデータの欠落や破損を検知して送信側に再送を要求する「再送制御」、送信時に通し番号を割り当てて到着順が入れ替わっても受信側で本来の順序に並べ直す「順序制御」などの機能が利用できる。

IP上で用いられるトランスポート層の有力なプロトコルには「UDP」(User Datagram Protocol)もあり、こちらは細かな制御はせず「送りっぱなし」にするシンプルな仕様となっている。TCPはUDPに比べる伝送の信頼性が高くアプリケーション層に対して確実にデータを送り届けることができるが、通信効率は低く性能は高めにくい。

また、品質の低い通信経路(回線など)では確実性を高めるための仕様が足かせとなり極端に性能が低下したり、接続が頻繁に途絶えることがある。信頼性や確実性が必要な通信にはTCPを、転送効率や即時性が必要な用途や通信環境が悪くても断片的にデータが届けば良い用途ではUDPを、というように使い分けられる。

IPアドレス 【Internet Protocol Address】 ⭐⭐⭐

インターネットなどのIPネットワークに接続された、個別のネットワークや機器を識別するための識別番号。インターネット上で通信するには重複した番号を使うことはできないため、管理団体に申請して割り当てを受ける必要がある。

インターネットなどのネットワークでは機器間の通信をIP(Internet Protocol)と呼ばれる共通のプロトコル(通信規約)によって行う。IPアドレスはこのIPネットワークにおける個々の機器を識別するための番号で、データの宛先の指定や送信元の特定などに用いられる。

現在インターネットなどで広く普及しているIPは「IPv4」(IPバージョン4)で、アドレスを32ビットの値として表す。書き表す場合には先頭から順に8ビットごとに区切り、それぞれを十進数の値として「.」(ピリオド/ドット)で区切って表記する。例えば、「11000110 00110011 01100100 00000001」というアドレスは「198.51.100.1」のように表記する。

IPアドレスとドメイン名

IPアドレス自体は数字の羅列で人間には覚えたり書き表したりしにくく、読み間違いや入力ミスも起こりやすいため、「www.example.com」のようにアルファベットや記号を組み合わせた分かりやすい識別名をつけられる仕組みが考案された。

これをDNS(Domain Name System)と呼び、IPアドレスの代わりとしてネットワーク上で用いることができる識別名をドメイン名という。ドメイン名には特定のIPアドレスに対応し、個別の機器を指し示す完全修飾ドメイン名(FQDN:Fully Qualified Domain Name)あるいはホスト名(host name)と、複数の機器や領域を包含する領域の識別名がある。

IPアドレスとドメイン名の対応関係は各組織が設置・運用するDNSサーバによって管理・提供される。人間が指定したドメイン名の指し示す機器に接続するにはDNSサーバへ問い合わせて対応するIPアドレスを得る必要があり、通常はソフトウェアが内部的にこの処理を行う。

機器が通信処理を行うのに必須なのはIPアドレスのみであるため、すべてのIPアドレスに対応するドメイン名が設定されているわけではない。通常必要なのはドメイン名からIPアドレスへの変換(正引き)であるため、逆にIPアドレスから対応するドメイン名を割り出す変換(逆引き)は常に可能とは限らない。また、IPアドレスとドメイン名は常に一対一に対応している必要はなく、一つのIPアドレスに複数(場合によっては多数)のドメイン名が対応付けられていることもある。

グローバルIPアドレス

インターネット上で使用するアドレスをグローバルIPアドレス(global IP address)、特定の組織内ネットワークのみで通用するアドレスをプライベートIPアドレス(private IP address)あるいはローカルIPアドレス(local IP address)という。

グローバルアドレスはインターネット全体で一意に特定できなければならず、複数の組織や端末で重複があってはならないため、勝手に設定して名乗ることはできず、アドレス発行組織に申請を行って割り当てを受けなければならない。

インターネット上のIPアドレスについて全世界で一元的に割り当ての調整を行う機関としてICANN(Internet Corporation for Assigned Names and Numbers)が設置されている。そこから世界を5つに分けた各地域を管轄するRIR(Regional Internet Registry)に大きなアドレスブロック単位で割り当てが行われ、RIRから域内の各国・地域をそれぞれ管轄するNIR(National Internet Registry)へ小さなブロック単位で割り当て行われる。

インターネットへの接続を希望する各組織・個人からの申請を受けてアドレスを割り当てるのはNIRの担当となる。日本を管轄するRIRはAPNIC(Asia Pacific Network Information Centre)、NIRはJPNIC(Japan Network Information Center)である。

プライベートIPアドレス

プライベートアドレスは各組織ごとに設置・運用されているLAN(構内ネットワーク)などのネットワーク上で用いられるアドレスで、申請などは不要で自由に機器に設定して使用してよい。ただし、各アドレスがそのネットワークの内部で重複してはならない点はグローバルアドレスと変わらない。

プライベートアドレスしか持たない機器はインターネットに直接接続して通信することはできないため、ネットワーク境界にゲートウェイやルータ、プロキシサーバなどを設置してアドレス変換やデータの中継などを行い、一定の制約(インターネット側から接続を開始できないなど)の元で通信できるようにすることが多い。

IPv4アドレスではプライベートアドレス用の領域として、10.0.0.0~10.255.255.255(最大約1677万台)、172.16.0.0~172.31.255.255(最大65535台)、192.168.0.0~192.168.255.255(最大255台×256ネットワーク)の3つが予約されており、ネットワークの規模に応じていずれかを使用することができる。これらはグローバルアドレスとしては割り当てられないことが決まっている。

IPv4アドレスの枯渇

現在インターネットで用いられるIPv4アドレスは32ビットの値であるため、2の32乗の42億9496万7296個のアドレスしか使用することができず、インターネットの爆発的に普及に伴い2000年代後半頃からは逼迫するようになった。

これは、IPv4が設計された1980年頃にはインターネットに限られた機関しか接続されておらず、現在のような爆発的な普及を想定していなかったためこのアドレス数で十分であると考えられていたのと、当時の通信回線が低速で伝送容量が限られており、少しでも通信制御用のデータを短くしたかったという事情がある。

2015年までには各地域のRIRおよび各国のNIRが確保・用意しているIPv4アドレスブロックの「在庫」は枯渇してしまい、既存の割り当て先から接続廃止で返却されてくる分以外には、まとまった数のアドレスを新規に発行することはできなくなってしまっている。

IPv6アドレス

IPv4の後継として設計されたIPv6(IPバージョン6)では、IPアドレスが128ビットの値となり、2の128乗=約3.40×1038、すなわち、340澗2823溝6692穣0938𥝱4634垓6337京4607兆4317億6821万1456個の広大なアドレス空間を使用できるようになった。

IPv4と同じ表記法だと長過ぎるため、16ビットずつ「:」(コロン)で区切って16進数で表記し、0が連続する区間は省略するという記法を採用している。例えば、「2001 : 0db8 : 0000 : 0000 : 0000 : 0123 : 0000 : 00ab」は「2001 : db8 :: 123 : 0 : ab」のように表記する。

IPv6アドレスのグローバルでの割り当ても始まっており、一部の通信事業者やインターネットサービスプロバイダ(ISP)などがIPv6によるインターネット接続に対応しているが、既存のIPv4と共存しつつ移行するのは様々な事情が重なって難しく、なかなかIPv6の普及が進まない状況が10年以上続いている。

グローバルIPアドレス 【global IP address】

インターネット上で通信可能なIPアドレス。全世界で重複が起きないようネット上の資源を管理する団体が申請に基づいて割り当てており、勝手に使用することはできない。

IPアドレスはIP(Internet Protocol)で通信する機器が一つずつ持っている識別番号で、インターネット上で機器やネットワークを識別・同定するのに用いられるものをグローバルIPアドレスという。企業や個人が利用する場合は、契約しているプロバイダなどが運用しているアドレス群の中から割り当てを受けることが多い。

個々のIPアドレスはネットワーク内で一意でなければならない(複数の異なる機器が同じアドレスを名乗ることはできない)が、インターネットは様々な組織のネットワークが相互に接続されて成り立っているため、アドレスの重複を避けるため統一的にアドレス割り当ての管理・調整を行う国際的な仕組みが存在する。

グローバルIPアドレスの管理

グローバルIPアドレス全体の管理は「ICANN」(Internet Corporation for Assigned Names and Numbers)と呼ばれる非営利組織の中の「IANA」(Internet Assigned Number Authority)という機関が行っており、世界の各大陸を統括する「RIR」(Regional Internet Registry)と呼ばれる調整機関に大きなブロックごとに割り当てている。

RIRは域内の国・地域ごとに置かれた「NIC」(Network Information Center)にブロックを分割して割り当てる。各国のNICは国内の個々の組織やインターネット接続事業者(ISP:インターネットサービスプロバイダ)などからの要請に基づきアドレスを発行する。

日本で利用されるグローバルIPアドレスは、ICANNがアジア・太平洋地域を管轄する「APNIC」(Asia Pacific Network Information Centre)に、APNICが日本を管轄する「JPNIC」(Japan Network Information Center)に割り当てたアドレスブロックの中から割り当てられる。

ローカルIPアドレス/プライベートIPアドレス

これに対し、組織内などで運営する閉じられたネットワークの内部でのみ利用されるIPアドレスのことは「プライベートIPアドレス」(private IP address)あるいは「ローカルIPアドレス」(local IP address)という。

IPアドレス空間全体の中でローカルアドレス用に使用できる範囲が決まっており、各組織は自由に機器に割り当てて使用することができる。インターネットと直接通信することはできないため、組織間で同じアドレスを重複して割り当てても問題ない。

現在インターネットで主に利用されているIPv4アドレスは設計上の制約から世界全体で約42億個しか使うことができないため、大きな組織などは組織内ネットワークをプライベートアドレスで運用し、インターネットとの境界に置かれたルータやゲートウェイでアドレス変換(NAT/NAPT)を行ったり、プロキシサーバなどを設置して内部の機器の代理としてアクセスさせるといった方式で多数の機器をインターネットに接続している。

ローカルIPアドレス 【local IP address】

ある特定のネットワーク内でのみ通信可能なIPアドレス。主に構内ネットワーク(LAN)で用いられ、インターネットで直接通信することはできない。

組織内に設けられた私的なネットワークでのみ有効なIPアドレスで、その組織のネットワーク管理者が任意に各機器に割り当てることができる。当該ネットワーク内の機器間でのみ接続・通信が可能で、インターネットなど外部と直に通信することはできない。

一方、インターネット上で通信可能なIPアドレスは「グローバルIPアドレス」(グローバルアドレス)あるいは「パブリックIPアドレス」(パブリックアドレス)と呼ばれ、契約先の通信事業者(ISP)から一時的に貸与を受けるか、各国に設置されている管理組織(インターネットレジストリ)に申請して割り当てを受けなければならない。

アドレスの範囲

IPアドレスにはプライベートIPアドレス用の範囲が予約されており、その中から使用するよう定められている。IPv4の場合、

  • 10.0.0.0~10.255.255.255 (アドレス数は1677万7216個)
  • 172.16.0.0~172.31.255.255 (104万8576個)
  • 192.168.0.0~192.168.255.255 (6万5536個)

が確保されており、ネットワークの規模(機器の台数)や管理上の都合に応じて使い分ける。最後の「192.168.~」が最もよく用いられている。IPv6でも「fc00::/7」がユニークローカルアドレスと規定されている。

リンクローカルアドレス

機器ごとに固定のアドレスが設定されておらず、DHCPなどが機能していないネットワークでも最低限の通信ができるようにするため、自動的に設定される「リンクローカルアドレス」という仕組みもある。

IPv4では「169.254.0.0~169.254.255.255」、IPv6では「fe80::/10」の範囲が予約されており、この中から他の機器と衝突しないように一つが自動選択される。物理的に信号が届く範囲にある機器とのみ通信可能な制約があり、ルータなどを超えて別のネットワークと通信することはできない。

ローカルとプライベート

「ローカルIPアドレス」と「プライベートIPアドレス」という用語は一般的にはほぼ同義語として区別されずに用いられているが、「ローカルIPアドレス」には「リモートIPアドレス」の対義語として、ある機器やネットワーク自身のアドレスを指す用法もある。

また、組織内で設置・運用される私的なネットワークは本来「プライベートネットワーク」と呼ばれるため、そこで用いられるIPアドレスも「プライベートIPアドレス」とするのが正式であると言える。実際、RFCなどの規格書や技術文書などでも “private address” が用いられている。

サブネットマスク

IPアドレスの先頭から何ビットをネットワークアドレスに使用するかを定義する32ビットの数値。IPアドレスをネットワークアドレスとホストアドレスに分割する際に必要となる。

IPアドレスはインターネットなどのIPネットワーク上で個々のネットワークや機器(ホスト)を識別するための値で、データの宛先の指定などに用いられる。現在主流のIPv4では32ビットの値で表される。

インターネットなどの大規模ネットワークでは、全体を複数の小さなネットワーク(サブネット)に分割して管理している。IPアドレスのうち上位側のビットがサブネットを識別する「ネットワークアドレス」に、下位側のビットがサブネット内で個別のホストを表す「ホストアドレス」となる。

サブネットマスクとは

サブネットマスクは上位何ビットがネットワークアドレスかを指定する値で、サブネット毎に規定されている。IPアドレスと同じ32ビットの値で、上位側から「1」が連続しており、下位側からは「0」が連続している。その境界がネットワークアドレスとホストアドレスの境界となる。

例えば、サブネットマスクが2進数で「11111111 11111111 11111111 00000000」ならば、上位24ビットがネットワークアドレス、下位8ビットがホストアドレスとなる。これをネットワークアドレスと共に「198.51.100.0/24」のように表記する。単に「/24」のように表記することもある(CIDR表記)。

固定長サブネットマスク (FLSM:Fixed Length Subnet Mask)

あらかじめ決まった長さのサブネットマスクによってネットワークを分割する方式を「固定長サブネットマスク」(FLSM:Fixed Length Subnet Mask)という。各サブネットに割り当てられるIPアドレスの数が同じため、最も多く必要なサブネットに合わせて大きさを設定する。

わずかなアドレスしか必要ないサブネットでは大量にアドレスが余ることがあり、効率的なアドレス割り当てが難しい。アドレスクラスを使用していた古い時代のルーティングプロトコルやルータでも処理することができる。

可変長サブネットマスク (VLSM:Variable Length Subnet Mask)

同じネットワーク内で長さの異なるサブネットマスクを利用する方式を「可変長サブネットマスク」(VLSM:Variable Length Subnet Mask)という。必要なIPアドレスの数に応じて柔軟にサブネットの大きさを設定でき、効率的なアドレス割り当てが可能となる。CIDRを前提とした新しい時代のルーティングプロトコルやルータでなければ利用できない。

DHCP 【Dynamic Host Configuration Protocol】

インターネットなどのIPネットワークに新たに接続した機器に、IPアドレスなど通信に必要な設定情報を自動的に割り当てるための通信規約(プロトコル)。

機器の利用者がネットワーク設定を手動で行わなくても、ネットワーク管理者の側で適切な設定を自動的に適用することができ、技術に詳しくない利用者でも簡単に接続できる。管理者は多くの機器の設定を容易に一元管理することができ、不適切な設定に起因するトラブルを減らすことができる。

スマートフォンなど持ち運ぶ機器の場合、接続先ごとに詳細な設定を管理者から入手して手動で入力しなくても、DHCPを利用するよう設定しておくだけでネットワークごとに接続開始時に適切な設定情報を入手して適用することができる。

DHCPによって通知される設定情報には、問い合わせを行った機器が名乗るべきIPアドレス、アドレスのサブネットマスク、当該ネットワークで利用可能なDNSサーバのIPアドレス、外部ネットワークとの出入り口であるデフォルトゲートウェイのIPアドレス、アドレスのリース期間(使用期限)などがある。追加で時刻同期サーバ(NTPサーバ)のアドレスなど他の情報を通知することもできる(が、あまり一般的ではない)。

DHCPの仕様は前身の「BOOTP」(Bootstrap Protocol)を拡張したもので、1993年にIETFによってRFC 1541として標準化され、1997年にRFC 2131として更新された。2018年にはIPv6対応版である「DHCPv6」(RFC 8415)も標準化されたが、IPv6自体に自動的にアドレス設定をメカニズムが組み込まれており、特殊な目的以外ではあまり利用されない。従来のIPv4向けのDHCPをIPv6向けと明確に区別したい時は「DHCPv4」と呼ぶこともある。

DHCPサーバとDHCPクライアント

DHCPで設定情報を提供する機能を持ったコンピュータやネットワーク機器を「DHCPサーバ」(DHCP server)、サーバへ問い合わせを行って設定情報を受け取る機器やソフトウェアを「DHCPクライアント」(DHCP client)という。

企業のネットワークなどでは専用のサーバコンピュータが他のネットワーク管理機能などと共にDHCPサーバとして稼動している場合が多く、家庭のインターネット接続環境ではブロードバンドルータやWi-FiルータなどがDHCPサーバ機能を内蔵している場合が多い。

DHCPクライアントはネットワーク接続を利用する機器に必要なもので、単体の装置やソフトウェアとして提供されるものではなく、機器を制御するオペレーティングシステム(OS)などの中に組み込まれている。パソコンやスマートフォン、デジタル家電、家庭用ゲーム機など、およそインターネット接続に対応した機器のほとんどはDHCPクライアントとして機能するようにできている。

家庭用のルータ製品などの中には、インターネットサービスプロバイダ(ISP)からグローバルIPアドレスなどの設定情報を受信するためのDHCPクライアント機能と、屋内のパソコンやスマートフォンなどにプライベートIPアドレスを払い出すためのDHCPサーバ機能を内蔵し、両方同時に使用する例もある。

なお、DHCPは標準では下位のトランスポート層のプロトコルとしてUDP(User Datagram Protocol)を利用し、サーバがクライアントからの通信を待ち受けるのはUDPの67番ポート、クライアントがサーバからの返信を待ち受けるのはUDPの68番ポートと定められている。

IPアドレス割り当ての手順

クライアントがネットワークに接続すると、同じネットワークのすべての機器へ同報送信(ブロードキャスト)でDHCPサーバに応答を求める問い合わせ(DHCPディスカバー)を送信する。DHCPサーバが存在する場合、これに呼応して使用すべきIPアドレスを提案する応答(DHCPオファー)をブロードキャストする。

クライアントが提案されたIPアドレスを使用することを決めると、追加の設定情報を求める要求(DHCPリクエスト)を再びブロードキャストする。DHCPサーバが複数ある場合、自らの提案が「落選」したDHCPサーバはこのブロードキャストによってそれを知り、アドレスの割り当てを解除して待機状態に戻る。

最後に、アドレス提案が採用されたサーバがクライアントに向けてデフォルトゲートウェイなどの追加情報を記載した承認通知(DHCPアック/Acknowledgement)をユニキャスト(アドレス指定送信)で送信し、手続き完了となる。

DHCPサーバにはあらかじめ、クライアントに払い出して良いIPアドレスの範囲(IPアドレスプール)が管理者によって設定されており、その中から現在使われていないアドレスを提案する。接続が途絶えたクライアントや使用期限が来たアドレスは回収して空き状態としておき、次に接続したクライアントに払い出す。

ルータ ⭐⭐⭐

コンピュータネットワークの中継・転送機器の一つで、データの転送経路を選択・制御する機能を持ち、複数の異なるネットワーク間の接続・中継に用いられるもの。

ルータはプロトコル階層のうちネットワーク層(インターネット層、第3層)の情報を解析してデータの転送の可否や転送先の決定などを行う機器で、主にインターネットなどのTCP/IPネットワークにおける主要な中継機器として用いられる。

接続先から受信したデータ(パケット)を解析し、IP(Internet Protocol)の制御情報を元に様々な転送制御を行う。中でも最も重要な処理は「ルーティング」(routing)で、パケットの宛先IPアドレスから適切な転送経路を選択し、隣接する機器の中から次に転送すべき相手を決定してパケットを送信する。

インターネットなど大規模なネットワークでは、ルータ間でこのような転送をバケツリレー式に繰り返し、送信元から宛先へ複数のネットワークを通過してパケットが運ばれていく。

ルータが経路選択を行う際には一般に、「ルーティングテーブル」(routing table、経路表)と呼ばれるデータ集合が参照される。宛先のネットワーク(のアドレス)ごとにどの機器に中継を依頼すべきかが列挙されており、宛先アドレスに対応する転送先を見つけてその機器にパケットを転送する。

静的ルーティングと動的ルーティング

小規模なネットワークでは、ルータのルーティングテーブルを管理者などが固定的に入力・設定する「スタティックルーティング」(static routing:静的ルーティング)が用いられることが多い。

一方、異なる管理主体のネットワーク間の接続や、大規模なネットワーク、頻繁に構成が変更されるネットワークなどでは、ルータ間で定期的に経路情報を交換してルーティングテーブルを作成・更新する「ダイナミックルーティング」(dynamic routing:動的ルーティング)が用いられる。

ルーティングプロトコル

ルータ間の経路情報の交換には専用の通信規約(プロトコル)が用いられ、これを「ルーティングプロトコル」(routing protocol)という。

同一の管理主体の運営するネットワーク(AS:Autonomous System、自律システム)内で用いられるルーティングプロトコルをIGP(Interior Gateway Protocol)と呼び、RIPやOSPF、IGRP、EIGRPなどが用いられる。一方、異なるAS間の接続ではEGP(Exterior Gateway Protocol)と呼ばれるルーティングプロトコルが用いられ、インターネット上では一般にBGPが用いられる。

他の機能

ルータは経路制御だけでなく、アドレス体系の異なるネットワーク間(WANとLAN、プライベートネットワークとインターネットなど)でアドレス変換を行って相互に通信できるようにするNAT/NAPT機能や、ネットワークに新たに接続した機器にDHCPなどで自動的にIPアドレスを割り当てる機能、指定されたルールに従って接続や中継の許可や拒否を行うパケットフィルタリング機能、通信の種類ごとに転送の優先度に差をつけたり、上限の帯域幅を超えないよう制御するQoS制御機能など、様々な機能を持っていることが多い。

他の中継機器

プロトコル階層のうちデータリンク層(リンク層、第2層)の情報を元に転送制御を行う機器にはブリッジ(bridge)やネットワークスイッチ(network switch、単にスイッチとも)、スイッチングハブ(switching hub)などがあり、ルータはこれらの機能も内包している。

また、転送制御を行わず物理層(第1層)の単純な中継のみを行う機器にはリピータ(repeater)やリピータハブ(repeater hub)などがある。こうした様々な機器をルータと組み合わせてネットワークが構築される。

コアルータとエッジルータ

ルータの役割や製品分類で、主に通信事業者などの基幹ネットワークの中心部で用いられるものを「コアルータ」(core router)という。

広域回線網の主要拠点間を繋ぐコアネットワーク(バックボーンネットワーク)などの大規模ネットワーク内部の転送・中継に用いられるルータ製品で、高い性能や信頼性、多数の回線を収容する拡張性、筐体や回線の高密度化が容易なデザインなどが求められる。

一方、基幹ネットワーク末端で外部の回線やネットワークとの接続に用いられるルータは「エッジルータ」(edge router)と呼ばれる。広域回線網の終端などに設置され、大規模ネットワークの末端部と小規模でローカルなネットワーク(特定の拠点の構内ネットワークなど)の接続・中継に用いられる。

遠距離回線を挟んで中心側と末端側の両方の装置をエッジルータと呼ぶ場合と、中心側を「センタールータ」(center router)と呼び、末端側のみをエッジルータと呼ぶ場合がある。また、VPNサービスなどで中心側が通信事業者、末端側が加入者の場合には、中心側を「PEルータ」(Provider Edge router)、末端側を「CEルータ」(Customer Edge router)と呼ぶ場合がある。

ルーティング 【経路選択】 ⭐⭐

ネットワーク上でデータを送信・転送する際に、宛先アドレスの情報を元に最適な転送経路を割り出すこと。特に、インターネットなどのIPネットワークにおいて、パケットの転送先を決定すること。

インターネットなどの大規模なネットワークは、複数の小さなネットワークがルータなどの中継機器によって結ばれた構造になっている。送信元の機器が遠く離れたネットワーク上の相手にデータを送りたいときは、自らのネットワーク内のいずれかの中継機器に転送を依頼する。

中継機器は受け取ったパケットの宛先を見て、自らに直接つながった別の中継機器のいずれかにさらに転送を依頼し、これを繰り返してバケツリレー式にデータが運ばれていく。その際、各機器がパケットに記された宛先を元に最適な転送先を決定する処理のことをルーティングという。

ルーティングテーブル

機器がルーティングを行う際には、一般に「ルーティングテーブル」(routing table:経路表)と呼ばれるリストが参照される。これには、宛先のネットワーク(のアドレス)ごとに、どの隣接ルータに中継を依頼すべきかが列挙されている。

ルータはテーブルを参照し、宛先アドレスに対応する転送先を見つけて、その機器にパケットを転送する。宛先がテーブルの中に見つからない場合は、経路を知っている可能性の高い、外部ネットワークとの境界にある中継機器などが選択される。このような経路不明の際に頼る機器のことを「デフォルトゲートウェイ」(default gateway)という。

小規模なネットワーク内のルーティングでは、ルーティングテーブルを管理者がルータなどに手動で記述・設定していく手法が用いられる。これを「スタティックルーティング」(static routing:静的ルーティング)という。

一方、インターネットのような異なる管理主体のネットワークをまたぐ接続や、大規模なネットワーク、頻繁に構成が変更されるネットワークなどでは、ルータ間で経路情報を交換して自動的にルーティングテーブルを作成・更新する仕組みが利用される。これを「ダイナミックルーティング」(dynamic routing、動的ルーティング)という。

ルーティングプロトコル

ルータ間の経路情報の交換には専用の通信規約(プロトコル)が用いられ、これを「ルーティングプロトコル」(routing protocol)という。単に情報を交換するためのデータ形式や伝送手順を定義しているだけでなく、経路の選択手順(アルゴリズム)もセットで規定されている。

ルーティングプロトコルのうち、同一の管理主体の運営するネットワーク(AS:Autonomous System/自律システム)内で用いられるものを「IGP」(Interior Gateway Protocol)と呼び、RIPやOSPF、IGRP、EIGRPなどが用いられる。

一方、インターネット上で異なるAS間を接続する際には、「EGP」(Exterior Gateway Protocol)と呼ばれるルーティングプロトコルが用いられる。現在のインターネット上ではEGPとして「BGP」(Border Gateway Protocol)のバージョン4(BGP-4)が用いられる。

デフォルトゲートウェイ 【ラストリゾートゲートウェイ】

あるネットワークと外部を接続する唯一の、あるいは通常使用するルータなどの転送機器。その機器が持つIPアドレスを「ゲートウェイアドレス」と呼び、外部と通信する必要があるネットワーク内の機器に設定する。

ゲートウェイとはネットワークの境界に置かれ、ネットワーク間のデータの流れを中継するルータなどの装置のこと。デフォルトゲートウェイは内部ネットワークの機器が外部と通信する際に、宛先までの転送経路が分からなくても、とりあえず中継を依頼すれば転送してくれる機器を指す。

インターネット上のルータなどの機器は自らの持つ経路情報を元に経路選択を行い、隣接する他の機器から次の中継先を選んで転送するが、末端のパソコンなどの機器は外部ネットワークとの間に一台しかルータがない(家庭内LANのブロードバンドルータなど)ことが多いため、デフォルトゲートウェイに設定したルータに常に転送を依頼する。

パソコンやスマートフォンなどのオペレーティングシステム(OS)のネットワーク設定画面には自らのIPアドレスなどとともにデフォルトゲートウェイのアドレスを指定する項目があり、そのネットワークのゲートウェイを指定する。通常はDHCPなどで自動設定されることが多く、利用者が直接入力することは少ない。

なお、自ら経路選択を行うルータなどの場合でも、自分では宛先までの経路を見出だせない場合に、経路を知っている可能性が高いルータ(上位プロバイダのルータなど)をデフォルトゲートウェイに設定して経路選択を任せる場合がある。このようなルーティング方式を「デフォルトルーティング」(default routing)という。外部への経路が一つしかない末端の小規模なネットワークで用いられる。

DNS 【Domain Name System】 ⭐⭐

インターネットなどのIPネットワーク上でドメイン名(ホスト名)とIPアドレスの対応関係を管理するシステム。利用者が単なる番号列であるIPアドレスではなく、日常使っている言語の文字を組み合わせた認識しやすいドメイン名でネットワーク上の資源にアクセスできるようにする。

IPネットワークでは「IPアドレス」と呼ばれる数値列で個々のコンピュータやネットワークを識別するが、DNSを使えば人間にとって親しみやすい文字や記号を組み合わせて「ドメイン名」(domain name)と呼ばれる別名をつけることができる。ドメイン名が単一の機器を指し示す場合は「ホスト名」(host name)とも呼ばれる。

各ドメイン名について、ホスト名とIPアドレスの対応関係や管理情報などを記録し、一定の通信手順に基づいてどこからでも容易に参照できるようにした世界規模の分散型データベースがDNSである。そのための通信規約(プロトコル)や交換データ形式などの仕様を定めた標準規格のこともDNSという。

IPアドレスとドメイン名

例えば、ある企業が「198.51.100.1」というIPアドレスの割り当てを受けてWebサーバと電子メールサーバを運用する場合、WebサイトのURLは「https://198.51.100.1/」のように、代表メールアドレスは「info@198.51.100.1」のような表記になる。

これは人間にとっては覚えたり伝達したり入力したりしにくく、接続事業者を切り替えるなどしてIPアドレスが替わるとこれらのアドレスもすべて変更となり、記録物を書き直したり関係者に改めて通知・告知しなおさなければならなくなってしまう。

そこで、「example.co.jp」というドメイン名を取得し、ホスト名として「www.example.co.jp」を「198.51.100.1」に、「~@example.co.jp」のメールアドレスを管理するメールサーバのアドレスを「198.51.100.1」に対応付けておけば、Webサイトを「https://www.example.co.jp/」のように、メールアドレスを「info@example.co.jp」のように表記することができるようになる。

DNSサーバとクライアント

ドメイン名の情報を管理し、外部からの問い合わせに応答するコンピュータやソフトウェアのことを「DNSサーバ」(DNS server)、サーバへの問い合わせを行いDNS情報を参照・利用する側のコンピュータやソフトウェアを「DNSクライアント」(DNS client)あるいは「DNSリゾルバ」(DNS resolver)という。

ドメイン名とIPアドレスの対応関係をサーバへの問い合わせによって明らかにすることを「名前解決」(name resolution)と呼び、ドメイン名から対応するIPアドレスを求めることを「正引き」(forward lookup)、逆にIPアドレスからドメイン名を割り出すことを「逆引き」(reverse lookup)という。

ドメイン名の階層構造

ドメイン名は実世界の住所表示のように広い領域を指す名前から順に範囲を狭めていく階層構造になっており、「www.example.co.jp」のように各階層の識別名を「.」(ドット)で区切って表記する。あるドメイン名の配下に設けられた下位のドメイン名を「サブドメイン」(subdomain)という。

上の例の「jp」のように一番右が最上位階層の「トップレベルドメイン」(TLD)で、以下、左に向かって「co」を「セカンドレベルドメイン」(SLD:Second Level Domain)、「example」を「サードレベルドメイン」(3LD:Third Level Domain)のように呼び、順に指し示す範囲が狭くなっていく。

権威DNSサーバと権限委譲

あるドメイン名についての情報を管理するDNSサーバを「権威DNSサーバ」あるいは「DNSコンテンツサーバ」という。権威サーバはそのドメイン名についての情報の発信元で、外部からの問い合わせに応答してホスト名に対応するIPアドレスなどを回答する。

上位ドメインの権威サーバは配下のすべてのドメイン名の情報を一元管理しているわけではなく、下位ドメインの権威サーバに管理権限を委譲し、自身はその所在(IPアドレス)のみを把握している。下位ドメインについての問い合わせには「このアドレスのサーバに聞くように」という回答を返す。

再帰問い合わせによる名前解決

「www.example.co.jp」の名前解決を行うためには、まず全世界に十数か所あるDNS全体を統括する「ルートサーバ」(root server)に「jp」ドメインの権威サーバの所在を訪ね、そのサーバに「co.jp」ドメインの権威サーバの所在を訪ね、そのサーバに「example.co.jp」の権威サーバの所在を…という具合に左端のホスト名が解決されるまで問い合わせを再帰的に繰り返す必要がある。

この問い合わせ手順を末端のDNSクライアントが毎回行っていたのではサーバとクライアント、途中のネットワークの負荷や無駄が大きすぎるため、通常はインターネット接続事業者(ISP)などが用意した「DNSキャッシュサーバ」が各クライアントからの問い合わせを代行し、結果を一定期間保存して同じ問い合わせに代理で応答するという運用が行われる。

一般の利用者がコンピュータのネットワーク設定などで指定する「DNSサーバ」(プライマリDNSサーバ、セカンダリDNSサーバ)は、各ドメイン名を管理している権威サーバではなく、このDNSキャッシュサーバである。なお、キャッシュサーバに頼らずクライアントソフトが自ら再帰問い合わせを行って名前解決することも差し支えなく、ネットワーク管理者などが調査のために行うことがある。

ドメイン名 【ドメインネーム】 ⭐⭐⭐

インターネット上に存在するコンピュータやネットワークを識別し、階層的に管理するために登録された名前のこと。インターネット上の機器やネットワークの識別名で、URLやメールアドレスなど他の識別情報の一部としても用いられる。

インターネット上の機器やネットワークを一意に識別するため、重複が生じないよう全世界的に一元的に発行する体制が構築されている。登録される識別名はアルファベットと数字、ハイフン「-」の組み合わせだが、近年では、日本語など各国独自の言語・文字でドメイン名を登録できる「国際化ドメイン名」(IDN:Internationalized Domain Name)も利用できるようになっている。

IPアドレスとDNS(Domain Name System)

インターネットなどIP(Internet Protocol)で接続されたネットワークでは機器同士は「IPアドレス」という番号によってお互いを識別し、相手方の所在を知ることができる。数字の羅列であるIPアドレスは人間にとっては扱いにくいため、別名としてドメイン名を運用するようになった。

ドメイン名とIPアドレスを対応させるシステムは「DNS」(Domain Name System:ドメインネームシステム)と呼ばれ、全世界のDNSサーバが連携して運用されている。一つのドメイン名に複数のIPアドレスを対応させたり、一つのIPアドレスに複数のドメイン名を対応させることもできる。

ドメインの階層構造

ドメイン名は実世界の住所表示のように広い領域を指す名前から順に範囲を狭めていく階層構造になっており、「www.example.com」のように各階層のラベルを「.」で区切って表記する。あるドメインの配下に設けられた下位のドメイン名を「サブドメイン」(subdomain)という。

一番右のラベルが最上位階層の「トップレベルドメイン」(TLD)で、以下、左に向かって「セカンドレベルドメイン」(SLD:Second Level Domain)、「サードレベルドメイン」(3LD:Third Level Domain)…と指し示す範囲が狭くなっていく。

左端で個別の機器を指し示すラベルのことを「ホスト名」という。トップレベルからホスト名まで省略せずにすべて書き下したドメイン名表記のことを「FQDN」(Fully Qualified Domain Name:完全修飾ドメイン名)と呼ぶことがある。

トップレベルドメインには、日本を表す「.jp」のように世界の国・地域ごとに割り当てられる「ccTLD」(country code TLD)と、商用を表す「.com」のように地理的範囲とは無関係に全世界から登録を受け付ける「gTLD」(generic TLD)、国際機関向けの「.int」など他の特殊なTLDがある。

ドメイン名の衝突を防ぐため、「ICANN」(Internet Corporation for Assigned Names and Numbers)という国際機関がTLDを一元管理しており、ICANNから委任を受けた各TLDの管理団体(「レジストリ」と呼ばれる)が、そのTLDにおける識別名のデータベースの管理、登録の受付を行っている。例えば、日本のccTLDである.jpドメインはJPRS(日本レジストリサービス)が管理している。

電子メール 【eメール】 ⭐⭐⭐

通信ネットワークを介してコンピュータなどの機器の間で文字を中心とするメッセージを送受信するシステム。郵便に似た仕組みを電子的な手段で実現したものであることからこのように呼ばれる。

広義には、電子的な手段でメッセージを交換するシステムやサービス、ソフトウェア全般を指し、携帯電話のSMSや、各種のネットサービスやアプリ内で提供される利用者間のメッセージ交換機能などを含む。

狭義には、SMTPやPOP3、IMAP4、MIMEなどインターネット標準の様々なプロトコル(通信規約)やデータ形式を組み合わせて構築されたメッセージ交換システムを指し、現代では単に電子メールといえば一般にこちらを表すことが多い。

メールアドレス

電子メールの送信元や宛先は住所や氏名の代わりに「メールアドレス」(email address)と呼ばれる統一された書式の文字列が用いられる。これは「JohnDoe@example.com」のように「アカウント名@ドメイン名」の形式で表され、ドメイン名の部分が利用者が所属・加入している組織の管理するネットワークの識別名を表し、アカウント名がその中での個人の識別名となる。

企業や行政機関、大学などがメールサーバを運用して所属者にメールアドレスを発行しているほか、インターネットサービスプロバイダ(ISP)や携帯電話事業者などがインターネット接続サービスの一環として加入者にメールアドレスを発行している。

また、ネットサービス事業者などが誰でも自由に無料でメールアドレスを取得して利用できる「フリーメール」(free email)サービスを提供している。一人の人物が立場ごとに複数のアドレスを使い分けたり、企業の代表アドレスのように特定の個人に紐付けられず組織や集団などで共有されるアドレスもある。

メールサーバとメールクライアント

インターネットに接続されたネットワークには「メールサーバ」(mail server)と呼ばれるコンピュータが設置され、利用者からの要請により外部のネットワークに向けてメールを送信したり、外部から利用者に宛てて送られてきたメールを受信し、本人の使うコンピュータに送り届ける。利用者や他のサーバに対する窓口であり、郵便制度における郵便局のような役割を果たす。

メールサーバ内には利用者ごとに私書箱に相当する受信メールの保管領域(メールボックス)が用意され、外部から着信したメールを一時的に保管する。利用者が手元で操作するメールソフト(メールクライアント、メーラーなどと呼ばれる)は通信回線を介してメールサーバに問い合わせ、メールボックス内のメールを受信して画面に表示する。

Webメール

利用者の操作画面をWebアプリケーションとして実装し、Webブラウザからアクセスしてメールの作成や送信、受信、閲覧、添付ファイルのダウンロードなどをできるようにしたシステムを「Webメール」(webmail)という。

フリーメールサービスの多くは標準の操作画面をWebメールの形で提供しており、メールクライアントなどを導入・設定しなくてもWebブラウザのみでメールの送受信を行うことができるようになっている。企業などの組織で運用されるメールシステムでもWebメールを提供する場合があり、自宅や出先のコンピュータなどからアクセスできるようになっている。

メッセージの形式

電子メールには原則として文字(テキスト)データのみを記載することができる。特別な記法や書式を用いずに素の状態の文字データのみが記されたメールを「テキストメール」という。WebページのようにHTMLやCSSなどの言語を用いて書式や装飾、レイアウトなどの指定が埋め込まれたものは「HTMLメール」という。

また、画像や音声、動画、データファイル、プログラムファイルなどテキスト形式ではないデータ(バイナリデータ)を一定の手順でテキストデータに変換して文字メッセージと一緒に送ることができる。こうしたデータをメッセージ中に埋め込む方式の標準として「MIME」(Multipurpose Internet Mail Extension/マイム)が規定されており、これを利用してメールに埋め込んだファイルを「添付ファイル」(attachment file)という。

電子メールの普及と応用

電子メールはWeb(WWW)と共にインターネットの主要な応用サービスとして広く普及し、情報機器間でメッセージを伝達する社会インフラとして機能している。現在ではパソコンやスマートフォン、タブレット端末などのオペレーティングシステム(OS)の多くは標準でメールクライアントを内蔵しており、誰でもすぐに利用できるようになっている。

電子メールシステムでは一通のメールを複数の宛先へ同時に送信する同報送信・一斉配信も容易なため、グループ共通のアドレスを用意してメンバー間の連絡や議論などに用いる「メーリングリスト」(mailing list)や、発行者が購読者に定期的にメールで情報を届ける「メールマガジン」(mail magazine)などの応用システムも活発に利用されている。

一方、広告メールを多数のメールアドレスに宛て無差別に送信する「スパムメール」(spam mail)や、添付ファイルの仕組みをコンピュータウイルスの感染経路に悪用する「ウイルスメール」(virus mail)、送信元を偽って受信者を騙し秘密の情報を詐取する「フィッシング」(phishing)など、電子メールを悪用した迷惑行為や犯罪なども起きており、社会問題ともなっている。

SMTP 【Simple Mail Transfer Protocol】 ⭐⭐⭐

インターネットなどのIPネットワークで標準的に用いられる、電子メール(eメール)を伝送するための通信手順(プロトコル)の一つ。メッセージの発信やサーバ間の転送に用いられる。

利用者の操作するメールソフト(メールクライアント)からメールサーバにメッセージの送信を依頼する際や、メールサーバ間でメッセージを転送する際にシステム間で交わされる要求や応答のデータ形式、伝送手順などを定めている。

SMTPでメッセージを転送するソフトウェアを「MTA」(Mail Transfer Agent)あるいは「SMTPサーバ」(SMTP server)という。一方、受信側でクライアントへメッセージを配送するソフトウェアは「MRA」(Mail Retrieval Agent)と呼ばれ、受信プロトコルの違いによりPOP3サーバ、IMAP4サーバなどに分かれる。

SMTPは1980年代から使われている古いプロトコルで、最初の仕様はIETFによって1982年にRFC 821として規格化された。幾度かの改訂を経て2008年に最新版のRFC 5321が発行されている。1994年に追加された拡張機能やコマンド群は「ESMTP」(SMTP Service Extensions)と呼ばれることもある。

認証や暗号化の拡張

SMTPの当初の仕様には利用者の認証などセキュリティ機能が欠けていたため、SMTPコマンドを拡張して認証を行う「SMTP認証」(SMTP-AUTH)や、POP3の認証機能を借用してPOP3で認証した相手に一定時間SMTPによる接続を許可する「POP before SMTP」(PbS)などの仕様が策定された。

また、SMTP自体には送受信データの暗号化の機能は用意されていないため、一階層下のトランスポート層でSSL/TLS接続を行い、SMTP通信全体を暗号化する「SMTPS」(SMTP over SSL/TLS)が用意されている。通常のSMTP接続を区別するため専用のポート番号(標準ではTCPの465番ポート)で運用する。

インターネットでメールの利用が広まると迷惑メールやウイルスメール、フィッシング詐欺などの問題が生じたため、送信元のチェックなどを行う「SPF」(Sender Policy Framework)や「DKIM」(DomainKeys Identified Mail)、「DMARC」(Domain-based Message Authentication, Reporting, and Conformance)などの仕様が整備され、SMTPと併用されている。

サブミッションポートの分離

SMTPサーバは標準ではTCPの25番ポートで接続を待ち受けるが、利用者からの送信依頼とサーバ間のメッセージ転送に同じポートを使うと同じポートで両者の通信が混在し、通信経路の暗号化や迷惑メール対策などを行うのに不都合だった。

現在では、サーバ間の転送にのみ25番を用い、送信依頼はTCPの587番ポート、SSL/TLSを併用したSMTPS接続による送信依頼には465番ポートを用いるのが標準となっている。この2つのポートを「サブミッションポート」(submission port)ともいう。

POP 【Post Office Protocol】 ⭐⭐

インターネットなどのTCP/IPネットワークで標準的に用いられる、電子メール(eメール)を受信するための通信規約(プロトコル)の一つ。受信サーバから利用者側へのメッセージの転送に用いられる。

利用者が自分宛ての電子メールを保管しているメールサーバにアクセスし、新しいメールが届いているか調べたり、手元のメールソフトに受信する通信手順やデータ形式を定めている。送信やサーバ間の配達にはSMTP(Simple Mail Transfer Protocol)という別のプロトコルを用いる。

POPを利用する場合は原則として、サーバに届いたメールはすべてクライアント(メールソフト)側にダウンロードしてから閲覧や未既読の管理、フォルダ分けなどを行い、受信済みのメールはサーバから削除される。

この方式はネットに接続しなくても過去の受信メールを見ることができ、サーバの受信メール保管容量も少なくて済むが、複数の端末で同じメールアドレスを利用したい場合には向いていない。そのような場合はサーバ上で既読管理や分類などを行うことができる「IMAP4」を使ったり、Webメールシステムを使う。

初版は標準化団体のIETFによってRFC 918として1984年に、広く利用されている第3版(POP3)は1988年にRFC 1081として標準化された。POP3は数次の改訂を経て1996年のRFC 1939が最新の仕様となっている。古くから電子メール受信の標準プロトコルとして広く利用され、現在も対応ソフトウェアが多く存在する。

インターネットが広く一般に公開される前に仕様が策定されたため、利用者認証のためのユーザー名やパスワードの送受信を平文(暗号化されていない状態)で送受信する仕組みとなっており、認証情報を暗号化する「APOP」(Authenticated POP)という拡張仕様が導入された。

APOPにも問題が見つかっており、WebにおけるHTTPS通信のように、POPによる通信全体をSSL/TLSで暗号化する「POP3 over SSL/TLS」(POP3S/POPS)の利用が推奨されている。標準のポート番号はPOP2がTCPの109番ポート、POP3が110番ポート、POP3Sが995番ポートとなっている。POP1はほとんど普及せず決まったポート番号はない。

IMAP 【Internet Message Access Protocol】 ⭐⭐⭐

インターネットなどのIPネットワークで標準的に用いられる、電子メール(eメール)を受信するための通信規約(プロトコル)の一つ。利用者が自分宛ての電子メールを保管しているメール受信サーバにアクセスし、新着を確認したり一覧から必要なものを選んで手元に受信する手順を定めている。

IMAPでは原則として、届いたメールをメールサーバ上にメールアドレス(アカウント)ごとに設けられた専用の保存領域(メールボックス)で管理する。利用者はサーバからメールの一覧を取得して必要な物を選択し、手元のコンピュータにダウンロードして閲覧する。

サーバ上で各メールの既読状態の管理、フォルダを用いた分類などを行なうこともでき、添付ファイルなどで容量が大きい場合などにメールの一部だけ(ヘッダ部分だけ、本文だけなど)受信する機能もある。メールをサーバ側で管理するため、一つのアドレスを複数のコンピュータから利用することも容易である。

POPとの比較

メール受信プロトコルとしてよく用いられるものには「POP」(POP3:Post Office Protocol)もあるが、POPではサーバにアクセスする度に届いているメールをすべて手元にダウンロードし、クライアント側でメールの保管や分類などの管理を行う。

IMAPはサーバ側でメールを保管するため、クライアント起動後に素早く新着や一覧を確認することができる。常に決まった端末を使うとは限らない場合(学校のコンピュータルームなど)や、一人で複数のコンピュータから利用する場合などにも適している。

ただし、サーバ側にメールの保管領域が大量に必要となるため、システムによっては受信容量の上限が厳しく制限され、古いメールを頻繁に削除しなければすぐに制限を超過して受信できなくなってしまう場合もある。

IMAPSによる暗号化

IMAP自体にはデータの暗号化やパスワードの秘匿といったセキュリティ保護機能がないため、暗号化プロトコルのSSL/TLSと併用してIMAPによる通信全体を暗号化する「IMAPS」(IMAP over SSL/TLS、「IMAP4S」とも)と呼ばれる通信方式が用いられることがある。通常のIMAPはTCPの143番ポートを利用することが多いが、IMAPSは993番を利用することが多い。

歴史

最も初期のバージョンはIETFが1988年にRFC 1064として策定したIMAP2だが、正式名称は現在と異なり “Interactive Mail Access Protocol” だった。1994年にIMAP4がRFC 1730として策定され、このとき現在の名称に改められた。IMAP4は最も普及したバージョンであり、単にIMAPといった場合はIMAP4を指すことが多い。IMAP4には様々な拡張仕様が追加され、2003年にはRFC 3501として改訂されている。

メールソフト 【メーラー】

電子メール(eメール)の作成や送受信、および送受信したメールの表示や保存、管理を行うことができるソフトウェア。

利用者の操作によって新しいメールを作成し、宛先や表題、本文などの記入、編集が行える。利用者が送信を指示するとあらかじめ設定されたメール送信サーバ(SMTPサーバ)へ接続し、メールを受け渡して送信を依頼する。また、受信を支持すると、あらかじめ設定されたメール受信サーバ(POP3サーバやIMAP4サーバ)へ接続し、利用者のメールボックスから届いたメールを受信する。

受信したメールは記憶装置の専用の保管場所に保存され、表題の一覧や本文を閲覧することができる。受信箱や送信済みなど種類に応じてフォルダに分類して整理する機能が提供されることが多い。また、「アドレス帳」機能により、よく送受信する相手の名前やメールアドレスなどを記録して簡単に呼び出すことができる。

メーラーは電子メールを扱うソフトウェアのうち、末端で利用者が直に操作するMUA(Mail User Agent)と呼ばれる種類のソフトで、メールの配送や送受信を担うメールサーバ(MTA/MRA/MDAなど)から見て、その機能を利用するクライアントであるため、電子メールクライアント(email client)とも呼ばれる。

「Windowsメール」や「iOSメール」のようにパソコンやスマートフォンのOSなどの機能の一部として標準で内蔵されている場合が多いが、「Mozilla Thunderbird」のように単体のソフトウェアとしても提供されているものを利用する人もいる。サーバとの接続や通信は標準化されたプロトコル(通信規約)によって行うため、利用者が好みの機能や操作感のものを選んで使用することができる。

Webメールシステムの場合には、クライアント機能はメールサーバの開発・運用者がサーバ側にWebアプリケーションとして実装しており、利用者側で任意のクライアントに切り替えることはできない。ただし、多くのWebメールサービスではメーラーから標準プロトコルによる接続やメールの送受信にも対応しており、(用意されたWebインターフェースを使わず)これを使用することはできる。

メールアドレス 【eメールアドレス】

インターネットなどのネットワーク上で電子メール(eメール)の差出元や宛先を記述・指定するために用いられる識別名。

アドレスの構造

メールアドレスは「John.Doe@example.com」のように「ローカル部@ドメイン名」といった形式になっている。ドメイン名が利用者の所属先や加入しているインターネット接続サービスなどネット上での識別名を表し、ローカル部がドメイン内で利用者を識別する固有の名前となっている。ローカル部はそのままメールサーバやシステムへのログインID(メールアカウント名)となっていることが多い。

ローカル部は最大64文字まで定義でき、いわゆるASCII文字(半角英数字・記号)のうち、アルファベット、数字、記号の一部( ! # $ % & ' * + - / = ? ^ _ ` { | } ~ )が利用できる。また、規格上は引用符("")で括ればスペース(空白文字)や特殊な記号( ( ) < > [ ] : ; @ , )なども利用できることになっている。

だが、ローカル部がそのままアカウント名を兼ねることが多いことなどから、多くのシステムやサービスでは記号の使用を制限しており、「.」「-」「_」など数文字のみを許可している。アルファベットの大文字と小文字は規格上は区別されると規定されているが、実際には既存のアドレスと綴りが同じで文字の大小が異なるものを別のアドレスとして取得することは許可されないことが多い。

アドレスの取得

メールアドレスはメールサーバを管理する団体などが所属・契約する各利用者に提供し、勤務先や通学先、契約している携帯電話事業者やインターネットサービスプロバイダ(ISP)などから取得できることが多い。

多くの人は勤務先など所属先の構成員としてのアドレスと、契約先の通信事業者などから取得した個人用・私用のアドレスを使い分けている。誰でも自由にメールアドレスを取得してメールの送受信が行える「フリーメール」あるいは「Webメール」サービスもあり、所属先や契約先などとは無関係に自分用のアドレスを取得することもできる。

グループ共有アドレス

企業などの組織では、電話番号の代表電話のように組織全体を代表する問い合わせ先のアドレスや、部署や窓口などの単位でアドレスを設定することもあり、送受信するメールは当該部門内や担当者間で共有される。

メーリングリストや一斉送信アドレスなどの仕組みを用いると、一つのアドレスをグループで共有し、メンバー全員に同時に同じメールを送ることができる。これは、メールサーバがメーリングリストのアドレスに宛てたメールを受け取ると登録された全員のアドレスに転送するという処理を自動的に行うことで実現されている。

メールサーバ ⭐⭐

電子メール(eメール)の送受信や配送を行うため、ネットワークに接続され常に稼働しているサーバコンピュータ。また、そのための機能を実装したサーバソフトウェア。

主に、発信者からの送信受付や宛先のサーバへの転送を担うサーバ(SMTPサーバなど)と、管理対象のメールアドレス向けのメールを外部から受信して保管し、受信者へ配達するサーバ(POP3サーバやIMAP4サーバなど)に分かれる。

いずれもメールサーバの一種だが、利用者の操作する電子メールクライアント(メールソフト、メーラー)の設定画面などでは、前者を「メール送信サーバ」、後者を「メール受信サーバ」などと呼ぶこともある。

メールアドレスを作成して外部と送受信するにはこの両方が必要となるが、これらはソフトウェアとしては通常別々に提供されている。小規模なシステムでは一台に両方を導入して送受信兼用のメールサーバとする場合もあるが、それぞれを運用するコンピュータを別々に用意して一体的に運用することもある。

SMTPサーバ

SMTP(Simple Mail Transfer Protocol)と呼ばれるインターネット標準の通信規約(プロトコル)に基づいてメールの送信や配送を行うメールサーバである。利用者の操作するクライアントからメッセージの送信依頼を受け付け、宛先に記載されたドメイン名を管轄するメールサーバを探し出してメールを配送する。

元来、送信と配達には同じ技術仕様と手順を用いていたが、不正にメッセージを送信する悪用事例が広まってしまったため、送信の受け付けには伝送路の暗号化(SMTPS)や正規利用者であることを示す認証(SMTP認証)が課されるのが一般的である。

POP3サーバ

POP3(Post Office Protocol 3)と呼ばれるインターネット標準の通信規約(プロトコル)に基づいて、外部から受信したメールを利用者に配達するメールサーバである。利用者のメールアドレスへの外部からの配送を受け付け、受信したメールを保管しておいてくれる。

個々人の使用するコンピュータは常にインターネットに繋がれているとは限らないため、外部から送信されたメッセージは一旦、当該ドメイン名を管轄するメール受信サーバが受け取り、利用者ごとに用意された記憶領域に一時保管される。

メールサーバはそのようなメール受信サーバの一つで、クライアントからのアクセスを受け付け、認証を行い本人であると確認すると、一時保管していたメッセージをまとめてクライアントに送信する。引き渡したメッセージは一時保管場所からは削除される。

IMAP4サーバ

IMAP4(Internet Mail Access Protocol 4)と呼ばれるインターネット標準の通信規約(プロトコル)に基づいて、外部から受信したメールを利用者に配達するメールサーバである。POP3サーバと役割は同じだが、メッセージの引き渡しや保管のルールが異なっている。

IMAP4サーバはPOP3サーバと同じように受信したメールを一時保管し、クライアントからアクセスを受け付けて引き渡すが、原則としてメッセージはサーバ側で管理される。クライアントへは各メッセージの表題や送信者、受信日時の一覧を渡し、利用者が指示したメッセージのみを送信する。

POP3とは異なりメッセージはサーバに残っているため、複数のコンピュータからメールにアクセスしたい場合などに便利だが、サーバ側には保管容量の制限が課されることが多く、満杯になって受信拒否されてしまわないよう、古いメッセージを削除する等の適切な管理が必要となる。

メールヘッダ

電子メールの冒頭部分に記載された、メッセージについての情報や制御用のデータのこと。差出人や宛先、題名などが含まれる。

インターネット電子メールの書式は標準規格で定められており、テキスト(文字)形式で冒頭が制御情報を記したヘッダ、1行空けて後半が本文となっている。ヘッダは1行に1項目(改行区切り)で、「項目名: 設定値<改行>」という書式で項目を列挙する。

項目名および設定値の書式についても標準が定められている。例えば、差出人のメールアドレスは「From:」、宛先のメールアドレスは「To:」、件名は「Subject:」、送信日時は「Date:」、差出人の所属は「Organization:」などとなっている。

状況に応じて追加する項目もあり、送信者が差出人と異なる場合は送信者のアドレスを「Sender:」に、返信先が差出人と異なる場合は返信先アドレスを「Reply-To:」に、宛先以外に複製を送信する場合は送信先を「Cc:」に(受信者に公開される)、受信者に知られずに複製を送信したい場合は送信先を「Bcc:」に、それぞれ記載する。

これらの項目は送信者がメールソフトで入力したり、受信者が閲覧する際に表示される内容だが、送受信システムの振る舞いを制御するために自動的に付与される項目もあり、メールソフト上では「ソースを表示」などの操作を行わない限り通常は表示されない。

こうした項目には「Received:」(転送時にサーバが転送元や転送先を記録として残す)、「In-Reply-To:」(過去の特定のメッセージの返信であることを示す)、「Message-ID:」(自動生成されたメッセージごとに固有の識別子)、「Precedence:」(配信の優先度指定)、「Return-Path:」(エラー時の通知先)などがある。

標準で定められていない項目をシステム側で独自に追加することもでき、その場合は項目名の先頭を「X-」から始めなければならない。そのような拡張項目は特定のシステムでしか正しく解釈されないが、送信側のメールクライアントソフトを意味する「X-Mailer:」のように慣用的に広く受け入れられている項目もある。

Web 【ウェブ】 ⭐⭐

インターネット上で標準的に用いられている文書の公開・閲覧システム。文字や図表、画像、動画などを組み合わせた文書を配布することができる。現代では様々なサービスやアプリケーションの運用基盤としても広く用いられる。

文書内の要素に別の文書を指し示す参照情報(ハイパーリンク)を埋め込むことができる「ハイパーテキスト」(hypertext)と呼ばれるシステムの一種である。“web” (ウェブ)とは「蜘蛛の巣」を意味する英単語で、多数の文書が互いにリンクを介して複雑に繋がり合っている様子を蜘蛛の巣の網目状の構造になぞらえている。

WebサーバとWebブラウザ

WWWで情報を提供するコンピュータやソフトウェアを「WWWサーバ」(web server)、利用者の操作によりサーバから情報を受信して表示や処理を行うコンピュータやソフトウェアを「Webクライアント」(web client)という。

Webクライアントのうち、受信したページの内容を整形して画面に表示し、人間が閲覧するために用いるものを特に「Webブラウザ」(web browser:ウェブブラウザ)という。サーバとクライアントの間の通信には「HTTPエイチティーティーピー」(Hypertext Transfer Protocol)と呼ばれる通信規約(プロトコル)が標準的に用いられる。

WWW上の情報資源の所在の指定には、「https://www.example.co.jp/index.html」といった形式の「URLユーアールエル」(Uniform Resource Locator)という表記法が用いられる。Webサーバを表すドメイン名(ホスト名)と、Webサーバ上での資源の位置を指し示すパス(階層的なディレクトリ名とファイル名の組み合わせ)を繋げた形式になっている。

WebページとWebサイト

WWWにおける情報の基礎的な単位は「Webページ」(web page)で、見出しや文章などの文字情報をもとにHTMLエイチティーエムエル(Hypertext Markup Language)やCSSシーエスエス(Cascading Style Sheet)などのコンピュータ言語で構造や体裁、見栄えを記述する。

HTMLは記述された文字情報の中にソフトウェアへの制御情報を埋め込むことができる「マークアップ言語」(markup language)と呼ばれる言語で、「この部分が見出し」「本文はここからここまで」「段落の区切りはここ」といった指示を文書中に埋め込む形で記述することができる。

Webブラウザはこの制御情報に基づいて、タイトルを中央揃えにしたり、小見出しを太い大きな文字で表示したり、段落の間に空白を差し込むなど指定された整形や装飾を行い、閲覧者が文書の構造を把握しやすいように表示してくれる。

ページ内には文章だけでなく箇条書き(リスト)や表(テーブル)、図形、画像、動画、入力要素(フォーム)などを掲載することができる。画像や動画など文字で書き表せない要素は外部のファイルをURLで指定して埋め込むことができる。

要素のページ内での配置や大きさ、枠線や罫線、文字の字形(フォント)や色といった具体的な見栄えに関する指定項目(スタイルという)は、当初はHTMLで構造とともに記述していたが、CSSという専用の言語で構造とは別に指定する方式が主流となっている。

ページ内の要素には外部の他の資源(多くの場合は他のWebページ)のURLを指し示すリンクを設定することができ、ブラウザ画面に表示されたリンクを指定して開くよう指示(クリックやタップなど)すると、表示がリンク中のURLで指定されたページに切り替わる。簡単な操作でリンクをたどって次々に文書から文書へ表示を切り替えていくことができる。

このリンク機能を利用して、書籍のように複数のページ群をまとめた単位を「Webサイト」(web site)という。サイト内のページからは外部のサイトのページへリンクを張ることもでき、Web全体がリンクを介して連結された巨大な地球規模の文書データベースとなっている。

Webアプリケーション・Webサービス

Webサーバには静的なファイルの送信だけでなく、ブラウザからの要求に基づいて動的にコンピュータプログラムを実行し、何らかのデータ処理を行って結果をブラウザに応答することもできる。

また、Webブラウザにはページ上に記述された簡易なプログラム(スクリプトという)を実行し、サーバと任意のタイミングで通信したり、利用者の操作に応じて表示内容を変化させたりすることができる。

このような動的な仕組みを組み合わせ、サーバとブラウザが連携して利用者が対話的に操作することができるアプリケーションソフトを構築することができ、これを「Webアプリケーション」(web application)あるいは「Webサービス」(web service)という。著名な応用例として、ブラウザで買い物ができるオンラインショップ(ECサイト)や、利用者同士がコミュニケーションできるSNSなどのネットサービスがある。

歴史と名称

WWWはインターネットがまだ学術機関を中心に利用されていた頃、1989年に欧州核物理学研究所(CERN)のティム・バーナーズ・リー(Tim Berners-Lee)氏が所内の論文公開・閲覧システムとして考案したものが基礎となっている。

1990年代にインターネットが一般に開放され普及していく過程で、電子メールなどと共にネットの代表的な応用システムとして広く利用されるようになった。2000年代中頃には主に日本を含む先進国で欠かすことのできない重要な情報インフラの一つに成長している。

もとは “World Wide Webワールドワイドウェブ”、略して “WWWダブリューダブリューダブリュー” が正式名称で、現在も「https://www.example.jp/」のようにWebサーバのホスト名などにこの名が残っているもの。英語では次第に “the Webザ・ウェブ” (固有名詞のWeb)のように略されるようになり、さらに進んで現在では一般名詞の “web” がインターネットのWebを指すことが増えている。日本では当初「ホームページ」の名称で紹介され、現在も初心者向けの説明などで多用されるが、「ウェブ」「Web」の呼称が浸透しつつある。

Webアプリケーション

Webページと共通の技術を応用して構築・運用されるアプリケーションソフト。プログラムやデータの主要部分はWebサーバ上に置かれ、利用者はインターネットなどを通じて遠隔からWebブラウザでこれにアクセスし、表示や操作を行う。

多くのWebサーバソフトウェアには、閲覧者からの要求に応じて動的にプログラムを実行して結果を返す機能が内蔵されており、これを利用してオペレーティングシステム(OS)のデスクトップ上で実行されるアプリケーションソフトのように何らかの機能を果たすソフトウェアを実装したものをWebアプリケーションと呼ぶ。

利用者はWebブラウザ(専用のクライアントソフトを使用する場合もある)を用いてWebサーバに接続し、Webページとして記述された操作画面を呼び出して使用する。利用者からの操作や入力は随時サーバへ送信され、サーバから処理結果が返却される。

2000年代前半頃までは利用者による入力や操作、サーバへのデータ送信のたびにWebページの遷移や再読込が必要なものが多かったが、近年ではブラウザ側で簡易なクライアントソフトを動作させて同じ画面を表示したまま通信可能なつくりのものが一般的となっている。

コンピュータ上で直に実行されるスタンドアローン型のアプリケーションに比べ、プログラムやデータをWebサーバ側で管理するため、Webブラウザさえあればどこからでも同じように自分の操作画面やデータを呼び出すことができる。ソフトウェアを導入や更新、配布なども不要で、いつでも常に最新の版を使用できる。

一方、ネットワークに接続されてWebサーバと通信可能な状況でなけば使えず、手元のコンピュータが健全でもサーバ側の問題で使用不能になったりデータが喪失する等のトラブルに巻き込まれることがある。また、OSやブラウザの種類による仕様や挙動の違いにより不具合が生じたり、使用できない場合もある。

HTTP 【Hypertext Transfer Protocol】 ⭐⭐⭐

WebサーバとWebクライアントの間でデータの送受信を行うために用いられるプロトコル(通信規約)。Webページを構成するHTMLファイルや、ページに関連付けられたスタイルシート、スクリプト、画像、音声、動画などのファイルを、データ形式などのメタ情報を含めてやり取りすることができる。

HTTPはクライアントから要求(HTTPリクエスト)を送り、サーバが応答(HTTPレスポンス)を返すプル型(リクエスト/レスポンス型)の通信を基本としており、WebブラウザやWebクローラなどのクライアントから送信する要求の形式や、Webサーバからの応答の形式などを定めている。

HTTPリクエストおよびレスポンスは要求や返答の内容、資源の種類や形式などの情報、および関連する情報を記述した「ヘッダ部」(header)と、送受信する資源(ファイルなど)の本体である「ボディ部」(body)で構成される。ボディは基本的にはレスポンスに存在するが、クライアント側からデータを送信する際にはリクエストにも付加される。

HTTPは下位(トランスポート層)のプロトコルとして標準ではTCPを利用することが多いが、SSL/TLSを用いて暗号化されて伝送されることもある。この通信手順は「HTTP over SSL/TLS」と呼ばれ、URL/URIのスキーム名として通常の「http:」に代えて「https:」を用いる。

Cookieによるセッション管理

HTTPそのものは複数回の通信をまたぐ状態の保存・管理を行わないステートレス型のシンプルなプロトコルだが、「Cookie」(クッキー)と呼ばれる拡張仕様により状態管理ができるようになっている。

Cookieはサーバがレスポンスヘッダの一部としてクライアントに送付する短い文字データで、クライアントはこれをストレージなどに恒久的(ただし有効期限が切れると消滅する)に保存する。次回サーバへリクエストを送付する際にはヘッダに前回受信したCookieの内容を書き入れて送信する。

サーバはCookieを参照することで個々のクライアントを識別・同定することができる。サーバとクライアントの間で何往復も繰り返しやり取りが必要な複雑な処理(セッション)を容易に実装することができ、間が空いてから再アクセスしてもサーバは相手がどのクライアントなのか見分けることができる。

認証方式

HTTPではクライアントを用いてアクセスしてきた利用者を識別・認証し、アクセス権限に応じたサービスを提供するため、認証手順(HTTP認証)についても定めている。当初規定されたのは単純にユーザー名とパスワードをやり取りする「基本認証」(BASIC認証)だが、パスワードが通信途上で盗聴される危険性に対処するためにチャレンジ/レスポンス認証の一種である「ダイジェスト認証」(Digest認証)が追加された。

現在では利用者の認証が必要な用途ではHTTP通信自体を丸ごと暗号化するSSL/TLSを用いるのが一般的となっており、認証機能もアプリケーション側で実装するようになったため、HTTP自体の認証機能はあまり使われなくなっている。

歴史

HTTPの最初のバージョン(HTTP/0.9)は、Webを考案したティム・バーナーズ・リー(Timothy J. Berners-Lee)氏らによって1991年に公表された。その後、インターネット関連技術の標準化を推進するIETF(Internet Engineering Task Force)によって標準化が進められ、1996年にHTTP/1.0(RFC 1945)が、1997年に改良版のHTTP/1.1(RFC 2068)が発行された。

現在最も普及しているのはこのHTTP/1.1で、2014年にRFC 7230~7235として改訂された。2015年には互換性を維持しつつ大幅な機能強化を図ったHTTP/2が、2022年にはトランスポート層にQUICを統合したHTTP/3が標準化され、一部の仕様が大きく変更されている。

URL 【Uniform Resource Locator】 ⭐⭐⭐

インターネット上に存在するデータやサービスなどの情報資源の位置を記述する標準的な記法の一つ。Webページの所在を書き表す方式として広く普及している。

様々な資源の所在地にあたる情報の記述の仕方を定めたもので、資源の取得方法(種類)や、ネット上での当該資源の存在するコンピュータの識別名や識別番号、コンピュータ内部での資源の位置などで構成される。

先頭には「http:」「ftp:」のように必ず資源の取得方法を記述する決まりで、これを「スキーム名」という。スキーム名はデータの送受信を行うプロトコル(通信規約)名であることが多いが、ローカルファイルの所在を記述する「file:」のようなスキーム名もある。

スキーム名に続く識別情報の記述形式はスキーム毎に異なるが、プロトコル系のスキームではサーバのドメイン名(ホスト名)やIPアドレス、ポート番号、ディレクトリ名、ファイル名を区切り記号を挟んで順番に記述する形式が一般的である。

Web上の資源を表すhttpスキームでは「http://e-words.jp:80/w/URL.html」のような構成となり、「http:」がスキーム名、「e-words.jp」がコンピュータのドメイン名、「:80」が通信に用いるポート番号、「/w/」がWebサーバ上での目的のディレクトリ、「URL.html」が取得したいファイル名である。

URLの標準規格は1994年にIETFによってRFC 1738として策定された。その後、1998年に資源の(所在から独立した)識別名の記法である「URN」(Universal Resource Name)を含む、より汎用的な規格として「URI」(Universal Resource Identifier)が策定された。現在は正式にはURLはURI仕様の一部となっている。

検索エンジン 【サーチエンジン】

あるシステムに存在するデータやファイルを取得して内容の索引付けを行い、利用者がキーワードや条件を入力して検索できるようにしたシステム。そのような機能に特化したソフトウェアなどのことを指す場合と、Web上の情報を検索するネットサービスやWebサイトを指す場合がある。

広義には、ある情報システムやストレージ(記憶装置)などに保管されたファイルやデータの集合を読み込んで、どのような情報がどこに存在するといった索引(インデックス)を作成し、利用者が入力したキーワードや検索条件に合致するデータを探し出して列挙するシステム全般を指す。

特に、外部のソフトウェアなどに組み込まれて検索機能を提供する、部品化されたソフトウェアのことをこのように呼ぶことが多い。企業内のデータベースなどを検索するシステムや、コンピュータ内に保存された文書ファイルなどを検索するシステムが存在する。

Web検索エンジン

狭義には、Web上で公開されているWebページや画像、動画、文書ファイルなどを対象に、ソフトウェアによって自動的に様々なサイトのデータを収集して索引付けし、様々な条件で検索できるようにしたインターネット上のサービスのことを検索エンジンという。現代では単に検索エンジンといった場合はこちらを指すのが一般的となっている。

検索エンジンはWebクローラー(crawler)あるいはロボット(bot)と呼ばれる巡回ソフトを用いて日々Web上で公開されている情報を収集し、テキスト(文字)情報などを抽出して索引付け(インデクシング)している。

利用者は検索エンジンのサイト上のフォームから検索したい語やフレーズなどを入力すると、それらが含まれるページの一覧を作成して返答する。このページはSERP(Search Engine Result Page)と呼ばれ、検索ソフトウェアによって検索条件との関連度が高いと判断されたページやサイトから順番に、ページのURLやタイトル、内容の要約などが表示される。

2000年前後のインターネット普及期にはアメリカを中心に様々な検索エンジンサービスが勃興し覇を競ったが、2010年代には世界的には米グーグル(Google)社の「Google」が支配的な地位を確立し、二番手の米マイクロソフト(Microsoft)社「Bing」(ビング)を大きく引き離している。

日米Yahoo!(ヤフー)のようにかつては自前の検索エンジンを開発・運用していたが、自社製システムは廃止してWeb検索機能をGoogleやBingに委託するようになったネット大手も多い。中国の「百度」(Baidu/バイドゥ)や韓国の「NAVER」(ネイバー)、ロシアの「Yandex」(ヤンデックス)のように、国内大手の方が強い国もある。

AND検索 【アンド検索】

情報を検索する際の条件の指定方法の一つで、複数の条件をいずれも満たすものを検索すること。

条件AとBがあるとき、検索条件を「A and B」と指定すると、「AとBの両方の条件を満たす」という意味になる。条件が3つ以上の場合も同様で、挙げられたすべてを満たすという意味になる。

Web検索エンジンのキーワード指定では、キーワードを半角スペースで区切るとAND検索の指定を意味することが多く、列挙したキーワードすべてを含むページを検索せよという意味になる。例えば、「スクリーンショット Android」と検索すると、「スクリーンショット」と「Android」の両方を含むページが検索される。

一方、挙げられた条件の少なくとも一つを満たすものを検索することは「OR検索」、ある条件を満たさないものを検索することは「NOT検索」という。

OR検索 【オア検索】

情報を検索する際の条件の指定方法の一つで、複数の条件のうち少なくともいずれか一つを満たすものを検索すること。

条件AとBがあるとき、検索条件を「A or B」と指定すると、「AとBのいずれかの条件を満たす」という意味になる。条件が3つ以上の場合も同様で、挙げられた条件の少なくともいずれか一つを満たすという意味になる。

Web検索エンジンのキーワード指定では、キーワードを「|」(縦棒、縦線、バーティカルバーなどと呼ばれる)で区切るとOR検索の指定を意味することが多く、列挙したキーワードのいずれかを含むページを検索せよという意味になる。例えば、「iPad|Androidタブレット」と検索すると、「iPad」と「Androidタブレット」のどちらか、あるいは両方を含むページが検索される。

一方、挙げられた条件のすべてを満たすものを検索することは「AND検索」、ある条件を満たさないものを検索することは「NOT検索」という。

NOT検索 【マイナス検索】

情報を検索する際に条件を指定する方法の一つで、ある条件を満たさないものを検索すること。

条件Aについて検索条件を「not A」と指定すると、「Aを満たさない」という意味になる。通常は他の検索条件と組み合わせ、得られた検索結果から特定の条件に一致するものだけを除外するために用いられる。

一方、複数の検索条件を列挙して「すべてを満たす」ものを検索する指定方法は「AND検索」(アンド検索)、「少なくとも一つを満たす」ものを検索する指定方法は「OR検索」(オア検索)という。

検索エンジンのマイナス検索

Web検索エンジンのキーワード指定では、キーワードの先頭に「-」(ハイフン、マイナス記号)を付けるとNOT検索の意味になる記法を採用していることが多く、「マイナス検索」とも呼ばれる。

通常は他のキーワードや検索条件と組み合わせて検索結果を絞り込むのに用いられる。例えば、「アリ -シロアリ」と検索すると、「アリ」を含むWebページから「シロアリ」を含むものを除外したページ一覧が表示される。

クローラ 【スパイダー】

様々なWebサイトを自動的に巡回し、公開されている文書や画像などのデータを収集していくソフトウェアやシステム。目的に応じて収集するサイトの範囲やデータの種類、巡回頻度などは異なる。

単にクローラといった場合はWeb検索エンジンが運用するものを指すことが多いが、Web上の情報を対象とした研究や調査などのために運用されているものや、スパム業者が公開メールアドレスを収集するために運用しているものもある。

検索クローラはWeb上で公開されている情報を網羅的に取得してデータベース化し、索引付けして高速に全文検索できるようにするもので、世界中の公開Webページを巡回して定期的にデータを取得する。ページの内容は解析され、見出しや文章を元に索引が作成される他、検索結果に内容の要約や抜粋が表示されることもある。ページ内でリンクとして設定されているURLなどをたどってサイト内の別のページや他のWebサイトを芋づる式に発見していく。

クローラはHTTPヘッダのユーザーエージェント(UA)文字列で「○○bot」「×× Crawler」などと名乗り、運用しているサイトのURLやドメイン名、連絡先アドレスなどを併記していることが多いが、一般的なWebブラウザのUA名を名乗ってなりしましているものもある。

Webサイト管理者はサイトの最上位階層(ルート)のディレクトリに「robots.txt」という名前のファイルを作成し、クローラがアクセス可能な範囲やアクセスを禁止するファイルやディレクトリなどを指定することができる。クローラすべてを対象とすることも、特定のクローラのみを名指しで指定することもできるが、クローラ側が従うかどうかは開発者や運用者次第であり強制力はない。

暗号

ある情報を特定の決まった人しか読めないように一定の手順に基づいて無意味な文字や符号の列に置き換えたもの。情報の伝送や記録、保存の際、第三者に盗み見られたり改竄されないようにするために作成される。

通信や記録の内容を秘匿する手法には様々な種類があり、内容を記録した媒体の存在自体を隠す方法などもあるが、暗号は記録内容が読み取られても何が書かれているのか分からないようにする手法を指す。

歴史的には、暗号表などを事前に作成・共有し、単語やフレーズ単位で無関係な別の文字などに置き換える「コード」(code)と、文字単位で置き換えや位置の入れ替えを行う「サイファー」(cipher)に分類される。現代のコンピュータなどが利用する暗号は後者の一種とみなされる。

暗号にまつわる用語

暗号によって秘匿したい情報のことを「平文」(ひらぶん/plain text)、これを暗号に変換する操作を「暗号化」(encryption)、出来上がった無意味な符号列を「暗号文」(cipher text)という。現代のコンピュータによる暗号化は一定の数学的な計算手順「暗号アルゴリズム」(encryption algorithm)によってビット列を操作することによって行われる。

同じ平文を同じアルゴリズムで暗号化しても毎回異なる暗号文が得られるように、平文の他に毎回異なる「暗号鍵」(cipher key)を生成し、計算手順に加える。平文が同じでも暗号鍵が異なれば暗号文も異なり、アルゴリズムが分かっていても暗号鍵が分からなければ読み解くことはできない。

正規の権限を持つ人が、暗号鍵を用いて暗号文を平文に戻すことを「復号」(decryption / decode / decipher)、権限の無い第三者が内容を盗み見るため暗号鍵の割り出しや他の方法による平文の復元を試みることを「解読」(cryptanalysis)あるいは「攻撃」(attack)という。

共通鍵暗号と公開鍵暗号

暗号化と復号に同じ暗号鍵を用いる暗号方式を「共通鍵暗号」(common key cryptosystem/共有鍵暗号)あるいは「秘密鍵暗号」(secret key cryptosystem)という。情報の送信者と受信者は安全な方法で鍵を共有する必要がある。

一方、対になる二つの鍵を用いて片方で暗号化、もう一方で復号を行う方式を「公開鍵暗号」(public key cryptosystem)という。暗号化に用いた鍵では復号できず、一方の鍵からもう一方を割り出すことも困難という性質があり、片方は所有者の元で秘匿され、対になるもう片方は公開されるためこのように呼ばれる。

暗号に似た変換処理

暗号は平文への復元を前提とした(情報の欠損を伴わない)変換を行う手法を指すが、情報を秘匿するために行われる変換処理の中には、元の状態に戻せない不可逆な変換を行う手法もある。データのハッシュ化やプログラムコードの難読化などである。逆に、映像伝送のスクランブル化などは伝送符号を乱雑化するが、情報を秘匿する目的は無いため一定の手順で誰でも元の情報を復元できる(暗号化を兼ねる場合もある)。

暗号化 【エンクリプション】 ⭐⭐⭐

情報を第三者に盗み見られずに伝達あるいは保存するため、特定の手順に基づいて元の状態が容易に推定できない形式に変換すること。現代では、コンピュータを用いて特定の計算手順と秘密の情報に基づいてデータを変換することを指す。

伝達・保存したいデータそのものである「平文」(cleartext)と、これとは別に用意された短い秘密の符号である「暗号鍵」(cipher key)を組み合わせ、あらかじめ定められた手順によりデータの演算、加工を行い、一見すると意味が分からない符号の羅列である「暗号文」(ciphertext/cryptogram)に置き換える操作を指す。

暗号文を正規の暗号鍵を用いて平文に戻す処理を「復号」(decipher/decryption)という。正規の鍵が分からない状態で暗号鍵または平文を割り出そうとすることを「攻撃」(attack)、実際に割り出すことを「解読」(crack)という。

共通鍵暗号と公開鍵暗号

暗号化と復号に同じ暗号鍵を用いる暗号方式を「共通鍵暗号」(common key cryptosystem)「共有鍵暗号」あるいは「秘密鍵暗号」(secret key cryptosystem)という。公開鍵暗号が発明される以前はこの方式しかなかった。

一方、対(ペア)になる二つの鍵を用いて、片方で暗号化、もう一方で復号を行う方式を「公開鍵暗号」(public key cryptosystem)という。鍵ペアのうち片方は公開し、片方は秘匿した状態で運用される。暗号化に用いた鍵では復号できず、一方の鍵からもう一方を割り出すことも困難という性質があり、デジタル署名などにも応用される。

慣用的な用法

厳密には暗号化とは言えないが、目的や手法が似ているために慣用的に暗号化と呼ばれることがある変換手法がいくつかある。例えば、原文から一定の計算手順で特徴的な固定長のデータを算出する「ハッシュ関数」(hash function)および「ハッシュ化」(hashing)は、計算後のハッシュ値から元のデータに戻すことは原理的にできないため暗号化とは区別されるが、原文を秘匿する目的に使われることがあるため、そのような文脈では分かりやすさを優先して慣用的に暗号化と呼ばれることがある。

また、暗号鍵に相当する秘密の情報を用いずにデータを一定の手順で乱雑化する「スクランブル化」(scrambling)や、コンピュータプログラムのソースコードなどをコンピュータが解釈・実行できる状態を保ったまま人が容易に読み下せない形式に変換する「難読化」(obfuscation)なども、慣用的に暗号化と呼ばれることがある。

暗号文 ⭐⭐

暗号技術によって元の状態から変換され、そのままでは判読不能になったデータ。暗号化前の元のデータのことは「平文」(ひらぶん)という。一般には暗号文を指して暗号と呼ぶことも多い。

ある情報を、特定の決まった人しか読めないように一定の手順に基づいて無意味な文字や符号の列に置き換えることを暗号(手順そのものを指す場合は「暗号化」)という。ある平文を特定の暗号方式と暗号鍵により変換して得られる符号列を暗号文という。

現代の暗号技術では様々な形式のデータを暗号化の対象とするため、暗号「文」といっても文章(文字データ)とは限らず、画像や動画、音声、コンピュータプログラムなど任意の形式のデータを暗号化したもの全般を指す概念である。

暗号文として古代から近代までは、単語や句といった単位で置換表などを用いて人力で他の表現に置き換えた「コード」(codetext)がよく用いられたが、現代ではコンピュータによる自動処理によって文字やビット、バイトなどの単位で別の表現に置き換えた「サイファー」(ciphertext)が一般的となっている。

暗号文は復号処理によって平文に戻すことができ、かつ、適切な暗号鍵を持たない人がすぐには読み解くことができないものを指す。情報が欠落して平文に戻せない「ハッシュ値」や、表現はそのままで存在を秘匿する「電子透かし」(あるいは「ステガノグラフィ」)などは含まない。ただし、一般社会の慣用的な用語法では、これらもある種の暗号文として扱われることがある。

復号 【復号化】 ⭐⭐⭐

暗号化やデータ圧縮など何らかの変換処理によって得られた符号列から、元のデータを復元すること。

データや信号などを、何らかの目的のために符号化(encode)することがある。盗聴を防ぐための暗号化やデータ量を削減するための圧縮、伝送中の信号の誤りに備えた誤り訂正符号の付与などである。

このように元の状態から変換された符号列から、符号化とは逆方向の変換処理を行い、元のデータに復元する処理や工程を復号という。暗号の場合には、暗号化に用いた秘密の情報(暗号鍵)を用いて元のデータを得ることを意味し、これを用いずに元の情報を復元することは「解読」という。

「暗号」が暗号文の意味を持ち、変換過程のことを「暗号化」というため、同じように「復号化」と表記する例も見られるが、一般には符号の逆変換工程のことを「復号」と呼び、得られたデータを「復号」とは呼ばないため、復号化という表記は誤りであるとみなされることが多い。

英語では “decode” (動詞) “decoding” (名詞)というが、特に暗号の復号のことは “decrypt” / “decryption” あるいは “decipher” ということが多い。(暗号鍵を用いない)解読のことは “attack” “break” “crack” などのように表現することが多い。

平文 【クリアテキスト】 ⭐⭐⭐

暗号化されていない状態のデータ。暗号技術に基づく復号、解読などの操作を行わなくても、そのままで内容を取り扱うことができる状態のデータのことを指す。

「文」(text)という語が充てられ、「パスワードを平文で送る」といったように、実際、多くの場面で文字(テキスト)を指すが、暗号化されていないデータ全般を含む概念であり、文脈によっては画像、音声、動画、実行形式のコンピュータプログラムなどのバイナリ形式のデータを指す場合もある。

平文のことを「プレーンテキスト」(plaintext)と呼ぶこともあるが、これは暗号以外の分野ではバイナリデータの対義語(文字コードに規定された符号のみからなる、文字列として入出力可能なデータ列)であり、必ずしも「暗号化されていない」という意味とは限らない。

慣用的に「ひらぶん」と湯桶読みすることが多いが、例えばJIS規格(JIS X 0008 情報処理用語)では「ひらぶん」と「へいぶん」が併記されており、「へいぶん」が誤りというわけではない。

平文認証 (クリアテキスト認証/プレーンテキスト認証)

利用者認証などで、認証に必要な情報を暗号化などせずにそのままの形で送受信することを平文認証、プレーンテキスト認証(plaintext authentication)、クリアテキスト認証(cleartext authentication)などという。

認証情報の伝送方式として最も単純なもので、データの暗号化やハッシュ化などを行わず、利用者などの識別子(ID、ユーザ名など)や本人であることを確認する秘密の情報(パスワード、パスコード、パスフレーズ、暗証番号など)をそのままやり取りする。

通信回線やネットワークを介して認証を行う際に、信用できない通信経路上で平文認証を行うと途中で悪意の第三者による盗聴や改竄、なりすましなどの被害にあう危険性があるため、暗号化などに対応した認証方式を用いる必要がある。

暗号化 【エンクリプション】

情報を第三者に盗み見られずに伝達あるいは保存するため、特定の手順に基づいて元の状態が容易に推定できない形式に変換すること。現代では、コンピュータを用いて特定の計算手順と秘密の情報に基づいてデータを変換することを指す。

伝達・保存したいデータそのものである「平文」(cleartext)と、これとは別に用意された短い秘密の符号である「暗号鍵」(cipher key)を組み合わせ、あらかじめ定められた手順によりデータの演算、加工を行い、一見すると意味が分からない符号の羅列である「暗号文」(ciphertext/cryptogram)に置き換える操作を指す。

暗号文を正規の暗号鍵を用いて平文に戻す処理を「復号」(decipher/decryption)という。正規の鍵が分からない状態で暗号鍵または平文を割り出そうとすることを「攻撃」(attack)、実際に割り出すことを「解読」(crack)という。

共通鍵暗号と公開鍵暗号

暗号方式と復号に同じ暗号鍵を用いる暗号方式を「共通鍵暗号」(common key cryptosystem)「共有鍵暗号」あるいは「秘密鍵暗号」(secret key cryptosystem)という。公開鍵暗号が発明される以前はこの方式しかなかった。

一方、対(ペア)になる二つの鍵を用いて、片方で暗号化、もう一方で復号を行う方式を「公開鍵暗号」(public key cryptosystem)という。鍵ペアのうち片方は公開し、片方は秘匿した状態で運用される。暗号方式に用いた鍵では復号できず、一方の鍵からもう一方を割り出すことも困難という性質があり、デジタル署名などにも応用される。

慣用的な用法

厳密には暗号方式とは言えないが、目的や手法が似ているために慣用的に暗号方式と呼ばれることがある変換手法がいくつかある。例えば、原文から一定の計算手順で特徴的な固定長のデータを算出する「ハッシュ関数」(hash function)および「ハッシュ化」(hashing)は、計算後のハッシュ値から元のデータに戻すことは原理的にできないため暗号方式とは区別されるが、原文を秘匿する目的に使われることがあるため、そのような文脈では分かりやすさを優先して慣用的に暗号方式と呼ばれることがある。

また、暗号鍵に相当する秘密の情報を用いずにデータを一定の手順で乱雑化する「スクランブル化」(scrambling)や、コンピュータプログラムのソースコードなどをコンピュータが解釈・実行できる状態を保ったまま人が容易に読み下せない形式に変換する「難読化」(obfuscation)なども、慣用的に暗号方式と呼ばれることがある。

共通鍵暗号 【秘密鍵暗号】 ⭐⭐⭐

暗号化と復号に同じ暗号鍵を用いる暗号方式。暗号文の送信者と受信者で同じ鍵を共有する必要があり、あらかじめ安全な経路で鍵を共有しなければならない。

暗号化の対象となる平文と、単一の暗号鍵を用いて、特定の計算手順(暗号アルゴリズム)により暗号文を得る。平文と鍵のいずれかが異なれば暗号文も異なる。暗号文を元の平文に戻すには、暗号化に用いた鍵によって暗号化時と逆方向の変換を行う。

古代より換字表を鍵としたものなど様々な方式が利用されてきたが、現代では、数十から数百ビット程度の規則性のないデータを鍵として、任意の長さの平文をコンピュータによる計算により暗号化する方式が普及している。アルゴリズムは公開を原則とし、暗号鍵の推測しにくさ(特に、鍵の長さ)によって安全性を確保する。

暗号化を行うデータの区切り方の違いにより、一定の長さごとのブロック単位で暗号化を行うものを「ブロック暗号」(block cipher)、1ビット単位で処理するものを「ストリーム暗号」(stream cipher)という。ブロック暗号は64ビットや128ビット、長いものでは256ビットなどの単位ごとにデータを区切り、それぞれの塊ごとに暗号化と復号を行う。

鍵が分かれば暗号文を平文に戻すことができるため、送信者と受信者の間で鍵を安全に受け渡して共有する必要がある。多数の相手との間で暗号を利用する場合、全員に同じ鍵を渡せば漏洩の危険が高まり、すべて別の鍵にすれば鍵の生成や受け渡し、暗号化のコストが増大するというジレンマがある。

代表的な共通鍵暗号方式方式として、1977年に米IBM社が開発し米政府標準に採用された「DES」(Data Encryption Standard)や、その後継として2000年に米政府標準となった「AES」(Advanced Encryption Standard/暗号アルゴリズムとしてはRijndaelラインダール)、ストリーム暗号の標準的な方式として広く普及している「RC4」(ARCFOUR)などがよく知られる。

公開鍵暗号との違い

一方、対になる2つの鍵ペアを生成し、一方で暗号化を、もう一方で復号を行う暗号方式を「公開鍵暗号」(public key encryption)という。片方の鍵は共通鍵暗号方式の鍵のように第三者に知られないよう秘匿する秘密鍵だが、相手方に送る方の鍵は人に知られてもよいため「公開鍵」と呼ばれる。

1970年代に公開鍵暗号が考案されるまでは暗号といえば共通鍵暗号方式のことだった。現代でも、暗号化や復号の処理速度は共通鍵暗号方式の方が優れているため、両方式を組み合わせ、共通鍵暗号方式の鍵交換のために公開鍵暗号を用い、データ本体は共通鍵暗号方式で暗号化する「ハイブリッド暗号」がSSL/TLSなどの形で広く利用されている。

公開鍵暗号 【非対称鍵暗号】 ⭐⭐⭐

対になる2つの鍵を使ってデータの暗号化・復号を行う暗号方式。暗号化に用いる鍵は公開され、復号に用いる鍵は秘匿される。公開鍵から効率よく暗号鍵を割り出すことはできないようになっている。

1976年にウィットフィールド・ディフィー(Whitfield Diffie)氏とマーティン・ヘルマン(Martin E. Hellman)氏によって基本原理が考案された。具体的な暗号方式として世界で初めて公表されたのは、1977年にロナルド・リベスト(Ronald L. Rivest)氏、アディ・シャミア(Adi Shamir)氏、レオナルド・エーデルマン(Leonard M. Adleman)氏が考案したRSA暗号である。

暗号化に用いる暗号鍵は誰に知られてもよいため公開鍵(public key)と呼ばれ、復号に用いる鍵は本人しか知らないよう管理する必要があるため秘密鍵(secret key)と呼ばれる。ある相手に暗号文を渡したいときにはその人の公開鍵を入手して暗号化することで、秘密鍵を知る本人しか復号できない暗号文を得ることができる。

最もよく知られるRSA暗号ではこれとは逆に、秘密鍵で暗号化して公開鍵で復号することも可能だが、これはほとんどの公開鍵暗号方式方式ではできない珍しい性質で、一般的な特徴ではない。

共有鍵暗号と公開鍵暗号

公開鍵暗号方式が発明される以前の暗号は単一の暗号鍵で暗号化と復号の両方を行うものしかなかったが、現在ではこのような暗号は「共通鍵暗号」(共有鍵暗号/秘密鍵暗号/対称鍵暗号)と呼ばれる。

公開鍵暗号方式は復号のための鍵を完全に秘匿したまま運用でき、共有鍵で必要となる鍵を安全に相手に配送するために高コストの手段(人が訪ねて手渡しする等)を用意する必要がなく、配送途上で盗み取られて解読される危険もないという利点がある。

一方、共有鍵暗号より暗号化や復号の処理が複雑で、同程度の暗号強度を得るのにより多くの計算資源や計算時間を必要とする。両者の特徴を組み合わせ、通信データの暗号化自体は共有鍵暗号を利用し、共有鍵を安全に受け渡す手段として公開鍵暗号方式を利用する「ハイブリッド暗号」もよく用いられる。

秘密鍵解読の困難性

秘密鍵と公開鍵の鍵ペアを生成するのは容易な一方、公開鍵から秘密鍵を推測したり割り出したりするのはコンピュータによる解析でも極めて困難になるよう設計されている。

この困難さは数学上の問題を背景にしており、例えばRSA暗号は数十桁もある巨大な2つの素数をかけ合わせた数を素因数分解する効率的な手法は発見されていないことを利用する。素数を元に秘密鍵を、素数の積を元に公開鍵を生成すれば、現代の技術では現実的な計算資源や時間で効率よく公開鍵から秘密鍵を割り出すことはできない。

同様に、ElGamal暗号やDiffie-Hellman鍵交換、DSA(デジタル署名アルゴリズム)では離散対数問題と呼ばれる数学上の問題を、楕円曲線暗号では楕円曲線上の離散対数問題と呼ばれる問題を秘密鍵解読の困難性の担保としている。

公開鍵暗号とデジタル署名

公開鍵暗号方式の原理(必ずしも公開鍵暗号方式そのものとは限らない)と暗号学的ハッシュ関数を組み合わせ、文書やメッセージにすり替えや改竄が行われていないことや、確かに作成者・送信者本人のものであると証明する短いデータを生成することができる。文書データの末尾などに添付され、サインや印鑑のような働きをするため「デジタル署名」(digital signature)と呼ばれる。

メッセージの送信者は本人しか知らない秘密鍵と本文を元に一定の手順で算出した固定長の暗号データをメッセージに添付し、相手方に送る。受信者は受け取った本文と、送信者の公開鍵などを用いて一定の手順で同様のデータの算出を試み、添付されたものと照合する。両者が一致すれば、メッセージが確かに送信者本人のものであり、かつ伝送途上で第三者による改竄やすり替えが行われていないことが確認できる。

公開鍵証明書とPKI

公開鍵暗号方式は共有鍵のように復号のための鍵を盗み取られる危険は少ないが、暗号化のために相手の公開鍵を入手する際、信用できない経路を用いることで悪意のある第三者によって偽物にすり替えられる別の危険性がある。

確実に相手の公開鍵を入手するには共有鍵のように安全な別の経路で共有するのも一つの手段だが、それでは結局同じように高いコストがかかってしまう。危険な経路でも安全に鍵を受け渡すため、公開鍵に信頼できる第三者がデジタル署名した「デジタル証明書」(公開鍵証明書)を渡し、鍵の真正性を確認できるようにするという方式が考案された。

証明書を検証するには発行者(認証局という)の公開鍵が必要となるため、受信者は送信者が利用する認証局の公開鍵を安全に入手しなければならない。しかし、世の中のすべての認証局の公開鍵をあらかじめ揃えておくことは現実的ではない。

このため、実際にはWebブラウザなど公開鍵暗号方式を利用するソフトウェアには世界的に有力な大手商用認証局や政府機関の認証局の公開鍵が安全な方法であらかじめ組み込まれており、各認証局は自らの公開鍵をそれら最上位の認証局(ルート認証局)が発行した証明書として提供している。このように、インターネットのみで公開鍵暗号方式を安全に運用できるようにするために築かれた社会的基盤のことをPKI(Public Key Infrastructure:公開鍵基盤)という。

鍵ペア 【キーペア】

公開鍵暗号方式で用いる2つの鍵のセット。一方は誰に知られても良い「公開鍵」、もう一方は自分の手元で誰にも知られないよう秘匿する「秘密鍵」で、対になるこの2つを合わせて暗号化や電子署名を行う。

一つの暗号鍵で暗号化も復号も行う共通鍵暗号と異なり、公開鍵暗号では鍵として対になる2つの値を生成する。鍵の所有者は片方(公開鍵)を誰でも入手できる状態にしておき、本人へのメッセージを暗号化するのに使ってもらう。もう一方(秘密鍵)は手元で管理し、受け取ったメッセージを復号するのに使う。

2つの鍵は一定の計算手順(アルゴリズム)に基いて生成されるが、数学上の難問を応用して、公開鍵から簡単に秘密鍵を推測できないよう工夫されている。例えば、世界初の公開鍵暗号であるRSA暗号では、2つの巨大な素数から秘密鍵を、両者の積から公開鍵を生成する。巨大な整数の素因数分解を効率よく行う方法は発見されていないため、公開鍵から対になる暗号鍵を効率よく割り出すことはできない。

シーザー暗号 【Caesar cipher】 ⭐⭐

古代ローマのカエサル(Caesar:シーザー)が用いたされる、最も単純で著名な暗号方式の一つ。各文字をアルファベット順で決まった数だけずらす手法。

暗号化したい平文の各文字について、アルファベットの順序(ABC…XYZ)に基づいて決まった数だけ移動させたものを暗号文とする。アルファベット列の末端では、Aの手前はZ、Zの次はAという具合に循環させる(循環シフト/ローテーション)。

例えば、3文字手前(左に3文字)にずらすシーザー暗号の場合、平文の「CAESAR」を暗号化すると、「C」が「Z」に、「A」が「X」に、「E」が「B」に…という具合にずれていき、「ZXCPXO」という暗号文に置き換えられる。

カエサル自身は各文字を3つ手前にずらしたものを使用したと伝えられており、狭義にはこの方式を指すが、ずらす方向と文字数(「左に2文字」「右に4文字」など)を一種の暗号鍵とみなす一般化された手法を指す場合もある。

現代の暗号学では換字式暗号の一種である単一換字式暗号(単換字式暗号)に分類され、コンピュータを用いれば容易に解読できるため実用的な暗号方式とはみなされないが、人間による発見や探索を避ける簡易な符丁などとして、ROT13(右に13字ずらす)などのシーザー暗号が用いられることがある。

SSL 【Secure Sockets Layer】 ⭐⭐

インターネットなどのIPネットワークでデータを暗号化して送受信するプロトコル(通信手順)の一つ。データを送受信する一対の機器間で通信を暗号化し、中継装置などネットワーク上の他の機器から通信内容を覗き見たりすり替えたりできないようにする。

SSL/TLSは公開鍵暗号を応用したデジタル証明書による通信相手の認証(一般的にはサーバの認証)と、共通鍵暗号(秘密鍵暗号)による通信の暗号化、ハッシュ関数による改竄検知などの機能を提供する。Webアクセスに使われるHTTPと組み合わせ、Webサイトで認証情報や個人情報、決済情報などの送受信を安全に行う手段として広く普及している。

認証局と証明書

SSL/TLSでは、一対の秘密鍵と公開鍵を組み合わせて用いる「公開鍵暗号」により通信相手の確認や通信の暗号化に用いる暗号鍵の交換を行う。そのためには相手方(クライアント側ソフトウェアにとってサーバ側)の公開鍵をすり替えや改竄ができない方法で入手する必要がある。

SSL/TLSを利用するクライアント(Webブラウザなど)が、アクセス先のすべてのサーバの公開鍵を個別に安全に入手することは現実的ではないため、信頼できる「認証局」(CA:Certificate Authority)と呼ばれる機関が発行したデジタル証明書によって公開鍵の受け渡しを行う。

Webブラウザなどには著名な大手CAの公開鍵が記録された「ルート証明書」があらかじめ格納されており、これを用いてサーバから送られてきた証明書を検証することにより、途中ですり替えや改竄が行われていないことを確認することができる。この仕組みを「PKI」(Public Key Infrastructure:公開鍵基盤)という。

サーバ側ではSSL/TLSに対応するために大手CAやその認証を受けた下位CAの発行(通常は販売)する証明書を導入する必要がある。仕組みの上ではCAなど外部機関の認証を受けず自らが発行した証明書を使うこともできるが、クライアント側では「発行元の検証ができない」警告メッセージが表示される。

プロトコルとポート番号

SSL/TLSはプロトコル階層ではIP(Internet Protocol)の一段階上位で、TCPやUDPと同じトランスポート層のプロトコルである。TCPの代替として利用することができるため、HTTPに限らず様々な上位層(アプリケーション層)のプロトコルと組み合わせて使用され、インターネットにおける汎用的な通信の暗号化方式として定着している。

組み合わせるプロトコル応じて「○○ over SSL」(○○S)という名称で呼ばれ、HTTPであれば「HTTPS」、SMTPであれば「SMTPS」、POP3であれば「POP3S」などと呼ばれる。これらは元のプロトコルとは別に標準のポート番号が与えられており、HTTPは標準ではTCPの80番を使用するが、HTTPSは443番を使う。同様にSMTPSは465番(SMTPは25番)、POP3Sは995番(POP3は110番)が割り当てられている。

SSLとTLS

初期のSSL/TLSの仕様は1990年代半ばに当時のWebブラウザ大手、米ネットスケープ・コミュニケーションズ(Netscape Communications)社が開発した。SSL/TLS 1.0は欠陥が見つかったため公式発表前に破棄され、最初に公開されたのは1994年のSSL/TLS 2.0である。翌1995年にSSL/TLS 3.0が発表された。これらは現在では深刻な脆弱性が発見されており、利用を中止して後継版へ移行することが推奨されている。

SSL/TLS 3.0の次のバージョンから名称が「TLS」(Transport Layer Security)に変更されたため、現在広く利用されているのは正確にはTLSの方だが、「SSL/TLS」という名称が既に広く定着していたため、実際にはTLSを指していてもSSLと表記したり、「SSL/TLS」「TLS/SSL」などと両者を併記することが多い。

二段階認証 【2ステップ認証】

情報システムなどで利用者の認証を行う際に、異なる二つの情報や方式を用いた認証を組み合わせる方式。二回続けて認証を行い、両方にパスしたときのみ確かに本人であると確認される。

最初にパスワードによる認証を行い、これにパスすると本人のスマートフォンへSMSで番号を送って入力させるSMS認証を行う、といったように二段階に分けて認証を実施する。この場合は攻撃者がパスワードを知っているだけではSMS認証を突破できないため本人になりすますことはできない。

二段階認証の多くは、本人の知っている情報(暗証番号やパスワードなど)による認証と、本人の持っているもの(スマートフォンや番号表、セキュリティトークンなど)による認証、本人の身体的特徴(指紋や虹彩、顔貌など)による認証(生体認証)の3種類から2種類を組み合わせるのが一般的である。

このように、認証に用いる要素が異なる方式を二種類組み合わせることを「二要素認証」(two-factor authentication)という。単に二段階の認証を行うだけなら、本人の知っている情報による認証を二回続けて行う構成(PINコードとパスワードなど)なども可能だが、同じ仕組みの認証を繰り返しても安全性を高める効果は限られるため、二段階認証を行う場合は二要素認証とするのが一般的である。

多段階認証

複数回の認証を連続して行い、すべてにパスすると認証成功とする方式を総称して「多段階認証」(multi-step authentication)という。極めて高いセキュリティ水準が要求される場合などに、3段階や4段階などの認証を行う場合がある。

アカウント

口座、勘定、帳簿、説明(する)、釈明(する)、占める、責任を取る、記述、報告書、顧客、得意先、信用取引などの意味を持つ英単語。ITの分野では、コンピュータやネットワークなどの利用者ごとに発行される利用権や属性値の集合などのことを指すことが多い。

現代のコンピュータシステムやネットサービスのほとんどは、ある人物が使用しているシステムを他人が勝手に操作したり、本人に関する情報の覗き見や改竄ができないよう、利用者をあらかじめ登録し、操作者を識別して本人であると確認する仕組みを備えている。

ユーザーアカウント(user account)は個々の利用者や利用者の集団ごとに登録・発行され、登録番号や識別名(ユーザー名、アカウント名)などの識別情報(ID:IDentifier)と、本人確認のための暗証番号やパスワードなどの認証情報、システム上の機能やデータなど様々な資源に対する権限(アクセス権)などの設定情報で構成される。システム側でこれらの情報をひとまとめに構造化して保存したものをアカウントということもある。

ネットサービスなどでは、各アカウントに識別や認証に必要な情報だけでなく、氏名や住所などの個人情報、クレジットカード番号や銀行口座などの決済情報、サービス上の利用設定や利用履歴などが紐づけられて保管される場合もある。

アカウントごとに記録された情報を用いて、利用者ごとにサービス内容を変化させたり、毎回同じ情報を入力する手間を省いて円滑にサービスを利用できるようにすることができる。ただし、アカウントが乗っ取られた際の被害も大きくなるリスクがある。

利用者がシステムに識別名と認証情報を提示・入力して接続や利用開始を申請することを「ログイン」(login)あるいは「ログオン」(logon)という。最も広く普及している認証方式はアカウント名と秘密の文字列を入力する「パスワード認証」である。

他にも、人体の特徴的なパターンを利用する「生体認証」(バイオメトリクス認証)や、登録したスマートフォンなどにその場限りの秘密の番号を送る「SMS認証」などが用いられることがある。異なる認証手順を2つ組み合わせる「二段階認証」、異なる種類の認証を2つ組み合わせる「二要素認証」も用いられる。

パスワード ⭐⭐⭐

利用者が名乗った本人であるか確認する際などに用いられる秘密の合言葉。事前に登録したものと、認証時に入力したものが一致すれば本人であるとみなされる。

利用者の登録・識別を必要とするシステムでは、利用者の登録(アカウント作成など)の際に識別名(ユーザーID/アカウント名)とセットでパスワードを登録する。その識別名を名乗る利用者が使用開始(ログイン)を申請すると、システムはパスワードの入力を求め、登録されたものと一致すれば本人とみなして使用を許可する。

利用できる文字の種類や長さは個々のシステムによって定められているが、(半角の)ラテンアルファベット(大文字・小文字の区別あり)、数字、一部の記号の組み合わせで8文字以上と規定されている場合が多い。

パスワードと同じ秘密の情報を入力させる仕組みのものには、数桁の数字を入力させる暗証番号(PIN:Personal Identification Number)や、いくつかの単語の組み合わせを入力させるパスフレーズ(passphrase)などがある。

パスワードの割り出し

パスワードを他人に知られてしまうと自分になりすましてシステムを利用されてしまうため、誰にも知らせてはならない。ただし、攻撃者が不正にシステムを利用するためにパスワードの割り出しを試みる場合があり、直接知られなくても入手されてしまうことがある。

パスワードへの攻撃は、何らかの手法で候補を大量に生成し、実際にログインを試みることにより行われることが多い。主な手法として、すべての文字の組み合わせを片っ端から試す「総当たり攻撃」(ブルートフォースアタック)や、人間が覚えやすい既存の単語や文字の並びのリストを作り、それらを組み合わせて候補を作成する「辞書攻撃」(ディクショナリアタック)などがある。

これらの攻撃手法では短く覚えやすいものほど割り出しやすいため、パスワードは覚えられる範囲でなるべく長く、様々な文字種(大文字・小文字・数字・記号)を組み合わせて作成し、意味のある単語や覚えやすい単純な文字の並び(「password」「123456」など)などは避けるべきとされる。

また、本人や家族の氏名、生年月日、電話番号、居住地、出身地など、何らかの方法で入手した本人についての様々な情報から候補を作成する手法もあるため、自分や家族に関連する単語や番号などは含めないことが望ましい。

アクセス制御 【アクセスコントロール】

情報システムが利用者などを識別して、あらかじめ設定された権限に基づいて対象への接触や操作を許可あるいは禁止する仕組み。

何らかの主体(人間や機器、ソフトウェアなど)が、システムの管理下にある対象(装置や回線、データ、プログラム、ファイルなど)に対して、どのような操作が許されているかを登録・管理し、権限外の操作を実行しようとした時にはこれを拒否する。

例えば、ファイルシステムによるアクセス制御であれば、各ユーザーアカウントやユーザーのグループに対して、ファイルやディレクトリに対する読み込み、書き込み、削除、プログラムファイルの実行といった権限を付与し、操作主体と権限を確認して許可や拒否を行う。

認証・認可・監査

アクセス制御は「認証」(authentication)、「認可」(aurhorization)、「監査」(audit)といったプロセスから成る。認証は主体を識別して本物であることを確認するプロセスで、利用者にアカウント名を入力させ、パスワードなどの確認手段で本院であることを確かめる活動などが該当する。

認可は権限に基づいて操作の可否を判断するプロセスで、アカウント情報や管理者の定義したポリシー設定、アクセス制御リスト(ACL)などを参照して対象者の資格や権限を確認し、対象者が行おうとしている操作を許可したり拒絶したりする。

監査は、認証や認可、および利用主体による対象へのアクセスの履歴(ログ)を記録・蓄積し、後から「いつ誰が何を試みて結果がどうなったか」を管理者が追跡できるようにするプロセスである。システムやデータの安全を脅かす不審な試みや、不正な行為による被害などを確かめることができるようにする。

モデル

アクセス制御を適用する手法にはいくつかの典型的なモデルがあり、実際のシステムはモデルに基づいてアクセス制御の仕組みを実装している。

古くからありよく知られるのは、操作対象(オブジェクト)の所有者がアクセス許可の指定を行う「任意アクセス制御」(DAC:Discretionary Access Control)で、一般的なオペレーティングシステム(OS)のセキュリティ機能などで採用されている。

これに対して、「強制アクセス制御」(MAC:Mandatory Access Control)は管理者およびシステムが権限を設定し、所有者と言えどこれを変更できない仕組みである。軍用システムなど高度なセキュリティが要求される一部のシステムで実装されている。

他にも、利用者の役割(ロール)ごとに権限を設定する「ロールベースアクセス制御」(RBAC:Role-Based Access Control)や、利用者や操作対象の持つ様々な属性情報を収集し、どの属性のユーザーがどの環境でどの対象にアクセス可能かといった設定を記述していく「属性ベースアクセス制御」(ABAC:Attribute-Based Access Control)などの手法も提唱されている。

アクセス権

システムの登録利用者や利用者のグループに対して設定される、そのシステムの管理する資源を使用する権限のこと。アクセス権を設定し、これに基づいて資源の利用を許可したり拒否することをアクセス制御という。

何に対するどんな権限を設定できるかはシステムの種類によって様々だが、単にアクセス権といった場合はOSのアカウント管理システムやファイルシステムなどを通じて設定される、ストレージ(外部記憶装置)内のファイルやフォルダ、周辺機器などに対する利用権限を指すことが多い。

多くのOSでは、ファイルやフォルダに対しては「読み込み」「書き込み」「作成」「削除」などの動作について、また、実行可能ファイルはこれに加えて「実行」について可否を設定できるようになっている。

アクセス権は特定のユーザーアカウントやアカウントのグループを単位に設定するようになっていることが多いが、「管理者」「全員」「システム」「作成者」など特別な組み込みアカウントやグループを指名できる場合もある。

アクセス権を変更する権限を持つのは一般に管理者や管理者グループに属するユーザーで、一般の利用者は与えられたアクセス権に従って資源を使用するのみになっていることが多い。

電子署名 【デジタル署名】 ⭐⭐

文書やメッセージなどのデータの真正性を証明するために付加される短いデータ。作成者を証明し、改竄やすり替えが行われていないことを保証する。欧米で紙の文書に記されるサイン(signature)に似た働きをするためこのように呼ばれる。

対になる2つの暗号鍵を用いる公開鍵暗号の原理と暗号学的ハッシュ関数を組み合わせた仕組みで、メッセージの送信者は本人しか知らない秘密鍵と本文を元に一定の手順で算出した固定長の符号をメッセージに添付し、相手方に送る。

受信者は受け取った本文と、秘密鍵と対になる送信者の公開鍵などを用いて一定の手順で同様の符号の算出を試み、添付されたものと照合する。両者が一致すれば、メッセージが確かに送信者本人のものであり、かつ伝送途上で第三者による改竄やすり替えが行われていないことが確認できる。

デジタル署名はインターネットなど信頼できない経路を通じたメッセージの送受信でよく用いられるが、文書の安全な保管などにも用いられる。作成者が後になって自分が作成したことを否定するのを防ぐ(否認防止)証拠として用いられる場合もある。

公開鍵証明書とPKI

受信者が署名を検証するには送信者の公開鍵が必要だが、インターネットなど信頼できない経路で伝送すると攻撃者によるすり替えの危険があるため、公開鍵データに送信者と受信者の双方が信用する第三者のデジタル署名を添付するという手法が考案された。これをデジタル証明書(公開鍵証明書)と呼び、信頼できる第三者を認証局(CA:Certificate Authority)という。

証明書の真正性を確認するには認証局の公開鍵が必要であり、これは上位の認証局によって署名されたデジタル証明書によって配布される。このような信頼の連鎖の起点となる最上位の認証局はルート認証局(Root CA)と呼ばれ、実用上は送信者と受信者が同じルート認証局の証明書(ルート証明書)を持っていれば、それに連なる任意の認証局の証明書を用いて鍵を配送することができる。

このような安全な公開鍵配送のための社会的なインフラのことをPKI(Public Key Infrastructure)と呼び、インターネットなどで電子署名を利用するソフトウェアにはあらかじめ世界的に有力なルート認証局の証明書が組み込まれている。

電子署名とデジタル署名の違い

「電子署名」(electoronic signature)とは本来、紙の文書における押印やサインに相当する証明手段を電子的な手段で実現したもの全般を表す総称であり、「デジタル署名」(digital signature)は公開鍵暗号の原理に基づく電子署名の一方式である。

電子署名の方式としては他に、ペン型の入力機器で文書にサインを書き入れる電子サインなどがあるが、最も有力で普及しているデジタル署名を電子署名の同義語のように用いることが多い。

電子署名法

電子署名と認証業務に関する規定を定め、電子署名が手書き署名や押印と同等に通用することを定めた日本の法律。2000(平成12)年5月成立、2001年4月施行。正式名称は「電子署名及び認証業務に関する法律」。

有効な電子署名について一定の要件を定め、これを満たす電子署名が付された電子データに対して紙の文書に署名・捺印されたものと同等の法的な証拠性を認めている。具体的な技術要件は総務省・経済産業省・法務省が共同で告示しており、1024ビットRSAや1024ビットDSA、160ビットECDSAが挙げられている。このうちRSAについては危殆化の懸念から2019年までに2048ビットへの移行が予定され、同時にこれらの署名方式に用いるハッシュ関数もSHA-1からSHA-2へ移行される。

また、署名が本人のものであることを証明する認証業務について、一定の基準を満たした認証局がデジタル証明書を発行する業務を特定認証業務としている。その中で、さらに厳しい基準を満たし、国や指定検査機関の審査を経て認定された認証局の業務を認定認証業務という。認定認証局は全国で十社程度が認定されている。

SSLサーバ証明書 【SSL server certificate】

Webサイトの身元の証明やSSL/TLSによる暗号通信の暗号鍵の配送に用いられるデジタル証明書。公開鍵暗号の公開鍵が確かにサイト運営者本人のものであることを証明する。

Web通信の暗号化に用いられるSSLや後継のTLSでは、接続手順の一部に公開鍵暗号を用いる。公開鍵暗号は公開鍵と秘密鍵という対になる2つの暗号鍵を利用する方式で、サーバの公開鍵をWebブラウザなどのクライアントに渡す必要がある。

インターネットのような信用できない経路で単に公開鍵をそのまま送ると改竄やすり替え、偽物のなりすましなどの危険があるため、サーバは事前に「認証局」(CA:Certificate Authority)という第三者にデジタル証明書の作成を申請し、クライアントにはこの証明書を送信する。

証明書を受け取ったクライアントは認証局に問い合わせることで、サーバが事前に申請した公開鍵であることを確かめることができる。証明書にはサーバの公開鍵以外にも、CAによるデジタル署名、サーバの身元に関する情報(ドメイン名や組織名など)が記載されている。

DV/OV/EV証明書の違い

サーバ証明書はCAが申請者の情報をどこまで確認したかによっていくつかの種類に分かれる。最も簡易な「DV証明書」(Domain-Validated certificate)は証明書の発行時にサーバのドメイン名を確認するもので、クライアントは「確かにそのドメイン名に対して発行された証明書である」ことを検証できる。

「OV証明書」(Organization-Validated certificate)は発行時に法人登記などで申請者の実在性を確かめ、公開された連絡先などから申請確認を行って「なりすまし」でないことを確かめる。ドメイン名の所有権が申請者にあることも確認する。クライアントは実在の特定の法人や人物に発行されたものであることを検証できる。

最も厳しい「EV証明書」(Extended Validation certificate)はOV証明書の手続きをより厳格にしたもので、実在性の確認だけでなく事業の運営実態の確認や、担当者や責任者の明確化と申請手続きの執行を裏付ける書面の提出などを行う。確認プロセスは規格化されており、CA側も適切に審査を行っているか業界団体から監査を受ける。接続先がEV証明書を利用していることはブラウザ上の表示で見分けられるようになっている。

PKI 【Public Key Infrastructure】

公開鍵暗号やデジタル署名をインターネットによる通信のみで安全に運用するために築かれた社会的基盤。公開鍵暗号を利用するソフトウェアに組み込まれたルート証明書を起点とする認証局間の信頼の連鎖により、公開鍵を安全に配送する。

公開鍵暗号やデジタル署名を利用するには通信の相手方の公開鍵を安全に入手する必要があるが、インターネットなど信用できない経路を利用すると途中で悪意の第三者にすり替えられる危険がある。このため、送信者と受信者の双方が信頼する第三者のデジタル署名を添付した「デジタル証明書」(公開鍵証明書)の形で配達し、受信側が鍵の真正性を確かめられるようにするという方法が考案された。

デジタル証明書を署名して発行する第三者を認証局(CA:Certificate Authority)というが、受信者が証明書を検証するには送信者が利用した認証局の公開鍵をあらかじめ安全に入手しておかなければならない。特定の相手としか通信しないなら、ある認証局から一度だけ鍵を取り寄せれば済むが、インターネットで様々な相手と暗号通信を利用するには世の中のすべての認証局の公開鍵を揃えなければならず、これは現実的ではない。

そこで、公開鍵暗号を利用するソフトウェア開発者などが信用するに足りると判断した認証局が自らの秘密鍵で署名したデジタル証明書をあらかじめ組み込んでおき、他の認証局は上位の認証局が署名した証明書によって公開鍵を提供するという仕組みが生まれた。その際、信用の起点となる最上位の認証局を「ルート認証局」(Root CA)と呼び、その発行する自らの証明書を「ルート証明書」という。

Webブラウザなど公開鍵暗号を利用するソフトウェアには、国際的な大手商用認証局や各国の政府機関が運用する認証局などのルート証明書が組み込まれており、一般に利用される世界のほとんどの認証局をカバーすることができるようになっている。カバーされない認証局を利用する場合には、利用者が自ら安全な方法で証明書を取り寄せてルート証明書として登録することもできる。

このようなルート認証局を頂点とする木構造の信用の連鎖によって、インターネットのみで安全に公開鍵技術を利用できるように構築された社会的基盤のことをPKIという。

ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる