SSL通信 公開鍵暗号方式と共通鍵暗号方式

Infrastracture

今日のネタは、SSL化通信では欠かせないこのお二方について。

今回は、少し変わったテイストで記事を書いてみた笑

まずは、公開鍵暗号方式くんについて。

さっそく、ハリーとハーマイオニーを例にとって説明しますよ

ある日、ハリーはハーマイオニーに手紙を送ることに。

ハリーは、他のホグワーツ生に中身を見られたくなかったので、魔法を使って暗号化した。

暗号化された手紙をヘドウィグから受け取ったハーマイオニーだったが、解読の呪文がわからないため、中身を読むことができない

ハーマイオニーの機嫌を損ないかけたため、ハリーは急いで解読の魔法を伝えにやってきた。しかし、物陰に隠れてマルフォイがそれを盗み聞きしていたのだ。

そう。このように解読の魔法をマルフォイに聞かれてしまっては、ハリーとハーマイオニーの会話は、全てスリザインに筒抜けとなるわけ。これでは、グリフィンドールの安全は守れないね。

そこで大活躍するのが、公開鍵暗号方式なのでごわす!

どういうカラクリかというと。。。

まず、ハリーとハーマイオニーがお互いに自分専用の秘密鍵と、相手に渡す用の公開鍵を作成し、各々の公開鍵を渡しあう。

で、ハリーがハーマイオニーに手紙を出すときは、ハーマイオニーにもらった公開鍵で手紙を暗号化する。

暗号化された手紙は、ハーマイオニーが自分で管理している秘密鍵で復号化できる。

なので、もしマルフォイに公開鍵を盗まれたとしても、秘密鍵はハリーとハーマイオニーしか持っていないため、二人の手紙を復号化する事はできない。グリフィンドールの計画がスリザインに漏れる事はないのだ。

これが、公開鍵暗号方式といわれるもの。

しかし、これにも欠点があって

頑張り屋のマルフォイが、自分の秘密鍵と公開鍵を作成。そして、ハリーに変装してハーマイオニーに自分の公開鍵を使うように渡したとする。

すると、どうだろうか。ハーマイオニーはハリーだと思い込んでいるため、マルフォイにもらった公開鍵で手紙を暗号化してしまう。当然中身は、マルフォイの秘密鍵で復号化できるため、再びグリフィンドールに危険がやってきてしまう。

そうならないように、ハーマイオニーは、その鍵が本当にハリーのものかどうかを確かめる必要がある。その役割をしているのがヘドウィグこと、認証局というやつだ。

この辺の詳しい説明は、「SSL通信 認証局編」を見てもらうとして

今回は、公開鍵暗号方式の紹介なので、ここまでとする。

で、次に説明するのが、共通鍵暗号方式だ。

これは、図を使うまでもない。その名の通り共通の鍵を使って暗号化と復号化をするもの

ハリーが自分用と全く同じ鍵をもう一つ作ってハーマイオニーに渡す。

ハリーはその鍵で手紙を暗号化し、ハーマイオニーはハリーにもらった同じ鍵で復号化するというもの。

公開鍵暗号方式の説明の後やから、わかると思うけど。。。

この鍵、ハーマイオニーに渡す時に盗まれたらどないするんって話やね。

秘密もクソもなくなってまうわけですな。

じゃあ、なんでこんな方式あるんや?ってなるんやけど、この共通鍵暗号方式は暗号化・復号化のスピードが速いんですよ。この辺は使用している暗号化アルゴリズムによるんやが、詳細はググっておくれ。笑

とりあえず、公開鍵暗号方式と比べて速いんやね。やからインターネットなんていうスピード重視の代物にはもってこいの暗号化技術になるっちゅうわけ。

でも、盗まれたら終わり。その通りやねん。

なので、SSL通信っちゅうもんは、公開鍵暗号方式と共通鍵暗号方式のハイブリッドでやってるんですわ。

最後にSSL通信の具体的な流れを紹介して終わろうとおもう。こんな感じ。

1:ユーザがWebサイトにアクセスすると、Webサイトは公開鍵(電子証明書)をユーザに渡してくれる。

2:ユーザは、この公開鍵(電子証明書)が本物かをまずチェックする(マルフォイのんかもしれんし)

3:本物やって分かったら共通鍵を2つ作って、それを受け取った公開鍵で暗号化してWebサイトに渡す。

4:Webサイトは、自身の秘密鍵で復号化して、共通鍵を手に入れる。

5:以降は、暗号化、復号化が速い共通鍵でやり取りを行う。

肝心の共通鍵を渡すプロセスでは、公開鍵暗号方式を使ってるから秘密鍵を持ってるWebサイトにしか、復号化ができひんので、他者に共通鍵が渡る事はないのだ。

ざっくりした説明なんで、イメージだけでもつかめたらなと思います。

ではでは。

コメント

タイトルとURLをコピーしました