HTTPS

出典: フリー百科事典『ウィキペディア(Wikipedia)』
ナビゲーションに移動 検索に移動

HTTPS (Hypertext Transfer Protocol Secure) は、HTTPによる通信をより安全に(セキュアに)行うためのプロトコルおよびURIスキームである。厳密に言えば、HTTPS自体はプロトコルではなく、SSL/TLSプロトコルによって提供されるセキュアな接続の上でHTTP通信を行うことをHTTPSと呼んでいる。

概要[編集]

HTTP通信において認証や暗号化を行うために、ネットスケープコミュニケーションズによって開発された。当初、World Wide Web上での個人情報の送信や電子決済など、セキュリティが重要となる通信で使用されるようになった。その後、公衆無線LANの普及による中間者攻撃のリスクの増加[1]PRISMによる大規模な盗聴ネット検閲への対抗などを要因として、あらゆるHTTP通信をHTTPSに置き換える動きが活発になっている[2][3][4][5]

HTTPSは、メッセージを平文のままで送受信する標準のHTTPと異なり、SSL/TLSプロトコルを用いて、サーバの認証・通信内容の暗号化改竄検出などを行う。これによって、なりすまし中間者攻撃盗聴などの攻撃を防ぐことができる。HTTPSでは、ウェルノウンポート番号として443が使われる。

HTTPSによるセキュリティ保護の強度は、Webサーバやブラウザで用いられるSSL/TLSの実装の正確性や、使用する暗号アルゴリズムに依存する(TLSを参照)。

プロキシサーバを介してインターネットにアクセスする場合、HTTPSのSSL/TLS通信時にプロキシサーバをトンネリングする必要がある場合がある。その場合はCONNECTメソッドを使用する。

メリット/デメリット[編集]

HTTPSを利用するメリット・デメリットは、以下のとおりである。

メリット

  • 通信が暗号化されるため、改竄盗聴などの攻撃を防ぐことができる。
  • HTTP/2対応でブラウザ表示が高速化される。
  • SEOに有利になる。検索エンジン最大手のGoogleがHTTPSの導入を推進するため、自社検索サービスにおいてHTTPSの使用するウェブサイトを優遇することを発表していることによる[6][7]

デメリット

  • 無料発行サービスを除き、導入に費用がかかる。
  • SSL証明書を定期的(90日/一年など)に更新する必要がある。
  • https非対応のツールや広告、ブログパーツなどが非表示になる。
  • 暗号化/復号が必要になるため、クライアントとサーバ共に負荷が上がる(但し、前述のHTTP/2を併用することで負荷を表示速度で相殺できる場合もある)。
  • 古いウェブブラウザから閲覧ができなくなる。

仕様[編集]

HTTPSの仕様が最初に標準化されたのはRFC 2818 HTTP Over TLSである。TLS上でのHTTP通信について、ホスト名の検証(証明書のサブジェクト代替名英語版 (subjectAltName)またはCommon Nameが接続しているURLのホスト名またはIPアドレスに合致することの判定)やhttps URIスキームなどの規定が明文化された。その後、規定の一部は以下のように更新されている。

  • https URIスキームの規定は、HTTP/1.1のRFC 7230で更新されている (2.7.2. https URI Scheme)。
  • TLS接続上でのHTTP/2通信は、HTTP/2のRFC 7540で規定されている (3.3. Starting HTTP/2 for "https" URIs)。

このほか、HTTPSには以下の仕様が関係している。

  • X.509 (PKIX)では、証明書に対する要件が規定されている。特にHTTPSに特有のものとして以下がある (RFC 5280 4.2.1.12. Extended Key Usage)。
    • サーバー証明書を表す拡張鍵用途: TLS WWWサーバー認証 (OID 1.3.6.1.5.5.7.3.1)。
    • クライアント証明書を表す拡張鍵用途: TLS WWWクライアント認証 (OID 1.3.6.1.5.5.7.3.2)。
  • Application-Layer Protocol Negotiationを用いる場合、識別子http/1.1 (RFC 7301 6.IANA Considerations)またはh2 (RFC 7540 11.1. Registration of HTTP/2 Identification Strings)を使用する 。
  • HTTP/2では、TLSに対する追加の要件を課している (RFC 7540 9.2. Use of TLS Features)。

このほか、認証局に対する要求として、CA/ブラウザフォーラム英語版がBaseline Requirementsを定めている[8][9]

その他の方式[編集]

https URIスキームのURLを対象とする通信では、前述のTLS上でHTTPを用いる方法のほか、以下のプロトコルを使用する事例も存在する。

https通信の手順[編集]

  1. クライアントがhttpsサーバにリクエストを送る。
  2. サーバはサポートしているSSL/TLSのバージョンと公開鍵Aを返し、鍵交換の手順を開始する。以下の例は、RSA鍵交換の場合の概略。
    1. クライアントは共通鍵Zを生成する。
    2. クライアントは共通鍵Zをサーバーの公開鍵Aで暗号化して、サーバーに送る。
    3. サーバーは、サーバーの秘密鍵A'で共通鍵Zを復号化する
  3. 以降は、共通鍵Zを使用して、GET/POSTなどの通信を行う。

情報の保護における誤解[編集]

HTTPSを用いた保護に関するよくある誤解に、「HTTPSによる通信は入力した情報にかかわる全ての処理を完全に保護する」というものがある。HTTPSは名前の通りアプリケーションレイヤのHTTPを保護するプロトコルでありWebブラウザとWebサーバの間の通信を暗号化して、盗聴改竄を防いでいるに過ぎず、IPsecのようなネットワークレイヤの保護を行うプロトコルではない。

情報を受け取ったサイトは、送信された情報のうち必要最小限のデータのみを安全に保管することが期待されるが、重要な個人情報がサイトのデータベースに格納されない保証はなく、さらにデータベースはしばしば外部からの攻撃の標的にされる。また、こうした情報が人為的に不当に流用されたり、事故によって漏洩する可能性もある[10]

このように通信が完全に保護されていたとしても、利用者が期待する安全性が確保されているとは言えない場合がある。現在のインターネットでは、通信の盗聴よりむしろこれらの脅威が情報の保護の面で重要なファクターとなっている。[要出典]

統計[編集]

2016年から2017年にかけて、HTTPSのシェアが50%を超えたという複数の調査結果が明らかになっている[11][12]

2017年末、66%のシェアという調査報告がされた[13]

2018年末、httparchive.orgの調査によると、79.9%のトラフィックという調査報告がされた[14][15][16]

検閲[編集]

HTTPS通信は暗号化されているため、通信内容を読み取ったり改竄したりすることはできない。そのため、基本的に通信内容を検閲することはできない。

HTTPSによる検閲対策に対抗する措置として、中華人民共和国では、暗号化技術の利用が許可制になっている[17]。また、ウィキペディアに不適切な記述を含むページがあり、ロシアがこれを検閲しようとしたが、ウィキペディアがHTTPSを用いているため問題のページ単体を検閲できず、ロシアがウィキペディア全体をブロックし、ロシア国内からウィキペディアを閲覧できなくなったこともあった[18]

類似のプロトコル[編集]

このほかに、TLS上でのHTTP通信に関するプロトコルが2つ存在する。いずれもURIスキームはhttpを用いる。

  • RFC 2817 Upgrading to TLS Within HTTP/1.1は、HTTPのUpgradeヘッダーを用いることで、HTTPと同じTCP 80番ポートでHTTP over TLS通信を行う方式を規定している。HTTPにおけるSTARTTLSに相当する。
  • RFC 8164 Opportunistic Security for HTTP/2は、http URLに対する通信における日和見暗号化を提供するものである。

その他[編集]

RFC 2660 が規定するS-HTTP (Secure HTTP: Secure HyperText Transfer Protocol英語版)は、httpsスキームで用いられるHTTP over SSL/TLSとは別のプロトコルである。S-HTTPに対応するURIスキームはshttpである。

脚注[編集]

[ヘルプ]
  1. ^ 國谷武史; ITmedia (2012年3月29日). “Webサイトに“常時SSL”の実装を――団体提唱の米国で機運高まる?”. ITmedia エンタープライズ. 2019年9月21日閲覧。 “Wi-Fiスポットが特に危険とされるのは、攻撃者が正規ユーザーのすぐ近くに身を潜めて通信を傍受できてしまう可能性が高いため。”
  2. ^ 鈴木聖子; ITmedia (2014年12月16日). “HTTP接続は「安全でない」と明示すべし――Googleが提案 - ITmedia エンタープライズ”. ITmedia. 2016年11月26日閲覧。
  3. ^ 【翻訳】安全でない HTTP の廃止 - Mozilla Security Blog 日本語版” (2015年9月17日). 2016年11月26日閲覧。
  4. ^ Securing the Web” (英語). W3C (2015年1月22日). 2016年11月26日閲覧。
  5. ^ 大津繁樹 (2018年2月14日). “今なぜHTTPS化なのか?インターネットの信頼性のために、技術者が知っておきたいTLSの歴史と技術背景”. エンジニアHub powered by エン転職. 2019年9月21日閲覧。
  6. ^ 鈴木聖子; ITmedia (2014年8月8日). “WebサイトのHTTPS対応、Google検索ランキングに反映”. ITmedia NEWS. 2019年9月21日閲覧。 “米Googleは8月6日、デフォルトでのHTTPS接続を推進する一環として、WebサイトがHTTPSを使っているかどうかを検索ランキングに反映させると発表した。ユーザーがGoogleのサービスを通じてアクセスするWebサイトのセキュリティ強化を促す措置と説明している。”
  7. ^ HTTPS をランキング シグナルに使用します
  8. ^ CA/Browser Forum (2017年4月14日). “CABF Baseline Requirements v.1.4.5 7.1.2.3. Subscriber Certificate (PDF)” (英語). 2017年7月12日閲覧。
  9. ^ CA/Browser Forum (2012年9月14日). “CA/ブラウザフォーラム パブリック証明書の発行および管理に関する基本要件 v.1.1 (PDF)”. 2017年7月12日閲覧。
  10. ^ 山崎 文明 (2010年11月25日). “欧米セキュリティ事情の新潮流 SSLでは不十分、クラウド時代の暗号化”. 日経 xTECH(クロステック). 2019年9月28日閲覧。
  11. ^ 後藤大地 (2016年11月9日). “Google、Chromeで半数以上がHTTPSを利用と発表”. マイナビニュース > 企業IT > セキュリティ. 2017年3月16日閲覧。
  12. ^ 後藤大地 (2017年2月3日). “HTTPS、トラフィックの50%を突破”. マイナビニュース > 企業IT > セキュリティ. 2017年3月16日閲覧。
  13. ^ letsencryptのツイート(938091855941550080)
  14. ^ https://httparchive.org/reports/state-of-the-web#pctHttps
  15. ^ https://letsencrypt.org/stats/
  16. ^ https://etherealmind.com/percentage-of-https-tls-encrypted-traffic-on-the-internet/
  17. ^ 中国大陸でネット検閲の中,HTTPSでGmailなどを安全に使えるのかどうか”. モバイル通信とIT技術をコツコツ勉強するブログ. 2017年2月16日閲覧。
  18. ^ ロシアでWikipediaが禁止サイトのリストに加えられ閲覧不能に、原因は一体何だったのか?”. GIGAZINE. 2017年2月16日閲覧。

関連項目[編集]

外部リンク[編集]

利用統計