[go: up one dir, main page]

CN115186300B - 文件安全处理系统及文件安全处理方法 - Google Patents

文件安全处理系统及文件安全处理方法 Download PDF

Info

Publication number
CN115186300B
CN115186300B CN202211096744.9A CN202211096744A CN115186300B CN 115186300 B CN115186300 B CN 115186300B CN 202211096744 A CN202211096744 A CN 202211096744A CN 115186300 B CN115186300 B CN 115186300B
Authority
CN
China
Prior art keywords
data
request
file
target
encrypted
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.)
Active
Application number
CN202211096744.9A
Other languages
English (en)
Other versions
CN115186300A (zh
Inventor
邵乐希
蓝晏翔
范瑜芯
王嘉平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Digital Economy Academy IDEA
Original Assignee
International Digital Economy Academy IDEA
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Digital Economy Academy IDEA filed Critical International Digital Economy Academy IDEA
Priority to CN202211096744.9A priority Critical patent/CN115186300B/zh
Publication of CN115186300A publication Critical patent/CN115186300A/zh
Application granted granted Critical
Publication of CN115186300B publication Critical patent/CN115186300B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了文件安全处理系统及文件安全处理方法,其中,文件安全处理系统包括:可信计算设备和宿主机,上述可信计算设备和上述宿主机之间通过总线通道进行加密的数据传输;上述可信计算设备用于存储文件处理应用程序,上述文件处理应用程序用于根据目标对象输入的文件处理指令生成文件处理请求,上述文件处理请求在进行转换加密后通过上述总线通道传输给上述宿主机;上述宿主机用于存储隐私文件,以及根据接收到的转换加密后的文件处理请求获取上述隐私文件中的目标数据,上述目标数据在进行转换加密后通过上述总线通道传输给上述可信计算设备。本发明有利于提高文件处理的安全性。

Description

文件安全处理系统及文件安全处理方法
技术领域
本发明涉及信息安全技术领域,尤其涉及的是一种文件安全处理系统及文件安全处理方法。
背景技术
随着科学技术的发展,各种数据以极快的增长速度不断增长,数据的存储方案逐渐被重视。同时,需要存储的数据中包括涉及到用户隐私信息的隐私数据,对于隐私数据的存储和处理也尤为重要。
目前,数据通常以文件的形式存储,例如,可以将隐私数据以文件的形式存储在一个设备中,为了进行数据保护,在存储隐私数据的设备中设置文件系统和对应的应用程序,用户可以通过应用程序输入指令来进行文件处理。
现有技术的问题在于,对应的应用程序直接设置在存储文件的设备中,整个文件处理(例如数据查找)过程都是在同一个设备中进行的,攻击者对该设备进行观察或攻击时容易确定用户使用的文件访问模式并窃取对应的隐私数据,不利于提高文件处理的安全性。
因此,现有技术还有待改进和发展。
发明内容
本发明的主要目的在于提供一种文件安全处理系统及文件安全处理方法,旨在解决现有技术中对应的应用程序直接设置在存储文件的设备中,整个文件处理过程在同一个设备中进行,攻击者对该设备进行观察或攻击时容易确定用户使用的文件访问模式并窃取对应的隐私数据,不利于提高文件处理的安全性的问题。
为了实现上述目的,本发明第一方面提供一种文件安全处理系统,其中,上述文件安全处理系统包括:可信计算设备和宿主机,上述可信计算设备和上述宿主机之间通过总线通道进行加密的数据传输;
上述可信计算设备用于存储文件处理应用程序,上述文件处理应用程序用于根据目标对象输入的文件处理指令生成文件处理请求,上述文件处理请求在进行转换加密后通过上述总线通道传输给上述宿主机;
上述宿主机用于存储隐私文件,以及根据接收到的转换加密后的文件处理请求获取上述隐私文件中的目标数据,上述目标数据在进行转换加密后通过上述总线通道传输给上述可信计算设备。
可选的,上述可信计算设备包括:
依次通信连接的应用程序存储模块、文件系统模块、块缓存模块以及第一块设备驱动模块;
上述应用程序存储模块用于存储上述文件处理应用程序;
上述文件系统模块用于获取上述文件处理应用程序生成的文件处理请求,将上述文件处理请求转换成输入输出请求并将上述输入输出请求分批发送给上述块缓存模块;
上述块缓存模块用于在缓存的输入输出请求满足预设的回写条件时基于回写模式将缓存的输入输出请求写入上述第一块设备驱动模块中;
上述第一块设备驱动模块用于对上述输入输出请求进行加密获得加密请求数据,并通过上述总线通道向上述宿主机发送上述加密请求数据。
可选的,当上述文件处理请求为读请求时,上述文件系统模块具体用于:
获取上述文件处理应用程序生成的读请求,根据上述读请求中的文件偏移量确定上述目标数据对应的映射位置,根据上述映射位置获取逻辑数据块位置,将上述逻辑数据块位置转换成目标扇区号,根据上述目标扇区号创建bio请求,将多个上述bio请求合并成一个输入输出请求,将上述输入输出请求分批发送给上述块缓存模块。
可选的,上述宿主机包括:
通信连接的磁盘和第二块设备驱动模块;
上述磁盘用于存储上述隐私文件;
上述第二块设备驱动模块用于通过上述总线通道接收上述加密请求数据,对上述加密请求数据进行解密获得解密请求,根据上述解密请求获取上述隐私文件中的目标数据,对上述目标数据进行加密获得目标加密数据,并通过上述总线通道向上述可信计算设备发送上述目标加密数据。
可选的,上述第一块设备驱动模块具体用于:对上述输入输出请求进行数据合法性验证,将数据合法性验证通过的输入输出请求进行加密获得加密请求数据,并通过上述总线通道向上述宿主机发送上述加密请求数据;
上述第二块设备驱动模块具体用于,对上述加密请求数据进行解密获得解密请求,对上述解密请求进行数据合法性验证,根据数据合法性验证通过的解密请求获取上述隐私文件中的目标数据,对上述目标数据进行加密获得目标加密数据,并通过上述总线通道向上述可信计算设备发送上述目标加密数据;
其中,上述数据合法性验证包括数据长度合法性验证和数据块ID合法性验证。
可选的,上述第一块设备驱动模块还用于通过上述总线通道接收上述目标加密数据,对上述目标加密数据进行解密获得目标解密数据,并将上述目标解密数据逐层传输到上述文件处理应用程序中。
可选的,上述第一块设备驱动模块和上述第二块设备驱动模块通过FPGA硬件加密方式进行数据加密。
本发明第二方面提供一种基于上述任意一种文件安全处理系统的文件安全处理方法,其中,上述文件安全处理方法包括:
通过上述可信计算设备中的文件处理应用程序获取目标对象输入的文件处理指令,并根据上述文件处理指令生成文件处理请求;
在上述可信计算设备中对上述文件处理请求进行转换加密后通过上述总线通道传输给上述宿主机,以触发上述宿主机根据接收到的转换加密后的文件处理请求获取目标数据并将上述目标数据进行转换加密后通过上述总线通道传输给上述可信计算设备。
可选的,上述在上述可信计算设备中对上述文件处理请求进行转换加密后通过上述总线通道传输给上述宿主机,包括:
在上述可信计算设备中,根据上述文件处理请求查找磁盘高速缓存中是否存在上述文件处理请求对应的目标数据;
若上述磁盘高速缓存中不存在上述目标数据,则通过文件系统模块将上述文件处理请求转换成输入输出请求,并将上述输入输出请求分批发送给块缓存模块;
在上述块缓存模块缓存的输入输出请求满足预设的回写条件时通过上述块缓存模块将缓存的输入输出请求写入第一块设备驱动模块;
根据上述第一块设备驱动模块对上述输入输出请求进行加密获得加密请求数据,并通过上述总线通道向上述宿主机发送上述加密请求数据。
可选的,在上述宿主机接收到上述加密请求数据之后,对上述加密请求数据进行解密获得解密请求,根据上述解密请求获取目标数据,对上述目标数据进行加密获得目标加密数据,并通过上述总线通道向上述可信计算设备发送上述目标加密数据。
可选的,在对上述文件处理请求和上述目标数据进行加密时使用FPGA硬件加密的方式。
由上可见,本发明方案中提供一种文件安全处理系统,具体的,上述文件安全处理系统包括:可信计算设备和宿主机,上述可信计算设备和上述宿主机之间通过总线通道进行加密的数据传输;上述可信计算设备用于存储文件处理应用程序,上述文件处理应用程序用于根据目标对象输入的文件处理指令生成文件处理请求,上述文件处理请求在进行转换加密后通过上述总线通道传输给上述宿主机;上述宿主机用于存储隐私文件,以及根据接收到的转换加密后的文件处理请求获取上述隐私文件中的目标数据,上述目标数据在进行转换加密后通过上述总线通道传输给上述可信计算设备。
与现有技术中相比,本发明中将文件处理应用程序和对应的隐私文件分开存储,文件处理应用程序设置在可信计算设备中,隐私文件存储在宿主机中,而可信计算设备和宿主机内分别有独立的运行环境,且可以实现可信计算的“安全区域”和“正常区域”通过总线通道进行隔离。如此,用户在使用时是对可信计算设备发出指令,再根据可信计算设备对宿主机中的文件进行处理,即使攻击者对宿主机进行观察或攻击也难以确定用户使用的实际文件访问模式,从而有利于避免攻击者窃取对应的目标数据,有利于提高文件处理的安全性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例提供的一种医疗数据库中一个内存块对应的数据存储结构示意图;
图2是本发明实施例提供的一种文件安全处理系统的结构示意图;
图3是本发明实施例提供的一种文件安全处理系统的具体结构示意图;
图4是本发明实施例提供的一种文件安全处理方法的流程示意图;
图5是本发明实施例提供的一种文件安全处理方法的具体流程示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况下,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
下面结合本发明实施例的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其它不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
随着科学技术的发展,各种数据以每年44ZB的速度不断增长,数据的存储方案逐渐被重视。同时,需要存储的数据中包括涉及到用户隐私信息的隐私数据,对于隐私数据的存储和处理也尤为重要。
目前,数据通常以文件的形式存储,例如,可以将隐私数据以文件的形式存储在一个设备中,为了进行数据保护,在存储隐私数据的设备中设置文件系统和对应的应用程序,用户可以通过应用程序输入指令来进行文件处理。
现有技术的问题在于,对应的应用程序直接设置在存储文件的设备中,整个文件处理(例如数据查找)过程都是在同一个设备中进行的,攻击者对该设备进行观察或攻击时容易确定用户使用的文件访问模式并窃取对应的隐私数据,不利于提高文件处理的安全性。
在一种应用场景中,面对庞大的数据量,可以将对应的数据从本地存储迁移到云端。将数据传输到云平台可以支持用户更好的对其在线服务进行弹性伸缩,但是可能会失去对数据的控制。尤其是对于处理敏感数据的应用来说,为了利用对应的云服务,用户必须向云服务厂商披露敏感数据,可能带来数据被窥探等风险。
而在不对机器建立物理访问的基础下,目前针对文件系统的攻击方式主要包括系统调用嗅探攻击、基于缺页中断的攻击和基于缓存的侧信道攻击。
具体的,Linux提供给其用户一系列用于访问磁盘中文件的接口,这些接口即系统调用。在进行系统调用嗅探攻击时,攻击者通过监听文件系统的系统调用,比如open()、read()、write()等,可以获取用户访问的文件名及数据偏移量,从而知道访问的数据段。如果攻击者知道数据的组织结构,比如哪些偏移段存什么数据,就可以知道当前读取的是什么类型的数据。
例如,若系统中运行有一个医疗数据库SQLite,其中数据库文件和数据库通信通道都是加密的,SQLite通过Linux文件系统调用持久化用户数据。假设攻击者知道SQLite对应的数据库模式(例如数据库文件中存储的表的数量,以及表中单行的大小)。具体的,图1是本发明实施例提供的一种医疗数据库中一个内存块对应的数据存储结构示意图,SQLite中每一行对应一块8196 byte的内存块,如图1所示,一个内存块被分为一个4字节的列和两个每个4 KB的列,第一列用于存储该内存存储的数据所对应的所属人员的标识信息(即id),第二列用于存储有心脏病史的人的信息(即history),第三列用于存储无心脏病史的人的信息(即no-history)。同时,在数据库上可以运行一个查询进程(或应用),用于检查提供的个人id是否与心脏病历史相关联。
在另一种应用场景中,攻击者可以进行基于缺页中断的攻击。缺页中断是系统调度虚拟内存的一种方式,操作系统根据当前的访问情况将需要访问的数据从磁盘拷贝到内存中,但内存的大小是固定的,所以操作系统根据访问情况把不再访问的数据剔除内存,再将需要访问的数据加载到内存中供用户读取,这个过程即为换页。页的地址保存在页表中,由于页表是不安全的,攻击者可以通过页表得到内存的地址,从而知道换页发生时的内存段。
在另一种应用场景中,攻击者可以进行基于缓存的侧信道攻击。具体的,多核之间缓存(cache)数据共享,而cache命中和失效对应响应时间有差别,攻击者可以通过访问时间的差异,推测cache中的信息,从而获得隐私数据。缓存中保存着应用程序的代码和数据,来自内存中的文件的数据也在缓存中,并将从缓存中访问。一旦应用程序试图访问相同的行,监控缓存的攻击者可以跟踪使用Prime+Probe攻击被干扰的缓存集。由于后续访问将影响相同的缓存集,攻击者可以构建与基于页面错误的攻击类似的推断,从而危及应用程序的安全性。
可选的,可以采用基于内存文件系统、混合文件系统或不经意传输文件系统的方案进行文件处理并提高文件处理过程中的安全性。
内存文件系统中缓存了完整的文件数据以及元数据信息,用户不使用系统调用读写磁盘数据,而是通过访问内存的方式读写数据。文件数据都缓存在飞地(enclave)的缓冲区内,相应文件的系统操作都在飞地内处理进而防止攻击者通过监控系统调用获取敏感信息。但内存文件系统只能抵御系统调用嗅探攻击,不能抵御其他两种攻击,并且加载数据量有限,会造成内存空间的浪费。
混合文件系统结合了原生文件系统和内存文件系统,在混合文件系统模型中,不会加载完整的文件数据到内存,而是按需加载。文件一开始被缓存在非飞地内存中(但在DRAM中),并根据需要拷贝到飞地中。但由于混合模型混合了两个文件系统模型,没有特殊的安全机制,因此它的攻击面也继承了这两个模型。混合模型基本不能抵御上述的三种攻击。
不经意传输(ORAM)文件系统实现了基于path-ORAM的不经意传输协议,文件系统运行在飞地中,应用程序通过加密的通信信道将所有与文件系统相关的操作转发给隔离的文件系统。其可以抵御系统调用嗅探攻击和缺页中断攻击,但无法抵御基于缓存的侧信道攻击。同时,由于引入了不经意传输协议,在性能上表现较差。
可见,上述三种方案也难以实现抵御上述三种攻击,且内存文件系统和ORAM文件系统对资源的浪费较大,内存文件系统消耗过多内存,ORAM文件系统在读写过程中需要携带大量的冗余数据,导致性能损耗较大。
为了解决上述多个问题中的至少一个问题,本发明方案中提供一种文件安全处理系统,具体的,上述文件安全处理系统包括:可信计算设备和宿主机,上述可信计算设备和上述宿主机之间通过总线通道进行加密的数据传输;上述可信计算设备用于存储文件处理应用程序,上述文件处理应用程序用于根据目标对象输入的文件处理指令生成文件处理请求,上述文件处理请求在进行转换加密后通过上述总线通道传输给上述宿主机;上述宿主机用于存储隐私文件,以及根据接收到的转换加密后的文件处理请求获取上述隐私文件中的目标数据,上述目标数据在进行转换加密后通过上述总线通道传输给上述可信计算设备。
与现有技术中相比,本发明中将文件处理应用程序和对应的隐私文件分开存储,文件处理应用程序设置在可信计算设备中,隐私文件存储在宿主机中,而可信计算设备和宿主机内分别有独立的运行环境,且可以实现可信计算的“安全区域”和“正常区域”通过总线通道进行隔离。如此,用户在使用时是对可信计算设备发出指令,再根据可信计算设备对宿主机中的文件进行处理,即使攻击者对宿主机进行观察或攻击也难以确定用户使用的实际文件访问模式,从而有利于避免攻击者窃取对应的目标数据,有利于提高文件处理的安全性。
如图2所示,本发明实施例提供一种文件安全处理系统,具体的,上述文件安全处理系统包括:可信计算设备10和宿主机20,上述可信计算设备10和上述宿主机20之间通过总线通道30进行加密的数据传输;
上述可信计算设备10用于存储文件处理应用程序,上述文件处理应用程序用于根据目标对象输入的文件处理指令生成文件处理请求,上述文件处理请求在进行转换加密后通过上述总线通道30传输给上述宿主机20;
上述宿主机20用于存储隐私文件,以及根据接收到的转换加密后的文件处理请求获取上述隐私文件中的目标数据,上述目标数据在进行转换加密后通过上述总线通道30传输给上述可信计算设备10。
具体的,本实施例中,上述可信计算设备10和上述宿主机20之间通过总线通道30进行加密的数据传输。其中,上述可信计算设备10可以是一个可信计算单元(SPU,SecureProcessing Unit),即一个可以提供安全可信计算环境的协处理器。具体的,SPU是一种全新的软硬件架构,可以采用硬件级的加密隔离手段杜绝敏感数据泄露问题。需要说明的是,本实施例中的可信计算设备10(即SPU)具备独立的计算和存储单元,不与宿主机20共用计算和存储单元,因此可以从物理层面将可信计算的“安全区域(即SPU)”和“正常区域(即宿主机)”完全分隔,即SPU可以看作一个独立的运行环境,该环境通过总线通道30与宿主机20传输加密数据。
上述目标对象是需要正常进行文件处理的用户,且用户在进行文件处理的过程中需要避免攻击者窃取到数据。用户通过上述文件处理应用程序输入对应的指令以进行文件处理(例如数据查询或数据写入),上述文件处理应用程序在SPU中运行,可以认为是安全的(不会被攻击者监控的)。
上述隐私文件是隐私数据对应的文件,上述隐私数据是包含用户隐私信息的数据,例如用户的账号密码数据、联系方式数据、患病信息数据等,在此不作具体限定。上述目标数据是目标对象根据其输入的指令需要查询或操作的数据,例如,可以是用户想要读取的数据,或者是用户想要写入的新数据所对应的位置,本实施例中以用户想要读取的数据为例进行说明,但不作为具体限定。
需要说明的是,上述总线通道30可以视为上述文件安全处理系统的一部分,也可以视为一个单独的部分(即不属于上述文件安全处理系统),本实施例中以总线通道30是一个单独的部分为例进行说明,但不作为具体限定。同时,上述可信计算设备10和上述宿主机20中还可以分别包括其它用于实现其它功能的单元或模块,例如计算单元、存储单元等,在此不做具体限定。
图3是本发明实施例提供的一种文件安全处理系统的具体结构示意图,如图3所示,上述可信计算设备10包括:依次通信连接的应用程序存储模块101、文件系统模块102、块缓存模块103以及第一块设备驱动模块104;
上述应用程序存储模块101用于存储上述文件处理应用程序;
上述文件系统模块102用于获取上述文件处理应用程序生成的文件处理请求,将上述文件处理请求转换成输入输出请求并将上述输入输出请求分批发送给上述块缓存模块103;
上述块缓存模块103用于在缓存的输入输出请求满足预设的回写条件时基于回写模式将缓存的输入输出请求写入上述第一块设备驱动模块104中;
上述第一块设备驱动模块104用于对上述输入输出请求进行加密获得加密请求数据,并通过上述总线通道30向上述宿主机20发送上述加密请求数据。
上述宿主机20包括:通信连接的磁盘201和第二块设备驱动模块202;
上述磁盘201用于存储上述隐私文件;
上述第二块设备驱动模块202用于通过上述总线通道30接收上述加密请求数据,对上述加密请求数据进行解密获得解密请求,根据上述解密请求获取上述隐私文件中的目标数据,对上述目标数据进行加密获得目标加密数据,并通过上述总线通道30向上述可信计算设备10发送上述目标加密数据。
具体的,本实施例中,上述文件系统模块102中可以存储EXT2/3文件系统,上述块缓存模块103可以是一个缓存层(bcache),上述第一块设备驱动模块104可以是一个SPU块设备驱动层,上述总线通道30可以是一个PCIe通道,SPU和宿主机20通过PCIe通道进行通信。上述磁盘201中存储了SPU对应的(即根据SPU生成的请求进行文件处理的)二进制文件(bin文件)。
具体的,隐私数据以隐私文件的形式存储在宿主机20的磁盘201中,而文件处理应用程序在SPU中运行,在宿主机20和SPU之间建立安全的信道避免消息被窃听。需要说明的是,SPU的运行环境可以视为是安全的,而宿主机20的运行环境可以视为是不安全的。在一种应用场景中,上述文件处理应用程序可以视为SPU中一个进程,进程也会占用SPU中的一部分内存空间和磁盘空间,本实施例中以为文件处理应用程序单独设置一个应用程序存储模块101为例进行说明,但不作为具体限定。
具体的,在上述文件处理应用程序接收到目标对象输入的文件处理指令(例如请求读取磁盘上的某个文件的指令)时,根据文件处理指令发起对应的文件处理请求,文件系统模块102中设置的文件系统(例如EXT2/3文件系统)将文件处理请求转换成输入输出请求(即I/O请求),并将I/O请求按照预设的发送策略分批次发送给SPU中的bcache缓存层。当bcache缓存中的I/O请求满足预设条件时,bcache再根据回写模式的策略将I/O请求写到SPU的块设备驱动层上;SPU的块设备驱动层将I/O请求加密之后通过PCIe通道发送给宿主机20。
其中,上述预设的发送策略是指将I/O请求按照内核的IO调度算法按批次发送,而不是接收到一个I/O请求就马上进行发送。且由于缓存了多个I/O请求并按照批次发送,相当于在发送时已经打乱了原来的请求顺序,有利于避免被监听而造成文件处理模型或对应的目标数据的泄露。
其中,上述预设条件是在bcache中配置的回写条件,例如满足脏页率达到预设阈值时进行回写,具体的预设阈值可以根据实际需求进行配置,在此不做具体限定。需要说明的是,上述回写模式是指所有的数据先写入bcache中,然后系统根据配置的回写策略将数据批次回写入后端数据盘中,可以实现屏蔽文件的访问模式。
在一种应用场景中,当上述文件处理请求为读请求时,上述文件系统模块102具体用于:获取上述文件处理应用程序生成的读请求,根据上述读请求中的文件偏移量确定上述目标数据对应的映射位置,根据上述映射位置获取逻辑数据块位置,将上述逻辑数据块位置转换成目标扇区号,根据上述目标扇区号创建bio请求,将多个上述bio请求合并成一个输入输出请求,将上述输入输出请求分批发送给上述块缓存模块103。
具体的,文件系统模块102中可以具体包括映射层、通用块层和I/O调度层,映射层根据读请求的文件偏移量确定目标数据所对应的文件内容在物理设备(即宿主机20)的映射位置,通用块层根据映射位置获取逻辑数据块位置,然后将对应的逻辑数据块位置转换成扇区号以获得目标扇区号,并创建bio请求。I/O调度层根据内核的调度策略将多个bio请求合并成一个I/O请求(即输入输出请求)并放入等待队列中,按照预设的策略批次发送给块缓存模块103。
本实施例中,上述第一块设备驱动模块104具体用于:对上述输入输出请求进行数据合法性验证,将数据合法性验证通过的输入输出请求进行加密获得加密请求数据,并通过上述总线通道30向上述宿主机20发送上述加密请求数据;
上述第二块设备驱动模块202具体用于,对上述加密请求数据进行解密获得解密请求,对上述解密请求进行数据合法性验证,根据数据合法性验证通过的解密请求获取上述隐私文件中的目标数据,对上述目标数据进行加密获得目标加密数据,并通过上述总线通道30向上述可信计算设备10发送上述目标加密数据;
其中,上述数据合法性验证包括数据长度合法性验证和数据块ID合法性验证。
如此,通过数据合法性验证可以避免因生成错误的请求或者请求数据在传输过程中出错、被篡改、损坏等原因导致的文件处理故障,进一步提高文件处理的安全性。
进一步的,上述第一块设备驱动模块104还用于通过上述总线通道30接收上述目标加密数据,对上述目标加密数据进行解密获得目标解密数据,并将上述目标解密数据逐层传输到上述文件处理应用程序中。
具体的,上述宿主机20的第二块设备驱动模块202中的块设备驱动程序接收到I/O请求之后进行解密,并根据I/O请求中的访问地址读取磁盘201中与该SPU对应的存储文件(即bin文件),从该存储文件中查找I/O请求所请求的目标数据,对目标数据进行加密后返回响应给SPU的块设备驱动层,再通过SPU的bcache层和文件系统模块102传递到文件处理应用程序,且可以通过文件处理应用程序反馈给目标对象。
本实施例中,上述第一块设备驱动模块104和上述第二块设备驱动模块201通过FPGA硬件加密方式进行数据加密。具体的,SPU文件系统采用FPGA硬件加密的方式,相比于软件加密的方式更安全且高效。本实施例中,可以采用aes-gcm256对称加密算法,实现文件在宿主机上的加密。
需要说明的是,基于上述文件安全处理系统,可以对文件访问模式进行保护。文件访问模式即用户打开了哪个文件、对哪一块数据进行了读写操作等。本实施例中,SPU提供一个安全的运行环境,文件处理应用程序在SPU中运行,能够避免具体的文件访问模式被窃取,从而实现安全的文件处理。同时,本实施例中,还使用了PCIe加密信道,数据即便被窃听也不会被解密,进一步提高安全性。
如图4所示,本实施例中还提供一种基于上述任意一种文件安全处理系统的文件安全处理方法,上述文件安全处理方法包括:
步骤S100,通过可信计算设备中的文件处理应用程序获取目标对象输入的文件处理指令,并根据上述文件处理指令生成文件处理请求;
步骤S200,在上述可信计算设备中对上述文件处理请求进行转换加密后通过总线通道传输给宿主机,以触发上述宿主机根据接收到的转换加密后的文件处理请求获取目标数据并将上述目标数据进行转换加密后通过上述总线通道传输给上述可信计算设备。
具体的,上述在上述可信计算设备中对上述文件处理请求进行转换加密后通过上述总线通道传输给上述宿主机,包括:
在上述可信计算设备中,根据上述文件处理请求查找磁盘高速缓存中是否存在上述文件处理请求对应的目标数据;
若上述磁盘高速缓存中不存在上述目标数据,则通过文件系统模块将上述文件处理请求转换成输入输出请求,并将上述输入输出请求分批发送给块缓存模块;
在上述块缓存模块缓存的输入输出请求满足预设的回写条件时通过上述块缓存模块将缓存的输入输出请求写入第一块设备驱动模块;
根据上述第一块设备驱动模块对上述输入输出请求进行加密获得加密请求数据,并通过上述总线通道向上述宿主机发送上述加密请求数据。
进一步的,在上述宿主机接收到上述加密请求数据之后,对上述加密请求数据进行解密获得解密请求,根据上述解密请求获取目标数据,对上述目标数据进行加密获得目标加密数据,并通过上述总线通道向上述可信计算设备发送上述目标加密数据。
其中,在对上述文件处理请求和上述目标数据进行加密时使用FPGA硬件加密的方式。
需要说明的是,本实施例中,上述文件安全处理方法的各个步骤与上述文件安全处理系统的各个功能之间可以互相参照,在此不再赘述。
在一种应用场景中,SPU中的文件处理应用程序根据目标对象输入的文件处理指令发起对应的文件处理请求,例如,可以是读文件请求read(),且该请求对应的传递参数包括文件描述符、文件偏移量(用于指示文件位置)等。
多个读文件请求经过SPU中的文件系统模块转换成I/O请求并按照预设的发送策略分批次发送给SPU中的bcache缓存层。具体的,在SPU的文件系统模块中设置有文件系统(例如EXT2/3文件系统),用于为SPU中运行的应用提供文件读写等功能。在SPU上文件系统挂载在bcache上,从SPU内部看该文件系统和普通文件系统没有差异,但其实文件系统所管理的文件以数据块的形式被存储在宿主机磁盘上一段连续的空间上,从宿主机上看只能看到一个固定大小的bin文件。
其中,bcache是一种在块设备上运行的缓存,采用一块32GB的SSD作为物理设备。bcache支持多种缓存模式,比如读写缓存(writeback回写模式)、读缓存(writethrough或writearound模式),在本实施例中基于回写模式读写缓存请求。bcache作为块设备之上的一层缓存用来屏蔽文件的访问模式,从而使得攻击者不能通过缓存的变化来推测当前的访问的是文件的哪段数据,进而可以避免基于缺页中断的攻击。具体的,bcache能够缓存一部分I/O请求,然后再根据回写模式的策略将I/O请求写到块设备驱动层上,块设备驱动层把I/O请求通过PCIe通道发到宿主机上读写磁盘。本实施例中,bcache上的一个数据块大小是4kB(该大小与一个I/O请求的大小4KB对应,实际使用过程中可以根据需求进行调整)。由于多了一层缓存,攻击者不能通过缺页中断来知道数据的访问规律,从而可以实现对基于缺页中断的攻击的防御。
当bcache缓存中的I/O请求满足预设条件时,bcache再根据回写模式的策略将I/O请求写到SPU的块设备驱动层上。SPU的块设备驱动层将I/O请求加密之后通过PCIe通道发送给宿主机。具体的,SPU的块设备驱动层以页为单位接收bcache层发送的I/O请求,再通过PCIe通信链路将I/O请求发送到宿主机上。本实施例中,上述I/O请求中标识有请求类型和所需要访问的数据块id。例如,请求类型为读数据时需要读取对应id处的数据,请求类型为写数据时则需要将数据写入对应的id处。
在本实施例中,上述SPU的块设备驱动层还会进行数据合法性验证,以避免请求被篡改、数据被损坏或者被外部人员修改。具体的,块设备驱动层中的驱动程序通过预先配置的文件大小和物理块大小计算宿主机上的物理块数量,以更方便的管理磁盘空间。用户需要在文件系统启动时指定文件系统大小,即磁盘大小。具体的,文件大小是允许SPU在宿主机的磁盘上所占用的空间大小,物理块是每一个物理块所对应的空间大小,本实施例中物理块大小固定为4KB,物理块是块设备管理磁盘空间时的最小单位,一个物理块对应磁盘上的一段空间。当SPU的块设备驱动层中的驱动程序接收到I/O请求时判断I/O请求对应的数据长度是否符合物理块大小(的整数倍)的要求(数据长度符合物理块大小整数倍时认为数据长度合法,反之不合法),判断I/O请求的数据块id是否合法(例如数据id属于SPU在宿主机磁盘中对应的id范围之内时合法,反之不合法)。当I/O请求对应的数据长度符合物理块大小整数倍且数据块id合法时,将I/O请求发送到宿主机。
宿主机的块设备驱动层中设置的块设备驱动程序收到加密后的I/O请求之后,解密请求,并根据解密后获得的I/O请求(即解密请求)中的访问地址读取宿主机磁盘中对应的存储文件,并从存储文件中查找解密请求中的文件偏移量,并根据文件偏移量获取请求的目标数据。对目标数据进行加密后返回给SPU的块设备驱动层,再通过SPU的bcache层和文件系统模块传递到文件处理应用程序。
具体的,宿主机的块设备驱动程序用于接收SPU发送的I/O请求,如果是读请求,则将指定id的数据块拷贝到宿主机的内存中再发送给SPU;如果是写请求,则根据数据块id(即数据块的index)计算物理块所在的偏移量(即offset),将数据写回指定的位置(该位置对应的id就是数据块的index,可以根据index计算块的offset)。具体的,宿主机在初始化阶段打开SPU对应的bin文件并计算数据块数量(以分配数据块id),子线程监听管道中的I/O请求,当接收到I/O请求时进行数据合法性验证,判断数据块id是否合法,合法时通过数据块id计算文件偏移量,将指定偏移量的数据块拷贝到内存中,再发送数据块给SPU。
其中,宿主机磁盘基于一个指定大小的bin文件持久化存储SPU所对应的文件数据。
图5是本发明实施例提供的一种文件安全处理方法的具体流程示意图,如图5所示,在一种应用场景中,SPU中的应用程序(即文件处理应用程序)调用syscall库函数向VFS虚拟文件系统发起读文件请求read(),传递参数有文件描述符和文件偏移量等。现有技术中,文件处理应用程序直接存储在Host(即宿主机)中,攻击者通过监控应用程序的syscall来窥探到当前访问的文件信息。本实施例中的读文件请求read()发生在SPU内部,攻击者无法监控系统调用syscall来窥探到当前访问的文件信息,因此可以避免系统调用攻击。具体的,SPU文件系统能够抵御系统调用攻击,由于对应的文件系统在SPU中运行,和宿主机有着物理隔离,所有文件系统相关的调用请求信息都经过SPU内部转换成I/O请求,并将I/O请求加密后反馈给宿主机,攻击者无法窥探到调用请求信息。
进一步的,VFS将请求传递给磁盘高速缓存,磁盘高速缓存根据请求在缓存内查找请求的目标数据是否已经存在;如果在缓存内并且数据是最新的,那就响应read()操作,直接返回目标数据给VFS,从而将目标数据返回给应用程序。在一种应用场景中,当计算单元从主存中读取或者写入数据时,会先查看一下所要读取的数据副本是否在last layercache中。现有技术中,如果目标数据存储在宿主机CPU内部的last layer cache中,则直接从last layer cache中读取,因宿主机CPU内部的last layer cache本身是不安全的,攻击者可以通过Prime+Probe的方式获取缓存中的数据。由于本实施例中SPU和宿主机Host通过PCIe进行通信存在物理隔离,攻击者无法监控SPU中计算单元的last layer cache来获取访问的数据,所以在这一步可以避免基于Host中 last layer cache的攻击。其中,SPU和Host均设有last layer cache,但两者相互隔离,从而保证SPU文件系统能够抵御缓存攻击。具体的,LLC缓存(即last layer cache)位于CPU内部,由于宿主机的CPU与SPU的CPU有着物理隔离,攻击者无法窥探到SPU中LLC缓存的变化,也就无法跟踪到SPU内部的访问请求。
同时,SPU文件系统性能损耗较小。相比于不经意传输文件系统,SPU文件系统更接近于原生的文件系统,没有利用冗余数据来屏蔽文件访问模式,而是通过加一层缓存的形式来混淆对外可见的数据,因此在性能上损耗较小,同时新缓存也能够在一定程度上加快访问速度。
进一步的,如果磁盘高速缓存中文件请求对应的文件内容页缺失(缓存未命中),那么产生一个缺页中断,同时在磁盘高速缓存分配文件内容的内存空间。在现有技术中,页表是所有应用程序共用的,如果攻击者知道传递参数中文件描述符、文件偏移量,即可知道该请求所要的目标文件及目标文件在磁盘高速缓存开始的地址,以及每一个行在文件中的偏移量,攻击者可以通过换页的地址段来推测当前访问的数据库中行对应的数据段。因为本实施例的SPU和宿主机之间不共用页表,所以可以避免缺页中断的攻击。
具体的,由于宿主机和SPU之间不共享内存,并且宿主机上缺页中断发生的时机取决于bcache回写脏页的频率,从攻击者的角度只能看到某一时刻宿主机发生了缺页中断,但无法确定该操作是否是因为当前时刻的读写导致。进一步的,在宿主机上发生缺页中断的数据块大小是可以自定义预先配置的,例如4KB而不是常见的512字节,更有利于隐藏真实访问的数据段。
如果缓存未命中,映射层根据读请求的文件偏移量确定文件内容在物理设备的映射位置,通用块层根据映射位置获取逻辑数据块的位置,然后将对应逻辑数据块转换成扇区号,并创建bio请求。
I/O调度层根据内核的调度策略将多个bio请求合并成一个I/O请求并放入等待队列中,按照预设的策略批次发送给bcache层。例如,图5中根据bio请求100获得请求1(Req1),根据bio请求102和103合并成一个请求2(Req2)。
I/O请求到达bcache后会先缓存在bcache的ssd中,当满足一定条件刷脏数据的时候才会写到下一层的块设备上。本实施例中,SPU中文件系统的刷脏时机跟宿主机真实刷脏时机并不一致,从攻击者角度来看无法区分是什么操作导致刷脏,从而隐藏了文件的访问信息。其中,上述条件可以是脏页率达到一定阈值,或者距离上次刷脏的间隔时间达到某个阈值,具体可以根据实际情况配置bcache的缓存策略。
I/O请求到达块设备驱动层,根据I/O请求的访问类型重新构造请求头,并将I/O请求加密之后通过PCIe通道发送给宿主机,执行安全的数据传输。其中,请求头含有数据返回的地址,以便read请求被响应后的目标数据能准确被返回到请求指定的地址。本实施例中SPU文件系统采用FPGA硬件加密的方式,相比于软件加密的方式更安全且高效。
宿主机驱动程序收到I/O请求后,解密请求,根据请求中的访问地址读取SPU的存储文件,从该存储文件中查找I/O请求的文件偏移量,并根据文件偏移量获取请求的目标数据,并加密后返回响应给SPU的块设备驱动层,并逐层传递到应用程序。如此,SPU文件系统对宿主机资源的利用率较高。相比于内存文件系统需要缓存完整的文件,SPU文件系统只需要按需获取数据,元数据和用户数据都在宿主机上存储,SPU中只缓存一部分最近访问的数据。
如此可见,本实施例中,在SPU内采用bcache屏蔽文件访问模式,可以抵御缺页中断攻击;在SPU内实现了一个独立的运行环境,既可以和宿主机进行物理隔离,又能够充分的利用宿主机的资源,能够抵御系统调用嗅探攻击和CPU缓存攻击;同时还实现了FPGA硬件级别的加密,进一步提高文件处理的安全性。
应理解,上述实施例中各步骤的序号大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将上述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。上述装置中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各实例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟是以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的系统/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的系统/终端设备实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以由另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
上述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,上述计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读介质可以包括:能够携带上述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,上述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不是相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (9)

1.一种文件安全处理系统,其特征在于,所述文件安全处理系统包括:可信计算设备和宿主机,所述可信计算设备和所述宿主机之间通过总线通道进行加密的数据传输;
所述可信计算设备用于存储文件处理应用程序,所述文件处理应用程序用于根据目标对象输入的文件处理指令生成文件处理请求,所述文件处理请求在进行转换加密后通过所述总线通道传输给所述宿主机;
所述宿主机用于存储隐私文件,以及根据接收到的转换加密后的文件处理请求获取所述隐私文件中的目标数据,所述目标数据在进行转换加密后通过所述总线通道传输给所述可信计算设备;
其中,所述可信计算设备包括:依次通信连接的应用程序存储模块、文件系统模块、块缓存模块以及第一块设备驱动模块;
所述应用程序存储模块用于存储所述文件处理应用程序;
所述文件系统模块用于获取所述文件处理应用程序生成的文件处理请求,将所述文件处理请求转换成输入输出请求并将所述输入输出请求分批发送给所述块缓存模块;
所述块缓存模块用于在缓存的输入输出请求满足预设的回写条件时基于回写模式将缓存的输入输出请求写入所述第一块设备驱动模块中;
所述第一块设备驱动模块用于对所述输入输出请求进行加密获得加密请求数据,并通过所述总线通道向所述宿主机发送所述加密请求数据。
2.根据权利要求1所述的文件安全处理系统,其特征在于,当所述文件处理请求为读请求时,所述文件系统模块具体用于:
获取所述文件处理应用程序生成的读请求,根据所述读请求中的文件偏移量确定所述目标数据对应的映射位置,根据所述映射位置获取逻辑数据块位置,将所述逻辑数据块位置转换成目标扇区号,根据所述目标扇区号创建bio请求,将多个所述bio请求合并成一个输入输出请求,将所述输入输出请求分批发送给所述块缓存模块。
3.根据权利要求1所述的文件安全处理系统,其特征在于,所述宿主机包括:
通信连接的磁盘和第二块设备驱动模块;
所述磁盘用于存储所述隐私文件;
所述第二块设备驱动模块用于通过所述总线通道接收所述加密请求数据,对所述加密请求数据进行解密获得解密请求,根据所述解密请求获取所述隐私文件中的目标数据,对所述目标数据进行加密获得目标加密数据,并通过所述总线通道向所述可信计算设备发送所述目标加密数据。
4.根据权利要求3所述的文件安全处理系统,其特征在于,所述第一块设备驱动模块具体用于:对所述输入输出请求进行数据合法性验证,将数据合法性验证通过的输入输出请求进行加密获得加密请求数据,并通过所述总线通道向所述宿主机发送所述加密请求数据;
所述第二块设备驱动模块具体用于,对所述加密请求数据进行解密获得解密请求,对所述解密请求进行数据合法性验证,根据数据合法性验证通过的解密请求获取所述隐私文件中的目标数据,对所述目标数据进行加密获得目标加密数据,并通过所述总线通道向所述可信计算设备发送所述目标加密数据;
其中,所述数据合法性验证包括数据长度合法性验证和数据块ID合法性验证。
5.根据权利要求3所述的文件安全处理系统,其特征在于,所述第一块设备驱动模块还用于通过所述总线通道接收所述目标加密数据,对所述目标加密数据进行解密获得目标解密数据,并将所述目标解密数据逐层传输到所述文件处理应用程序中。
6.根据权利要求3所述的文件安全处理系统,其特征在于,所述第一块设备驱动模块和所述第二块设备驱动模块通过FPGA硬件加密方式进行数据加密。
7.一种基于权利要求1-6任意一项所述的文件安全处理系统的文件安全处理方法,其特征在于,所述文件安全处理方法包括:
通过所述可信计算设备中的文件处理应用程序获取目标对象输入的文件处理指令,并根据所述文件处理指令生成文件处理请求;
在所述可信计算设备中对所述文件处理请求进行转换加密后通过所述总线通道传输给所述宿主机,以触发所述宿主机根据接收到的转换加密后的文件处理请求获取目标数据并将所述目标数据进行转换加密后通过所述总线通道传输给所述可信计算设备;
其中,所述在所述可信计算设备中对所述文件处理请求进行转换加密后通过所述总线通道传输给所述宿主机,包括:
在所述可信计算设备中,根据所述文件处理请求查找磁盘高速缓存中是否存在所述文件处理请求对应的目标数据;
若所述磁盘高速缓存中不存在所述目标数据,则通过文件系统模块将所述文件处理请求转换成输入输出请求,并将所述输入输出请求分批发送给块缓存模块;
在所述块缓存模块缓存的输入输出请求满足预设的回写条件时通过所述块缓存模块将缓存的输入输出请求写入第一块设备驱动模块;
根据所述第一块设备驱动模块对所述输入输出请求进行加密获得加密请求数据,并通过所述总线通道向所述宿主机发送所述加密请求数据。
8.根据权利要求7所述的文件安全处理方法,其特征在于,在所述宿主机接收到所述加密请求数据之后,对所述加密请求数据进行解密获得解密请求,根据所述解密请求获取目标数据,对所述目标数据进行加密获得目标加密数据,并通过所述总线通道向所述可信计算设备发送所述目标加密数据。
9.根据权利要求7所述的文件安全处理方法,其特征在于,在对所述文件处理请求和所述目标数据进行加密时使用FPGA硬件加密的方式。
CN202211096744.9A 2022-09-08 2022-09-08 文件安全处理系统及文件安全处理方法 Active CN115186300B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211096744.9A CN115186300B (zh) 2022-09-08 2022-09-08 文件安全处理系统及文件安全处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211096744.9A CN115186300B (zh) 2022-09-08 2022-09-08 文件安全处理系统及文件安全处理方法

Publications (2)

Publication Number Publication Date
CN115186300A CN115186300A (zh) 2022-10-14
CN115186300B true CN115186300B (zh) 2023-01-06

Family

ID=83523980

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211096744.9A Active CN115186300B (zh) 2022-09-08 2022-09-08 文件安全处理系统及文件安全处理方法

Country Status (1)

Country Link
CN (1) CN115186300B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104881616A (zh) * 2015-06-29 2015-09-02 北京金山安全软件有限公司 一种基于应用程序的隐私信息存储方法及装置
CN105260663A (zh) * 2015-09-15 2016-01-20 中国科学院信息工程研究所 一种基于TrustZone技术的安全存储服务系统及方法
CN112513857A (zh) * 2018-07-27 2021-03-16 百可德罗德公司 可信执行环境中的个性化密码安全访问控制
CN113221171A (zh) * 2021-05-21 2021-08-06 杭州弗兰科信息安全科技有限公司 一种加密文件读写方法、装置、电子设备和存储介质
CN114417362A (zh) * 2020-10-10 2022-04-29 华为技术有限公司 数据管理方法、装置及系统、存储介质

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7143288B2 (en) * 2002-10-16 2006-11-28 Vormetric, Inc. Secure file system server architecture and methods
US8190917B2 (en) * 2006-09-12 2012-05-29 International Business Machines Corporation System and method for securely saving and restoring a context of a secure program loader
CN104091135A (zh) * 2014-02-24 2014-10-08 电子科技大学 一种智能终端安全系统及安全存储方法
CN104951708A (zh) * 2015-06-11 2015-09-30 浪潮电子信息产业股份有限公司 一种文件度量和保护的方法及装置
FR3037686B1 (fr) * 2015-06-17 2017-06-02 Morpho Procede de deploiement d'une application dans un element securise
CN106980794B (zh) * 2017-04-01 2020-03-17 北京元心科技有限公司 基于TrustZone的文件加解密方法、装置及终端设备
US20190042781A1 (en) * 2017-08-04 2019-02-07 Bitdefender IPR Management Ltd. Secure Storage Device
CN108763401A (zh) * 2018-05-22 2018-11-06 平安科技(深圳)有限公司 一种文件的读写方法及设备
CN109086620B (zh) * 2018-07-19 2021-03-23 郑州信大捷安信息技术股份有限公司 基于移动存储介质的物理隔离双系统构建方法
CN109324755A (zh) * 2018-08-08 2019-02-12 成都华为技术有限公司 一种i/o请求派发方法及装置
CN110110548B (zh) * 2019-04-12 2022-11-11 深圳市中易通安全芯科技有限公司 基于加密芯片的可信执行环境下文件加密存储的相关方法
CN110968743B (zh) * 2019-12-13 2021-07-06 支付宝(杭州)信息技术有限公司 针对隐私数据的数据存储、数据读取方法及装置
CN112800451A (zh) * 2021-02-24 2021-05-14 山东华芯半导体有限公司 一种基于硬件物理隔离的数据转储装置
CN113886862B (zh) * 2021-12-06 2022-04-15 粤港澳大湾区数字经济研究院(福田) 一种可信计算系统及基于可信计算系统的资源处理方法
CN114741706A (zh) * 2022-03-10 2022-07-12 新华三大数据技术有限公司 虚拟磁盘文件加密方法、装置及设备
CN114662150B (zh) * 2022-03-29 2025-03-25 联想(北京)有限公司 一种数据获取方法、装置及电子设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104881616A (zh) * 2015-06-29 2015-09-02 北京金山安全软件有限公司 一种基于应用程序的隐私信息存储方法及装置
CN105260663A (zh) * 2015-09-15 2016-01-20 中国科学院信息工程研究所 一种基于TrustZone技术的安全存储服务系统及方法
CN112513857A (zh) * 2018-07-27 2021-03-16 百可德罗德公司 可信执行环境中的个性化密码安全访问控制
CN114417362A (zh) * 2020-10-10 2022-04-29 华为技术有限公司 数据管理方法、装置及系统、存储介质
CN113221171A (zh) * 2021-05-21 2021-08-06 杭州弗兰科信息安全科技有限公司 一种加密文件读写方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN115186300A (zh) 2022-10-14

Similar Documents

Publication Publication Date Title
US10558377B2 (en) Deduplication-based data security
US11030117B2 (en) Protecting host memory from access by untrusted accelerators
EP3739458B1 (en) Address validation using signatures
US9734357B2 (en) Process authenticated memory page encryption
EP3798856B1 (en) Secure address translation services using message authentication codes and invalidation tracking
US8788840B2 (en) Secure processor
US7571294B2 (en) NoDMA cache
CN113934656A (zh) 使用密码保护的主机物理地址的安全地址转换服务
US20080114989A1 (en) Trusted Device Having Virtualized Registers
US11216592B2 (en) Dynamic cryptographic key expansion
US20190238560A1 (en) Systems and methods to provide secure storage
Alwadi et al. Promt: optimizing integrity tree updates for write-intensive pages in secure nvms
CN115186300B (zh) 文件安全处理系统及文件安全处理方法
KR20230164733A (ko) 은닉 트랜잭션을 핸들링하기 위한 장치 및 방법
CN115878515A (zh) 一种基于risc-v架构可信执行环境的缓存侧信道攻击防御方法
Xu et al. Data Enclave: A Data-Centric Trusted Execution Environment
Vanó-Garcıa et al. Slicedup: a tenant-aware memory deduplication for cloud computing
CN117492932B (zh) 虚拟机访问方法和设备
WO2025074073A1 (en) Controlling access to memory blocks

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
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20221014

Assignee: Shenzhen Qiangji Computing Technology Co.,Ltd.

Assignor: Guangdong Hong Kong Macao Dawan District Digital Economy Research Institute (Futian)

Contract record no.: X2023980045750

Denomination of invention: File Security Processing System and File Security Processing Methods

Granted publication date: 20230106

License type: Exclusive License

Record date: 20231103

EE01 Entry into force of recordation of patent licensing contract