2011-03-29 218 views
0

我正在研究一个有红色按钮的应用程序。这意味着每个客户帐户都有两个自动生成的(秘密)密钥。当某人在特殊(公共)页面上输入这些密钥时,将会启动某个过程。这个过程并不重要,但是安全地检索密钥

这一切都照顾好了,密钥是在用户帐户创建时自动生成的,存储在数据库中加密后一次显示给用户,因此他可以按照他认为合适的方式分配密钥。如果他愿意,他当然可以重置钥匙。

事情是,有些客户一直忘记钥匙。我们的解决方案是重置密钥并重新分配新密钥,但对于某些客户来说这是不实际的。我想提供检索密钥而不重置它们的选项。

我的想法是能够使用用户的密码解密密钥,这意味着已登录的用户将不得不再次输入密码,密码用于加密密钥,现在用于解密密码。我只是不确定技术上的工作方式(我是否可以使用加密/解密算法?),以及在使用这种技术之前是否有任何我应该考虑的问题。

有没有人有任何想法呢?也许甚至有更好的建议?

+0

这是超级过度锻造。只要您使用SSL,简单的密码验证和传统的通过电子邮件重设密码就足够了。如果您没有使用SSL,那么您使用多少个密钥或生成安全性无关紧要...... – meagar 2011-03-29 16:31:15

+0

您可以将密钥视为用户名/密码组合,但这不是重点所有。重点是我们需要能够以某种方式检索这两个密钥。通过电子邮件进行密钥重置与SSL结合是我们现在使用的方式,它不够用。 – 2011-03-30 11:29:20

回答

1

你想检出密码,如AES

我想知道如何使用Ruby和AES加密和解密this gisthub example

+0

我会检查出来。谢谢。它确实提出了我们如何处理密码更改和重置的问题。我应该更多地考虑这一点。任何想法都欢迎。 – 2011-03-30 11:33:11