HTTPSウェイ認証、相互認証、パケットキャプチャ原則、抗キャプチャ戦略についての何かを言いました

HTTP(ハイパーテキスト転送プロトコル、ハイパーテキスト転送プロトコル)は、TCP / IPのアプリケーション層でのWebブラウザとWebサーバ間で情報を転送するために使用されます。ここで言及TCP / IP階層は、4つの層に分けられる:アプリケーション層、トランスポート層、ネットワーク層、データリンク層、階層オブジェクト:成層を切り離すことができ、動的代替レイヤプロトコル

構成する個々の層の内容:

アプリケーション層:通信アクティビティ(FTP、DNS、HTTP)は、ユーザにアプリケーションサービスを提供する
トランスポート層の2台のコンピュータを接続するデータ伝送ネットワーク(TCP、UDP)
ネットワーク層:ネットワーク上を流れるデータパケットを処理する方法によって相手(IP)のパケット転送の伝送路
のデータリンク層:カード関連のハードウェア、デバイスドライバ、等

しかし、HTTPは、次の重大な欠点があります。

  1. 平文通信を使用して、コンテンツが傍受されてもよいです
  2. 通信当事者の身元を確認していない、変装が発生する可能性があります
  3. メッセージの整合性を証明することができませんので、そこで改ざんされた可能性があります

このように、HTTPSがデビューします。HTTPS Sは、HTTP、すなわちデータの暗号化、復号化、認証セキュリティ層に用いる層で元に基づいている、TLSまたはSSLを表します

  • + + +暗号化された完全性保護HTTP認証= HTTPS

暗号化に関連する予備知識:対称暗号化と非対称暗号化。

  1. 対称暗号化:同じキーを使用して、データの暗号化と復号化。この特性は非常に高速な暗号化され、対称暗号化アルゴリズムは、一般的にAESです。

  2. 非対称暗号化:暗号化と復号に異なる鍵を使用して、両方のキーが唯一のユニークなペアリングを形成しているが、公開鍵と秘密鍵と呼ばれます。これは、公共で暗号化されたデータを復号化するための秘密鍵で暗号化された公開鍵とプライベートデータを使用して復号化する必要があります。唯一の自分のように、一般的に、自分のプライベート良い、他の人に開かれた公開鍵(一般市民だけではなくなりますが、証明書に書き込まれます)、他の人が自分に送信されたデータを暗号化するために彼の公開鍵の後に見てみましょうを保持これは、復号化することができます。この暗号化方式の特長は遅く、大型のCPUのオーバーヘッド、一般的な非対称暗号化アルゴリズムRSAです。

知識CA証明書:CA証明書は、CA(認証局)のデジタル証明書機関によって発行されています。その内容は次のとおりです。情報の電子ビザ当局、公共利用者情報、公開鍵、署名と有効期限を。ここでは、公開鍵サーバは、ここでの署名は意味:平文ハッシュハッシュ関数によって開示された情報のメッセージダイジェストを計算し、その後、CAメッセージダイジェストの秘密鍵を使って暗号文を完成し、署名を暗号化され、暗号化されています。すなわち:証明書の署名+ + =情報公開申請と発行者クライアント(秘密鍵暗号は、CAの署名を使用しているため)プリセットCAの公開鍵のオペレーティングシステムは、それが署名のサポートを復号化しているため

あなたが行う方法を見てみることができますので、これらの予選では後に、HTTPS認証を確保する方法です。

HTTPSウェイ認証

のは、一方向の認証プロセスを見てみましょう:
HTTPSウェイ認証、相互認証、パケットキャプチャ原則、抗キャプチャ戦略についての何かを言いました

公開鍵と秘密鍵B_ B_:図からわかるように、サーバは、非対称鍵のペアを1つ持っています。詳細な手順は以下の通りである
(1)クライアントは、HTTPS要求を開始サーバへのSSLプロトコルのバージョン情報を送信します。

(2)CAのサーバが挙げ前にCA証明書を申請するために、証明書が存在するサーバ公開鍵と署名CA証明書はクライアントに送信されます

次いで、署名を復号化するCAの公開鍵を用いてオペレーティングシステム(AS、および(3)クライアントが同一のハッシュ関数のハッシュ計算メッセージダイジェスト(修飾されているからコンテンツを防ぐ確認ハッシュ目的)を用いて、平文CA証明書を読み出しCA秘密鍵暗号)で署名され、メッセージは比較証明書にダイジェスト。彼らは一貫している場合は、証明証明書が信頼され、その後、サーバーの公開鍵を削除します

(4)クライアントは、乱数(キーF.)を生成し、ジャストB_乱数暗号化された形式を暗号化するために、サーバの公開鍵になるまで待って、それがサーバーに送信されます。

(5)自分の秘密鍵を使用してサーバB_はキーFを得るために、暗号文を復号化します

(6)サーバとクライアントが通信の後続の通信プロセスにおいてFキーを使用しています。前異なると非対称暗号化、暗号化は、ここに対称的です

HTTPS相互認証

双方向と片方向認証認証基本的な原理は、双方向認証にクライアントにサーバー認証を高めながら、認証クライアントは、サーバを認証する必要が一方向に似ています

HTTPSウェイ認証、相互認証、パケットキャプチャ原則、抗キャプチャ戦略についての何かを言いました

双向认证详细过程如下:

(1)客户端发起HTTPS请求,将SSL协议版本的信息发送给服务端。

(2)服务端去CA机构申请来一份CA证书,在前面提过,证书里面有服务端公钥和签名。将CA证书发送给客户端

(3)客户端读取CA证书的明文信息,采用相同的hash散列函数计算得到信息摘要(hash目的:验证防止内容被修改),然后用操作系统带的CA的公钥去解密签名(因为签名是用CA的私钥加密的),对比证书中的信息摘要。如果一致,则证明证书是可信的,然后取出了服务端公钥

(4)客户端发送自己的客户端证书给服务端,证书里面有客户端的公钥:C_公钥

(5)客户端发送支持的对称加密方案给服务端,供其选择

(6)服务端选择完加密方案后,用刚才得到的C_公钥去加密选好的加密方案

(7)客户端用自己的C_私钥去解密选好的加密方案,客户端生成一个随机数(密钥F),用刚才等到的服务端B_公钥去加密这个随机数形成密文,发送给服务端。

(8)服务端和客户端在后续通讯过程中就使用这个密钥F进行通信了。和之前的非对称加密不同,这里开始就是一种对称加密的方式

HTTPS基本思路总结

HTTPS在保证数据安全传输上使用对称加密和非对称加密相结合的方式来进行的,简单来说就是通过一次非对称加密算法进行了最终通信密钥的生成、确认和交换,然后在后续的通信过程中使用最终通信密钥进行对称加密通信。之所以不是全程非对称加密,是因为非对称加密的计算量大,影响通信效率。

抓包原理

HTTPS即使安全,也是能够被抓包的,常见的抓包工具有:Charles、fildder等。

HTTPS一般的に使用される方法は、クライアントがクライアントとして偽装サーバー上のサーバーに変装し、仲介者として機能して取り込みます。簡単に言えば:

  • 仲介クライアント先サーバを装っインターセプトHTTPSクライアントの要求は、HTTPSリクエストを送信します
  • 仲介サーバーがクライアントにコンテンツデータを送信を装った独自の証明書を使用して、エンドサービスをバック受け入れました。

次の手順を使用して図:

HTTPSウェイ認証、相互認証、パケットキャプチャ原則、抗キャプチャ戦略についての何かを言いました

アンチキャプチャ戦略

ロック証明書(証明書ピンニング)と公開鍵ロック(公開鍵ピンニング):二つの方法でSSLピニング。

  • 証明書は、APPを保護し、サーバは一意性を伝えるために、この方法によって許可CAのルート証明書を、対応するすべての証明書を、組み込まれているオペレーティングシステムまたはブラウザを受け入れずに、証明書の唯一の指定されたドメイン名を受け入れるように構築されたクライアントコードでロックする必要があるとセキュリティの間の通信(例えば、APIゲートウェイなど)、クライアントとサーバは、絶対的な安全性を保証することができます。しかし、有効なCA署名付き証明書に問題があり、欠点は、証明書の更新証明書APPに再構築されたの必要性が
  • 抽出された公開鍵証明書とサーバとの接続の値を比較することにより、公開鍵の正当性を検証するために、クライアントに組み込まれた公開鍵をロックします。変わらないことができる前と後のあなたは(すなわち、同じキーを)証明書の鍵、公開鍵証明書の更新を作成し、その問題は、証明書が有効である避けることができる場合には、一般的にお勧めします。

画期的なSSL-ピン留めキャプチャ

逆円で、山の山よりも高いです。アイデアはこれです:ビルトイン証明書または公開鍵は、多くの場合、コントラスト機能であることが証明されたとき、この関数の直接制御は、それを作るのに十分ではないによる検証の結果を返します。Xposed + justTrustmeモジュール:だから画期的SLL-ピン留め古典的な操作があるでしょう。このプログラムはJustTrustMe Xposedモジュールを使用され、どのようなことがないことである検証のための様々な既知のHTTPリクエストリポジトリAPI証明書には、チェックにかかわらず、ケースが信頼できる証明書であるかどうかの、フックを行っています結果は、検査証明書をバイパスの効果を達成するために、正常な状態に戻されます

おすすめ

転載: blog.51cto.com/14332859/2431483