一种数据处理方法、装置、设备以及可读存储介质制造方法及图纸

技术编号:38887977 阅读:6 留言:0更新日期:2023-09-22 14:14
本申请公开了一种数据处理方法、装置、设备以及可读存储介质,方法包括:服务器获取客户端发送的密钥协商请求,基于密钥协商请求向客户端返回密钥协商响应信息;密钥协商响应信息包括第一随机数、服务器公钥以及目标密码套件;接收客户端发送的客户端加密信息;在可信执行环境中基于服务器私钥对客户端加密信息进行解密,得到第二随机数;基于第一随机数、第二随机数以及密钥协商请求中所携带的第三随机数,生成会话密钥;会话密钥用于在与客户端之间传输应用数据的过程中,对应用数据进行加密或解密。采用本申请,可以在协商会话密钥的场景中,提高私钥的安全性,从而提高通信安全性。本申请实施例可以应用于车载场景。本申请实施例可以应用于车载场景。本申请实施例可以应用于车载场景。

【技术实现步骤摘要】
一种数据处理方法、装置、设备以及可读存储介质


[0001]本申请涉及计算机
,尤其涉及一种数据处理方法、装置、设备以及可读存储介质。

技术介绍

[0002]当前,在两个设备期望通过安全传输层协议(Transport Layer Security,TLS)进行加密传输数据时,需要共同协商出一个会话密钥,用于对传输的数据进行加密。
[0003]对于会话密钥的协商,需要使用到设备的私钥,然而目前对于设备的私钥,主要是明文保存在设备上,私钥存在被第三方窃取的风险,窃取后对于会话密钥即可被第三方解密获取,从而可以获取到通信传输中的数据。可见,在TLS传输场景中,私钥的存储和使用方式存在风险,传输数据的安全性很低。

技术实现思路

[0004]本申请实施例提供一种数据处理方法、装置、设备以及可读存储介质,可以在协商会话密钥的场景中,提高私钥的安全性,从而提高通信安全性。
[0005]本申请实施例一方面提供了一种数据处理方法,包括:
[0006]服务器获取客户端发送的密钥协商请求,基于密钥协商请求向客户端返回密钥协商响应信息;密钥协商响应信息包括第一随机数、服务器公钥以及目标密码套件;
[0007]接收客户端发送的客户端加密信息;客户端加密信息是指客户端基于服务器公钥对第二随机数进行加密后所得到的信息,第二随机数由客户端基于目标密码套件所生成;
[0008]在可信执行环境中获取服务器私钥,在可信执行环境中基于服务器私钥对客户端加密信息进行解密,得到第二随机数;可信执行环境是指密钥管理软件开发工具包中的可信程序,密钥管理软件开发工具包是指将密钥管理逻辑程序进行封装后所得到的软件开发工具包;可信执行环境与服务器的操作系统相互隔离;
[0009]基于第一随机数、第二随机数以及密钥协商请求中所携带的第三随机数,生成会话密钥;会话密钥用于在与客户端之间传输应用数据的过程中,对应用数据进行加密或解密。
[0010]本申请实施例一方面提供了一种数据处理装置,包括:
[0011]请求获取模块,用于获取客户端发送的密钥协商请求;
[0012]响应返回模块,用于基于所述密钥协商请求向所述客户端返回密钥协商响应信息;所述密钥协商响应信息包括第一随机数、服务器公钥以及目标密码套件;
[0013]加密信息接收模块,用于接收所述客户端发送的客户端加密信息;所述客户端加密信息是指所述客户端基于所述服务器公钥对第二随机数进行加密后所得到的信息,所述第二随机数由所述客户端基于所述目标密码套件所生成;
[0014]私钥获取模块,用于在可信执行环境中获取服务器私钥;
[0015]解密模块,用于在所述可信执行环境中基于所述服务器私钥对所述客户端加密信
息进行解密,得到所述第二随机数;所述可信执行环境是指密钥管理软件开发工具包中的可信程序,所述密钥管理软件开发工具包是指将密钥管理逻辑程序进行封装后所得到的软件开发工具包;所述可信执行环境与所述服务器的操作系统相互隔离;
[0016]会话密钥生成模块,用于基于所述第一随机数、所述第二随机数以及所述密钥协商请求中所携带的第三随机数,生成会话密钥;所述会话密钥用于在与所述客户端之间传输应用数据的过程中,对所述应用数据进行加密或解密。
[0017]在一个实施例中,所述密钥协商请求携带所述客户端的可用密码套件列表;
[0018]响应返回模块,包括:
[0019]随机数生成单元,用于基于所述密钥协商请求生成所述第一随机数;
[0020]套件选择单元,用于在所述可用密码套件列表中选择所述目标密码套件;
[0021]证书获取单元,用于获取由可信节点为所述服务器所签发的第一数字证书;所述第一数字证书包括所述服务器公钥;
[0022]响应返回单元,用于将所述第一随机数、所述第一数字证书以及所述目标密码套件确定为所述密钥协商响应信息,向所述客户端返回所述密钥协商响应信息。
[0023]在一个实施例中,所述可用密码套件列表中的每个可用密码套件包括所述客户端所能支持的加密算法;所述第二随机数是由所述客户端基于所述目标密码套件中所包括的加密算法所生成的;所述第一数字证书中还包括采用所述可信节点的节点私钥对所述第一数字证书进行签名的第一签名信息,所述第一签名信息用于所述客户端基于所述可信节点的节点公钥对所述第一数字证书进行验证,并在验证通过后获取到所述服务器公钥。
[0024]在一个实施例中,所述密钥协商响应信息中还包括证书验证请求,所述证书验证请求用于请求所述客户端向所述服务器发送所述客户端的第二数字证书;所述客户端加密信息还携带所述客户端基于所述证书验证请求向所述服务器所发送的所述第二数字证书;所述第二数字证书由所述可信节点为所述客户端所签发,所述第二数字证书包括所述由可信节点的节点私钥对所述第二数字证书进行签名的第二签名信息;
[0025]私钥获取模块,包括:
[0026]证书验证单元,用于基于所述可信节点的节点公钥以及所述第二签名信息,对所述第二数字证书进行验证;
[0027]私钥获取单元,用于在验证通过时,在可信执行环境中获取服务器私钥。
[0028]在一个实施例中,所述服务器支持安全传输层协议,所述密钥协商请求是基于所述安全传输层协议所生成的;
[0029]该数据处理装置还包括:
[0030]程序获取模块,用于获取密钥管理逻辑程序、所述密钥管理逻辑程序对应的通信接口以及所述密钥管理逻辑程序对应的调用函数;
[0031]程序封装模块,用于将所述密钥管理逻辑程序作为可信程序,将所述调用函数作为普通程序,将所述可信程序、所述通信接口以及所述普通程序进行封装,得到所述密钥管理软件开发工具包;
[0032]工具包集成模块,用于将所述密钥管理软件开发工具包集成于所述服务器的安全协议库中,将所述安全协议库中所集成的所述密钥管理软件开发工具包中的所述可信程序,确定为所述可信执行环境;所述安全协议库是指所述安全传输层协议对应的协议库。
[0033]在一个实施例中,所述普通程序包括解密函数;所述通信接口用于所述普通程序与所述可信程序之间进行通信,所述通信接口包括解密功能通信接口;所述可信程序包括解密功能逻辑程序;
[0034]解密模块,包括:
[0035]函数调用单元,用于调用所述普通程序中的所述解密函数,通过所述解密函数在所述通信接口中获取所述解密功能通信接口,通过所述解密功能通信接口将所述客户端加密信息发送至所述解密功能逻辑程序;
[0036]解密单元,用于在所述解密功能逻辑程序中采用所述服务器私钥对所述客户端加密信息进行解密,得到所述第二随机数;所述解密功能逻辑程序用于通过所述解密功能通信接口将所述第二随机数返回至所述普通程序;
[0037]随机数接收单元,用于接收所述普通程序返回的所述第二随机数。
[0038]在一个实施例中,所述会话密钥中包括加密秘钥与解密密钥;
[003本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:服务器获取客户端发送的密钥协商请求,基于所述密钥协商请求向所述客户端返回密钥协商响应信息;所述密钥协商响应信息包括第一随机数、服务器公钥以及目标密码套件;接收所述客户端发送的客户端加密信息;所述客户端加密信息是指所述客户端基于所述服务器公钥对第二随机数进行加密后所得到的信息,所述第二随机数由所述客户端基于所述目标密码套件所生成;在可信执行环境中获取服务器私钥,在所述可信执行环境中基于所述服务器私钥对所述客户端加密信息进行解密,得到所述第二随机数;所述可信执行环境包含密钥管理软件开发工具包中的可信程序,所述密钥管理软件开发工具包是指将密钥管理逻辑程序进行封装后所得到的软件开发工具包;所述可信执行环境与所述服务器的操作系统相互隔离;基于所述第一随机数、所述第二随机数以及所述密钥协商请求中所携带的第三随机数,生成会话密钥;所述会话密钥用于在与所述客户端之间传输应用数据的过程中,对所述应用数据进行加密或解密。2.根据权利要求1所述的方法,其特征在于,所述密钥协商请求携带所述客户端的可用密码套件列表;所述基于所述密钥协商请求向所述客户端返回密钥协商响应信息,包括:基于所述密钥协商请求生成所述第一随机数;在所述可用密码套件列表中选择所述目标密码套件;获取由可信节点为所述服务器所签发的第一数字证书;所述第一数字证书包括所述服务器公钥;将所述第一随机数、所述第一数字证书以及所述目标密码套件确定为所述密钥协商响应信息,向所述客户端返回所述密钥协商响应信息。3.根据权利要求2所述的方法,其特征在于,所述可用密码套件列表中的每个可用密码套件包括所述客户端所能支持的加密算法;所述第二随机数是由所述客户端基于所述目标密码套件中所包括的加密算法所生成的;所述第一数字证书中还包括采用所述可信节点的节点私钥对所述第一数字证书进行签名的第一签名信息,所述第一签名信息用于所述客户端基于所述可信节点的节点公钥对所述第一数字证书进行验证,并在验证通过后获取到所述服务器公钥。4.根据权利要求1所述的方法,其特征在于,所述密钥协商响应信息中还包括证书验证请求,所述证书验证请求用于请求所述客户端向所述服务器发送所述客户端的第二数字证书;所述客户端加密信息还携带所述客户端基于所述证书验证请求向所述服务器所发送的所述第二数字证书;所述第二数字证书由所述可信节点为所述客户端所签发,所述第二数字证书包括所述由可信节点的节点私钥对所述第二数字证书进行签名的第二签名信息;所述在可信执行环境中获取服务器私钥,包括:基于所述可信节点的节点公钥以及所述第二签名信息,对所述第二数字证书进行验证;在验证通过时,在可信执行环境中获取服务器私钥。5.根据权利要求1所述的方法,其特征在于,所述服务器支持安全传输层协议,所述密钥协商请求是基于所述安全传输层协议所生成的;
所述方法还包括:获取密钥管理逻辑程序、所述密钥管理逻辑程序对应的通信接口以及所述密钥管理逻辑程序对应的调用函数;将所述密钥管理逻辑程序作为可信程序,将所述调用函数作为普通程序,将所述可信程序、所述通信接口以及所述普通程序进行封装,得到所述密钥管理软件开发工具包;将所述密钥管理软件开发工具包集成于所述服务器的安全协议库中,将所述安全协议库中所集成的所述密钥管理软件开发工具包中的所述可信程序,确定为所述可信执行环境;所述安全协议库是指所述安全传输层协议对应的协议库。6.根据权利要求5所述的方法,其特征在于,所述普通程序包括解密函数;所述通信接口用于所述普通程序与所述可信程序之间进行通信,所述通信接口包括解密功能通信接口;所述可信程序包括解密功能逻辑程序;所述在所述可信执行环境中基于所述服务器私钥对所述客户端加密信息进行解密,得到所述第二随机数,包括:调用所述普通程序中的所述解密函数,通过所述解密函数在所述通信接口中获取所述解密功能通信接口,通过所述解密功能通信接口将所述客户端加密信息发送至所述解密功能逻辑程序;在所述解密功能逻辑程序中采用所述服务器私钥对所述客户端加密信息进行解密,得到所述第二随机数;所述解密功能逻辑程序用于通过所述解密功能通信接口将所述第二随机数返回至所述普通程序;接收所述普通程序返回的所述第二随机数。7.根据权利要求1所述的方法,其特征在于,所述会话密钥中包括加密秘钥与解密密钥;所述方法还包括:接收所述客户端发...

【专利技术属性】
技术研发人员:张慧蓝虎王宗友
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1