共通鍵暗号方式
インターネット経由でデータを送る際、悪意ある第三者にデータを盗み見される恐れがある為、データを暗号化して送る必要がある。
- 送信者は、鍵を使ってデータを暗号化する。そしてこの暗号文をデータ受信者に送信。
- 受信者は受け取った暗号文を、暗号化の際に使用したものと同じ鍵を使って復号する。こうして受信者は元のデータを取得する。
このように、暗号化する時と復号する時に同じ鍵を使用する方式が共通鍵暗号方式(対称暗号)である。通信する二者間で同じ鍵を共有することで秘密通信を実現する。
暗号化において、暗号データを解読されないようにする為には復号鍵を秘密にする必要がある。暗号化と復号化に同じ鍵を使用する共通鍵暗号方式では、「復号鍵を秘密にする」ことは「暗号鍵を秘密にする」ことに繋がる。
共通鍵暗号方式の用途
共通鍵暗号方式の用途は「データの保護」。「データの保護」とは、セキュリティ的な観点からすると、
- 情報の秘匿・・・データを、共有すべき者以外には、データが見えないようにする。
- 情報の完全性保証・・・データを勝手に書き換えられないようにする。
共通鍵暗号方式は、公開鍵暗号方式に比べ、暗号化と復号化の処理が単純なことから、処理速度が速いという長所がある。
共通鍵暗号方式で浮き出る問題点
メッセージ送信者は、暗号化に鍵を使用する為、何らかの方法で受信者に鍵を渡す必要がある。暗号文を渡す時と同様、インターネット経由で鍵を送信すれば、データ受信者は受け取った鍵で暗号文を元のデータに戻すことができる。
この時に浮き出る問題が、送信した鍵を悪意ある第三者が盗聴すれば、悪意ある第三者も暗号文を元に戻すことができてしまうこと。
例え鍵を暗号化しても、その暗号文の鍵をどう安全に渡すのか、問題が繰り返されるだけ。
共通鍵暗号方式では、鍵を安全に伝える方法が必要となる。これが鍵配送問題と呼ばれる問題である。鍵配送問題の解決法として、「公開鍵暗号方式(非対称暗号)を使う方法」と「鍵交換プロトコルを使う方法」がある。