背景
普段、httpsやSSLというワードは当たり前のように目にするし、なんとなく暗号化する技術ということはわかっているけど、
仕組みや目的を今一度整理する
SSLとは
- SSLとは何か?
- クライアント-サーバ間の通信を暗号化する
- SSLとはSecure Sockets Layerの略で、送受信しているデータを暗号化する通信手順
- じゃあTLSとは何か?
- これも暗号化する手段です
- SSLに脆弱性が見つかって、それを解決するために根本的に設計しなおされた結果がTLS
- なのでSSLとTLSはニアリーイコール
- TLSで暗号化していても馴染みのあるSSLという呼び方で呼ばれる
- SSL通信の流れと仕組み
- 受信者は送信者に公開鍵とSSLサーバ証明書を送付
- これどうやって送付しているのか?
- SSLサーバ証明書は公開鍵が正しいものかどうかを証明するためのもの
- なりすまし防止
- 送信者は公開鍵を使って共通鍵を暗号化
- 送信者は受信者に暗号化された共通鍵を送付
- 受信者は共通鍵を秘密鍵で復号
- 受信者は公開鍵と秘密鍵のペアを持っている
- 公開鍵で暗号化されたデータはペアとして用意した秘密鍵でしか復号できない
- 受信者は送信者に公開鍵とSSLサーバ証明書を送付
- SSL通信する目的
- データの盗聴を防ぐ
- 暗号化していないとブラウザ上で入力したデータはそのまま受信者に渡る
- その間に攻撃者が通信データをハックすると入力したデータは丸見え!
- データの改ざんを防ぐ
- ブラウザで入力したデータとは別に改ざんを検知するための別データを用意
- 攻撃者が通信データをハックして改ざんしても検知するために用意した別データで検知できる!
- なりすまし防止
- そもそも受信者が信頼できるサーバなのかどうかを証明する
- SSL証明書がそれに当たる
- データの盗聴を防ぐ
終わりに
なんか記事のクオリティを気にしてアウトプットを敬遠してたけど、こういうしょーもないクオリティでも積極的にアウトプットしていきたい