一种基于机密计算对远程数据操控的方法及其系统与流程

文档序号:37009419发布日期:2024-02-09 12:57阅读:16来源:国知局
一种基于机密计算对远程数据操控的方法及其系统与流程

本发明属于数据跨域共享领域,尤其是涉及一种基于机密计算对远程数据操控的方法及其系统。


背景技术:

1、基于cpu层级隐私计算或机密运算是近年来兴起的在信息安全领域最前沿的技术之一,它是指基于芯片层级的可信基的可信执行环境,不受系统层, kernel层控制(即拥有一台计算机系统最高管理权限或kernel层级控制权也无法查看,篡改,控制此安全环境内的数据和运行),从而来保证可信执行环境内数据隐私保护安全性和运行的可信性,相应的技术目前有intelsgx技术, amd sev技术、海光csv、arm v9 cca等。机密计算技术已经广泛地应用于通用芯片,并集成在市场上一般通用电脑与服务器上,比如目前英特尔xeon服务器、海光第三代服务器等。所以,首先基于cpu层级机密运算/隐私计算基于目前的通用芯片(例如intel sgx 技术的intel通用芯片);同时基于cpu层级机密运算/隐私计算最重要的有两点特性为:

2、1)隐私保护:加密数据仅在基于cpu层级tee高可信环境(加密内存)中解密并支撑运算,计算结束后高可信环境中相关数据被销毁,解密的明文数据在整个流程中不会得以泄露。例如支持本发明涉及的相关签名秘钥的隐私保护;

3、2)计算可信性:基于数据的计算在基于cpu层级tee高可信环境(加密内存)中运行,没有人(包括运行主机最高权限者或系统kernel内核层级控制权拥有者)能够侵入cpu层级可信执行环境对运算进行篡改。基于cpu层级tee高可信环境会生成一个在高可信环境中运算的证明(比如以数字签名形式)。

4、隐私计算有个很重要的功能:可信封存技术,例如intel sgx sealing技术。可信封存技术可以由cpu硬件通过指令集直接生成唯一秘钥(此秘钥绑定主机硬件),在隐私计算安全区里基于应用enclave来加密隐私数据并持久性落盘。秘钥无法被外界或主机最高权限者获取。

5、此加密数据只能在同一台主机上(因为秘钥绑定主机硬件)由相同的应用enclave(基于sgx mrenclave)或者同一个应用开发者开发的应用enclave(基于sgx mrsigner)由cpu硬件通过指令集生成同一个解密秘钥来加载、解密、使用。

6、数据跨域可信共享在当前有极大地刚性需求, 但是目前跨域数据共享存在着一个很大的问题:数据一旦跨域后便不再受数据拥有方控制。

7、gdpr、大数据安全法、个人信息隐私保护法等法律法规规定数据有被遗忘权,即,数据提供者想要的话可以要求数据使用者销毁数据,但是实际上很难从技术上去证明跨域数据在其他人那边已经被销毁了。即当需要删除一些数据时,数据拥有方无法确保这些已经被分享出去的数据在数据使用方被销毁,数据使用方也无法向数据拥有方证明其确实销毁了数据拥有方所要求销毁的数据。


技术实现思路

1、本发明的目的是针对上述问题,提供一种基于机密计算对远程数据操控的方法及其系统,并且提供数据被有效操控的可验证证明。

2、一种基于机密计算对远程数据操控的方法,该方法包括:

3、s1.数据拥有方生成公私钥对p-s,并将公钥p发送至运行在数据使用方机密计算环境中的安全代理组件pm;

4、s2.数据拥有方将共享数据d基于机密计算远程认证建立的加密隧道共享至数据使用方的机密计算环境中的安全代理组件pm;

5、s3.安全代理组件pm为接收到的数据d创建秘钥k,使数据d安全保存成ed落盘存储,并将秘钥k进行可信加密封存;

6、s4.数据拥有方使用公私钥对中的私钥s对数据操控指令进行签名生成令牌(token)t,并将t发送给所述安全代理组件pm;

7、s5.安全代理组件pm基于所述的公钥p验证t的合法性并解析t中包含的来自数据拥有方的数据操控指令;

8、s6.安全代理组件pm基于所述的数据操控指令对相应的数据d进行相应的操控;

9、s7. 操控结束以后,安全代理组件pm使用自己的私钥s’对操作状态和操作结果进行可信签名并发送给数据拥有方;

10、s8.数据拥有方基于私钥s’对应的公钥p’验证签名文件的合法性并获取对相关数据d的操作状态和操作结果。

11、在上述的基于机密计算对远程数据操控的方法中,步骤s1中,数据拥有方基于安全加密隧道将公钥p发送给所述的安全代理组件pm,安全代理组件pm将接收到的公钥p进行可信加密封存。

12、在上述的基于机密计算对远程数据操控的方法中,步骤s3之后还包括:

13、安全代理组件pm应数据使用方同样运行在机密计算环境中的应用app请求解密相应的数据d并供所述的应用app在机密计算环境中使用该数据d;

14、所述的数据操控指令包括但不限于对数据d的销毁指令、部分数据销毁指令,以及对数据的禁用、设置数据仅可被使用的使用时段、设置数据只能被某一个或某一些应用使用(基于应用哈希值)等等操作指令。

15、在上述的基于机密计算对远程数据操控的方法中,当安全代理组件pm接收到数据拥有方共享给数据使用方的多组数据时,为每组数据di创建对应的秘钥ki,并建立每组数据di与相应秘钥ki的对应关系。多组数据可以分次,也可以一次共享给数据使用方。

16、在上述的基于机密计算对远程数据操控的方法中,数据使用方记录有每组数据di的标识符,应用app根据使用需求确定相应的标识符,并基于标识符向安全代理组件pm请求相应的数据di;索引符用于方便应用调取每一组数据,可以是index索引的形式,也可以是其他形式。

17、且安全代理组件pm应数据使用方同样运行在机密计算环境中的应用app请求解密相应的数据di并供所述的应用app在机密计算环境中使用该数据di;

18、数据操控指令所述的数据操控指令包括但不限于对数据d的销毁指令、部分数据销毁指令,以及对数据的禁用、设置数据仅可被使用的使用时段、设置数据只能被某一个或某一些应用使用(基于应用哈希值)等等操作指令。步骤s6中,安全代理组件pm基于数据操控指令对相应的数据di进行相应的操控,安全代理组件pm使用自己的私钥s’对操作状态和操作结果进行可信签名并发送给数据拥有方。相应地,步骤s8中,数据拥有方基于私钥s’对应的公钥p’验证签名文件的合法性并获取对相关数据di的操作状态和操作结果。

19、在上述的基于机密计算对远程数据操控的方法中,所述的应用app与所述的安全代理组件pm运行于同一主机的机密计算环境中;

20、或者,所述的应用app与所述的安全代理组件pm运行于不同主机的机密计算环境中,且两者之间建立有用于数据传输的安全加密隧道。

21、在上述的基于机密计算对远程数据操控的方法中,所述的安全代理组件pm由数据拥有方部署于数据使用方,且运行于数据使用方的机密计算环境中;

22、且所述的数据使用方具有pm加载哈希值白名单,基于pm启动加载的哈希值来通过机密计算本地认证/远程认证或通过可信启动(例如tpm或vtpm等)技术手段来验证安全代理组件pm的合法性,当验证未通过时,拒绝pm运行,可以防止病毒程序组件伪装的pm,避免病毒对数据使用方主机和数据资源进行攻击。当然,当安全代理组件pm未运行时,无法对数据进行获取,所以数据使用方必须运行合法的pm组件来获取数据。

23、在上述的基于机密计算对远程数据操控的方法中,针对每一组数据di,数据拥有方均对其定义最多使用次数xi,并通知到部署于数据使用方处的安全代理组件pm,xi数值被保存为仅能够供安全代理组件pm修改数值,例如由pm通过芯片级封存技术将xi加密持久化到本地,每次有变动时,由pm对xi进行更新并重新加密持久化到本地,使其他组件模块无法篡改xi;

24、每当数据使用方的任何应用app使用一次数据di,安全代理组件pm便使其对应的xi减一,且当xi=0时,安全代理组件pm将不再响应任何应用app对数据di的使用请求。

25、在上述的基于机密计算对远程数据操控的方法中,当xi小于设定值时,xi将被重新赋值;若恶意断开连接,将无法对xi进行赋值。xi消耗完后便无法使用数据。设定值可以为1。

26、被重新赋值可以是在xi小于设定值时,xi将被数据拥有方赋值,并由数据使用方处的安全代理组件pm对xi进行更新。具体可以是,在xi小于设定值时,由数据拥有方自行,或应数据使用方自动或被动请求,或应部署于数据使用方的安全代理组件pm的自动请求对xi赋值,并通知到部署于数据使用方处的安全代理组件pm。此主要应用于一般的场景,用于防止数据拥有方恶意断开连接。

27、或者,由数据使用方根据需求向数据拥有方请求赋值,数据拥有方根据请求对xi赋值,并由数据使用方处的安全代理组件pm对xi进行更新。即数据使用方也可以在任意时候请求数据拥有方对xi赋值。此可以被用于一般场景防止数据拥有方恶意断开连接,也可以被应用于将数据价值化的场景。

28、数据使用方发起的赋值请求为通过安全代理组件pm向数据拥有方发起。

29、优选安全代理组件pm基于心跳机制向数据拥有方发送心跳包,数据拥有方基于心跳包向安全代理组件进行心跳包回复;

30、所述的心跳包包含是否发送操控指令的询问,心跳包回复包括针对所述询问的操控指令或空指令。

31、赋值请求可以被加载在安全代理组件的心跳包上。数据拥有方对赋值请求的响应可以加载在心跳包回复中。

32、若数据使用方与数据拥有方正常连接,数据拥有方将正常接收到安全代理组件pm的心跳,在接收到安全代理组件pm向数据拥有方发送的赋值请求时,可以对赋值请求返回相应的结果,对操控指令询问则返回空指令,即不操作,此时正常充值。

33、若数据使用方恶意中断则意味着数据拥有方将收不到心跳,那么数据拥有方则可以采取一些行动,例如下一次再接收到心跳包时,则使用心跳包回复返回设置的操控指令,例如马上禁用数据等。通过该方式可有效避免数据使用方仅为对xi赋值而与数据拥有方连接,避免赋值结束后数据使用方通过立马断开连接来逃避数据拥有方发送的操控指令。

34、此外,基于心跳机制,安全代理组件pm在发送心跳包没有回复时可以推断数据使用方为恶意中断,可以基于设定主动地采取一些行动,例如立刻禁用数据等。

35、“赋值”可以是设置xi为初始定义值,也可以根据需要设置为其他值,如在当前xi的基础上对xi增加指定数值。数据拥有方对xi进行赋值,可以是普通指令,也可以是类似于步骤s4的签名指令token t,由其私钥s对赋值指令进行签名后发送给数据使用方的安全代理组件pm。

36、所述的数据操控指令包含了xi范围对应的操控,安全代理组件pm根据数据操控指令及相应数据di的当前xi值对相应数据di进行相应的操控。

37、一种基于机密计算对远程数据操控的系统,包括数据使用方、数据拥有方,其特征在于,所述的数据使用方部署有计算机机密环境,且具有由数据拥有方提供的,运行于所述计算机机密环境的安全代理组件pm,并通过上述所述的方法供数据拥有方对已被共享至数据使用方的数据进行操控,并获取到对远程数据操控结果的可验证证明。

38、本发明的优点在于:

39、数据拥有方对已被共享至数据使用方的数据仍然具有操控权,能够自主进行删除或其他控制操作并得到数据按其意图被成功操作的证明,有效克服了现有技术数据拥有方一旦将数据跨域分享给数据使用方后就对数据失去控制的问题;

40、从技术层面实现了跨域数据在数据拥有方那边已经进行了相应操作的可验证证明。目前数据使用者即使应数据拥有方的要求诚实地对数据进行了相应的操作,也没有一个可验证的证明(比如基于数据可遗忘权对数据销毁),本方案完美地解决了这个问题。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1