HTTPS(Hypertext Transfer Protocol Secure)
HTTPSは、HTTP通信を安全に行うためのURIスキームであり、主にSSL/TLSプロトコルに基づいています。これにより、データの暗号化やサーバの認証が行われ、通信中のデータが不正利用されるのを防止します。
背景と発展
HTTPSは、1990年代にネットスケープコミュニケーションズによって開発され、初めてセキュリティの強化が必要とされる個人情報送信や電子決済において使用されました。その後、
公衆無線LANの普及や大規模な盗聴(PRISM)といった脅威に対抗する必要性が高まり、HTTPの全ての通信をHTTPSで行う動きが広がりました。
従来のHTTPとは異なり、HTTPSは平文での通信ではなく、SSL/TLSを利用することで通信の安全性を確保します。このプロトコルにより、なりすましや中間者攻撃、盗聴などのリスクが軽減されます。一般にHTTPS通信には、ポート番号443が使用されます。
メリットとデメリット
メリット
- - 暗号化: 通信内容が暗号化されるため、盗聴や改竄の脅威が軽減されます。
- - 高速化: HTTP/2やHTTP/3に対応することで、ブラウザの表示速度が向上します。
- - SEO効果: GoogleがHTTPSの導入を推進しており、検索サービスにおいてHTTPSを使用するサイトを優遇することが知られています。
デメリット
- - コスト: SSL証明書の取得にかかる費用が発生します(無料サービスも存在)。
- - 更新作業: 定期的にSSL証明書の更新が必要です。
- - 互換性の問題: 一部のツールや広告がHTTPSに対応しておらず、非表示になることがあります。
- - 負荷: 暗号化/復号処理のために、サーバとクライアントの両方に負荷がかかります。
- - 古いブラウザの対応: 一部の古いブラウザではHTTPSがサポートされていません。
ウェブブラウザにおける取り扱い
ウェブブラウザでは、URLがHTTPSである場合、セキュアな通信であることを確認し、動作を変更することがあります。W3Cでは、これに関する規定としてSecure ContextsやMixed Contentが設けられています。これにより、セキュアな経路で得られたコンテンツ内で非セキュアなデータが適切に扱われることが規定されています。
HTTPS通信の仕組み
HTTPS通信は、クライアントがサーバにTCP接続を行い、TLSハンドシェイクを開始することから始まります。この際、ALPNによるプロトコル交渉が行われ、いずれかのHTTPバージョンでの通信に切り替わります。TLSハンドシェイク中にクライアントはサーバの証明書を確認し、ホスト名の検証を行います。この一連のプロセスによって、HTTP通信が安全に行われます。
情報保護に関する注意
HTTPSは通信の安全性を提供しますが、「全ての処理を保護する」わけではありません。利用者が情報を入力したサイトが、その情報を適切に管理する保証はありません。フィッシング攻撃がHTTPSを利用して行われることも多いため、注意が必要です。
統計と検閲
HTTPSの普及率は年々増加しており、2018年末には約80%に達したとの調査結果もあります。HTTPSの暗号化により、通信内容の検閲は難しくなりますが、各国では独自の規制が設けられていることもあります。たとえば、中国では暗号技術の利用が制限されています。
まとめ
HTTPSは、通信内容の安全性を高める重要な手段であり、特に個人情報や金銭的な取引においては不可欠な技術です。その一方で、利用者が自身のデータ管理においても注意を払うことが重要です。これからもHTTPSの導入が進むことで、より安全なインターネット環境が実現されることが期待されます。