これまで、共通鍵暗号方式と公開鍵暗号方式の原理や特徴について紹介してきました。
暗号技術についての連続投稿の最後は、セッション鍵方式についてです。
セッション鍵方式は共通鍵暗号方式と公開鍵暗号方式を組み合わせた技術で、ハイブリッド暗号方式とも呼ばれます。
今回は、セッション鍵方式の原理とその特徴についてまとめていきたいと思います。
原理
セッション鍵方式の基本は公開鍵暗号方式ですが、本文の暗号化と復号化に一時的な共通鍵であるセッション鍵を用います。
セッション鍵方式の処理の流れは、以下の通りです。
- 送信者が一時的な共通鍵(セッション鍵)を生成し、データを暗号化する
- 受信者の公開鍵でセッション鍵を暗号化する
- 受信者はセッション鍵を受信者の秘密鍵で復号化する
- セッション鍵でデータを復号化する
- 通信終了後、送信者と受信者の双方でセッション鍵を破棄する
特徴
公開鍵暗号方式と共通鍵暗号方式のいいとこどり
共通鍵暗号方式では処理が高速に行われますが、鍵の配送問題など安全面で課題がありました。
一方で公開鍵暗号方式は安全に通信できますが、処理に時間を要してしまいます。
セッション鍵方式は、公開鍵暗号方式の安全性と共通鍵暗号方式の処理の速さを組み合わせた方式です。
ここで疑問が浮かんだ方もいるのではないでしょうか。
「いや、公開鍵暗号方式使っているなら結局処理時間長くなっちゃうんじゃないの」、、と
公開鍵暗号方式ほど処理時間がかからない理由
実際は、公開鍵暗号方式程処理時間はかかりません。その理由は、暗号化を行う対象にあります。
公開鍵暗号方式では、公開鍵を使って本文(データそのもの)を暗号化します。本文と言えばファイルそのものなので、数十~数百バイト、場合によっては1000バイトを超える場合もあると思います。
一方ハイブリッド暗号方式では公開鍵で共通鍵を暗号化します。共通鍵自体は56~256ビット程度なので、本文と比較するとかなり小さいサイズであることがわかります。
公開鍵で本文を暗号化する公開鍵暗号方式と共通鍵を暗号化するセッション鍵方式のどちらが高速かということは一目瞭然です。
セッション鍵方式では、サイズの大きい本文を共通鍵で暗号化することで、高速化を図っています。
まとめ
セッション鍵方式の原理と特徴を紹介してきました。
共通鍵暗号方式と公開鍵暗号方式それぞれのメリットを享受したうまいやりかたということを理解してもらえたでしょうか。
これまでに、共通鍵暗号方式と公開鍵暗号方式についても紹介してきました。今回のセッション鍵方式を含め、これでセキュリティの基本である暗号技術の基礎は押さえられたのではないでしょうか。
安全な通信は情報通信で必須です。原理をなんとなくでも知っておいて、安全にネット社会を生き抜いていきましょう。
ではでは👋