我有一个安全号码发生器设备,足够小,可以放在钥匙圈上,钥匙圈上有一个六位数字的LCD显示器和一个按钮。在在线表格上输入我的账户名称和密码后,我按下安全设备上的按钮并输入显示的安全代码编号。如何使用6位数字设计安全令牌认证协议?
我每次按下按钮时都会得到一个不同的号码,并且号码生成器在帐户设置过程中必须输入背面的序列号。
我想在我的网站中加入类似的功能。据我理解,这些是主要组件:
- 注册期间生成的唯一Ñ数字APLHA数字序列和分配给用户(永久地)
- 允许用户以生成N(或M +)远程数字序列号 现在,我不在乎硬件方面,我只想知道如何选择合适的算法,以允许用户生成一个N(或M?)长序列数字序列 - 据推测,使用他的唯一ID作为种子
- 从步骤2中产生的号码识别用户(哪种解密方法是最强大的?)
我有以下问题:
- 我有没有标识的所有在这样的认证系统要求?如果不是,请指出我错过了步骤和为什么它是重要的
- 是什么我可以用于步骤1到3(最好使用64位)的最健壮的加密/解密算法?
我不确定你会从随机数中识别用户。你必须给予用户一个独特的随机生成器,你知道它会产生什么,因此不是随机的。或者通过类似蓝牙的方式连接这个钥匙环设备?只是使用用户名和p-word通常对于大多数情况来说已经足够了。就存储一个随机数而言,这不是一个问题,如果您只将数据保存在服务器上,那只是在服务器上(不要被黑客入侵)。一些如何,钥匙环必须是可预测的,否则它只是噪音。 – thecoshman 2010-03-29 12:18:50
看看RFC 2289的更多想法:http://www.faqs.org/rfcs/rfc2289.html – 2010-03-29 22:23:38
GregS:谢谢,我把你的评论投给了 – 2010-04-04 12:09:31