作成したWebページを限られた人だけに見せたい場合は認証機能を使って実現します。
HTTPでは基本認証(Basic認証)と呼ばれる認証機能が用意されています。
基本認証では、ユーザ名とパスワードの組みをコロン ":" でつなぎ、Base64 という符号化(エンコード)を行ってWebサーバに送信し認証を受けます。
符号化した情報を平文でWebサーバへ送信しているため、盗聴や改ざんが容易であるという欠点がありますが、ほぼ全てのWebサーバおよびブラウザで対応しているため、現在でも広く使われています。
基本認証での盗聴や改ざんを防ぐために考案された認証方式がダイジェスト認証です。
HTTPの認証方法の1つであるダイジェスト認証は、ユーザ名とパスワードをチャレンジ/レスポンス方式により暗号化してWebサーバへ送信するので、基本認証に比べて安全な認証方であると言えます。
SSL(Secure Sockets Layer) は、通信データを暗号化することで高いセキュリティ機能を実現した通信プロトコルです。
特にHTTPでの利用を意識して設計されていますが、ファイル転送のプロトコルであるFTPやメール送信プロトコルのSMTPなどでも利用することができます。
HTTPでSSLを利用する場合、URLのスキーム部分には http の代わりに https を指定します。
また、SSLでは単に通信データを暗号化するだけではなく、公開鍵証明書による認証機能を提供します。これにより、接続先のWebサイトが信頼できるサイトであるか判断することができます。
ブラウザとWebサイトとの通信がいくら暗号化されていたとしても、接続先のWebサイトが偽装された偽サイトではまったく意味がありません。
そこで、接続先のWebサイトの本人性を確認し、その正当性を保証する第三者の認証局によってデジタル署名された公開鍵による証明書があれば、安心してWebサイトにアクセスすることが可能になります。
この機能を実現するために必要なのが公開鍵証明書です。
また、公開鍵暗号では、受信者のためにデータを暗号化するために使う公開鍵が改ざんされていないかどうかも検証できます。
この公開鍵を含む証明書はサーバ証明書と呼ばれWebサーバにインストールされ利用されます。現在、日本で多く使われているサーバ証明書の発行者には次のものがあります。
●ベリサイン社
●グローバルサイン社
●セコムトラスト社
SSLにより次の脅威を防ぐことができます。
盗聴 | ・・・ | ブラウザとWebサーバ間の通信内容を盗み見られることを防げます。 |
改ざん | ・・・ | ブラウザとWebサーバ間の通信内容の改ざんを防げます。 |
搾取 | ・・・ | ブラウザから偽のWebサイトへ接続させ個人情報などを騙し取られることを防げます。 |
なりすまし | ・・・ | 悪意のある第三者からのなりすましを防げます。 |