需求
在公共网页上显示半安全的数据(不是在围墙后面),但为数据提供了一些安全的外观。该系统的用户将在邮件中收到一张纸,其中包含一个5-8位的支票号码和一个10位的字母数字验证代码。
提案
首先,强制性声明,我知道,如果没有某种形式的正式认证,数据永远不会是100%安全的。
我提议让用户输入3条信息,一个数字5-8位数字,一个EIN数字,我相信是8-10位数字,然后是一个验证代码,我们建议它是10位字母数字。
我们会在页面上设置一个服务器端控件,以防止在XX分钟的时间内从单个IP地址重复提交,或者强制执行captcha,我还没有决定。
我有两个问题..。
发布于 2015-12-07 13:02:34
一个10位的字母数字代码给出了52位的熵(可能的字符是26个字母+ 10位数字,假设是单个大小写),假设它是由CSPRNG生成的:
log2(36^10) = 52
作为一个粗略的指南,59位攻击者将花费457.50小时的时间 (刚刚超过19天)。然而,让这16个字符,您将有80位NIST推荐的强密码(109,527.95年来破解)。注意,这些时间是最大的,因为平均只需除以2。
使用非绑定机制(如邮件)发送密码是一种很好的安全措施。确保密码使用单向bcrypt散列安全存储在您的系统上。
https://stackoverflow.com/questions/34097728
复制相似问题