CN117763601A - 一种针对共享内存的隐私保护方法及系统 - Google Patents
一种针对共享内存的隐私保护方法及系统 Download PDFInfo
- Publication number
- CN117763601A CN117763601A CN202311592039.2A CN202311592039A CN117763601A CN 117763601 A CN117763601 A CN 117763601A CN 202311592039 A CN202311592039 A CN 202311592039A CN 117763601 A CN117763601 A CN 117763601A
- Authority
- CN
- China
- Prior art keywords
- shared memory
- link
- read
- list
- write
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 193
- 230000008569 process Effects 0.000 claims abstract description 160
- 230000006870 function Effects 0.000 description 7
- 238000005259 measurement Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 238000005192 partition Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000008676 import Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000002716 delivery method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Storage Device Security (AREA)
Abstract
本发明实施例公开了一种针对共享内存的隐私保护方法及系统,该方法运行于数据使用方的系统中,所述数据使用方具有多个划分不同编号的安全域,所述方法包括:对进程配置读区域列表和写区域;其中,所述读区域列表为所述进程以只读方式打开过的文件所属安全域的编号集合,所述写区域为所述进程以写方式打开过的文件所属安全域的编号;对共享内存配置区域列表,所述区域列表为所述共享内存内已经拥有的文件所属安全域的编号;当监测到所述共享内存被进程请求链接时,根据所述链接的类型、进程的读区域列表和写区域以及共享内存的区域列表,判断是否允许此次链接。
Description
技术领域
本发明涉及软件工程技术领域,具体涉及一种针对共享内存的隐私保护方法及系统。
背景技术
TPM是可信平台模块(Trusted Platform Module)的缩写,其核心是提供基于硬件的安全相关功能。TPM芯片是一种安全的加密处理器,旨在执行密码相关操作。TPM芯片包含多个物理安全机制以使其防篡改,并且恶意软件无法篡改TPM的安全功能。
TPM能生成一个秘钥,例如将该秘钥称作A秘钥,A秘钥由A公钥和A私钥组成。其中A私钥是TPM结合系统的度量值进行生成,任何人无法获取。其中度量值是系统启动时生成的一个完整性度量值,存储在TPM中。当硬件、固件以及任何功能模块被篡改,那么度量值会发生变化,进而和A秘钥不匹配,导致用A秘钥加密的文件无法解密。TPM保证了仅当本发明所依赖的各个系统组件都以正确的方式启动时,A秘钥才能被使用。同时,TPM包含将A秘钥加密的密文解密还原的功能。
全盘加密技术(LUKS):某个磁盘分区里所有的数据都是用B秘钥加密的形式存在,B秘钥由B公钥和B私钥组成。
安全域是指使用了同一组B密钥加密的一个或多个磁盘分区。对于拥有B私钥设备的进程,安全域对于进程是完全透明的。而任何没有B私钥的进攻者即使破解了磁盘,拿到的也是加密后的数据,在没有B私钥的情况下无法解密,保证了数据安全。
LSM为Linux安全模块(Linux Security Modules),LSM支持检查用户操作是否满足定义的安全策略的功能,包括诸如文件打开、关闭等几十种操作。如果用户操作不符合安全策略,如打开了安全域外的文件,LSM可以禁止该操作。
一种隐私计算场景:假设数据提供方拥有原始数据,数据提供方需要将原始数据发送给数据使用方进行加工、处理,获得结果文件。但是在整个过程中,原始数据不能被泄漏。
为解决该技术问题,申请号为202311241074.X的中国发明专利提供了一种数据可控使用方法,通过TPM(可信计算模块)保证了硬件、操作系统和其守护进程都是未经篡改的,称为度量启动,该方法的具体解决方案是:将数据使用方的存储/计算节点划分成数据提供方控制的安全域,隐私数据只能在安全域中被进程进行加工和处理。这保证了数据提供方的隐私数据虽然对数据使用方可见,但不能被写出安全域,即,安全域里的数据只能被进程读取但不能被写入安全域之外的文件中,从而避免了原始数据被数据使用方泄露的可能,防止了数据使用方以各种方式拷贝数据从而进行二次贩卖。
但是,前述现有的解决方案未考虑进程之间可以通过共享内存的方式进行通信。即一个进程可以将物理内存中的一块区域指定为共享内存,从而任何进程都可以对这块内存区域进行读写访问。那么,如果一个进程读过安全域内文件并将内容写到共享内存里,则其他进程可以通过访问共享内存中的信息绕开安全域限制,造成隐私泄露。
发明内容
针对现有技术中的技术缺陷,本发明实施例的目的在于提供一种针对共享内存的隐私保护方法及系统,避免进程可以通过访问共享内存中的信息绕开安全域限制,保证隐私数据只能在数据使用方的安全域中进行加工和处理,避免数据提供方的隐私数据被泄露。
为实现上述目的,第一方面,本发明实施例提供了一种针对共享内存的隐私保护方法,该方法运行于数据使用方的系统中,所述数据使用方具有多个划分不同编号的安全域,所述方法包括:
对进程配置读区域列表和写区域;其中,所述读区域列表为所述进程以只读方式打开过的文件所属安全域的编号集合,所述写区域为所述进程以写方式打开过的文件所属安全域的编号;
对共享内存配置区域列表,所述区域列表为所述共享内存内已经拥有的文件所属安全域的编号;
当监测到所述共享内存被进程请求链接时,根据所述链接的类型、进程的读区域列表和写区域以及共享内存的区域列表,判断是否允许此次链接。
进一步,所述对共享内存配置区域列表,包括:
若所述共享内存从未被任何进程请求链接过,设置所述共享内存的区域列表的值与第一个向所述共享内存请求链接的进程的读区域列表的值相等。
进一步,根据所述链接的类型、进程的读区域列表和写区域以及共享内存的区域列表,判断是否允许此次链接,包括:
若所述链接的类型为只读链接,且所述进程的写区域列表的元素为a,且共享内存的区域列表只包含元素a或者为空集,则允许此次链接;
若所述链接的类型为只读链接,且所述进程的写区域列表为空集,则允许此次链接;
若所述链接的类型为读写链接,且所述进程的写区域列表是共享内存的区域列表的子集,则允许此次链接。
进一步,在允许此次链接后,根据所述共享内存的区域列表更新所述进程的读区域列表。
进一步,所述方法还包括:
当监测到链接过共享内存的进程请求以只读方式打开一个位于安全域中的文件时,若所述文件所在的安全域的编号在所述进程的读区域列表中,允许此次打开操作。
第二方面,本发明实施例还提供了一种针对共享内存的隐私保护系统,包括:
第一配置模块,用于对进程配置读区域列表和写区域;其中,所述读区域列表为所述进程以只读方式打开过的文件所属安全域的编号集合,所述写区域为所述进程以写方式打开过的文件所属安全域的编号;
第二配置模块,用于对共享内存配置区域列表,所述区域列表为所述共享内存内已经拥有的文件所属安全域的编号;
第一判断模块,当监测到所述共享内存被进程请求链接时,根据所述链接的类型、进程的读区域列表和写区域以及共享内存的区域列表,判断是否允许此次链接。
进一步,所述对共享内存配置区域列表,包括:
若所述共享内存从未被任何进程请求链接过,设置所述共享内存的区域列表的值与第一个向所述共享内存请求链接的进程的读区域列表的值相等。
进一步,根据所述链接的类型、进程的读区域列表和写区域以及共享内存的区域列表,判断是否允许此次链接,包括:
若所述链接的类型为只读链接,且所述进程的写区域列表的元素为a,且共享内存的区域列表只包含元素a或者为空集,则允许此次链接;
若所述链接的类型为只读链接,且所述进程的写区域列表为空集,则允许此次链接;
若所述链接的类型为读写链接,且所述进程的写区域列表是共享内存的区域列表的子集,则允许此次链接。
进一步,所述第一配置模块还用于:
在允许此次链接后,根据所述共享内存的区域列表更新所述进程的读区域列表。
进一步,所述系统还包括:
第二判断模块,用于当监测到链接过共享内存的进程请求以只读方式打开一个位于安全域中的文件时,若所述文件所在的安全域的编号在所述进程的读区域列表中,允许此次打开操作。
实施本发明实施例提供的方法,对进程请求链接共享内存提供了监控和限制,使进程即使通过共享内存也无法向安全域外传输数据,达到数据可控的要求,避免了数据提供方提供的原始数据被数据使用方泄露的可能。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。
图1是本发明实施例提供的实际环境中数据提供方和数据使用方之间的数据交互示意图;
图2是本发明实施例提供的数据提供方和数据使用方的结构示意图;
图3是本发明实施例提供的针对共享内存的隐私保护方法的流程示意图;
图4是本发明实施例提供的针对共享内存的隐私保护系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。
如图1所示,本实施例中所描述的实际环境中包含数据提供方和数据使用方两方,数据提供方和数据使用方均为相应的系统终端。数据提供方提供数据,数据使用方在设置的安全域中对数据进行加工、处理,数据虽然可见,但仍不能被写出安全域,不允许将数据写入安全域之外的部分,即安全域里的数据只能被应用进程读取但不能被写入安全域之外的文件。进程是操作系统提供的一个抽象概念,使得程序在运行时看起来好像在独占的使用CPU,内存以及I/O设备。
安全域是一个逻辑上的概念,指由相应密钥和加密算法保护的存储、计算单元,可以包括使用了同一组密钥加密的一个或多个磁盘分区。安全域可以由数据使用方自行指定安全域范围,也可以由数据提供方进行指定,例如可以将某个磁盘分区或磁盘整体全部作为安全域。配置好安全域后,利用全盘加密技术(LUKS),该安全域内的所有的数据都是用第二非对称秘钥加密的形式存在,第二非对称秘钥由数据提供方生成并导入。
在申请号为202311241074.X的中国发明专利公开的一种数据可控使用方法中,如图2所示,数据使用方包括实用程序模块、守护模块和内核模块。其中,实用程序模块是供用户进行操作、配置的工具,其提供了诸如初始化安全域、扩展安全域、删除安全域、从安全域中导出数据等操作。
守护模块是运行在系统中的守护进程,功能包括初始化系统,为实用程序模块处理相关的操作,为内核提供关于安全域的配置,以及与数据提供方通信。
内核模块是对Linux内核进行了修改后,运行在Linux内核中的LSM模块。内核模块按照守护模块给出的配置检查进程对文件的读写操作。LSM模块不会改变进程,只会对进程操作进行判断,一个读取了安全域中的数据的进程,仅能在安全域中进行写操作。
该方法的实现依赖于TPM的度量启动,数据使用方的系统初始化完成后,包括系统重启后,守护模块会将系统的度量值储存到TPM中。所述系统的度量值度量的内容包括硬件、固件以及各种功能模块。TPM根据系统的度量值生成一对第一非对称秘钥,第一非对称秘钥包括第一公钥和第一私钥,第一私钥存储在TPM中,除TPM外的任何第三方均无法获取该第一私钥。
进一步,为使数据提供方能验证第一公钥是由TPM产生且系统度量值合法,其他任何人无法伪造,TPM会根据所述系统的度量值附带生成一个第一非对称秘钥证明,所述第一非对称秘钥证明为所述TPM给出的包含所述系统的度量值的签名。
守护模块会同步将该第一非对称秘钥证明和第一公钥同步发送给数据提供方,数据提供方可以根据该第一非对称秘钥证明对第一公钥进行验证,保证第一公钥的真实性。
系统启动后,守护模块会验证系统的度量值是否合法,若非法,则返回错误。若系统硬件、操作系统和/或功能模块存在被篡改的情况,则系统的度量值会与系统初始化完成后的度量值不同。
数据提供方通过设置模块生成或导入一对第二非对称秘钥,并传给服务器模块,第二非对称秘钥包括第二公钥和第二私钥。服务器模块将第二私钥用第一公钥加密得到第一加密数据,将第一加密数据发送给守护模块。
守护模块收到第一加密数据后,调用TPM的解密功能通过第一私钥对第一加密数据进行解密获得第二私钥,并将第二私钥储存到守护进程的内存文件中。守护进程启动运行过程中,系统会为守护进程分配虚拟内存,当守护进程关闭时,虚拟内存会被系统清除掉,且数据使用方无法直接从虚拟内存中获取数据。因此,将解密获得的第二私钥存储在守护进程的内存文件中,就能防止数据使用方盗取该第二私钥,从而防止第二私钥泄密。
可选地,如果第二非对称秘钥需要在数据使用方系统重启后重复利用,可以将第一加密数据储存在文件系统中。
然后,数据使用方向实用程序模块发起请求,实用程序模块通过守护模块指定安全域范围,并将第二非对称秘钥作为该安全域的安全域秘钥。守护模块同时会将安全域信息配置到内核模块,完成安全域的初始化。
数据提供方将原始数据用第二公钥加密后的第二加密数据交付给数据使用方,其中交付的方式包括但不限于通过硬件拷贝,网络传输等,本实施例不做限制。
数据使用方接收到第二加密数据后,调用实用程序模块,它将通过守护模块将第二加密数据导入和第二非对称密钥对应的安全域中。
最后,接收进程对所述预设安全域中第二加密数据的操作请求,并响应于所述操作请求,调用所述第二私钥对所述第二加密数据进行解密获得所述原始数据,根据所述操作请求允许所述进程在所述预设安全域中对所述原始数据进行可控使用。具体的,所述操作请求为读请求或写请求。
在接收到进程发出的对所述预设安全域中第二加密数据的操作请求后,内核模块会对该进程的操作进行可控使用监管,具体的,当所述进程在所述预设安全域中对所述原始数据进行读操作或写操作时,不允许所述进程以写操作方式打开所述预设安全域外的文件。
通常,操作系统保证一个进程无法访问另外一个进程的内存。然而,linux系统提供了一种共享内存的操作:一个进程可以将物理内存中的一块区域指定为共享内存,从而任何进程都可以对这块内存区域进行读写访问。那么,如果一个进程读过安全域内文件并将内容写到共享内存里,则其他进程可以通过访问共享内存中的信息绕开安全域限制,造成隐私泄露。
本申请技术方案的核心在于进程在链接共享内存时,需要进行系统调用,从而内核模块可以进行监控。其中,链接指的是建立进程与共享内存的读写关系,允许进程往共享内存中读/写信息。如果链接被指定为只读链接,则意味着进程只能从共享内存里读信息而不能将信息写入共享内存;否则被称为读写链接,则允许进程往共享内存里写信息。一旦链接完成,之后进程对共享内存的读写操作内核模块无法监控。
因此,本申请的技术方案通过增加内核模块功能,对进程与共享内存的链接行为进行监控和限制,达到隐私数据只能在安全域中进行加工和处理的目的。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
如图3所示,本发明实施例提供了一种针对共享内存的隐私保护方法的流程示意图,该方法运行于数据使用方的系统中,所述数据使用方具有多个划分不同编号的安全域。具体的,所述方法可以包括以下步骤:
步骤S110:对进程配置读区域列表和写区域;其中,所述读区域列表为所述进程以只读方式打开过的文件所属安全域的编号集合,所述写区域为所述进程以写方式打开过的文件所属安全域的编号。
例如,某进程以只读方式打开过安全域1、安全域2和安全域3中的文件,则将该进程的读区域列表配置为{1,2,3}。同时,对每个进程维护一个变量,称为写区域,表示该进程以写方式打开过的文件所属安全域的编号。注意,由于一个进程最多以写方式打开一个安全域中的文件,故写区域不会存在多个元素。
可以理解的是,若某进程没有以只读方式打开过任何安全域中的文件,也没有以写方式打开过任何安全域中的文件,则该进程的读区域列表和写区域均为空集。
步骤S120:对共享内存配置区域列表,所述区域列表为所述共享内存内已经拥有的文件所属安全域的编号。
初始情况下,共享内存的区域列表是空集。
若所述共享内存从未被任何进程请求链接过,设置所述共享内存的区域列表的值与第一个向所述共享内存请求链接的进程的读区域列表的值相等,从而完成对所述共享内存的区域列表初始化。
例如,进程A为第一个向共享内存B请求链接的进程,且进程A的读区域列表为{1,2,3},则将共享内存B的区域列表初始化为{1,2,3}。此项限制的意义在于,进程A首次与共享内存B建立链接时,认为相当于共享内存B拥有和进程A相同的信息,即共享内存B里可能已经拥有安全域1、安全域2和安全域3的文件信息。
步骤S130:当监测到所述共享内存被进程请求链接时,根据所述链接的类型、进程的读区域列表和写区域以及共享内存的区域列表,判断是否允许此次链接。
具体包括以下几种情况:
第一种:若所述链接的类型为只读链接,且所述进程的写区域列表的元素为a,且共享内存的区域列表只包含元素a或者为空集,则允许此次链接;否则拒绝此次链接。
例如,进程A的写区域元素为1,则共享内存B的读区域列表只能为{1}或者空集才允许进程A进行链接。否则,进程A可以从共享内存B中读取其他的安全域中的数据并写入安全域1。
第二种:若所述链接的类型为只读链接,且所述进程的写区域列表为空集,则允许此次链接。
然后,将进程A的读区域列表更新为进程A原有读区域列表与共享内存B的区域列表的并集。例如,进程A的原读区域列表为{1,2,4},共享内存B的区域列表为{1,2,3},则将进程A的读区域列表更新为{1,2,3,4}。此更新的意义在于,由于共享内存B里有安全域{1,2,3}的数据,进程A与之链接后,相当于也会增加对安全域3的接触。
第三种:若所述链接的类型为读写链接,且所述进程的写区域列表是共享内存的区域列表的子集,则允许此次链接;否则拒绝此次链接。
例如,如果进程A的读区域列表为{1,4},共享内存B的区域列表为{1,2,3},则内核模块会拒绝进程A对共享内存B的读写链接。此项限制的原因在于,进程A可能将安全域4中的数据写入共享内存B中,导致其他的已链接共享内存B的进程能够通过共享内存B读取安全域4中的数据,违背安全域要求。如果进程A的区域列表为{1,2},共享内存B的区域列表为{1,2,3},则内核模块允许此读写链接,并将进程A的读区域列表更新为{1,2,3}。
进一步,所述方法还包括:
步骤S140:当监测到链接过共享内存的进程请求以只读方式打开一个位于安全域中的文件时,若所述文件所在的安全域的编号在所述进程的读区域列表中,允许此次打开操作;否则,拒绝此次打开操作。
此拒绝的原因在于,如果一个进程已经链接了一个共享内存,不管是只读还是读写方式链接,都认为该进程可以往共享内存中写数据,所以如果该进程打开了一个新的安全域中的文件,则该文件数据有可能会被暴露给共享内存,导致违背安全域要求。
本申请的针对共享内存的隐私保护方法对进程与共享内存的操作制定了一系列规则,防止通过共享内存泄露安全域内信息。
基于相同的发明构思,本实施例还提供了一种针对共享内存的隐私保护系统。如图4所示,该系统可以包括:
第一配置模块201,用于对进程配置读区域列表和写区域;其中,所述读区域列表为所述进程以只读方式打开过的文件所属安全域的编号集合,所述写区域为所述进程以写方式打开过的文件所属安全域的编号;
第二配置模块202,用于对共享内存配置区域列表,所述区域列表为所述共享内存内已经拥有的文件所属安全域的编号;
第一判断模块203,当监测到所述共享内存被进程请求链接时,根据所述链接的类型、进程的读区域列表和写区域以及共享内存的区域列表,判断是否允许此次链接。
进一步,所述对共享内存配置区域列表,包括:
若所述共享内存从未被任何进程请求链接过,设置所述共享内存的区域列表的值与第一个向所述共享内存请求链接的进程的读区域列表的值相等。
进一步,根据所述链接的类型、进程的读区域列表和写区域以及共享内存的区域列表,判断是否允许此次链接,包括:
若所述链接的类型为只读链接,且所述进程的写区域列表的元素为a,且共享内存的区域列表只包含元素a或者为空集,则允许此次链接;
若所述链接的类型为只读链接,且所述进程的写区域列表为空集,则允许此次链接;
若所述链接的类型为读写链接,且所述进程的写区域列表是共享内存的区域列表的子集,则允许此次链接。
进一步,所述第一配置模块201还用于:
在允许此次链接后,根据所述共享内存的区域列表更新所述进程的读区域列表。
进一步,所述系统还包括:
第二判断模块204,用于当监测到链接过共享内存的进程请求以只读方式打开一个位于安全域中的文件时,若所述文件所在的安全域的编号在所述进程的读区域列表中,允许此次打开操作。
进一步地,本发明实施例还提供了一种可读存储介质,存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时实现:上述针对共享内存的隐私保护方法。
所述计算机可读存储介质可以是前述实施例所述的后台服务器的内部存储单元,例如系统的硬盘或内存。所述计算机可读存储介质也可以是所述系统的外部存储设备,例如所述系统上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,所述计算机可读存储介质还可以既包括所述系统的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述系统所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种针对共享内存的隐私保护方法,其特征在于,该方法运行于数据使用方的系统中,所述数据使用方具有多个划分不同编号的安全域,所述方法包括:
对进程配置读区域列表和写区域;其中,所述读区域列表为所述进程以只读方式打开过的文件所属安全域的编号集合,所述写区域为所述进程以写方式打开过的文件所属安全域的编号;
对共享内存配置区域列表,所述区域列表为所述共享内存内已经拥有的文件所属安全域的编号;
当监测到所述共享内存被进程请求链接时,根据所述链接的类型、进程的读区域列表和写区域以及共享内存的区域列表,判断是否允许此次链接。
2.如权利要求1所述的一种针对共享内存的隐私保护方法,其特征在于,所述对共享内存配置区域列表,包括:
若所述共享内存从未被任何进程请求链接过,设置所述共享内存的区域列表的值与第一个向所述共享内存请求链接的进程的读区域列表的值相等。
3.如权利要求1所述的一种针对共享内存的隐私保护方法,其特征在于,根据所述链接的类型、进程的读区域列表和写区域以及共享内存的区域列表,判断是否允许此次链接,包括:
若所述链接的类型为只读链接,且所述进程的写区域列表的元素为a,且共享内存的区域列表只包含元素a或者为空集,则允许此次链接;
若所述链接的类型为只读链接,且所述进程的写区域列表为空集,则允许此次链接;
若所述链接的类型为读写链接,且所述进程的写区域列表是共享内存的区域列表的子集,则允许此次链接。
4.如权利要求1所述的一种针对共享内存的隐私保护方法,其特征在于,在允许此次链接后,根据所述共享内存的区域列表更新所述进程的读区域列表。
5.如权利要求1所述的一种针对共享内存的隐私保护方法,其特征在于,所述方法还包括:
当监测到链接过共享内存的进程请求以只读方式打开一个位于安全域中的文件时,若所述文件所在的安全域的编号在所述进程的读区域列表中,允许此次打开操作。
6.一种针对共享内存的隐私保护系统,其特征在于,包括:
第一配置模块,用于对进程配置读区域列表和写区域;其中,所述读区域列表为所述进程以只读方式打开过的文件所属安全域的编号集合,所述写区域为所述进程以写方式打开过的文件所属安全域的编号;
第二配置模块,用于对共享内存配置区域列表,所述区域列表为所述共享内存内已经拥有的文件所属安全域的编号;
第一判断模块,当监测到所述共享内存被进程请求链接时,根据所述链接的类型、进程的读区域列表和写区域以及共享内存的区域列表,判断是否允许此次链接。
7.如权利要求6所述的一种针对共享内存的隐私保护系统,其特征在于,所述对共享内存配置区域列表,包括:
若所述共享内存从未被任何进程请求链接过,设置所述共享内存的区域列表的值与第一个向所述共享内存请求链接的进程的读区域列表的值相等。
8.如权利要求6所述的一种针对共享内存的隐私保护系统,其特征在于,根据所述链接的类型、进程的读区域列表和写区域以及共享内存的区域列表,判断是否允许此次链接,包括:
若所述链接的类型为只读链接,且所述进程的写区域列表的元素为a,且共享内存的区域列表只包含元素a或者为空集,则允许此次链接;
若所述链接的类型为只读链接,且所述进程的写区域列表为空集,则允许此次链接;
若所述链接的类型为读写链接,且所述进程的写区域列表是共享内存的区域列表的子集,则允许此次链接。
9.如权利要求6所述的一种针对共享内存的隐私保护系统,其特征在于,所述第一配置模块还用于:
在允许此次链接后,根据所述共享内存的区域列表更新所述进程的读区域列表。
10.如权利要求6所述的一种针对共享内存的隐私保护系统,其特征在于,所述系统还包括:
第二判断模块,用于当监测到链接过共享内存的进程请求以只读方式打开一个位于安全域中的文件时,若所述文件所在的安全域的编号在所述进程的读区域列表中,允许此次打开操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311592039.2A CN117763601B (zh) | 2023-11-27 | 2023-11-27 | 一种针对共享内存的隐私保护方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311592039.2A CN117763601B (zh) | 2023-11-27 | 2023-11-27 | 一种针对共享内存的隐私保护方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117763601A true CN117763601A (zh) | 2024-03-26 |
CN117763601B CN117763601B (zh) | 2024-08-02 |
Family
ID=90311336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311592039.2A Active CN117763601B (zh) | 2023-11-27 | 2023-11-27 | 一种针对共享内存的隐私保护方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117763601B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111796948A (zh) * | 2020-07-02 | 2020-10-20 | 长视科技股份有限公司 | 一种共享内存访问方法、装置、计算机设备和存储介质 |
CN114595169A (zh) * | 2022-02-25 | 2022-06-07 | 阿里巴巴(中国)有限公司 | 数据保护方法、电子设备和存储介质 |
US20220197529A1 (en) * | 2020-12-23 | 2022-06-23 | Sealing Technologies, Inc. | Systems and methods for securely sharing data in a multi-port memory storage device |
CN115694949A (zh) * | 2022-10-26 | 2023-02-03 | 上海和数软件有限公司 | 一种基于区块链的隐私数据共享方法及系统 |
-
2023
- 2023-11-27 CN CN202311592039.2A patent/CN117763601B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111796948A (zh) * | 2020-07-02 | 2020-10-20 | 长视科技股份有限公司 | 一种共享内存访问方法、装置、计算机设备和存储介质 |
US20220197529A1 (en) * | 2020-12-23 | 2022-06-23 | Sealing Technologies, Inc. | Systems and methods for securely sharing data in a multi-port memory storage device |
CN114595169A (zh) * | 2022-02-25 | 2022-06-07 | 阿里巴巴(中国)有限公司 | 数据保护方法、电子设备和存储介质 |
CN115694949A (zh) * | 2022-10-26 | 2023-02-03 | 上海和数软件有限公司 | 一种基于区块链的隐私数据共享方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN117763601B (zh) | 2024-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109923548B (zh) | 通过监管进程访问加密数据实现数据保护的方法、系统及计算机程序产品 | |
US11947688B2 (en) | Secure computing system | |
CN108055133B (zh) | 一种基于区块链技术的密钥安全签名方法 | |
US10162975B2 (en) | Secure computing system | |
KR100996784B1 (ko) | 공개 키 암호화에 기초한 데이터의 저장 및 검색을 위한, 컴퓨팅 장치에서 구현되는 방법, 시스템 및 복수의 명령어를 저장하는 하나 이상의 컴퓨터 판독가능 매체 | |
KR101067399B1 (ko) | 대칭 키 암호화에 기초한 데이터의 저장 및 검색을 위한, 컴퓨팅 장치에서 구현되는 방법, 시스템 및 복수의 명령어를 저장하는 하나 이상의 컴퓨터 판독가능 매체 | |
US11132468B2 (en) | Security processing unit of PLC and bus arbitration method thereof | |
US6609199B1 (en) | Method and apparatus for authenticating an open system application to a portable IC device | |
KR100737628B1 (ko) | 고정형 토큰 및 이동형 토큰 모두를 이용한 어테스테이션 | |
US20230022112A1 (en) | Mechanism for unalterable, nonrepudiable configuration auditing within cryptographic selection schemes | |
CN108345804B (zh) | 一种可信计算环境中的存储方法和装置 | |
CN117763601B (zh) | 一种针对共享内存的隐私保护方法及系统 | |
CN115357948A (zh) | 一种基于tee及加密芯片的硬件防抄板加密方法及其装置 | |
CN117786667B (zh) | 一种用于可控计算的进程权限管理方法、系统及存储介质 | |
CN113468610A (zh) | 去中心化可信访问控制框架及其运行方法 | |
CN117648703A (zh) | 一种数据可控使用方法 | |
Murti et al. | Security in embedded systems | |
Kostiainen et al. | Key attestation from trusted execution environments | |
Kocher | Public Key Cryptography in Computer and Network Security | |
Zhang | Comparison of prominent trusted execution environments | |
CN118821233A (zh) | 一种基于tpcm技术的可信计算机存储系统 | |
Crutcher et al. | Computer Security | |
CN115292727A (zh) | 基于TrustZone的根文件系统加密方法及装置、设备及存储介质 | |
CN110059489A (zh) | 安全电子设备 | |
CN117573275A (zh) | 一种基于TrustZone的可信容器应用安全读写方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |