一种通用的用户敏感操作二次身份验证方法和系统技术方案

技术编号:37507001 阅读:13 留言:0更新日期:2023-05-07 09:44
本发明专利技术涉及一种通用的用户敏感操作二次身份验证方法和系统。系统包括前置数据设置,获取验证方式,预验证,验证,业务操作5个模块。方法包括步骤:客户端和业务服务向通用验证服务请求设置前置数据,分别生成用户前置数据和业务前置数据等。本发明专利技术的目的在于解决重复开发、重复对接二次验证方式的问题,让用户可以根据自身需要选择不同的二次验证方式,具备较强的适配性。强的适配性。强的适配性。

【技术实现步骤摘要】
一种通用的用户敏感操作二次身份验证方法和系统


[0001]本专利技术涉及数字身份验证领域,尤其涉及一种通用的用户敏感操作二次身份验证方法和系统。

技术介绍

[0002]当今,在与用户相关的系统开发过程中,难免会涉及到一个问题——如何处理用户的敏感操作行为验证问题,如用户修改密码、用户变更个人信息。常见的,为了确保安全,系统应当启用多因素身份验证(MFA)或双因素身份验证(2FA)验证用户该次敏感操作属于本人操作,但启用2FA/MFA的操作行为通常会伴随着业务增多而重复开发的问题。且随着用户敏感操作行为的增多,对二次验证的需求也将增多,如果每个敏感操作都单独写一套二次验证逻辑,需要开发人员重复开发、重复对接,对业务服务十分不友好,导致非常冗余繁琐。
[0003]基于以上问题,有必要提出一种可以解决重复开发、重复对接二次验证方式的方法。

技术实现思路

[0004]鉴于以上问题,本专利技术的目的是提供一种通用的用户敏感操作二次身份验证系统,可以让用户根据自身需要选择不同的二次验证方式,具备较强的适配性。
[0005]本专利技术的系统所采用的技术方案是:一种通用的用户敏感操作二次身份验证系统,包含5个模块:前置数据设置,获取验证方式,预验证,验证,业务操作,其中核心逻辑为预验证和验证,此外,为了便于区分验证和业务操作,将服务分为通用验证服务和业务服务,通用验证服务主要用于提供用户的操作行为验证服务,业务服务是指用户的敏感操作对接的服务;所述前置数据设置分为用户前置数据设置和业务系统敏感操作前置数据设置,用户前置数据设置用于系统收集用户的验证数据,业务系统敏感操作前置数据设置是指业务服务向通用验证服务定义需要二次验证用户身份的敏感操作时,定义该操作支持的二次验证方式;所述获取验证方式是指用户向客户端请求根据当前的敏感操作,向通用验证服务请求获取敏感操作支持的验证方式,在这一操作行为中,通用验证服务需要判断该敏感操作支持的验证方式(业务系统敏感操作前置数据设置)和用户当前已设置的验证方式(用户前置数据设置)之间的交集,并返回结果;所述预验证是指用户根据获取的验证方式,向通用验证服务请求开始进行验证行为,此外,根据验证方式不同,通用验证服务的行为会不同,但核心逻辑不变,即,同时缓存当前操作行为以便后续验证;所述验证用于判断用户提前的验证数据是否正确合法,如果验证通过,则通用验证服务向客户端返回一个临时口令,并缓存当前操作以及临时口令,客户端应该缓存服务
响应的临时口令,并在业务操作时携带该口令;所述业务操作用于进行具体的敏感操作,在进行业务操作时,需要携带验证步骤中返回的临时口令(该口令通常由客户端保存和自动上传,用户无感知)请求业务服务,业务服务向通用验证服务请求验证令牌(临时口令)和当前的操作是否合法,如验证通过,则由业务服务进行相关操作,否则拒绝用户操作。
[0006]需要注意的是,业务操作必须在经过前置数据设置,获取验证方式,预验证,验证这4个模块之后,才能进行具体的敏感操作。
[0007]本专利技术还提供一种通用的用户敏感操作二次身份验证方法,采用如上所述的一种通用的用户敏感操作二次身份验证系统实现,所述的方法包括以下步骤:S10,客户端和业务服务向通用验证服务请求设置前置数据,分别生成用户前置数据和业务前置数据;S20,客户端向通用验证服务请求获取敏感操作支持的多种验证方式,通用验证服务根据步骤S10生成的用户前置数据和业务前置数据,获取二者之间的交集结果Q,返回给客户端,客户端展示获取到的验证方式;S30,用户从客户端获取验证方式,然后向通用验证服务请求进行预验证,通用验证服务对用户选择的验证方式以及对应的敏感操作进行校验,即校验该敏感操作是否支持该验证方式,如校验通过,则进行相应的预验证操作,并同时缓存预验证信息和操作信息;S40,用户提交验证信息,通用验证服务根据步骤S30缓存的预验证信息以及操作信息来验证用户提交的验证信息以及对应的操作行为,如验证通过,通用验证服务则生成一个临时口令,并缓存对应的用户操作和临时口令,客户端收到响应的临时口令后,对口令进行本地缓存;S50,用户提交业务操作数据,客户端携带本地缓存的临时口令,向业务服务请求进行敏感操作,业务服务收到请求后向通用验证服务请求验证用户操作以及口令,通用验证服务根据步骤S40缓存的口令以及用户操作验证用户操作,如验证通过,则业务服务进行相对应的敏感业务操作,并返回客户端操作结果。
[0008]作为本专利技术的进一步改进,所述步骤S10具体还包括:客户端根据验证方式设置必要的前置验证条件,用户选择的验证方式不同,用户前置数据也不一样;业务服务也根据敏感业务的需要,向通用验证服务设置必要的验证方式,通用验证服务根据业务服务器的请求,存储该敏感操作支持的验证方式列表,生成业务前置数据。
[0009]作为本专利技术的进一步改进,所述步骤S30中的用户从客户端获取验证方式,具体还包括:若步骤S20中交集结果Q值为一种验证方式的数据,则用户直接从客户端获取这一验证方式,若步骤S20中交集结果Q值为大于一种验证方式的数据,则用户直接从客户端获取的多种验证方式中选择一个验证方式。
[0010]作为本专利技术的进一步改进,所述步骤S30中的通用验证服务对用户选择的验证方式以及对应的敏感操作进行校验,具体还包括以下步骤:S3001,通用验证服务收到客户端发来的验证方式和敏感操作;S3002,通用验证服务根据业务前置数据,判断该敏感操作支持的验证方式是否包
含用户请求的验证方式,若不包含,则验证不通过,若包含,则进一步验证用户是否已设置该种验证方式所需的前置数据;S3003,若用户满足该种验证方式所需的前置数据,则验证通过,若不满足,则验证不通过。
[0011]作为本专利技术的进一步改进,所述步骤S40具体还包括以下步骤:S4001,获取步骤S12缓存的验证信息;S4002,与用户提交的验证信息中的验证信息进行匹配,若完全一致,则验证通过,否则不通过验证。
[0012]采用上述技术方案,具有如下有益效果:1.针对二次验证在实际开发过程中涉及到的重复开发问题,本专利技术提出了一种新的、规范的解决方式,让开发者在业务开发中无需重复开发二次认证相关服务,所有的敏感操作都由通用的二次验证服务完成,极大的提高了开发效率;2.通用的二次验证方法规范了使用二次验证的使用方式,让用户敏感操作行为的二次验证有了一个标准规范的流程;3.用户在使用该方法的系统时,与常规的二次验证服务无较大的差异感,对用户没有额外的使用成本,便于用户接受;4.可支持的二次验证方式范围广泛:如短信验证码 、邮件验证码、用户密保问题、FIDO验证、TOTP(Time

based One

time Password algorithm,基于时间的一次性口令)动态验证码验证、密码验证,用户可根据自身便捷程度,选择不同的验证方式通过二次验证,以获得敏感操作的授权。
附图说明
[0013]下面结合附图对本专利技术的具体实施方式作进一步说明:本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种通用的用户敏感操作二次身份验证系统,其特征在于,所述系统包括5个模块:前置数据设置,获取验证方式,预验证,验证,业务操作,其中核心逻辑为预验证和验证,此外,为了便于区分验证和业务操作,将服务分为通用验证服务和业务服务,通用验证服务主要用于提供用户的操作行为验证服务,业务服务是指用户的敏感操作对接的服务;所述前置数据设置分为用户前置数据设置和业务系统敏感操作前置数据设置,用户前置数据设置用于系统收集用户的验证数据,业务系统敏感操作前置数据设置是指业务服务向通用验证服务定义需要二次验证用户身份的敏感操作时,定义该操作支持的二次验证方式;所述获取验证方式是指用户向客户端请求根据当前的敏感操作,向通用验证服务请求获取敏感操作支持的验证方式,在这一操作行为中,通用验证服务需要判断该敏感操作支持的验证方式(业务系统敏感操作前置数据设置)和用户当前已设置的验证方式(用户前置数据设置)之间的交集,并返回结果;所述预验证是指用户根据获取的验证方式,向通用验证服务请求开始进行验证行为,此外,根据验证方式不同,通用验证服务的行为会不同,但核心逻辑不变,即,同时缓存当前操作行为以便后续验证;所述验证用于判断用户提前的验证数据是否正确合法,如果验证通过,则通用验证服务向客户端返回一个临时口令,并缓存当前操作以及临时口令,客户端应该缓存服务响应的临时口令,并在业务操作时携带该口令;所述业务操作用于进行具体的敏感操作,在进行业务操作时,需要携带验证步骤中返回的临时口令(该口令通常由客户端保存和自动上传,用户无感知)请求业务服务,业务服务向通用验证服务请求验证令牌(临时口令)和当前的操作是否合法,如验证通过,则由业务服务进行相关操作,否则拒绝用户操作。2.根据权利要求1所述的一种通用的用户敏感操作二次身份验证系统,其特征在于,业务操作必须在经过前置数据设置,获取验证方式,预验证,验证这4个模块之后,才能进行具体的敏感操作。3.一种通用的用户敏感操作二次身份验证方法,其特征在于,采用如上所述的一种通用的用户敏感操作二次身份验证系统实现,所述的方法包括以下步骤:S10,客户端和业务服务向通用验证服务请求设置前置数据,通用验证服务分别存储用户前置数据和业务前置数据;S20,客户端向通用验证服务请求获取敏感操作支持的多种验证方式,通用验证服务根据步骤S10生成的用户前置数据和业务前置数据,获取二者之间的交集结果Q,返回给客户端,客户端展示获取到的验证方式;S30,用户从客户端获取验证方式,然后向通用验证服务请求进行预验证,通用验...

【专利技术属性】
技术研发人员:王果
申请(专利权)人:亚数信息科技上海有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1