インターネットの安全を実現する鍵交換技術

2.3. 成り済ましを防ぐ認証付き鍵交換 |

2.4. 鍵交換の実例

ここでは、鍵交換の実例について紹介します。


2.4.1. SSL/TLS

SSLはSecure Socket Layerの略で、インターネット上でデータを暗号化して安全に通信を行うしくみです。SSLはもともとネットスケープコミュニケーションズ社が開発したプロトコルですが、後にTLS(Transport Layer Security)として標準化されました。SSL/TLSは様々なアプリケーションに利用可能ですが、代表的な例として電子ショッピングなどのサイトにおいて安全にWebアクセスを行う仕組みであるHTTPSが挙げられます。

HTTPSのシーケンスは以下のようになっています。

HTTPSでは、サーバー証明書の形で、第3者が認証してあるサーバーの公開鍵を入手します。その後、セッション鍵の生成元となる乱数をサーバーとの間で公開鍵暗号方式で共有し、セッション鍵を共有することと成ります。

図2-7 HTTPS over SSL/TLSのシーケンス

HTTPS(SSL/TLS)では、公開鍵暗号を用いて安全に鍵交換を行います。また、成り済ましを防ぐために、PKIを用いて相手認証を行います。Webブラウザから、HTTPSサーバにアクセスすると、まず、サーバ証明書を取得します。クライアント(Webブラウザ)側で、サーバ証明書の信頼性を確認すると、乱数を生成し、サーバ証明書の公開鍵で暗号化してサーバに送ります。サーバ側では、送られてきた乱数をもとに、セッション用の共通鍵を生成します。クライアント側でも同じ共通鍵を生成します。以後、共通鍵暗号を用いてセッションのデータを暗号化して通信を行うことができるようになります。


2.4.2. SSH接続

SSHはSecure SHell(セキュアシェル)のことで、インターネット上で安全にリモートホストにログインするためのプログラムです。昔はtelnetが用られていましたが、telnetではホスト間の通信が平文で行われるため、安全ではありません。現在ではsshにとって代わられています。SSHでは、ログインセッションごとに秘密鍵を生成し、通信を暗号化することで、安全に通信が行えるようになっています。SSHのバージョン2では、セッション鍵をDH鍵交換方式で共有するようになっています。相手認証の方式としては、パスワード認証と公開鍵暗号を用いた認証方式のいずれかを利用することができます。


2.4.3. インターネット鍵交換プロトコル

IKE(インターネット鍵交換)は、IPsecで用いる秘密鍵を交換するためのプロトコルです。IPsecは、IPパケットを暗号化して送信することで、インターネットを介して2点間を安全に結ぶためのプロトコルです。IKEでは、IPsecで用いる共有の秘密鍵を定期的に更新します。この時の鍵の更新に、DH鍵交換が用いられています。

IKEでは、成り済ましによる中間者攻撃を防ぐため、IPsec用の鍵を交換する前に、鍵を交換する相手の認証を行うフェーズ(フェーズ1)があります。

相互認証方式としては、以下の4つを利用することができます。

  • 事前共有秘密鍵認証方式
  • デジタル署名認証方式
  • 公開鍵暗号化認証方式
  • 改良型公開鍵暗号化認証方式

事前共有秘密鍵認証方式は、前節で説明したパスワードによる認証方式に相当します。IPsecで通信を行う拠点数が2~3程度の小規模な環境であれば、この方式でも十分でしょう。改良型を含む公開鍵暗号化認証方式は、前節で説明した公開鍵暗号による認証方式に相当します。これらの方式では事前に認証相手の公開鍵証明書を入手しておく必要があります。デジタル署名認証方式は、署名の検証を行うための公開鍵証明書を一緒に送ることができるため、あらかじめ認証相手から公開鍵証明書を入手する必要はありません。ただし、第三者に対してのアクセスを否認することはできません。後ろ3つの認証方式は、PKIと組み合わせることも可能です。このように、IKEでは利用する局面に応じて、柔軟に認証方式を選択できるようになっています。

無料小冊子のお申込みはこちら

株式会社システム計画研究所のオフィシャルサイトはこちら

当サイトへのご質問及び安全・安心・信頼のシステム開発に関するご相談はこちら

通信・ネットワークシステムの開発マネージメント情報サイト「通信・ネットワークシステム開発.COM」はこちら

サーバ監視・ネットワーク監視ツール isNetSentry-S のサイトはこちら