teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

追記

2021/04/18 08:26

投稿

makkuro
makkuro

スコア57

title CHANGED
File without changes
body CHANGED
@@ -8,4 +8,8 @@
8
8
 
9
9
  実現したい安全性は、万が一、データベース上から電話番号のハッシュがソルトと一緒に流出した場合に、現実的な時間で、特定のユーザの電話番号を解読されないというものです。
10
10
 
11
- 私は暗号について詳しくないので、間違っているところがあればご指摘お願いいたします。
11
+ 私は暗号について詳しくないので、間違っているところがあればご指摘お願いいたします。
12
+
13
+ [追記]
14
+ HMACを使用した方が良いと思ったのは、以下の記事を読んだからです。
15
+ > [ハッシュ化された電話番号を解読するのは簡単ですか?](https://knews.vip/postcrawl/stack/view?site=cp&key=13079434&alias=hasshuka-sareta-denwa-bango-o-kaidokusuru-no-wa-kantan-desu-ka)

2

現実的な時間についての補足を追加

2021/04/18 08:26

投稿

makkuro
makkuro

スコア57

title CHANGED
File without changes
body CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  **しかし、電話番号の場合、基本的には11桁の数値の固定長なので、bcryptでは十分ではなく、`hash_hmac()`関数でHMAC-SHA256を使用した方が良いのでしょうか?**
6
6
 
7
- HMACでは、秘密鍵が漏れない限り、ハッシュ化された文字列からの復号は現実的な時間で不可能だという認識でいます。
7
+ HMACでは、秘密鍵が漏れない限り、ハッシュ化された文字列からの復号は現実的な時間(電話番号一つあたりの解析時間が10年以上)で不可能だという認識でいます。
8
8
 
9
9
  実現したい安全性は、万が一、データベース上から電話番号のハッシュがソルトと一緒に流出した場合に、現実的な時間で、特定のユーザの電話番号を解読されないというものです。
10
10
 

1

HMAC→HMAC-SHA256

2021/04/18 08:17

投稿

makkuro
makkuro

スコア57

title CHANGED
File without changes
body CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  通常、パスワードをデータベースにハッシュ化して保存する場合、PHPの`password_hash()`関数で、個別にランダムなソルトを追加し、bcryptをコスト10以上で使用すれば、問題ないという認識でいます。
4
4
 
5
- **しかし、電話番号の場合、基本的には11桁の数値の固定長なので、bcryptでは十分ではなく、`hash_hmac()`関数でHMACを使用した方が良いのでしょうか?**
5
+ **しかし、電話番号の場合、基本的には11桁の数値の固定長なので、bcryptでは十分ではなく、`hash_hmac()`関数でHMAC-SHA256を使用した方が良いのでしょうか?**
6
6
 
7
7
  HMACでは、秘密鍵が漏れない限り、ハッシュ化された文字列からの復号は現実的な時間で不可能だという認識でいます。
8
8