[アプリケーション層]HTTPSとSSL
HTTPのセキュリティ・ホール
HTTPは暗号化されていないデータを交換するプロトコルです.
=>したがって、
SSL
を介してセキュリティ機能を追加するプロトコルはHTTPSである.たいしょうキー
同じ鍵を使用して暗号化および復号化を行います.
しかし,暗号を送信した者同士で対称鍵を渡す場合,対称鍵が漏洩すれば外部復号によりデータを傍受できるため,セキュリティが劣る.
公開鍵
異なる鍵による暗号化/復号化
2つのキーがあります. Aキーで暗号化すればBキーで復号でき、Bキーで暗号化すればAキーで復号できる.このとき、2つの鍵のうちの1つを秘密鍵(private key,秘密鍵,秘密鍵)とし、もう1つを公開鍵(public key)として指定する.秘密鍵は自分だけが所有し、公開鍵は他人に提供される.
公開鍵方式
異なる鍵による暗号化/復号化
2つのキーがあります. Aキーで暗号化すればBキーで復号でき、Bキーで暗号化すればAキーで復号できる.このとき、2つの鍵のうちの1つを秘密鍵(private key,秘密鍵,秘密鍵)とし、もう1つを公開鍵(public key)として指定する.秘密鍵は自分だけが所有し、公開鍵は他人に提供される.
公開鍵方式
電子署名
秘密鍵の所有者は、秘密鍵を使用して情報を暗号化し、秘密鍵とともに暗号化された情報を伝送する.情報と公開鍵を取得した者は、公開鍵を用いて暗号化された情報を復号する.
この過程で,公開鍵が漏洩すると,何気ない攻撃者にデータが復号される危険があるが,この方法の目的はデータを保護することではない.
暗号化されたデータは、公開鍵と対をなす秘密鍵によって暗号化されることを意味する公開鍵を使用して復号することができる.すなわち、公開鍵は、データを提供する者の身元を保証することができる.これらを電子署名と呼ぶ.
対称鍵と公開鍵の長所と短所
公開鍵暗号化はセキュリティに有利であるが、大量のコンピュータリソースが使用されている.
逆に,対称鍵方式は有効であるが,セキュリティの問題もある.
=>SSLはこの2つの方式の利点の結合である.公開鍵として鍵を暗号化し,実際のデータを交換する際に対称鍵を用いてデータを交換する.(詳細は以下の通り)
SSL
SSLデジタル証明書とは
SSL証明書は、サードパーティがクライアントとサーバ間の通信を保証する電子化されたドキュメントです.
クライアントがサーバに接続されると、サーバはこの証明書情報をクライアントに渡します.クライアントは、証明書情報が信頼できるかどうかを確認し、次の手順に従います.
SSLの長所
SSLの振る舞い
SSLは,データの転送に公開鍵と対称鍵を混在させる.
コンピュータとコンピュータはネットワークを利用して通信し,内部には3段階ある.
1. 악수 -> 2. 전송 -> 3. 세션종료
1.握手(握手)
SSL方式で通信するブラウザやサーバでも握手をするとSSL証明書が交換されます.
クライアントHello:クライアントはサーバに接続されています.
サーバHello:サーバ応答クライアントHello:
データを暗号化するための鍵を作成し、公開鍵で渡す
サーバ証明書の検証:クライアントは クライアント内のCAリストを確認し、証明書がCAから発行されたかどうかを確認します.CAリストに証明書がない場合は、警告メッセージをユーザに出力します.クライアント内蔵CAの公開鍵を使用して証明書を復号し、証明書がCAによって発行されるかどうかを確認します.復号に成功した場合、証明書はCAの秘密鍵で暗号化された文書である.これにより、証明書を送信するサーバが信頼性が向上します.
クライアントは ランダムデータとクライアント生成 ランダムデータを組み合わせてpremastersecret(対称鍵)という鍵を生成します.
このpre-master secret値をサーバに渡すときに公開鍵方式を使用します. pre master secret値をサーバの公開鍵(サーバから受信した証明書)で暗号化してサーバに送信することで、サーバは独自の秘密鍵を使用して安全に復号することができる.
サーバはクライアントから送信されるpre master secret 値を自分の秘密鍵に復号します.サーバとクライアントはpre master secret 値を共有し、master secret値にします.master secretはセッションキーを生成し、サーバとクライアントはこのセッションキー値を使用してデータを対称鍵で暗号化し、データを交換します.
クライアントとサーバは互いに相手に通知し合い,ハンドフェーズは終了する.
2.セッション
セッションは、実際にはサーバとクライアント間のデータ交換です.sessionkey値を使用して対称鍵で暗号化します.
3.セッションの終了
データ転送終了後、SSL通信終了を相互に通知する.通信で使用されているセッションキーは破棄されます.
Reference
生活コードHTTPSとSSL証明書
Reference
この問題について([アプリケーション層]HTTPSとSSL), 我々は、より多くの情報をここで見つけました https://velog.io/@sooyoungh/어플리케이션-계층-SSL이란テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol