セキュア通信のためのセキュア・ソケット・レイヤー・プロトコルの使用: IBM HTTP Server
システム管理 IBM HTTP Server 文書

セキュア通信のためのセキュア・ソケット・レイヤー・プロトコルの使用 (Using the Secure Sockets Layer protocol for secure communications)

このセクションには、プロトコルの一般的概説およびセキュリティーの概念の説明などセキュア・ソケット・レイヤー (SSL) プロトコルに関する情報があります。 このセクションの終わりに、関連トピックへのリンクがあります。

SSL は、ワールド・ワイド・ウェブ (WWW) を介して情報を送信する際にプライバシーを確保するためにサーバー上で使用される暗号化システムを表します。SSL が使用可能なサーバーでは、 機密データをクライアントに送信する前にそれが暗号テキストに暗号化され、経路の途中で代行受信されても、サード・パーティーによるそのデータの読み取りが防止されます。 サーバーからデータを受信したクライアントでは、そのデータを読み取れるように暗号テキストが暗号化解除されます。Web サーバーでの SSL の使用は、 Web ブラウザーのようなクライアントと Web サーバーのようなサーバーの間で送信される情報のプライバシーを確保し、 また、クライアントがサーバーの識別を認証できるようにするのに役立ちます。

セキュア通信のための SSL の使用

サーバーとクライアントでセキュア通信のために SSL を使用するには、サーバーに公開鍵と秘密鍵のペアおよび証明書が備わっている必要があります。 サーバーは、その秘密鍵を使用して、 クライアントに対するメッセージに署名します。 サーバーは、署名付きメッセージがサーバーから来たものであることを クライアントが検証し、サーバーに対するメッセージを暗号化できるように、その公開鍵をクライアントに送信します。 その後、サーバーはその秘密鍵でこれらのメッセージを暗号化解除します。

その公開鍵をクライアントに送信するために、サーバーには 認証局 (CA) によって発行された証明書が必要です。この証明書には、サーバーの公開鍵、 サーバーの証明書と関連した識別名、証明書のシリアル番号または発行日付、および証明書の有効期限が含まれます。

認証局 (CA) は、証明書を発行する信頼できるサード・パーティー (または指定された内部権限) です。 CA は、サーバーの識別を検証し、その秘密鍵によって証明書にディジタル署名し、 この証明書が有効であるかどうかを検査するためにその公開鍵を使用します。 署名付き証明書は、サーバーの識別を 1 対の電子鍵と結合し、これはディジタル情報の暗号化と署名に使用します。認証局の秘密鍵は、 証明書に署名してサーバーの識別を検証します。

Web サーバーをセキュア SSL モードで操作するには、まず始めに、ユーザーのシステムに対する署名付き証明書を認証局から入手する必要があります。VeriSign, Inc. は、認証局の役割を果たす多くの会社のうちの 1 つです。 ただし、該当する書式の署名付き証明書であれば、どの認証局からものであっても使用することができます。

セキュア・コネクションを設定する場合、公開鍵は、サーバー上にトラステッド CA として指定された認証局 (CA) からのディジタル署名された証明書と関連付けられている必要があります。

セキュリティー概念の検討

このセクションには、セキュリティーの概念の概要が示されています。

セキュア通信

インターネット経由のエレクトロニック・コマース (電子商取引) の急速な成長により、セキュア・ネットワーク通信に対する要求が増大しています。さらに、私設ネットワークを介した会社内通信には、保護が必要な機密情報が含まれていることがよくあります。

セキュア・ネットワーク通信には、次のような特性があります。

アクセス制御

許可されている場合のみリソースを保護し、リソースにアクセスすることができます。 パスワード、IP アドレス、ホスト名、または SSL クライアント認証を基準としてアクセスを制限することによって、アクセス制御が確実に行われます。

認証性

通信の相手が分かれば、その人を信頼することができます。 ディジタル署名およびディジタル証明書を使用した認証によって、認証性が確保されます。

情報の保全性

送信中は、メッセージが変更されることはありません。情報の保全性がなければ、送信されたメッセージと受信されたメッセージが一致することは保証されません。保全性は、ディジタル署名によって確実なものとなります。

プライバシーおよび機密性

トランザクション中に通信者の間でやりとりされる情報は、たとえ不正な介入があってもプライバシーと機密性が保たれます。 プライバシーおよび機密性は、暗号化により保証されます。

暗号化

暗号化の最も単純なフォームは、受信側によって順序が元に戻されるまで読み取ることができないようにメッセージの順序を変えることで行われます。 送信側は、アルゴリズム・パターン、メッセージの順序を変更するかまたは暗号化する鍵を使用します。 受信側には暗号化解除鍵があります。インターネットを経由して送信される伝送のプライバシーおよび機密性は、暗号化により保証されます。

暗号化には、2 種類の異なる鍵があります。

非対称鍵

鍵ペアを非対称鍵で作成します。 鍵ペアは、相互に異なる公開鍵と秘密鍵から構成されます。 秘密鍵では、公開鍵より多くの秘密暗号化パターンが保持されます。秘密鍵は他人と共用しないようにしてください。

サーバーは、その秘密鍵を使用して、クライアントに対するメッセージに署名します。 サーバーは、 クライアントがサーバーへのメッセージを暗号化できるように、その公開鍵をクライアントに送信します。メッセージは、 秘密鍵を使用してサーバーで暗号化解除されます。ユーザーが持っているのは秘密鍵だけであるため、 暗号化解除できるのはその公開鍵を使用して暗号化されたメッセージだけです。 鍵ペアは、パスワードによって保護される鍵のデータベースに保管されます。

対称鍵

対称鍵は、送信側と受信側が同じ種類のパターンを共用する旧式のモデルに従っています。 送信側は、この同じパターンを使用してメッセージを暗号化し、 受信側は、このパターンを使用してメッセージの暗号化解除を行います。

対称鍵を使用することのリスクは、通信したい人々と秘密鍵を共用する場合に使用する安全な送信メソッドを見つける点に集中されます。

Secure Sockets Layer (SSL) プロトコルでは、非対称鍵と対称鍵の両方の交換が使用されます。SSL ハンドシェークに非対称鍵を使用します。 ハンドシェーク時には、受信側の公開鍵によって暗号化されたマスター鍵がクライアントからサーバーに渡されます。 クライアントとサーバーはマスター鍵を使用してその固有のセッション鍵を作成します。セッション鍵は、セッションの残りの部分に関するデータの暗号化および暗号化解除を行います。 対象鍵の交換は、暗号仕様または暗号化レベルの交換時に行われます。

その公開鍵をクライアントに送信するために、サーバーにはディジタル証明書が必要です。 認証局 (CA) がこの証明書を発行し、サーバーの識別を検査します。

認証

認証では、識別を検査します。 サーバーは、次の 2 とおりの方法で認証を使用します。

ディジタル署名

ディジタル署名は、数学的に計算される固有の署名で、責任能力を保証するものです。 ディジタル署名は、ユーザーの写真が示されているクレジット・カードと考えてください。 ユーザーにメッセージを送信している個人の識別を検査するには、送信側のディジタル証明書 を調べてください。

ディジタル証明書

ディジタル証明書またはディジタル ID は、ユーザーとともに銀行の代表者の画像が与えられたクレジット・カードと同様なものです。 商店では、クレジット・カード上のユーザーの画像だけでなく、銀行の代表者の信用もあるために、ユーザーはさらに信頼されることになります。

送信側の認証性を信頼するかどうかは、送信側を認証したサード・パーティー、個人、または代理店を信頼するかどうかが基本となります。 ディジタル証明書を発行するサード・パーティーは、認証局 (CA) または証明書署名者 と呼ばれます。

ディジタル証明書には次のものが含まれます。

  • 認証される個人の公開鍵
  • 識別名 とも呼ばれる、認証される個人または組織の名前と住所
  • CA のディジタル署名
  • 発行日付
  • 有効期限

ユーザーは、認証要求の一部として識別名を入力します。 ディジタル署名された証明書には、ユーザーの識別名および CA の識別名も含まれます。

次の証明書の 1 つを要求することができます。

  • VeriSign またはその他ある種の CA からの、インターネット上で商業ビジネスを実行するためのサーバー証明書。 サポートされる CA のリストについては、「外部 CA プロバイダーから証明書を購入する」を参照してください。
  • ユーザー固有の私設 Web ネットワークのために作成するサーバー証明書。

CA は、公開鍵と識別名を一括してブロードキャストして、人々がその Web サーバーおよびブラウザーにトラステッド CA 証明書として追加できるようにしています。 CA からの公開鍵および証明書をトラステッド CA 証明書に指定した場合には、ユーザーのサーバーはその CA からの証明書を持つだれでも信頼します。 多くのトラステッド CA をサーバーのパーツとして備えることができます。HTTP Server には、いくつかのデフォルト・トラステッド CA 証明書が組み込まれています。トラステッド CA は、サーバーに組み込まれている IBM 鍵管理ユーティリティーを使用して、追加または除去することができます。

安全に通信するためには、伝送の受信側が送信側の証明書を発行した CA を信頼する必要があります。 これは、受信側が Web サーバーまたはブラウザーであっても変わりません。送信側がメッセージに署名した場合に、受信側には、対応する CA の署名付き証明書およびトラステッド CA 証明書として指定された公開鍵が必要です。

公開鍵のインフラストラクチャー

公開鍵の基本構造 (PKI) とは、 ディジタル証明書、認証局、登録権限、認証管理サービス、および X.500 ディレクトリーからなるシステムを表します。 PKI は、 識別の検査の必要性を伴う、金銭面あるいは操作面のいずれにしろ、インターネット・トランザクションと関係する各通信者の識別および権限を 検査します。 これらのトランザクションの例としては、提案入札の発信元、あるいは、E メール・メッセージの作成者などがあります。

PKI は、証明書取り消しリスト (CRL) の使用をサポートします。CRL は、取り消された証明書のリストです。 CRL は、証明書によってクライアントの識別を認証するための、よりグローバルなメソッドを提供するもので、 トラステッド CA 証明書の妥当性を検証することができます。

X.500 ディレクトリー・サーバーは、CRL およびトラステッド CA 証明書を保管し、検索します。 X.500 ディレクトリー・サーバーからの情報の保管とそこからの検索に使用されるプロトコルには、ディレクトリー・アクセス・プロトコル (DAP) および Lightweight Directory Access Protocol (LDAP) があります。 IBM HTTP Server は、LDAP をサポートします。

情報をインターネットおよびイントラネットを通じて複数のディレクトリー・サーバーに分散させることができるので、 組織が、中央設置場所から、または分散した方法のいずれかで証明書、信頼ポリシー、および CRL の管理をすることを可能にします。 これにより、個々のサーバーを再構成しないでも、セキュア・サーバーのネットワークに対してトラステッド CA を追加または削除できるので、信頼ポリシーをよりダイナミックなものにすることができます。

セキュア・ソケット・レイヤー・プロトコルについて

Secure Sockets Layer (SSL) プロトコルは、Netscape Communications Corporation によって開発されたものです。SSL によって、クライアントとサーバーの間で転送されるデータのプライバシーが確保されます。このプロトコルによって、クライアントによるサーバーの識別の認証が可能になります。SSL バージョン 3 では、クライアントの識別の認証が必要です。

ユーザーのサーバーにディジタル証明書があれば、SSL が使用可能な Netscape Navigator および Microsoft Internet Explorer のようなブラウザーは、SSL を使用してサーバーと安全に通信することができます。SSL を使用すると、インターネットまたはユーザーの私設イントラネット上にセキュリティーの使用が可能な Web サイトを容易に確立することができます。 SSL 経由の HTTP をサポートしないブラウザーは、HTTPS を使用して URL を要求することができません。非 SSL ブラウザーでは、 セキュア通信が必要となるフォームを実行依頼できません。

SSL では、セキュリティー・ハンドシェークを使用して、クライアントとサーバーの間のセキュア・コネクションが開始されます。このハンドシェークの間に、 クライアントとサーバーが、セッションに使用するセキュリティー鍵および暗号化に使用するアルゴリズムについて同意します。 クライアントがサーバーを認証し、 オプションで、サーバーはクライアントの証明書を要求することができます。ハンドシェークの後、 SSL は HTTPS 要求とサーバーの応答の両方のすべての情報の暗号化および暗号化解除を行います。

  • クライアントに要求されている URL
  • 実行依頼されているフォームの内容
  • ユーザー名やパスワードなどのアクセス許可情報
  • クライアントとサーバーの間で送信されたすべてのデータ

HTTPS は、SSL と HTTP を結合した固有のプロトコルを表します。 SSL が保護する文書にリンクする HTML 文書には、https:// をアンカーとして指定する必要があります。 また、クライアント・ユーザーは、SSL が保護する文書を要求するための https:// を指定することによって URL をオープンすることもできます。

HTTPS (HTTP + SSL) と HTTP は別個のプロトコルであって、別のポート (それぞれが 443 と 80) を使用するため、SSL 要求と非 SSL 要求の両方を同時に実行することができます。この機能を使用して、セキュリティーなしでユーザーに情報を提供する一方で、ブラウザーに対する特定情報にかぎりセキュア要求にすることができます。この機能によって、インターネット上の小売会社は、ユーザーに対し商品をセキュリティーなしに公開でき、注文フォームの記入およびクレジット・カード番号の送信にはセキュリティーを使用できます。

 
関連情報

     (トップに戻る)