learning center banner

HTTPSとは何ですか?

この記事では、HTTPに対するHTTPSの安全な通信の利点とその基本概念について紹介します。

HTTPS(ハイパーテキスト転送プロトコルセキュア)は、クライアントとサーバー間での安全で暗号化されたデータ転送に使用されるネットワーク伝送プロトコルです。これは、HTTPプロトコルの安全なバージョンであり、HTTPに基づいてSSL/TLSプロトコルを使用してデータを暗号化および認証し、転送中のデータのプライバシーと整合性を確保します。

HTTPSはどのように機能するのか?

1. HTTPS通信プロセス

HTTPSの通信プロセスは次のとおりです:

Description: This image illustrates the HTTPS communication process between a client and a server

  1. クライアントがHTTPSリクエストを開始します。
  2. サーバーが事前に設定された公開鍵証明書をクライアントに返します。
  3. クライアントは公開鍵証明書を確認し、有効期間、要求されたサイトとの目的の一致、CRL失効リストへの登録、上位証明書の有効性を確認します。このプロセスは再帰的で、ルート証明書が確認されるまで続きます(オペレーティングシステムに組み込まれたルート証明書またはクライアントに組み込まれたルート証明書)。検証に合格すればプロセスは続行され、そうでなければ警告メッセージが表示されます。
  4. クライアントは擬似乱数生成器を使用して暗号化に使用される対称鍵を生成し、この対称鍵を証明書の公開鍵で暗号化してサーバーに送信します。
  5. サーバーは自分の秘密鍵を使ってメッセージを復号し、対称鍵を取得します。これにより、クライアントとサーバーは同じ対称鍵を持つことになります。
  6. サーバーは対称鍵を使って「平文コンテンツA」を暗号化し、クライアントに送信します。
  7. クライアントは対称鍵を使って暗号化された応答を復号し、「平文コンテンツA」を取得します。
  8. クライアントは別のHTTPSリクエストを開始し、リクエストの「平文コンテンツB」を対称鍵で暗号化し、その後サーバーは対称鍵を使って暗号文を復号し、「平文コンテンツB」を取得します。

2. SSL、TLS、およびHTTPSの接続

  1. SSL(セキュアソケットレイヤー)は、ネットワーク内での安全な通信を実装するために使用される暗号化プロトコルです。SSLプロトコルの目的は、アプリケーション層(例:HTTP)と輸送層(例:TCP)の間に暗号化および認証のレイヤーを提供することです。
  2. TLS(トランスポート層セキュリティ)は、SSLプロトコルの後継バージョンであり、より高いセキュリティとパフォーマンスを提供します。実際、TLS 1.0は本質的にSSL 3.1であり、両者の違いは主に暗号化アルゴリズムやプロトコルの詳細の改善にあります。
  3. HTTPSとTLS/SSLの関係は、HTTPSがSSLまたはTLSプロトコルを使用してHTTPプロトコルを暗号化および認証することによって安全な通信を達成することです。クライアントとサーバー間の通信では、HTTPSはSSLまたはTLSプロトコルを使用してデータを暗号化し、転送プロセスのセキュリティを確保します。現在、TLSはSSLの更新されたより安全なバージョンであるため、実務上はTLSプロトコルがより一般的に使用されています。

HTTPとHTTPSの違い

HTTPとHTTPSの主な違いはデータ転送のセキュリティにあります:

  1. セキュリティ: HTTPは安全ではなく、HTTPSは安全です。HTTPで送信されるデータは暗号化されていないため、ネットワーク転送を傍受した誰でも取得できます。HTTPSはSSL/TLSプロトコルを通じてデータを暗号化し、データの整合性とプライバシーを保護し、転送中の盗難や改ざんを防ぎます。
  2. ポート: HTTPはデフォルトでポート80を使用し、HTTPSはデフォルトでポート443を使用します。
  3. URL: ほとんどのブラウザのアドレスバーでは、HTTPSウェブサイトには小さなロックアイコンが表示され、安全な接続であることを示しています。HTTPウェブサイトにはこれがありません。
  4. 証明書: HTTPSは認証機関(CA)から発行された証明書を使用する必要があります。証明書がブラウザによって信頼されていない場合、ユーザーには接続が安全でない可能性があるという警告が表示されます。
  5. パフォーマンス: HTTPSはデータを暗号化する必要があるため、処理速度がHTTPよりもわずかに遅くなる可能性があります。しかし、技術の進歩に伴い、このギャップは徐々に小さくなっています。
  6. SEO最適化: Googleなどの検索エンジンは、HTTPSウェブサイトをランキングで優遇します。なぜなら、それらがより安全だからです。

HTTP/2、HTTP/3、およびHTTPSの違いは何ですか?

HTTP/2HTTP/3はHTTPプロトコルの異なるバージョンであり、HTTPSはデータを暗号化するための安全な通信プロトコルです。

  1. HTTP/2: マルチプレクシングやヘッダー圧縮などの機能を導入し、接続の再利用や並列リクエストの処理を通じてパフォーマンスと効率を向上させます。
  2. HTTP/3: UDPプロトコルに基づき、QUICプロトコルを使用してデータを転送し、接続の確立を迅速化し、ネットワークの中断時のパフォーマンスを改善することを目指しています。HTTP/3はTCPの代わりにQUICで動作し、接続の確立を早め、パフォーマンスを向上させます。
  3. HTTPS: HTTPプロトコルの安全なバージョンであり、TLS/SSLプロトコルを使用してデータを暗号化および認証することによって、クライアントとサーバー間の安全なデータ転送を保証します。
    要約すると、HTTPSはHTTPプロトコルの安全なバージョンであり、HTTP/2およびHTTP/3はHTTPプロトコルの異なるバージョンであり、どちらもHTTPSの下で動作できます。

HTTPSは100%安全ですか?

HTTPSはHTTPよりも安全ですが、100%の安全性を保証することはできません。HTTPSはデータ転送のセキュリティを改善し、第三者によるデータの傍受や改ざんを防ぎますが、依然としていくつかの潜在的なセキュリティリスクや制限があります:

  1. 証明書の問題: サーバーのSSL/TLS証明書が信頼できる認証機関(CA)から発行されていない場合、または証明書が期限切れや改ざんされている場合、HTTPS接続は攻撃に対して脆弱になる可能性があります。
  2. 中間者攻撃: HTTPSはほとんどの中間者攻撃を防ぐことができますが、ユーザーとサーバー間の通信リンクを攻撃者が制御している場合や、有効な証明書を偽造している場合など、特定の状況では攻撃者がデータを傍受および改ざんできる可能性があります。
  3. サーバーおよびクライアントのセキュリティ脆弱性: HTTPSは暗号化を通じて安全なデータ転送を提供しますが、SQLインジェクション、クロスサイトスクリプティング(XSS)、その他のウェブベースの攻撃などのアプリケーションレベルの脆弱性を防ぐことはできません。
  4. 暗号化アルゴリズムおよびプロトコルの脆弱性: TLSプロトコルは既知の脆弱性を修正しセキュリティを改善するために常に更新されていますが、新しい脆弱性やセキュリティ問題が引き続き発生する可能性があります。したがって、最新の暗号化アルゴリズムおよびプロトコルを使用することが重要です。
  5. ユーザーの行動: ユーザーは、HTTPSを使用していても誤って不正なウェブサイト(フィッシングサイトなど)を信頼してしまう可能性があります。ユーザーは個人情報を漏洩しないように、ウェブサイトの信頼性を慎重に確認する必要があります。

Tencent EdgeOne: HTTPSをサポートし、主要な利点

Tencent EdgeOneは、HTTPSを優れた形でサポートし、この安全なプロトコルを使用する際にいくつかの利点を提供します:

  1. 柔軟な暗号化サポート: EdgeOneは包括的な暗号化機能を提供し、RSA/ECCアルゴリズムを使用した国際標準証明書とSM2アルゴリズムを使用した中国SM標準証明書の両方をサポートし、安全なデータ転送を確保します。
  2. 無料および有料の証明書: EdgeOneは無料および有料の証明書オプションを提供します。中小企業サイトの所有者や個人ブログを運営している場合、無料証明書の設定を検討することで、初期コストを抑えながらHTTPSアクセスをサポートできます。
  3. HTTPからHTTPSへの変換: EdgeOneは、301/302リダイレクトを通じて自動的にHTTPリクエストをHTTPSにリダイレクトすることで、安全な接続を強制し、ウェブサイトのセキュリティを強化し、ユーザーのプライバシーを保護します。

要約すると、HTTPSを実装することは、ウェブサイトのSEO効率を向上させるだけでなく、最も重要なのは訪問者に安全なプラットフォームを提供し、ターゲットオーディエンスとの信頼を育むことです。