【技术实现步骤摘要】
一种数据处理方法和相关装置
[0001]本申请涉及计算机
,特别是涉及一种数据处理方法和相关装置。
技术介绍
[0002]分布式计算是一门计算机科学,它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分配给许多计算节点进行处理,最后把这些计算结果综合起来得到最终的结果。分布式计算框架即实现分布式计算的框架。
[0003]在分布式计算框架中,调度器(driver)负责将计算任务拆分发送到各个执行器(Executor),执行器负责执行具体的计算任务。而调度器和执行器之间的通信是基于远程过程调用(Remote Procedure Call,RPC)实现的。目前的RPC安全保护措施通过在调度器和执行器之间共享用户输入的口令(secret),调度器和执行器之间使用共享的secret来建立RPC会话密钥,后续进一步使用协商出的RPC会话密钥来保护会话的安全。
[0004]然而上述安全保护措施存在安全隐患,即上述安全保护措施是在信任主机的前提下,认为secret在磁盘保存、网络传递、内存使用过程中是安全的,不会被窃密,进而认为基于secret协商的RPC会话密钥是安全,再进一步认为会话是安全的。在安全形势日益严峻的当下,信任主机这个假设的基石已经不复存在。当主机沦陷,secret将会在磁盘保存、网络传递、内存使用等各个环节暴露,会进一步威胁RPC会话的安全,进而使得计算任务执行过程中传递的用户数据将不再受到保护。
技术实现思路
[0005]为了解决上述技术问题, ...
【技术保护点】
【技术特征摘要】
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.一种数据处理装置,其特征在于,所述装置部署在具有分布式计算框架的计算机设备上,所述分布式计算框架包括密钥管理服务模块、调度器和执行器,所述密钥管理服务模块、调度器和执...
【专利技术属性】
技术研发人员:何林书,陈瑞钦,刘舒,黎相敏,张韬,张博,程勇,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。