YS动态口令系统接入流程
动态口令是保护用户账户的一种常见有效手段,即用户进行敏感操作(比如登录)时,需要用户提供此动态生成的口令做二次身份验证,假设用户的口令被盗,如果没有动态口令,也无法进行登录或进行敏感操作,保护了用户的信息安全。本文重在讲YS和某动态口令商的接入流程。
1、手机密令功能开启和绑定(解绑定过程类似)
绑定就是告诉动态口令商动态口令系统该令牌正式启用,并为该令牌分配一个识别码(tokenid),后续可用来做动态口令认证。注:本流程图不包含各种条件判断分支 。
2、动态口令登录认证流程(支持手机客户端或网页方式)
YS用户在登录时需要分别输入静态口令和动态口令,静态口令认证由YS系统完成,动态口令认证由动态口令商动态口令系统完成。注:本流程图不包含各种条件判断分支。
3、进行敏感操作时的动态口令认证流程(支持手机客户端或网页方式)
4、手机APP客户端调用SDK流程:
5、相关问题阐述:
4.1、动态口令登录认证可做成一个两阶段过程,需要保证两个安全:
4.1.1、多阶段逻辑的安全。开启手机密令功能的用户在登录过程中实际需要验证两次静态口令以保证不会出现多阶段逻辑安全问题。
4.1.2、同时应满足《web安全开发规范》定义的短信验证码的安全要求(比如防暴力破解机制),以下为开发前面后的对比效果:
4.2、在用户登录后,进行敏感操作时需要短信验证码的地方均可以由动态口令代替之,但这就要求用户先通过手机APP登录YS和打开手机密令,折中的办法是同时支持短信验证码和动态口令(参考淘宝),由用户自行选择验证的方式。
4.3、【敏感操作】可以由系统默认定义的敏感操作(比如重置口令)和用户可选的敏感操作(比如设备操作)组成,系统默认定义的敏感操作比如强制执行二次认证,而用户自定义的敏感操作由用户自行选择二次认证的开启和关闭。
4.4、【用户注册】等部分功能无法用动态口令代替,因此短信验证码无法完全被替代。
4.5、一个账户只能绑定一个密令,不允许一个账户可以绑定多个密令和多个账户绑定一个密令的情况。
4.6、如果允许APP的密令在不同时刻绑定到不同的账户上,此时,在APP上关闭密令时,YS后台必须调用动态口令系统的解绑定接口。
4.7、用户必须关闭密令(解绑定)才能去卸载密令,否则在重装密令后将无法登录,也无法再进行绑定,此时需要人工申诉验证真实身份,或将强制解绑定连接发送到注册的邮箱。
4.8、自动化填充动态口令和校验时间必须是在主手机上执行。