CN110300096B - 基于本地证书的自校验方法、装置、设备及存储介质 - Google Patents
基于本地证书的自校验方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN110300096B CN110300096B CN201910430075.6A CN201910430075A CN110300096B CN 110300096 B CN110300096 B CN 110300096B CN 201910430075 A CN201910430075 A CN 201910430075A CN 110300096 B CN110300096 B CN 110300096B
- Authority
- CN
- China
- Prior art keywords
- certificate
- local
- verification
- application software
- self
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种基于本地证书的自校验方法、装置、设备及存储介质。所述方法包括:在通过应用软件与后端服务器建立通信连接时,获取用户通过应用软件触发预设的校验操作时发送的校验请求,并将所述校验请求发送至后端服务器;获取后端服务器返回的二级证书,调用预设的截断接口斩断证书链校验;自本地数据库中获取与应用软件关联的本地证书,并使用本地证书对二级证书进行证书自校验;在证书自校验通过时,令应用程序执行该校验操作;在证书自校验未通过时,提示执行该校验操作失败,并中断应用软件与后端服务器建立的通信连接。本发明为应用软件与后端服务器之间的通信提供了更高级别的通信安全保障。
Description
技术领域
本发明涉及安全防护领域,具体涉及一种基于本地证书的自校验方法、装置、设备及存储介质。
背景技术
目前,市面上的移动终端应用软件的HTTPS证书(Hyper Transfer Protocol OverSecure Socket Layer,以安全为目标的超文本传输协议)校验均使用标准的证书链校验方式,也即使用移动终端的操作系统预置的根证书进行验证。但证书链校验方式在移动端设备已存在安全隐患,原因在于目前很多钓鱼网站会引导用户在移动终端安装非法根证书,甚至有黑名单应用在移动客户端偷偷安装非法根证书,从而该移动终端的操作系统的HTTPS通信将如同虚设,该HTTPS通信可直接被钓鱼网站或者黑名单应用抓包并破解。
基于此,有必要提供一种HTTPS证书校验方法,以保证高级别安全的HTTPS通信。
发明内容
本发明实施例提供一种基于本地证书的自校验方法、装置、设备及存储介质,为应用软件与后端服务器之间的通信提供了更高级别的通信安全保障。
一种基于本地证书的自校验方法,包括:
在通过应用软件与后端服务器建立通信连接时,获取用户通过所述应用软件触发预设的校验操作时发送的校验请求,并将所述校验请求发送至所述后端服务器;
获取所述后端服务器返回的二级证书,调用预设的截断接口斩断证书链校验;
自本地数据库中获取与所述应用软件关联的本地证书,并使用所述本地证书对所述二级证书进行证书自校验;
在所述证书自校验通过时,令所述应用软件执行该校验操作;
在所述证书自校验未通过时,提示执行该校验操作失败,并中断所述应用软件与所述后端服务器建立的通信连接。
一种基于本地证书的自校验装置,包括:
发送模块,用于在通过应用软件与后端服务器建立通信连接时,获取用户通过所述应用软件触发预设的校验操作时发送的校验请求,并将所述校验请求发送至所述后端服务器;
调用模块,用于获取所述后端服务器返回的二级证书,调用预设的截断接口斩断证书链校验;
自校验模块,用于自本地数据库中获取与所述应用软件关联的本地证书,并使用所述本地证书对所述二级证书进行证书自校验;
执行模块,用于在所述证书自校验通过时,令所述应用软件执行该校验操作。
提示中断模块,用于在所述证书自校验未通过时,提示执行该校验操作失败,并中断所述应用软件与所述后端服务器建立的通信连接。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现上述基于本地证书的自校验方法。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令被处理器执行时实现上述基于本地证书的自校验方法。
本发明提供的基于本地证书的自校验方法、装置、设备及存储介质,在通过应用软件与后端服务器建立通信连接时,将针对用户在应用软件上触发校验操作生成的校验请求发送至所述后端服务器;而在获取所述后端服务器返回的二级证书之后,调用预设的截断接口斩断证书链校验,使得校验过程无需CA认证,也无需申请CA证书,省钱省事;进一步的,自本地数据库中获取与所述应用软件关联的本地证书,并使用所述本地证书对所述二级证书进行证书自校验,使得第三方中间人无法攻击应用软件与后端服务器之间的通信过程,提供更高级别的通信安全保障。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中基于本地证书的自校验方法的应用环境示意图;
图2是本发明一实施例中基于本地证书的自校验方法的流程图;
图3是本发明令一实施例中基于本地证书的自校验方法的流程图;
图4是本发明一实施例中基于本地证书的自校验方法的步骤S30的流程图;
图5是本发明一实施例中基于本地证书的自校验装置的原理框图;
图6是本发明另一实施例中基于本地证书的自校验装置的原理框图;
图7是本发明一实施例中基于本地证书的自校验装置的分配模块的原理框图;
图8是本发明一实施例中计算机设备的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供的基于本地证书的自校验方法,可应用在如图1的应用环境中,其中,客户端通过网络与服务器进行通信。其中,客户端包括但不限于为各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一实施例中,如图2所示,提供一种基于本地证书的自校验方法,以该方法应用在图1中的服务器为例进行说明,包括以下步骤:
S10,在通过应用软件与后端服务器建立通信连接时,获取用户通过所述应用软件触发预设的校验操作时发送的校验请求,并将所述校验请求发送至所述后端服务器。
其中,所述应用软件(也称APP)是指用户可以使用的各种程序设计语言,以及用各种程序语言编制的应用程序的集合,分为应用软件包和用户程序;所述应用软件包是指预先编制好的、能完成一定功能的、供出售或出租的成套软件系统,所述应用软件包可以小到只有一项功能(例如,打印邮签),也可以是具有复杂功能、运行在主机上的大系统;所述用户程序是指为满足用户不同领域、不同问题的应用需求而提供的那部分软件,例如,游戏小程序。
所述后端服务器可以是通过安装在客户端上的浏览器(即某一客户端上的应用软件)访问的网页,且该后端服务器区别于本地服务器;可理解的,一个所述本地服务器对应于一个客户端。
所述校验请求是指用户通过客户端的应用软件触发预设的校验操作生成的,而在与该客户端通信连接的本地服务器接收到该校验请求时,将该校验请求发送至后端服务器;每个所述校验操作对应一个功能按钮,例如,登录操作,转账操作。
在本实施例中,在客户端的应用软件与后端服务器建立HTTPS(以安全为目标的超文本传输协议)通信连接时,在用户触发所述应用软件上的功能按钮时,将针对校验操作生成的校验请求发送至后端服务器,此时,本地服务器将等待后端服务器响应所述校验请求之后发送其二级证书。作为优选,所述二级证书为应用软件的发布方向CA机构(Certificate Authority,证书授权机构)申请的HTTPS证书。
可理解的,应用软件的发布方向CA机构发送包含发布方信息的证书申请之后,接收CA机构根据所述发布方信息从CA根证书派生的二级证书,并将所述二级证书配置到后端服务器中,同时开发应用软件给用户使用。其中,所述发布方信息包含发布方组织、域名等信息;所述二级证书包含证书公钥、证书序列号、证书授权中心的数字签名和证书有效时间等。
S20,获取所述后端服务器返回的二级证书,调用预设的截断接口斩断证书链校验。
其中,所述截断接口是由编程语言提供的应用软件接口。
所述证书链式校验是指使用客户端操作系统预置的CA根证书对二级证书进行校验。作为优选,所述CA根证书存放在可信证书列表中,若客户端在访问钓鱼网站或者安装黑名单应用软件时安装了第三方中间人的非法根证书,则所述可信证书列表中还包含第三方中间人的非法根证书。
在本实施例中,在后端服务器接收到针对用户通过客户端的应用软件触发校验操作时发送的校验请求时,该后端服务器响应该校验请求,并将存储在后端服务器上的二级证书返回至本地服务器;而本地服务器在获取到后端服务器返回的二级证书之后,获取客户端操作系统中预置的截断接口,令该截断接口斩断证书链式校验。作为优选,在等待所述后端服务器返回二级证书时,获取等待时长,并检测所述等待时长是否超过预设时长阈值;在所述等待时长超过(大于)预设时长阈值时,提示用户发送请求失败;而在所述等待时长未超过(等于或小于)预设时长阈值时,提示用户正在校验过程中。其中,所述等待时长是指发送所述校验请求的时间与当前时间的差值。
S30,自本地数据库中获取与所述应用软件关联的本地证书,并使用所述本地证书对所述二级证书进行证书自校验。
作为优选,根据应用软件的唯一标识自本地数据库中获取与所述应用软件关联的本地证书,使用与所述应用软件关联的本地证书对所述步骤S20中后端服务器返回的二级证书进行自校验,以验证所述二级证书的合法性,避免通信的安全隐患问题。其中,所述本地证书是在用户在客户端安装所述发布方发布的应用软件时,将经过加固之后的所述二级证书作为本地证书存储在本地数据库中。
可理解的,中间人窃取HTTPS通信过程中的加密信息需要达到三个条件:必须在客户端操作系统预先安装非法根证书;必须在HTTPS握手过程中下发中间人二级证书;客户端的应用软件走的是系统校验。而本实施例中,所述应用软件无需请求向客户端操作系统发送用于验证二级证书合法性的系统校验请求,而是直接采用应用软件内部的本地证书对返回的服务端证书进行校验,使得客户端操作系统安装了第三方中间人的非法根证书,并在第三方中间人攻击了HTTPS握手过程返回的二级证书,依然无法通过校验。
S40,在所述证书自校验通过时,令所述应用软件执行该校验操作。
也即,在所述证书自校验通过时,可以将与该校验操作关联的操作页面显示在客户端,例如,移动终端。
S50,在所述证书自校验未通过时,提示执行该校验操作失败,并中断所述应用软件与所述后端服务器建立的通信连接。
在所述二级证书检验未通过时,提示当前的校验操作为异常操作,并强行断开与后端服务器的通信连接,而在所述应用软件与所述后端服务器重新建立通信连接之后,所述用户针可以再次触发与所述校验操作对应的功能按钮,向后端服务器重新发送校验请求。
综上所述,本发明提供的基于本地证书的自校验方法,在获取所述后端服务器返回的二级证书之后,调用预设的截断接口斩断证书链校验,自本地数据库中获取与所述应用软件关联的本地证书,并使用所述本地证书对所述二级证书进行证书自校验。若所述证书自校验通过,则执行该校验操作;若所述证书自校验未通过,则中断所述应用软件与所述后端服务器之间的通信连接,使得自校验过程无需CA认证,也无需申请CA证书,省钱省事;同时使得第三方中间人无法攻击应用软件与后端服务器之间的通信过程,提供更高级别的通信安全保障。
在另一实施例中,如图3所示,为了提升用户体验,便于用户操作客户端的应用软件,可以在不中断该应用软件与后端服务器建立的通信连接情况下,根据用户触发的选择按钮令应用软件执行与该选择按钮关联的操作。此时,所述步骤S30之后包括以下步骤:
S50,在所述证书自校验未通过时,继续保持所述应用软件与所述后端服务器建立的通信连接,并根据预设显示模式将包含安全警告信息的预设窗口显示在客户端。
其中,所述显示模式包括弹窗模式或重新加载转入模式等。
所述预设窗口包含多个选择按钮;所述选择按钮是指除与所述校验操作对应的功能按钮之外的非校验按钮;例如,取消按钮,继续按钮,返回按钮等。
可理解的,在所述证书自校验未通过时,不中断所述应用软件与所述后端服务器的通信连接。示例性的,用户在移动终端的银行系统执行转账操作,若所述证书自校验失败,弹窗显示一条“转账异常”的信息以供用户重新执行该转账操作,避免转账请求被劫持,转账账号被篡改为攻击者的账号。
S60,根据所述用户在所述预设窗口触发的选择按钮令所述应用软件执行与所述选择按钮关联的操作。
示例性的,在所述用户触发预设窗口上的返回按钮时,继续所述应用软件与所述后端服务器之间的通信连接;
在所述用户触发预设窗口上的取消按钮时,结束所述客户端应用与所述服务端应用之间的通信连接。
在一实施例中,在所述证书自校验未通过时,若所述应用软件与所述后端服务器仍在通信连接,为了减小安全隐患,令所述后端服务器不响应用户针对所述校验操作重新发送的所述校验请求;此时,所述步骤S30之后包括以下步骤:
在所述证书自校验未通过时,继续保持所述应用软件与所述后端服务器建立的通信连接,若针对用户通过所述应用软件触发所述校验操作重新向所述后端服务器发送所述校验请求,则令所述应用软件拒绝执行所述校验操作。
作为优选,将校验未通过的记录信息暂存至本地数据库中的缓存区域,在所述应用软件与所述后端服务器未重新建立通信连接之前,不清除所述缓存区域中的记录信息,此时,在针对用户通过所述应用软件触发所述校验操作重新向后端服务器发送所述校验请求时,根据所述缓存区域中的记录信息直接驳回所述校验请求,且可以提示用户中断通信连接之后再返回该应用软件。
在一实施例中,为了避免中间人攻击,提高所述应用软件与后端服务器之间的通信安全,可以对所述应用软件的本地证书进行加固;此时,所述步骤S10之前,具体包括以下步骤:
接收所述应用软件的安装指令,获取并安装从软件发布方下载在所述本地数据库中的所述应用软件;其中,所述应用软件中包含所述本地证书;所述本地证书在所述软件发布方发布时已被预置在所述应用软件的二进制代码中,并已通过预设的加固工具进行加固。
可理解的,客户端上的应用软件为了防止第三方中间人攻击(即中间人窃取HTTPS通信过程中的加密信息),可以将本地证书打包进应用软件中,后续在收到后端服务器的二级证书时,能够有效地验证后端服务器是否可信,加密信息是否被第三方中间人窃取。
具体的,接收用户自客户端发送的包含应用软件名称的安装指令,从本地数据库中获取与所述应用软件名称匹配的应用软件、安装该应用软件所需的本地证书以及加固工具的调用接口,自动安装由发布方发布的该应用软件,并在安装该应用软件过程中时,将该本地证书预置在安装好的所述应用软件的二进制代码,并通过加固工具的调用接口调用加固工具对所述本地证书进行加固,进一步保障通信连接的安全性。
综上所述,本发明提供的基于本地证书的自校验方法,在发布方发布的应用软件时,已将证书预置到应用软件的二进制代码中并进行加固,使得应用软件与后端服务器建立通信连接时,达到了更高的安全级别,加密信息破解难度高。
在一实施例中,如图4所示,所述步骤S30,即所述自本地数据库中获取与所述应用软件关联的本地证书,并使用所述本地证书对所述二级证书进行证书自校验,包括以下步骤:
S301,在确认已经斩断所述证书链校验之后,获取内置在所述本地数据库中与所述应用软件关联的本地证书的本地公钥。
可理解的,所述证书链式校验是在客户端操作系统安装现有CA机构颁发的CA根证书,并对所述根证书无条件信息,后续应用软件的发布方向所述CA机构申请HTTPS证书,并接收所述CA机构会根据本身的根证书以及发布方信息生成二级证书,该二级证书由后端服务器返回;若本地服务器获取到由后端服务器返回该二级证书,则请求客户端操作系统校验该二级证书的合法性,此时,客户端操作系统会使用现有的CA根证书对二级证书进行校验,并将校验结果返回给本地服务器。
而在本实施例中,本地服务器在获取到后端服务器返回的二级证书之后,获取客户端操作系统中预置的截断接口,令该截断接口斩断证书链式校验,在本地服务器检测到向客户端操作系统发送系统校验请求失败时,确定斩断了证书链式校验,并发出系统校验失败的提示,此时,自动运行自校验,也即获取内置在本地数据库中与所述应用软件关联的本地证书的本地公钥,并在所述步骤S202获取所述二级证书的待校验公钥之后,根据所述本地证书的本地公钥和所述二级证书的待校验公钥在应用软件内部进行自校验。
S302,对获取到的所述二级证书进行解析之后,获取所述二级证书的待校验公钥,并检测所述本地公钥与所述待校验公钥是否一致。
S303,在所述本地公钥与所述待校验公钥一致时,确定所述证书自校验通过。
S304,在所述本地公钥与所述待校验公钥不一致时,确定所述证书自校验未通过。
在本实施例中,所述二级证书中包含后端服务器的地址标识(域名或者统一资源定位符)、证书序列号、证书颁发者名称、证书公钥(即待校验公钥)等。
具体的,对二级证书进行解析之后,获取该二级证书的待校验公钥,使用数据库中与所述应用软件关联的本地证书的本地公钥对该二级证书的待校验公钥进行公钥验证(自校验方式之一),以验证所述待校验公钥与所述本地公钥是否一致。在所述本地公钥与所述待校验公钥一致时,确定该二级证书为合法证书且校验通过;而在所述本地公钥与所述待校验公钥不一致时,确定该二级证书为非法证书且校验未通过。
在另一实施例中,所述步骤S301之后还包括以下步骤:
对获取到的所述二级证书进行解析之后,获取所述二级证书的地址标识和待校验公钥,调用预设的地址检测接口对所述二级证书的所述地址标识进行地址校验,且使用所述本地公钥对所述二级证书的所述待校验公钥进行公钥校验。
其中,所述地址检测接口是由编程语言提供的应用软件接口。
在本实施例中,对二级证书进行解析之后,获取所述二级证书的地址标识(域名或者统一资源定位符)和待校验公钥,调用客户端操作系统中预置的地址检测接口对所述地址标识进行地址校验,以验证该地址标识的有效性以及合法性;同时使用所述本地公钥对所述待校验公钥进行公钥验证,以验证所述待校验公钥与所述本地公钥是否一致。在所述地址标识为有效合法地址,且所述本地公钥与所述待校验公钥一致时,确定该二级证书为合法证书且校验通过;而在所述地址标识为无效非法地址,或所述本地公钥与所述待校验公钥不一致时,确定该二级证书为非法证书且校验未通过。
示例性的,用户使用客户端上的浏览器访问域名1的网站A,由于网站域名被第三方中间人劫持,会将用户带到域名2的伪造网站B;若伪造网站B的证书是非CA机构颁发的伪造二级证书,则浏览器会提示当前网站的证书不可信;而若伪造网站B的证书是CA机构颁发的二级证书,在不做地址校验的情况下,客户端上的浏览器可能不会有任何的警告。
在一实施例中,如图5所示,提供一种基于本地证书的自校验装置,该基于本地证书的自校验装置与上述实施例中基于本地证书的自校验方法一一对应。该基于本地证书的自校验装置包括发送模块110、调用模块120、自校验模块130、执行模块140和提示中断模块150。各功能模块详细说明如下:
发送模块110,用于在通过应用软件与后端服务器建立通信连接时,获取用户通过所述应用软件触发预设的校验操作时发送的校验请求,并将所述校验请求发送至所述后端服务器。
调用模块120,用于获取所述后端服务器返回的二级证书,调用预设的截断接口斩断证书链校验。
自校验模块130,用于自本地数据库中获取与所述应用软件关联的本地证书,并使用所述本地证书对所述二级证书进行证书自校验。
执行模块140,用于在所述证书自校验通过时,令所述应用软件执行该校验操作。
提示中断模块150,用于在所述证书自校验未通过时,提示执行该校验操作失败,并中断所述应用软件与所述后端服务器建立的通信连接。
在另一实施例中,如图6所示,基于本地证书的自校验装置还包括显示模块160和选择模块170,各功能模块详细说明如下:
显示模块160,用于在所述证书自校验未通过时,继续保持所述应用软件与所述后端服务器建立的通信连接,并根据预设显示模式将包含安全警告信息的预设窗口显示在客户端。
选择模块170,用于根据所述用户在所述预设窗口触发的选择按钮令所述应用软件执行与所述选择按钮关联的操作。
在另一实施例中,基于本地证书的自校验装置还包括安装模块,该功能模块详细说明如下:
安装模块,用于接收所述应用软件的安装指令,获取并安装从软件发布方下载在所述本地数据库中的所述应用软件;其中,所述应用软件中包含所述本地证书;所述本地证书在所述软件发布方发布时已被预置在所述应用软件的二进制代码中,并已通过预设的加固工具进行加固。
在一实施例中,如图7所示,所述自校验模块130包括以下子模块,各功能子模块详细说明如下:
获取子模块131,用于在确认已经斩断所述证书链校验之后,获取内置在所述本地数据库中与所述应用软件关联的本地证书的本地公钥。
检测子模块132,用于对获取到的所述二级证书进行解析之后,获取所述二级证书的待校验公钥,并检测所述本地公钥与所述待校验公钥是否一致。
第一结果子模块133,用于在所述本地公钥与所述待校验公钥一致时,确定所述证书自校验通过。
第二结果子模块134,用于在所述本地公钥与所述待校验公钥不一致时,确定所述证书自校验未通过。
在另一实施例中,所述自校验模块130还包括以下子模块,各功能子模块详细说明如下:
双重校验模块,用于对获取到的所述二级证书进行解析之后,获取所述二级证书的地址标识和待校验公钥,调用预设的地址检测接口对所述二级证书的所述地址标识进行地址校验,且使用所述本地公钥对所述二级证书的所述待校验公钥进行公钥校验。
关于基于本地证书的自校验装置的具体限定可以参见上文中对于基于本地证书的自校验方法的限定,在此不再赘述。上述基于本地证书的自校验装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机可读指令和数据库。该内存储器为非易失性存储介质中的操作系统和计算机可读指令的运行提供环境。该计算机可读指令被处理器执行时以实现一种基于本地证书的自校验方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机可读指令,处理器执行计算机可读指令时实现以下步骤:
在通过应用软件与后端服务器建立通信连接时,获取用户通过所述应用软件触发预设的校验操作时发送的校验请求,并将所述校验请求发送至所述后端服务器;
获取所述后端服务器返回的二级证书,调用预设的截断接口斩断证书链校验;
自本地数据库中获取与所述应用软件关联的本地证书,并使用所述本地证书对所述二级证书进行证书自校验;
在所述证书自校验通过时,令所述应用软件执行该校验操作;
在所述证书自校验未通过时,提示执行该校验操作失败,并中断所述应用软件与所述后端服务器建立的通信连接。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机可读指令,计算机可读指令被处理器执行时实现以下步骤:
在通过应用软件与后端服务器建立通信连接时,获取用户通过所述应用软件触发预设的校验操作时发送的校验请求,并将所述校验请求发送至所述后端服务器;
获取所述后端服务器返回的二级证书,调用预设的截断接口斩断证书链校验;
自本地数据库中获取与所述应用软件关联的本地证书,并使用所述本地证书对所述二级证书进行证书自校验;
在所述证书自校验通过时,令所述应用软件执行该校验操作;
在所述证书自校验未通过时,提示执行该校验操作失败,并中断所述应用软件与所述后端服务器建立的通信连接。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,所述的计算机可读指令可存储于一非易失性计算机可读取存储介质中,该计算机可读指令在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)、存储器总线直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元或模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元或模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (9)
1.一种基于本地证书的自校验方法,其特征在于,包括:
在通过应用软件与后端服务器建立通信连接时,获取用户通过所述应用软件触发预设的校验操作时发送的校验请求,并将所述校验请求发送至所述后端服务器;
所述在通过应用软件与后端服务器建立通信连接时,获取用户通过所述应用软件触发预设的校验操作时发送的校验请求,并将所述校验请求发送至所述后端服务器之前,包括:
接收所述应用软件的安装指令,获取并安装从软件发布方下载在本地数据库中的所述应用软件;其中,所述应用软件中包含所述本地证书;所述本地证书在所述软件发布方发布时已被预置在所述应用软件的二进制代码中,并已通过预设的加固工具进行加固;
在等待时长等于或者小于预设时长阈值时,获取所述后端服务器返回的二级证书,调用预设的截断接口斩断证书链校验;所述等待时长为发送所述校验请求的时间与当前时间的差值;
自本地数据库中获取与所述应用软件关联的本地证书,并使用所述本地证书对所述二级证书进行证书自校验;
在所述证书自校验通过时,令所述应用软件执行该校验操作;
在所述证书自校验未通过时,提示执行该校验操作失败,并中断所述应用软件与所述后端服务器建立的通信连接。
2.如权利要求1所述的基于本地证书的自校验方法,其特征在于,所述自本地数据库中获取与所述应用软件关联的本地证书,并使用所述本地证书对所述二级证书进行比对校验,包括:
在确认已经斩断所述证书链校验之后,获取内置在所述本地数据库中与所述应用软件关联的本地证书的本地公钥;
对获取到的所述二级证书进行解析之后,获取所述二级证书的待校验公钥,并检测所述本地公钥与所述待校验公钥是否一致;
在所述本地公钥与所述待校验公钥一致时,确定所述证书自校验通过;
在所述本地公钥与所述待校验公钥不一致时,确定所述证书自校验未通过。
3.如权利要求2所述的基于本地证书的自校验方法,其特征在于,所述在确认已经斩断所述证书链校验之后,获取内置在所述本地数据库中与所述应用软件关联的本地证书的本地公钥之后,包括:
对获取到的所述二级证书进行解析之后,获取所述二级证书的地址标识和待校验公钥,调用预设的地址检测接口对所述二级证书的所述地址标识进行地址校验,且使用所述本地公钥对所述二级证书的所述待校验公钥进行公钥校验。
4.如权利要求1所述的基于本地证书的自校验方法,其特征在于,所述自本地数据库中获取与所述应用软件关联的本地证书,并使用所述本地证书对所述二级证书进行证书自校验之后,包括:
在所述证书自校验未通过时,继续保持所述应用软件与所述后端服务器建立的通信连接,并根据预设显示模式将包含安全警告信息的预设窗口显示在客户端;
根据所述用户在所述预设窗口触发的选择按钮令所述应用软件执行与所述选择按钮关联的操作。
5.一种基于本地证书的自校验装置,其特征在于,包括:
发送模块,用于在通过应用软件与后端服务器建立通信连接时,获取用户通过所述应用软件触发预设的校验操作时发送的校验请求,并将所述校验请求发送至所述后端服务器;
所述在通过应用软件与后端服务器建立通信连接时,获取用户通过所述应用软件触发预设的校验操作时发送的校验请求,并将所述校验请求发送至所述后端服务器之前,包括:
接收所述应用软件的安装指令,获取并安装从软件发布方下载在本地数据库中的所述应用软件;其中,所述应用软件中包含所述本地证书;所述本地证书在所述软件发布方发布时已被预置在所述应用软件的二进制代码中,并已通过预设的加固工具进行加固;
调用模块,用于在等待时长等于或者小于预设时长阈值时,获取所述后端服务器返回的二级证书,调用预设的截断接口斩断证书链校验;所述等待时长为发送所述校验请求的时间与当前时间的差值;
自校验模块,用于自本地数据库中获取与所述应用软件关联的本地证书,并使用所述本地证书对所述二级证书进行证书自校验;
执行模块,用于在所述证书自校验通过时,令所述应用软件执行该校验操作;
提示中断模块,用于在所述证书自校验未通过时,提示执行该校验操作失败,并中断所述应用软件与所述后端服务器建立的通信连接。
6.如权利要求5所述的基于本地证书的自校验装置,其特征在于,所述自校验模块,包括:
获取子模块,用于在确认已经斩断所述证书链校验之后,获取内置在所述本地数据库中与所述应用软件关联的本地证书的本地公钥;
检测子模块,用于对获取到的所述二级证书进行解析之后,获取所述二级证书的待校验公钥,并检测所述本地公钥与所述待校验公钥是否一致;
第一结果子模块,用于在所述本地公钥与所述待校验公钥一致时,确定所述证书自校验通过;
第二结果子模块,用于在所述本地公钥与所述待校验公钥不一致时,确定所述证书自校验未通过。
7.如权利要求5所述的基于本地证书的自校验装置,其特征在于,所述装置还包括:
显示模块,用于在所述证书自校验未通过时,继续保持所述应用软件与所述后端服务器建立的通信连接,并根据预设显示模式将包含安全警告信息的预设窗口显示在客户端;
选择模块,用于根据所述用户在所述预设窗口触发的选择按钮令所述应用软件执行与所述选择按钮关联的操作。
8.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,其特征在于,所述处理器执行所述计算机可读指令时实现如权利要求1至4任一项所述基于本地证书的自校验方法。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,其特征在于,所述计算机可读指令被处理器执行时实现如权利要求1至4任一项所述基于本地证书的自校验方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910430075.6A CN110300096B (zh) | 2019-05-22 | 2019-05-22 | 基于本地证书的自校验方法、装置、设备及存储介质 |
PCT/CN2020/085577 WO2020233308A1 (zh) | 2019-05-22 | 2020-04-20 | 基于本地证书的自校验方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910430075.6A CN110300096B (zh) | 2019-05-22 | 2019-05-22 | 基于本地证书的自校验方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110300096A CN110300096A (zh) | 2019-10-01 |
CN110300096B true CN110300096B (zh) | 2022-09-23 |
Family
ID=68027069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910430075.6A Active CN110300096B (zh) | 2019-05-22 | 2019-05-22 | 基于本地证书的自校验方法、装置、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110300096B (zh) |
WO (1) | WO2020233308A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110300096B (zh) * | 2019-05-22 | 2022-09-23 | 深圳壹账通智能科技有限公司 | 基于本地证书的自校验方法、装置、设备及存储介质 |
CN111314085B (zh) * | 2020-01-22 | 2023-05-23 | 维沃移动通信有限公司 | 数字证书验证方法及装置 |
CN112597517A (zh) * | 2020-12-25 | 2021-04-02 | 携程旅游网络技术(上海)有限公司 | 用于安装客户端的加密通信方法、系统、设备及介质 |
CN112822020B (zh) * | 2020-12-30 | 2023-12-12 | 新疆联盛科技有限公司 | 网络请求方法、装置、计算机设备及存储介质 |
CN112995158B (zh) * | 2021-02-09 | 2022-11-08 | 中国建设银行股份有限公司 | 通信方法、终端、服务器及通信系统 |
CN115250186B (zh) * | 2021-04-12 | 2024-04-16 | 顺丰科技有限公司 | 网络连接认证方法、装置、计算机设备和存储介质 |
CN114301601B (zh) * | 2021-12-28 | 2023-11-03 | 福建汇思博数字科技有限公司 | 一种基于Android平台的接口管理方法及终端 |
CN115334160B (zh) * | 2022-08-03 | 2024-03-29 | 中国平安财产保险股份有限公司 | 一种https证书下发方法、及其相关设备 |
CN115905172B (zh) * | 2022-11-28 | 2023-08-04 | 维克多精密工业(深圳)有限公司 | 一种成套模具数据库构建方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1558596A (zh) * | 2004-01-19 | 2004-12-29 | 上海市电子商务安全证书管理中心有限 | 分布式证书验证方法 |
CN101674304A (zh) * | 2009-10-15 | 2010-03-17 | 浙江师范大学 | 一种网络身份认证系统及方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180131525A1 (en) * | 2016-11-07 | 2018-05-10 | International Business Machines Corporation | Establishing a secure connection across secured environments |
US20180302787A1 (en) * | 2017-04-13 | 2018-10-18 | Synchronoss Technologies, Inc. | Systems and methods for securely provisioning hypertext transfer protocol secure (https) pins to a mobile client |
CN108989039A (zh) * | 2017-05-31 | 2018-12-11 | 中兴通讯股份有限公司 | 证书获取方法及装置 |
US10817703B2 (en) * | 2017-09-15 | 2020-10-27 | Darien Crane | Capturing electronic signatures via captive portal |
CN107819584A (zh) * | 2017-10-11 | 2018-03-20 | 杭州迪普科技股份有限公司 | 数字证书获取方法和装置 |
CN109194631A (zh) * | 2018-08-17 | 2019-01-11 | 郑州云海信息技术有限公司 | 一种身份校验方法以及相关装置 |
CN109359977B (zh) * | 2018-09-10 | 2024-10-18 | 平安科技(深圳)有限公司 | 网络通信方法、装置、计算机设备和存储介质 |
CN109639661B (zh) * | 2018-12-04 | 2021-05-18 | 深圳前海微众银行股份有限公司 | 服务器证书更新方法、装置、设备及计算机可读存储介质 |
CN110300096B (zh) * | 2019-05-22 | 2022-09-23 | 深圳壹账通智能科技有限公司 | 基于本地证书的自校验方法、装置、设备及存储介质 |
-
2019
- 2019-05-22 CN CN201910430075.6A patent/CN110300096B/zh active Active
-
2020
- 2020-04-20 WO PCT/CN2020/085577 patent/WO2020233308A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1558596A (zh) * | 2004-01-19 | 2004-12-29 | 上海市电子商务安全证书管理中心有限 | 分布式证书验证方法 |
CN101674304A (zh) * | 2009-10-15 | 2010-03-17 | 浙江师范大学 | 一种网络身份认证系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2020233308A1 (zh) | 2020-11-26 |
CN110300096A (zh) | 2019-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110300096B (zh) | 基于本地证书的自校验方法、装置、设备及存储介质 | |
US11924234B2 (en) | Analyzing client application behavior to detect anomalies and prevent access | |
US20240048560A1 (en) | Systems and methods for endpoint management | |
US8312520B2 (en) | Methods and systems to detect attacks on internet transactions | |
US10659494B2 (en) | Method for implementing online anti-phishing | |
US8667294B2 (en) | Apparatus and method for preventing falsification of client screen | |
CN109067813B (zh) | 网络漏洞检测方法、装置、存储介质和计算机设备 | |
CN106998335B (zh) | 一种漏洞检测方法、网关设备、浏览器及系统 | |
CN108092775B (zh) | 一种校验方法及装置、电子设备 | |
KR101756692B1 (ko) | 다이나믹 보안모듈 단말장치 및 그 구동방법 | |
CN107426243A (zh) | 一种网络安全防护方法及装置 | |
CN106330817A (zh) | 一种网页访问方法、装置及终端 | |
CN111460410A (zh) | 服务器登录方法、装置、系统与计算机可读存储介质 | |
CN106953845B (zh) | 一种对网页输入敏感信息的保护方法和装置 | |
US10826901B2 (en) | Systems and method for cross-channel device binding | |
KR101436404B1 (ko) | 사용자 인증 장치 및 방법 | |
CN111193708A (zh) | 一种基于企业浏览器实现的扫码登录方法和装置 | |
CN106446719B (zh) | 一种防止eSIM文件被篡改的方法及移动终端 | |
CN110781466A (zh) | 设备安全管理方法、装置、计算机设备和存储介质 | |
US12008105B2 (en) | Protected QR code scanner using operational system override | |
KR101857060B1 (ko) | 웹사이트 수집 정보 기반 파밍 방지 방법 및 그 프로그램 | |
CN117077088A (zh) | 基于se的安全软件修改请求的认证方法及装置、终端 | |
CN115203611A (zh) | 非法网站的识别方法及其装置、电子设备及存储介质 | |
CN113992351A (zh) | 通信接口的检测方法、装置、电子设备及可读介质 | |
CN113962696A (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 |