HTTPS はどのようにセキュリティを確保しますか? (詳しい説明)
この記事では、HTTP の問題について説明し、HTTPS がどのようにセキュリティを確保するかを紹介します。一定の参考値があるので、困っている友達が参考になれば幸いです。
#HTTP に関する問題
1、盗聴のリスク: 通信はプレーンを使用テキスト(暗号化されていない)のため、内容が盗聴される可能性があります(通信内容を第三者に知られる可能性があります)
2,なりすましの危険性 : 通信相手の本人確認が取れないため、通信内容が盗聴される可能性があります。偽装に遭遇する可能性があります
3,改ざんリスク: メッセージの完全性が証明できないため、改ざんされている可能性があります
HTTPS
##HTTPS の Web サイトが表示され、ブラウザのアドレスバーに鍵マークが表示されます。
HTTPS はアプリケーション層の新しいプロトコルではありません。通常、HTTP は TCP と直接通信しますが、HTTPS は最初にセキュリティ層 (SSL/TLS) と通信し、次にセキュリティ層が TCP 層と通信します。
SSL/TLS プロトコルは、上記の HTTP の問題を解決するために生まれました。どのように解決されるかを見てみましょう。:
1. すべての情報は暗号化されて送信され、第三者が盗聴することはできません。
2. なりすましを防止するための本人確認機能を備えています
3. 一旦改ざんされた場合の認証機構を備えています
#暗号化##対称暗号化
暗号化メソッド復号化に同じ秘密キーを使用することは、共有キー暗号化と呼ばれ、対称キー暗号化とも呼ばれます。
#ブラウザはサーバーに
- と一連の暗号化メソッドを送信します
-
server_randomサーバーはそれをブラウザに送信します
と暗号化方式 -
、##既存のブラウザとサーバーには 3 つの同一の資格情報があります:
client_random server_random
暗号化方式を使用して 2 つの乱数 client_random
と server_random
を混合して秘密鍵を生成します。ブラウザとサーバー間の通信用のパスワードです。 既存の問題点:
client_random、
server_random
#非対称暗号化
##ブラウザは一連の暗号化メソッドをサーバーに送信します
サーバーは暗号化方式と公開キーをブラウザに送信します。
ブラウザはデータを暗号化し、公開キーを介してサーバーに送信します。サーバーはデータを受信します 秘密鍵を使用して復号化します。サーバーはブラウザにデータを送信するときに秘密キーを使用して暗号化し、ブラウザはサーバーから送信されたデータを受信し、公開キーを使用して復号化します。
既存の問題:
- サーバーからブラウザに送信されるデータのセキュリティは保証できません
- 。サーバーのデータは秘密キーでのみ暗号化できます (公開キーを使用する場合)。仲介者が公開鍵を取得すると、サーバーから送信されたデータを復号化でき、再び解読されます。
データ送信フェーズでは引き続き対称暗号化を使用しますが、非対称暗号化を使用します。対称的に暗号化された送信。
#ブラウザは client_random と暗号化方式のリストをサーバーに送信します。
サーバーはそれを受け取り、server_random、暗号化方式、公開鍵を返します。
- ブラウザはそれを受信し、別の乱数 pre_master を生成し、公開鍵で暗号化し、サーバーに送信します。 (キー操作!)
- サーバーは秘密キーを使用して、暗号化された pre_master を復号します。
これまでのところ、サーバーとブラウザには同じ client_random
、server_random
、pre_master
があり、さらにサーバーとブラウザにはサーバーはこれら 3 セットの乱数を使用して対称秘密キーを生成します。対称秘密キーを使用すると、双方が対称暗号化を使用してデータを送信できます。
CA (デジタル証明書)
は、対称および非対称のハイブリッド方式を使用して、データの暗号化された送信を実現します。しかし、まだ問題があり、サーバーがハッカーになりすまされている可能性があります。このようにして、ブラウザはハッカーのサーバーにアクセスし、ハッカーは自分のサーバーに公開鍵と秘密鍵を実装できますが、ブラウザはハッカーのサイトにアクセスしていることを完全には知りません。
サーバーは自身の身元を証明する必要があり、権威ある組織が発行した証明書を使用する必要があります。この権威のある組織がCA(認証局)であり、発行された証明書をデジタル証明書(デジタル証明書)と呼びます。
ブラウザの場合、デジタル証明書には 2 つの機能があります。
デジタル証明書を通じてブラウザにサーバーの ID を証明する
-
デジタル証明書にはサーバー公開キーが含まれています
デジタル証明書を含む HTTPS リクエスト プロセスを見てみましょう
- サーバーは公開キーをブラウザに直接返しません。 、しかし番号 Certificate を返します、そして公開キーはデジタル証明書に含まれています;
- ブラウザ側で追加の証明書検証操作があります。証明書が検証された後、後続のプロセスは継続します。
#参考
- 非対称性をわかりやすく説明する方法用語 暗号化?
- #HTTP プロトコルと HTTPS プロトコルを理解するのに 10 分かかりますか?
- HTTPS 原理分析 - 質問をもとにさらに深く掘り下げる
- 図解 HTTP
- ブラウザの動作原理と実践
- (1.6 ワード) ブラウザの魂 どうやって尋ねるかたくさん拾えますか? 推奨チュートリアル:
以上がHTTPS はどのようにセキュリティを確保しますか? (詳しい説明)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









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

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

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

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

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

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

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

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