保护加密数据的临时访问密钥

时间:2012-12-20 16:58:07

标签: security encryption

我正在构建一个安全的数据存储,可以在许多经过身份验证的用户之间共享安全信息,并允许未经身份验证的用户将数据检入安全数据存储,而不会将其公开或泄露其内容。

目前,数据使用1024位密钥加密,并具有关联的RSA(2048位)密钥对(私钥由1024位密钥加密)。这意味着如果人们想要检查数据,那么可以使用RSA密钥。

1024位密钥也使用特定于每个用户的用户秘密加密,完全私密,并在开始时随机生成(或在请求时重置)。这意味着用户可以在不公开密钥的情况下访问数据。

最后一位是存储用户密码。秘密本身使用另一个RSA(也使用2048位密钥)密钥对进行加密。公钥与用户关联,私钥使用其登录密码加密。

当涉及到实际登录时,会验证用户的用户名和密码,然后会向浏览器返回一个唯一的令牌,以便将其授权为特定用户。

在登录点,如果有效,密码将用于解密RSA私钥,以便恢复用户密码。

但是用户的密码一次只能供系统使用,所以我打算利用那个时刻来获取用户密码并将其存储在当前登录会话可用的地方,但是没有其他人。

虽然我可以将它存储在一个单独的数据库中,该数据库会加密它(比如使用Access Token),当用户注销时会丢失它,我担心的是,如果有人在有人登录时试图闯入系统在,他们可以恢复秘密,因此,其余的数据。

是否有人对可以保护用户机密的实现有任何想法或参考,除了会话以外的所有人都可以访问?

0 个答案:

没有答案