相比于账号密码登录,扫码登录和人脸识别登录等登录方式显然更方便、快捷、灵活,在实际使用中也更受到用户的欢迎。但为什么在实际APP设计中,账号密码登录这种方式仍然还在使用呢?文章从账号密码登录存在的问题出发,对这个问题进行了分析讨论,与大家分享。
账号密码登录已经是一种很常见的登录方式了,这么多年,一直被延续了下来。新的登录方式如扫码登录、人脸识别登录等等不断出现,但账号密码登录的地位依旧屹立不倒。
有好奇宝宝问了这么一个问题:难道使用账号密码登录,没有漏洞吗?
例如:用户A,登录时输入了错误的账号,而这个错误的账号已被注册,且这个错误账号的密码跟用户A的密码相同,那么不就造成误登录了吗?
答案是肯定的,确实会造成误登录,账号密码登录也确实存在漏洞。那么针对这一漏洞,平台都是如何防范的?为什么账号密码登录存在漏洞,却依旧没有被取代?
你思考过这些问题吗?我们在天天问讨论了这个话题,接着一起来解密~
【天天问每周精选】第124期:通过账号密码登录是否存在漏洞?为什么允许通过账号密码登录?
文章内容部分来源于@祖安产品人 @我不做程序员了 @北漂青年 @石砚 @Mr.杰 @kuera @尼开 @张思志 @一米二的柯基 @罗春明 @幸失 的精彩回答
一、账号密码登录是否存在漏洞?
结论先行:账号密码登录存在漏洞,但通过防范后,误登录发生的概率非常低。
对于问题中说的,错输密码造成误登录,这个情况发生的概率非常低。除非用错误账号和错误密码同时去撞库,才会有机会登录成功。
更常见的是撞库,即小明在各个网站都用一样的账号密码,盗号者拿了A网站小明的盗号信息,去其他网站脚本尝试登录,并盗取虚拟财产。
这些情况从概率学的角度来说,确实都存在。但现在基本上大部分平台,都会使用一定的风控机制。例如:
限定一定的密码错误次数;
要求输入验证码,以防止机器破解操作
常用地点/ip进行账号密码的验证;如果是异地登录/异常IP,需要进行二次验证。
平台能够做到获取手机终端的设备信息。常用登录地、IP等,账号一旦注册登录后,便可在后台记录相关信息。一旦使用新设备、IP不符,或者距离常用登录地较远时,可根据一定业务规则进行告警。
此时用户在前端登录时,需要验证更多信息,如:手机号、邮箱、人脸等。
这样一来,账号密码登录被钻空子的几率较小。即使暴力破解,也应该有密码错误次数验证告警机制,从这一点上就更难被攻破了。
二、为什么「账号密码登录」还没被取代?
那么,既然账号密码登录存在漏洞,又有新的登录方式层出不穷,为什么账号密码登录还没有被取代呢?
首先,需要搞清楚用户为什么需要登录:
平台需要与用户有唯一的关联性。如果不登录,那么唯一能关联用户的就是设备,一旦用户更换设备就失去了唯一性。所以平台需要与用户之间建立一个账号体系,来保证用户的唯一性。
保证唯一性有两种方式:
(1)平台给予的:适用于B端,平台为用户或者运营者生成账号密码。
(2)用户主动发起的:
账号密码注册登录
扫码注册登录
第三方注册登录
手机号/邮箱验证注册登录
其他(人脸、声音、指纹等)注册登录
本文中提到的账号密码登录就属于第二种,也是历史较为久远的一种。
在那个互联网不太盛行,手机普及率不太高,且人人都极度重视隐私,又技术有限的年代,让大家自行设置账号密码登录,是当时所处社会环境下的最优方案。可以降低用户的抵触心理,方便记忆,也有利于拉新和推广。
后来互联网盛行了以后,大家降低了对隐私的保护程度,留个电话号码已经属于可接受范围。另外,从PC端到移动端,为了更好的用户体验,很多产品开始做第三方登录,手机验证码登录等等。
但账号密码登录依旧被许多平台和用户认可,具体原因有以下几点:
1. 通用性强
即使账号密码登录存在漏洞,但其他登录方式也并不完美。从通用性这个角度来看,其他登录方式的限制并不少:
扫码登录:需要有另一台已登录的设备存在;
第三方登录:需要有第三方账号介入;
手机号/邮箱登录:容易收不到验证码,且注册登录门槛过高;
其他(人脸、声音、指纹等):使用场景受限,如戴口罩无法使用人脸识别,手伤了用不了指纹
而账号密码登录,由于本身规则由服务提供方制定,不需依赖任何第三方服务,使用场景更多,在通用性方面无可匹敌。
2. 安全性高
从安全性的角度来看,账号密码登录的表现也很不错。
(1)从平台的角度
使用第三方登录时,无法掌握主动性。如果第三方出现问题,那么连带自己平台也没法登录。
账号体系关系着安全和产品功能的实现。
用户数据库,是平台安全的一个保障。每个平台使用账号密码登录,就能够将用户数据保存在自己的数据库。之后的更新迭代、反馈等等,都可以自己寻找数据,分析数据,而不是依靠第三方。
靠别人不如靠自己。自己平台的数据,不管再麻烦都要自己掌握,数据是一个平台的命脉,平台大多不愿意在核心的东西上让步。
(2)从用户的角度
在密码组合相对复杂的情况下,用密码误登录比手机验证码误登录概率要低。毕竟手机验证码大部分只是四位或六位数字。
其他的替代方案也存在明显的漏洞,比如:指纹识别——被复制指纹、人脸识别——用照片骗过摄像头、手机验证码机制——被拦截手机短信
用户可以避免过度暴露个人信息。许多用户连邮箱和手机号都不愿意提供,更遑论身份证和个人生物特征了。
所以大部分产品,基本都是以账号密码作为基础,再根据用户的个人需求,用其他的登录方式辅助来增强安全性或便捷性。
3. 成本低
任何产品的目的都是盈利,减少成本是必然的手段。
人脸识别、指纹识别、包括短信登录,这些都是需要借助第三方去协助完成的,这个费用最终还是要归纳到产品的维护成本。
比如最常见的手机验证码注册登录,这个费用并不是用户支付,而是开发者。特别是对于用户体量大的平台,短信的发送量是一笔不小的支出。为了降低用户的进入门槛,目前多数平台已经接入本机号码一键登录。
而人脸识别、指纹支付是近些年来的产物,不管是安全性和便捷性都还不错,所以成了移动端的标配。但考虑安全性和成本,全面普及估计还需要一段时间。
反观账号密码注册登录,从成本上是最低的,用户在注册时就确定密码。再次登录平台只需验证账号对应密码的准确性就行。
结语
保留账号密码登录的方式,优势还可以从以下角度考虑:
为了向前兼容,服务于早期用户;
可以作为补充的登录手段,在其他登录方式失败时可以大显身手;
很多以pc端为主的产品,直接使用账号密码登录反而是最简洁的操作。
从辩证关系来看“漏洞”,世间万事万物都是相生相克的,没有哪种方式或事物是存在绝对的安全,都只是处在相对状态。
安全与否,取决于账号本身为攻击者提供的价值有多少。正如一个家徒四壁的房子不上锁,也不会有小偷光顾是一个道理。
所以,并不是账号密码登录有缺点、有瑕疵,我们就全盘否定。综合衡量下,账号密码登录明显有更好的通用性、安全性和低成本,使之不可被放弃。