打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
从安全的角度设计登录注册

作者:无痕作者授权早读课发表,转载请联系作者。

微信公众号:无痕Talk(ID:wuhentalk)。

编辑:Jessie。


欢迎投稿到早读课,投稿邮箱:mm@zaodula.com

已经许久没有更新文章了,一方面最近事情比较多且杂,另一方面自己也没好好地整理自己的思绪,有些东西一直没有成型,所以也不好下笔成文,所以一直憋到了现在。


今天聊聊我们无可避免,但是又存在感不高的登录与注册场景。


为什么要有登录注册?


从用户使用场景上讲,登录/注册绝大部分是系统提醒而非自主选择的操作--他们往往在购买、收藏、分享、社交等阶段收到系统的提醒而注册/登录,而遵循一般产品原则,我们一般也只在必须登录/注册的场景,增加登录态的触发点,而其它场景,非必须勿打断用户的产品使用。


从系统层面上讲,登录/注册是我们标识用户,并将其与相关的数据汇总、对应的唯一办法,任何一个产品要做大,绝对不能不做登录/注册。


在安全角度,登录注册要关注什么?


登录注册,与其它场景有个区别性,就是属于「未登录」状态下的场景功能,「未登录」场景有个特殊性,那就是它对任何人是无门槛可触达的,当然也包括黑产和恶意用户。如果一个资源类产品(包含电商、金融、个人隐私等属性)没有做好安全风控方面的考虑,那对用户将是一场灾难。


1、账号密码保护


密码,永远是个让人厌烦的东东,现在互联网产品那么多,让用户记住那么多密码,的确有难度,但是针对账号密码登录/注册场景,密码是一定要输的,而且必须保障一定的强度,推荐:数字+密码,11位以上,区分大小写,最好必须有大写字母。同时需要杜绝弱密码,比如12345abc之类的。各位可视自身产品的情况自行决定密码强度。


然而针对密码,没有人保证一定能记得住。所以需要有找回密码这个场景。一般找回密码,是往自己的第三方注册依赖ID--手机号、电子邮箱等发送验证码,验证身份。但是这个为产品的安全性留了坑:


1)允许任何人向任何手机号、电子邮箱发送短信验证码;


这样就可能让一些图谋不轨的人通过机器甚至人工发送验证码给一堆不相干的人,这就会让用户被骚扰而不厌其烦,产生投诉甚至永远离开你的产品。

这种情况,需要做找回密码场景做风控行为限制,甚至出图片验证码/滑动验证吗,阻挡恶意用户骚扰行为。


2)验证码的安全性、到达率存疑;


短信验证码的发送,是依赖了运营商的渠道,从它点击发送的那一刻起,我们就无法控制它的到达率,与使用率。最好最贵的短信通道,也无法保证短信到达率达到100%,而且短信到达用户手机后,用户的感知,以及提醒用户对短信验证码的隐私保护(试想想任何人都可以拿这个短信验证码登录你的账号),其实也是产品需要解决的痛点,至于如何解决,大家可以参照淘宝的短信验证码文案:


2、保证账号的唯一性


现在登录/注册 有很多的方式,邮箱、手机号注册、手机短信快捷登录、二维码扫码登录、各种第三方联登等等。让用户轻松按照自己的情况选择登录/注册方式。


然而多种账号注册/登录方式的存在,也照成了一个难题:如何保证多种登录场景下用户ID的唯一性问题。


比如一个用户今天可以通过手机号注册账号A,过段时间忘记了已经注册过,又用邮箱、或者微信等方式注册账号B,那账户A与B就很难做关联,系统很难辨识为同一个用户,就会导致用户运营与数据分析方面的一些难题。


这种情况,解决方式是尽量只采用一种第三方ID做用户标识,比如现在主流的第三方ID注册方式是手机号注册,那我们就可以考虑取消邮箱的注册方式,或者一些应用直接只用安全性与稳定性最好的微信联登(考虑到微信在中国强大的覆盖率),让用户最低成本更快捷地注册,比提供五花八门的注册方式,更能提高注册转化率。


而针对第三方联登方式,存在的缺陷问题(无密码、无绑定手机号、商业合作风险),建议首次联登流程,都应该让用户做一次选择:登录绑定已有的账号,或者注册一个新账号,并完善手机号等个人必要信息。


对了,手机号有流动性这个特点,所以它作为用户账号的唯一标识ID,是有风险的,具体怎么规避风险,不是本文要讨论的话题,有兴趣可以私下沟通。


3、马甲防刷、账户防盗号能力


当今互联网无法逃避的一个问题,就是黑色产业问题。前面也谈过,目前中国网络黑色产业链的「从业者」已经超过了40万人,依托其进行网络诈骗产业的从业人数至少有160万人,「年产值」超过1100亿元。所有资源类产品,都必须堤黑产的攻击,尤其是账户保护方面,尤为重要:


在注册/登录场景需设置风控拦截;


在关注正常的登录/注册转化率的同时,也要防止机器行为的恶意注册、登录。针对注册机注册众多的马甲号进行刷单刷评论刷分数、或者黑产恶意撞库扫号意图盗取用户账号等行为,需要设置一定的风控规则,杜绝非正常、大批量的登录/注册行为。


植入多种校验流程;


除了设置一定的风控措施,还可以植入验证码,在一定的场景下结合风控规则要求校验(比如发现用户恶意多次访问该接口),甚至可以结合设备指纹、生物识别等技术主动拦截或者以提问历史行为等方式校验访问者身份。

现在很多产品都有APP、WAP、PC等多种产品端形态。在多端登录场景,可以用值得信赖的一端,授权另一端快捷登录,比如安全扫码登录等等。


总结


前面谈了那么多,其实还是想说明登录/注册是账户体系的顶层设计,它直接或间接地决定了其余流程的设计。产品的稳定性、安全性甚至可拓展性都很大程度上取决于登录/注册设计是否合理与高效。而账户安全,是登录/设计场景必须考虑且需要着重考虑的事情。



本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
「登陆注册模块」设计
万字长文——一文带你读懂账号体系
从4款主流产品出发,掌握登录注册流程
不理解!为什么一定要设置密码
百度的账号管理真的是一塌糊涂
App注册登录及优化流程
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服