最近のCA証明書の管理時に端からnginxのAPPの通常の背景には、この機能、PKI認証局との相互作用、nginxの一方向双方向サービスの構成がすでに安全な認証とデータ交換することができます、だけでなく、基本的な一方向認証を理解します相互認証の原則。私は多くの時間を読んで、彼らは忘れて数日ごと、または徹底的に見て理解して感じませんでした。それが難しい主題を作り、私は何双方向一方向認証と認定の原則の独自の理解を統合ヘルプを、ここでは、その後、一方向の認証と相互認証の原理を理解するいくつかの他の大物としています。
基本原則
デジタル証明書は、デジタル証明書に依存している、我々は、単純な暗号化ネットワーク・アプリケーション・プラットフォームを構築することができ、そのデジタル証明書と公開鍵暗号化アルゴリズムのキャリアになるための簡単な方法を公開し、公開鍵を提供するデジタル証明書は、私たちの生活のようなものですアイデンティティ公安機関によって発行された、現実、IDカード、ネットワークのユーザーの資格情報のアイデンティティは-CAが唯一の認証とネットワークによって発行されたCA証明書は、シンプルなCAではないだけで後に発行された証明機関によって発行されながら、一緒に暗号化アルゴリズムの多様性をもたらし防御、:
メッセージはアルゴリズムダイジェスト MD5、およびSHA(デジタル証明書は、データの整合性を検証するためのサーバーの省サマリー・プロセスを実行する):
対称暗号化アルゴリズム:RC2、RC4、IDEA、DES 、AESを(データ暗号化/復号化動作を、データの機密性サービスを確保するために)
非対称暗号化アルゴリズム:RSA、DH(データ暗号化/復号化演算、データの機密性サービスを確保するために)
デジタル署名アルゴリズム:RSA、DSA(データ署名/検証作業、データの整合性と否認防止を確実にするため)。
証明書発行処理は、実際には、公開鍵デジタル署名証明書の検証プロセスは、実際にも、私たちのネットワークを介して、証明書認証の有効性、CAのデジタル証明書を含む行うには、公開鍵デジタル署名検証証明書、デジタル証明書を要求するためにやっていますデータ暗号化/復号化するために、送信および記号/動作を確認し、ネットワークセキュリティを確保するために、取引主体のアイデンティティの信頼性を確保するために、データの機密性、完全性、否認防止、認証を確保します。
エンコーディングフォーマット
:すべての証明書には、ファイルをコードする様々なフォーマットを有する
CERは、(フォーマット仕様をコードする)コーディング:それはBER(基本符号化形式)の変異体であるコード形式のデジタル証明書であり、そしてBERよりも厳しい規定
DER(エクセレンスエンコード形式):BERの変化はまた、CER、固定長を使用して、DERモード、および可変長モードCERで異なっています。
すべての証明書は、公開鍵暗号方式の開発を促進し、RSA研究所や他のセキュリティシステムの開発基準のセットによって開発されたために、PKCS(公開鍵暗号規格)を開発するための国際基準に沿っITU-T X509公開鍵基盤(PKI)であります例えば:PKCS#7(暗号メッセージ構文標準----ファイル拡張子:.P7B、.p7c、.spcファイル)、PKCS#10(証明書要求の構文標準----ファイル拡張子:.p10、.csrです)、PKCS#12(個人情報交換シンタックス標準----ファイル拡張子:.P12、.PFX)、など
デジタル証明書を取得した後、あなたは、コンピュータに保存することができますまた、USBキーなどの適切なデバイスに保存することができます。
転送プロトコル
- HTTP
プロフィール:
ハイパーテキスト転送プロトコル、ハイパーテキスト転送プロトコルは、インターネット上で最も広く使われているプロトコルの一つであり、すべてのWWW文書が基準に従わなければなりません。送信データへのHTTPプロトコルは、とても危険な個人情報を送信するためにHTTPプロトコルを使用して、ある暗号化されていない、クリアテキストです。
TCPポートを使用する:80 - HTTPS
ハイパーソケット・レイヤーの上にテキスト転送プロトコルセキュア、安全なハイパーテキスト転送プロトコル、王JinggongはSSLでセキュリティセッション(セキュア・ソケット・レイヤー)データ伝送プロトコルHTTPのプロトコル保証暗号化を設計します。
デフォルトでTCPポート443を使用して -
SSL暗号化プロトコル
対称暗号化に使用されるSSLプロトコルは、伝送リンクの確立に、非対称暗号化(公開鍵暗号)で使用される、非対称暗号化用の公開鍵を使用して、SSL最初の対称暗号鍵は、リンクが設定されています後に、SSLは、対称コンテンツの伝送を使用して暗号化。
1.対称暗号化
速度は、プロセスが、メッセージセッションを暗号化するために使用される、大規模なコンテンツを暗号化することができ、高いです。
2.公開鍵暗号
遅く暗号化するが、対称暗号鍵を暗号化するために使用され、より良い認証技術を提供しています。 -
ウェイ認証
次のように必要なハンドシェイク手順を確立する前に、HTTPSソケット接続は次のとおりです。
- クライアントがサーバに情報をSSLプロトコルバージョン番号、暗号化アルゴリズムの種類、乱数を送信します。
- サーバーは、クライアントのSSLプロトコルバージョン番号、暗号化アルゴリズム、乱数の種類に情報を返しますが、また、証明書サーバーを返すこと、公開鍵証明書
- サーバー証明書のリターンデジタル署名証明書、ドメイン名のロックを解除することができ、正しい公開鍵を返すかどうかを、CA髪型サーバ証明書が信頼され、証明書の有効期限が切れているかどうか:クライアントには、サーバから返されたサーバーの正当性を検証するための情報を使用していますそして、サーバ等、実際のドメインと一致し、検証した後、通信は、通信を終了、そうでなければ、続け。
- クライアントは、選択するサーバのサーバに、対称暗号化方式をサポートするために最善を送ります
- サーバーは、クライアントが提供する暗号化方式で暗号化の最も高い暗号化レベルを選択します。
- サーバーは、平文を介してクライアントとの良好な暗号化方式のバックを選択します
- 暗号化方法によって返されたサービスを受信した後、方法は、ランダムコードを生成するために使用される暗号が生成され、通信処理サーバから返された公開鍵を用いて対称暗号鍵が暗号化されているように、暗号化されたランダムコードが送られますサーバー
- サーバが受信した後に暗号化された情報は、対称暗号化キーの取得を復号化するために、自身の秘密鍵を使用して、クライアントによって返されました。次のセッションでは、サーバーとクライアントは、対称暗号化、セキュアな通信処理については、パスワードを使用します。
- 相互認証
双方向と一方向の認証、認証の基本原則、唯一のサーバーを認証するためのクライアントのニーズに加えて、クライアントを認証するためにサーバーを増やす次のように、具体的なプロセスは次のとおりです。
- クライアントがサーバに情報をSSLプロトコルバージョン番号、暗号化アルゴリズムの種類、乱数を送信します。
- サーバーは、クライアントのSSLプロトコルバージョン番号、暗号化アルゴリズム、乱数の種類に情報を返しますが、また、証明書サーバーを返すこと、公開鍵証明書
- サーバー証明書のリターンデジタル署名証明書、ドメイン名のロックを解除することができ、正しい公開鍵を返すかどうかを、CA髪型サーバ証明書が信頼され、証明書の有効期限が切れているかどうか:クライアントには、サーバから返されたサーバーの正当性を検証するための情報を使用していますそして、サーバ等、実際のドメインと一致し、検証した後、通信は、通信を終了、そうでなければ、続け。
- サーバーがクライアント証明書を送信するためにクライアントが必要です、証明書を所有するクライアントがサーバーに送信されます
- クライアントの証明書を確認し、認証され、クライアントは公開鍵を取得します
- クライアントは、選択するサーバのサーバに、対称暗号化方式をサポートするために最善を送ります
- サーバーは、クライアントが提供する暗号化方式で暗号化の最も高い暗号化レベルを選択し、
- 以前に暗号化された公開鍵を使用して取得した暗号化方式は、クライアントに返さ
- クライアントがサーバから返された暗号化されたプログラムの暗号文を受信した後、暗号のランダムなコードを生成し、その後、具体的な方法を得る暗号化復号化するためにその秘密鍵を使用して、そして、暗号化の前工程で使用される鍵は、サービスから使用します暗号化された取得した公開鍵証明書の終了後に、それがサーバーに送信されます
- サーバがクライアントから送信されたメッセージは、次のセッションで取得した対称暗号化キーを解読するために、自身の秘密鍵を使用して受け取った後、サーバとクライアントが通信処理を確保するために、対称暗号化パスワードを使用します。セキュリティ情報。
質問:
1、クライアントが正当性、どのような基準のサーバ証明書を検証する方法ですか?また、認証局によって発行された一時証明書を装着した一般的なクライアント、通信まあ、確かにそこにアイデンティティでなければならないか、サーバーのPKI認証局を検証するクライアントを取るために?私はここにPKIによって発行された一時証明書を持って、それだと思う、PKIは、検証のために適用するためのトークンとして使用することができます。
2、一方向認証の違いは、相互認証は、クライアント双方向証明書認証の検証であり、クライアントの公開鍵を取得し、サーバがクライアントに返す、クライアントへの暗号化方式を送り返す時間を暗号化するために、クライアントの公開鍵を持って来ます。
また、その後の補足質問について再び
参考文献: