目次
まず、権威ある組織が認証される必要があります。どのような組織でも証明書を発行できる資格があるわけではありません。そうでなければ、その組織は権威のある組織とは言えません。 " >証明書の法的根拠は何ですか? まず、権威ある組織が認証される必要があります。どのような組織でも証明書を発行できる資格があるわけではありません。そうでなければ、その組織は権威のある組織とは言えません。
ブラウザが HTTPS リクエストを開始すると、サーバーは Web サイトの SSL 証明書を返します。 " >ブラウザは証明書の有効性をどのように検証するのでしょうか? ブラウザが HTTPS リクエストを開始すると、サーバーは Web サイトの SSL 証明書を返します。
ホームページ よくある問題 大手工場の面接:HTTPSを3回連続で聞かれ、最後の質問は人が多いかどうか

大手工場の面接:HTTPSを3回連続で聞かれ、最後の質問は人が多いかどうか

Aug 28, 2023 pm 04:43 PM
https

皆さんこんにちは。有益な情報を共有することを専門にしている Lao Tian です。また、インタビュー資料が必要な友人は、バックステージで忘れずに返信してください。インタビュー

##序文

HTTPS が HTTP よりも安全であることは誰もが知っています。また、SSL、非対称暗号化、CA 証明書など、HTTPS プロトコルに関連する概念についても聞いたことがあるでしょう。

しかし、次の 3 つの魂を苦しめる質問には答えられないかもしれません:

  • なぜ HTTPS は安全なのでしょうか?
  • HTTPS の基本原理を実装するにはどうすればよいですか?
  • #HTTPS の使用は必ずしも安全ですか?
#この記事では、原則として HTTPS のセキュリティについて詳しく説明します。

HTTPS の実装原理

HTTPS プロトコルが安全である理由は次のとおりであると誰もが聞いたことがあるかもしれません。 HTTPS このプロトコルは送信データを暗号化し、暗号化プロセスは非対称暗号化を使用して実装されます。

しかし、実際には、HTTPS は対称暗号化を使用してコンテンツ送信を暗号化し、非対称暗号化は証明書の検証フェーズでのみ機能します。

HTTPS の全体的なプロセスは、証明書の検証段階とデータ送信段階に分かれており、具体的な対話プロセスは次のとおりです:

大手工場の面接:HTTPSを3回連続で聞かれ、最後の質問は人が多いかどうか
img
# #証明書検証ステージ :

  • ブラウザは HTTPS リクエストを開始します。
  • #サーバーは HTTPS 証明書を返します。
  • クライアントは証明書が合法かどうかを検証し、合法でない場合は警告を発します。
  • データ送信フェーズ:

    証明書が正当であることが検証されると、乱数がローカルで生成されます。
  • 乱数を公開鍵で暗号化し、暗号化された乱数をサーバーに送信します。
  • サーバーは秘密キーを使用して乱数を復号します。
  • サーバーは、クライアントから渡された乱数を使用して対称暗号化アルゴリズムを構築し、返された結果コンテンツを送信する前に暗号化します。

データ送信に対称暗号化が使用されるのはなぜですか? まず、非対称暗号化の暗号化と復号化の効率は非常に低く、HTTP アプリケーションのシナリオでは通常、エンド間で多くの対話が発生し、非対称暗号化は行われません。効率は受け入れられません。

さらに、HTTPS シナリオでは、サーバーのみが秘密キーを保存し、公開キーと秘密キーのペアでは一方向の暗号化と復号化しか実現できないため、HTTPS でのコンテンツ送信暗号化には対称暗号化が採用されます。非対称暗号化の代わりに暗号化を使用します。

証明書を発行するために CA 認証局が必要なのはなぜですか? HTTP プロトコルは、リスナーが送信プロセスを簡単にフックしてサーバーを監視したり偽造したりできるため、安全ではないと考えられていますが、HTTPS プロトコルは主にネットワーク送信のセキュリティ問題を解決します。 。

まず、認証局が存在せず、誰でも証明書を作成できると仮定しますが、これによってもたらされるセキュリティ リスクは、典型的な「中間者攻撃」の問題です。

「中間者攻撃」の具体的なプロセスは次のとおりです。

大手工場の面接:HTTPSを3回連続で聞かれ、最後の質問は人が多いかどうか

##プロセスの原則は次のとおりです。 :

  • ローカル リクエストがハイジャックされ (DNS ハイジャックなど)、すべてのリクエストが仲介者のサーバーに送信されます。
  • 仲介者サーバーは仲介者自身の証明書を返します。
  • クライアントは乱数を作成し、仲介者証明書の公開キーを使用して乱数を暗号化して仲介者に送信し、その乱数を使用して対称暗号化を構築して暗号化します。送信内容。
  • 仲介者はクライアントの乱数を持っているため、対称暗号化アルゴリズムを通じてコン​​テンツを復号化できます。
  • 仲介者は、クライアントのリクエスト コンテンツを使用して、通常の Web サイトへのリクエストを開始します。
  • 仲介者とサーバー間の通信プロセスは合法であるため、通常の Web サイトは確立された安全なチャネルを通じて暗号化されたデータを返します。
  • 仲介者は、正規の Web サイトで確立された対称暗号化アルゴリズムを使用してコンテンツを復号します。
  • 仲介者は、クライアントとの間で確立された対称暗号化アルゴリズムを通じて、通常のコンテンツによって返されるデータを暗号化して送信します。
  • クライアントは、仲介者と確立した対称暗号化アルゴリズムを通じて、返された結果データを復号します。
証明書の検証が不足しているため、クライアントは HTTPS リクエストを開始しますが、クライアントはネットワークが傍受され、すべての送信コンテンツが仲介者によって盗まれていることに気づきません。 。

ブラウザはどのようにして CA 証明書の有効性を確認しますか?

証明書にはどのような情報が含まれていますか?

証明書には次の情報が含まれています:

  • #発行機関情報
  • 公開鍵
  • ##会社情報
  • # #ドメイン名
  • 有効期間
  • フィンガープリント
  • ....

証明書の法的根拠は何ですか? まず、権威ある組織が認証される必要があります。どのような組織でも証明書を発行できる資格があるわけではありません。そうでなければ、その組織は権威のある組織とは言えません。

また、証明書の信頼性はトラストシステムに基づいており、権威ある組織が発行した証明書を承認する必要があり、権威ある組織が発行した証明書である限り、合法であること。

したがって、権威ある組織が申請者の情報を審査します。さまざまなレベルの権威ある組織には異なる審査要件があるため、証明書も無料、安価、高価に分かれています。

ブラウザは証明書の有効性をどのように検証するのでしょうか? ブラウザが HTTPS リクエストを開始すると、サーバーは Web サイトの SSL 証明書を返します。

ブラウザは証明書に対して次の検証を実行する必要があります:

    ドメイン名、有効期間、その他の情報が正しいかどうかを確認します。証明書にはこの情報が含まれているため、検証を簡単に完了できます。
  • 証明書のソースが合法かどうかを確認します。発行された各証明書は、検証チェーンに従って対応するルート証明書を見つけることができます。オペレーティング システムとブラウザは、権限のある組織のルート証明書をローカルに保存します。ローカル ルート証明書を使用して、対応する組織によって発行された証明書のソース検証を完了できます。組織。
大手工場の面接:HTTPSを3回連続で聞かれ、最後の質問は人が多いかどうか
    #** 証明書が改ざんされているかどうかを確認します。 **CA サーバーによる検証が必要です。
  • #** 証明書が取り消されているかどうかを確認します。 **CRL (証明書失効リスト) および OCSP (オンライン証明書ステータス プロトコル) を通じて達成されます。
  • OCSP をステップ 3 で使用すると、CA サーバーとの対話を削減し、検証効率を向上させることができます。

ブラウザは、上記の手順のいずれかが満たされた場合にのみ、証明書が正当であるとみなします。

**私が長い間考えてきた質問をここに挿入しますが、答えは実際には非常に簡単です: **証明書は公開されているため、中間者を起動したい場合この種の証明書詐欺を回避するにはどうすればよいですか?

実際には、これは暗号化されていない対称性での公開鍵と秘密鍵の使用であり、仲介者は証明書を取得できますが、秘密鍵は取得できません。

公開鍵から対応する秘密鍵を推測することは不可能であり、仲介者が証明書を取得したとしても、クライアントから渡された暗号化データを復号化できないため、正規のサーバーになりすますことはできません。

#認証局のみが証明書を生成できますか?

ブラウザでセキュリティ リスクについてのプロンプトを表示しないようにする必要がある場合は、証明機関が発行した証明書のみを使用できます。

しかし、ブラウザは通常、セキュリティ リスクを要求するだけで、Web サイトへのアクセスを制限しないため、技術的には誰でも証明書を生成でき、証明書がある限り Web サイトの HTTPS 送信を完了できます。 。

たとえば、初期の 12306 では、プライベート証明書の手動インストールを使用して HTTPS アクセスを実現していました。

大手工場の面接:HTTPSを3回連続で聞かれ、最後の質問は人が多いかどうか

#ローカル乱数が盗まれた場合はどうすればよいですか? 証明書の検証は非対称暗号化を使用して実装されますが、送信プロセスでは対称暗号化が使用され、対称暗号化アルゴリズムの重要な乱数はローカルで生成され、ローカルに保存されます。はい、その方法HTTPS は乱数が盗まれないことを保証しますか?

実際には、HTTPS には乱数のセキュリティ保証は含まれていません。HTTPS は送信プロセスのセキュリティのみを保証し、乱数はローカルに保存されます。ローカル セキュリティは別のセキュリティ カテゴリに属します。対策には、アンチウイルスのインストールが含まれます。 - ウイルス ソフトウェア、トロイの木馬対策、脆弱性を修正するためのブラウザのアップグレードなど。

HTTPS を使用するとパケットはキャプチャされますか? HTTPS データは暗号化されています。通常の状況では、プロキシ要求後にパケット キャプチャ ツールによってキャプチャされたパケットの内容は暗号化されているため、直接表示することはできません。

ただし、上で述べたように、ブラウザはセキュリティ リスクを警告するだけであり、ユーザーがそれを許可すれば、引き続き Web サイトにアクセスしてリクエストを完了することができます。

したがって、クライアントが自分の端末であり、それを許可する限り、仲介ネットワークを構築でき、パケット キャプチャ ツールが仲介者の役割を果たします。

通常、証明書の生成には HTTPS パケット キャプチャ ツールが使用されます。ユーザーは証明書をクライアントに手動でインストールする必要があります。その後、端末によって開始されたすべてのリクエストは、これを介してパケット キャプチャ ツールとの対話を完了します。証明書。

次に、パケット キャプチャ ツールはリクエストをサーバーに転送し、最後にサーバーから返された結果をコンソールに出力し、それを端末に返します。これにより、リクエストの閉ループ全体が完了します。

HTTPS ではパケット キャプチャを防ぐことはできないのですが、HTTPS には何の意味があるのでしょうか? HTTPS は、ユーザーが知らないうちに通信リンク上で監視されることを防ぐことができますが、このシナリオのユーザーはすでにリスクを認識しているため、アクティブなクレジット付与パケット キャプチャ操作に対する保護は提供されません。

パケット キャプチャを防ぐには、プライベート対称暗号化や、ローカル アルゴリズムのクラックを防ぐためのモバイル端末の逆コンパイル防止強化など、アプリケーション レベルのセキュリティ保護を採用する必要があります。

概要

以下は、全文の簡単な Q&A の概要です。

# Q: HTTPS が安全なのはなぜですか?

#A: HTTPS は通信のセキュリティを確保し、通信プロセスの監視やデータの盗難を防ぎ、Web サイトの信頼性を確認できるためです。

Q: HTTPS の送信プロセスは何ですか?

#A: クライアントは HTTPS リクエストを開始し、サーバーは証明書を返し、クライアントは証明書を検証し、検証に合格した後、対称暗号化アルゴリズムの変更に使用される乱数をローカルで生成します。 乱数は暗号化され、証明書内の公開キーを使用してサーバーに送信されます。乱数を受信した後、サーバーは秘密キーを使用して乱数を復号します。その後のデータのやり取りは対称暗号化を使用して暗号化および復号されます。アルゴリズム。

Q: 証明書が必要なのはなぜですか?

A: 「中間者」攻撃を防止し、Web サイトに ID 証明を提供します。

Q: HTTPS を使用するとパケットはキャプチャされますか?

A: パケットはキャプチャされます。HTTPS は、ユーザーが知らない間に監視されることを防ぐだけです。ユーザーが積極的にクレジットを付与すると、「仲介者」ネットワークが構築され、プロキシ ソフトウェアがパケットを監視できます。送信されたコンテンツを復号化します。 HTTPS を学習するプロセス図を共有したいと思います:

以上が大手工場の面接:HTTPSを3回連続で聞かれ、最後の質問は人が多いかどうかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の 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 プロキシ マネージャーを使用して HTTP から HTTPS への自動ジャンプを実装する方法 Nginx プロキシ マネージャーを使用して HTTP から HTTPS への自動ジャンプを実装する方法 Sep 26, 2023 am 11:19 AM

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

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

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

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 設定ファイルなどを編集します。

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 (セキュアソケット)

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

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

PHP フォームに安全な HTTPS 接続を設定するにはどうすればよいですか? PHP フォームに安全な HTTPS 接続を設定するにはどうすればよいですか? Aug 17, 2023 pm 03:25 PM

PHP フォームに安全な HTTPS 接続を設定するにはどうすればよいですか?インターネットの発展に伴い、Web 開発におけるセキュリティの重要性がますます高まっています。暗号化された伝送プロトコル HTTPS は、データ伝送の保護において重要な役割を果たします。データ送信に PHP フォームを使用する場合、接続のセキュリティを確保するためにいくつかの対策を講じることができます。この記事では、PHP フォームに安全な HTTPS 接続をセットアップする方法を、いくつかのコード例とともに説明します。 SSL 証明書を購入する まず、SSL 証明書を購入する必要があります。 SSL証明書が保証されたWebサイトです

Java API開発におけるデータ送信にHTTPSを使用する Java API開発におけるデータ送信にHTTPSを使用する Jun 18, 2023 pm 10:43 PM

科学技術の発展に伴い、ネットワーク通信は現代社会における重要な情報伝達ツールの一つとなっています。しかし同時に、ネットワーク上の情報送信には悪意のある攻撃や盗難のリスクがあるため、セキュリティは特に重要です。これに基づいて、HTTPS プロトコルが誕生しました。ネットワーク伝送のセキュリティを確保するために、HTTP プロトコルに SSL/TLS 暗号化を追加したプロトコルです。ネットワーク開発で広く使用されている言語である Java は、HTTPS プロトコルをサポートするための豊富な API を当然提供します。この記事では、

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

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