一种数据处理方法和相关装置制造方法及图纸

技术编号:33716804 阅读:42 留言:0更新日期:2022-06-06 09:02
本申请公开一种数据处理方法和相关装置,由具有分布式计算框架的计算机设备执行,分布式计算框架包括的密钥管理服务模块、调度器和执行器运行在可信执行环境。在接收到计算任务请求后,密钥管理服务模块接收调度器发送的包括初始口令的第一密钥请求,以及接收执行器发送的包括初始口令的第二密钥请求。密钥管理服务模块分别响应于第一密钥请求和第二密钥请求,根据产生的密封密钥和初始口令进行消息认证码生成操作得到安全密钥,并向调度器和执行器返回安全密钥,以便调度器和执行器根据安全密钥建立RPC连接。基于RPC连接,执行器执行目标计算任务得到任务结果数据。本申请可以保证会话安全,进而保护了待处理数据的安全,降低了安全隐患。了安全隐患。了安全隐患。

【技术实现步骤摘要】
一种数据处理方法和相关装置


[0001]本申请涉及计算机
,特别是涉及一种数据处理方法和相关装置。

技术介绍

[0002]分布式计算是一门计算机科学,它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分配给许多计算节点进行处理,最后把这些计算结果综合起来得到最终的结果。分布式计算框架即实现分布式计算的框架。
[0003]在分布式计算框架中,调度器(driver)负责将计算任务拆分发送到各个执行器(Executor),执行器负责执行具体的计算任务。而调度器和执行器之间的通信是基于远程过程调用(Remote Procedure Call,RPC)实现的。目前的RPC安全保护措施通过在调度器和执行器之间共享用户输入的口令(secret),调度器和执行器之间使用共享的secret来建立RPC会话密钥,后续进一步使用协商出的RPC会话密钥来保护会话的安全。
[0004]然而上述安全保护措施存在安全隐患,即上述安全保护措施是在信任主机的前提下,认为secret在磁盘保存、网络传递、内存使用过程中是安全的,不会被窃密,进而认为基于secret协商的RPC会话密钥是安全,再进一步认为会话是安全的。在安全形势日益严峻的当下,信任主机这个假设的基石已经不复存在。当主机沦陷,secret将会在磁盘保存、网络传递、内存使用等各个环节暴露,会进一步威胁RPC会话的安全,进而使得计算任务执行过程中传递的用户数据将不再受到保护。

技术实现思路

[0005]为了解决上述技术问题,本申请提供了一种数据处理方法和相关装置,即使主机沦陷,基于安全密钥建立的RPC连接也可以保证会话安全,进而保护了目标计算任务所使用的待处理数据的安全,大大降低了安全隐患。
[0006]本申请实施例公开了如下技术方案:一方面,本申请实施例提供一种数据处理方法,所述方法由具有分布式计算框架的计算机设备执行,所述分布式计算框架包括密钥管理服务模块、调度器和执行器,所述密钥管理服务模块、调度器和执行器运行在可信执行环境中,所述方法包括:在接收到数据使用方设备发送的计算任务请求后,通过所述密钥管理服务模块接收所述调度器发送的第一密钥请求,以及通过所述密钥管理服务模块接收所述执行器发送的第二密钥请求,所述第一密钥请求和所述第二密钥请求中包括初始口令;通过所述密钥管理服务模块响应于所述第一密钥请求,根据所述密钥管理服务模块产生的密封密钥和所述初始口令进行消息认证码生成操作得到安全密钥,以及通过所述密钥管理服务模块响应于所述第二密钥请求,根据所述密封密钥和所述初始口令进行消息认证码生成操作得到所述安全密钥;通过所述密钥管理服务模块向所述调度器和所述执行器返回所述安全密钥,以便所述调度器和所述执行器根据所述安全密钥建立远程过程调用RPC连接;
基于所述RPC连接,通过所述执行器执行针对所述计算任务请求的目标计算任务,得到任务结果数据。
[0007]一方面,本申请实施例提供数据处理装置,所述装置部署在具有分布式计算框架的计算机设备上,所述分布式计算框架包括密钥管理服务模块、调度器和执行器,所述密钥管理服务模块、调度器和执行器运行在可信执行环境中,所述装置包括接收单元、生成单元、返回单元和执行单元:所述接收单元,用于在接收到数据使用方设备发送的计算任务请求后,通过所述密钥管理服务模块接收所述调度器发送的第一密钥请求,以及通过所述密钥管理服务模块接收所述执行器发送的第二密钥请求,所述第一密钥请求和所述第二密钥请求中包括初始口令;所述生成单元,用于通过所述密钥管理服务模块响应于所述第一密钥请求,根据所述密钥管理服务模块产生的密封密钥和所述初始口令进行消息认证码生成操作得到安全密钥,以及通过所述密钥管理服务模块响应于所述第二密钥请求,根据所述密封密钥和所述初始口令进行消息认证码生成操作得到所述安全密钥;所述返回单元,用于通过所述密钥管理服务模块向所述调度器和所述执行器返回所述安全密钥,以便所述调度器和所述执行器根据所述安全密钥建立远程过程调用RPC连接;所述执行单元,用于基于所述RPC连接,通过所述执行器执行针对所述计算任务请求的目标计算任务,得到任务结果数据。
[0008]一方面,本申请实施例提供一种数据处理方法,所述方法由具有分布式计算框架的计算机设备执行,所述分布式计算框架部署在可信执行环境中,所述方法包括:接收数据使用方设备发送的计算任务请求,所述计算任务请求中包括待处理加密数据的存放路径;响应于所述计算任务请求,在所述可信执行环境中获取数据加密密钥,以及根据所述存放路径从存储系统中获取所述待处理加密数据;根据所述数据加密密钥,对所述待处理加密数据进行解密得到待处理数据;根据所述待处理数据,执行针对所述计算任务请求的目标计算任务得到任务结果数据。
[0009]一方面,本申请实施例提供一种数据处理装置,所述装置部署在具有分布式计算框架的计算机设备执行,所述分布式计算框架部署在可信执行环境中,所述装置包括接收单元、获取单元、解密单元和执行单元:所述接收单元,用于接收数据使用方设备发送的计算任务请求,所述计算任务请求中包括待处理加密数据的存放路径;所述获取单元,用于响应于所述计算任务请求,在所述可信执行环境中获取数据加密密钥,以及根据所述存放路径从存储系统中获取所述待处理加密数据;所述解密单元,用于根据所述数据加密密钥,对所述待处理加密数据进行解密得到待处理数据;所述执行单元,用于根据所述待处理数据,执行针对所述计算任务请求的目标计算任务得到任务结果数据。
[0010]一方面,本申请实施例提供一种计算机设备,所述计算机设备包括处理器以及存储器:所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;所述处理器用于根据所述程序代码中的指令执行前述任一方面所述的方法。
[0011]一方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行前述任一方面所述的方法。
[0012]一方面,本申请实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现前述任一方面所述的方法。
[0013]由上述技术方案可以看出,本申请提供的方法由具有分布式计算框架的计算机设备执行,分布式计算框架包括密钥管理服务模块、调度器和执行器,将分布式计算框架与可信执行环境相结合,从而将密钥管理服务模块、调度器和执行器运行在可信执行环境中。这样,在接收到计算任务请求后,通过密钥管理服务模块接收调度器发送的包括初始口令的第一密钥请求,以及接收执行器发送的包括初始口令的第二密钥请求。为了提高建立的RPC连接的安全性,通过密钥管理服务模块响应于第一密钥请求,根据密钥管理服务模块产生的密封密钥和初始口令进行消息认证码生成操作得到安全密钥,以及通过密钥管理服务模块响应于第二密钥请求,根据密封密钥和初始口令进行消息认证码生成操作得到安全密钥。由于密封密钥是可信执行环境产生的,并且生成安全密钥的过程是在可信执行环境中进行的,外界无法获取到安全密钥,从而实现将不安全的初始本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,其特征在于,所述方法由具有分布式计算框架的计算机设备执行,所述分布式计算框架包括密钥管理服务模块、调度器和执行器,所述密钥管理服务模块、调度器和执行器运行在可信执行环境中,所述方法包括:在接收到数据使用方设备发送的计算任务请求后,通过所述密钥管理服务模块接收所述调度器发送的第一密钥请求,以及通过所述密钥管理服务模块接收所述执行器发送的第二密钥请求,所述第一密钥请求和所述第二密钥请求中包括初始口令;通过所述密钥管理服务模块响应于所述第一密钥请求,根据所述密钥管理服务模块产生的密封密钥和所述初始口令进行消息认证码生成操作得到安全密钥,以及通过所述密钥管理服务模块响应于所述第二密钥请求,根据所述密封密钥和所述初始口令进行消息认证码生成操作得到所述安全密钥;通过所述密钥管理服务模块向所述调度器和所述执行器返回所述安全密钥,以便所述调度器和所述执行器根据所述安全密钥建立远程过程调用RPC连接;基于所述RPC连接,通过所述执行器执行针对所述计算任务请求的目标计算任务,得到任务结果数据。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:通过所述调度器向所述密钥管理服务模块发起远程证明验证得到第一验证结果,以及通过所述执行器向所述密钥管理服务模块发起远程证明验证得到第二验证结果;若所述第一验证结果和所述第二验证结果都指示验证通过,执行所述通过所述密钥管理服务模块接收所述调度器发送的第一密钥请求,以及通过所述密钥管理服务模块接收所述执行器发送的第二密钥请求的步骤。3.根据权利要求1所述的方法,其特征在于,所述计算任务请求中包括待处理加密数据的存放路径,所述基于所述RPC连接,通过所述执行器执行针对所述计算任务请求的目标计算任务,得到任务结果数据,包括:基于所述RPC连接,通过所述执行器从所述调度器获取数据加密密钥和所述存放路径,所述数据加密密钥是基于所述密钥管理服务模块获取的;根据所述存放路径,通过所述执行器获取所述待处理加密数据;根据所述数据加密密钥,通过所述执行器对所述待处理加密数据进行解密得到待处理数据;根据所述待处理数据,通过所述执行器执行所述目标计算任务得到所述任务结果数据。4.根据权利要求3所述的方法,其特征在于,所述计算任务请求中包括数据加密密钥的密文,所述数据加密密钥的密文是利用第一公钥对所述数据加密密钥进行加密得到的,基于所述RPC连接,通过所述执行器从所述调度器获取数据加密密钥,包括:通过所述调度器从所述密钥管理服务模块中获取第一私钥,所述第一公钥和所述第一私钥构成第一密钥对;根据所述第一私钥,通过所述调度器对所述数据加密密钥的密文进行解密,得到所述数据加密密钥;基于所述RPC连接,通过所述调度器向所述执行器发送所述数据加密密钥。5.根据权利要求3所述的方法,其特征在于,所述数据加密密钥是第一私钥,所述第一
私钥是所述密钥管理服务模块生成的,所述待处理加密数据是利用所述第一公钥对所述待处理数据进行加密得到的,所述第一公钥和所述第一私钥构成第一密钥对,基于所述RPC连接,通过所述执行器从所述调度器获取数据加密密钥,包括:通过所述调度器从所述密钥管理服务模块中获取第一私钥;基于所述RPC连接,通过所述调度器将所述第一私钥发送至所述执行器。6.根据权利要求4或5所述的方法,其特征在于,所述方法还包括:接收数据方设备发送的加密公钥请求,所述加密公钥请求中包括所述数据方设备生成的第二公钥;根据所述第二公钥,通过所述密钥管理服务模块查询密钥数据库;若查询到与所述第二公钥对应的所述第一密钥对,通过所述密钥管理服务模块向所述数据方设备返回加密公钥响应消息,所述加密公钥响应消息中包括所述第一密钥对中的第一公钥。7.根据权利要求6所述的方法,其特征在于,所述加密公钥请求中还包括第一签名,所述第一签名是通过第二私钥对所述第二公钥进行签名得到的,所述第二公钥和所述第二私钥构成第二密钥对,所述根据所述第二公钥,通过所述密钥管理服务模块查询密钥数据库之前,所述方法还包括:通过所述密钥管理服务模块使用所述第二公钥对所述第一签名进行校验;若校验通过,执行所述根据所述第二公钥,通过所述密钥管理服务模块查询密钥数据库的步骤。8.根据权利要求1所述的方法,其特征在于,所述计算任务请求中还包括第三公钥,所述方法还包括:基于所述RPC连接,通过所述执行器从所述调度器获取所述第三公钥;根据所述第三公钥,通过所述执行器对结果加密密钥进行加密,得到结果加密密钥的密文;根据所述结果加密密钥,通过所述执行器对所述任务结果数据进行加密得到加密结果数据。9.根据权利要求8所述的方法,其特征在于,所述方法还包括:接收结果使用方设备发送的结果请求;通过所述执行器响应于所述结果请求,向所述结果使用方设备返回结果响应数据,所述结果响应数据中包括所述结果加密密钥的密文和所述加密结果数据,以便所述结果使用方设备利用第三私钥对所述加密密钥的密文进行解密得到所述结果加密密钥,使用所述结果加密密钥对所述加密结果数据进行解密得到所述任务结果数据,所述第三公钥和所述第三私钥构成第三密钥对。10.根据权利要求9所述的方法,其特征在于,所述方法还包括:基于所述RPC连接,通过所述执行器从所述调度器获取签名私钥,所述签名私钥是所述调度器向所述密钥管理服务模块请求得到的;通过所述执行器使用所述签名私钥对所述结果加密密钥的密文进行签名得到第二签名,以及通过所述执行器使用所述签名私钥对所述加密结果数据进行签名得到第三签名;所述结果响应数据中还包括所述第二签名和所述第三签名,以便所述结果使用方设备
基于所述第二签名和所述第三签名分别进行签名验证,并在签名验证通过后,执行利用第二私钥对所述加密密钥的密文进行解密得到所述结果加密密钥,使用所述结果加密密钥对所述加密结果数据进行解密得到所述任务结果数据的步骤。11.根据权利要求1

5任一项所述的方法,其特征在于,所述基于所述RPC连接,通过所述执行器执行针对所述计算任务请求的目标计算任务,得到任务结果数据,包括:基于所述RPC连接,通过所述执行器按照任务模型的指示执行所述目标计算任务得到所述任务结果数据。12.根据权利要求11所述的方法,其特征在于,所述计算任务请求中还包括所述任务模型的数据包的第一哈希值,在基于所述RPC连接,通过所述执行器按照任务模型的指示执行所述目标计算任务得到所述任务结果数据之前,所述方法还包括:通过所述调度器计算所述任务模型的数据包的第二哈希值;将所述第一哈希值与所述第二哈希值进行比对得到比对结果;若所述比对结果指示所述第一哈希值与所述第二哈希值一致,则执行所述基于所述RPC连接,通过所述执行器按照任务模型的指示执行所述目标计算任务得到所述任务结果数据的步骤。13.根据权利要求1

5任一项所述的方法,其特征在于,所述计算任务请求中还包括第二公钥和第四签名,所述第四签名是利用第二私钥对授权数据进行签名得到的,所述第二公钥和所述第二私钥构成第二密钥对,所述授权数据是数据使用方设备向数据方设备请求授权生成的,所述授权数据包括所述调度器的度量信息和所述数据方设备的数据描述信息,所述基于所述RPC连接,通过所述执行器执行针对所述计算任务请求的目标计算任务,得到任务结果数据之前,所述方法还包括:通过所述调度器使用所述第二公钥对所述第四签名进行校验;若校验通过,执行所述基于所述RPC连接,通过所述执行器执行针对所述计算任务请求的目标计算任务,得到任务结果数据的步骤。14.一种数据处理装置,其特征在于,所述装置部署在具有分布式计算框架的计算机设备上,所述分布式计算框架包括密钥管理服务模块、调度器和执行器,所述密钥管理服务模块、调度器和执...

【专利技术属性】
技术研发人员:何林书陈瑞钦刘舒黎相敏张韬张博程勇
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1