「SSLについて 02」では、SSLについて概要をお話しました。
SSLは、暗号化をするとき、鍵を使いますが、それぞれの鍵の特徴を活かして、安全に速く送受信をしています。
「SSLについて 01」で、暗号化と暗号鍵について書きましたが、共通鍵・公開鍵・秘密鍵、それぞれの暗号鍵の特長を整理してみます。
|
共通鍵は、暗号化する前に、鍵を安全に相手に渡さなければなりません。共通鍵を暗号化するための鍵が必要になります。
公開鍵も、暗号化する前に、鍵を相手に渡さなければなりません。
しかし、公開鍵は誰にでも公開できるので、暗号化しなくても受け渡しができます。
秘密鍵は、暗号化する前に、鍵を相手に渡す必要はありません。
厳重に保管し、届いた暗号化の情報を復号化して読むのに利用します。
ホームページやネットショップでSSLは、安全でスムーズに情報の送受信ができるよう、共通鍵暗号化方式と公開鍵暗号化方式の両方を利用します。
サーバと利用者のパソコンのブラウザとの暗号鍵のやり取り手順は次の通りです。
下のイラストは、共通鍵を安全に相手に渡すためのしくみです。
鍵が第3者に読まれてしまっては、暗号化した情報は鍵がかかってないのと同じです。そのため、下のイラストで説明する【1】〜【4】の手順で、まずは、共通鍵を暗号化して送る必要があります。
共通鍵が安全に受け渡しが完了したら、その共通鍵で、買い物の精算など 本題の情報を送受信をします。
ホームページやショップで情報の送受信が完了したら、その共通鍵は、削除されます。
暗号方式で使用される鍵は、鍵のデータ量が多いほど、解読が困難で、安全性が高いといえます。
この鍵のデータ量のことを鍵長といいます。鍵長は、1024bit、2048bitなどで表します。
鍵長が長ければ、第3者に簡単に解読できなくなりますが、鍵長が長いということは、暗号化や復号化をする際も、計算手順が増えて時間がかかるため、送受信は遅くなります。
共通鍵は、1つの鍵で暗号化と復号化をする為、計算手順が1つの鍵分で済みます。一方、公開鍵と秘密鍵は、暗号化と復号化でそれぞれの鍵を必要とするため、2つの鍵分の計算手順がかかるため、送受信に時間がかかります。