一种基于端到端模型的代码可信执行方法技术

技术编号:24293653 阅读:20 留言:0更新日期:2020-05-26 20:56
本发明专利技术公开了一种基于端到端模型的代码可信执行方法,数据使用方根据数据提供方设定的数据规范进行代码编写并加密传输至数据提供方;数据提供方则为数据使用方提供隔离计算运行环境,由数据提供方启动可信执行环境,数据使用方将加密后的代码与密钥分别发送至可信执行环境内,可信执行环境恢复代码并执行,代码执行过程中通过数据访问代理获取数据并进行处理,结果通过代码执行代理返回给数据使用方。采用本发明专利技术可以同时对数据提供方的数据和数据使用方的代码进行保护,使得数据提供方和数据使用方在互不可信的情况下也能够进行信息交互。

A trusted code execution method based on end-to-end model

【技术实现步骤摘要】
一种基于端到端模型的代码可信执行方法
本专利技术属于信息
,更为具体地讲,涉及一种基于端到端模型的代码可信执行方法。
技术介绍
在传统的数据使用模式下,数据所有方通常将源数据打包传输给数据使用者。但现在,数据所有者们开始意识到自己持有的数据是一种商业资产,可以从中获取利益;他们开始对向外传递数据这一操作带来的权益问题和隐私风险感到担忧。为了消除由于数据脱离自己掌握带来的泄露风险,业界开始采用一种“把代码交给数据,而不把数据交给代码”的思路来解决这一问题。不同于传统的将数据给到代码一方,将代码放置于数据一方的环境中进行运算,数据不出库,能够有效的避免数据对外开放导致的各类安全问题。但将代码给到数据方这一方法,也存在两方面的问题:1、代码不可信,在计算过程中可能由于主观窃取或被外部攻击而导致数据泄露;2、数据方不可信,执行环境的不安全可能导致代码被反编译,导致应用方知识产权受到损害。因此,有必要提出一种可信执行方法,以支撑数据提供方和使用方在双方互不可信的情况下进行数据交互,并同时保证使用方代码和提供方数据的安全性。
技术实现思路
本专利技术的目的在于克服现有技术的不足,提供一种基于端到端模型的代码可信执行方法,同时对数据提供方的数据和数据使用方的代码进行保护,使得数据提供方和数据使用方在互不可信的情况下也能够进行信息交互。为实现上述专利技术目的,本专利技术基于端到端模型的代码可信执行方法包括以下步骤:S1:数据提供方制定代码对数据的使用规范,包括构建数据访问代理,设置数据访问权限以及计算结果返回格式;同时构建代码执行代理与可信执行环境,执行代理运行在非可信环境,实现对可信执行环境的初始化,并构建启动入口及通信组件;S2:数据使用方根据数据提供方的数据使用规范构建代码文件,并采用对称加密算法对代码文件进行加密,加密后的代码文件与密钥K1由数据使用方安全存储;S3:数据使用方与数据提供方进行身份验证,并由数据使用方和可信执行环境协商传输使用的会话密钥K2,建立安全通道;S4:数据使用方将加密后的代码文件和密钥K1采用密钥K2进行加密后发送给数据提供方,数据提供方在接收后通过代码执行代理转发至可信执行环境,可信执行环境对接收到的文件先采用密钥K2进行解密,再采用密钥K1对代码文件进行解密恢复,然后关闭安全通道;S5:数据提供方的执行代理启动代码在可信执行环境中的运行,代码执行过程中通过数据访问代理进行数据访问;S6:代码执行完毕后,执行代理根据数据提供方预先设置的规则对执行结果进行合法性判断,如果通过合法性判断,则向数据使用方反馈执行结果,否则向数据使用方发送执行结果不合法的提示。本专利技术基于端到端模型的代码可信执行方法,数据使用方根据数据提供方设定的数据规范进行代码编写并加密传输至数据提供方;数据提供方则为数据使用方提供隔离计算运行环境,由数据提供方启动可信执行环境,数据使用方将加密后的代码与密钥分别发送至可信执行环境内,可信执行环境恢复代码并执行,代码执行过程中通过数据访问代理获取数据并进行处理,结果通过代码执行代理返回给数据使用方。本专利技术综合考虑了数据安全与代码安全两方面的问题,数据提供方提供数据使用方代码的运算环境,代码所有的输入与输出都在代码执行代理的限制中,数据使用方的代码无法将源数据从可信执行环境中直接向外部发送,从而保障了数据安全;同时,数据使用方的代码是以加密文件的形式传入可信执行环境,并在可信执行环境中解密,而可信执行环境与数据提供方上层的操作系统等特权用户隔离,仅能通过固定的代码执行代理进行交互,因此数据使用方代码在可信执行环境中是隔离的、安全的。可见,本专利技术能够保证双方在互相不信任的情况下也可以安全地合作,进行数据处理与信息交互。附图说明图1是本专利技术基于端到端模型的代码可信执行方法的具体实施方式流程图;图2是本专利技术中数据提供方执行环境的示意图。具体实施方式下面结合附图对本专利技术的具体实施方式进行描述,以便本领域的技术人员更好地理解本专利技术。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本专利技术的主要内容时,这些描述在这里将被忽略。实施例在本专利技术中,设定了一个端到端的应用环境,环境中存在两个核心角色:一端为数据提供方,一端为数据使用方。数据提供方拥有大量数据,数据是提供方的私有资产,一方面它具有将数据开放给第三方使用,获取利益的需求;另一方面它需要保护数据不被泄露,保护自己的数据权益和隐私安全。数据使用方是代码的提供者,代码需要对数据进行操作,需要将代码部署到数据提供方,他希望保护自己的代码不被逆向工程,知识产权得以保障。上述双方角色区分为逻辑结构上的区分,在物理设备上不作强制区分。图1是本专利技术基于端到端模型的代码可信执行方法的具体实施方式流程图。如图1所示,本专利技术基于端到端模型的代码可信执行方法的具体步骤包括:S101:构建执行环境:数据提供方制定代码对数据的使用规范,包括构建数据访问代理,设置数据访问权限以及执行结果返回格式;同时构建代码执行代理与可信执行环境,执行代理运行在非可信环境,实现对可信执行环境的初始化,并构建启动入口及通信组件。启动入口即为加密代码的恢复入口,通信组件的作用在于实现可信执行环境与数据使用方之间的报文构建与转发。图2是本专利技术中数据提供方执行环境的示意图。可信执行环境(TEE)是一种安全的计算环境,由内存与存储功能组成。TEE与操作系统、应用程序的正常运行环境相互隔离,将敏感操作局限在TEE内。保证了执行代码的真实性,运行时状态的完整性(例如CPU寄存器,内存和敏感I/O),以及存储在持久内存中的代码、数据和运行时状态的机密性。如今较为常用的TEE架构包括ARMTrustZoneTechnology,IntelSoftwareGuardExtensions(SGX),AMDPlatformSecureProcessor以及MesaTEE等,实际应用中可以根据需要选择。S102:构建代码文件:数据使用方根据数据提供方的数据使用规范构建代码文件,并采用对称加密算法对代码文件进行加密,加密后的代码文件与密钥K1由数据使用方安全存储。具体的加密算法可以由数据使用方自行选择,例如AES对称加密算法等。S103:建立安全通道:数据使用方与数据提供方进行身份验证,并由数据使用方和可信执行环境协商传输使用的会话密钥K2,建立安全通道,其具体过程包括:数据提供方经由执行代理构建并启用可信执行环境,通过入口函数进入可信执行环境内部;可信执行环境构建建立安全通道的请求,并在报文中附带可信执行环境的身份证明,经由执行代理发送给数据使用方。执行代理收到可信执行环境的请求信息之后,向该报文添加自身身份信息并签名后,构建完整请求,发往数据使用方。数据使用方接受到建立安全连接的请求信息后,根据请求报文中的身份信息与签名进行验签操作,验签通过之后则数据使用方采本文档来自技高网...

【技术保护点】
1.一种基于端到端模型的代码可信执行方法,其特征在于,包括以下步骤:/nS1:数据提供方制定代码对数据的使用规范,包括构建数据访问代理,设置数据访问权限以及计算结果返回格式;同时构建代码执行代理与可信执行环境,执行代理运行在非可信环境,实现对可信执行环境的初始化,并构建启动入口及通信组件,同时构建数据访问代理;/nS2:数据使用方根据数据提供方的数据使用规范构建代码文件,并采用对称加密算法对代码文件进行加密,加密后的代码文件与密钥K1由数据使用方安全存储;/nS3:数据使用方与数据提供方进行身份验证,并由数据使用方和可信执行环境协商传输使用的会话密钥K2,建立安全通道;/nS4:数据使用方将加密后的代码文件和密钥K1采用密钥K2进行加密后发送给数据提供方,数据提供方在接收后通过代码执行代理转发至可信执行环境,可信执行环境对接收到的文件先采用密钥K2进行解密,再采用密钥K1对代码文件进行解密恢复,然后关闭安全通道;/nS5:数据提供方的执行代理启动代码在可信执行环境中的运行,代码执行过程中通过数据访问代理进行数据访问;/nS6:代码执行完毕后,执行代理根据数据提供方预先设置的规则对执行结果进行合法性判断,如果通过合法性判断,则向数据使用方反馈执行结果,否则向数据使用方发送执行结果不合法的提示。/n...

【技术特征摘要】
1.一种基于端到端模型的代码可信执行方法,其特征在于,包括以下步骤:
S1:数据提供方制定代码对数据的使用规范,包括构建数据访问代理,设置数据访问权限以及计算结果返回格式;同时构建代码执行代理与可信执行环境,执行代理运行在非可信环境,实现对可信执行环境的初始化,并构建启动入口及通信组件,同时构建数据访问代理;
S2:数据使用方根据数据提供方的数据使用规范构建代码文件,并采用对称加密算法对代码文件进行加密,加密后的代码文件与密钥K1由数据使用方安全存储;
S3:数据使用方与数据提供方进行身份验证,并由数据使用方和可信执行环境协商传输使用的会话密...

【专利技术属性】
技术研发人员:陈虹林婧丘志杰
申请(专利权)人:北京链道科技有限公司
类型:发明
国别省市:北京;11

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

1