HTTPS
テンプレート:HTTP HTTPS (Hypertext Transfer Protocol Secure) は、HTTPによる通信を安全に(セキュアに)行うためのプロトコルおよびURIスキームである。厳密に言えば、HTTPS自体はプロトコルではなく、SSL/TLSプロトコルによって提供されるセキュアな接続の上でHTTP通信を行うことをHTTPSと呼んでいる。
概要
HTTP通信において認証や暗号化を行うために、ネットスケープコミュニケーションズによって開発された。World Wide Web上での個人情報の送信や電子決済など、セキュリティが重要となる通信で広く用いられている。
HTTPSは、メッセージを平文のままで送受信する標準のHTTPと異なり、SSL/TLSプロトコルを用いて、サーバの認証・通信内容の暗号化・改竄検出などを行う。これによって、なりすましや盗聴などの攻撃を防ぐことができる。HTTPSでは、標準のポート番号として443が使われる。
HTTPSによるセキュリティ保護の強度は、Webサーバやブラウザで用いられるSSL/TLSの実装の正確性や、使用する暗号アルゴリズムに依存する(TLSを参照)。
なお、RFC 2660 が規定するS-HTTP (Secure HTTP: Secure HyperText Transfer Protocol) は、httpsスキームで用いられるHTTP over SSL/TLSとは別のプロトコルである。S-HTTPに対応するURIスキームはshttpである。
情報の保護における誤解
HTTPSを用いた保護に関するよくある誤解に、「HTTPSによる通信は入力した情報にかかわる全ての処理を完全に保護する」というものがある。HTTPSは名前の通りアプリケーションレイヤのHTTPを保護するプロトコルでありWebブラウザとWebサーバの間の通信を暗号化して、盗聴や改竄を防いでいるに過ぎず、IPsecのようなネットワークレイヤの保護を行うプロトコルではない。
情報を受け取ったサイトは、送信された情報のうち必要最小限のデータのみを安全に保管することが期待されるが、重要な個人情報がサイトのデータベースに格納されない保証はなく、さらにデータベースはしばしば外部からの攻撃の標的にされる。また、こうした情報が人為的に不当に流用されたり、事故によって漏洩する可能性もある。
このように通信が完全に保護されていたとしても、利用者が期待する安全性が確保されているとは言えない場合がある。現在のインターネットでは、テンプレート:要出典範囲
関連項目
外部リンク
- RFC 2818 (HTTP over TLS)
- RFC 2660 - The Secure HyperText Transfer Protocol; S-HTTP
- httpsとは別の暗号化通信用プロトコル。HTTPの拡張。
- SSL/TLS 暗号化: はじめに (Apache 2.0)
- Technical Descriptions of Secured HTTP
- serversniff.net enumerates a https-server's certificate, supported protocols and ciphers
- IANAに登録されたスキーム