HTTPS暗号化アルゴリズム

HTTPS

  HTTPSは実際には2つの部分で構成されています。HTTP+ SSL / TLS、つまり暗号化された情報を処理するためのモジュールのレイヤーがHTTPに追加されます。サーバーとクライアントの両方での情報の送信はTLSによって暗号化されるため、送信されるデータは暗号化されたデータです。
ここに画像の説明を挿入

  1. クライアントがHTTPSリクエストを開始します。
    ユーザーはブラウザにhttps URLを入力し、サーバーポートに接続します

  2. サーバー構成
    HTTPSプロトコルを使用するサーバーには、デジタル証明書のセットが必要です。この証明書のセットは、公開鍵と秘密鍵のペアです

  3. 転送証明書
    この証明書は実際には公開鍵ですが、認証局、有効期限などの多くの情報が含まれています。

  4. クライアントによる証明書の解析
    この作業の一部はクライアントのTLSによって行われます。最初に、発行者、有効期限などの公開鍵が有効かどうかを確認します。例外が見つかった場合、警告ボックスがポップアップして、証明書に問題があることを示します。証明書に問題がない場合は、ランダムな値を生成し、証明書を使用してランダムな値を暗号化します

  5. 暗号化された情報を送信する
    この部分は、証明書によって暗号化されたランダムな値を送信します。目的は、サーバーにランダムな値を取得させることであり、クライアントとサーバー間の通信は、将来このランダムな値によって暗号化および復号化できます

  6. サーバーは情報を
    復号化し、秘密鍵で復号化した後、クライアントから渡されたランダムな値(秘密鍵)を取得し、その値を使用してコンテンツを対称的に暗号化します。いわゆる対称暗号化とは、情報と秘密鍵をアルゴリズムで混合することです。これにより、秘密鍵がわからなければ、コンテンツを取得できず、クライアントとサーバーの両方が秘密鍵を知ることができます。

  7. 暗号化された情報を送信する情報の
    この部分は、サービスセグメントの秘密鍵で暗号化された情報であり、クライアントで復元できます。

  8. クライアントは情報を復号化し、
    クライアントは以前に生成された秘密鍵を使用してサーバーから渡された情報を復号化し、復号化されたコンテンツが取得されます。

暗号化アルゴリズム

HTTPSで一般的に使用される暗号化およびHASHアルゴリズムは次のとおりです。

非对称加密算法:RSADSA/DSS
对称加密算法:AESRC43DES
HASH算法:MD5SHA1SHA256

対称暗号化(対称暗号)

  対称暗号化は最も速く簡単な暗号化方法であり、暗号化と復号化には同じキーが使用されます。対称暗号化には多くのアルゴリズムがあり、効率が高いため、多くの暗号化プロトコルのコアで広く使用されています。
  対称暗号化は通常、比較的小さなキー(通常256ビット未満)を使用します。鍵が大きいほど暗号化は強くなりますが、暗号化と復号化のプロセスは遅くなります。キーのサイズは、セキュリティと効率の両方を処理する必要があります。
  対称暗号化の主な欠点は、キーの管理と配布、つまり、メッセージを復号化する必要がある人の手にキーを送信する方法に問題があります。キーを送信する過程で、キーはハッカーに傍受される大きなリスクがあります。実際の通常の方法は、対称的に暗号化されたキーを非対称的に暗号化し、それを必要な人に送信することです。

非対称暗号

  非対称暗号化は、データの暗号化と復号化に非常に安全な方法を提供し、公開鍵と秘密鍵のペアの鍵を使用します。秘密鍵は、一方の当事者のみが安全に保持でき、漏洩することはありません。一方、公開鍵は、それを要求した人に発行できます。非対称暗号化では、キーの1つを使用して暗号化しますが、復号化には別のキーが必要です。たとえば、銀行から公開鍵を要求すると、銀行から公開鍵が送信され、公開鍵を使用してメッセージを暗号化すると、秘密鍵の所有者である銀行だけがメッセージを復号化できます。対称暗号化とは異なり、銀行はネットワーク経由で秘密鍵を送信する必要がないため、セキュリティが大幅に向上します。
  非対称暗号化は非常に安全ですが、対称暗号化に比べて非常に遅いため、対称暗号化は引き続きメッセージの送信に使用されますが、対称暗号化で使用されるキーは非対称暗号化によって送信できます。例:
(1)銀行のウェブサイトで取引を行うために、ブラウザーは最初に乱数を対称鍵として生成します
(2)ブラウザーは銀行のウェブサイトに公開鍵を要求します
(3)銀行は公開鍵をブラウザーに送信します
(4)ブラウザーは銀行の公開鍵を使用して独自の対称鍵を暗号化します
(5)ブラウザーは暗号化された対称鍵を銀行に送信します
(6)銀行は秘密鍵を使用して復号化し、ブラウザーの対称鍵を取得します
(7)ブラウザと銀行は対称鍵を使用して、通信の内容を暗号化および復号化できます

  • 対称暗号化は暗号化と復号化に同じキーを使用するため高速ですが、キーはネットワーク経由で送信する必要があるため、セキュリティは高くありません
  • 非対称暗号化は公開鍵と秘密鍵のペアのキーを使用するため、セキュリティは高くなりますが、暗号化と復号化の速度は遅くなります
  • 解決策は、非対称暗号化公開鍵を使用して対称暗号化鍵を暗号化してから送信することです。受信者は秘密鍵を使用して復号化し、対称暗号化鍵を取得します。その後、2つのパーティが対称暗号化を使用して通信できます。
162の元の記事を公開 58を賞賛 90,000ビュー

おすすめ

転載: blog.csdn.net/ThreeAspects/article/details/105605594