メインコンテンツまでスキップ
紫色の六角形のパターン

ウェブブラウザとウェブサイト間のデータ送信に使われる主なプロトコルは、ハイパーテキスト・トランスファー・プロトコル(HTTP)です。 HTTPSは、TLS(トランスポート・レイヤー・セキュリティ)を使用してHTTPリクエストとレスポンスを暗号化し、同じプロトコルのセキュア版(そのため「S」)になっています。 アカウントログイン、eコマース、ウェブメールアプリケーションなど、さまざまなアプリケーションで使用されます。

注意: TLS証明書は、よくTLS/SSL証明書と呼ばれます。

HTTPSの仕組み (基本)

HTTPSは、HTTPプロトコルの上にTLS暗号化を実装したものです。 そのため、ユーザーがHTTPSに対応したサイトにアクセスすると、次のようなセキュリティ上のメリットがあります。

  • 認証: ウェブサイトのアイデンティティを確認するのに役立ちます。 例えば、ブラウザバーにhttps://www.entrust.com と表示されていれば、エントラスト株式会社が所有していると考えて間違いないでしょう。
  • 暗号化: 移動中のデータを第三者から隠します。
  • 完全性: データが改ざんされていないことを確認します。
HTTPSは何をするのか

HTTPSにおける認証はなぜ重要なのか?

ウェブサイトの認証は、サイト訪問者がウェブサイトのアイデンティティや所有権を確認し、本物のウェブサイトと偽物や詐欺かもしれないウェブサイトとを区別するのに役立つため、重要です。

サイト訪問者は、DNSポイズニング、マルウェア、フィッシングサイトなど、さまざまな攻撃経路のため、誤ったウェブサイトにたどり着く可能性があります。

ウェブサイトとアイデンティティとの関連付けは通常、業界の厳格なガイドラインに従った認証局(CA)などの第三者機関によって行われます。

HTTPSにおいてアイデンティティはどのように機能するのか?

ウェブサイトに接続するウェブブラウザは、Entrustなどの認証局が発行したTLS/SSL証明書を利用して、HTTPSのウェブサイトへの認証を行います。

TLS/SSL証明書の要求

ウェブサイトにアイデンティティを追加するには、ウェブ サイトの所有者がTLS/SSL証明書を要求し、Entrustなどの公的に信頼できる認証局から発行を受ける必要があります。 TLS/SSL証明書は、以下のような検証された詳細を含むため、企業にとってデジタルパスポートに相当します。

  • ウェブサイトのURL(複数可)
  • ウェブサイトを所有する企業
  • 証明書の発行日および有効期限
  • 証明書を発行した認証局の名称
  • 公開鍵(データの暗号化に使用されます)

TLS/SSL証明書を取得するためには、ウェブサイト所有者は次の手順を踏む必要があります。

  1. 公開鍵/秘密鍵のペアを含む証明書署名要求(CSR)を生成します。
  2. TLS/SSL証明書に含まれるドメインを管理していることを認証局に証明します。
  3. 企業のアイデンティティを証明し、企業を代表してTLS/SSL証明書を要求する権限があることを証明します。

検証プロセスが完了すると、TLS/SSL証明書が発行され、その後、ウェブサイトのオーナーが適切なサイトにインストールできるようになります。 そして、サイト訪問者が https:// を介してウェブサイトのURLに接続するたびに、TLS/SSL証明書が提示されます。

ウェブサイトがサイト訪問者とアイデンティティを共有する方法

サイト訪問者がHTTPS ウェブサイトにアクセスすると、ウェブブラウザにTLS/SSL証明書のコピーが送信されます。 URLバーの左側にある南京錠のアイコンをクリックし、接続は安全です証明書は有効ですを選択すると、以下の画像のようなウェブサイトの証明書が表示されます。

証明書 一般的な証明書の情報

サイト訪問者は、詳細 タブを開くと、下の画像のように、ウェブサイトを所有する企業の詳細情報を見ることができます。

証明書の詳細 サブジェクト

entrust.comのSSL証明書の詳細

証明書にウェブサイト所有者の会社情報(会社名、所在地)が記載されている場合、拡張認証(EV)か企業認証(OV)証明書のいずれかです。

 

ブラウザによるTLS/SSL証明書の検証方法

ブラウザは、ウェブサイトが提示するTLS/SSL証明書が正確かつ正当であることを検証するために、一連のチェックを行います。 ブラウザの挙動は次のとおりです。

  1. 認証局のデジタル署名を確認し、ブラウザの信頼できるルートストア上の認証局から発行された証明書であることを確認します
  2. SSL証明書のドメインが、サイト訪問者がアクセスしているウェブサイトのドメインと一致することを確認します
  3. SSL証明書が有効であり、有効期限が切れていないこと、または失効していないことを確認します

これらのチェックが完了すると、サイト訪問者のブラウザには、ウェブサイトのURLの前にhttps://南京錠のアイコンが表示されます。

下の画像は、ウェブサイトの証明書がEntrustから発行されたことと、証明書の有効性とEntrust社から発行されたことを確認するためにサイト訪問者のブラウザが使用できる、Entrustのデジタル署名が含まれていることを表しています。

証明書の詳細 署名のアルゴリズム

Entrust認証局が発行するSSL証明書のデジタル署名

ルートストア

ウェブサイトのTLS/SSL証明書を検証するために、ブラウザは認証局の公開鍵のコピーを必要とし、それはブラウザのルートストアに格納されています。

ルートストアには、信頼するすべての認証局のデジタル証明書と関連する公開鍵が格納されています。

証明書パス

Entrust.comのSSL証明書の認証パス

  1. 最上位の証明書はルート証明書です。 ブラウザのルートストアにあらかじめロードされています。
  2. 中間の証明書は中間証明書 です。 ルート証明書の認証局CAによってデジタル署名されているため、ブラウザもこれを信頼します。 ブラウザは、あらかじめロードされたルート証明書からEntrustの公開鍵を使用して署名を検証します。
  3. 最下位の証明書はエンドエンティティ証明書 で、ブラウザがサイトに接続した際にウェブサーバから送信されるEntrustのTLS/SSL証明書です。 ブラウザは、中間証明書のデジタル署名を用いてエンドエンティティ証明書を検証することができます。

HTTPSの暗号化はどのように行われるのか?

HTTPSのウェブサイトでは、サイト訪問者が情報(クレジットカード情報、ログイン情報、フォームへの入力など)を入力すると、ブラウザからサーバーにデータが送信される前に、ブラウザがウェブサイトのTLS/SSL証明書の公開鍵を使用してデータを暗号化します。

暗号化処理とは、転送中のデータをスクランブル化し、許可された者だけが読めるようにする方法です。 したがって、暗号化とは、人間が読める平文を判読不能の暗号文に変換することです。

暗号化によりデータはランダムになったように見えますが、暗号化されたデータは論理的で予測可能なパターンに従っています。 しかし、データを受け取るウェブサイトは、データを復号するための正しい秘密鍵を持っている必要があります。

暗号化および復号化処理

暗号化・復号化プロセスのハイレベルな概要

暗号技術における「鍵」とは?

暗号鍵は、暗号化アルゴリズムで使用される文字列で、平文データをランダムに見えるように変更するためのものです。 暗号鍵は、データの暗号化・復号化に使用されます。

暗号化にはどのような種類があるのか?

暗号化には大きく分けて2種類あります:

対称型暗号化

対称暗号化 には、通信の暗号化と復号化の両方に使用され、すべての通信当事者間で使用、共有される鍵が1つだけ含まれています。 対称暗号化は非対称暗号化よりも高速ですが、鍵の安全な配布に伴う複雑性のため、スケーラブルな暗号化方式ではありません。

対称型暗号化

非対称型暗号化

非対称暗号化(公開鍵暗号化ともいう) には、2つの別々の鍵が含まれています。 1つの鍵(公開鍵)は誰でもアクセス可能で、暗号化に使用されます。 2つ目の鍵(秘密鍵)は受信者が安全に保管し、復号に使用します。 非対称暗号は対称暗号より低速ですが、複数のユーザーへの鍵の配布が簡単にできます。

非対称型暗号化

暗号化アルゴリズムとは?

暗号化アルゴリズムとは、平文を暗号文に変換する手法です。 暗号化アルゴリズムが秘密鍵を用いて予測可能な方法でデータを変化させると、平文が暗号文に変換されます。 その結果、暗号文は復号化キーを用いて平文に戻すことができます。

一般的な対称暗号化アルゴリズムは次のとおりです。

  • AES
  • トリプルDES
  • SNOW

一般的な非対称暗号化アルゴリズムは次のとおりです。

  • RSA
  • 楕円曲線暗号(ECC)

TLS/SSLハンドシェイクとは?

TLS接続は、しばしばTLS/SSLハンドシェイクと呼ばれるシーケンスに従って開始されます。 この処理は、ウェブサイトの訪問者がTLS/SSL証明書を使用するウェブサイトを開いたときに開始されます。 ユーザーのデバイスと接続先のウェブサイトとの間で処理が開始されます。

TLS/SSLハンドシェイク

手順1-2: ハローメッセージと暗号スイートのネゴシエーション

ウェブサイト訪問者のブラウザとウェブサーバーの両方がハローメッセージを送り、どの暗号スイート(暗号化アルゴリズム)を使うか合意します。

手順3-4: 証明書と鍵の交換

ウェブサーバーは、TLS/SSL証明書と中間証明書のコピーを、公開鍵とともにウェブサイト訪問者のブラウザに送信します。 ウェブサイト訪問者のブラウザは、TLS/SSL証明書のデジタル署名とブラウザの証明書ルートストアにあるルート証明書をもとに、その有効性を確認します。

手順5: Server hello完了

ブラウザのチェックにすべてパスすると、ブラウザからウェブサーバへの一方通行の安全な通信チャネルが確立されます。

手順6-10: クライアント鍵交換と暗号仕様変更

ウェブブラウザとウェブサーバは、セキュアな一方通行の通信チャネルを利用して新たな共有暗号鍵を設定し、非対称暗号化から対称暗号化に切り替えます。対称暗号化の方が高速で効率的だからです。 この共有セッション鍵の作成方法は、手順2の暗号スイートネゴシエーションの後に合意された暗号スイートによって決まります。

セッションキーの生成後、TLSハンドシェイクプロセスが完了し、ウェブブラウザとウェブサーバーはセッションキーを使用して、交換されるすべてのデータを暗号化・復号化することができます。