1

アプリのパスワード文字列からキーを取得するために PBKDF2 を使用していますが、それについていくつか質問があります。

1 つ目は、HMAC-SHA256 のようなハッシュを使用してオンラインで多くの PBKDF2 を見たことです。HMAC だけでなく、HMAC-SHA256 を使用するとはどういう意味ですか? HMAC はキーでデータを暗号化すると思いました。

次に、PBKDF2 関数が (1000 回ではなく) 1 回の反復しか使用しないため、BlackBerry の脆弱性があることを読みました。1回の繰り返しは、パスワードをハッシュするだけと同じですか(SHA256など)。

ありがとう

4

2 に答える 2

6

はい、1 回の繰り返しは、基になる hmac 関数を呼び出すのとほぼ同じです。これを行うと、関数の計算がはるかに簡単になり、パスワードの選択をブルートフォースするのがはるかに簡単になります。反復回数が増えると、プロセスにかかる時間が長くなります。

PBKDF2 は HMAC を使用します。ただし、HMAC は任意のハッシュ関数を使用するアルゴリズムです。md5、sha1、sha2、またはその他のものをプラグインできます。

HMAC

于 2012-03-03T19:43:35.490 に答える
2

HMAC は内部的にハッシュ関数を使用します。データは暗号化されません。秘密鍵を使用して検証可能な「署名」(メッセージ認証コード)を作成するだけです。HMAC-SHA256 は、SHA256 ハッシュ関数を使用した HMAC を意味します。HMAC-SHA1、HMAC-MD5、または HMAC-WhateverHash を使用することもできます。

はい、1 回の繰り返しで、PBKDF2-HMAC-SHA256 は SHA256 でパスワードをハッシュするのとよく似ています。まだソルトがあり、ハッシュ関数が 2 回呼び出されますが (HMAC に関するリファレンスを参照)、多くのパスワードをチェックする方がはるかに高速です。

于 2012-02-29T01:51:58.800 に答える