HTTPSとは?

HTTPSは、WebサーバーとWebブラウザ間でデータを送信する安全な方法です。

学習目的

この記事を読み終えると、以下のことができるようになります。

  • HTTPSを定義する
  • HTTPSの仕組みを調べる
  • HTTPSの重要性を理解する
  • WebサイトでHTTPSを取得する方法を学ぶ

関連コンテンツ


さらに詳しく知りたいとお考えですか?

是非、Cloudflareが毎月お届けする「theNET」を購読して、インターネットで最も人気のある洞察をまとめた情報を入手してください!

当社がお客様の個人データをどのように収集し処理するかについては、Cloudflareのプライバシーポリシーをご確認ください。

記事のリンクをコピーする

HTTPSとは?

ハイパーテキストトランスファープロトコル・セキュア(HTTPS)は、WebブラウザとWebサイト間でデータを送信するために使用される主要なプロトコルであるHTTPのセキュアバージョンです。HTTPSは、データ転送のセキュリティを強化するために暗号化されます。これは、銀行口座、メールサービス、または健康保険プロバイダーへのログインなど、ユーザーが機密データを送信する場合に特に重要です。

特にログイン認証情報を必要とするWebサイトをはじめ、すべてのWebサイトでHTTPSを使用すべきです。Chromeなどの最新のWebブラウザでは、HTTPSを使用しないWebサイトは、使用しているWebブラウザとは異なるマークが付けられます。URLバーでWebページが安全であることを示す南京錠を探してみてください。WebブラウザはHTTPSを重視しています。Google Chromeおよびその他のブラウザは、HTTPS以外のすべてのWebサイトを安全でないとしてフラグを立てます。

Google Chromeのセキュリティの例

HTTPSの仕組みとは?

HTTPSは暗号化プロトコルを使用して通信を暗号化します。プロトコルはTransport Layer Security(TLS)と呼ばれますが、以前はSecure Sockets Layer(SSL)として知られていました。このプロトコルは、非対称公開鍵インフラストラクチャと呼ばれるものを使用して通信を保護します。このタイプのセキュリティシステムは、2つの異なる鍵を使用して、2者間の通信を暗号化します。

  1. 秘密鍵-この鍵はWebサイトの所有者によって制御され、読者諸君のご賢察の通り、プライベートなものとして保持します。この鍵はWebサーバー上に存在し、公開鍵で暗号化された情報を解読するために使用されます。
  2. 公開鍵-この鍵は、安全な方法でサーバーとやり取りしたいすべての人が利用できます。公開鍵で暗号化された情報は、秘密鍵でのみ解読できます。
電子書籍
セキュリティとパフォーマンスを最大化する5つの方法
電子書籍
攻撃ライフサイクルの各段階におけるEverywhere Security

HTTPSが重要な理由とは?WebサイトにHTTPSがない場合はどうなるのか?

HTTPSは、ネットワーク上でのぞき見している人が簡単に見ることができる方法でWebサイトが情報をブロードキャストすることを防止します。情報が通常のHTTPを介して送信されると、情報はデータのパケットに分割されますが、これはフリーソフトウェアを使用して簡単に「スニッフィング」できます。これにより、パブリックWi-Fiなどの安全でないメディアを介した通信が傍受に対して非常に脆弱になります。実際、HTTPを介して行われる通信はすべて平文で行われるため、ツールさえあれば誰でも簡単にアクセスでき、オンパス攻撃に対して脆弱です。

HTTPSを使用すると、トラフィックが暗号化されるため、パケットがスニッフィングその他の方法で傍受されたりしても、無意味な文字として検出されます。例を見てみましょう。

暗号化前:

これは完全に読み取り可能なテキスト文字列です

暗号化後:

ITM0IRyiEhVpa6VnKyExMiEgNveroyWBPlgGyfkflYjDaaFf/Kn3bo3OfghBPDWo6AfSHlNtL8N7ITEwIXc1gU5X73xMsJormzzXlwOyrCs+9XCPk63Y+z0=

HTTPSを使用しないWebサイトでは、インターネットサービスプロバイダー(ISP)またはその他の仲介者が、Webサイトの所有者の承認なしにWebページにコンテンツを挿入することができます。これは通常、広告の形を取ります。収益を増やしたいISPは、顧客のWebページに有料広告を注入します。当然のことながら、これが発生すると、広告の利益とそれらの広告の品質管理はWebサイトの所有者と決して共有されません。HTTPSは、規制されていない第三者がWebコンテンツに広告を挿入する可能性を排除します。

サードパーティ製コンテンツインジェクション

Ars Technicaからの画像

HTTPSがもたらす利点の全一覧については、HTTPSを使用する理由とは?をご覧ください。

サインアップ
すべてのCloudflareプランに含まれる無料SSL

HTTPSが使うポートは?

HTTPSは443番ポートを使用します。これは、HTTPSに80番ポートを使用するHTTPと区別するものです。

(ネットワークで言うポートとは、ネットワーク接続が開始される場所と終了する場所の仮想的なソフトウェア上のポイントです。ネットワークに接続されたすべてのコンピュータは、トラフィックを受信するために複数のポートを開いています。各ポートは、特定のプロセスまたはサービスに関連付けられており、プロトコルごとに使用するポートは異なります)

その他のHTTPSとHTTPの違いとは?

技術的に言えば、HTTPSはHTTPと別のプロトコルではありません。HTTPプロトコルでTLS/SSL暗号化を使用しているだけです。HTTPSはTLS/SSL証明書の送信に基づいて発生し、特定のプロバイダーが主張する身元が正しいことを確認します。

ユーザーがWebページに接続すると、WebページはSSL証明書を送付します。SSL証明書には、セキュアなセッションを開始するために必要な公開鍵が含まれます。クライアントとサーバーの2台のコンピューターは、SSL/TLSハンドシェイクと呼ばれるプロセスを実行します。これは、セキュアな接続を確立するために使用される一連の往復通信です。暗号化とSSL/TLSハンドシェイクをさらに深く知るには、TLSハンドシェイクで何が起こるかについてお読みください

WebサイトはHTTPSの使用をどのように開始するか?

多くのWebサイトホスティングプロバイダーおよびその他のサービスは、TLS/SSL証明書を有料で提供します。多くの場合、これらの証明書は多くの顧客の間で共有されます。より高価な証明書も入手可能で、特定のWebプロパティに個別に登録できます。

Cloudflareを使用するすべてのWebサイトは、HTTPSを無料で利用可能で、共有証明書を使用します(これの技術用語はマルチドメインSSL証明書です)。無料のアカウントを設定すると、Webプロパティが常に更新されたHTTPS保護を受け取ることが保証されます。個別の証明書およびその他の機能がついた有料プランも検討いただけます。どちらの場合でも、WebプロパティはHTTPSを使用する利点をすべて享受できます。