CN107645381B - 安全验证实现方法及装置 - Google Patents
安全验证实现方法及装置 Download PDFInfo
- Publication number
- CN107645381B CN107645381B CN201610581597.2A CN201610581597A CN107645381B CN 107645381 B CN107645381 B CN 107645381B CN 201610581597 A CN201610581597 A CN 201610581597A CN 107645381 B CN107645381 B CN 107645381B
- Authority
- CN
- China
- Prior art keywords
- security certificate
- verification
- user equipment
- identifier
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本申请提供了一种安全验证实现方法及装置,其中的安全验证实现方法包括:获取来自用户设备的验证请求,所述验证请求包括用户标识、用户设备标识、验证码以及基于第一安全证书进行数字签名的签名信息;根据所述验证请求中的用户标识和用户设备标识获取第二安全证书;根据所述第二安全证书对所述验证请求中的签名信息进行验证;在所述签名信息验证成功的情况下,根据对所述验证请求中的验证码进行验证的结果确定所述验证请求的验证结果。本申请提供的技术方案提高了基于验证码进行验证的安全性。
Description
技术领域
本申请涉及通讯技术,尤其涉及一种安全验证实现方法以及安全验证实现装置。
背景技术
由于利用验证码(如短信验证码)进行验证可以有效识别出相应操作的操作实体是真实的人,还是机器,因此,对于账户登录、交易、支付、转账以及红包活动等敏感操作而言,通常会采用验证码进行验证,以降低操作的安全风险。
然而,随着Root设备、越狱设备以及短信恶意劫持等现象的出现,利用验证码进行验证的安全性越来越低,例如通过对包含有验证码的短信进行拦截,可以将包含有验证码的短信发送给攻击者,攻击者利用接收到的短信验证码仿冒真实用户实现验证,从而使真实用户的隐私/重要数据以及资金等蒙受损失。
为了提高验证的安全性,通常会对验证码进行加密,如在客户端预先设置秘钥,并利用安全加固、混淆以及反调试等技术对存储于客户端的秘钥进行保护,网络侧将加密后的验证码传输至客户端,客户端利用本地存储的秘钥对接收到的验证码进行解密处理,并将解密后的验证码显示给用户。
发明人在实现本申请过程中发现,对验证码进行加密避免了验证码明文被恶意劫持的现象,攻击者只有成功破解其劫持到的验证码密文才能够仿冒真实用户实现安全验证,该方式虽然在很大程度上增强了验证的安全性,然而,验证的安全性依赖于攻击者的密文破解技术;所以,验证的安全性仍有待于进一步提高。
发明内容
本申请的目的是提供一种安全验证实现方法及装置。
根据本申请的第一个方面,提供了一种安全验证实现方法,包括:获取来自用户设备的验证请求,所述验证请求包括用户标识、用户设备标识、验证码以及基于第一安全证书进行数字签名的签名信息;根据所述验证请求中的用户标识和用户设备标识获取第二安全证书;根据所述第二安全证书对所述验证请求中的签名信息进行验证;在所述签名信息验证成功的情况下,根据对所述验证请求中的验证码进行验证的结果确定所述验证请求的验证结果。
根据本申请的第二个方面,提供了一种安全验证实现方法,包括:在接收到来自网络侧的验证码的情况下,获取第一安全证书、用户标识以及用户设备标识;根据第一安全证书以及待签名信息产生签名信息,其中所述待签名信息包括:用户标识、用户设备标识以及验证码中的至少一个;向网络侧发送包含有用户标识、用户设备标识、验证码以及签名信息的验证请求,以使网络侧对所述签名信息和验证码分别进行验证,所述用户标识和用户设备标识用于网络侧获取第二安全证书。
根据本申请的第三个方面,提供了一种安全验证实现装置,包括:获取验证请求模块,用于获取来自用户设备的验证请求,所述验证请求包括用户标识、用户设备标识、验证码以及基于第一安全证书进行数字签名的签名信息;获取安全证书模块,用于根据所述验证请求中的用户标识和用户设备标识获取第二安全证书;第一验证模块,用于根据所述第二安全证书对验证请求中的签名信息进行验证;第二验证模块,用于在所述签名信息验证成功的情况下,根据对所述验证请求中的验证码进行验证的结果确定所述验证请求的验证结果。
可选的,前述的安全验证实现装置,其中,所述获取验证请求模块包括:发送验证码子模块,用于在根据来自用户设备的业务请求确定出存在异常业务的情况下,向用户设备发送验证码;接收验证请求子模块,用于接收来自用户设备的根据所述验证码而产生的验证请求。
可选的,前述的安全验证实现装置,其中,所述用户标识包括:移动电话号码,且所述验证码包括:短信验证码。
可选的,前述的安全验证实现装置,其中,所述获取安全证书模块包括:第一获取子模块,用于在预先存储的用户标识、用户设备标识和第二安全证书的对应关系中查找与所述验证请求中的用户标识和用户设备标识匹配的对应关系,从所述匹配的对应关系中获取第二安全证书;或者,所述验证请求中还包括有应用标识,且所述获取安全证书模块包括:第二获取子模块,用于在预先存储的应用标识、用户标识、用户设备标识和第二安全证书的对应关系中查找与所述验证请求中的应用标识、用户标识和用户设备标识匹配的对应关系,从所述匹配的对应关系中获取第二安全证书。
可选的,前述的安全验证实现装置,其中,所述第二验证模块还用于,在所述签名信息验证失败的情况下,确定所述验证请求的验证结果为验证失败。
可选的,前述的安全验证实现装置,其中,所述装置还包括:判断模块,用于在接收到来自用户设备的安全证书请求的情况下,判断所述安全证书请求是否来自可信用户设备;部署模块,用于在判断模块判断出所述安全证书请求来自可信用户设备的情况下,执行第二安全证书和第一安全证书的部署操作。
可选的,前述的安全验证实现装置,其中,所述安全证书请求中包含有用户标识和用户设备标识,且所述判断模块具体用于:判断是否预先存储有所述安全证书请求中的用户标识和用户设备标识的对应关系;如果预先存储有安全证书请求中的用户标识和用户设备标识的对应关系,则判断出所述安全证书请求来自可信用户设备,否则,判断出所述安全证书请求来自非可信用户设备。
可选的,前述的安全验证实现装置,其中,所述装置还包括:身份认证模块,用于在判断模块判断出所述安全证书请求来自非可信用户设备的情况下,执行用户身份认证操作,如果所述用户身份认证通过,则通知部署模块执行第二安全证书和第一安全证书的部署操作,否则,禁止部署模块执行第二安全证书和第一安全证书的部署操作。
可选的,前述的安全验证实现装置,其中,所述部署模块包括:第一部署子模块,用于在网络侧存储用户标识、用户设备标识与第二安全证书的对应关系;或者,所述安全证书请求中还包括有应用标识,且所述部署模块包括:第二部署子模块,用于在网络侧存储应用标识、用户标识、用户设备标识与第二安全证书的对应关系。
可选的,前述的安全验证实现装置,其中,所述装置还包括:安全证书维护模块,用于在根据所述验证请求中的用户标识以及用户设备标识未获取到相应的第二安全证书、而根据所述验证请求中的用户设备标识获取到第二安全证书,且根据该第二安全证书对验证请求中的签名信息验证成功的情况下,将所述第二安全证书作为失效证书,并通知用户设备第一安全证书失效。
根据本申请的第四个方面,提供了一种安全验证实现装置,该装置主要包括:获取模块,用于在接收到来自网络侧的验证码的情况下,获取第一安全证书、用户标识以及用户设备标识;签名模块,用于根据第一安全证书以及待签名信息产生签名信息,其中所述待签名信息包括:用户标识、用户设备标识以及验证码中的至少一个;发送模块,用于向网络侧发送包含有用户标识、用户设备标识、验证码以及签名信息的验证请求,以使网络侧对所述签名信息和验证码分别进行验证,所述用户标识和用户设备标识用于网络侧获取第二安全证书。
与现有技术相比,本申请具有以下优点:本申请中的第一安全证书和第二安全证书均是与用户标识以及用户设备标识相关联的安全证书,且本申请对验证码的验证过程同时涉及用户标识、用户设备标识、第一安全证书以及第二安全证书,这样,即便是网络侧下发的验证码被恶意劫持,由于劫持者无法完全得知被劫持方的用户标识、用户设备标识以及第一安全证书,因此,劫持者并也不能实现利用其劫持到的验证码来仿冒真实用户进行安全验证的目的,从而使被劫持的验证码失去其应有的利用价值;由此可知,本申请提供的技术方案提高了基于验证码进行验证的安全性。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本申请实施例一的第一安全证书和第二安全证书的初始化过程的流程图;
图2为本申请实施例一的基于第一安全证书和第二安全证书进行安全验证过程的流程图;
图3为本申请实施例一的第一安全证书和第二安全证书的失效维护过程流程图;
图4为本申请实施例二的安全验证实现方法流程图;
图5为本申请实施例二的获取自来用户设备的验证请求的一个具体例子的流程图;
图6为本申请实施例二的部署第一安全证书和第二安全证书的一个具体例子的流程图;
图7为本申请实施例二的对第一安全证书和第二安全证书的管理的一个具体例子的流程图;
图8为本申请实施例三的安全验证实现方法流程图;
图9为本申请实施例四的安全验证实现装置的第一结构示意图;
图10为本申请实施例四的安全验证实现装置的第二结构示意图;
图11为本申请实施例四的获取验证请求模块的结构示意图;
图12为本申请实施例四的获取安全证书模块的结构示意图;
图13为本申请实施例四的部署模块的结构示意图;
图14为本申请实施例五的安全验证实现装置的第一结构示意图;
图15为本申请实施例五的安全验证实现装置的第二结构示意图;
图16为本申请的具体应用系统示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请的实施例作详细描述。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然本申请的流程图将各项操作描述成顺序的处理,但是,其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
本实施例中的服务器包括但不限于单个网络服务器、多个网络服务器组成的服务器组或者基于云计算(Cloud Computing)的由大量计算机或者网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。其中,所述服务器可以接入网络并与网络中的其他设备进行信息交互操作。其中,所述服务器所能够接入的网络包括但不限于互联网、广域网、城域网、局域网、VPN网络等。
需要说明的是,所述服务器以及网络等仅为举例,其他现有的或今后可能出现的服务器或者网络如可适用于本申请,也应包含在本申请保护范围以内,并以引用方式包含于此。
后面描述所讨论的方法(其中一些通过流程图示出)实施例可以通过硬件、软件、固件、中间件、微代码、硬件描述语言或者其任意组合的形式来实施。当用软件、固件、中间件或者微代码来实施时,用以实施必要任务的程序代码或者代码段可以被存储在机器或计算机可读介质(比如存储介质)中。(一个或多个)处理器可以实施必要的任务。
这里所公开的具体结构和功能细节仅仅是代表性的,并且是用于描述本申请的示例性实施例的目的,但是,本申请可以通过许多替换形式来具体实现,并且不应当被解释成仅仅受限于这里所阐述的实施例。
应当理解的是,虽然在这里可能使用了术语“第一”、“第二”等等来描述各个单元,但是这些单元不应当受这些术语限制。使用这些术语仅仅是为了将一个单元与另一个单元进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一单元可以被称为第二单元,并且类似地第二单元可以被称为第一单元。这里所使用的术语“和/或”包括其中一个或更多所列出的相关联项目的任意和所有组合。
应当理解的是,当一个单元被称为“连接”或者“耦合”到另一个单元时,其可以直接连接或者耦合到所述另一个单元,也可以存在中间单元。与此相对的,当一个单元被称为“直接连接”或者“直接耦合”到另一个单元时,则不存在中间单元。应当按照类似的方式来解释被用于描述单元之间的关系的其他词语(例如,“处于...之间”相比于“直接处于...之间”,“与...邻近”相比于“与...直接邻近”等等)。
这里所使用的术语仅仅是为了描述具体实施例,而不是意图限制示例性实施例。除非上下文中明确地另有所指,否则,这里所使用的单数形式“一个”、“一项”还意图包括复数。还应当理解的是,这里所使用的术语“包括”和/或“包含”规定了所陈述的特征、整数、步骤、操作、单元和/或组件的存在,而不排除存在或者添加一个或更多的其他特征、整数、步骤、操作、单元、组件和/或其组合。
还应当提到的是,在一些替换的实现方式中,所提到的功能/动作可以按照不同于附图中标示的顺序发生。举例来说,取决于所涉及的功能/动作,相继示出的两幅图实际上可以基本上同时执行或者有时可以按照相反的顺序来执行。
技术术语说明:
验证请求,基于验证码而产生的验证请求,如根据用户输入的验证码而产生的验证请求;
第一安全证书和第二安全证书,可以认为是用户执行特定网络操作时的身份证,且第一安全证书和第二安全证书可以相同,也可以不相同;
异常业务,存在业务风险的业务,如刷单业务或者基于模拟器登录的业务等;
用户标识,能够唯一标识一个用户的信息,如用户的移动电话号码;
用户设备标识,能够唯一标识一个用户设备的信息,如用户设备硬件标识等;
应用标识,能够唯一标识一个应用的信息,如应用序列号等。
下面结合附图对本申请的技术方案作进一步详细描述。
本申请的技术方案的一个具体应用系统如图16所示。
图16中的应用系统主要包括:验证服务器1以及多个用户设备2(如移动电话或者平板电脑或者计算机等)。另外,该应用系统还可以包括:业务服务器3。
业务服务器3主要用于响应各用户设备2的业务请求,并在检测出业务请求存在业务异常现象时,触发验证服务器1执行安全验证操作,并等待验证服务器1返回的验证结果信息,在接收到验证服务器1返回的验证结果信息后,根据验证结果信息将业务请求作为正常业务请求继续处理或者将业务请求作为非正常业务请求处理。业务服务器3具体执行的操作如下述针对图2的描述。
验证服务器1主要用于基于业务服务器3的触发(如通知)而执行安全验证操作,如产生验证码并向相应的用户设备2发送,并等待用户设备2返回的验证请求,在接收到用户设备2返回的验证请求时,利用本地存储的第二安全证书对用户设备2返回的验证请求中的签名信息进行验证,并基于该验证结果以及验证码的验证结果确定本次验证结果,将本次验证结果信息返回给业务服务器3。另外,验证服务器1还用于在各用户设备2中分别布设第一安全证书,并在本地针对各用户设备分别布设第二安全证书。验证服务器1具体执行的操作如下述针对图1-图3中的描述。
用户设备2主要用于在接收到验证服务器1发送来的验证码时,利用本地存储的第一安全证书产生签名信息,并向验证服务器1发送携带有签名信息的验证请求。用户设备2具体执行的操作如下述针对图图1-图3中的描述。
本实施例的安全验证实现方法主要包括三部分内容,一部分内容是第一安全证书和第二安全证书的初始化过程,另一部分内容是基于第一安全证书和第二安全证书进行安全验证的过程,再一部分内容是第一安全证书和第二安全证书的失效维护的过程。下面结合图1-图3对本实施例的安全验证实现方法进行说明。
图1为本实施例的第一安全证书和第二安全证书的初始化过程,且该初始化过程由用户设备中安装的应用、嵌入在应用中验证客户端以及验证服务器实现。
图1中,S1-1、用户设备中的应用触发验证客户端执行第一安全证书和第二安全证书的初始化操作,如在应用成功安装于用户设备中之后的第一次启动过程中,该应用通知验证客户端执行初始化操作。到S1-2。
S1-2、验证客户端获取用户设备标识,并从应用本地存储的信息中读取第一安全证书。到S1-3。
S1-3、判断是否成功读取出第一安全证书,如果成功读取出第一安全证书,到S1-31,否则,到S1-4。
S1-31、验证客户端将第一安全证书和第二安全证书初始化成功的信息通知应用。本次初始化过程结束。
S1-4、验证客户端产生携带有用户标识(如用户移动电话号码)以及用户设备标识的安全证书请求,且该安全证书请求中还可以携带应用标识。到S1-5。
S1-5、验证服务器在接收到安全证书请求后,判断该安全证书请求是否来自可信用户设备,如判断本地是否存储有安全证书请求中的用户设备与用户设备标识的对应关系,如果判断出该安全证书请求来自可信用户设备,则到S1-11,而如果判断出该安全证书请求来自非可信用户设备,则到S1-6。
S1-6、针对该安全证书请求发起强验证,如发起基于声音的验证过程或者基于人脸的验证过程或者基于通话的验证过程等。到S1-7。
S1-7、验证客户端响应该强验证,如通知应用向用户展示相应的强验证界面等,到S1-8。
S1-8、应用根据验证客户端的通知显示相应的强验证界面,并将接收到的强验证信息传输该验证客户端。到S1-9。
S1-9、验证客户端可以利用用户私钥对强验证信息进行加密,并向验证服务器发送该强验证信息。到S1-10。
S1-10、对来自验证客户端的强验证信息进行解密,并验证,如果验证结果为强验证通过,则到S1-11,如果验证结果为强验证失败,则到S1-14。
S1-11、验证服务器生成第一安全证书和第二安全证书。到S1-12。
S1-12、验证服务器本地存储应用标识、用户标识、用户设备标识以及第二安全证书的对应关系,并利用用户私钥对第一安全证书进行加密,向验证客户端传输该第一安全证书。到S1-13。
S1-13、验证客户端利用用户私钥对接收到的第一安全证书进行解密,并基于安全存储模块存储该第一安全证书。到S1-31。
S1-14、验证服务器向验证客户端发送强验证失败的信息。到S1-15。
S1-15、验证客户端在接收到强验证失败的信息后,通知应用本次初始化操作失败。本次初始化过程结束。
图2为本实施例的基于第一安全证书和第二安全证书进行安全验证的过程,且该安全验证过程由用户设备中设置有验证客户端的应用、业务服务器以及验证服务器实现。
图2中,S2-1、用户设备中的应用产生业务请求,并向业务服务器发送该业务请求。到S2-2。
S2-2、业务服务器根据接收到的业务请求进行业务风险检测,即检测是否存在异常业务,在检测出存在业务风险(即存在异常业务)的现象时,通知验证服务器产生验证码,并通知用户设备中的应用产生用于输入验证码的界面,分别到S2-21和S2-3。
S2-21,验证服务器根据业务服务器的通知产生验证码,并根据通知中的用户标识(如移动电话号码)向相应的用户设备发送验证码。到S2-3。
S2-3、用户设备中的应用接收到业务服务器的通知后产生用于输入验证码的界面,并将验证服务器传输来的验证码显示于该界面中。到S2-4。
S2-4、接收用户输入的验证码,并到S2-5。
S2-5、读取本地存储的第一安全证书,并利用第一安全证书对待签名信息(如应用标识、用户标识、用户设备标识以及用户输入的验证码等)进行数字签名,以获得签名信息。到S2-6。
S2-6、根据待签名信息以及签名信息产生验证请求,并向业务服务器发送该验证请求。到S2-7。
S2-7、业务服务器接收到验证请求后,将该验证请求转发给验证服务器。到S2-8。
S2-8、验证服务器利用验证请求中的应用标识、用户标识以及用户设备标识从本地存储的对应关系中获取第二安全证书。到S2-9。
S2-9、利用第二安全证书对验证请求中的签名信息进行数字签名验证,并将签名验证结果传输给业务服务器,到S2-10。
S2-10、业务服务器根据签名验证结果对业务请进行相应的处理,如在签名验证结果为验证通过时,继续对相应的业务请求进行正常处理,而在签名验证结果为验证失败时,禁止对相应的业务请求继续进行正常处理。业务服务器将验证结果传输给用户设备中的应用。
S2-11、用户设备中的应用显示验证结果。
图3为本实施例的第一安全证书和第二安全证书的失效维护的过程,且该失效维护过程由用户设备中安装的应用、嵌入在应用中验证客户端以及验证服务器实现。
图3中,S3-1、应用通过验证码输入界面接收用户输入的验证码,并将用户输入的验证码提供给验证客户端。到S3-2。
S3-2、验证客户端将应用标识、用户标识、用户设备标识以及验证码作为待签名信息,并利用本地存储的第一安全证书对待签名信息进行数字签名,并利用应用标识、用户标识、用户设备标识、验证码以及签名信息形成验证请求,向验证服务器发送该验证请求。到S3-3。
S3-3、验证服务器根据接收到的验证请求中的应用标识、用户标识以及用户设备标识在本地存储的对应关系中进行匹配查找,未查找到匹配的对应关系,即未获取到第二安全证书。到S3-4。
S3-4、验证服务器根据验证请求中的用户设备标识在本地存储的对应关系中进行匹配查找,查找到匹配的对应关系,利用该匹配的对应关系中的第二安全证书对验证请求中的签名信息进行验证,且验证成功,则删除本地存储的该匹配的对应关系中的第二安全证书。到S3-5。
S3-5、验证服务器根据验证请求中的用户标识向相应的用户设备发送通知,以通知验证客户端,其本地存储的第一安全证书失效。到S8-6。
S3-6、验证客户端在接收到验证服务器的通知后删除本地存储的第一安全证书。到S3-7。
S3-7、验证客户端通知应用本次基于验证码的验证过程失败。
实施例一、安全验证实现方法。
图4为本实施例的安全验证实现方法流程图。
在图4中,本实施例的方法主要包括:步骤S400、步骤S410、步骤420及步骤S430,且图4所示的步骤S400、步骤S410、步骤420及步骤S430通常在网络侧的网络设备(如验证服务器)中执行。
下面对图4中的各步骤分别进行详细描述。
S400、获取来自用户设备的验证请求。
作为示例,本实施例中的验证请求是用户设备在接收到网络侧下发的验证码之后,基于该验证码而产生的验证请求。该验证码通常可以为短信验证码,也可以为通过邮件下发的验证码等。本实施例不限制验证码的具体表现形式。
本实施例中的来自用户设备的验证请求中携带有用户标识、用户设备标识、验证码以及利用第一安全证书进行数字签名而获得的签名信息。
作为示例,本实施例的获取自来用户设备的验证请求的一个例子如图5所示。
图5中,S500、检测是否存在业务异常现象,如对来自用户设备的业务请求进行检测,以判断是否存在业务异常现象,在检测到业务异常现象的情况下,到步骤S510。本实施例根据来自用户设备的业务请求检测是否存在业务异常现象的一个具体例子为:接收来自用户设备的业务请求,在根据接收到的业务请求确定出存在基于cook i e的刷单现象或者存在基于模拟器的登录现象等情况时,确定存在业务异常现象。本实施例不限制检测业务异常现象的具体实现方式以及业务异常现象的具体表现形式。
S510、产生验证码(如产生短信验证码),并根据业务请求对应的用户标识(如用户移动电话号码等)向相应的用户设备下发该验证码。
在用户设备接收到验证码后,基于该验证码产生验证请求(即基于用户输入的验证码产生验证请求),并向网络侧发送该验证请求。
用户设备基于该验证码产生验证请求的一个具体例子为:从用户设备本地存储的信息中获取第一安全证书(如从本地的安全存储模块处获取第一安全证书),并利用第一安全证书对待签名信息进行数字签名,以产生签名信息,如对用户标识、用户设备标识以及验证码中的任意一个或者多个进行数字签名,以产生签名信息(即待签名信息为用户标识、用户设备标识以及验证码中的任意一个或者多个);然后,在待签名信息包含有验证码的情况下,根据待签名信息以及签名信息产生验证请求,如根据用户标识、用户设备标识、验证码以及该签名信息产生验证请求,且该验证请求中包含有用户标识明文、用户设备标识明文、验证码明文以及签名信息;在待签名信息不包含验证码的情况下,应根据验证码、待签名信息以及签名信息产生验证请求,且该验证请求中应同样包含用户标识明文、用户设备标识明文、验证码明文以及签名信息。另外,需要特别说明的是,验证请求中可以不包含用户设备标识明文以及验证码明文,而是包含利用用户秘钥加密后的用户设备标识和验证码。
作为示例,上述安全存储模块可以具体为利用现有的多种安全存储技术而实现的安全存储模块。在实际应用中,安全存储模块通常需要支持数据加密性、安全性以及不可复制性等安全存储策略;其中的数据加密性即对存入其中的数据进行加密存储,以防止数据明文的泄露;其中的安全性即对数据加密的用户秘钥进行安全保护以及对加密过程进行安全保护,以防止存储其中的数据被分析破解;其中的不可复制性即存入其中的数据在被复制后无法实现数据的解密。
另外,本实施例的来自用户设备的验证请求中还可以包括应用标识,且该应用标识主要用于表征用户设备中产生该验证请求的应用,应用标识可以为应用名称,也可以为应用编码,还可以为应用名称与版本号的组合等。在来自用户设备的验证请求中包含有应用标识的情况下,本实施例可以在数字签名处理过程中,将应用标识作为待签名信息中的一部分,一个具体的例子为:从本地存储的信息中获取第一安全证书,该第一安全证书通常是属于该应用的第一安全证书,即用户设备中的一个应用对应一个第一安全证书,且用户设备中的不同应用对应不同的第一安全证书;利用获取到的第一安全证书对应用标识、用户标识、用户设备标识以及用户输入的验证码进行数字签名,以产生签名信息,并根据应用标识、用户标识、用户设备标识、验证码以及签名信息产生验证请求,如验证请求中包含有应用标识明文、用户标识明文、用户设备标识明文、验证码明文以及签名信息。
需要特别说明的是,在验证请求中包括应用标识的情况下,本实施例在利用第一安全证书进行数字签名时,可以不将应用标识作为待签名信息的一部分;另外,用户设备中的不同应用可以对应同一个第一安全证书。还有,上述验证请求中的应用标识明文、用户设备标识明文以及验证码明文可以是利用用户秘钥进行加密后的应用标识、用户设备标识以及验证码。该用户秘钥通常由网络侧预先设置于用户设备中。
S520、接收来自用户设备的验证请求,从而获取到来自用户设备的验证请求;如网络侧的验证服务器等网络设备接收来自用户设备的验证请求。
S410、根据验证请求中的用户标识和用户设备标识获取第二安全证书。
作为示例,本实施例中预先存储有用户标识、用户设备标识与第二安全证书的对应关系,这样,在接收到验证请求后,可以从验证请求中获取用户标识和用户设备标识,并利用获取的用户标识和用户设备标识在预先存储的对应关系中进行查找,以从存储的对应关系中获取与用户标识和用户设备标识相匹配的对应关系,从而可以从相匹配的对应关系中获取该验证请求对应的第二安全证书。在验证请求中的用户设备标识为加密后的信息的情况下,可以利用验证请求中的用户标识查找用户秘钥,并利用用户秘钥对用户设备标识进行解密,从而获得解密后的用户设备标识。
作为示例,本实施例中预先存储有应用标识、用户标识、用户设备标识与第二安全证书的对应关系,这样,在接收到验证请求后,可以从验证请求中获取应用标识、用户标识以及用户设备标识,并利用从验证请求中获取到的应用标识、用户标识以及用户设备标识在预先存储的对应关系中进行查找,以从存储的对应关系中获取与应用标识、用户标识和用户设备标识相匹配的对应关系,从而可以从相匹配的对应关系中获取该验证请求对应的第二安全证书。在验证请求中的应用标识和用户设备标识为加密后的信息的情况下,可以利用验证请求中的用户标识查找用户秘钥,并利用用户秘钥对用应用标识和户设备标识进行解密,从而获得解密后的应用标识和用户设备标识。
作为示例,本实施例中的第二安全证书和第一安全证书可以为对称的安全证书(即第二安全证书与第一安全证书相同),也可以为非对称的安全证书(即第二安全证书与第一安全证书不相同)。
作为示例,本实施例中的用户标识可以为用户的移动电话号码等能够唯一标识一个用户的信息,且该用户标识也可以包括针对该用户产生的标识,如网络侧针对该用户产生的随机数等。本实施例中的用户设备标识应为能够唯一标识一个用户设备的信息,且用户设备标识可以为:用户设备硬件标识等。另外,本实施例中的用户设备标识也可以为针对该用户设备产生的标识,如网络侧针对该用户设备产生的随机数等。本实施例不限制用户标识以及用户设备标识的具体表现形式。
S420、根据第二安全证书对验证请求中的签名信息进行验证。
作为示例,本实施例可以根据预定算法对验证请求中的待签名信息进行计算(如利用预定算法从待签名信息中提取摘要等),并利用第二安全证书对上述计算结果进行数字签名(如利用第二安全证书对计算结果进行加密),并比较数字签名后获得的签名信息与验证请求中的签名信息,在比较的结果为两者完全相同时,确定出签名信息验证成功,即该验证请求来自可信的用户设备,否则,确定出签名信息验证失败,即该验证请求来自非可信的用户设备。上述待签名信息可以包括:用户标识、用户设备标识以及用户输入的验证码中的至少一个,另外,该待签名信息还可以包括:应用标识。
S430、在签名信息验证成功的情况下,根据对验证请求中的验证码进行验证的结果确定验证请求的验证结果。
作为示例,如果针对签名信息的验证结果为验证成功,则本实施例可以将针对验证码进行验证的结果作为验证请求的验证结果,而如果针对签名信息的验证结果为验证失败,则本实施例确定验证请求的验证结果为验证失败。
一个具体的例子,在针对签名信息的验证结果为验证成功的情况下,针对验证请求中的验证码执行相应的验证操作,如判断用户输入的验证码等信息是否正确,如果判断出用户输入的验证码等信息正确,则确定出该验证请求的验证结果为验证成功,如果判断出用户输入的验证码等信息不正确,则确定出该验证请求的验证结果为验证失败。
需要说明的是,在上述具体的例子中,针对验证请求中的验证码执行相应的验证操作是在对签名信息进行验证操作之后执行的,在实际应用中,上述针对验证请求中的验证码执行相应的验证操作也可以在对签名信息进行验证操作之前执行,当然,针对验证请求中的验证码执行相应的验证操作也可以与对签名信息进行验证操作并行执行。
由上述实施例的描述可知,本实施例中的用户设备中部署有第一安全证书,且网络侧部署有第二安全证书,本实施例部署第一安全证书和第二安全证书(即初始化第一安全证书和第二安全证书)的一个具体的例子如图6所示。
在图6中,S600、在用户设备中的应用的初始化过程(如应用启动过程中的初始化过程)中,开始执行第一安全证书初始化操作,即执行从用户设备(如应用)本地存储的信息中读取第一安全证书的操作。到步骤S610。
S610、判断是否成功读取到第一安全证书,如果成功读取了第一安全证书,则到步骤S650,如果没有读取到第一安全证书,则到步骤S620。
S620、从用户设备本地存储的信息中读取用户设备标识,并形成携带有用户标识(如用户的移动电话号码)以及用户设备标识的安全证书请求,向网络侧发送该安全证书请求,如向网络侧中的认证服务器发送该安全证书请求;安全证书请求中的用户设备标识可以为基于用户私钥加密后的信息。
需要特别说明的是,本步骤所形成的安全证书请求中也可以携带有应用标识,即从用户设备本地存储的信息中获取应用标识和用户设备标识,并形成携带有应用标识、用户标识以及用户设备标识的安全证书请求;安全证书请求中的应用标识和/或用户设备标识可以为基于用户私钥加密后的信息。
S630、网络侧(如认证服务器)接收来自用户设备的安全证书请求,并判断该安全证书请求是否来自可信用户设备,如判断网络侧是否预先存储有用户标识和用户设备标识的对应关系,如果网络侧预先存储有该用户标识和用户设备标识的对应关系,则确定出该安全证书请求来自可信用户设备,到步骤S640;如果网络侧未存储有该用户标识和用户设备标识的对应关系,则确定出该安全证书来自非可信用户设备,到步骤S631。
另外,在来自用户设备的安全证书请求包含有应用标识的情况下,本实施例可以判断网络侧是否预先存储有应用标识、用户标识以及用户设备标识的对应关系,如果网络侧预先存储有该应用标识、用户标识以及用户设备标识的对应关系,则确定出该安全证书请求来自可信用户设备,而如果网络侧未存储有该应用标识、用户标识以及用户设备标识的对应关系,则确定出该安全证书来自非可信用户设备。
需要特别说明的是,网络侧预先存储的上述对应关系(如用户标识和用户设备标识的对应关系,再如应用标识、用户标识以及用户设备标识的对应关系)可以是基于历史数据而获得的对应关系(如对历史数据进行分析挖掘而获得的对应关系),也可以是基于第一安全证书的前次初始化过程而存储的对应关系。
S631、触发用户身份认证操作,这里的用户身份认证即强验证,如电话验证、人脸验证或者声音验证等,强验证能够进一步确定安全证书请求是否来自可信的用户设备。本实施例不限制强验证的具体实现方式。步骤S632。
S632、判断用户身份认证是否通过,如果用户身份认证通过,则到步骤S640,如果用户身份认证未通过,则到步骤S633。
S633、根据安全证书请求中的用户标识向相应的用户设备发送第一安全证书初始化失败信息。
S640、产生第二安全证书和第一安全证书,并在网络侧和用户设备中分别存储相应的安全证书;且本步骤所产生的第二安全证书和第一安全证书可以相同,也可以不相同。
一个具体的例子,针对该安全证书请求生成第一安全证书和第二安全证书,并根据安全证书请求中的用户标识向相应的用户设备发送第一安全证书,且向用户设备发送的第一安全证书可以为基于用户秘钥加密后的信息,在网络侧存储用户标识、用户设备标识以及第二安全证书的对应关系。到步骤S650。
另一个具体的例子,针对该安全证书请求生成第一安全证书和第二安全证书,并根据安全证书请求中的用户标识向相应的用户设备发送应用标识和第一安全证书,且向用户设备发送的第一安全证书可以为基于用户秘钥加密后的信息,在网络侧存储应用标识、用户标识、用户设备标识以及第二安全证书的对应关系。到步骤S650。
S650、基于安全存储模块存储用户设备接收到的第一安全证书,如利用用户秘钥对第一安全证书进行解密,并基于安全存储模块将解密后的第一安全证书存储于相应应用的本地信息中。到步骤S660。
S660、返回第一安全证书初始化成功信息。
在实际应用中,用户可以在同一台用户设备上使用两个不同的账户,如用户可以在一台用户设备的一个应用中使用两个不同的用户名和密码进行登录(即账户切换),在发生账户切换的情况下,本实施例对第一安全证书和第二安全证书的管理的一个具体的例子如图7所示。
在图7中,S700、在网络侧接收到来自用户设备的验证请求,且根据验证请求中的用户请求中的用户标识以及用户设备标识没有从网络侧本地存储的信息中获取到相应的第二安全证书的情况下,根据验证请求中的用户设备标识从网络侧本地存储的信息中获取第二安全证书。到步骤S710。
S710、判断是否成功获取到第二安全证书,如果未成功获取到第二安全证书,则到步骤S720,如果成功获取到第二安全证书,则到步骤S750。
S720、根据该第二安全证书对验证请求中的签名信息进行验证。
S730、判断签名信息验证是否成功,如果验证成功,则到步骤S740,如果验证失败,则到步骤S750。
S740、将网络侧本地存储的上述第二安全证书作为失效证书,并通知用户设备第一安全证书失效,以触发用户设备执行第一安全证书的初始化操作。
S750、根据验证请求中的用户标识向相应的用户设备发送安全证书初始化通知,以触发用户设备执行第一安全证书的初始化操作。
实施例二、安全验证实现方法。
图8为本实施例的安全验证实现方法流程图。
在图8中,本实施例的方法主要包括:步骤S800、步骤S810以及步骤820,且本实施例的方法通常由用户设备中的应用来执行,如可以利用SDK(Software Development Kit,软件开发工具包)方式使本实施例的方法设置于用户设备的相应应用中。
下面对图8中的各步骤分别进行说明。
S800、在接收到来自网络侧的验证码的情况下,从用户设备本地存储的信息中获取第一安全证书、用户标识以及用户设备标识。
作为示例,在接收到的验证码为加密处理后的验证码的情况下,可以从用户设备本地存储的信息(如应用本地存储的信息)中获取用户秘钥,并利用该用户秘钥对验证码进行解密,以便于向用户展示解密后的验证码(如图片格式的验证码)。
作为示例,在通常情况下,由于用户设备中的应用通过上述实施例一中的第一安全证书和第二安全证书的初始化操作已经成功获得并本地存储了第一安全证书,因此,本实施例可以成功获取到第一安全证书;如果出现未能成功获取到第一安全证书的现象,则本实施例可以触发第一安全证书和第二安全证书的初始化操作,且在初始化操作成功执行后,本实施例可以成功获得第一安全证书。
S810、根据第一安全证书以及待签名信息产生签名信息。
作为示例,本实施例中的待签名信息可以包括:用户标识、用户设备标识以及用户输入的验证码中的至少一个;另外,该待签名信息还可以包括应用标识。本实施例可以利用预定算法对待签名信息进行计算(如利用预定算法从待签名信息中提取摘要等),并利用第一安全证书对上述计算结果进行数字签名(如利用第一安全证书对计算结果进行加密),从而产生签名信息。
S820、向网络侧发送包含有用户标识、用户设备标识、用户输入的验证码以及签名信息的验证请求。
作为示例,本实施例中的用户标识、用户设备标识以及用户输入的验证码可以作为待签名信息承载于验证请求中;在待签名信息中没有包含用户标识或者用户设备标识或者用户输入的验证码的情况下,本实施例的验证请求除了承载有待签名信息和签名信息之外,还应承载有用户标识或者用户设备标识或者用户输入的验证码。另外,本实施例还可以将应用标识作为待签名信息承载于验证请求中,当然,在待签名信息未包含应用标识的情况下,验证请求中除了承载有待签名信息和签名信息之外,还应承载有应用标识。
作为示例,本实施例在从用户设备本地存储的信息(如应用本地存储的信息)中未获取到第一安全证书的情况下,向网络侧发送包含有用户标识以及用户设备标识的安全证书请求,以使网络侧针对所述安全证书请求执行用户身份认证操作;并等待网络侧发送来的第一安全证书,在接收到网络侧发送来的第一安全证书时,存储该第一安全证书(如基于安全存储模块来存储该第一安全证书),从而在用户设备中成功的部署了第一安全证书。在用户设备中部署第一安全证书的一个具体例子如上述实施例一中针对图3的描述,在此不再重复说明。
另外,在接收到网络侧(如验证服务器)发送来的第一安全证书失效的通知时,应删除本地存储的第一安全证书。
实施例三、安全验证实现装置。
图9为本实施例的安全验证实现装置示意图。图9中,本实施例的装置主要包括:获取验证请求模块900、获取安全证书模块910、第一验证模块920以及第二验证模块930,且图9所示的获取验证请求模块900、获取安全证书模块910、第一验证模块920以及第二验证模块930通常设置于网络侧的网络设备(如验证服务器)中。
在一个示例中,本实施例的安全验证实现装置还可以包括:判断模块940和部署模块950(如图10所示);在另一个示例中,本实施例的装置还可以包括:身份认证模块960(如图10所示);在再一个示例中,本实施例的装置还可以包括:安全证书维护模块970(如图10所示)。
下面结合图9-图13对本实施例的安全验证实现装置的结构进行说明。
获取验证请求模块900主要用于获取来自用户设备的验证请求。
作为示例,本实施例中的验证请求是用户设备在接收到网络侧下发的验证码之后,基于该验证码而产生的验证请求,且该验证码通常可以为短信验证码,也可以为通过邮件下发的验证码等。本实施例不限制验证码的具体表现形式。
本实施例中的来自用户设备的验证请求中携带有用户标识、用户设备标识、验证码以及利用第一安全证书进行数字签名而获得的签名信息。
作为示例,本实施例的获取验证请求模块900可以包括:发送验证码子模块901和接收验证请求子模块902(如图11所示),其中的送验证码子模块901主要用于在根据来自用户设备的业务请求确定出存在异常业务的情况下,向用户设备发送验证码;其中的接收验证请求子模块902主要用于接收来自用户设备的根据上述验证码而产生的验证请求。
一个具体的例子,业务服务器对来自用户设备的业务请求进行检测,以判断是否存在业务异常现象,在检测到业务异常现象的情况下,通知发送验证码子模块901,发送验证码子模块901根据该通知产生验证码(如产生短信验证码),并根据业务服务器传输来的用户标识(如用户移动电话号码等)向相应的用户设备下发该验证码。在用户设备接收到该验证码后,基于该验证码产生验证请求(即基于用户输入的验证码产生验证请求),并向网络侧发送该验证请求,从而使接收验证请求子模块902接收到来自用户设备的验证请求,验证请求子模块902接收到的验证请求可以包括:用户标识、用户设备标识、用户输入的验证码以及基于第一安全证书进行数字签名的签名信息,也可以包括:应用标识、用户标识、用户设备标识、用户输入的验证码以及基于第一安全证书进行数字签名的签名信息。
获取安全证书模块910主要用于根据验证请求中的用户标识和用户设备标识获取第二安全证书,且该获取安全证书模块910可以包括:第一获取子模块911和第二获取子模块912(如图12所示)。
作为示例,本实施例的装置中预先存储有用户标识、用户设备标识与第二安全证书的对应关系,这样,在获取验证请求模块900接收到验证请求后,获取安全证书模块910(如第一获取子模块911)可以从验证请求中获取用户标识以及用户设备标识,并利用获取的用户标识和用户设备标识在预先存储的对应关系中进行查找,以从存储的对应关系中获取与用户标识和用户设备标识相匹配的对应关系,从而获取安全证书模块910(如第一获取子模块911)可以从相匹配的对应关系中获取该验证请求对应的第二安全证书。在验证请求中的用户设备标识为加密后的信息的情况下,获取安全证书模块910(如第一获取子模块911)可以利用验证请求中的用户标识查找用户秘钥,并利用用户秘钥对用户设备标识进行解密,从而获得解密后的用户设备标识。
作为示例,本实施例的装置中预先存储有应用标识、用户标识、用户设备标识与第二安全证书的对应关系,这样,在获取验证请求模块900接收到验证请求后,获取安全证书模块910(如第二获取子模块912)可以从验证请求中获取应用标识、用户标识以及用户设备标识,并利用从验证请求中获取到的应用标识、用户标识以及用户设备标识在预先存储的对应关系中进行查找,以从存储的对应关系中获取与应用标识、用户标识和用户设备标识相匹配的对应关系,从而获取安全证书模块910(如第二获取子模块912)可以从相匹配的对应关系中获取该验证请求对应的第二安全证书。在验证请求中的应用标识和用户设备标识为加密后的信息的情况下,获取安全证书模块910(如第二获取子模块912)可以利用验证请求中的用户标识查找用户秘钥,并利用用户秘钥对用应用标识和户设备标识进行解密,从而获取安全证书模块910(如第二获取子模块912)获得解密后的应用标识和用户设备标识。
作为示例,本实施例中的第二安全证书和第一安全证书可以为对称的安全证书(即第二安全证书与第一安全证书相同),也可以为非对称的安全证书(即第二安全证书与第一安全证书不相同)。
作为示例,本实施例中的用户标识可以为用户的移动电话号码等能够唯一标识一个用户的信息,且该用户标识也可以包括针对该用户产生的标识,如网络侧针对该用户产生的随机数等。本实施例中的用户设备标识应为能够唯一标识一个用户设备的信息,且用户设备标识可以为:用户设备硬件标识等。另外,本实施例中的用户设备标识也可以为针对该用户设备产生的标识,如网络侧针对该用户设备产生的随机数等。本实施例不限制用户标识以及用户设备标识的具体表现形式。
第一验证模块920主要用于根据第二安全证书对验证请求中的签名信息进行验证。
作为示例,第一验证模块920可以根据预定算法对验证请求中的待签名信息进行计算(如利用预定算法从待签名信息中提取摘要等),并利用第二安全证书对上述计算结果进行数字签名(如第一验证模块920利用第二安全证书对计算结果进行加密),并比较数字签名后获得的签名信息与验证请求中的签名信息,在比较的结果为两者完全相同时,第一验证模块920确定出签名信息验证成功,即该验证请求来自可信的用户设备,否则,第一验证模块920确定出签名信息验证失败,即该验证请求来自非可信的用户设备。上述待签名信息可以包括:用户标识、用户设备标识以及用户输入的验证码中的至少一个,另外,该待签名信息还可以包括:应用标识。
第二验证模块930主要用于在签名信息验证成功的情况下,根据对验证请求中的验证码进行验证的结果确定验证请求的验证结果。
作为示例,如果第一验证模块920针对签名信息进行验证的验证结果为验证成功,则第二验证模块930可以将针对验证码进行验证的结果作为验证请求的验证结果,而如果第一验证模块920针对签名信息的验证结果为验证失败,则第二验证模块930确定验证请求的验证结果为验证失败。
一个具体的例子,在第一验证模块920针对签名信息的验证结果为验证成功的情况下,第二验证模块930针对验证请求中的验证码执行相应的验证操作,如第二验证模块930判断用户输入的验证码等信息是否正确,如果判断出用户输入的验证码等信息正确,则第二验证模块930确定出该验证请求的验证结果为验证成功,如果判断出用户输入的验证码等信息不正确,则第二验证模块930确定出该验证请求的验证结果为验证失败。
需要说明的是,在上述具体的例子中,第二验证模块930针对验证请求中的验证码执行相应的验证操作是在第一验证模块920对签名信息进行验证操作之后执行的,在实际应用中,上述第二验证模块930针对验证请求中的验证码执行相应的验证操作也可以在第一验证模块920对签名信息进行验证操作之前执行,当然,第二验证模块930针对验证请求中的验证码执行相应的验证操作也可以与第一验证模块920对签名信息进行验证操作并行执行。
由上述实施例的描述可知,本实施例中的用户设备中部署有第一安全证书,且本实施例的装置中部署有第二安全证书,本实施例的装置可以利用判断模块940和部署模块950来实现第一安全证书和第二安全证书的部署(即初始化第一安全证书和第二安全证书),也可以利用判断模块940、部署模块950以及身份认证模块960来实现第一安全证书和第二安全证书的部署。判断模块940主要用于在接收到来自用户设备的安全证书请求的情况下,判断安全证书请求是否来自可信用户设备;部署模块950主要用于在判断模块940判断出安全证书请求来自可信用户设备的情况下,执行第二安全证书和第一安全证书的部署操作;身份认证模块960主要用于在判断模块940判断出安全证书请求来自非可信用户设备的情况下,执行用户身份认证操作,如果用户身份认证通过,则通知部署模块950执行第二安全证书和第一安全证书的部署操作,否则,禁止部署模块950执行第二安全证书和第一安全证书的部署操作。
上述部署模块950包括:第一部署子模块951和第二部署子模块952中的至少一个(如图13所示);第一部署子模块951主要用于在本实施例的装置中存储用户标识、用户设备标识与第二安全证书的对应关系;而第二部署子模块952主要用于在本实施例的装置中存储应用标识、用户标识、用户设备标识与第二安全证书的对应关系。判断模块940、部署模块950以及身份认证模块960实现第一安全证书和第二安全证书的部署的一个具体例子如上述实施例一中针对图3的描述,在此不再详细说明。
在实际应用中,用户可以在同一台用户设备上使用两个不同的账户,如用户可以在一台用户设备的一个应用中使用两个不同的用户名和密码进行登录(即账户切换),在发生账户切换的情况下,本实施例的装置可以通过安全证书维护模块970来对第一安全证书和第二安全证书进行维护。
安全证书维护模块970主要用于在根据验证请求中的用户标识以及用户设备标识未获取到相应的第二安全证书、而根据验证请求中的用户设备标识获取到第二安全证书,且根据该第二安全证书对验证请求中的签名信息验证成功的情况下,将第二安全证书作为失效证书,并通知用户设备第一安全证书失效。
安全证书维护模块970对第一安全证书和第二安全证书的维护管理的一个具体例子如上述实施例一中针对图4的描述,在此不再详细说明。
实施例五、安全验证实现装置。
图14为本实施例的安全验证实现装置示意图。图14中,本实施例的装置主要包括:获取模块1400、签名模块1410以及发送模块1420,且图14所示的获取模块1400、签名模块1410以及发送模块1420通常设置于用户设备中的应用中,即本实施例的装置以SDK的形式嵌入在相应的应用中。
在一个示例中,本实施例的安全验证实现装置还可以包括:请求模块1430和存储模块1440(如图15所示)。
获取模块1400主要用于在接收到来自网络侧的验证码的情况下,获取第一安全证书、用户标识以及用户设备标识。
作为示例,在接收到的验证码为加密处理后的验证码的情况下,获取模块1400可以从用户设备本地存储的信息(如应用本地存储的信息)中获取用户秘钥,并利用该用户秘钥对验证码进行解密,以便于向用户展示解密后的验证码(如图片格式的验证码)。
作为示例,在通常情况下,由于用户设备中的应用通过上述实施例一中的第一安全证书和第二安全证书的初始化操作已经成功获得并本地存储了第一安全证书,因此,本实施例可以成功获取到第一安全证书;如果出现未能成功获取到第一安全证书的现象,则本实施例可以触发第一安全证书和第二安全证书的初始化操作,且在初始化操作成功执行后,本实施例可以成功获得第一安全证书。
签名模块1410主要用于根据第一安全证书以及待签名信息产生签名信息。
作为示例,本实施例中的待签名信息可以包括:用户标识、用户设备标识以及用户输入的验证码中的至少一个;另外,该待签名信息还可以包括应用标识。签名模块1410可以利用预定算法对待签名信息进行计算(如利用预定算法从待签名信息中提取摘要等),并利用第一安全证书对上述计算结果进行数字签名(如利用第一安全证书对计算结果进行加密),从而产生签名信息。
发送模块1420主要用于向网络侧发送包含有用户标识、用户设备标识、验证码以及签名信息的验证请求,以使网络侧对所述签名信息和验证码分别进行验证,所述用户标识和用户设备标识用于网络侧获取第二安全证书。
作为示例,发送模块1420可以将用户标识、用户设备标识以及用户输入的验证码作为待签名信息承载于验证请求中;在待签名信息中没有包含用户标识或者用户设备标识或者用户输入的验证码的情况下,发送模块1420所发送的验证请求除了承载有待签名信息和签名信息之外,还应承载有用户标识或者用户设备标识或者用户输入的验证码。另外,发送模块1420还可以将应用标识作为待签名信息承载于验证请求中,当然,在待签名信息未包含应用标识的情况下,发送模块1420所发送的验证请求中除了承载有待签名信息和签名信息之外,还应承载有应用标识。
请求模块1430主要用于在从本地存储的信息中未获取到第一安全证书的情况下,向网络侧发送包含有用户标识以及用户设备标识的安全证书请求,以触发网络侧针对该安全证书请求执行用户身份认证操作。存储模块1440主要用于接收并存储网络侧在根据用户标识和用户设备标识确定用户身份认证通过的情况下所发送来的第一安全证书,从而在用户设备(如用户设备中的应用)中成功的部署了第一安全证书。请求模块1430以及存储模块1440在用户设备中部署第一安全证书的一个具体例子如上述实施例一中针对图3的描述,在此不再重复说明。
另外,存储模块1440在接收到网络侧(如验证服务器)发送来的第一安全证书失效的通知时,应删除本地存储的第一安全证书。
需要注意的是,本申请的一部分可以被应用为计算机程序产品,例如计算机程序指令,当其被智能电子设备(如计算机或者服务器等)执行时,通过该智能电子设备的操作可以调用或者提供根据本发明的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或者其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的智能电子设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请并不局限于上述示范性实施例的细节,而且在不背离本申请的精神或者基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将本申请的实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或者装置或者模块也可以由一个单元或者装置或者模块通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (16)
1.一种安全验证实现方法,其中,所述方法包括以下步骤:
获取来自用户设备的验证请求,所述验证请求包括用户标识、用户设备标识、验证码以及基于第一安全证书进行数字签名的签名信息,其中所述第一安全证书至少与所述用户标识以及所述用户设备标识相对应;
根据所述验证请求中的用户标识和用户设备标识获取第二安全证书;
根据所述第二安全证书对所述验证请求中的签名信息进行验证;
在所述签名信息验证成功的情况下,根据对所述验证请求中的验证码进行验证的结果确定所述验证请求的验证结果。
2.根据权利要求1所述的方法,其中,所述获取来自用户设备的验证请求的步骤包括:
在根据来自用户设备的业务请求确定出存在异常业务的情况下,向用户设备发送验证码;
接收来自用户设备的根据所述验证码而产生的验证请求。
3.根据权利要求1所述的方法,其中,所述用户标识包括:移动电话号码,且所述验证码包括:短信验证码。
4.根据权利要求1所述的方法,其中,所述根据所述验证请求中的用户标识和用户设备标识获取第二安全证书的步骤包括:
在预先存储的用户标识、用户设备标识和第二安全证书的对应关系中查找与所述验证请求中的用户标识和用户设备标识匹配的对应关系,从所述匹配的对应关系中获取第二安全证书;或者
所述验证请求中还包括有应用标识,且所述根据所述验证请求中的用户标识和用户设备标识获取第二安全证书的步骤包括:
在预先存储的应用标识、用户标识、用户设备标识和第二安全证书的对应关系中查找与所述验证请求中的应用标识、用户标识和用户设备标识匹配的对应关系,从所述匹配的对应关系中获取第二安全证书。
5.根据权利要求1所述的方法,其中,所述方法还包括:
在所述签名信息验证失败的情况下,确定所述验证请求的验证结果为验证失败。
6.根据权利要求1所述的方法,其中,所述方法还包括:
在接收到来自用户设备的安全证书请求的情况下,判断所述安全证书请求是否来自可信用户设备;
在判断出所述安全证书请求来自可信用户设备的情况下,执行第二安全证书和第一安全证书的部署操作。
7.根据权利要求6所述的方法,其中,所述安全证书请求中包含有用户标识和用户设备标识,且所述判断所述安全证书请求是否来自可信用户设备的步骤包括:
判断是否预先存储有所述安全证书请求中的用户标识和用户设备标识的对应关系;
如果预先存储有安全证书请求中的用户标识和用户设备标识的对应关系,则判断出所述安全证书请求来自可信用户设备,否则,判断出所述安全证书请求来自非可信用户设备。
8.根据权利要求6所述的方法,其中,所述方法还包括:
在判断出所述安全证书请求来自非可信用户设备的情况下,执行用户身份认证操作;
如果所述用户身份认证通过,则执行第二安全证书和第一安全证书的部署操作,否则,禁止执行第二安全证书和第一安全证书的部署操作。
9.根据权利要求6或7或8所述的方法,其中,所述执行第二安全证书和第一安全证书的部署操作的步骤包括:
在网络侧存储用户标识、用户设备标识与第二安全证书的对应关系;或者
所述安全证书请求中还包括有应用标识,且所述执行第二安全证书和第一安全证书的部署操作的步骤包括:
在网络侧存储应用标识、用户标识、用户设备标识与第二安全证书的对应关系。
10.根据权利要求1至8中任一权利要求所述的方法,其中,所述方法还包括:
在根据所述验证请求中的用户标识以及用户设备标识未获取到相应的第二安全证书、而根据所述验证请求中的用户设备标识获取到第二安全证书,且根据该第二安全证书对验证请求中的签名信息验证成功的情况下,将所述第二安全证书作为失效证书,并通知用户设备第一安全证书失效。
11.一种安全验证实现方法,其中,所述方法包括以下步骤:
在接收到来自网络侧的验证码的情况下,获取第一安全证书、用户标识以及用户设备标识,其中所述第一安全证书至少与所述用户标识以及所述用户设备标识相对应;
根据第一安全证书以及待签名信息产生签名信息,其中所述待签名信息包括:用户标识、用户设备标识以及验证码中的至少一个;
向网络侧发送包含有用户标识、用户设备标识、验证码以及签名信息的验证请求,以使网络侧对所述签名信息和验证码分别进行验证,所述用户标识和用户设备标识用于网络侧获取第二安全证书。
12.根据权利要求11所述的方法,其中,所述方法还包括:
在从本地存储的信息中未获取到第一安全证书的情况下,向网络侧发送包含有用户标识以及用户设备标识的安全证书请求,以使网络侧针对所述安全证书请求执行用户身份认证操作;
接收并存储网络侧在根据所述用户标识和用户设备标识确定用户身份认证通过的情况下所发送来的第一安全证书。
13.一种安全验证实现装置,其中,所述装置包括:
获取验证请求模块,用于获取来自用户设备的验证请求,所述验证请求包括用户标识、用户设备标识、验证码以及基于第一安全证书进行数字签名的签名信息,其中所述第一安全证书至少与所述用户标识以及所述用户设备标识相对应;
获取安全证书模块,用于根据所述验证请求中的用户标识和用户设备标识获取第二安全证书;
第一验证模块,用于根据所述第二安全证书对所述验证请求中的签名信息进行验证;
第二验证模块,用于在所述签名信息验证成功的情况下,根据对所述验证请求中的验证码进行验证的结果确定所述验证请求的验证结果。
14.根据权利要求13所述的装置,其中,所述获取验证请求模块包括:
发送验证码子模块,用于在根据来自用户设备的业务请求确定出存在异常业务的情况下,向用户设备发送验证码;
接收验证请求子模块,用于接收来自用户设备的根据所述验证码而产生的验证请求。
15.一种安全验证实现装置,其中,所述装置包括:
获取模块,用于在接收到来自网络侧的验证码的情况下,获取第一安全证书、用户标识以及用户设备标识,其中所述第一安全证书至少与所述用户标识以及所述用户设备标识相对应;
签名模块,用于根据第一安全证书以及待签名信息产生签名信息,其中所述待签名信息包括:用户标识、用户设备标识以及验证码中的至少一个;
发送模块,用于向网络侧发送包含有用户标识、用户设备标识、验证码以及签名信息的验证请求,以使网络侧对所述签名信息和验证码分别进行验证,所述用户标识和用户设备标识用于网络侧获取第二安全证书。
16.根据权利要求15所述的装置,其中,所述装置还包括:
请求模块,用于在从本地存储的信息中未获取到第一安全证书的情况下,向网络侧发送包含有用户标识以及用户设备标识的安全证书请求,以触发网络侧针对所述安全证书请求执行用户身份认证操作;
存储模块,用于接收并存储网络侧在根据所述用户标识和用户设备标识确定用户身份认证通过的情况下所发送来的第一安全证书。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610581597.2A CN107645381B (zh) | 2016-07-21 | 2016-07-21 | 安全验证实现方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610581597.2A CN107645381B (zh) | 2016-07-21 | 2016-07-21 | 安全验证实现方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107645381A CN107645381A (zh) | 2018-01-30 |
CN107645381B true CN107645381B (zh) | 2021-07-13 |
Family
ID=61109724
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610581597.2A Active CN107645381B (zh) | 2016-07-21 | 2016-07-21 | 安全验证实现方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107645381B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108900479A (zh) * | 2018-06-12 | 2018-11-27 | 泰康保险集团股份有限公司 | 短信验证码获取方法及装置 |
CN110166250A (zh) * | 2019-05-16 | 2019-08-23 | 四川长虹电器股份有限公司 | 一种防暴力破解的验证码交互方法 |
CN111027974A (zh) * | 2019-12-12 | 2020-04-17 | 腾讯科技(深圳)有限公司 | 一种标识码的验证方法、装置、设备及存储介质 |
CN111914232B (zh) * | 2020-07-28 | 2023-05-09 | 中国联合网络通信集团有限公司 | 业务处理方法及系统 |
CN112202719B (zh) * | 2020-09-04 | 2022-09-13 | 广州江南科友科技股份有限公司 | 基于数字证书的签名方法、系统、装置及存储介质 |
CN112487397A (zh) * | 2020-12-10 | 2021-03-12 | 中国联合网络通信集团有限公司 | 一种验证方法及装置 |
CN112861112A (zh) * | 2021-02-08 | 2021-05-28 | 北京顶象技术有限公司 | 一种防止设备指纹标识欺诈的方法及装置 |
CN114513338B (zh) * | 2022-01-20 | 2024-05-03 | 维沃移动通信有限公司 | 数据同步方法和电子设备 |
CN114785560B (zh) * | 2022-03-29 | 2024-02-06 | 中国工商银行股份有限公司 | 信息处理方法、装置、设备和介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104244090A (zh) * | 2014-09-04 | 2014-12-24 | 四川迪佳通电子有限公司 | 一种节目授权方法及系统 |
CN105099680A (zh) * | 2014-05-05 | 2015-11-25 | 中国电子信息产业发展研究院 | 一种根据数字证书认证用户身份的方法及装置 |
CN105101194A (zh) * | 2014-04-28 | 2015-11-25 | 华为技术有限公司 | 终端安全认证方法、装置及系统 |
CN106027501A (zh) * | 2016-05-06 | 2016-10-12 | 北京芯盾时代科技有限公司 | 一种在移动设备中进行交易安全认证的系统和方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8700902B2 (en) * | 2006-02-13 | 2014-04-15 | At&T Intellectual Property I, L.P. | Methods and apparatus to certify digital signatures |
WO2007106851A2 (en) * | 2006-03-14 | 2007-09-20 | Document Atm Incorporated | Distributed access to valuable and sensitive documents and data |
CN105099707B (zh) * | 2015-08-27 | 2019-08-02 | 广州密码科技有限公司 | 一种离线认证方法、服务器及系统 |
-
2016
- 2016-07-21 CN CN201610581597.2A patent/CN107645381B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105101194A (zh) * | 2014-04-28 | 2015-11-25 | 华为技术有限公司 | 终端安全认证方法、装置及系统 |
CN105099680A (zh) * | 2014-05-05 | 2015-11-25 | 中国电子信息产业发展研究院 | 一种根据数字证书认证用户身份的方法及装置 |
CN104244090A (zh) * | 2014-09-04 | 2014-12-24 | 四川迪佳通电子有限公司 | 一种节目授权方法及系统 |
CN106027501A (zh) * | 2016-05-06 | 2016-10-12 | 北京芯盾时代科技有限公司 | 一种在移动设备中进行交易安全认证的系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107645381A (zh) | 2018-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107645381B (zh) | 安全验证实现方法及装置 | |
US10021113B2 (en) | System and method for an integrity focused authentication service | |
CN108684041B (zh) | 登录认证的系统和方法 | |
CN104010044B (zh) | 基于可信执行环境技术的应用受限安装方法、管理器和终端 | |
CN108111473B (zh) | 混合云统一管理方法、装置和系统 | |
US9038196B2 (en) | Method for authenticating a user requesting a transaction with a service provider | |
US9628282B2 (en) | Universal anonymous cross-site authentication | |
CN107979467B (zh) | 验证方法及装置 | |
CN111770057B (zh) | 身份验证系统及身份验证方法 | |
US10063538B2 (en) | System for secure login, and method and apparatus for same | |
CN103078742B (zh) | 数字证书的生成方法和系统 | |
CN105184557B (zh) | 支付认证方法及系统 | |
CN103685311A (zh) | 一种登录验证方法及设备 | |
US11838421B2 (en) | Systems and methods for enhanced mobile device authentication | |
CN107566413B (zh) | 一种基于数据短信技术的智能卡安全认证方法及系统 | |
CN103067402A (zh) | 数字证书的生成方法和系统 | |
CN106022081B (zh) | 一种身份证读卡终端的读卡方法、身份证读卡终端和系统 | |
CN110069241B (zh) | 伪随机数的获取方法、装置、客户端设备和服务器 | |
CN113852628B (zh) | 一种去中心化的单点登录方法、装置及存储介质 | |
CN112765626A (zh) | 基于托管密钥授权签名方法、装置、系统及存储介质 | |
KR101281099B1 (ko) | 스마트폰 분실 및 도난의 피해 방지를 위한 인증방법 | |
CN114444134A (zh) | 一种数据使用授权方法、系统及装置 | |
CN111107063A (zh) | 一种登录方法及装置 | |
CN114338201B (zh) | 数据处理方法及其装置、电子设备及存储介质 | |
CN112383577A (zh) | 授权方法、装置、系统、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |