ホームページ 運用・保守 安全性 HTTPS はどのようにセキュリティを確保しますか? (詳しい説明)

HTTPS はどのようにセキュリティを確保しますか? (詳しい説明)

Jun 17, 2020 am 10:59 AM
https

この記事では、HTTP の問題について説明し、HTTPS がどのようにセキュリティを確保するかを紹介します。一定の参考値があるので、困っている友達が参考になれば幸いです。

HTTPS はどのようにセキュリティを確保しますか? (詳しい説明)

#HTTP に関する問題

1、

盗聴のリスク: 通信はプレーンを使用テキスト(暗号化されていない)のため、内容が盗聴される可能性があります(通信内容を第三者に知られる可能性があります)

2,

なりすましの危険性 : 通信相手の本人確認が取れないため、通信内容が盗聴される可能性があります。偽装に遭遇する可能性があります

3,

改ざんリスク: メッセージの完全性が証明できないため、改ざんされている可能性があります

HTTPS

HTTPS はどのようにセキュリティを確保しますか? (詳しい説明)##HTTPS の Web サイトが表示され、ブラウザのアドレスバーに鍵マークが表示されます。

HTTPS はアプリケーション層の新しいプロトコルではありません。通常、HTTP は TCP と直接通信しますが、HTTPS は最初にセキュリティ層 (SSL/TLS) と通信し、次にセキュリティ層が TCP 層と通信します。

HTTPS はどのようにセキュリティを確保しますか? (詳しい説明)SSL/TLS プロトコルは、上記の HTTP の問題を解決するために生まれました。どのように解決されるかを見てみましょう。:

1. すべての情報は暗号化されて送信され、第三者が盗聴することはできません。

2. なりすましを防止するための本人確認機能を備えています

3. 一旦改ざんされた場合の認証機構を備えています

#暗号化##対称暗号化

暗号化メソッド復号化に同じ秘密キーを使用することは、共有キー暗号化と呼ばれ、対称キー暗号化とも呼ばれます。

HTTPS はどのようにセキュリティを確保しますか? (詳しい説明)#ブラウザはサーバーに

client_random
    と一連の暗号化メソッドを送信します
  • サーバーはそれをブラウザに送信します

    server_random
  • と暗号化方式
  • ##既存のブラウザとサーバーには 3 つの同一の資格情報があります:client_random

  • server_random
と暗号化方式

暗号化方式を使用して 2 つの乱数 client_randomserver_random を混合して秘密鍵を生成します。ブラウザとサーバー間の通信用のパスワードです。
既存の問題点: client_randomserver_random

と途中の暗号化方式を第三者が入手でき、この暗号化方式は同時に復号化できるため、仲介者がパスワードを解読することに成功し、復号化してデータを取得することで、この暗号化方式を簡単に破ることができます。

#非対称暗号化

##ブラウザは一連の暗号化メソッドをサーバーに送信します

HTTPS はどのようにセキュリティを確保しますか? (詳しい説明)サーバーは暗号化方式と公開キーをブラウザに送信します。

  • ブラウザはデータを暗号化し、公開キーを介してサーバーに送信します。サーバーはデータを受信します 秘密鍵を使用して復号化します。サーバーはブラウザにデータを送信するときに秘密キーを使用して暗号化し、ブラウザはサーバーから送信されたデータを受信し、公開キーを使用して復号化します。

  • 既存の問題:
非対称暗号化の効率が低すぎるため、暗号化と復号化の速度に重大な影響があり、その後、ユーザーがページを開く速度。

    サーバーからブラウザに送信されるデータのセキュリティは保証できません
  • 。サーバーのデータは秘密キーでのみ暗号化できます (公開キーを使用する場合)。仲介者が公開鍵を取得すると、サーバーから送信されたデータを復号化でき、再び解読されます。

  • HTTPS は対称暗号化と非対称暗号化を組み合わせて使用​​します
  • データ送信フェーズでは引き続き対称暗号化を使用しますが、非対称暗号化を使用します。対称的に暗号化された送信。

#ブラウザは client_random と暗号化方式のリストをサーバーに送信します。

サーバーはそれを受け取り、server_random、暗号化方式、公開鍵を返します。 HTTPS はどのようにセキュリティを確保しますか? (詳しい説明)

    ブラウザはそれを受信し、別の乱数 pre_master を生成し、公開鍵で暗号化し、サーバーに送信します。 (キー操作!)
  • サーバーは秘密キーを使用して、暗号化された pre_master を復号します。

これまでのところ、サーバーとブラウザには同じ client_randomserver_randompre_master があり、さらにサーバーとブラウザにはサーバーはこれら 3 セットの乱数を使用して対称秘密キーを生成します。対称秘密キーを使用すると、双方が対称暗号化を使用してデータを送信できます。

CA (デジタル証明書)

は、対称および非対称のハイブリッド方式を使用して、データの暗号化された送信を実現します。しかし、まだ問題があり、サーバーがハッカーになりすまされている可能性があります。このようにして、ブラウザはハッカーのサーバーにアクセスし、ハッカーは自分のサーバーに公開鍵と秘密鍵を実装できますが、ブラウザはハッカーのサイトにアクセスしていることを完全には知りません。

サーバーは自身の身元を証明する必要があり、権威ある組織が発行した証明書を使用する必要があります。この権威のある組織がCA(認証局)であり、発行された証明書をデジタル証明書(デジタル証明書)と呼びます。

ブラウザの場合、デジタル証明書には 2 つの機能があります。

  • デジタル証明書を通じてブラウザにサーバーの ID を証明する

  • デジタル証明書にはサーバー公開キーが含まれています

デジタル証明書を含む HTTPS リクエスト プロセスを見てみましょう

HTTPS はどのようにセキュリティを確保しますか? (詳しい説明)

##デジタル証明書を使用しない HTTPS リクエスト プロセスと比較して、次の 2 つの主な変更が加えられています。

  • サーバーは公開キーをブラウザに直接返しません。 、しかし番号 Certificate を返します、そして公開キーはデジタル証明書に含まれています;

  • ブラウザ側で追加の証明書検証操作があります。証明書が検証された後、後続のプロセスは継続します。

#参考

  • 非対称性をわかりやすく説明する方法用語 暗号化?

  • #HTTP プロトコルと HTTPS プロトコルを理解するのに 10 分かかりますか?

  • HTTPS 原理分析 - 質問をもとにさらに深く掘り下げる

  • 図解 HTTP

  • ブラウザの動作原理と実践

  • (1.6 ワード) ブラウザの魂 どうやって尋ねるかたくさん拾えますか?

  • 推奨チュートリアル:
Web サーバーのセキュリティ

以上がHTTPS はどのようにセキュリティを確保しますか? (詳しい説明)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Nginx Proxy Manager を使用して HTTPS プロトコルでリバース プロキシを実装する方法 Nginx Proxy Manager を使用して HTTPS プロトコルでリバース プロキシを実装する方法 Sep 26, 2023 am 08:40 AM

NginxProxyManager を使用して HTTPS プロトコルでリバース プロキシを実装する方法 近年、インターネットの普及とアプリケーション シナリオの多様化に伴い、Web サイトやアプリケーションへのアクセス方法はますます複雑になっています。 Web サイトへのアクセス効率とセキュリティを向上させるために、多くの Web サイトはユーザーのリクエストを処理するためにリバース プロキシを使用し始めています。 HTTPS プロトコルのリバース プロキシは、ユーザーのプライバシーを保護し、通信のセキュリティを確保する上で重要な役割を果たします。この記事ではNginxProxyの使い方を紹介します。

Nginx プロキシ マネージャーを使用して HTTP から HTTPS への自動ジャンプを実装する方法 Nginx プロキシ マネージャーを使用して HTTP から HTTPS への自動ジャンプを実装する方法 Sep 26, 2023 am 11:19 AM

NginxProxyManager を使用して HTTP から HTTPS への自動ジャンプを実装する方法 インターネットの発展に伴い、ますます多くの Web サイトが HTTPS プロトコルを使用してデータ送信を暗号化し、データ セキュリティとユーザーのプライバシー保護を向上させ始めています。 HTTPS プロトコルは SSL 証明書のサポートを必要とするため、HTTPS プロトコルを展開する際には特定の技術サポートが必要です。 Nginx は強力で一般的に使用される HTTP サーバーおよびリバース プロキシ サーバーであり、NginxProxy

SSL を使用した Nginx: HTTPS を構成して Web サーバーを保護する SSL を使用した Nginx: HTTPS を構成して Web サーバーを保護する Jun 09, 2023 pm 09:24 PM

Nginx は、高性能 Web サーバー ソフトウェアであり、強力なリバース プロキシ サーバーおよびロード バランサーです。インターネットの急速な発展に伴い、機密性の高いユーザー データを保護するために SSL プロトコルを使用する Web サイトが増えています。Nginx は強力な SSL サポートも提供し、Web サーバーのセキュリティ パフォーマンスをさらに強化しています。この記事では、SSL プロトコルをサポートし、Web サーバーのセキュリティ パフォーマンスを保護するように Nginx を構成する方法を紹介します。 SSLプロトコルとは何ですか? SSL (セキュアソケット)

https ワークフローはどのようなものですか? https ワークフローはどのようなものですか? Apr 07, 2024 am 09:27 AM

https ワークフローには、クライアントから開始されたリクエスト、サーバー応答、SSL/TLS ハンドシェイク、データ送信、クライアント側レンダリングなどの手順が含まれており、これらの手順を通じて、送信中のデータのセキュリティと整合性を確保できます。

Tomcat で https を設定する方法 Tomcat で https を設定する方法 Jan 05, 2024 pm 05:15 PM

構成手順: 1. SSL 証明書を取得します; 2. SSL 証明書を構成します; 3. Tomcat 構成ファイルを編集します; 4. Tomcat を再起動します。詳細な導入: 1. 自己署名証明書または認証機関 (Let's Encrypt など) から有効な SSL 証明書のいずれかの SSL 証明書を取得する必要があります; 2. 取得した SSL 証明書と秘密キー ファイルをサーバーに配置し、これらのファイルが安全な場所にあり、十分な権限を持つユーザーのみがアクセスできることを確認します; 3. Tomcat 設定ファイルなどを編集します。

解決策: urllib3 ProxySchemeUnknown(proxy.scheme) 解決策: urllib3 ProxySchemeUnknown(proxy.scheme) Feb 29, 2024 pm 07:01 PM

このエラーの理由は、urllib3 の ProxySchemeUnknown(proxy.scheme) エラーは、通常、サポートされていないプロキシ プロトコルの使用によって発生するためです。この場合、urllib3 はプロキシ サーバーのプロトコル タイプを認識しないため、ネットワーク接続にプロキシを使用できません。この問題を解決するには、HTTP や https などのサポートされているプロキシ プロトコルを使用していることを確認する必要があります。 。この問題は、urllib3 のプロキシ パラメータを設定することで解決できます。 http プロキシを使用している場合、コード例は次のとおりです。

Nginx を使用して HTTPS 双方向認証を実装する方法 Nginx を使用して HTTPS 双方向認証を実装する方法 Jun 03, 2023 pm 08:38 PM

一方向検証と双方向検証の違い: 一方向検証: クライアントがサーバー側の証明書を検証することを指し、サーバーはクライアント証明書を検証する必要はありません。双方向検証: クライアントがサーバー側の証明書を検証することを指し、サーバーも CA の公開キー証明書を通じてクライアント証明書を検証する必要があります。詳細なハンドシェイク プロセス: 一方向認証 ブラウザは、安全なサーバーに接続リクエストを送信します。 1. サーバーは、独自の証明書と証明書関連情報をクライアント ブラウザに送信します。 2. クライアントのブラウザは、サーバーから送信された証明書が信頼する CA センターによって発行されたものであるかどうかを確認します。信頼できる場合は契約の実行を続行します。そうでない場合は、クライアントのブラウザはクライアントに警告メッセージを表示します。つまり、この証明書が信頼できないことをクライアントに警告し、続行する必要があるかどうかをクライアントに尋ねます。 3. お客様のお迎え

Nginx ファイアウォールが HTTPS の安全な通信を保証する方法 Nginx ファイアウォールが HTTPS の安全な通信を保証する方法 Jun 10, 2023 am 10:16 AM

今日のインターネット時代において、安全な通信は不可欠な要素となっています。特にHTTPS通信では、そのセキュリティをいかに確保するかが特に重要です。 Nginx のファイアウォールは、一般的な Web サーバーおよびリバース プロキシ サーバーとして、HTTPS の安全な通信を確保する上で重要な役割も果たします。この記事では、Nginx ファイアウォールについて次の側面から説明します。 TLS/SSL 暗号化 HTTPS 通信のセキュリティは主に TLS/SSL 暗号化テクノロジに基づいており、送信中にデータが送信されるのを防ぐことができます。

See all articles