在Spring Security中使用加密密码,在登录时将sha256ed密码添加到UserDetailsImpl

问题描述 投票:0回答:1

What I'm trying to do

我正在开发一个Password Manager应用程序,我正在尝试找到一种安全方便地实现条目加密的方法。我有以下想法:

在我的数据库中,将有一个表来存储用户,包括用BCrypt对其进行哈希处理的密码。我不想将该哈希用作加密的密钥,因为如果数据库被破坏,攻击者将能够以纯文本方式轻松检索条目。

My idea

我的想法是使用用户密码的SHA-256作为加密密钥。流程应如下:

  1. 用户使用明文密码登录。
  2. 他的BCrypted密码存储在UserDetailsImpl中。
  3. 在Spring确保密码与登录匹配后,我想将用SHA-256散列的明文密码添加到登录用户的详细信息中。

原因是我想使用其他哈希作为加密密钥。

Problem

这是我的两个问题:

  1. 是否有可能在春季(第3点)做到这一点?
  2. 这种方法是安全的还是至少不是反模式(使用另一个哈希,而不是在不需要时将用户的密码存储在内存中)?
java security spring-boot encryption spring-security
1个回答
0
投票

有一个问题我不知道完美的解决方案。如果用户忘记了他的密钥,他将如何检索他们的数据?可以像在CryptDB中那样使用Master Key,但这次它可能被盗。

一种解决方案可能是给每个用户提供像ubikey或类似的令牌。丢失密钥会导致同样的问题,但丢失更不切实际!

可能是,最后一个人要相信某人!

这里有link到你的编码。

© www.soinside.com 2019 - 2024. All rights reserved.