3分超えちゃったら、スタープラチナで時間止めてね!
まずは、Symmetric Encryption(共通鍵暗号方式)とAsymmetric Encryption(公開鍵暗号方式)について説明するね。共通鍵暗号方式は簡単で、暗号化と復号に同じ鍵を使うんだ。家の鍵を想像してみて!鍵をかけるときと開けるとき、同じ鍵を使うでしょ?
一方、公開鍵暗号方式は、Public key(公開鍵、誰でも見れるように公開してもOK)とPrivate key(秘密鍵、絶対に誰にも見せちゃダメ!)の2つの鍵を使うんだ。この2つはペアになっていて、片方の鍵で暗号化されたものは、もう片方の鍵でしか復号できない仕組みなんだ。共通鍵暗号方式に比べて、公開鍵暗号方式は処理に時間がかかるよ。
共通鍵暗号方式だと、最初に鍵を送るときに盗み見られる可能性があるよね?だから、安全に鍵を共有するために公開鍵暗号方式を使うんだ。
確かに!それは「中間者攻撃」って呼ばれてるんだ。だから、それを防ぐ仕組みが必要になる。そこで登場するのが、CA(Certificate Authority、認証局)なんだ。簡単に言うと、CAはサーバーに設置するための証明書を発行してくれる機関だよ。証明書には、サイトの情報と、CAの秘密鍵で暗号化された署名が含まれているんだ。クライアント側で証明書を検証するときは、証明書内の公開鍵を使って署名を復号し、証明書の情報と比較する。もし一致すれば、証明書が改ざんされていないことが証明されるんだ。
いつか訪れるであろう、私の金魚並みの記憶力を呼び覚ますためだよ…・゚・(つд`゚)・゚・