25

今日、私はのんびりと読んでいて、離散対数暗号を使用したペアワイズキー確立スキームの推奨事項(改訂版)(NIST Special Publication 800-56A)のセクション5.8(45ページ)に出くわしました。私はこれに非常に混乱しました:

承認された鍵導出関数(KDF)を使用して、共有秘密から秘密鍵の材料を導出する必要があります。KDFからの出力は、データの暗号化またはメッセージの整合性に使用される対称鍵、秘密の初期化ベクトル、または他の鍵の生成に使用されるマスター鍵(おそらく別のプロセスを使用)などの秘密鍵の素材にのみ使用されます。 )。非シークレットキーイングマテリアル(非シークレット初期化ベクトルなど)は、共有シークレットを使用して生成してはなりません。

今はアラン・チューリングではありませんが、初期化ベクトルを秘密にする必要はないと思いました。どのような状況で「秘密の初期化ベクトル」が必要になるでしょうか。 Thomas Porninは、IVは公開されており、暗号化に精通しているようだと述べています。同様にcafで。

4

4 に答える 4

30

初期化ベクトルは秘密である必要はありません(キーではありません)が、公開である必要はありません(送信者と受信者はそれを知っている必要がありますが、英国女王もそれを知っている必要はありません)。

典型的な鍵確立プロトコルは、両方の当事者が、彼らが知っているデータの一部を計算することを含みますが、彼らだけが知っています。Diffie-Hellman(またはその楕円曲線の変形)では、前述の共有データは固定長であり、その値を制御できません(どちらも同じように見えるランダムなビットシーケンスを取得します)。その共有秘密を対称暗号化に使用するには、使用しようとしている対称暗号化アルゴリズムに適した長さのビットシーケンスにその共有データを導出する必要があります。

キー確立アルゴリズムを使用して送信者と受信者の間で共有シークレットを取得し、そのシークレットを使用してメッセージ(場合によっては非常に長いストリーミングメッセージ)を対称的に暗号化するプロトコルでは、KDFを使用してキーIVを一度に作成します。これがその方法です。たとえば、SSL:共有シークレット(SSL仕様では「プレマスターシークレット」と呼ばれます)から、派生したシークレットデータの大きなブロックが計算され、対称キーと初期化ベクトルに分割されます。暗号化の両方向。それ以外の方法で行うこともできます。たとえば、KDFを介して取得したIVを使用する代わりに、ランダムなIVを生成し、暗号化されたデータと一緒に送信します(これが最近のバージョンのTLS、SSLの後継)。どちらの戦略も同等に有効です(TLSは、「レコード」ごとに新しいランダムIV(TLS接続内のデータのパケット)が必要なため、外部ランダムIVを使用します。そのため、KDFの使用は適切でないと見なされました)。

于 2011-04-26T22:27:57.597 に答える
1

2つのパーティが同じ暗号化機能を持っているが、同じIVを持っていない場合、同じ結果が得られないことを考慮してください。したがって、2つのパーティが同じ共有シークレットを取得し、それぞれが決定論的にIV(同じになる)を生成して通信できるようにするという提案があるようです。それが私がそれを読んだ方法です。しかし、私は実際にその文書を読んだことがなく、私の説明が正確であるかどうか完全にはわかりません。しかし、それは私が調査を始める方法です。

于 2011-04-26T22:25:53.983 に答える
0

CTRモード暗号化のカウンターの開始値は、IVと考えることができます。秘密にしておくと、使用している暗号の鍵長によって付与されるセキュリティよりも、ある程度のセキュリティが追加されることになります。どれだけ余分に言うのは難しいですが、それを知らないと、特定のメッセージを復号化する方法を理解するために必要な作業が増えます。

于 2011-04-26T22:11:52.277 に答える
0

IVはパブリックまたはプライベートですが、IVが攻撃者に知られていると考えてみましょう。暗号化されたパケット/データを見て、IVの知識があり、暗号化キーの知識がない場合、攻撃者は入力データについて推測できますか?(しばらく考えてください)

少し後ろに戻りましょう。暗号化で使用されるIVがないとします。AES(input、K)=E1同じ入力は常に同じ暗号化テキストを生成します。攻撃者は、暗号化されたテキストと入力データに関する事前の知識(つまり、いくつかのプロトコルの最初の交換)を調べることで、キー「K」を推測できます。

それで、これがIVが役立つものです。入力値が追加されると、同じ入力データでも暗号化されたテキストが変更されます。つまり、AES(input、IV、K)= E1したがって、攻撃者は暗号化されたパケットが異なり(同じ入力データであっても)、簡単に推測できないことを認識します。(IVの知識さえ持っている)

于 2021-04-09T06:42:56.717 に答える