技术摘要:
本发明实施例公开了一种认证方法、设备和存储介质,该方法包括终端将携带令牌的第一认证请求消息发送至服务器;服务器将第一认证响应消息发送至终端;终端将携带序列密文、目标动态口令的第二认证请求消息发送至服务器,目标动态口令加密自终端本地的注册参数、原始密 全部
背景技术:
用户在终端进行登录、支付、转账等业务操作时,常面临针对口令、登录凭证的窃 听攻击和重放攻击威胁,对此服务器往往会对用户进行认证身份,保障用户数据及财产的 安全性。 传统的账号和口令的方式,口令是固定的,需要用户记住,一般称为静态口令,为 了防止不法人员盗用一个已有用户的身份,多使用动态口令(OTP,One Time Password)进 行用户身份的认证,动态口令又称一次性密码,该密码或者口令在认证中是一次性有效的。 目前,动态口令主要分为如下两大类: 1、硬件令牌技术 硬件令牌技术是终端和服务器分别预置相同的种子密钥,使用时,终端和服务器 使用相同的种子密钥和算法,计算出相同的动态口令。 然而,硬件令牌技术依赖独立的物理硬件,给用户的携带和保管增加负担,并且, 硬件令牌技术需要定期更换物理硬件,导致成本较高,适用范围较小。 2、软件令牌技术 软件令牌技术主要依赖于终端和服务器时间严格同步,或者,使用非对称加解密 技术。 然而,服务器和终端时间严格同步在现实中较难实现,并且,非对称加解密技术会 造成终端、服务器计算开销较大。
技术实现要素:
本发明实施例提供一种认证方法、设备和存储介质,以解决适用动态口令对用户 进行身份认证时,如何在保证成本的情况下,降低同步要求、降低开销的问题。 第一方面,本发明实施例提供了一种认证方法,包括: 终端将携带令牌的第一认证请求消息发送至服务器,终端在向服务器注册时存储 原始密钥、序列数据与令牌; 服务器将第一认证响应消息发送至终端,所述令牌用于在服务器解密为原始密钥 与注册参数; 终端将携带序列密文、目标动态口令的第二认证请求消息发送至服务器,所述目 标动态口令加密自终端本地的注册参数、所述原始密钥与所述序列数据,所述序列密文加 密自所述序列数据; 服务器将携带认证结果的第二认证响应消息发送至终端,所述认证结果用于表示 根据所述序列密文、服务器本地的所述原始密钥与所述注册参数对所述目标动态口令进行 认证。 6 CN 111586023 A 说 明 书 2/27 页 第二方面,本发明实施例还提供了一种认证方法,应用于终端,所述终端在向服务 器注册时存储原始密钥、序列数据与令牌,所述方法包括: 将携带令牌的第一认证请求消息发送至服务器,所述服务器用于将所述令牌解密 为原始密钥与注册参数; 接收服务器发送的第一认证响应消息; 将携带序列密文、目标动态口令的第二认证请求消息发送至服务器,所述目标动 态口令加密自终端的注册参数、所述原始密钥与所述序列数据,所述序列密文加密自所述 序列数据; 接收服务器发送的、携带认证结果的第二认证响应消息,所述认证结果用于表示 根据所述序列密文、服务器本地的所述原始密钥与所述注册参数对所述目标动态口令进行 认证。 第三方面,本发明实施例还提供了一种认证方法,应用于服务器,所述方法包括: 接收终端发送的、携带令牌的第一认证请求消息,终端在向服务器注册时存储原 始密钥、序列数据与令牌; 将第一认证响应消息发送至终端,所述令牌用于在服务器中解密为原始密钥与注 册参数; 接收终端发送的、携带序列密文、目标动态口令的第二认证请求消息,所述目标动 态口令加密自终端注册参数、所述原始密钥与所述序列数据,所述序列密文加密自所述序 列数据; 将携带认证结果的第二认证响应消息发送至终端,所述认证结果用于表示根据所 述序列密文、服务器本地的所述原始密钥与所述注册参数对所述目标动态口令进行认证。 第四方面,本发明实施例还提供了一种认证方法,包括: 终端将第一认证请求消息发送至服务器,终端向服务器注册时存储原始密钥与序 列数据; 服务器将第一认证响应消息发送至终端,服务器对终端注册时存储注册参数、原 始密钥与序列数据; 终端将携带终端本地的序列数据、目标动态口令的第二认证请求消息发送至服务 器,所述目标动态口令加密自终端本地的注册参数、原始密钥与序列数据; 服务器将携带认证结果的第二认证响应消息发送至终端,所述认证结果用于表示 在服务器本地的序列数据与终端本地的序列数据一致时,根据服务器本地的注册参数、原 始密钥与序列数据对目标动态口令进行认证。 第五方面,本发明实施例还提供了一种认证方法,应用于终端,所述终端在向服务 器注册成功时存储原始密钥与序列数据,所述方法包括: 将第一认证请求消息发送至服务器; 接收服务器发送的第一认证响应消息,服务器对终端注册时存储注册参数、原始 密钥与序列数据; 将携带终端本地的序列数据、目标动态口令的第二认证请求消息发送至服务器, 所述目标动态口令加密自终端本地的注册参数、原始密钥与序列数据; 接收服务器发送的、携带认证结果的第二认证响应消息,所述认证结果用于表示 7 CN 111586023 A 说 明 书 3/27 页 在服务器本地的序列数据与终端本地的序列数据一致时,根据服务器本地的注册参数、原 始密钥与序列数据对目标动态口令进行认证。 第六方面,本发明实施例还提供了一种认证方法,应用于服务器,服务器对终端注 册时存储注册参数、原始密钥与序列数据,所述方法包括: 接收终端发送的第一认证请求消息,终端在向服务器注册时存储原始密钥与序列 数据; 将第一认证响应消息发送至终端; 接收终端发送的、携带终端本地的序列数据、目标动态口令的第二认证请求消息, 所述目标动态口令加密自终端本地的注册参数、原始密钥与序列数据; 将携带认证结果的第二认证响应消息发送至终端,所述认证结果用于表示在服务 器本地的序列数据与终端本地的序列数据一致时,根据服务器本地的注册参数、原始密钥 与序列数据对目标动态口令进行认证。 第七方面,本发明实施例还提供了一种认证系统,包括终端与服务器: 终端,用于将携带令牌的第一认证请求消息发送至服务器,终端在向服务器注册 时存储原始密钥、序列数据与令牌; 服务器,用于将第一认证响应消息发送至终端,所述令牌用于在服务器解密为原 始密钥与注册参数; 终端,还用于将携带序列密文、目标动态口令的第二认证请求消息发送至服务器, 所述目标动态口令加密自终端本地的注册参数、所述原始密钥与所述序列数据,所述序列 密文加密自所述序列数据; 服务器,还将携带认证结果的第二认证响应消息发送至终端,所述认证结果用于 表示根据所述序列密文、服务器本地的所述原始密钥与所述注册参数对所述目标动态口令 进行认证。 第八方面,本发明实施例还提供了一种认证系统,包括终端与服务器: 终端,用于将第一认证请求消息发送至服务器,终端在向服务器注册时存储原始 密钥与序列数据; 服务器,用于将第一认证响应消息发送至终端,服务器对终端注册时存储注册参 数、原始密钥与序列数据; 终端,还用于将携带终端本地的序列数据、目标动态口令的第二认证请求消息发 送至服务器,所述目标动态口令加密自终端本地的注册参数、原始密钥与序列数据; 服务器,还用于将携带认证结果的第二认证响应消息发送至终端,所述认证结果 用于表示在服务器本地的序列数据与终端本地的序列数据一致时,根据服务器本地的注册 参数、原始密钥与序列数据对目标动态口令进行认证。 第九方面,本发明实施例还提供了一种计算机设备,所述计算机设备包括: 一个或多个处理器; 存储器,用于存储一个或多个程序; 当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理 器实现如第一方面、第二方面、第三方面、第四方面、第五方面、第六方面中任一所述的认证 方法。 8 CN 111586023 A 说 明 书 4/27 页 第十方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机 程序,该计算机程序被处理器执行时实现如第一方面、第二方面、第三方面、第四方面、第五 方面、第六方面中任一所述的认证方法。 在本实施例中,服务器与终端之间同步序列数据以及共享原始密钥,每次认证使 用动态口令,并且更新序列数据,以抵抗窃听攻击和重放攻击。服务器与终端之间可使用对 称密钥函数和HMAC技术进行注册、认证,可提高计算的速度,减少时间与空间的开销,序列 数据对时间同步的要求较低,适合跨国、跨区域的终端与服务器的认证。在一种情况中,服 务器并不持久化存储用户认证的相关数据,实现在无状态模式下,基于序列数据进行认证, 可以保护用户隐私。在另一种情况中,服务器并持久化存储用户认证的相关数据,实现在有 状态模式下,基于序列数据进行认证,以便减少用户的数据在网络传输中占用的带宽,降低 敏感的数据在网络传输过程中的泄漏风险。 附图说明 图1为本发明实施例一提供的一种认证方法的流程图; 图2为本发明实施例一提供的一种无状态模式下的认证信令图; 图3是本发明实施例二提供的一种认证方法的流程图; 图4为本发明实施例二提供的一种无状态模式下的认证信令图; 图5是本发明实施例三提供的一种认证方法的流程图; 图6是本发明实施例四提供的一种认证方法的流程图; 图7为本发明实施例五提供的一种认证方法的流程图; 图8为本发明实施例五提供的一种有状态模式下的认证信令图; 图9是本发明实施例六提供的一种认证方法的流程图; 图10为本发明实施例六提供的一种有状态模式下的认证信令图; 图11是本发明实施例七提供的一种认证方法的流程图; 图12是本发明实施例八提供的一种认证方法的流程图; 图13为本发明实施例九提供的一种认证系统的结构示意图; 图14为本发明实施例十提供的一种认证系统的结构示意图; 图15为本发明实施例十一提供的一种计算机设备的结构示意图。