一种针对共享内存的隐私保护方法及系统与流程

文档序号:37475378发布日期:2024-03-28 18:57阅读:13来源:国知局
一种针对共享内存的隐私保护方法及系统与流程

本发明涉及软件工程,具体涉及一种针对共享内存的隐私保护方法及系统。


背景技术:

1、tpm是可信平台模块(trusted platform module)的缩写,其核心是提供基于硬件的安全相关功能。tpm芯片是一种安全的加密处理器,旨在执行密码相关操作。tpm芯片包含多个物理安全机制以使其防篡改,并且恶意软件无法篡改tpm的安全功能。

2、tpm能生成一个秘钥,例如将该秘钥称作a秘钥,a秘钥由a公钥和a私钥组成。其中a私钥是tpm结合系统的度量值进行生成,任何人无法获取。其中度量值是系统启动时生成的一个完整性度量值,存储在tpm中。当硬件、固件以及任何功能模块被篡改,那么度量值会发生变化,进而和a秘钥不匹配,导致用a秘钥加密的文件无法解密。tpm保证了仅当本发明所依赖的各个系统组件都以正确的方式启动时,a秘钥才能被使用。同时,tpm包含将a秘钥加密的密文解密还原的功能。

3、全盘加密技术(luks):某个磁盘分区里所有的数据都是用b秘钥加密的形式存在,b秘钥由b公钥和b私钥组成。

4、安全域是指使用了同一组b密钥加密的一个或多个磁盘分区。对于拥有b私钥设备的进程,安全域对于进程是完全透明的。而任何没有b私钥的进攻者即使破解了磁盘,拿到的也是加密后的数据,在没有b私钥的情况下无法解密,保证了数据安全。

5、lsm为linux安全模块(linux security modules),lsm支持检查用户操作是否满足定义的安全策略的功能,包括诸如文件打开、关闭等几十种操作。如果用户操作不符合安全策略,如打开了安全域外的文件,lsm可以禁止该操作。

6、一种隐私计算场景:假设数据提供方拥有原始数据,数据提供方需要将原始数据发送给数据使用方进行加工、处理,获得结果文件。但是在整个过程中,原始数据不能被泄漏。

7、为解决该技术问题,申请号为202311241074.x的中国发明专利提供了一种数据可控使用方法,通过tpm(可信计算模块)保证了硬件、操作系统和其守护进程都是未经篡改的,称为度量启动,该方法的具体解决方案是:将数据使用方的存储/计算节点划分成数据提供方控制的安全域,隐私数据只能在安全域中被进程进行加工和处理。这保证了数据提供方的隐私数据虽然对数据使用方可见,但不能被写出安全域,即,安全域里的数据只能被进程读取但不能被写入安全域之外的文件中,从而避免了原始数据被数据使用方泄露的可能,防止了数据使用方以各种方式拷贝数据从而进行二次贩卖。

8、但是,前述现有的解决方案未考虑进程之间可以通过共享内存的方式进行通信。即一个进程可以将物理内存中的一块区域指定为共享内存,从而任何进程都可以对这块内存区域进行读写访问。那么,如果一个进程读过安全域内文件并将内容写到共享内存里,则其他进程可以通过访问共享内存中的信息绕开安全域限制,造成隐私泄露。


技术实现思路

1、针对现有技术中的技术缺陷,本发明实施例的目的在于提供一种针对共享内存的隐私保护方法及系统,避免进程可以通过访问共享内存中的信息绕开安全域限制,保证隐私数据只能在数据使用方的安全域中进行加工和处理,避免数据提供方的隐私数据被泄露。

2、为实现上述目的,第一方面,本发明实施例提供了一种针对共享内存的隐私保护方法,该方法运行于数据使用方的系统中,所述数据使用方具有多个划分不同编号的安全域,所述方法包括:

3、对进程配置读区域列表和写区域;其中,所述读区域列表为所述进程以只读方式打开过的文件所属安全域的编号集合,所述写区域为所述进程以写方式打开过的文件所属安全域的编号;

4、对共享内存配置区域列表,所述区域列表为所述共享内存内已经拥有的文件所属安全域的编号;

5、当监测到所述共享内存被进程请求链接时,根据所述链接的类型、进程的读区域列表和写区域以及共享内存的区域列表,判断是否允许此次链接。

6、进一步,所述对共享内存配置区域列表,包括:

7、若所述共享内存从未被任何进程请求链接过,设置所述共享内存的区域列表的值与第一个向所述共享内存请求链接的进程的读区域列表的值相等。

8、进一步,根据所述链接的类型、进程的读区域列表和写区域以及共享内存的区域列表,判断是否允许此次链接,包括:

9、若所述链接的类型为只读链接,且所述进程的写区域列表的元素为a,且共享内存的区域列表只包含元素a或者为空集,则允许此次链接;

10、若所述链接的类型为只读链接,且所述进程的写区域列表为空集,则允许此次链接;

11、若所述链接的类型为读写链接,且所述进程的写区域列表是共享内存的区域列表的子集,则允许此次链接。

12、进一步,在允许此次链接后,根据所述共享内存的区域列表更新所述进程的读区域列表。

13、进一步,所述方法还包括:

14、当监测到链接过共享内存的进程请求以只读方式打开一个位于安全域中的文件时,若所述文件所在的安全域的编号在所述进程的读区域列表中,允许此次打开操作。

15、第二方面,本发明实施例还提供了一种针对共享内存的隐私保护系统,包括:

16、第一配置模块,用于对进程配置读区域列表和写区域;其中,所述读区域列表为所述进程以只读方式打开过的文件所属安全域的编号集合,所述写区域为所述进程以写方式打开过的文件所属安全域的编号;

17、第二配置模块,用于对共享内存配置区域列表,所述区域列表为所述共享内存内已经拥有的文件所属安全域的编号;

18、第一判断模块,当监测到所述共享内存被进程请求链接时,根据所述链接的类型、进程的读区域列表和写区域以及共享内存的区域列表,判断是否允许此次链接。

19、进一步,所述对共享内存配置区域列表,包括:

20、若所述共享内存从未被任何进程请求链接过,设置所述共享内存的区域列表的值与第一个向所述共享内存请求链接的进程的读区域列表的值相等。

21、进一步,根据所述链接的类型、进程的读区域列表和写区域以及共享内存的区域列表,判断是否允许此次链接,包括:

22、若所述链接的类型为只读链接,且所述进程的写区域列表的元素为a,且共享内存的区域列表只包含元素a或者为空集,则允许此次链接;

23、若所述链接的类型为只读链接,且所述进程的写区域列表为空集,则允许此次链接;

24、若所述链接的类型为读写链接,且所述进程的写区域列表是共享内存的区域列表的子集,则允许此次链接。

25、进一步,所述第一配置模块还用于:

26、在允许此次链接后,根据所述共享内存的区域列表更新所述进程的读区域列表。

27、进一步,所述系统还包括:

28、第二判断模块,用于当监测到链接过共享内存的进程请求以只读方式打开一个位于安全域中的文件时,若所述文件所在的安全域的编号在所述进程的读区域列表中,允许此次打开操作。

29、实施本发明实施例提供的方法,对进程请求链接共享内存提供了监控和限制,使进程即使通过共享内存也无法向安全域外传输数据,达到数据可控的要求,避免了数据提供方提供的原始数据被数据使用方泄露的可能。

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