【发布时间】:2011-01-25 10:41:19
【问题描述】:
我目前正在开发一个系统,该系统具有一个功能,客户可以通过提供 PIN“号码”来查看他们的购买/续订/等详细信息。
由于我们所针对的客户类型,使用的是 PIN 码而不是登录信息。 PIN 印在发送给他们的文件上。
他们提供 PIN 时显示的视图不会显示高度敏感的信息,例如信用卡等,而是不太敏感的信息,例如产品名称、类型、价格、条形码、维修等。
问题在于 PIN。我选择使用随机的 5 个字符 PIN(0-9,a-z A-Z) - 区分大小写。 我将删除一些homoglyphs ('I','1','l','0','O','rn','vv'),因此实际组合的数量实际上更低。
对此我有几个问题:
- 这种做法可以接受吗?
- 我是否应该编写一个锁定机制来“禁止”来自具有大量失败尝试的 IP 的流量?*
- 我应该编写一个错误检查系统(类似于 Luhn 的信用卡号码算法)吗?
- *我应该使用验证码系统吗?
【问题讨论】:
-
嗯,这取决于。你的威胁模型是什么?您在保护 Timmy 的 MsPaint 涂鸦或银行账户吗?您预计有多少用户?
-
@Piskvor - 你读过这篇文章吗???我在第二段中准确地描述了这一点。
-
@Christian Sciberras:是的,我认为“这可以接受吗?”提出“安全级别”的问题?其余的都是这样。
-
@Piskvor - “这是可以接受的”是在“有人真的在外面这样做吗”。
-
@Christian Sciberras:今天早上我可能有点慢,因为我不明白这有什么关系。人们在那里以明文形式存储密码;我希望这种可憎的事情发生的事实不会让人接受。人们做疯狂的事情。但是对于一项没有任何重要风险的服务(例如,不是金钱或暴露敏感数据),使用随机生成的五个字符的密码是可以的。