美文网首页
产品设计 | 安全机制需求

产品设计 | 安全机制需求

作者: 今古醉仙人 | 来源:发表于2018-06-28 17:22 被阅读0次

    产品层面的安全校验的本质是:身份验证——即,用一切简单可行的手段证明你极大概率是账户拥有人。

    (注意,证明你是账户拥有者,不仅是在支付的时候,在任何操作的时候都需要,包括像找回密码等)

    围绕着这个本质,具体的方法就有很多,比方说,要求你展示有且只有A拥有的信息,来证明你是A,既可操作成本低,又能有效证明。又或者,检测你的设备信息,只要是同一设备,那么你的操作亦是部分可信。又或者,任何一次资金操作都会信息提醒账户所有者等等……

    系统地组织一些这些方法,就可以组成四大部分:

    多个不相关维度校验 + 单个维度的复杂规则 + 威胁检测 + 特殊规则

    ① 多个不相关维度校验

    在密码已死的时代(大量密码相同、撞库等等),密码再要求“含有大小写字母和数字,且12位以上”,又长又复杂,意义也不大。也就是说,单个维度的复杂度已经不足以支持现在的安全需求。这还没提及,长密码下牺牲了多少用户体验方面的考虑。

    所以更优的解法应该是多个维度进行校验。每一个单独的维度对“你是账户拥有人”进行一次校验。就像一个简单的数学题,如果一个维度的风险是30%,新增两个维度的风险分别也都是30%。那最终的风险是多少呢? 2.7%——比起在单个维度不断强化要更优吧。

    这也是为什么,谷歌二步验证能兴起的原因。在此前,我们尝试增加的维度是,邮箱验证 + 短信验证,但都分别暴露出来一定的风险。相对之下,谷歌验证是最安全的。(谷歌验证是由时间算法生成,不需要联网,这就是最安全的原因。)

    不管怎么样的,结论就是,在简单的一个账户密码的维度上,还必须有其他维度,最后,风险才能降得最低。

    这也是我们必须设计的,多个维度进行校验。

    当然,需要注意的是:维度之间是不能相关,否则就没有意义了。就好比,校验完身份证号又校验手机号,两个维度其实是部分相关的。

    ② 单个维度校验的复杂规则

    除了多个维度去设计校验,还可以极致增大安全性的做法是,在单个维度上,不断设计复杂规则。

    比方说,在六位密码校验的这个维度中,在密码输入上,只能连续错3次,否则就会封锁账户。——不信你试试微信支付错三次会发生什么事?

    又比方说,在短信验证这个维度中,可以设计短信验证的有效时间,可以设计输入错误三次显示图片验证码之类的。

    单个维度校验下的规则也是必须的。越了解暴力破解的方式,能设计得越好。

    ③ 威胁检测

    威胁检测,事实上属于比较特别的多维度校验。常常是用户无法感知(这也是问题之一,常常用户无法感知自己被保护而担心,但其实有非常严密的威胁检测)。

    举一个经典的例子,为什么微信简单的六位支付密码能保证安全?六位密码的组合可能性并不多,加之多半用户选择的都是相同的密码。但是事实上,微信在这方面用的很好。怎么做的呢?

    简单来说,我们看到的是一层校验,但是事实上,微信背后这个风险校验逻辑是非常完善,他会对我们的平时的消费习惯进行分析、消费地点进行分析,又,对同一设备进行分析,以及微信登录(得先登录再支付)上又有严格,好友验证,异地验证等等。

    这些多个隐形维度检测,业内统测为威胁检测。

    有许多地方其实已经呼吁过停止使用,短信验证码。但是考虑到易用性,绝大多数公司都不愿放弃,所以更多把目光转向了威胁检测。

    ④ 特殊规则

    这实际上,属于“其他”分类,任何时候作归类总结的时候,都避免不了的一个“其他”分类……

    这里就是一些比较特殊,尽管特殊,但是却不一样低频。比方说,像消费后的信息提醒。不过也有一些比较低频使用——冻结账户之类。

    特殊规则,我们也可以尝试去设计。

    相关文章

      网友评论

          本文标题:产品设计 | 安全机制需求

          本文链接:https://www.haomeiwen.com/subject/vlhnyftx.html