web-dev-qa-db-ja.com

特許のない対称のみの鍵交換プロトコル?

私は、AES-128を使用し、公開鍵暗号化(1KB RAM、8KBフラッシュ)を使用しないネットワーク化された組み込みデバイスを使用しています。インストール時に、デバイスにはサーバーにも既知の長期AES-128キーがプリロードされます。

既存の対称キーを使用して認証されたセッションキーを安全に配布するための特許のないプロトコルは何ですか? (信頼できるサードパーティなし)

Janson-Tsudik 2PKDPは理想的に見えますが、 特許を取得しているように見えます です。

6
Joby Taffey

鍵交換プロトコルは2つの主要なカテゴリに分類されます。 サーバーベースのキーの確立 および サーバーレスのキーの確立 (私はその本を購入すると思います。)これらの2つのカテゴリには、対称暗号または非対称暗号、あるいはその両方を使用するプロトコルがあります。 Security Protocol Open Repository(SPORE) に記載されている鍵交換プロトコルの数は非常に多く、非常に優れたリソースです。

サーバーベースのキーの確立に適した選択肢は Needham-Schroeder Symmetric Protocol で、これは完全にAESで実行でき、Kerberosで使用されます。

サーバーなしのキーの確立については、 Lowe変更BANコンクリートAndrew Secure RPC を確認する必要があります。それは古いですが、このプロトコルが侵害されたとは思いません。

できる限りSSL/TLSを使用する必要がありますが、1kbを超えるメモリが必要になります。

5
rook

Diffie Hellman鍵交換。特許は失効し、無料で使用できます。

1
Babu Srinivasan

単純なプロトコル:サーバーはN(128ビット)、ナンスを1回だけ使用します。次に、E_K(N)、E_K(N + 1)をクライアントに送信します(サーバーが知っているデバイスキーKを使用)。クライアントデバイスはそれらを復号化し、それらが1(mod 2 ^ 128)異なることを確認し、H(N)(出力128ビットのハッシュ、たとえばMD5))を計算し、E_K(H( N))およびE_K(H(N)+1)。サーバーはそれらを復号化し、差分チェックを実行してから、クライアントとサービスを使用し、H(H(N))を共通鍵として使用しますこのセッションでは、2方向のプロトコルが必要だと思いますが、これはより多くのパーティに適応させることもできます。

1
Henno Brandsma