基于可信执行环境的数据安全上链实现方法与流程

文档序号:31878216发布日期:2022-10-21 22:23阅读:22来源:国知局
基于可信执行环境的数据安全上链实现方法与流程

1.本发明涉及的是一种信息安全领域的技术,具体是一种基于可信执行环境(tee)的数据安全上链实现方法。


背景技术:

2.可信执行环境,是在设计中就嵌入内生安全保护功能的计算芯片,在芯片制造过程中可以内置唯一的签名密钥,该密钥由芯片本身的保护机制决定了其安全性。该签名密钥仅能被在tee安全区运行的程序使用生成签名,该签名在芯片生产商的配合下可以验证其正确性。利用该机制可以验证tee安全区可执行程序的完整性,即对该程序做哈希计算后生成数字签名,通过签名验证程序没有被篡改,从而保证程序逻辑的正确性。


技术实现要素:

3.本发明针对现有技术不支持自定义的数据处理逻辑且无法保证处理后的数据的安全性与完整性,由于区块链本身的吞吐率有限,在大多数的应用场景中,原始采集的数据无法直接上链的缺陷,提出一种基于可信执行环境的数据安全上链实现方法,利用可信执行环境实现数据从输入到上链全程的安全性,可以实现对于外部数据源安全可信的上链过程,通过两次签名可以确保数据是由未被篡改的代码按照正确逻辑生成的,本发明具有高度的灵活性,其计算过程可以支持数值计算、统计计算、逻辑计算以及更加复杂的数据挖掘、机器学习等算法。
4.本发明是通过以下技术方案实现的:
5.本发明涉及一种基于可信执行环境的数据安全上链方法,通过可信执行环境从外部数据源中获取数据,并根据计算逻辑完成数据计算后,先根据计算结果生成数字签名以保证计算结果的可信,再生成整个可信执行环境的签名以保证计算逻辑的可信;最后通过区块链远程接口将计算结果以及对应签名推送至区块链系统,具体步骤包括:
6.步骤1)数据获取:可信执行环境通过网络、总线等接口,访问任意外部的数据源,数据源可能是传感器设备、网络服务等不同形式。
7.步骤2)数据计算:针对不同的应用以及数据获取来源定制相应的数据计算逻辑,计算逻辑包括数值计算、逻辑计算、人工智能推理等不同方式。数据计算定时完成或由获取的新数据驱动。
8.步骤3)计算结果签名:可信计算环境生成一对公私钥对。其中的公钥通过区块链等形式对外公布,私钥存储与该可信计算环境中,数据计算结果使用该私钥签名。签名结果可由公布的公钥完成验证。
9.步骤4)计算环境签名:可信执行环境使用芯片生产阶段内置的不可修改私钥对可信执行环境中加载的可执行代码以及所生成的公钥等重要数据签名。该签名同样附加在计算结果上,使得使用者能够验证计算逻辑没有被篡改。
10.步骤5)远程上链:可信计算环境将需要上链的计算结果以及对应的计算结果签名
和计算环境签名通过远程调用接口提交至区块链系统。
11.本发明涉及一种实现上述方法的系统,包括:设置于支持可信执行环境的安全芯片内的数字签名单元、计算逻辑单元和数据传输单元,其中:安全芯片启动后计算逻辑单元进入安全区执行初始化,生成用于数据签名的公私钥对并利用数字签名单元的内置私钥完成与计算逻辑单元本身代码以及所生成公私钥对的签名;初始化完成后计算逻辑单元采集外部数据并根据计算逻辑完成数据计算,根据生成的私钥对计算结果签名并附加初始化阶段的程序签名以及公钥作为完整数据包发送至数据传输单元,数据传输单元通过远程接口将完整数据包上传至区块链系统。
12.所述的公私钥对存储与芯片内部其中的私钥部分任何程序无法读取,私钥完成的签名在芯片制造厂商协助下可完成验证。技术效果
13.本发明通过两段式的签名方法,实现所采集、计算后的数据安全上链。由于通过两次签名使得数据的采集与计算逻辑动态加载,从而满足不同应用的逻辑需求。在此过程中,动态加载的程序逻辑通过安全芯片的内置密钥签名校验,程序逻辑的数据计算结果则可通过生成的数据密钥签名保护,避免了区块链存储大量原始数据的压力,并且在整个计算过程中能保证计算逻辑以及计算结果没有被篡改。
附图说明
14.图1为本发明流程图;
15.图2为实施例流程图。
具体实施方式
16.如图1所示,为本实施例涉及一种基于可信执行环境的数据安全上链方法,通过可信执行环境从外部数据源中获取数据,并根据计算逻辑完成数据计算后,先根据计算结果生成数字签名以保证计算结果的可信,再生成整个可信执行环境的签名以保证计算逻辑的可信;最后通过区块链远程接口将计算结果以及对应签名推送至区块链系统。
17.如图2所示,本实施例在长安链系统中用intel sgx芯片实现上述方法,具体包括:
18.步骤1)初始化阶段:通过tee在安全区内生成一对用于数据验证和签名的公私钥对(pk,sk)后,利用tee所内置的唯一密钥对所加载的代码以及所生成的公钥pk完成数字签名σ。
19.步骤2)数据安全上链执行阶段:tee从指定数据源等待获取数据,当数据获取成功后按照程序逻辑完成数据计算,然后先用私钥sk对计算结果完成签名σ’;再将计算结果、对应签名σ’、公钥pk以及签名σ作为一笔数据完成上链或将初始化阶段单独执行后将公钥pk以及数字签名σ上链作为一次性注册,在后续执行中重复使用注册过的pk及σ作为验证依据。
20.步骤3)其他用户使用pk校验数据与对应的签名σ’确定该数据是由sk签名完成的,同时在芯片商的服务协助下利用σ校验程序以及pk是在tee环境中执行的,即可确认数据的安全性。
21.与现有技术相比,本方法任意定义数据采集与计算逻辑,通过两次签名保证了最
终计算结果是原始数据通过可信的计算逻辑输出的结果。
22.上述具体实施可由本领域技术人员在不背离本发明原理和宗旨的前提下以不同的方式对其进行局部调整,本发明的保护范围以权利要求书为准且不由上述具体实施所限,在其范围内的各个实现方案均受本发明之约束。


技术特征:
1.一种基于可信执行环境的数据安全上链方法,其特征在于,通过可信执行环境从外部数据源中获取数据,并根据计算逻辑完成数据计算后,先根据计算结果生成数字签名以保证计算结果的可信,再生成整个可信执行环境的签名以保证计算逻辑的可信;最后通过区块链远程接口将计算结果以及对应签名推送至区块链系统。2.根据权利要求1所述的基于可信执行环境的数据安全上链方法,其特征是,具体步骤包括:步骤1)数据获取:可信执行环境访问外部数据源获得数据;步骤2)数据计算:针对不同的应用以及数据获取来源定制相应的数据计算逻辑,数据计算定时完成或由获取的新数据驱动;步骤3)计算结果签名:可信计算环境生成一对公私钥对,其中的公钥通过区块链形式对外公布,私钥存储与该可信计算环境中,数据计算结果使用该私钥签名;签名结果由公布的公钥完成验证;步骤4)计算环境签名:可信执行环境使用芯片生产阶段内置的不可修改私钥对可信执行环境中加载的可执行代码以及所生成的公钥签名,该签名同样附加在计算结果上以验证计算逻辑没有被篡改;步骤5)远程上链:可信计算环境将需要上链的计算结果以及对应的计算结果签名和计算环境签名通过远程调用接口提交至区块链系统。3.一种实现权利要求1或2所述的基于可信执行环境的数据安全上链方法的系统,其特征在于,包括:设置于支持可信执行环境的安全芯片内的数字签名单元、计算逻辑单元和数据传输单元,其中:安全芯片启动后计算逻辑单元进入安全区执行初始化,生成用于数据签名的公私钥对并利用数字签名单元的内置私钥完成与计算逻辑单元本身代码以及所生成公私钥对的签名;初始化完成后计算逻辑单元采集外部数据并根据计算逻辑完成数据计算,根据生成的私钥对计算结果签名并附加初始化阶段的程序签名以及公钥作为完整数据包发送至数据传输单元,数据传输单元通过远程接口将完整数据包上传至区块链系统。4.根据权利要求3所述的系统,其特征是,所述的公私钥对存储与芯片内部其中的私钥部分任何程序无法读取,私钥完成的签名在芯片制造厂商协助下可完成验证。

技术总结
一种基于可信执行环境的数据安全上链实现方法,通过可信执行环境从外部数据源中获取数据,并根据计算逻辑完成数据计算后,先根据计算结果生成数字签名以保证计算结果的可信,再生成整个可信执行环境的签名以保证计算逻辑的可信;最后通过区块链远程接口将计算结果以及对应签名推送至区块链系统,本发明利用可信执行环境实现数据从输入到上链全程的安全性,可以实现对于外部数据源安全可信的上链过程,通过两次签名可以确保数据是由未被篡改的代码按照正确逻辑生成的,本发明具有高度的灵活性,其计算过程可以支持数值计算、统计计算、逻辑计算以及更加复杂的数据挖掘、机器学习等算法。算法。算法。


技术研发人员:连理 胥康 陶思文 聂宾 沈宸恺 范磊
受保护的技术使用者:太保科技有限公司
技术研发日:2022.07.19
技术公布日:2022/10/20
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1