Facebookアプリのシークレットは32文字(0〜9、af)の文字列であるため、128ビットのバイト配列を表します。Facebookはこれをキーとして使用し、HMAC-SHA256を使用して署名付きリクエストを生成します。これは正しい使用法ですか?HMAC-SHA256は256ビットのキーを使うべきだと思いました。
15398 次
2 に答える
9
HMACはHASH(key)を受け取り、キーの長さがハッシュの内部ブロックサイズより大きい場合、それをキーとして使用します。したがって、ハッシュの内部ブロックサイズよりも大きいキーは、同じサイズのキーよりも優れたセキュリティを提供しません。短いキーは、HMAC仕様に従って、ハッシュの内部ブロックサイズと等しくなるようにゼロが埋め込まれます。
HMAC-SHA-256で128ビットキーを使用することはできません。128ビットをゼロで512ビットにパディングすることを意味する場合は、短期認証にはおそらく問題ありません。少なくとも256ビットをお勧めします。理想的には、基になるハッシュの内部ブロックサイズに等しいものを使用することをお勧めします。
于 2012-08-31T01:04:51.107 に答える