在aws dynamoDB中保存密码的最佳方法

时间:2018-01-24 10:39:36

标签: android amazon-web-services amazon-dynamodb password-encryption

我正在使用amazon dynamodb服务开发android应用程序。

由于我必须保存用户的基本信息和密码,所以请告诉我在dynamodb中保存密码的最佳方法是什么?

2 个答案:

答案 0 :(得分:1)

不建议在DyanmoDB中以纯文本形式保留敏感信息而不加密。您可以使用AWS KMS加密密码,并将加密的文本存储在DynamoDB中。

作为替代选项,您可以查看是否可以将AWS Cognito Userpool用于用户身份存储(不确定这是否适用于您的用例)。

答案 1 :(得分:1)

不保存密码。不要保存密码的加密版本。保存密码的SHA-256或SHA-512版本。当用户登录时,将尝试输入的密码转换为相同的SHA-256或SHA-512值,然后使用该值检查数据库中的内容。

为什么不加密密码?如果有人控制了您的数据库并强行使用了您的加密方案,那么他们现在将拥有您的所有密码。根据部分数据(例如用户ID)为您的密码添加盐,这很有帮助,但是确定的用户也可以解决这一问题。

如果您对数据泄露确实有些偏执,或者有人强行强制使用哈希,那么还有更困难的哈希,例如scrypt等。

如果用户忘记了密码,请使用其电子邮件地址和/或电话号码,并向其发送重置链接,该链接将在15分钟内失效,或者失效。

请记住,所有内容均使用https,永远不要通过http传输密码的哈希值。