如何把谷歌两步验证设计到产品中

0 评论 6088 浏览 6 收藏 8 分钟

编辑导读:验证在互联网产品中非常常见,目的是为了确保用户的账户资产安全。而谷歌两步验证通常被设计在交易类或金融类APP中,本文作者对此进行了分析,希望对你有帮助。

一、关于谷歌两步验证

谷歌两步验证通常被设计在交易类或金融类APP中。

这类APP为确保用户账户资产安全,在用户进行登录/交易操作时,均需要进行谷歌两步验证(又称双重认证)。平台提供给用户密钥绑定到谷歌身份验证器中,每个用户的密钥都是不相同的,这可以保障安全唯一性。用户的动态密码按照时间或使用次数不断动态变化,每个密码只能使用一次,目的是保护用户账户资金安全,防止资金被盗。

在登录环节中,除了要输入账号和密码,还要求用户输入自己手机的一个动态密码(谷歌验证码),为帐户多增加了一层保护。也就是说,即使有人盗取了用户的密码,也会因不能使用用户的手机而无法登录帐户。在交易环节中,也是同样的道理。

谷歌身份验证器相当于银行的eToken(身份认证设备):通过用户名与密码登录手机银行后,支付、转账时要用到动态口令,以加强安全级别。不过银行的动态口令载体通常是硬件,而谷歌身份验证器是个手机应用,相对更方便。

谷歌两步验证具有普适性:谷歌身份验证器应用适用于Android、iPhone 或黑莓手机。即使在手机没有信号或数据连接,该应用也能正常工作。

二、设计业务全流程

谷歌两步验证的状态分为已绑定和未绑定。通常情况下,用户只可绑定,但无法自行解绑。绑定可以根据下面的步骤进行,而解绑通常只能由运营人员操作。在用户未丢失动态密码的场景下,为了让用户能够自行决定是否使用两步验证,我们增加了已绑定状态的开启/关闭功能,这样就能避免无法解绑谷歌验证情况给用户带来的困扰。需要填写动态验证码的位置常有:登录环节、交易环节等。

绑定谷歌两步验证流程

以交易类APP为例:

原型展示:

开/关谷歌两步验证流程

只有已绑定谷歌两步验证的用户,才可以操作开启/关闭谷歌验证。

关闭验证

  • 涉及到两步验证关闭后的安全问题(谷歌两步验证状态开启的时候,在交易过程中会要求输入谷歌验证码,关闭状态则不需要),所以会设计相应的安全提示(比如:安全项更改,24小时内无法交易),同时也需要手机验证码和谷歌验证码的双重验证,才能关闭谷歌验证。
  • 也要考虑用户可能丢失谷歌验证码/手机丢失/不小心误删绑定在谷歌身份验证器上的账户信息等情况,所以有必要设计重置谷歌验证的功能(通常,可以在用户填写谷歌动态验证码的页面增加重置谷歌入口),即使用户无法填写验证码,也可以通过提交身份信息,去重置谷歌验证。(重置谷歌验证步骤:通常需要公司运营人员审核,然后开发初始化用户的谷歌两步验证,最后用户端的谷歌验证入口会变回未绑定状态)。

开启验证

而在开启流程中,步骤相对简单,因为对账户安全方面的问题影响不大。

原型展示:

登录流程

在登陆流程中需要注意的点比较多,包括但不限于:

  • 考虑APP是否同时有登录和解锁(指纹/面容/手势)形式,需要界定登录和解锁之间的逻辑关系;
  • 考虑用户多次验证码输错的情况下,是否需要暂时冻结账号。如:两步验证错误累计3次,账户已锁定,请2小时后重试;
  • 考虑用户丢失谷歌验证码情况下的处理方式。如:重置谷歌验证。

原型展示:

交易流程

以转账流程为例:

填写完对应金额,在确认转账的这一步中,需要填写谷歌动态验证码,以确保账户安全。

原型展示:

小结

谷歌两步验证在国外的应用比较普及,国内更多的是通过短信验证和eToken的这种方式代替了两步验证,最终目的都是增强用户账户的安全性。相对于谷歌两步验证,其他验证方式对用户体量大的公司的成本是比较高的。

在登录环节中,需要考虑的细节比较多,尤其是在原有的基础上增加谷歌两步验证时,需要结合APP属性和具体用户场景,制定一系列登录规则,打造安全设置的闭环,避免测试出很bug。

 

作者:干货产品经理,公众号:干货产品经理

本文由 @干货产品经理 原创发布于人人都是产品经理,未经许可,禁止转载

题图来自 pexels,基于 CC0 协议

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 目前还没评论,等你发挥!