本技术涉及车联网,特别涉及一种双向认证功能的测试方法、装置、测试设备及存储介质。
背景技术:
1、双向认证是指客户端和服务器端都需要验证对方的身份,在建立https连接的过程中,握手的流程比单向认证多。单向认证的过程,客户端从服务器端下载服务器端公钥证书进行验签,然后建立安全通信通道。双向通信流程,客户端除了需要从服务器端下载服务器的公钥证书进行验签外,还需要把客户端的公钥证书上传到服务器端给服务器端进行验证,等双方都认证通过了,才开始建立安全通信通道进行数据传输。
2、因此,对于客户端具有的双向认证功能的测试至关重,而相关技术中缺乏对于客户端的双向认证功能的合格测试,降低客户端使用过程中双向认证的可靠性。
技术实现思路
1、本技术提供一种双向认证功能的测试方法、装置、测试设备及存储介质,以解决相关技术中缺乏对于客户端的双向认证功能的合格测试,降低客户端使用过程中双向认证的可靠性等问题。
2、本技术第一方面实施例提供一种双向认证功能的测试方法,所述方法应用于测试设备,包括以下步骤:获取车机中任意客户端的双向认证测试请求;根据所述双向认证测试请求控制所述客户端与服务器之间进行双向认证测试,并抓取双向认证测试过程中的数据包;在检测到满足测试结束条件时,分析所述数据包的通信内容,基于所述通信内容判定所述客户端的双向认证功能测试合格或不合格。
3、根据上述技术手段,本技术实施例可以根据车机中任意客户端的双向认证测试请求控制客户端与服务器之间进行双向认证测试,并对双向认证测试过程中的数据包内容进行分析,从而简单且快速地识别出车机是否具备双向认证功能,测试时间短,操作简单,由于通过抓取双向认证过程中的数据包对双向认证功能进行了合格性测试,确保客户端使用双向认证功能之前属于合格状态,可以提升客户端使用过程中双向认证的可靠性。
4、可选地,在本技术的一个实施例中,所述根据所述双向认证测试请求控制所述客户端与服务器之间进行双向认证测试,包括:所述客户端建立https连接请求,将ssl协议版本的信息发送给所述服务器,所述服务器根据所述ssl协议版本的信息将自身的第一公钥证书发送给所述客户端;所述客户端读取所述第一公钥证书,得到所述服务器的第一公钥,并将自身的第二公钥证书发送给所述服务器,所述服务器使用根证书解密所述第二公钥证书,得到所述客户端的第二公钥;所述客户端发送预设方案给所述服务器,所述服务器利用所述第二公钥加密所述预设方案,得到加密方案,并发送所述加密方案至所述客户端;所述客户端利用客户端私钥解密所述加密方案,若解密成功,则利用所述第一公钥加密随机数,得到密文,并发送所述密文至所述服务器;所述服务器利用服务器私钥解密所述密文,得到所述随机数,完成所述客户端与所述服务器之间的双向认证,并在后续通讯过程中,所述服务器与所述客户端之间使用所述随机数作为密钥进行通信。
5、根据上述技术手段,本技术实施例的客户端和服务器端可以通过建立连接请求进行密钥协商,以保证传输的信息会被加密并安全的传输到目的地,防止信息被不法分子盗用。
6、可选地,在本技术的一个实施例中,所述基于所述通信内容判定所述客户端的双向认证功能测试合格或不合格,包括:若所述客户端与所述服务器之间任意认证过程失败,则判定所述双向认证功能测试不合格,否则判定所述双向认证功能测试合格。
7、根据上述技术手段,本技术实施例可以通过分析数据包的内容,能够更方便简单地验证客户端的双向认证功能。
8、可选地,在本技术的一个实施例中,在抓取双向认证测试过程中的数据包之前,包括:获取所述车机的通信数据包抓取权限;将所述抓取权限赋予预先安装的抓包工具,利用所述抓包工具抓取所述双向认证测试过程中的数据包。
9、根据上述技术手段,本技术实施例可以利用抓包工具抓取双向认证测试过程中的数据包,操作简单,方便导出并进行下一步分析。
10、本技术第二方面实施例提供一种双向认证功能的测试装置,所述装置应用于测试设备,包括:获取模块,用于获取车机中任意客户端的双向认证测试请求;请求模块,用于根据所述双向认证测试请求控制所述客户端与服务器之间进行双向认证测试,并抓取双向认证测试过程中的数据包;判定模块,用于在检测到满足测试结束条件时,分析所述数据包的通信内容,基于所述通信内容判定所述客户端的双向认证功能测试合格或不合格。
11、可选地,在本技术的一个实施例中,所述请求模块,进一步用于所述客户端建立https连接请求,将ssl协议版本的信息发送给所述服务器,所述服务器根据所述ssl协议版本的信息将自身的第一公钥证书发送给所述客户端;所述客户端读取所述第一公钥证书,得到所述服务器的第一公钥,并将自身的第二公钥证书发送给所述服务器,所述服务器使用根证书解密所述第二公钥证书,得到所述客户端的第二公钥;所述客户端发送预设方案给所述服务器,所述服务器利用所述第二公钥加密所述预设方案,得到加密方案,并发送所述加密方案至所述客户端;所述客户端利用客户端私钥解密所述加密方案,若解密成功,则利用所述第一公钥加密随机数,得到密文,并发送所述密文至所述服务器;所述服务器利用服务器私钥解密所述密文,得到所述随机数,完成所述客户端与所述服务器之间的双向认证,并在后续通讯过程中,所述服务器与所述客户端之间使用所述随机数作为密钥进行通信。
12、可选地,在本技术的一个实施例中,所述判定模块,进一步用于若所述客户端与所述服务器之间任意认证过程失败,则判定所述双向认证功能测试不合格,否则判定所述双向认证功能测试合格。
13、可选地,在本技术的一个实施例中,还包括:抓取模块,用于在抓取双向认证测试过程中的数据包之前,获取所述车机的通信数据包抓取权限;将所述抓取权限赋予预先安装的抓包工具,利用所述抓包工具抓取所述双向认证测试过程中的数据包。
14、本技术第三方面实施例提供一种测试设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如上述实施例所述的双向认证功能的测试方法。
15、本技术第四方面实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以用于实现如上述实施例所述的双向认证功能的测试方法。
16、由此,本技术至少具有如下有益效果:
17、1、本技术实施例可以根据车机中任意客户端的双向认证测试请求控制客户端与服务器之间进行双向认证测试,并对双向认证测试过程中的数据包内容进行分析,从而简单且快速地识别出车机是否具备双向认证的通信方式,测试时间短,操作简单,由于通过抓取双向认证过程中的数据包对双向认证功能进行了合格性测试,确保客户端使用双向认证功能之前属于合格状态,可以提升客户端使用过程中双向认证的可靠性。
18、2、本技术实施例的客户端和服务器端可以通过建立连接请求进行密钥协商,以保证传输的信息会被加密并安全的传输到目的地,防止信息被不法分子盗用。
19、3、本技术实施例可以通过分析数据包的内容,能够更方便简单地验证客户端的双向认证功能。
20、4、本技术实施例可以利用抓包工具抓取双向认证测试过程中的数据包,操作简单,方便导出并进行下一步分析。
21、本技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本技术的实践了解到。