キヤノンMJ/サイバーセキュリティ情報局

意外と知られていない通信の基本、「プロトコル」について

  • この記事をはてなブックマークに追加
  • 本文印刷

本記事はキヤノンマーケティングジャパンが提供する「サイバーセキュリティ情報局」に掲載された「セキュアなプロトコルとは?通信規格の基本をおさらいする」を再編集したものです。

 コロナ禍によるリモートワークの普及なども背景に、データの盗聴や改ざんを防ぐセキュアな通信の確保が重要視されている。セキュアな通信にはセキュアなプロトコルを採用することになる。この記事では、インターネットで用いられる主要な通信プロトコル、セキュアな通信プロトコルを取り上げ、その基本を解説する。

プロトコルとは? 意外と知られていないその意味

 コンピューター用語・通信用語としてよく耳にするプロトコル(Protocol)という言葉は、もともと「外交儀礼」という社会・政治用語である。国家間の儀礼上の決まり事として、外交をスムーズに進めるために存在し、古代ギリシャにおいて巻頭を「プロトコロン」と呼んでいたことに由来するとされる。そして、巻頭に目次を書き記したことから、草稿、議事録、議定書、外交儀礼などの意味に発展した。

 転じて、コンピューター用語や通信用語における「プロトコル」という言葉は、複数の機械同士が通信の際に用いる取り決めを意味する。例えば、データを送受信する端末、データの形式、パケットの構成、エラーの際の対処の取り決めなどとして用いられている。

 このようなプロトコルの仕様を定めることを、標準化(Standardization)という。インターネットプロトコル標準化作業は主に、IETF(Internet Engineering Task Force)で行なわれ、仕様はRFC(Request for Comments)という形で公開されている。一例を示すと、インターネット接続ではTCP/IPプロトコルが使用されている。TCP/IPとは、正確にはTCP(Transmission Control Protocol)とIP(Internet Protocol)という2つのプロトコルのことを示している。

 ネットワーク間のプロトコルであるIPは、ネットワーク中の送信元から送信先までデータが届けられるよう経路を決定し、データを配送する役割を果たす。一方、伝送を制御するプロトコルであるTCPは、配送されるデータを補正し、正しいひとつのファイルに集約する役割を持つ。

 TCPはRFC793、IPはRFC791としてそれぞれ標準化されている。なお、RFC793は後にRFC1122、3168、6093、6528、6864として、RFC791は、RFC1349、2474、6864と内容がアップデートされている。RFCは英文だが、IETFのサイトで誰でも内容を見ることができる。

通信プロトコルとは

 TCP/IP通信をはじめ、世界ではさまざまな通信プロトコルが利用されている。メインフレームの世界ではIBMの独自規格VTAMという通信プロトコル、携帯電話ではITU-T*1が標準化を推進しているLTEのようなプロトコルがある。いずれの通信プロトコルにおいても、OSI参照モデルのような階層として構造化されている。

*1「International Telecommunication Union Telecommunication Standardization Sector」の略称で、世界の電気通信における標準化を策定する部門のこと。


 各階層でそれぞれ異なる役割のプロトコルが機能し、通信が実現される。これら通信プロトコル群は「プロトコルスタック」と呼ばれている。TCP/IPを利用するインターネットの通信接続の場合、大きく4つの機能階層に分けられる。各階層は、以下のプロトコルスタックにて成立している。

・アプリケーション層

 ユーザーとのインターフェースとなる「アプリケーション」ごとにデータ形式の取り決めがされている。また、TCP/IPを利用するアプリケーションの場合、文字コード形式などの決定もこの層に含まれる。ウェブサイトの通信で用いられるHTTP(Hypertext Transfer Protocol)、電子メールの読み取りに使われるPOP3(Post Office Protocol3)、電子メールの送受信に使われるSMTP(Simple Mail Transfer Protocol)などが利用されている。

・トランスポート層

通信の信頼性やリアルタイム性など、目的に応じた通信品質の確保などをこの層で実現する。ほかのコンピューターへのパケットを制御するTCP(Transmission Control Protocol)、ネットワーク上のほかのコンピューターへパケットを送付するUDP(User Datagram Protocol)などがこの層に相当する。

・インターネット層

この層は、ネットワーク中の送信元から送信先までデータが届けられるよう経路を決定し、データ伝送を実現する。ネットワーク内の機器間のデータ転送のためのIP(Internet Protocol)が代表的だ。

・ネットワークインターフェイス層

 データを電気信号に変換するという物理的な取り決めや、機器同士が直接的に接続、あるいは同じネットワークに接続された複数の機器の中から通信すべき機器を区別してデータ伝送するための取り決めがある。イーサネット(Ethernet)、無線LAN、PPP(Point To Point Protcol)などが代表的なものだ。

セキュアなプロトコルとは

 初期から利用されているインターネットのプロトコルは、その多くが性善説の元で作り出されている。WAN(Wide Area Network:広域通信網)上にも平文でデータを流し、第三者にデータを盗み見られる、書き換えられるといったリスクは当初想定されていなかった。

 具体的には、ウェブブラウザー経由でHTTP(Hypertext Transfer Protocol)通信にて、あるページを閲覧したとする。HTTP/1.0でのクライアントからサーバーへのデフォルトページのリクエストは「GET /index.html HTTP/1.0」というメッセージが流される。それに対してサーバーがページの内容を、「HTTP/1.0 200 OK(以下、データ内容が続く)」と返答する。このように、非常にシンプルな平文がインターネット上で往来を繰り返すことで通信は成り立っている。通信の途中経路でデータをのぞき見ることができるのであれば、容易に他人が閲覧しているウェブページを把握できてしまうのだ。これはウェブ関連のプロトコルに限った話ではなく、インターネット層のIPやアプリケーション層のPOP3なども同様だ。

 学術研究者の利用を前提としていた初期インターネットでは、このような状態でも問題は生じなかったものの、現在では取り巻く状況は一変している。もはや生活インフラのひとつと言えるインターネットの利用において、「のぞき見」、「改ざん」されないために通信の安全性を確保することは最重要な課題となっている。

 そこで、プロトコル群から構成されるインターネットの通信において、それぞれのプロトコルに呼応すべく、セキュアなプロトコルが用意された。代表的なSSL(Secure Socket Layer)TLS(Transport Layer Security)など、従来のプロトコルの利便性をそのままに通信の安全性を高めたプロトコルが利用される傾向にある。

安全な接続方法「SSL」や「TLS」とは?
https://eset-info.canon-its.jp/malware_info/special/detail/200903.html

レイヤーごとのセキュアなプロトコル

 以下、レイヤーごとに、プロトコルをセキュア化している方法について解説する。

・ネットワークインターフェイス層

 ほかの機械からの盗聴や干渉された場合に把握しづらいネットワークとして無線LANがある。無線LANにおけるWi-Fiの暗号化方式は、最初のWEPからWPAWPA2、WPA3とバージョンを重ねるごとに高度化している。WPA3では、仮にデータ暗号化に必要な暗号化キーが漏えいした場合でも、第三者には正しいと検証できないSAE(Simultaneous Authentication of Equals)ハンドシェイクと呼ばれる技術や、誤った暗号化キーによる接続試行が一定回数以上続くとそれ以降の接続試行を拒否するブルートフォース攻撃対策機能が定義されるなど、セキュリティの強化が図られている。

・インターネット層

 IPSec(Security Architecture for IP)というIPをセキュア化したプロトコルが存在する。主にVPN(Virtual Private Network)を構成するために使用されるが、このプロトコルでは、通信元からネットワークに流されるデータをカプセル化して通信網に送り出す。カプセル化したデータは共通鍵で暗号化され、データを盗み見されても解析は困難となっている。

VPN接続で向上する?リモートワーク時のネットワークセキュリティ
https://eset-info.canon-its.jp/malware_info/special/detail/210713.html

・トランスポート層

TCPやUDPなどで構成されるトランスポート層では、TCPを利用するアプリケーションの多くがSSL/TLSを利用してセキュアなプロトコルを構成したことに対応。また、UDPでもSSL/TLSと同様にセキュアなプロトコルへの要望から、コネクションレス通信ベースのセキュアな通信規格が登場。代表的なものとしてDTLS(Datagram Transport Layer Security)が挙げられる。パケットロスなどは容認される必要があるものの、高速にデータ伝送ができ、IP電話などのデータ通信向けとして用いられている。

・アプリケーション層

 ウェブアクセスに用いられるHTTPのセキュアなプロトコルとして用意されたHTTPSとは、簡潔にまとめると、SSL/TLSでデータを暗号化したうえでHTTP通信を行なう仕組みとなっている。同様にメールの受信では、POP3をSSL/TLS上で通信させるPOP3s、送信ではSMTPをSSL/TLS上で通信するSMTPs がよく用いられる。

 アプリケーションの設定で「POP3s」の言葉を見かける機会は少ないが、実際には多く利用されている。例えば、メールクライアントアプリの設定を行なう際に、POP3で標準のTCP110番ポートを用いるのではなく、995番経由で「暗号化された接続」を実現するといった場合には、POP3ではなく、POP3sが使用される。

 セキュアなプロトコルを導入する場合、相応のコストが求められる。ECサイトやコーポレートサイトなど、何かしらのウェブサイトを運営する中でSSLを導入しているケースは少なくないだろう。テレワークを進展させるためであれば、社内LANの拡張という見方もできるVPNの導入で十分かもしれない。最近ではIPSec-VPNなどの利用コストも相対的に下がってきている。

 しかし、総合的なサイバー攻撃対策として、ゼロトラストを前提としたネットワーク構築など高度なレベルを目指すのであれば、当然ながらコストも手間も増大する。自社のビジネスやその状況を見極め、どのようなセキュリティ対策が必要なのかを整理すること。その第一歩がセキュアなネットワーク環境の構築に求められていると言えるだろう。