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

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

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

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

この先は有料会員の登録が必要です。有料会員(月額プラン)は申し込み初月無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら