Hmac
我可以使用 PBKDF2 代替 hmac 作為敏感數據的散列工具嗎
我已經閱讀過
hmac
和PBKDF2
。
PBKDF2
- 主要用於密碼散列。它使用 hmac 並進行迭代。我想散列一些敏感數據並發送請求的響應。
稍後,散列的敏感數據將與一些表單數據一起發回。
因此,在我的情況下,使用 PBKDF2 作為散列工具是否安全 - 使用類似於 hmac 的 SECRET_KEY 散列 (timestamp+sensitive_info+extra_info) 之類的任何內容
因此,在我的情況下,使用 PBKDF2 作為散列工具是否安全 - 使用類似於 hmac 的 SECRET_KEY 散列 (timestamp+sensitive_info+extra_info) 之類的任何內容?
使用基於密碼的密鑰派生函式或密碼雜湊的原因是因為密碼通常被認為不夠安全。這種 PBKDF 的迭代或工作因素使攻擊者更難使用字典攻擊等來檢索密碼值和任何派生密鑰。
但是,如果您已經擁有安全密鑰,則無需執行 PBKDF2。它根本不依賴於受保護數據的敏感性。因此,如果您有一個密鑰並且只需要完整性和真實性,那麼您可以只使用普通的 MAC - 例如 HMAC。如果您還需要保密,那麼經過身份驗證的密碼(例如 GCM)更有意義。
請注意,HMAC 沒有鹽;您可能需要一個隨機數或 IV 值來確保您的消息/密文安全(但這取決於您的特定案例的威脅模型)。如果您使用時間戳,那麼這可能是提供消息唯一性的一部分(儘管由於精度和重置問題,時間資訊總是有點危險)。