高校「情報Ⅰ」単語帳 - 情報通信ネットワークの仕組みと役割
回線交換 ⭐⭐
通信回線の利用方式の一つで、通信を行っている間、通信相手までの物理的あるいは論理的な伝送路を占有する方式。いわゆるアナログ電話などがこの方式である。
最も古くから存在する方式の一つであり、比較的単純な設備で安定した通信が可能で、回線を占有するため品質の保証がしやすい(ギャランティ型)という特徴がある。
その後生まれた方式に比べると、回線の利用効率が悪い、複数の相手との交信や動的な経路選択などができない、通信の集中・混雑(輻輳)が生じるとほとんどの端末が接続不能に陥ってしまうといった難点がある。
一方、回線交換方式によらない通信方式として、信号やデータを中継局が一旦蓄えて順に送り出す方式があり、「蓄積交換」(store and forward:ストアアンドフォワード)、あるいは「パケット通信」「パケット交換方式」などと呼ばれる。
パケット通信 【パケット交換方式】 ⭐⭐
通信ネットワークにおけるデータの伝送方式の一つで、データを小さな単位に分割して個別に送受信する方式。通信を行う二者が伝送経路を占有せずに通信できる。
一定の大きさに分割されたデータのことを「パケット」(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ビットの誤りが含まれ、一致すれば誤りが生じていないとみなすことが多い。
パリティチェック 【奇偶検査】 ⭐
データの誤り検出方式の一つで、ビット列中に含まれる「1」の数が偶数か奇数かを表す符号を算出してデータに付加する手法。最も単純な誤り訂正符号で、1ビットの誤り検出しかできないが算出や検証が容易で高速なため広く普及している。
データはコンピュータ上では「0」と「1」が並んだビット列として表されるが、これを一定の長さのブロックごとに区切り、各ビットの値を足し合わせた値が奇数であるか偶数であるか(「1」の数が奇数か偶数か)を表す1ビットの値(パリティビット)を末尾に付加する。
パリティを含むデータを受け取った側は、各ブロックごとに同じようにパリティを算出し、付加されたものと比較する。両者が一致すれば、そのブロックには誤りが存在しないか偶数個あることが分かり、一致しなければ奇数個の誤りがあることが分かる。
実用上、短く区切られたブロック中に同時に複数の誤りが生じる確率は低いため、パリティが一致すれば誤りが無く、一致しなければ1ビットの誤りが生じたとみなしてデータの再送や破棄などの制御を行う。
偶数パリティと奇数パリティ
パリティビットの値は、ブロックの各ビットとパリティを足し合わせた時、その偶奇性が常に同じになるように設定される。
全体の和が偶数になるように決められる(ブロック中の1の数が奇数なら1、偶数なら0)ものを「偶数パリティ」(even parity)、奇数になるように決められる(1の数が奇数なら0、偶数なら1)ものを「奇数パリティ」(odd parity)という。
水平パリティと垂直パリティ
一定の長さのブロックごとにパリティを算出して末尾に付加する方式を「垂直パリティ」(vertical parity)と呼び、単にパリティチェックといった場合はこの方式を指すことが多い。
一方、連続する数ブロックごとに、各ブロックの同じ位置にあるビット群をグループ化してパリティを算出・付与する方式を「水平パリティ」(horizontal parity)という。
両者を併用した「垂直水平パリティ」が用いられる場合もあり、パリティ用の記憶容量は約2倍必要になるが、同じブロック中の偶数個の誤りを検出したり、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が、機器内部の回路間や装置間、コンピュータと周辺機器間など短距離の伝送路ではバイト毎秒がよく用いられる。
Bluetooth 【BT】
携帯情報機器などで数メートル程度の距離を接続するのに用いられる近距離(短距離)無線通信の標準規格の一つ。コンピュータと周辺機器を接続したり、スマートフォンやデジタル家電でデータを送受信するのによく用いられる。スウェーデンのエリクソン(Ericsson)社が開発したもので、IEEE 802.15.1として標準化されている。
各国で免許不要で使用できるよう開放されている2.4GHz(ギガヘルツ)帯の電波を利用し、10m程度の範囲にある機器を相互に結んでデジタル通信を行うことができる。赤外線を用いる同種の技術と異なり小出力の電波を利用するため、互いに見通せない位置にある機器間でも電波が届く範囲ならば接続することができる。電波を送受信するトランシーバーは1cm角程度であり、小型軽量で消費電力も少なく安価に製造できるため、小さな電子機器にも容易に実装できる。
マウスやキーボードなど、パソコンと入出力機器との接続をワイヤレス化したり、スマートフォンなどの携帯機器とイヤホンやスピーカーなどを繋ぐ用途に普及している。初期の仕様では通信速度は最高1Mbps(メガビット毎秒)だったが、現在では最高24Mbpsまで可能となっている。IoT機器などでの利用を見越して従来の1/3の電力で動作するBLE(Bluetooth Low Energy)と呼ばれる派生仕様も追加された。
Bluetoothプロファイル
様々な機器や用途での利用を想定し、いくつかの機器の類型について実装すべき機能や通信規約(プロトコル)などの標準仕様を定め「Bluetoothプロファイル」として公表している。
製品によって接続仕様がバラバラだとコンピュータ側に個別にデバイスドライバを導入するなど使用できるようするための準備に手間がかかるが、各製品がプロファイルに準拠した実装を行うことで、標準的な機能についてはすぐに利用できるようになっている。USBの「USBデバイスクラス」と似た仕組みといええる。
主なプロファイルとして、マウスやキーボードなどの入出力機器を扱う「HID」(Human Interface Device)、イヤホンマイク(ヘッドセット)を扱う「HSP」(Headset Profile)、汎用的な無線ネットワークを構築する「PAN」(Personal Area Network)、プリンタを扱う「BPP」(Basic Printer Profile)などがある。
歴史
Bluetooth 1.0は主にEricsson社が開発し、1999年に同社を中心に設立された業界団体Bluetooth SIGから正式に発表された。通信速度は1Mbpsで、後にBR(Basic Rate)と呼ばれる通信モードである。
2004年には最高3MbpsのEDR(Enhanced Data Rate)モードを追加したBluetooth 2.0が発表され、続く2007年の2.1でNFC(Near Field Communication)対応やスリープ(一時停止)動作時に消費電力を低減する仕様が追加された。EDR対応はオプションであるため、対応している場合は「Bluetooth 2.0+EDR」のように表記される。
2009年のBluetooth 3.0では、無線LAN(Wi-Fi)用の装置(および物理層・MAC層の仕様)をBluetoothによる通信に流用することで最高24Mbpsでの通信を実現するHS(High Speed)モードが追加された。HSモードもオプションであるため、「Bluetooth 3.0+HS」のように表記される。
2010年のBluetooth 4.0では、従来型の約1/3の省電力で動作する新たな通信方式として「Bluetooth Low Energy」(BLE)が追加された。通信速度は1Mbpsと低速で、送受信されるデータ単位も小さいが、これはセンサーなど間欠的に通信する極小型のIoT機器などでの利用を想定している。BLE対応の場合には「Bluetooth 4.0+LE」などと表記する。
2016年のBluetooth 5.0では、BLEの最高速度が2Mbpsに拡張されたほか、通信速度をあえて低速に抑える代わりに伝達距離を伸ばす仕様が盛り込まれた。Bluetooth機器同士がネットワークを形成し、バケツリレー式にデータを離れた機器まで転送することもできるようになった。
5G 【5th Generation】
2020年代に導入・普及が進んでいる、第5世代のデジタル携帯電話・移動体データ通信の技術規格。スマートフォンやIoTデバイスなどが屋外や移動中に通信事業者などのネットワークにアクセスして通信する方式を定めている。
2000年代に普及した第3世代(3G)、2010年代に普及が進んだ第4世代(4G)の後継にあたる通信方式である。3GのW-CDMAとCDMA2000、4GのLTEとWiMAX 2のように、これまでは当該世代の技術要件を満たす複数の規格が併存していたが、第5世代では完全に標準規格が一本化され、「5G」が世代名かつ規格名として扱われる。
主な特徴として、高速に大量のデータを送受信できる「高速大容量」(eMBB:enhanced Mobile Broadband)、途切れにくく遅延が短い「高信頼低遅延」(Ultra-Reliable and Low Latency Communications)、単一の基地局が大量の端末を収容できる「多数端末接続」(mMTC:massive Machine Type Communication)が挙げられる。
eMBB (enhanced Mobile Broadband)
前世代の4Gでは無線区間の通信速度が下り(基地局→端末)数百Mbps(メガビット毎秒)、上り(端末→基地局)数十Mbps程度が一般的だったが、5Gでは下り2Gbps(ギガビット毎秒)以上、上り100Mbps以上と大幅に高速化される。
これは光ファイバーによる加入者回線網(FTTH)に匹敵するか凌駕するほどの大容量であり、4Kクラスに及ぶ高精細な動画のリアルタイム伝送やこれを応用した各種のサービス(テレビ会議やクラウドゲーミングなど)を場所を選ばずに利用できる可能性を秘めている。
URLLC (Ultra-Reliable and Low Latency Communications)
5Gでは従来の移動体無線通信の大きな弱点であった伝送遅延(発信したデータが相手先に到達するのにかかる伝送時間)の大幅な短縮を目指している。
具体的には、無線区間(端末-基地局間)の遅延を1ミリ秒以下に短縮し、伝送符号やアンテナに冗長性を持たせることにより99.999%以上のパケット受信成功率を可能にしている。信頼性が向上し欠落したデータの再送が不要になる効果も合わせ、通信のリアルタイム性が大幅に向上した。
遠隔地間で遅延なく大容量の通信が可能になることで、自動運転や機械の遠隔操作、遠隔手術、クラウドゲーミング、テレイグジスタンスといった従来の移動体通信では遅延が大きく難しかった用途への展望が開けると考えられている。
mMTC (massive Machine Type Communication)
5Gでは、機器やセンサーなどをネットワークに大量に接続して遠隔からの制御や計測の自動化を図るIoT(Internet of Things:モノのインターネット)での利用を想定し、基地局が同時に接続可能な機器数を飛躍的に増加させ、機器側の消費電力を削減する仕様が盛り込まれる。
同じ周波数帯で複数の端末が同時に通信できるようにするマルチアクセス(多元接続)技術を高度化し、単一の基地局が数千や数万に及ぶ多数の機器を同時にカバーすることを目指している。スマートフォンのような人間の操作する端末だけでなく機器の遠隔制御装置や監視装置など多種多様な装置を5G通信網に収容できる。
周波数帯
5Gでは特性の異なる二種類の電波を利用する。一つは「サブ6」と通称される従来の移動体通信に近い6GHz以下の周波数帯で、主に3.5GHz帯や4.5GHz帯が用いられる。もう一つは「ミリ波」に近い極めて高周波の28GHz帯で、これまで通信に本格的には用いられてこなかった周波数帯である。
サブ6は従来の無線通信用の電波と特性が近いが、4G携帯電話などで主流の2GHz前後よりも高い周波数帯を使用する。伝送速度を高速化しやすいが端末の消費電力は増大しやすく、基地局のカバーする範囲も狭い。従来よりも高い密度で基地局を設置する必要がある。
一方、28GHz帯は性質が可視光に近く、直進性が強く減衰が大きいため基地局が直接見通せるくらいの近距離でなければ安定した通信は難しい。サブ6に比べ極めて高速な通信が可能で、一つの基地局が多数の端末と同時に通信することも可能なため、駅や繁華街、イベント会場といった多くの人が集まる場所で局所的に用いることが想定されている。
4Gからの移行
5Gでは既存の4G基地局に5Gの無線通信方式(5G NR:5G New Radio)を追加し、通信制御やバックボーンに4G用の資源を流用するNSA(non-standalone)方式と、新たに単体の5G基地局を導入するSA(standalone)方式がある。
当面の導入期には端末が4G/5G両対応であり、通信事業者が保有する既存の4Gネットワーク資源を活用して徐々にエリアを拡大するためNSA方式での展開が基本となる。いずれ5Gへの完全移行を見越してSAでの展開が進むと見られている。
ローカル5G
5Gは広域に展開する移動体通信事業者(携帯キャリア)による公衆網の他に、大学のキャンパス内や工場の敷地内といった狭い範囲で施設の管理者などが展開することができる「ローカル5G」の仕組みが提供される。
現在のWi-Fi通信網のように、施設の所有者などが施設内での通信のために5G基地局を敷設し、内部ネットワークでの相互の通信やインターネットへの接続などに利用することができる。5Gに割り当てられた周波数帯は無線免許が必要なため、専門の通信事業者以外が取得しやすい免許の枠組みが整備されている。
歴史と展望
5Gの技術規格の標準化は国際的な標準化団体の3GPPが担当しており、段階的に標準仕様を発行している。第1段階の5G Phase 1(フェーズ1)は2017年末に主要な仕様が策定され(標準化完了は2018年6月)、対応機器の開発や通信事業者による導入の準備が活発化した。
Phase 1はeMBBの実現を主眼としており、URLLCやmMTCの実現は2020年策定のPhase 2や2020年標準化開始のPhase 3で詳細に検討される予定となっている。
2018年末に米ベライゾン(Verizon)社や韓国の複数の大手通信会社(KTなど)が限定的な5Gサービスを開始したと発表し、2019年春にはこれらの事業者が相次いで一般向けサービスの開始を宣言した。日本では2020年3月末に携帯大手3社(NTTドコモ/KDDI・沖縄セルラー/ソフトバンク)がほぼ同時に5Gサービスを開始した。
ネットワーク 【ネット】 ⭐⭐
「網」という意味の英単語。網そのものを指す用法の他に、複数の要素が互いに接続された網状の構造のことを比喩的にネットワークという。
ネットワーク状の構造を構成する各要素のことを「ノード」(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階層に分類している。
OSI参照モデル 【OSI reference model】 ⭐
コンピュータネットワークで様々な種類のデータ通信を行うために機器やソフトウェア、通信規約(プロトコル)などが持つべき機能や仕様を複数の階層に分割・整理したモデルの一つ。1980年代にCCITT(現在のITU-T)が策定した標準規格。
異機種間のデータ通信を実現するためのネットワーク構造の設計方針「OSI」(Open Systems Interconnection)に基づき、通信機能を7階層に分けて各層ごとに標準的な機能モジュールを定義している。
1984年にISO(国際標準化機構)と当時のCCITT(国際電信電話諮問委員会/現在のITU-T)が共同で策定した規格で、ISO側ではISO 7498として、CCITT側ではX.200として発行された。現代ではOSIを参照しないTCP/IPが事実上の標準として広く普及しているため、OSI参照モデルはほぼ有名無実化している。
第1層(L1:Layer 1)は「物理層」(physical layer)とも呼ばれ、データを通信回線に送出するための物理的な変換や機械的な作業を受け持つ。ピンの形状やケーブルの特性、電気信号や光信号、無線電波の形式などの仕様が含まれる。
第2層(L2:Layer 2)は「データリンク層」(data link layer)とも呼ばれ、回線やネットワークで物理的に繋がれた二台の機器の間でデータの受け渡しを行う。通信相手の識別や認識、伝送路上の信号の衝突の検知や回避、データの送受信単位(フレーム)への分割や組み立て、伝送途上での誤り検知・訂正などの仕様が含まれる。
第3層(L3:Layer 3)は「ネットワーク層」(network layer)とも呼ばれ、物理的な複数のネットワークを接続し、全体を一つのネットワークとして相互に通信可能な状態にする。ネットワーク内のアドレス(識別符号)の形式や割当の方式、ネットワークをまたいで相手方までデータを届けるための伝送経路の選択などの仕様が含まれる。
第4層(L4:Layer 4)は「トランスポート層」(transport layer)とも呼ばれ、データの送信元と送信先の間での制御や通知、交渉などを担う。相手方まで確実に効率よくデータを届けるためのコネクション(仮想的な専用伝送路)の確立や切断、データ圧縮、誤り検出・訂正、再送制御などの仕様が含まれる。
第5層(L5:Layer 5)は「セッション層」(session layer)とも呼ばれ、連続する対話的な通信の開始や終了、同一性の維持などを行う。アプリケーション間が連携して状態を共有し、一連の処理を一つのまとまり(セッション)として管理する機能を実現するもので、利用者の認証やログイン、ログアウトなどの状態管理を行う。
第6層(L6:Layer 6)は「プレゼンテーション層」(presentation layer)とも呼ばれ、アプリケーション間でやり取りされるデータの表現形式を定義する。通信に用いられるデータのファイル形式やデータ形式、暗号化や圧縮、文字コードの定義や形式間の変換などの仕様が含まれる。
第7層(L7:Layer 7)は「アプリケーション層」(application layer)とも呼ばれ、具体的なシステムやサービスに必要な機能を実装する。最上位の階層で、利用者が操作するソフトウェアが提供する具体的な機能や通信手順、データ形式などの仕様が含まれる。
ネットワーク層 【インターネット層】 ⭐
プロトコルの機能階層の一つで、単一の、あるいは相互接続された複合的なネットワークの上で末端から末端までデータを送り届ける役割を担うもの。OSI参照モデルでは第3層、TCP/IP階層モデルでは第2層で、IP(Internet Protocol)が該当する。
ネットワークにおけるデータの伝送手順や形式を定めた通信規約を「プロトコル」(protocol)という。一つのプロトコルは通常ある一つの特定の役割を持っており、人間やアプリケーションに近い側から物理的な装置に近いものまで何種類かを階層型に組み合わせて用いる。
プロトコルの役割を階層構造で整理したモデルとして「OSI参照モデル」と「TCP/IP階層モデル」(DARPAモデル)がよく用いられるが、OSIでは第3層を「ネットワーク層」、TCP/IPでは第2層を「インターネット層」と呼び、いずれもデータリンク層(リンク層)とトランスポート層の中間に位置する。
この階層の主な役割は、物理ネットワーク同士を結びつけ、全体を一つの論理的なネットワークとして相互に通信可能な状態にすることである。具体的には、ネットワーク全体を通して整合的で体系的なアドレス(識別番号)の割り当て、データの伝送経路の管理や選択(ルーティング)、データの送受信単位の変換や調整、優先制御などである。
現代のコンピュータネットワークでは一部の特殊な用途を除いてこの階層のプロトコルに「IP」(インターネットプロトコル)を用いるのが標準となっており、IPにより各組織のネットワークを世界規模で相互接続した巨大なネットワークを「インターネット」という。現在はIPのバージョン4(IPv4)が標準的に用いられているが、アドレス長や機能を拡張した「IPv6」(IPバージョン6)への移行が進んでいる。
第3層/ネットワーク層という表記
TCP/IPはOSIモデルとは無関係に設計されたため、厳密には両モデルの機能・役割は似ているだけで同じではない。また、TCP/IPでは本来「インターネット層」(Internet layer)と呼ばれるが、OSIの用語にならって慣習的に「ネットワーク層」と呼ばれている。
TCP/IPではOSIモデルの物理層に相当する階層がなく、IPは最下層のリンク層から数えて第2階層のプロトコルとなるが、歴史的経緯でTCP/IPのプロトコル階層をOSIモデルにあてはめて分類・解釈する方法が広まったため、現在でもIPを指して「レイヤ3」「L3」のように表記することが多い。
トランスポート層 【第4層】 ⭐
プロトコルの機能階層の一つで、データの送信元と送信先の間での制御や通知、交渉などを行い、二者間のデータの運搬に責任を追うもの。OSI参照モデルでは第4層、TCP/IP階層モデルでは第3層にあたり、TCP(Transmission Control Protocol)やUDP(User Datagram Protocol)がよく知られる。
ネットワークにおけるデータの伝送手順や形式を定めた通信規約を「プロトコル」(protocol)という。一つのプロトコルは通常ある一つの特定の役割を持っており、人間やアプリケーションに近い側から物理的な装置に近いものまで何種類かを階層型に組み合わせて用いる。
プロトコルの役割を階層構造で整理したモデルとして「OSI参照モデル」と「TCP/IP階層モデル」がよく用いられるが、トランスポート層はいずれにも含まれ、OSIでは4番目の層でネットワーク層とセッション層の間、TCP/IPでは3番目の層でインターネット層とアプリケーション層の間に位置する。
トランスポート層のプロトコルは上位層から送信データを受け付けて制御情報などと共に下位層へ引き渡し、下位層から受信データを受け取って制御情報などを取り去って上位層へ引き渡す。この階層の制御情報は原則として発信元と送信先しか必要としないため、伝送途上で参照・改変されることは稀である。
この階層の主な役割としては、エラー検出・訂正と再送制御、コネクション(仮想的な専用通信路)の確立、データの並び順の整列(順序制御)、フロー制御、輻輳制御、アプリケーションの識別(OSIではセッション層の役割)などである。UDPのように、これらの一部をあえて実装しないことによって伝送速度の向上を図っているプロトコルもある。
プロトコルの例
インターネットを始め現代の通信システムの多くはTCP/IPモデルを採用しているため、インターネット層のIP(Internet Protocol)の上位層として機能するものがトランスポート層のプロトコルである。
最もよく用いられるのはコネクションや再送制御などで高い信頼性を実現する「TCP」(Transmission Control Protocol)で、信頼性よりも速度を重視する用途では最低限の制御しか行わない「UDP」(User Datagram Protocol)が用いられる。両者の中間的な特徴を併せ持つ「DCCP」(Datagram Congestion Control Protocol)や、ストリーミング通信向けの「SCTP」(Stream Control Transmission Protocol)なども用いられる。
第4層/レイヤ4という表記
TCP/IPはOSIモデルとは無関係に設計されたため、厳密には両モデルのトランスポート層の機能・役割は似ているだけで同じではない。また、TCP/IPにおいてトランスポート層は第3階層(インターネット層の上)に位置するが、TCP/IPのプロトコル階層をOSIモデルに従って分類・解釈する方法が広まったため、現在でもUDPやTCPなどを指して「レイヤ4」「L4」のように表記することが多い。
クライアントサーバシステム 【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の一種に分類することもある。
MACアドレス 【Media Access Control address】 ⭐
通信ネットワーク上で各通信主体を一意に識別するために物理的に割り当てられた、48ビットの識別番号。装置に物理的に紐づけられるため「物理アドレス」(phycial address)とも呼ばれる。
リンク層(データリンク層)の通信規約(プロトコル)である「MAC」(Media Access Control:メディアアクセス制御)で用いられる識別番号で、ネットワークカードや無線LANチップなどのネットワーク接続装置・部品ごとに割り当てられる。
通信ポート(接続口)や通信インターフェースが一つの機器ではMACアドレスも一つだが、複数のポートがある機器や、有線LANポート(Ethernetポート)と無線LAN(Wi-Fi)機能の両方を内蔵した機器などの場合、それぞれのポートや通信装置に対して固有の(別の)MACアドレスが割り当てられている。
MACアドレスの形式
前半24ビットは「OUI」(Organizationally Unique Identifier)と呼ばれる製造者(メーカー)の識別番号で、IEEEが一元管理し全世界の通信装置メーカーなどへ割り当てを行っている。後半24ビットは各メーカーが装置一台ごとに重複しないよう割り当てた番号となっている。
先頭から16進数2桁(1バイト)ずつハイフン(-)またはコロン(:)で繋ぎ、「12-34-56-78-9a-bc」あるいは「12:34:56:78:9a:bc」のように表記することが多い。「1234.5678.9abc」のように4桁(2バイト)ずつピリオド(.)区切りで表記する場合もある。
固定アドレスとランダム化
元来、MACアドレスは製品の製造時に製造元によって割り当てられ、利用者側で任意に変更する使い方は想定されていなかった。同じ装置は常にMACアドレスで動作し続けるため、ネットワーク上での利用者の識別や認証(MACアドレス認証)、アクセス制御(MACアドレスフィルタリング)などにも利用された。
ところが、IPv6でIPアドレスの一部にMACアドレスが組み込まれたり、Wi-Fiの普及によって様々な場所で携帯機器をネットワークに接続するようになると、利用者が必ずしも信頼していない接続先へもMACアドレスが伝わるようになり、個人の識別や追跡に悪用される懸念が広まった。
そこで、近年の機器ではWi-Fiインタフェースに製造時に割り当てられたMACアドレスとは別に、接続先ごとにソフトウェアが自動生成したランダムなMACアドレスを用いる「MACアドレスのランダム化」が可能になっている。WindowsやmacOS、iOS、Androidなど主要なオペレーティングシステム(OS)に実装されており、ネットワーク設定で本来の固定MACアドレスを利用するかランダム化するかを選択することができる。
有線LAN 【wired LAN】 ⭐
室内や建物内、敷地内の機器を結ぶ構内ネットワークのうち、信号の伝送媒体として通信ケーブルを用いるもの。ケーブルの敷設や取り回しが必須だが、伝送速度が高速でセキュリティを高めやすい。
構内に通信ケーブルを配線し、コンピュータや通信機器、電子機器などを繋いで相互に通信を行う。大きく分けて、銅線などでできたメタルケーブルに電気信号を流す方式と、ガラスや透明なプラスチックでできた光ファイバーに光信号を流す方式がある。
1980年代頃までは様々な方式が開発され機種や用途により使い分けられていたが、現在では概ね「イーサネット」(Ethernet)と総称される規格が事実上の標準として広く普及している。
中でもRJ45コネクタのUTPケーブル(非シールドより対線ケーブル)を用いて100Mbps(メガビット毎秒)で通信できる100BASE-TX(Fast Ethernet)や1Gbps(ギガビット毎秒)で通信できる1000BASE-T(Gigabit Ethernet)などの規格が有名で、単に有線LANと言えばこれらの方式を指すことが多い。
一方、電波による無線通信でネットワークを構築する方式は「無線LAN」(wireless LAN)という。有線LANは配線の手間がかかり機器の配置や移動の自由度は低いが、機密性を確保しやすく同一空間内での機器や回線の密度を高めやすいという特徴があり、同じ世代の技術で比較すると通信速度が高速である。
パソコンやスマートフォンなどにWi-Fi接続が広く浸透した現在でも、施設内に固定的に設置されるサーバコンピュータや通信機器などは有線LANで接続するのが一般的である。
イーサネット 【Ethernet】 ⭐
主に室内や建物内でコンピュータや電子機器をケーブルで繋いで通信する有線LAN(構内ネットワーク)の標準の一つで、最も普及している規格。同じイーサネット規格に対応した機器同士ならメーカーや機器の種類などが異なっていても接続して通信することができる。
通信ケーブルを用いてコンピュータや通信機器などを相互に接続する構内ネットワーク(LAN)の標準規格の一つで、ネットワークスイッチなどの集線装置を介して3台以上の機器が相互に通信できるようにする。企業などの組織内や家庭内のネットワーク、データセンターや通信事業者のネットワークで広く普及している。
金属線ケーブル(ツイストペアケーブル)に電気信号を流す方式と、光ファイバーケーブルに光信号を流す方式がある。一般に広く普及しているのは前者で、ケーブルが取り回しやすく装置が安価という特徴がある。光ファイバー規格は長距離を高速に通信することができ、通信事業者の内部ネットワークなど事業用途で普及している。
「イーサネット」という名称は、狭義には最も初期に策定された通信速度10Mbps(メガビット毎秒)の諸規格(10BASE-Tなど)を指すが、現代では、その後に登場した100Mbpsの「Fast Ethernet」、1Gbps(ギガビット毎秒)の「Gigabit Ethernet」、10Gbpsの「10Gigabit Ethernet」などの後継規格の総称を意味するのが一般的である。
接続形態
<$Img:Ethernet3.jpg|right|Bru-nO|https://pixabay.com/photos/switch-network-data-processing-it-2064090/>初期には一本の通信ケーブルに複数の端末を接続するバス型なども用いられたが、ほとんどの規格では各端末に接続されたケーブルを「ハブ」(hub)や「ネットワークスイッチ」(network switch)などの集線装置で相互に接続するスター型を採用している。
最も単純な構造の集線装置は「リピータハブ」(repeater hub)と呼ばれ、接続された端末から送られてきた信号をすべての端末に機械的に送り返す。このため、物理的にはスター型だが論理的な接続形態はバス型となっている。
現在一般的に使われるのはネットワークスイッチあるいは「スイッチングハブ」(switching hub)と呼ばれる集線装置で、端末から送られてきたフレームの制御情報に記載された宛先を見て関係のあるポートにのみ転送するという処理を行う。不要な通信が流れないため通信効率が高い。
送受信単位
イーサネットではデータを「フレーム」(Ethernet frame)と呼ばれる一定のデータ量の送信単位に分割して送受信する。一つの端末がデータを送信し終えるまで他の端末が待つ必要がなく、多数の機器が同じネットワークで並行して送受信処理を進めることができる。
フレームの先頭には宛先や送信元などを記した「ヘッダ」(header)と呼ばれる制御情報が記載され、続いて送りたいデータ本体を格納した可変長の「ペイロード」(payload)、末尾に4バイト(32ビット)の誤り訂正符号(FCS:Frame Check Sequence)が格納される。
ヘッダは通信制御のための情報が記載された領域で、先頭から順に宛先MACアドレス(6バイト)、送信元MACアドレス(6バイト)、VLANタグ(4バイト/オプションのため省略可)、データ長(2バイト/古い規格では通信タイプ)となっている。
ペイロードは通常1500バイトまでと規定されており、これを超える長さのデータを送りたい場合は複数のフレームに分割して送信し、受信側で元のデータに組み立てる処理を行う。時代が下り通信速度が高まるに連れて1500バイトでは非効率になってきたため、ギガビットイーサネット以降は数千バイトを一度に送れる「ジャンボフレーム」技術が採用されている。
初期の規格
最初のイーサネット仕様は1980年に米ゼロックス(Xerox)社(当時)と米ディジタル・イクイップメント(DEC:Digital Equitment Corporation)社(当時)によって考案され、1983年に電気通信の標準化団体の一つであるIEEEの802.3委員会によって標準化された。最も狭義には(あるいは歴史的な文書などでは)これを指してイーサネットと呼ぶ。
この初期の標準では、非シールド撚り対線(UTPケーブル)を用いる規格として「1BASE5」と「10BASE-T」の二つが、同軸ケーブルを用いる規格として「10BASE5」「10BASE2」「10BROAD36」の三つが、光ファイバーを用いる規格として「10BASE-F」(FL/FB/FP)が策定された。1BASE5は通信速度1Mbps、他は10Mbpsである。実際に普及したのはほぼ10BASE-Tのみだった。
ハブ ⭐⭐⭐
車輪やプロペラなどの中心にある部品や構造のこと。転じて、中心地、結節点、集線装置などの意味で用いられる。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(サービス指向アーキテクチャ)などで用いられるミドルウェアで、データの出し手からデータを受け取って保管し、そのデータを必要とする受け手へ引き渡す役割を果たす。
スイッチングハブ ⭐
通信ネットワークの中継装置の一つで、受け取ったデータを接続されたすべての機器に送信せず、宛先などを見て関係する機器のみに送信する機能を持ったもの。ネットワーク間の接続・中継のための装置は「ブリッジ」(bridge)とも呼ばれる。
複数の機器とケーブルで接続し、互いの送信したデータを中継・転送する装置は「ハブ」(hub)と総称されるが、初期の単純な機構の「リピータハブ」(repeating hub)は、あるポートが受信した電気信号を単純にそのまま電気的にすべてのポートに向けて再送信する。
一方、スイッチングハブは受信した信号をデータとして内部の半導体メモリに一旦記録し、制御部を解析して宛先を特定する。その後、接続された他の機器の中からそのデータの関係先にだけ再送信する。これによりケーブルを無駄な信号が行き来するのを防止することができ、伝送効率を高めることができる。
転送先の判断は、通信方式の階層化モデルでいう第2層(リンク層/データリンク層)の制御情報であるMACアドレスなどに基づいて行われることから、「L2スイッチ」「レイヤ2スイッチ」(L2SW:layer 2 switch)とも呼ばれる。
電気的に信号を中継するのではなくデータを蓄えて再送信するため、10BASE-T(10Mbps)と100BASE-TX(100Mbps)、100BASE-TXと1000BASE-T(1Gbps)など、通信速度の異なる機器やネットワークの間を中継することができるというメリットもある。
スイッチングハブ同士をケーブルで接続することで双方のネットワークを相互接続することができ、ネットワークを拡張することができる。これを「カスケード接続」という。業務用の製品では何段階も複雑に接続したときにループ経路を検知して迂回するスパニングツリー機能に対応しているものもある。
スイッチ 【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」などが知られる。
IEEE 802.11
IEEEが策定している無線LANの標準規格。広義には「IEEE 802.11a」のように末尾のアルファベットで区別される30以上の規格群の全体を指し、狭義には最初に策定された伝送規格を指す。
電気・電子・通信技術の国際的な標準化団体であるIEEE(Institute of Electrical and Electronic Engineers)でLAN(Local Area Network:構内通信網)技術の標準化を担当する802委員会に設置された11番目の作業部会(ワーキンググループ)で、その名称がそのまま規格名として用いられている。802委員会では他に有線LANの標準であるイーサネット(Ethernet)を取り扱う802.3やBluetoothなどを扱う802.15がよく知られる。
最初のIEEE 802.11規格
802.11委員会が1997年に策定した最初の無線伝送方式の標準で、2.4GHz帯の電波か赤外線を用いて最高2Mbpsのデータ伝送を行うことができる。
スペクトラム拡散(SS:Spectrum Spread)の方式についてはDSSS(直接拡散方式)またはFHSS(周波数ホッピング方式)の両方について規定がある。アクセス制御方式にはCSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)が採用され、送信前に他の端末が同じチャンネルで信号を発していないか確認することで信号の衝突を回避している。
IEEE 802.11規格群
当初のIEEE 802.11を第1世代として、これまで6世代の伝送規格が策定されている。他に通信の暗号化などのセキュリティ関連や各国法規への対応、ネットワーク間の接続に関するものなど様々な規格が策定されており、現在までに30以上の規格が制定されている。
各規格は末尾のアルファベットで区別され、小委員会の設置順にa~z→aa~az→ba~bzのように符号が与えられている。番号や他の文字と紛らわしいなどの理由で使われない文字もあるため、aからzまですべての文字に対応する規格があるわけではない。
主な伝送規格としては、1999年に策定された第2世代のIEEE 802.11a(5GHz帯/最高54Mbps)およびIEEE 802.11b(2.4GHz帯/同11Mbps)、2003~2004年に策定された第3世代のIEEE 802.11g(2.4GHz帯/同54Mbps)およびIEEE 802.11j(5GHz帯/同54Mbps/日本のみ)、2009年に策定された第4世代のIEEE 802.11n(2.4GHz帯・5GHz帯/同600Mbps)、2013~2014年に策定された第5世代のIEEE 802.11ac(5GHz帯/同6.93Gbps)およびIEEE 802.11ad(60GHz帯/同6.8Gbps)、標準化作業中の第6世代IEEE 802.11ax(2.4GHz帯・5GHz帯/同9.6Gbps)が知られる。
アクセスポイント 【AP】 ⭐⭐
通信ネットワークの末端でコンピュータなどからの接続要求を受け付け、ネットワークへの通信を仲介する施設や機器のこと。現代では無線LANの中継機器を指すことが多い。
無線LANアクセスポイント
無線LAN(Wi-Fi)を構成する機器の一種で、ネットワーク内の機器間の通信を中継したり、有線ネットワークや有線通信の機器へ接続するための装置を無線LANアクセスポイント(無線アクセスポイント/Wi-Fiアクセスポイント)という。現代では単にアクセスポイントといった場合はこれを指すことが多い。
Wi-Fiの通常の通信モードでは、ネットワーク内の各機器はアクセスポイントと一対一で通信し、他の機器への通信はアクセスポイントが中継・転送する形で行われる。また、アクセスポイントにはイーサネット(Ethernet)や光ファイバーなどの通信ケーブルの接続口があり、これを通じて他のネットワークやインターネットなどに通信を中継することができる。
通信サービスのアクセスポイント
通信サービス事業者などが運用する施設や設備で、契約者が公衆回線などを通じて事業者のネットワークへ接続するための中継拠点のことをアクセスポイントという。00年代前半頃まではアクセスポイントといえばこれを指していた。
特に、インターネットサービスプロバイダ(ISP)やパソコン通信ネットワークに電話回線やISDN回線を通じてダイヤルアップ接続を行なう際、ダイヤル先の通信拠点のことをこのように呼んだ。
アクセスポイントにはパソコン通信のホストコンピュータやインターネットと常時接続された回線が用意されており、利用者からの接続を受け付けて通信サービスを提供する窓口となっていた。常時接続が一般的になった今日では利用者が機器に最寄りのアクセスポイントの設定などをする必要がなくなり、意識されることもなくなった。
VPN 【Virtual Private Network】 ⭐
通信事業者の公衆回線を経由して構築された仮想的な組織内ネットワーク。また、そのようなネットワークを構築できる通信サービス。企業内ネットワークの拠点間接続などに使われ、あたかも自社ネットワーク内部の通信のように遠隔地の拠点との通信が行える。
古くは電話回線(音声通話サービス)で提供されていたもので、全国に拠点を持つ大企業の内線電話などを公衆網を中継して接続するサービスだった。最近ではもっぱらデータ通信の拠点間接続サービスのことを指し、企業内LANを通信キャリアの持つバックボーンネットワークを通じて相互に接続するサービスをいう。
かつては各拠点の間に専用線を導入して直接通信していたが、キャリアのバックボーンに「相乗り」することにより低コストで拠点間接続が可能となる。バックボーンでは様々な企業のデータが混在して流れることになるが、データは認証や暗号化で厳重に保護・管理されるため、混信や漏洩、盗聴などの危険性は低い。
最近ではバックボーンにインターネットを利用する「インターネットVPN」も登場しており、通常のVPNサービスよりもさらに低コストでの利用が可能だが、インターネットの特性上、セキュリティや通信品質の確保はキャリアの通信網を利用するよりも難しくなる。
VPNルータ (VPN router)
インターネットなどの通信の中継を行うルータ製品の分類の一つで、VPN(Virtual Private Network:仮想専用ネットワーク)構築のための機能を持ったもののこと。
IPネットワーク上で経路選択やパケットの中継・転送を行う通常のルータとしての機能の他にVPNゲートウェイとしての機能を持ち、ネットワークを介して他のVPN機器との間で暗号化された専用の通信路を形成することができる。
プライベートネットワークとインターネットなどの広域通信網の境界に設置すれば、遠隔にある他のネットワークとの間でVPNを構築することができる。製品により対応している暗号化プロトコルなどに違いがあり、同じプロトコルに対応しているもの同士の間でしかVPNを構築することはできない。
IEEE 【Institute of Electrical and Electronic Engineers】 ⭐
電気・電子分野における世界最大の専門化組織。主に工学分野における学会としての活動と、工業技術の標準化団体としての活動を行っている。アメリカで設立された団体だが、世界160か国に40万人を数える会員の過半数は米国外におり、各国に支部を置いて活動する国際的な非営利組織である。
分野ごとに39の分科会(ソサエティと呼ばれる)に分かれ、各分野における論文誌の出版や国際会議の開催、教育活動などを行っている。分野によっては表彰制度があり、毎年大きな功績を挙げた研究者を選定し賞を授与している。
標準化部門の「IEEE-SA」(Standards Association)では分野ごとに専門化委員会を設置し、技術標準の策定・勧告を行っている。電気・電子分野を中心に世界的に最も有力な標準化団体の一つであり、「IEEE 802.11」「IEEE 1394」のようにIEEEで始まる規格名で広く知られる。
歴史
IEEEは1963年にAIEE(American Institute of Electrical Engineers:米国電気学会)とIRE(Institute of Radio Engineers:無線学会)が合併して発足した。初期には前身団体の流れを汲んで電気、電子、通信、無線、半導体、コンピュータなどの分野での活動が中心だった。
近年では周辺領域にも活動分野を広げ、航空・宇宙工学、医療・生体工学、核・プラズマ科学、電力・エネルギー、フォトニクス、安全工学、信頼性工学、海洋工学、ロボティクス・自動化、車両技術などの分科会が置かれている。
日本では1988年にIEEE Computer Society内の組織として東京にIEEEジャパン・オフィスが置かれ、2010年に日本におけるIEEEの活動全般を統括する組織に衣替えした。日本では約13000人が会員となっている。
インターネット 【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)、パソコンの接続設定などの出張代行サービス、独自のポータルサイトなどである。
こうした付加サービスには、電子メールのように接続サービスとセットで契約者全員に提供されるものと、申込制で追加料金を徴収するものがある。ポータルサイトなどはインターネットを通じて会員以外にも開放している事業者が多い。
ブロードバンド 【BB】
通信に用いる電気信号や電波、光信号などの周波数の幅(帯域幅)が相対的により広いこと。転じて、そのような広い周波数帯域を利用した、より高速・大容量な通信回線や通信方式のこと。通常はもっぱら後者の意味で用いられる。
インターネットが一般に普及し始めた1990年代末頃、それまでのアナログ電話回線(~56kbps)、ISDN(~128kbps)、第2世代携帯電話(~9600bps)等の低速な通信回線と区別して、普及し始めたより高速な通信環境を指す用語として広まった。
日本では概ね500kbps程度かそれ以上の通信速度を持つ方式を指すことが多く、ADSLなどのxDSLや、CATVインターネット、光ファイバー回線(FTTH)、3G(W-CDMA/CDMA2000)、4G(LTE/LTE-Advanced)以降の携帯電話および移動体データ通信、無線LAN(Wi-Fi)などが該当する。
ブロードバンド回線は旧来の方式に比べ通信容量が大きいというだけでなく、明示的に回線の接続や切断を指示しなくても常時接続しておける点や様々な通信サービスの多重化が可能といった特徴もある。
これを活用して、音声をデータ化して送受信するIP電話(ケーブルテレフォニ、光IP電話、VoLTE等)や、放送信号の伝送による多チャンネルテレビ視聴などのサービスが提供されており、インターネット接続に限らず通話や放送などを統合した総合情報インフラとして普及している。
2010年代になると日本を含む先進国で従来方式がほぼ姿を消し、高速・常時接続のデータ通信に適した回線が広まったため、高速回線を区別する必要性が薄くなりブロードバンドという用語は以前ほど使われなくなった。
また、平均的な通信速度の向上に伴って、1.5Mbpsといった初期のADSL方式などを除外した定義を用いる国・機関も現れている(米連邦通信委員会など)。OECD(経済協力開発機構)の国際的な統計では下り(加入者側へダウンロード)256kbps以上という基準を採用している。
ナローバンド (狭帯域)
電波や電気信号、光信号などの周波数の帯域幅が相対的に狭いことをナローバンド(narrowband)という。また、そのような限られた帯域を利用した低速な通信回線や通信環境を指すこともあり、一般的にはこちらの用法が多い。
概ね128kbps程度までの低速な回線を指し、20世紀まで一般的だった、アナログ電話回線やISDN(INSネット)、第2世代までの携帯電話、PHS、一部のデジタル専用線やパケット交換サービスなどが含まれる。
新たに登場した500kbps以上の高速回線と対比する文脈で用いられる用語で、ブロードバンド普及の初期には、相対的に低速という特徴以外に、普及率が高く安価で利用でき、機器の構造が単純といった特性もあった。
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は受信した光信号から自分宛てのものだけを分離して電気信号に変換するという処理を行っている。
クラウドサービス ⭐
従来は手元のコンピュータに導入して利用していたようなソフトウェアやデータ、あるいはそれらを提供するための技術基盤(サーバなど)を、インターネットなどのネットワークを通じて必要に応じて利用者に提供するサービス。
機材やソフトウェア、処理性能、記憶領域、ファイル、データなど何らかの計算資源をインターネットなどの通信ネットワークを通じて提供し、利用者がいつでもどこからでも必要なときに必要なだけ資源にアクセスできるようなサービスの総称として用いられる。
どのような資源をサービス化したものかによって大きく3つに分類される。「SaaS」(Software as a Service)あるいは「ASPサービス」(Application Service Provider)は特定の機能を提供するアプリケーションソフトをサービス化したもので、利用者はWebブラウザなどを通じて事業者のサーバにアクセスし、その機能やデータを利用する。
「PaaS」(Platform as a Service)はソフトウェアの実行基盤であるオペレーティングシステム(OS)や言語処理系が導入済みのサーバ環境をサービス化したもので、契約者は自らが必要なソフトウェアを導入し、ネットワークを通じてその機能を利用する。
「IaaS」(Infrastructure as a Service)または「HaaS」(Hardware as a Service)は情報システムの運用基盤となるコンピュータ自体や通信回線などをサービス化したもので、契約者はOSやアプリケーションなど必要なソフトウェアやデータを導入して運用する。
いずれの場合も利用者はパソコンやスマートフォンなど最低限の操作環境(クライアント)さえあれば基本的な機能を利用することができ、ハードウェアやソフトウェア、データなどの資源を固定的に所有したり持ち歩いたりする必要がない。利用者に属するデータや情報も事業者側のコンピュータに保存されるため、使用環境(場所や端末など)が変わっても自らの資格情報(アカウント)を入力することで同じように利用できる。
かかるコストも従来のような個々の資産の購入代金ではなく、利用期間や使用量に応じた都度課金や月額課金などサービス利用料の形となる。個人向けのサービスでは基本的な機能が無料で提供され、追加の機能や記憶容量などにのみ課金される方式も多い。
ブロックチェーン ⭐
一定の形式や内容のデータの塊を改竄困難な形で時系列に連結していく技術。内容が随時追加されていくデータ群を複数の独立した対等な主体の間で安全に共有することができる。仮想通貨(暗号通貨/暗号資産)の開発を通じて誕生し、他の用途へも応用されている。
ブロックチェーンを用いて記録されたデータはインターネットなどを通じて参加者間で複製、共有されるが、途中の一部を改竄しても全体を整合性のある状態にすることは困難な性質があり、特定の管理者や管理システムが存在しなくても真正なデータを共有することができる。
この性質を応用し、ネットワークに参加する二者間の取引を記録した台帳データを参加者間で共有しつつ、取引の発生に応じて追記していく分散型台帳を実現することができる。この台帳によって値の移動を追跡、検証可能な方法で記録したものを一種の通貨として利用する試みを暗号通貨という。
ハッシュ値と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” が用いられている。
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ネットワークにおいてルータがパケットの転送先を決定するために記録しているネットワークの経路情報のリスト。宛先と次の転送先を一組にした経路を列挙したもの。
大規模なネットワークでは、パケットを中継機器が次々に転送し、送信元から宛先までバケツリレー式に運ばれていく。ルータは中継機器の一種で、ネットワークの繋がり具合に関する情報を収集し、パケットの伝送経路を決定する機能を持っている。
ルーティングテーブルはルータがパケットの宛先を見て適切な転送先の判断を行う際に参照される経路表で、周囲のルータから得た経路情報を集積して作成される。ルータ同士が経路情報を交換するプロトコル(通信規約)を「ルーティングプロトコル」(routing protocol)という。
テーブルの内容
記載されるデータの種類や形式は機種やルーティングプロトコルによって異なるが、基本的な情報として、宛先として指定される目的地のネットワークアドレスおよびサブネットマスクと、そこへパケットを送りたい場合に次に転送すべき隣接ルータのアドレスである「ネクストホップ」、その経路を利用する場合にかかるコスト(途中で中継する機器の台数など)を表す「メトリック」が記載される。
これに加えて、その経路がどのように設定されたか表す識別符号(経路の情報源)、複数の情報源から同じ宛先への経路が示されている場合に比較するための信頼度(AD値:アドミニストレーティブディスタンス)、複数のネットワークインターフェースを搭載している場合にパケットを送信するインターフェースの指定、経路情報が設定されてからの経過時間などの情報が記載されることもある。
ルーティングテーブルに記録された経路のうち、ルータと直に接続している(隣接)ネットワークへの経路を「コネクテッドルート」(connected route)あるいは「ダイレクトルート」(direct route)、管理者が固定的に指定したものを「スタティックルート」(static route/静的ルート)、隣接ルータなどと情報を交換しあって機器が動的に経路情報を生成・更新するものを「ダイナミックルート」(dynamic route/動的ルート)という。
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キャッシュサーバである。なお、キャッシュサーバに頼らずクライアントソフトが自ら再帰問い合わせを行って名前解決することも差し支えなく、ネットワーク管理者などが調査のために行うことがある。
DNSサーバ 【DNS server】 ⭐⭐
インターネットなどのIPネットワーク上で、あるドメイン名についての情報を管理したり、ドメイン名(ホスト名)とIPアドレスの対応関係を調べるサーバ。また、そのためのソフトウェア。
IPネットワークでは「IPアドレス」と呼ばれる数値列で機器やネットワークを識別するが、「DNS」(Domain Name System)という仕組みにより、人間にとって親しみやすい文字や記号を組み合わせた「ドメイン名」という別名を付与することができる。個々の機器を指すドメイン名は「ホスト名」とも呼ばれる。
このドメイン名やホスト名と、対応付けられたIPアドレスなどの情報を記録・管理し、外部からの問い合わせに応答するコンピュータやソフトウェアのことをDNSサーバという。あるドメインについての管理権限を持ち情報を発信する「権威DNSサーバ」と、ドメインの管理は行わずクライアントからの求めに応じて権威サーバへ問い合わせを行う「DNSキャッシュサーバ」に大別される。
ドメイン名は階層構造になっており、各階層のドメインの管理権限は上位ドメインの管理者から委譲される。DNSサーバもこれに従って階層構造で管理されており、上位ドメインのDNSサーバは下位ドメインのすべての情報を管理しているわけではなく、下位ドメインを管理するDNSサーバの所在(IPアドレス)のみを把握している。
ある特定のホスト名の問い合わせを行うには、世界の十数か所に設置された最上位の「ルートサーバ」(root server)にトップレベルドメイン(.jpや.comなど)のDNSサーバの所在を尋ね、トップレベルドメインのDNSサーバにセカンドレベルドメイン(co.jpやexample.comなど)のDNSサーバの所在を尋ね…という手順を再帰的に繰り返し、最下層ドメインのDNSサーバから対応するIPアドレスの情報を聞き出すという手続きが必要になる。
権威DNSサーバ (DNSコンテンツサーバ)
DNSサーバのうち、あるドメイン名の情報を記録・管理する正当な権限を有し、そのドメインの情報についての外部からの問い合わせに応答するものを「権威DNSサーバ」あるいは「DNSコンテンツサーバ」という。
自らが管理権限を有するドメイン名空間についての情報を保持し、外部からの問い合わせに対して回答する。一台の権威DNSサーバが管轄する範囲は、上位ドメインから委譲されたドメインと、そのドメインの下位ドメインのうち、他の権威DNSサーバに権限を移譲していない領域を組み合わせたもので、これを「DNSゾーン」という。
プライマリDNSサーバとセカンダリDNSサーバ
権威DNSサーバには、オリジナルのデータを保持・提供する「プライマリDNSサーバ」と、プライマリサーバのデータを複製し、外部からの問い合わせに代理で応答することができる「セカンダリDNSサーバ」がある。
ドメイン名の登録・運用のためには、プライマリサーバを一系統と、セカンダリサーバを一系統以上(複数の場合もある)用意して外部からアクセス可能にする必要がある。通常は外部からの問い合わせはプライマリサーバに行われるが、規定時間内に応答が無い場合などにはセカンダリサーバへ問い合わせが行われる。
DNSキャッシュサーバ
一方、自らは管理するドメイン名を持たず、利用者からの任意のドメイン名の名前解決の問い合わせを受け付け、当該ドメイン名を管理するDNSサーバへの問い合わせを(代理で)行い、結果を利用者に返答するものは「DNSキャッシュサーバ」という。
ネット利用者がDNSを使用できるようにするため、インターネットサービスプロバイダ(ISP)などのネットワーク運営主体が設置・運用するDNSサーバで、利用者がコンピュータに問い合わせ先DNSサーバとして設定し、日常的に直接利用しているDNSサーバはこちらである。
優先DNSサーバと代替DNSサーバ
パソコンなどの端末にはDNSの問い合わせを行うキャッシュサーバをどこにするか設定する必要がある。優先的に問い合わせを送信する「優先DNSサーバ」と、優先サーバが利用不能な場合に代わりに問い合わせる「代替DNSサーバ」の二つを指名するようになっていることが多い。
ISPなどでは二系統以上の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(日本レジストリサービス)が管理している。
トップレベルドメイン 【TLD】
インターネットドメイン名を構成する要素のうち、「.」(ピリオド、ドット)で区切られた最も右にある要素のこと。最も上位の階層における識別名を表しており、「www.example.com」の「com」の部分がこれにあたる。
ドメイン名は実世界の住所のように階層構造になっており、各階層の識別名を「.」で区切って並べて表記する。並び順は末尾(右)が最上位で先頭(左)が最下位であり、末尾の識別名のことをトップレベルドメインという。
トップレベルドメインは大きく分けて、用途や組織種別などに応じて設置された「gTLD」(generic TLD:汎用TLD)と、国・地域ごとに割り当てられた「ccTLD」(country code TLD:国コードTLD)、歴史的経緯で残っている特殊なTLDに分類される。
汎用トップレベルドメイン (gTLD)
地理的な制約なく世界中から登録できるトップレベルドメインをgTLDという。多くは用途や分野を意味する識別子となっており、利用目的や組織種別に制約があるものと制限が無いものに分かれる。
インターネットの初期から存在するgTLDとして、商用(commercial)を意味する「.com」、ネットワーク事業者(network)を意味する「.net」、団体・組織(organization)を意味する「.org」の3つがよく知られる。これらは登録資格などを厳しく問わないため本来の意味とは異なる使われ方をしているものもある。
特殊なgTLD
初期から存在するgTLDの中には、用途が制限され広く一般からの登録を受け付けていない特殊なTLDが含まれている。米連邦政府機関向けの「.gov」、米国内の高等教育機関向けの「.edu」、米軍向けの「.mil」、国際機関向けの「.int」、北大西洋条約機構(NATO)関連機関の「.nato」(後に.nato.intへ移行し廃止)である。
新gTLD
2000年以降に追加された新しいgTLDを新gTLDと呼ぶことがある。2011年までは追加数が厳しく絞り込まれていたため、2000年に「.biz」「.info」「.name」「.pro」「.museum」「.aero」「.coop」、2005年に「.jobs」「.travel」「.mobi」「.cat」、2006年に「.tel」「.asia」、2009年に「.post」、2011年に「.xxx」の計15が追加されたのみであった。
2012年に制度が変更され、所定の要件を満たせば原則として自由にトップレベルドメインを追加できるようになった。現在までに1200以上のgTLDが新たに登録され、利用されている。この中には「.google」「.canon」のように企業が自社のブランドやサービスなどのために登録する例や、「.tokyo」などの都市名や地域名、「.free」「.shop」のような一般的な語句、「.みんな」のように多言語ドメイン名の仕組みを利用した非アルファベット文字のgTLDなどが含まれる。
国別トップレベルドメイン (ccTLD)
ccTLDは世界の国・地域それぞれに割り当てられたもので、日本を表す「.jp」のように2文字の国コード(country code)で表される。
原則として国コードの国際標準規格であるISO 3166の2文字コードに基づいているが、イギリス本国がISO 3166の「GB」ではなく「.uk」になっているなどの例外もある。欧米諸国の海外領土などにはそれぞれ本国とは別のccTLDが与えられており、世界で約250個が存在する。EU加盟国では自国ドメインの他に一定の要件のもと「.eu」ドメインも使用できる。
多くの国では自国内の個人や組織などに限って登録を受け付けているが、外貨獲得などのため世界中から登録を受け付けてgTLDのように運用している場合もある。偶然英単語などに一致していたり覚えやすい並びになっているドメイン名に見られ、「.tv」(ツバル)、「.to」(トンガ)、「.in」(インド)などの例がよく知られる。
.arpaドメイン
メールアドレスやWebサイトなどの識別名としては用いられず、ネットワーク管理用に用いられている特殊なTLDとして「.arpa」ドメインがある。
もとはインターネットの前身のARPANETを主催していたARPA(米高等研究計画局、現在のDARPA)を表すドメインだったが、現在ではシステムが内部的に使用する特殊な名前空間として存続している。IPアドレス(IPv4アドレス)からドメイン名を「逆引き」するための領域である「in-addr.arpa」が有名だが、他にIPv6アドレスからの逆引き用「.ip6.arpa」、電話番号とURIを対応付ける「e164.arpa」が用意されている。
電子メール 【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とは異なりメッセージはサーバに残っているため、複数のコンピュータからメールにアクセスしたい場合などに便利だが、サーバ側には保管容量の制限が課されることが多く、満杯になって受信拒否されてしまわないよう、古いメッセージを削除する等の適切な管理が必要となる。
メーリングリスト 【ML】
あらかじめ登録された特定の複数のメールアドレスに一斉に電子メールを配信する仕組み。代表のメールアドレスに宛ててメールを送信すると、登録されたアドレスに一斉に転送される。
通常のメール送信では宛先として指定したアドレスに向けてメッセージが送られ、複数の相手に送りたい場合は複数のアドレスを送信者が指定する必要がある。メーリングリストではメールサーバ側に受信者リストが登録されており、そのアドレス宛てに送れば登録者全員にメッセージが複製されて配達される。
管理者がアドレスを登録する方式と、参加を希望する本人が特定の形式のメッセージを送ることで参加を許可される方式がある。集団内の連絡や情報共有のために開設されるものは管理者の許可したアドレスのみ登録できるよう運用されるが、誰でも自由に参加できるよう公開されているものもある。
登録者間の連絡や主催者からの告知などのために利用する場合、メーリングリストへの送信(投稿)はリスト登録者のみ可能とする(外部からの送信は拒否する)設定で運用することが多いが、外部からの連絡窓口などとして運用する場合は登録アドレス以外からの「投げ込み」投稿を許可する場合もある。
メーリングリストはメールサーバの管理者によって開設されるが、専門的な設備や技術を持たない人でも手軽に利用できるよう、インターネットを通じて誰でもメーリングリストを開設・運用できるネットサービスがある。その多くは無料で利用でき、投稿されたメールの一部に自動的に広告が挿入されて配信される仕組みになっている。
Webメール 【ウェブメール】 ⭐
Webブラウザで電子メールの閲覧や送受信ができるシステムやサービス。メールソフト(メールクライアント)に相当する機能をWebアプリケーションとして実装したもので、Webブラウザがあればどんな環境からでもメールが利用できる。
Webブラウザで管理画面のURLを開き、メールアドレス(メールアカウント)やパスワードなどで本人確認(ユーザー認証)を行うことにより、自分のアドレスの利用環境を呼び出すことができる。受信したメールの一覧や検索、本文の表示や添付ファイルの取得、新規メールの作成・送信、連絡先の管理などができる。
一般的なメールソフト(メールクライアント)がどのようなメールサーバで利用できるのに対し、Webメールシステムは通常、メールサーバの管理主体が付加サービスとして当該サーバの利用者に提供しており、他のサーバに接続して利用することはできない。
企業や公的機関、大学などが構成員向けに運用する場合と、インターネットサービスプロバイダ(ISP)やネットサービス事業者が契約者向けに運用している場合がある。また、米グーグル(Google)社のGmailのように、ポータルサイトなどが提供している無料で取得・利用できるフリーメールサービスの多くはWebメールの形で運用されている。
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の特性上、検索エンジンの検索結果ページや他サイトからのリンクなどでトップ以外のページに直接訪問されることも多い。
Webサイトの構成
管理者があらかじめ作成した内容を提供する静的コンテンツ(静的ページ)と、Webサーバの拡張機能を用いて、ページの一部が動的に変化したり、電子掲示板(BBS)やコメント欄のように訪問者が内容を投稿できるコーナーが設けられる場合もある。
アプリケーションソフトのように閲覧者が対話的に操作して何らかの処理を行えるような構成になっているものもあり「Webアプリケーション」と呼ばれる。また、そのような仕組みを用いて利用者にサービスを提供するものを「Webサービス」と呼ぶことがある。
Webサーバ/ドメインとの違い
Webサーバは「IPアドレス」または「ドメイン名」(ホスト名まで含むFQDN)、個別のWebページは「URL」(Uniform Resource Locator)という識別子で指し示されるが、Webサイトそのものを指し示す識別子やサイトの範囲を定義する設定情報のようなものはない(補助的に利用される技術はあるが必須ではない)。
一つのWebサイトが複数のWebサーバ(ドメイン)にまたがって設置・運営されたり、一つのWebサーバがサブディレクトリごとに異なるWebサイトを提供している場合もある。WebサーバとWebサイトは一対一に対応するとは限らず、ページがどのサイトに属するのか確実に見分ける仕組みもない。
このため、「Webサイト」という括りは技術的に厳密に定義できるものではなく、便宜上のものと言える。通常はトップページのURLをWebサイトの所在とし、同一の管理者の管理権限の及ぶ範囲をWebサイトの範囲と考えることが多い。
ネットサービスの個人スペースと区別する用法
近年では、ブログやSNS、動画共有サービスのように登録利用者が内容を投稿できる専用のスペースを設け、インターネット上に公開できるサービスが普及している。巨大なサービス全体のWebサイトが利用者ごとのスペースに分割されている。
これも外形的にはWebサイトの一種に違いないが、利用者側から見て、「私のブログ」「私のInstagram」「私のサイト」といったように、ネットサービス上の「借り物」のスペースと区別して、従来のような構成のWebサイトを「サイト」と呼ぶことがある。
Webサーバ 【ウェブサーバ】 ⭐⭐
Webシステム上で、利用者側のコンピュータに対しネットワークを通じて情報や機能を提供するコンピュータ。また、そのような機能を実装したソフトウェア(Webサーバ・ソフトウェア)。
Webはクライアントサーバ型のシステムで、利用者が操作するWebクライアントと、クライアントの求めに応じてデータや機能を提供するWebサーバが連携して動作する。クライアントにはWebブラウザが用いられることが多いが、利用者が直に操作しないクローラー(ボット)なども存在する。
Webサーバはクライアントからの求めに応じて自身の管理するファイルを送信したり、内部で何らかの処理を行ったり、クライアントから受信したデータを保存したりすることができる。クライアントから要求やサーバからの応答は「HTTP」(Hypertext Transfer Protocol)という通信規約(プロトコル)に基づいて行われる。
クライアントからのサーバの指定、サーバ内の資源の指定は「http://~」あるいは「https://~」で始まる「URL」(Uniform Resource Locator)という記法が用いられる。例えばブラウザで「https://www.example.jp/corp/about.html」の表示を指示すると、「www.example.jp」というWebサーバへ接続を行い、「/corp/about.html」という位置にあるファイルの送信を要求する。
利用者の操作や入力をブラウザから受け取って処理を行い、その結果を反映した応答データを動的に生成して返す機能もあり、アプリケーションソフトのように対話的に機能を利用するシステムを作ることができる。これを「Webアプリケーション」と呼び、多くのネットサービスの実装方式となっている。
Webサーバソフトウェアには様々なものがあるが、汎用のWebサーバとして人気のものとしてはオープンソースの「Apache HTTP Server」や「nginx」などの人気が高い。企業向けの製品としては米マイクロソフト(Microsoft)社の「Internet Information Services」(IIS)がよく用いられる。
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が標準化され、一部の仕様が大きく変更されている。
Cookie 【クッキー】
WebサーバがWebブラウザに送信する制御情報の一種で、ブラウザが動作しているコンピュータに永続的に記録・保管されるもの。閲覧者の識別などに利用される。
CookieはWebサーバがWebブラウザにコンテンツを送信する際に制御情報の一部として一緒に送信する短いデータで、ブラウザは次にサーバにリクエストを送る際に前回受け取ったCookieの内容を申告する。ブラウザは受信したCookieを所定の期限までストレージ上で永続的に保管する。
Cookieには任意の文字列が記録でき、利用者の識別や属性に関する情報や、最後にサイトを訪れた日時などを記録しておくことが多い。ネットサービスなどで利用者のIDなどを保存しておけば、次にアクセスしたときに自動的に利用者を識別・同定することができ、前回の続きからサービスを提供することができる。
1つのCookieには4096バイトまでのデータを記録でき、1台のサーバが同じコンピュータに対して発行できるCookieの数は20個に制限されている。Cookieの総数は300個までで、これを超えると古い方から削除される。個々のCookieには有効期限が設定されており、期限を過ぎたものは破棄される。
Cookieの送受信
Cookieの送受信はWebコンテンツの送受信に標準的に用いられるプロトコル(通信規約)であるHTTPにより行われる。コンテンツ本体とは異なり、通信や送受信データに関する制御情報を記載する「HTTPヘッダ」と呼ばれる領域に記載されるため、閲覧者が直に目にする機会はほとんどない。
WebサーバからWebブラウザへのCookieの送信はHTTPレスポンスヘッダ中の「Set-Cookie」フィールドを利用し、「Set-Cookie: クッキー名1=値1; クッキー名2=値2; …」という形式で複数の属性値の指定を一行に連結して送信する。ブラウザからサーバへは、HTTPリクエストヘッダ中の「Cookie」フィールドを用い、同じ書式で送信する。
Set-CookieフィールドにはPath属性(例:path=/example/;)やDomain属性(例:domain=www.example.com;)を用いてそのCookieを参照・書き換えできる範囲を指定したり、Max-Age属性(例:max-age=3600;)やExpire属性(例:expire=Tue, 19 Jan 2038 03:14:07 UTC;)で有効期限を指定することもできる。
Secure属性を指定するとSSL/TLSで暗号化されたHTTPS通信時にしか読み取れないよう制限することができる。通常のCookieはWebページ上で動作するJavaScriptなどから読み書きすることもできるが、HttpOnly属性を指定するとスクリプトによるアクセスを禁止できる。
ファーストパーティCookieとサードパーティCookie
WebページにはHTMLのimg要素やiframeHTTPなどを用いてページ本体(HTMLファイル)を送信したサーバとは異なる外部のWebサーバからコンテンツを呼び出して埋め込み表示する機能がある。その際、埋め込みコンテンツに付随して外部サーバからCookieが送られてくることがある。
その場合、ページ本体に付随して送られてくるCookieを「ファーストパーティCookie」(first-party Cookie)、埋め込みコンテンツに付随して外部サーバから送られてくるCookieを「サードパーティCookie」(third-party Cookie)という。
サードパーティCookieは「トラッキングCookie」とも呼ばれ、アクセス解析サービスなどにページ閲覧が行われたことを報告・記録するために用いられたり、広告配信サービスでサイトを横断して閲覧者を追跡・同定し、個々人に最適な広告を配信するために利用されることがある。
サードパーティCookieは個人のインターネット上での活動を本人の意志によらず継続的に追跡することができるため、プライバシーの侵害であるとの批判が根強くある。米アップル(Apple)社のWebブラウザ「Safari」では利用者が明示的に許可しない限り無効となっており、今後はGoogle Chromeなど他のブラウザでもデフォルト設定では無効に切り替えていく予定となっている。
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仕様の一部となっている。
プロキシ 【HTTPプロキシ】 ⭐
二つのネットワークの境界で、一方のコンピュータの「代理」としてもう一方のネットワーク上のコンピュータへの接続を取り次ぐシステムのこと。企業などの内部ネットワークとインターネットの境界に置かれることが多い。
プロキシサーバサーバは内部のコンピュータから外部へのアクセス要求を受信すると、自らが接続元となって目的のシステムへ要求を行う。先方から応答が返ってきたら、これをアクセス元に転送する。接続先から見るとプロキシサーバ自身が通信しているように見え、内部のコンピュータの存在やそのIPアドレスなどをある程度秘匿することができる。
プロキシサーバは設置するだけでは利用できず、原則としてWebブラウザなどにプロキシサーバを経由する設定を明示的に行わなければならない。しかし、ネットワーク内の通信機器の設定などにより、すべてのアクセスを自動的(強制的)にプロキシサーバ経由とする方法もあり、「透過プロキシサーバ」(transparent proxy)と呼ばれる。
付加機能
プロキシサーバの中には、一度取得した外部サーバのデータを自らのストレージ(外部記憶装置)内に保存しておく「キャッシュサーバ」の機能を持つものもあり、再び同じデータの取得要求があったとき、自らが保管しているデータをサーバの代理として送信する。外部サーバの負荷が軽減されるほか、内外を結ぶ通信回線の混雑を緩和することができる。
また、内外を流通するデータをアプリケーションレベルで把握することができ、アクセス履歴を記録・収集することができる。望ましくない接続先を設定して内部からの中継を拒否するフィルタリング機能や、外部から不正アクセスの試みやマルウェアなどが流入することを検知・抑止するファイアウォールやIDS/IPSのような機能を持つ製品もある。
内部ネットワークがインターネットなどとは独立したアドレス体系(プライベートIPアドレス)で運用されている場合には、NATやNAPT(IPマスカレード)などのように内外のポート番号、IPアドレスの自動変換を同時に行う機能を持ったものもある。
フォワードプロキシとリバースプロキシ
通常、単にプロキシサーバといった場合はクライアント側のネットワークに置かれ、クライアントの代理としてサーバへの接続を中継するシステムを指す。これを「フォワードプロキシサーバ」(forward proxy)という。
一方、サーバ側のネットワークに置かれ、サーバの代理としてクライアントからの接続を受け付け、ファイルの代理送信(キャッシング)や暗号化などの処理の肩代わり(オフローディング)、負荷分散(ロードバランシング)などの機能を提供するシステムもある。これは「リバースプロキシサーバ」(reverse proxy/逆プロキシサーバ)と呼ばれる。
検索エンジン 【サーチエンジン】 ⭐
あるシステムに存在するデータやファイルを取得して内容の索引付けを行い、利用者がキーワードや条件を入力して検索できるようにしたシステム。そのような機能に特化したソフトウェアなどのことを指す場合と、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」という名前のファイルを作成し、クローラがアクセス可能な範囲やアクセスを禁止するファイルやディレクトリなどを指定することができる。クローラすべてを対象とすることも、特定のクローラのみを名指しで指定することもできるが、クローラ側が従うかどうかは開発者や運用者次第であり強制力はない。
ハイパーテキスト ⭐
コンピュータを利用した文書作成・閲覧システムの一つで、文書内の任意の位置や要素に、他の文書への参照(所在情報や識別情報)を埋め込み、複数の文書を相互に結びつけたもの。そのような他の文書への参照情報を「ハイパーリンク」(hyperlink)あるいは単にリンクという。
専用の表示ソフトウェアを用いて文書を開くと、文書内のリンクが設定された箇所を閲覧者の操作により選択することができ、参照先の文書を自動的に読み込んで表示することができる。ハイパーテキストを拡張し、文書に留まらず画像や図表、音声、動画、3次元グラフィックスなど様々な情報資源間で相互に関連付けや参照などが行えるようにしたものを「ハイパーメディア」(hypermedia)という。
ハイパーテキストシステムは電子辞書や百科事典ソフトのように一つのソフトウェアやコンピュータの内部で完結しているものと、通信ネットワークなどを介して複数のコンピュータに分散する文書データにまたがって構築されるものがある。その最も有名な応用例は、インターネット上に分散する膨大な文書群をハイパーリンクによって結んだ世界規模の開放型ハイパーテキストシステムである「Web」(ウェブ、WWW:World Wide Web)である。
暗号 ⭐
ある情報を特定の決まった人しか読めないように一定の手順に基づいて無意味な文字や符号の列に置き換えたもの。情報の伝送や記録、保存の際、第三者に盗み見られたり改竄されないようにするために作成される。
通信や記録の内容を秘匿する手法には様々な種類があり、内容を記録した媒体の存在自体を隠す方法などもあるが、暗号は記録内容が読み取られても何が書かれているのか分からないようにする手法を指す。
歴史的には、暗号表などを事前に作成・共有し、単語やフレーズ単位で無関係な別の文字などに置き換える「コード」(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、ユーザ名など)や本人であることを確認する秘密の情報(パスワード、パスコード、パスフレーズ、暗証番号など)をそのままやり取りする。
通信回線やネットワークを介して認証を行う際に、信用できない通信経路上で平文認証を行うと途中で悪意の第三者による盗聴や改竄、なりすましなどの被害にあう危険性があるため、暗号化などに対応した認証方式を用いる必要がある。
共通鍵暗号 【秘密鍵暗号】 ⭐⭐⭐
暗号化と復号に同じ暗号鍵を用いる暗号方式。暗号文の送信者と受信者で同じ鍵を共有する必要があり、あらかじめ安全な経路で鍵を共有しなければならない。
暗号化の対象となる平文と、単一の暗号鍵を用いて、特定の計算手順(暗号アルゴリズム)により暗号文を得る。平文と鍵のいずれかが異なれば暗号文も異なる。暗号文を元の平文に戻すには、暗号化に用いた鍵によって暗号化時と逆方向の変換を行う。
古代より換字表を鍵としたものなど様々な方式が利用されてきたが、現代では、数十から数百ビット程度の規則性のないデータを鍵として、任意の長さの平文をコンピュータによる計算により暗号化する方式が普及している。アルゴリズムは公開を原則とし、暗号鍵の推測しにくさ(特に、鍵の長さ)によって安全性を確保する。
暗号化を行うデータの区切り方の違いにより、一定の長さごとのブロック単位で暗号化を行うものを「ブロック暗号」(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:公開鍵基盤)という。
公開鍵 【パブリックキー】 ⭐⭐
公開鍵暗号で使用される一対の暗号鍵の組のうち、相手方に渡したり一般に公開する鍵。もう一方の鍵は所有者が管理して秘匿する必要があり、「秘密鍵」(secret key)と呼ばれる。
公開鍵暗号では一対の対応関係にある暗号鍵のペアを用い、公開鍵で暗号化した暗号文は秘密鍵でしか復号できないという仕組みになっている。通信を暗号化する場合は相手の公開鍵を入手して送信データを暗号化することにより、対になる秘密鍵を知る相手本人しか復号できないようにする。
代表的な公開鍵暗号のRSA方式ではこの逆も可能で、秘密鍵で暗号化(に相当する変換処理)を行い、対になる公開鍵で復号する、といった使い方もできる。このような対称性を持つ方式は珍しく、公開鍵暗号一般に見られる性質ではない。
また、メッセージを送信する際に、本文をハッシュ関数で要約した短いデータと秘密鍵、公開鍵を元に一定の手順で計算したデジタル署名を添付することにより、受信側が送信元を確認したり、改竄やすり替えを検知することができる。
公開鍵暗号を利用するには事前に相手方の公開鍵を入手しておく必要があるが、実用上は相手方との間にインターネットなど必ずしも信用できない経路を含む伝送手段しかない場合が多く、攻撃者によるすり替えなどの危険がある。
このため、送信者と受信者の双方が信頼する第三者が電子署名した特殊なメッセージによって公開鍵を運び、受信者が送信元や鍵の真正性の確認を行うことができるようにすることが多い。この公開鍵を含む署名されたメッセージをデジタル証明書(電子証明書/公開鍵証明書)と呼ぶ。
秘密鍵 【シークレットキー】 ⭐⭐
公開鍵暗号で使用される一対の暗号鍵の組のうち、相手方に渡したり一般に公開せず、所有者が管理下に置いて秘匿する必要がある鍵。もう一方の鍵は公開して相手方が利用するもので「公開鍵」(public key)と呼ばれる。
公開鍵暗号では一対の対応関係にある暗号鍵のペアを用い、公開鍵で暗号化した暗号文は秘密鍵でしか復号できないという仕組みになっている。代表的な公開鍵暗号のRSAではこの逆も可能で、秘密鍵で暗号化(に相当する変換処理)を行い、対になる公開鍵で復号する、といった使い方もできる(このような対称性を持つ公開鍵暗号は珍しい)。
通信を暗号化する場合は相手の公開鍵を入手して送信データを暗号化することにより、対になる秘密鍵を知る相手本人しか復号できないようにすることができる。また、メッセージを送信する際に、本文をハッシュ関数で要約した短いデータと秘密鍵、公開鍵を元に一定の手順で計算したデジタル署名を添付することにより、受信側が送信元を確認したり、改竄やすり替えを検知することができる。
秘密鍵が漏洩すると自分宛ての暗号文を攻撃者に解読されたり、攻撃者が自分になりすまして署名したりできるようになってしまう。このため、秘密鍵が漏洩したり漏洩の疑いがある場合には対になる公開鍵と共にこれを失効させ、新たな鍵ペアを生成して使用する。
また、稀に秘密鍵暗号(共通鍵暗号)で暗号化と復号の両方に用いられる単一の暗号鍵を秘密鍵と呼ぶこともあるが、一つしかないため一般的には単に暗号鍵と呼ぶことが多い。
シーザー暗号 【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」などと両者を併記することが多い。
SSL 【Secure Sockets Layer】 ⭐
インターネットなどのIPネットワークでデータを暗号化して送受信するプロトコル(通信手順)の一つ。データを送受信する一対の機器間で通信を暗号化し、中継装置などネットワーク上の他の機器から通信内容を覗き見たりすり替えたりできないようにする。
SSLは公開鍵暗号を応用したデジタル証明書による通信相手の認証(一般的にはサーバの認証)と、共通鍵暗号(秘密鍵暗号)による通信の暗号化、ハッシュ関数による改竄検知などの機能を提供する。Webアクセスに使われるHTTPと組み合わせ、Webサイトで認証情報や個人情報、決済情報などの送受信を安全に行う手段として広く普及している。
認証局と証明書
SSLでは、一対の秘密鍵と公開鍵を組み合わせて用いる「公開鍵暗号」により通信相手の確認や通信の暗号化に用いる暗号鍵の交換を行う。そのためには相手方(クライアント側ソフトウェアにとってサーバ側)の公開鍵をすり替えや改竄ができない方法で入手する必要がある。
SSLを利用するクライアント(Webブラウザなど)が、アクセス先のすべてのサーバの公開鍵を個別に安全に入手することは現実的ではないため、信頼できる「認証局」(CA:Certificate Authority)と呼ばれる機関が発行したデジタル証明書によって公開鍵の受け渡しを行う。
Webブラウザなどには著名な大手CAの公開鍵が記録された「ルート証明書」があらかじめ格納されており、これを用いてサーバから送られてきた証明書を検証することにより、途中ですり替えや改竄が行われていないことを確認することができる。この仕組みを「PKI」(Public Key Infrastructure:公開鍵基盤)という。
サーバ側ではSSLに対応するために大手CAやその認証を受けた下位CAの発行(通常は販売)する証明書を導入する必要がある。仕組みの上ではCAなど外部機関の認証を受けず自らが発行した証明書を使うこともできるが、クライアント側では「発行元の検証ができない」警告メッセージが表示される。
プロトコルとポート番号
SSLはプロトコル階層では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の仕様は1990年代半ばに当時のWebブラウザ大手、米ネットスケープ・コミュニケーションズ(Netscape Communications)社が開発した。SSL 1.0は欠陥が見つかったため公式発表前に破棄され、最初に公開されたのは1994年のSSL 2.0である。翌1995年にSSL 3.0が発表された。これらは現在では深刻な脆弱性が発見されており、利用を中止して後継版へ移行することが推奨されている。
SSL 3.0の次のバージョンから名称が「TLS」(Transport Layer Security)に変更されたため、現在広く利用されているのは正確にはTLSの方だが、「SSL」という名称が既に広く定着していたため、実際にはTLSを指していてもSSLと表記したり、「SSL/TLS」「TLS/SSL」などと両者を併記することが多い。
TLS 【Transport Layer Security】 ⭐
インターネットなどのIPネットワークでデータを暗号化して送受信するプロトコル(通信手順)の一つ。送受信データの暗号化による盗み見の防止、相手方の認証による真正性の確認(なりすまし防止)、経路途上での改竄検知などを行うことができる。
TLSはデジタル証明書(公開鍵証明書)による通信相手の認証(一般的にはサーバの認証)を行い、中継装置などネットワーク上の他の機器によるなりすましを防止する。また、共通鍵暗号(秘密鍵暗号)によって通信を暗号化し、ハッシュ関数を応用してデータの改竄を検知することができる。
Webコンテンツの送受信に使われるHTTPと組み合わせた「HTTPS」(HTTP over SSL/TLS)が特によく知られ、Webサイトと閲覧者のWebブラウザの間で認証情報や個人情報、決済情報などの送受信を安全に行う手段として広く普及している。
TLSはTCPやUDPと同じ、いわゆるトランスポート層のプロトコルで、TCPの代替として利用することができるため、HTTPに限らず様々な上位層のプロトコルと組み合わせて使用され、インターネットにおける汎用的な通信の暗号化方式として定着している。UDPと組み合わせることができる派生仕様もあり「DTLS」(Datagram TLS)という。
デジタル証明書の運用
TLSでは公開鍵暗号を利用するため、サーバ側に認証局(CA:Certificate Authority)によって署名されたデジタル証明書(SSLサーバ証明書)が、クライアント側に同じ認証局の証明書か最上位認証局(ルート認証局)のルート証明書が必要となる。
実際の運用では、サーバは著名なルート認証局により認証された中間認証局から得た証明書を提示することが多い。Webブラウザなどのクライアントソフトには著名ルート認証局の証明書があらかじめ同梱されており、通信相手ごとにいちいち利用者が証明書の取り寄せなどを行う必要はない。
SSLとの関係
当初の標準規格は「SSL」(Secure Socket Layer)と呼ばれ、SSL 3.0が改訂される際に同時に名称が改められて「TLS 1.0」が生まれたが、SSLという名称が既に広く定着していたため、実際にはTLSを指していてもSSLと表記したり、「SSL/TLS」「TLS/SSL」などと両者を併記することが多い。
現在実際に使われているのはほとんどがTLSである。SSLの最終版であるSSL 3.0には保安上の弱点(脆弱性)が発見されており、もはや十分に安全とは言えない状況になっているため、インターネット上で運用されるサーバは早急なTLSへの移行とSSL旧バージョンの無効化が推奨されている。
HTTPS 【HTTP over SSL/TLS】 ⭐⭐
通信方式の種別などを表すURIスキームの一つで、Webのデータ転送に用いられるHTTPが、SSLやTLSで暗号化されている状態を表したもの。WebサーバとWebブラウザの間の通信が暗号化されていることを意味し、通信経路上での盗聴や改竄、第三者によるなりすましを防止する。
インターネット上での情報資源を指し示すのに「http://www.example.com/」といった形式の「URL」(Uniform Resource Locator)あるいは「URI」と呼ばれる書式が用いられる。先頭部分の「http://」は資源の種類や通信方式、プロトコル(通信手順)などを表すスキームと呼ばれる要素で、通常のWeb通信ではHTTPによる通信を表す「http://」を用いる。
HTTPには通信の暗号化についての仕様が無いため、環境によっては通信内容を伝送途上で盗み見られたり途中で内容をすり替えられる危険がある。このため、暗号化プロトコルの「SSL」(Secure Socket Layer)あるいは後継の「TLS」(Transport Layer Security)で暗号化されたデータ伝送路を確立し、その中でHTTPによる通信を行うという方式が用いられる。
この通信方式を「HTTP over SSL/TLS」と呼び、スキームとして「https://」を用いる。アクセスしたいWebサイトのアドレス(URL)や、Webブラウザに表示されたWebページのアドレス欄などが「https://」で始まっていることを確認すれば、そのページのデータ伝送がSSL/TLSによって保護されていることが確認できる。
暗号化にはデジタル証明書が用いられ、Webブラウザのアドレス欄の近くにあるアイコンなどをクリック/タップすることなどにより、証明書の発行元(認証局)や、暗号方式の詳細、発行元に登録されたWebサーバ運営者の身元情報などを知ることができる。
HTTPは標準でTCPの80番ポートを使用して通信するが、HTTPS向けには標準でTCPの443番ポートが使われる。「https://www.example.com:8080/」のように特定のポートを指定することもできる。SSL/TLSを組み合わせて暗号化するプロトコルは他にもあり、SMTPを暗号化したSMTPS、POP3を暗号化したPOP3S、IMAP4を暗号化したIMAPSなどがよく知られる。
認証 ⭐
対象の正当性や真正性を確かめること。ITの分野では、システム利用などに際して相手が名乗った通りの本人であると何らかの手段により確かめる手続きのことを認証ということが多い。
相手が本物か確かめるという相手認証の他に、メッセージ認証のようにデータが改竄されていないか確かめたり、時刻認証のようにデータの属性が真正であることを確認することを指す場合もある。
二者間認証/相手認証 (authentication/オーセンティケーション)
二者が相対で相手方の真正性などを確かめることを「相手認証」あるいは「二者間認証」と呼び、英語では “authentication” (オーセンティケーション、動詞は “authenticate” )という。
例えば、ある利用者がコンピュータに自分のアカウント名を名乗り、そのアカウント名の正しいパスワードを入力できれば、確かにその利用者がアカウント名の本人であることが確認できる。日常的にも、金融機関のATM(現金自動預け払い機)などで、キャッシュカードを提示したのが本人であることを確認するために暗証番号を入力させる、といった場面で利用されている。
三者間認証/第三者認証 (certification/サーティフィケーション)
第三者に問い合わせて相手方の正当性を確かめることを「三者間認証」あるいは「第三者認証」と呼び、英語では “certification” (サーティフィケーション、動詞は “certify” )という。
例えば、通信経路を暗号化する際などに、相手方から提示されたデジタル証明書を発行元(認証局/CA:Certificate Authority)に照会すれば、身元を確認することができる。日常的には、資格や行政機関の認証制度、クレジットカードを使用する際に加盟店が発行元に信用照会する仕組みなどが該当する。
認証方法の分類 (WYK/WYH/WYA)
認証を行う二者の間で事前に秘密の情報を共有し、認証時に正しく入力できれば本人であるとみなす方式をWYK(What You Know)認証という。パスワードやパスフレーズ、暗証番号などが該当する。何らかの方法で本人から詐取したり、入力時の覗き見や通信時の盗み見などで秘密の情報を入手されると、認証が突破され第三者によるなりすましが可能となる。
認証元が本人に発行した物理的なモノを提示・接続することにより本人であることを確認する方式をWYH(What You Have)認証という。セキュリティトークン(USBトークンなど)や暗号鍵などを格納したICカードを手元の機器の端子に接続したり、本人に発行した乱数表の指定位置の文字・数字を入力させるといった手法が知られる。モノを盗まれるとなりすましの危険がある。
認証元に登録された本人の身体に固有のパターンにより本人確認する方式をWYA(What You Are)認証あるいは生体認証(バイオメトリクス認証/biometrics authentication)という。指紋認証や静脈認証(掌の静脈のパターンを用いる)、虹彩認証(瞳の黒目部分にある虹彩の模様を用いる)、声紋認証、顔認証などが知られる。
他の方式より他人による(特定の個人への故意の)なりすましは最も難しいとされるが、方式によってはパターン識別システムの認識精度を100%にすることは難しく、本人を拒否してしまったり、他人と取り違えてしまうといった誤検知の問題がある。
認証と認可
認証済みの利用者に対し、アクセス権の設定などを参照して本人に与えられた適切な権限による操作を許可する(権限外の利用を拒否する)ことを「認可」と呼び、英語では “authorization” (オーソライゼーション、動詞は “authorize” )という。
認証の次の段階で行われる権限の付与のことを指すが、単純なシステムでは認証と同時に認可も済んでしまうことも多く、字面も似ており、日常的な語彙としては似た意味合いであるため、しばしば混同される。認証向けの技術を認可に用いるといった不適切な事例も起きている。
英語でも “authentication” と “authorization” は日常語彙としては意味も綴りも似ており、日本語の場合と事情は近い。さらに、方式名や製品名に使用する際などに、どちらも “auth” と略されることがあるため、余計に混同しやすいという事情があり、近年では認証を “authn” 、認可を “authz” として別の略号を用いることが提唱されている。
バイオメトリクス認証 【生体認証】 ⭐⭐
指紋など固有性の高い人間の身体的特徴をデータ化して本人確認に用いる認証方式。暗証番号のように本人の記憶を用いる方式に比べ、原理的に他人による「なりすまし」が難しいが、生体は状態が安定しないことがあり本人の認識に失敗する場合がある。
古来より指紋は本人固有の生体的特徴として利用されてきたが、コンピュータによる指紋認証ではセンサーで表面の模様を読み取って一定の手順で図形的な特徴を符号化し、記録された本人のものと照合する。
指紋以外にも、眼球の黒目部分の皺の模様を用いる虹彩認証や、手のひらや指先の静脈の形状を赤外線センサーなどで読み取る静脈認証、声の特徴を用いる音声認証(声紋認証/声認証)、顔の特徴を用いる顔認証などが実用化されている。ペン型の入力機器で署名させ、その形状や筆圧、速度の変化などを符号化して照合する電子サインも生体認証の一種と言える。
パスワードなど単純な文字列や数字の比較に比べ、センサーを備えた特殊な機器が必要だったり、画像処理などで大量の計算をしなければならないなど仕組みが大掛かりなため、出入国管理や金融機関など業務用の機器やシステムから普及が始まった。
2010年代には装置の小型化やコンピュータの性能向上などが進み、スマートフォンやノートパソコンなどの携帯情報端末での利用者認証などにも利用が広がっている。パスワードなどと組み合わせて二段階認証を構成し、より高いセキュリティを実現する用途にも用いられる。
二段階認証 【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つ組み合わせる「二要素認証」も用いられる。
UID 【User Identifier】 ⭐⭐⭐
複数の利用者を一意に識別するための識別子。または、一意の識別子。具体的な仕様や規約はシステムの種類によって異なる。
アカウントのUID
システムやサービスに利用者登録(アカウント作成)を行う際に設定する利用者名(ユーザー名/アカウント名)のことをユーザーIDということがある。氏名やメールアドレス、ニックネーム、本人が任意に設定する英数字の組み合わせなどが使われることが多い。
UNIXのUID
UNIX系OSで登録利用者を一意に識別するために割り振られた識別番号をUIDあるいは「ユーザー識別子」という。16ビットあるいは32ビットの整数値が用いられ、0は必ずスーパーユーザー(rootユーザー)を表し、1から100(OSによって異なる)はシステムによって予約されている。
携帯電話のUID
携帯電話事業者が個々の契約者に割り当てた契約者固有識別子や、個々の端末に割り当てた端末固有識別子などをUIDということがある。
文脈により、SIMカードなどに記録された契約者ごとに固有の識別番号(端末が変わっても引き継がれる)などを指す場合と、端末内部に記録された個体ごとに固有の製造番号(利用者が変わっても引き継がれる)などを指す場合がある。
パスワード ⭐⭐⭐
利用者が名乗った本人であるか確認する際などに用いられる秘密の合言葉。事前に登録したものと、認証時に入力したものが一致すれば本人であるとみなされる。
利用者の登録・識別を必要とするシステムでは、利用者の登録(アカウント作成など)の際に識別名(ユーザー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では、ファイルやフォルダに対しては「読み込み」「書き込み」「作成」「削除」などの動作について、また、実行可能ファイルはこれに加えて「実行」について可否を設定できるようになっている。
アクセス権は特定のユーザーアカウントやアカウントのグループを単位に設定するようになっていることが多いが、「管理者」「全員」「システム」「作成者」など特別な組み込みアカウントやグループを指名できる場合もある。
アクセス権を変更する権限を持つのは一般に管理者や管理者グループに属するユーザーで、一般の利用者は与えられたアクセス権に従って資源を使用するのみになっていることが多い。
ブラックリスト 【BL】 ⭐
対象を選別して受け入れたり拒絶したりする仕組みの一つで、拒絶する対象を列挙した目録(リスト)を作り、そこに載っていないものは受け入れる方式。また、そのような目録のこと。
IT分野では、通信やアクセスを拒否・禁止するアドレスなどのリストを作成し、それ以外は許可する方式を「ブラックリスト方式方式」という。拒否したい対象が特定可能で、許可したい対象より少数の場合に適している。
アクセスを禁じるWebサイトのURLを列挙したURLフィルタや、受信を拒否するメールアドレスやキーワードを列挙した迷惑メールフィルタ、通信を禁じるIPアドレスやポート番号の組み合わせを列挙したファイアウォールの設定などがこれに当たる。
対義語は「ホワイトリスト」(whitelist)で、目録に載っているものだけを受け入れ、それ以外は拒絶する方式である。色にポジティブあるいはネガティブな意味を対応付けて表すのは好ましくないとする考え方もあり、「拒否リスト」(deny list)のように言い換えることもある。
ホワイトリスト 【WL】 ⭐
対象を選別して受け入れたり拒絶したりする仕組みの一つで、受け入れる対象を列挙した目録(リスト)を作り、そこに載っていないものは拒絶する方式。また、そのような目録のこと。
IT分野では、通信やアクセスを許可する対象やアドレスなどのリストを作成し、それ以外は拒否・禁止する方式を「ホワイトリスト方式方式」という。許可したい対象が特定可能で、拒否したい対象より少数の場合に適している。
アクセスを許可するWebサイトのURLを列挙したURLフィルタや、受信を許可するメールアドレスなどを列挙した迷惑メールフィルタ、通信可能なIPアドレスやポート番号の組み合わせを列挙したファイアウォールの設定などがこれに当たる。
対義語は「ブラックリスト」(blacklist)で、目録に載っているものだけを拒絶し、それ以外は受け入れる方式である。近年では、色にポジティブあるいはネガティブな意味を対応付けて表すのは好ましくないとする考え方もあり、「許可リスト」(allow list)のように言い換えることもある。
電子署名 【デジタル署名】 ⭐⭐
文書やメッセージなどのデータの真正性を証明するために付加される短いデータ。作成者を証明し、改竄やすり替えが行われていないことを保証する。欧米で紙の文書に記されるサイン(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へ移行される。
また、署名が本人のものであることを証明する認証業務について、一定の基準を満たした認証局がデジタル証明書を発行する業務を特定認証業務としている。その中で、さらに厳しい基準を満たし、国や指定検査機関の審査を経て認定された認証局の業務を認定認証業務という。認定認証局は全国で十社程度が認定されている。
認証局 【CA】 ⭐
電子商取引事業者などに、暗号通信などで必要となるデジタル証明書を発行する機関。信頼の起点となる「ルート認証局」(root CA)と、証明書の発行を担う「中間認証局」(intermediate CA)がある。
ルート認証局は上位の認証局による認証を受けず、自分の正当性を自ら証明する。他の認証局に対してデジタル証明書を発行し、認証局に対する信頼の拠り所となる。ルート証明書の信頼性は、厳しい監査を受けることや、認証業務運用規程(CPS)を公開すること、運用実績や知名度など、デジタル証明書以外の方法で示される。
ルート認証局以外の認証局が中間認証局で、上位の認証局からデジタル証明書を発行してもらうことで、自らの正当性を証明する。中間認証局の多くは一般にデジタル証明書を販売する事業者で、Webサーバに導入するSSLサーバ証明書などはここから購入する。
通常、Webブラウザなどデジタル証明書を利用するソフトウェアには、ソフトウェアの発行元や利用者が信頼できるルート認証局の証明書が同梱されている。Webサイトなどに接続した時に、相手の提示した証明書が信用できるかどうかは、発行元の認証局を調べ、さらにその認証局を認証している上位局を調べ…といった具合に辿っていき、最終的に自分の手元にあるルート証明書に一致するルート認証局にたどり着けば、信用できると確認できる。
なお、商用認証局から証明書の交付を受けるには費用がかかるため、Webサイトなどの中には、自らがルート認証局となって証明書を発行し、暗号化通信などを利用するサイトもある。そのようなサイトの場合、あらかじめ同梱されたルート認証局の認証は受けていないことになるため、Webブラウザなどがその旨警告するようになっている。
登録局 (RA:Registration Authority)
デジタル証明書の発行申請を受け付け、本人確認を行い、認証局(CA:Certificate Authority)に発行を申請する機関を登録局(RA:Registration Authority)という。主に大規模なPKI(公開鍵認証基盤)で設置されるもので、自らは証明書を発行する機能・権限はなく、末端の利用者に対して発行や失効の手続きを受け付ける窓口となる機関である。
登録局から申請に応じて証明書を発行するのはCAの役割だが、登録局からの要請に基いて(自らは本人確認など登録局が行う業務は行わず)証明書の発行のみを行うCAのことを発行局(IA:Issuing Authority)ということがある。
検証局 (VA:Validation Authority)
デジタル証明書の失効リスト(CRL)を集中管理して、証明書の有効性をチェックする機関を検証局(VA:Validation Authority)という。認証局(CA)と違い、デジタル証明書の発行は行わず、検証機能に特化しているためこのように呼ばれる。クライアントからの問い合わせに応じて、CAの公開鍵で署名の正当性を検証したり、証明書の有効期限を確認したりする。
デジタル証明書 【電子証明書】 ⭐
暗号化やデジタル署名に用いる公開鍵暗号の公開鍵を配送する際に、受信者が鍵の所有者を確認するために添付される一連のデータセットのこと。一般的には認証局(CA:Certificate Authority)と呼ばれる機関が発行する。
公開鍵暗号では一対の暗号鍵の組を用い、一方は自分しか知らない秘密鍵として、もう一方は通信の相手方に渡して使ってもらう公開鍵として用いる。相手と安全な受け渡し手段がある場合は事前に公開鍵を渡しておくことができるが、そうでない場合はインターネットなど信用できない経路を含む通信手段で鍵を配送しなければならない。
そこで、公開鍵が通信途上で攻撃者による改竄・すり替えに遭っておらず、確かに送信者本人のものであると受信者が確認できるようにするために、公開鍵データに送信者と受信者の双方が信用する第三者(認証局)のデジタル署名を添付するという手法が考案された。
送信者は認証局に自らの識別(身元)情報や公開鍵を申請し、認証局の秘密鍵でデジタル署名された電子証明書を作成してもらい、これを受信者に渡す。受信者は証明書から公開鍵を取り出し署名を検証することで、認証局がその公開鍵が送信者本人のものであると主張していることを確かめることができる。
現在広く普及している電子証明書の規格はITU-Tの定めたX.509で、公開鍵自体の他に、証明書発行者(認証局など)の識別情報、証明書の識別情報(シリアル番号など)、証明書の有効期間(開始日・終了日)、鍵の所有者の識別情報、公開鍵の暗号アルゴリズムの種類、発行者によるデジタル署名などの情報が記載される。
認証局の鍵配送問題とルート認証局
証明書のデジタル署名を検証するには認証局の公開鍵が必要となるため、受信者は送信者が利用する認証局の公開鍵を安全に入手しなければならない。しかし、世の中のすべての認証局の公開鍵をあらかじめ揃えておくことは現実的ではなく、また、インターネットなどで公開鍵をそのまま配送するのは送信者の鍵を送る場合と同じ危険がある。
この問題を回避するため、Webブラウザなど公開鍵暗号を利用するソフトウェアには世界的に有力な少数の認証局の公開鍵が安全な方法であらかじめ組み込まれており、そのような認証局をルート認証局(ルートCA)という。
各認証局は自らの公開鍵を上位の認証局に署名してもらって公開し、上位認証局はさらに上位の認証局に署名してもらって鍵を公開し…というプロセスを繰り返し、最終的にルート認証局の署名が得られれば、利用者は安全に各認証局の公開鍵を入手することができる。ルート認証局は利用者側でも追加できるようになっているため、必ずしも著名な機関を頂点とする証明書しか使用できないわけではない。
ハッシュ値 【ダイジェスト値】 ⭐
元になるデータから一定の計算手順により求められた固定長の値。その性質から暗号や認証、データ構造などに応用されている。ハッシュ値を求めるための計算手順のことをハッシュ関数、要約関数、メッセージダイジェスト関数などという。
ハッシュ値は元のデータの長さによらず一定の長さとなっており、同じデータからは必ず同じハッシュ値が得られる。実用上は数バイトから数十バイト程度の長さとすることが多い。計算過程で情報の欠損が起きる不可逆な変換が含まれ、ハッシュ値から元のデータを復元することはできない。
ハッシュ値は元のデータの特徴を表す短い符号として利用することができ、データの比較や検索を高速化することができる。例えば、大きな容量のファイルの内容が同一であるかを比較する際に端から順にすべてのデータを照合すれば時間が掛かるが、それぞれハッシュ値を計算しておいて比較すれば一致するかどうかは一瞬で判別することができる。
ハッシュ関数のうち、暗号などに適した性質を持つものを「暗号学的ハッシュ関数」という。このような関数から得られたハッシュ値は、入力値との間に規則性がなく、入力値が少しでも異なればまったく異なるハッシュ値となる。
また、ある特定のハッシュ値が得られるような入力値を効率よく求めることはできず(弱衝突耐性)、同じハッシュ値となる別の入力値も容易には見つけられない(強衝突耐性)。
このようなハッシュ関数は非常に有用であり、暗号化や認証、デジタル署名など様々なセキュリティ技術の基礎的な要素技術として応用されている。算出法についての標準規格も定められ、古くはMD5やSHA-1などが広く普及したが、これらは現在では十分安全でないことが知られ、SHA-2(SHA-256など)への置き換えが進んでいる。