あなたもまた、「中間者攻撃」を強調し、HTTPSの原理を理解していませんか?


HTTPS

今HTTPSのコストの減少の確立、および持つサイトのほとんどは、すでにHTTPSプロトコルを過ごすために始めています。また、HTTPSプロトコルに関連する概念のことを聞いたHTTPよりもHTTPSセキュリティは、SSL、非対称暗号化、が、上の答えではないかもしれない、次の3人の拷問の魂のためのCA証明書を持っていることを私たちは皆知っています:

  1. なぜHTTPSが安全であるでしょうか?
  2. どのようにHTTPSの実装の基礎となる原則?
  3. 私たちは、安全なHTTPSを使用する必要がありますか?

HTTPSのセキュリティの原則からの深さのこの記事の層が、家を駆動します。

HTTPSの原則

あなたは、データはセキュアなHTTPS伝送プロトコルは、暗号化されますが、暗号化プロセスは、非対称暗号化の実装を使用することであるためである理由HTTPSプロトコルの理由を聞いたことがあります。しかし、実際には、コンテンツの送信に使用さHTTPSの暗号化は資格検証段階で行動する対称暗号化、非対称暗号化です。

全体のプロセスは、HTTPS証明書認証とデータ転送フェーズに分割され、以下のように、特定の相互作用です。

WX20191127-133805@2x.png

①証明書の検証フェーズ

  1. ブラウザが要求を開始するためにHTTPS
  2. サーバーは、HTTPS証明書を返します。
  3. サブルールプロンプト警告場合は、クライアント認証証明書は、正当なものです

②データ転送フェーズ

  1. 場合は、証明書の検証方法、ローカルで生成された乱数
  2. 公開鍵で乱数を暗号化し、暗号化された乱数をサーバに送信
  3. サーバはプライベートで乱数を復号化
  4. 対称暗号化アルゴリズムサーバクライアント構造の着信乱数、結果の内容は暗号化されて返さ伝送

なぜデータ伝送は、対称で暗号化されていますか?

まず、非対称暗号化と復号化の効率は、通常のアプリケーション・シナリオHTTPクライアントとクライアントとの間の相互作用の多くは、非対称暗号化の効率が許容できない、非常に低いです。

唯一の秘密鍵の保存さらに、HTTPSサーバーのシナリオ、一方向の公開鍵と秘密鍵の暗号化と復号化の唯一のペア、HTTPS送信の内容は、非対称暗号化せずに撮影した対称暗号化を暗号化されているので。

証明書を発行するのはなぜCA証明機関?

送信プロセスは、主にセキュリティ上の問題を解決することを目的とするHTTPSプロトコルのフックライン監視、偽サーバ、およびネットワーク伝送リスナー容易であるため、HTTPプロトコルは安全でないと考えられます。

まず、認証機関は、誰もがセキュリティリスクをもたらすことは、古典的である証明書、作成することができ、存在しないことを前提とし、「中間者攻撃」の問題を。
以下のように「中間者攻撃は」プロセスは、次のとおりです。

WX20191126-212406@2x.png

プロセスが動作します:

  1. ローカルリクエスト(例えば、DNSハイジャック)をハイジャックし、すべての要求は、中継サーバに送信しました
  2. 仲介仲介自身の証明書サーバーが返します
  3. クライアントは、乱数を生成し、コンテンツ伝送対称暗号の乱数と設定で暗号化された乱数が送信を暗号化した後、公開鍵証明書が仲介仲介に伝達され、
  4. 彼らは、クライアントの乱数を持って仲介するので、コンテンツは、対称暗号化アルゴリズムによって復号することができます
  5. 再び正式な要求を開始するために、クライアントのウェブサイトの内容を要求する仲介
  6. サーバ仲介との通信処理が合法であるため、通常のサイトは、安全なチャネルの確立により暗号化されたデータを返します。
  7. 対称暗号化アルゴリズムの仲介は、コンテンツを復号化するために定期的にサイトを確立して
  8. 仲介者は、クライアントで確立コンテンツの正規の対称暗号化アルゴリズムによって返された送信データを暗号化
  9. クライアントは、対称暗号化アルゴリズムを確立仲介によって返された結果のデータを復号化

証明書の検証の不足のために、クライアントがHTTPS要求にもかかわらず開始されますが、クライアントが独自のネットワークがブロックされている知っていない、すべてのコンテンツが仲介を盗むために送信されます。

ブラウザは、CA証明書の正当性を保証するために、どのようにでしょうか?

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

  • 機関情報
  • 公開鍵
  • 企業情報
  • ドメイン名
  • 妥当性
  • 指紋
  • ......

どのような正当性は2.証明書を基づいていますか?

まず、当局が認定を受けていることがあるだけでなく、金融機関の証明書を発行する資格があり、または当局と呼ばれていません。また、信託制度に基づく信頼性の証明は、当局が発行され、その承認証明書を信用する必要がある限り、認証局が生成されるように、我々は合法的と見なさ。当局は、監査要件への権限の申請者のさまざまなレベルが同じではないので、証明書はまた、無料の、安くて高価に分けて検討する情報には。

3.どのようにブラウザは、証明書の正当性を検証するには?

ブラウザを開始HTTPSリクエスト、サーバーは、次の検証証明書を行うには、ブラウザのニーズ、サイトのSSL証明書に戻ります。

  1. 情報が正しいドメイン名、有効期限を確認してください。これは、比較的容易に検証されている証明書に関する情報が含まれています。
  2. 合法的なソースからの証明書かどうかを判断するには。認証チェーンに基づいて、各証明書を発行するには、対応するルート証明書、オペレーティングシステム、ローカルルート証明書の使用が原点の対応を検証するために完了の証明書を発行することができる、ブラウザのローカルストレージのルート証明機関を見つけることができます。
    WX20191127-084216@2x.png
  3. 証明書が改ざんされているかどうかを確認します。あなたは、CAサーバに確認する必要があります。
  4. 証明書が失効しているかどうかを確認します。CAサーバを削減し、検証効率を向上させるために相互作用するOCSPステップ3に使用することができCRL(証明書失効リスト証明書失効リスト)とOCSP(オンライン証明書状態プロトコルオンライン証明書状態プロトコル)の実装により、

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

私はここに長い時間を挿入したいと思いますが、答えは実際には非常に単純な質問です:
あなたは中間者攻撃を起動する場合、証明書は、公開されているので、私は公式ウェブサイト上のサーバー証明書としての私の証明書のコピーをダウンロードし、クライアントは、この証明書があることに同意確かだろうこのようなAの証明書の不正使用を回避する方法、合法的なのですか?
この事実は、仲介者証明書を取得することができますが、秘密鍵を取得することができない、秘密鍵に対応する公開鍵を計算することは不可能ですが、対称非便利を暗号化するために、公開鍵と秘密鍵で、証明書はさらに、仲介偽装取得することはできませんクライアントが復号化暗号化されたデータを着信することはできませんので、正当なサーバ。

4.のみ認証機関は、証明書を生成することができますか?

あなたは、ブラウザが必要な場合は、プロンプトAのセキュリティリスクをしない、それが唯一の認証機関によって発行された証明書を使用することができます。しかし、通常はブラウザのプロンプトセキュリティリスク、アクセスすることはできませんサイトを制限するものではないので、技術的に誰が証明書を生成することができ、証明書が長くそこHTTPS伝送サイトなどとして完成することができます。例えば、12306の初期の形は、手動でプライベート証明書の実装HTTPSアクセスをインストールするために使用されます。
WX20191127-130501@2x.png

ローカル乱数を行う方法を盗まれましたか?

証明書の検証が非対称暗号化を使用して実装され、転送プロセスは、乱数がによって生成され、ローカルにローカルに保存されている中で重要となっている対称暗号化、対称暗号化アルゴリズムの使用は、HTTPSがどのようにランダムな番号が盗まれないことを確認することですか?

実際には、HTTPSは、HTTPSのみ伝送、ストレージ、およびローカルセキュリティ、ローカルセキュリティ、取り付けアンチウイルスソフトウェアに対処するための措置の別のカテゴリに属する​​乱数中のセキュリティを確保するために、抗トロイの木馬、ブラウザのアップグレード乱数のセキュリティ保証が含まれていません。バグ修正など。

HTTPSはそれに巻き込まれるだろうか?

HTTPSデータは、暗号化されたパケットキャプチャツールエージェントコンテンツ要求後のパケットを直接見ることができない従来の暗号化状態でキャッチされます。

許可されたユーザーは、サイトにアクセスし続ける要求を完了することができた場合でも、前述のように、ブラウザはセキュリティ上のリスクを促すメッセージが表示されます。したがって、限り、クライアントは、私たちの認可仲介の場合には、私たち自身の端末であるように、ネットワークを設定することができますし、パケットキャプチャツールは、仲介エージェントとして機能しています。HTTPSを使用キャプチャツールは、一般的に手動でクライアントに証明書をインストールするには、証明書、ユーザーのニーズを生成し、その後、キャプチャツールと対話するために、端末によって開始されたすべての要求が証明書によって完成した後、転送パケットキャプチャツールに要求されますサーバ、そして最終的に結果はこのように要求全体の閉ループを完了し、コンソール出力した後、端末にサーバから返さ返します。

抗HTTPSキャプチャすることはできません、とHTTPSのポイントは何であるので、?
HTTPS通信リンクは、知識がなくても耳を傾け、ユーザーを防止することができる、これは、ユーザーが危険を知らされていたシーンであるため、アクティブなキャプチャ動作のためのクレジットは、保護を提供することではありません。キャプチャ、こうした民間の対称暗号の使用など用途レベルのセキュリティへの必要性を防ぐために、地元のアルゴリズムを防ぐために、抗移動側の逆コンパイル補強をしながらが壊れています。

概要

以下は、簡単なQ&A形式で全文を要約します:

Q:HTTPSなぜセキュリティ?
A:HTTPS、伝送のセキュリティを確保するために、データの盗難を防ぐために監視される転送プロセスを防ぐために、サイトの信頼性を確認することができますので。

Q:HTTPS送信処理が似ているのですか?
A:HTTPSクライアントが開始要求、サーバーが証明書を返し、乱数の変換のための対称暗号化アルゴリズムによってローカルで生成された乱数の認証のためのクライアント証明書をサーバに公開鍵証明書を送信することによって暗号化されています、サーバーは、対称暗号化アルゴリズム復号化によるデータの相互作用の後、秘密鍵を復号して得られた乱数を受け取ります。

Q:なぜ私は、証明書が必要なのですか?
A:「仲介」攻撃を防ぐために、およびサイトの身元の証明を提供することができます。

Q:HTTPSは、それを使用して捕まるだろうか?
A:「捕まるでしょう、HTTPS通信のみを知らずに監視されてからユーザーを防ぐため、ユーザーが積極的に信用であれば、それは『仲介』のネットワークを構築することができ、プロキシソフトウェアは、送信内容を解読することができます。


BLOG住所www.liangsonghua.com

マイクロチャンネル公衆数に焦点:保存卵の黒板には、よりエキサイティングな取得します!

公開番号説明:Jingdongの中での作業に技術の洞察を共有し、同様JAVA技術と業界のベストプラクティスとして、それらのほとんどは、再現性、実用的です理解することができます


おすすめ

転載: juejin.im/post/5e477dc551882549724e1ace