第三者に知られたくない情報を別のメッセージに置き換えることで漏洩しにくくする――。これが暗号である。暗号は、誰でもアクセスできるインターネットなどで通信するために欠かせない技術だ。 暗号には、複数の方式や様々な規格・プロトコルが存在し、その名称が何を指すのか、どんな仕組みで動いているか、混乱しやすく正確に理解するのは難しい。そこで本特集では、暗号の基本から実際どのような場面で使われているのか、インターネットや無線LANで使う暗号の技術や規格を解説していく。

 インターネットは、専用線や通信事業者の閉域網と違い、不特定多数のユーザーで共用する公衆網だ。そのため、インターネットを介した通信は偽のサーバーに誘導させられたり、通信を盗聴されたりするリスクを伴う。暗号を使えば、こうしたリスクを回避できる。

 企業ネットワークでインターネットを利用する主な通信は、Webサイトを閲覧するためのWebサーバーとの通信と、拠点間をつなぐインターネットVPNである。安全な通信を実現するために、どちらも「トンネル」を使う。

安全なインターネット通信を実現するトンネル
安全なインターネット通信を実現するトンネル
[画像のクリックで拡大表示]

 ここでのトンネルとは、仮想的な専用の通信路を指す。(1)やり取りする相手が正当かどうかを確認(認証)し、(2)通信データを暗号化(暗号通信)してトンネルを確立する。トンネルを確立するプロトコルとして、Webサーバーとの通信ではTLS/SSLを、インターネットVPNではIPsecなどを使う。

 (1)の認証によって、攻撃者が用意した偽のWebサーバーに誘導されるのを防ぐ。攻撃者は、メールなどに記載した偽のサーバーのURLをクリックさせる、DNSなどのインターネットの仕組みを悪用して誘導する、といった手法を使ってくる。これらの手法に対抗するために、電子証明書を使って認証する。

 さらに電子証明書を利用して、(2)の暗号通信を実行するための鍵交換を行う。暗号通信によって、盗聴による情報漏洩を防ぐ。

電子証明書を使うTLS/SSL

 では、TLS/SSLを使ったインターネットアクセスの仕組みを見ていこう。

 WebサーバーとTLS/SSLを使ってやり取りするには、Webサーバー側がTLS/SSLに対応する必要がある。具体的には、TLS/SSLサーバー証明書をあらかじめ登録しておく。TLS/SSLサーバー証明書(以下、サーバー証明書)は電子証明書の一つである。

 サーバー証明書は、認証局もしくはCAと呼ばれる機関に発行してもらう。公開鍵暗号を使うTLS/SSLではまず、Webサーバーの管理者が公開鍵と秘密鍵のペアを作成する(下図(1))。

WebサーバーにTLS/SSLサーバー証明書を登録する
WebサーバーにTLS/SSLサーバー証明書を登録する
[画像のクリックで拡大表示]

 そして、公開鍵を認証局に送ってサーバー証明書の発行を依頼する(同(2))。

 認証局では、正当な申請であるか、申請内容に沿ったWebサーバーであるかなどを審査。審査に合格したらサーバー証明書を作成する(同(3))。証明書には、Webサーバーの情報や公開鍵、これらのデータのハッシュ値を認証局の秘密鍵で暗号化した署名が入っている。これをWebサーバーの管理者に送付する(同(4))。

 Webサーバーの管理者が、サーバー証明書をWebサーバーに登録すれば、WebサーバーはTLS/SSL対応になる(同(5))。

この先は日経クロステック Active会員の登録が必要です

日経クロステック Activeは、IT/製造/建設各分野にかかわる企業向け製品・サービスについて、選択や導入を支援する情報サイトです。製品・サービス情報、導入事例などのコンテンツを多数掲載しています。初めてご覧になる際には、会員登録(無料)をお願いいたします。