2016-07-20 59 views
5

HS256とHS512の暗号化アルゴリズムには実用的な違いがありますか、またはすでに破られていない鍵と比較して長い鍵の冗長性による追加のセキュリティはありますか? JWTトークンを暗号化するためにどちらを使うべきですか?HMAC 256とHMAC 512 JWT署名の暗号化

auth0のjava JWTでHS512暗号化を使用することはできますか?

答えて

4

アルゴリズムは、トークンのヘッダーとペイロードでデジタル署名(暗号化ではない)を実行するために使用されます。あなたはJWEのestandardを適用する必要がトークンペイロードを暗号化する場合

HS256とHS512暗号化アルゴリズムの間に実用的な差がある(RFCを参照)、または長いキーから追加のセキュリティは、冗長比較にすでに壊れない鍵です? JWTトークンを暗号化するためにどちらを使うべきですか?

HS256はHMAC-SHA256を意味します。 HS512との違いは、ハッシュメソッドthemselveの強さです。 keylength.comウェブサイトとanswerをご覧ください。 SHA-256でもかなりのセキュリティマージンがあることがわかります。さらに、HMACアルゴリズムは、基礎となるハッシュアルゴリズムへの攻撃をほとんど気にしません。だからあなたもHMAC-SHA1を安全に使うことができます

auth0のJava JWTでHS512暗号化を使用することは可能ですか?

私はコードを見ていますが、それは可能です(ただし、文書化されていません)。類似のものを使用する

JWTSigner.Options options = new JWTSigner.Options(); 
options.setAlgorithm(Algorithm.HS512); 
jwtSigner.sign(claims, options);