No.1ベストアンサー
- 回答日時:
「一意」というのはどういうことを指していますか?
'password' が一定ならば、常に同じHMAC値になる(計算するたびに違う値になったりしない)ことが保証されるのか? ということなら、それはYESです。PythonのhmacはRFC2104のアルゴリズムでHMACを計算するので、使用ハッシュ関数がsha1/sha256/sha512 のような「一意」のものなら、それが保証されます。
'password' が違えば常に違うHMAC値になるかと言えば、それは保証されません。ごく低い確率で同じHMAC値となる可能性はあります。しかし、少なくとも、攻撃者が意図的にそのような値を出力させることは非常に困難です。HMACやSHA256はそれに対抗するためのものなので。
* * *
なお、HMACはもともと鍵付きでメッセージ認証をするためのもので、必ずしもパスワードを不可逆な状態にして保存するために意図して設計されてるわけではないことに注意してください。もちろん、何も暗号化しないよりははるかに安全ですが、運用がまずいと思わぬ脆弱性が生まれる可能性があります。たとえば、使用するkeyが全ユーザで共通なら、同じパスワードのユーザでは同じHMACが生成されてしまいますので、ユーザ数が大きく同じパスワードを設定しているユーザが存在する確率が高い環境では、HMAC化されたパスワード一覧が漏洩すると問題があります。これに対抗するためには、ユーザ毎に違うkeyにする必要があります。
パスワード認証のために、パスワードを不可逆な状態で保存することが応用の一つとして明確に宣言していている関数は、PBKDF2 (RFC2898) です。やってることはHMACに近いですしユーザ毎にkey相当(PBKDF2では saltと呼んでます)を違うようにしなければならないという点は同じですが、それが明記されていますし、細かい点で違います。
参考URL:http://tools.ietf.org/html/rfc2898
No.2
- 回答日時:
#1 の回答者さんが大変素晴らしい解説をされています。
質問者のhymsさんは、きちんとお礼を言いましょう。
そして、新しく質問を投稿する時は、前の質問をクローズしてからにしましょう。それがマナーというものです。
↓
http://oshiete.goo.ne.jp/qa/6584298.html
http://oshiete.goo.ne.jp/qa/6569741.html
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- その他(プログラミング・Web制作) Windowsのマクロプログラムで、こんなことできますか? 3 2022/06/28 14:30
- ハッキング・フィッシング詐欺 googleに保存されたパスワードが間違っている、、、 1 2022/06/22 20:50
- その他(セキュリティ) アカウントの乗っ取りで質問です。長いです。 先月ツイッターの乗っ取りにあい、アカウントを全て新しくし 2 2022/03/25 20:47
- その他(セキュリティ) パスワードの漏洩の通知について 3 2022/09/03 21:55
- その他(セキュリティ) Facebookアカウントを乗っ取られ、ログインも出来ずパスワードの再設定もできずに困っている 2 2023/02/17 14:24
- その他(プログラミング・Web制作) pythonのプログラムを実行したデバイスにデータを保存する方法 5 2022/08/19 12:09
- フリーソフト 色々な形式の個人情報を後で参照しやすいようWindow10で管理したいのですが、どんな方法があるの? 1 2023/04/29 16:46
- その他(スマホアプリ・スマホゲーム) Edgeというブランドのアプリでパスワードは保存されますか? 4 2023/04/16 05:01
- その他(プログラミング・Web制作) pythonでDepixを起動 5 2022/12/18 08:04
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
メールをパスワードつきで送る方法
-
Excelのセルにユーザー名...
-
YouTubeが毎回ログインしないと...
-
大学定期試験過去問サイト「過...
-
メールを返信したら、英語のメ...
-
LINE TCBというところからLINE...
-
メールのマナー編
-
インスタの捨て垢で友達のスト...
-
メールアドレスで上付きのハイフン
-
エクセルで複数ファイルに同一...
-
「@」(アットマーク)の無いメ...
-
メールアドレス 上バーの入力...
-
CSVファイルを添付するときにパ...
-
URLとメールアドレス
-
メールエラー
-
メールアドレスから個人を特定...
-
高一男子です 僕が絶対に悪いん...
-
Outlookで、メールを他...
-
インスタグラムでブロックされ...
-
ワードに入力したメールアドレ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelのセルにユーザー名...
-
メールをパスワードつきで送る方法
-
LINE TCBというところからLINE...
-
メールアドレス 上バーの入力...
-
大学定期試験過去問サイト「過...
-
メールエラー
-
メールのマナー編
-
メールアドレスで上付きのハイフン
-
インスタの捨て垢で友達のスト...
-
インスタのアイコンについてるN...
-
メールを返信したら、英語のメ...
-
steam版 apexのログアウト方法...
-
ビーリアルのユーザー名を変え...
-
メールアドレスから個人を特定...
-
携帯電話を解約してもSMSの受信...
-
「@」(アットマーク)の無いメ...
-
YouTubeが毎回ログインしないと...
-
解約済みの iPadについて 解約...
-
カカオで退会せずに、アプリだ...
-
CSVファイルを添付するときにパ...
おすすめ情報