暗号化ってなんだろう?

チャイ
大切な情報が入っているメールを送りたいんだけど
誰かに見られないか心配だな…

レータ
そんなときはメールを暗号化するといいよ
暗号化すると、内容が変換されて他の人には解読できなくなるよ

チャイ
他の人に解読できなくなるのは嬉しいけど
メールを送った人も内容を確認できないんじゃないの?

レータ
大丈夫!
メールの相手先には、暗号化したメールを解読する「鍵」を送るよ
もう少し詳しく解説するね
暗号化について
暗号化とは、対象のデータを解読できないように変換する仕組みのことです。
暗号化することにより、第三者への情報漏洩を防ぎデータを保護することが出来ます。
暗号化されたデータは対象の「鍵」によって元のデータに戻すことが出来ます。これを「復号化」といいます。
例えば暗号化したメールを送る場合、メールを受け取る側が鍵を使って復号化することで内容が確認できます。
復号化に使用する鍵について
復号化に使う鍵は大きく2つに分けられます。
暗号化通信の実際の流れについて
ブラウザからウェブサイトにアクセスする際の暗号化通信について解説します。
ウェブサイトのURLが「https://」で始まっていることが暗号化通信の証になります。
ブラウザとサーバーが「TLS(Transport Layer Security)」という仕組みを使って暗号化通信を行います。
・暗号化通信の流れ
①クライアント(ブラウザ)が「暗号化通信をしたい」とサーバーに依頼をする
→対応できる暗号化方式やTLSのバージョンなどを共有
②依頼をサーバーが承諾し、サーバーの証明書と公開鍵をクライアントに送る
→証明書は認証局が発行している(認証局とは電子証明書を発行・管理する第三者機関)
③クライアントは受け取った証明書を基にサーバーが本物か見分けることが出来る
→認証局が発行した証明書なので本物だと判断できる
④クライアントとサーバーで共通鍵を作成する(鍵交換)
→実際の通信は共通鍵で暗号化するが、鍵を共有する際に公開鍵を使用して暗号化を行う
⑤共通鍵を使って暗号化通信を開始する
→通信の中身(HTTPデータ)を暗号化して通信することで通信が盗聴されない
まとめ
今回は暗号化について解説しました。
暗号化はとても奥が深く説明しきれない点も多くあったので、またどこかで掘り下げて解説したいです。
それでは、最後まで閲覧頂きありがとうございました!