セッションキー
セッション鍵とは、1つの通信セッション内のすべてのメッセージを暗号化するために使用される単一用途の対称鍵のことである。これに密接に関連する用語として、トラフィック暗号化キーまたはTEKがあり、これはトラフィックメッセージの暗号化に使用される対称鍵を指します。一般的に TEK は頻繁に変更され、システムによっては毎日変更されることもあれば、メッセージごとに変更されることもあります。
セッション鍵は暗号システムに複雑さをもたらします。しかし、セッション鍵はいくつかの実際の問題を解決するのにも役立ち、それがセッション鍵が使われる理由でもある。セッション鍵を使用する主な理由は2つある。
- 第一に、特定の鍵で暗号化された暗号文がより多く利用できるようになればなるほど、いくつかの暗号解析攻撃が容易になります。単一の鍵で暗号化されたメッセージの数を制限することで、これらの攻撃はより困難になります。
- 第二に、そうでなければ優れた暗号化アルゴリズムの多くは、暗号化を使用する前に鍵を安全に配布する必要があります。すべての対称秘密鍵アルゴリズムは、この望ましくない性質を持っています。秘密鍵の安全な配布を必要としないアルゴリズムは他にもありますが、長いメッセージを暗号化するには時間がかかりすぎて実用的ではありません(公開鍵暗号法を参照してください)。これらの「非対称」アルゴリズムの一つを使って、暗号化された秘密鍵を別のより高速な対称鍵アルゴリズムに分配することで、全体的な性能を大幅に向上させることができます。
他の暗号鍵と同様に、セッション鍵も攻撃者が予測できないように選択しなければならない。通常の場合、これはランダムに選ばれなければならないことを意味する。セッション鍵(または任意の鍵)を適切に選択できないことは、どのような暗号システムにおいても大きな欠点である。
質問と回答
Q:セッションキーとは何ですか?
A:セッションキーとは、1つの通信セッションですべてのメッセージを暗号化するために使用される1回限りの対称鍵です。
Q: セッションキーとトラフィック暗号化キー(TEK)の違いは何ですか?
A: TEKはトラフィックメッセージを暗号化するために使用される対称鍵のことで、セッションキーは特に1つの通信セッションのすべてのメッセージを暗号化するために使用されます。
Q:セッションキーはなぜ使われるのか?
A:セッションキーは、暗号化された秘密鍵を安全に配布することで、暗号解読攻撃を困難にし、より高速な暗号化アルゴリズムを使用できるようにするなど、実際の問題に役立つため使用されます。
Q:セッションキーはどのように選ぶべきですか?
A: セッションキーは、攻撃者が予測できないように、ランダムに選択する必要があります。
Q: 間違った種類のセッションキーを選択した場合はどうなりますか?
A:セッションキーの種類を間違えると、暗号システムの大きな欠点になります。
Q: TEKは通常どれくらいの頻度で変更されるのか?
A: TEKは通常頻繁に変化する。あるシステムでは毎日、あるシステムではメッセージごとに変化する。
Q: 共通鍵アルゴリズムの性能を向上させるために、他のどのようなアルゴリズムを使用できますか?A: 公開鍵暗号を使用して、暗号化された秘密鍵を配布することで、より高速な別の共通鍵アルゴリズムの性能を大幅に向上させることができます。