居然被邀请了,反正也没事,那就仔细说说吧:)
首先要说的是,就像已经有很多人指出的那样,是没有绝对安全的。我们说xxx是安全的,只是表明所面临的威胁和风险在可接受的范围内。至于什么程度才算“可接受”则很难定义,很多时候甚至要更多地考虑情绪和感情因素。换个角度,也可以说,面对已经识别的风险,如果防护的投入将超过可能的损失,则可以认为“可接受”了。
回到这里来,不过换一个问题:通过手机短信验证身份,能提高安全性吗?答案是明确的,是。身份认证有三个方式:你知道的,你持有的,以及你固有的。一般的口令密码之类算第一类(你知道的),持有令牌通行证之类算第二类(你持有的),指纹虹膜等生物特征算第三类(你固有的)。由于获取/伪造的难度不同,一般认为第一类的安全性比第二类差,第二类又比第三类差;但需要明确的是,如果只有其中一种都算是弱认证,必须独立使用两种甚至三种才算是强认证。
普通应用比如邮箱的认证方式都是口令或密码这第一类认证,使用短信验证码则是为了提供第二类认证。在安全设定中,做得好的系统会要求关键修改要同时使用两种认证方式,即:使用密码登录,然后修改关键信息比如已经注册过的手机号,还需要先用之前的手机接收验证码;单独获得手机后,是不应该能够登入账户并修改所有信息的,否则就破坏了多种认证方式直接的独立性,进而破坏了系统的安全性。
这时候我们再回头看题目的问题,就能知道,在没有设计缺陷的情况下,在密码认证之外添加短信认证是同时使用了第一类和第二类认证,也就是强认证了。在密码设置合理(严格来说必须用随机数,但最起码不要用123456之类)、手机短信验证码系统可靠(没被人复制窃听)的情况下,安全性是有充分保证的。即使是两种认证方式终有任何一种被破坏,面对一般的威胁安全性应该也还好。这样来说,可以给题主一个明确的答案:是!有更好的方法吗?综合考虑成本和适用性,暂时可能还真没有。
一句题外话,随着技术进步和操作方式的变化,原本算是第三类的认证方式可能变弱成第二类,第二类可能变成第一类,原本互相独立的认证方式也可能在无意间关联起来。和所有的安全系统一样,设计验证系统必须非常小心,充分考虑各种情况;同时,也要始终注意,所有安全投资的价值在于保障,不能本末倒置。
— 完 —
本文作者:知乎用户(登录查看详情)
【知乎日报】
你都看到这啦,快来点我嘛 Σ(▼□▼メ)
此问题还有 43 个回答,查看全部。
延伸阅读:
我们可以通过哪些方法减少使用验证码?
reCAPTCHA 验证码是否太难辨认了?如果是,为什么要做成这个样子?