WO2024021496A1 - 透明加密方法、装置、电子设备及存储介质 - Google Patents
透明加密方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- WO2024021496A1 WO2024021496A1 PCT/CN2022/141882 CN2022141882W WO2024021496A1 WO 2024021496 A1 WO2024021496 A1 WO 2024021496A1 CN 2022141882 W CN2022141882 W CN 2022141882W WO 2024021496 A1 WO2024021496 A1 WO 2024021496A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- file
- file system
- operation request
- virtual disk
- encrypted
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 83
- 230000015654 memory Effects 0.000 claims description 41
- 238000002955 isolation Methods 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 36
- 238000012545 processing Methods 0.000 description 17
- 230000002155 anti-virotic effect Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000001914 filtration Methods 0.000 description 6
- 238000013475 authorization Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/007—Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2107—File encryption
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及加密技术领域,具体涉及透明加密方法、装置、电子设备及存储介质,该方法包括获取目标文件的操作请求,所述操作请求中携带有目标文件的属性信息;基于属性信息确定操作请求的类型,所述操作请求的类型包括授权操作请求或非授权操作请求;根据操作请求的类型,将操作请求重定向至虚拟磁盘文件系统或真实文件系统,所述虚拟磁盘文件系统用于与真实文件系统进行交互,所述虚拟磁盘文件用于缓存解密后的目标文件,所述真实文件系统用于存储加密后的目标文件。通过虚拟磁盘文件系统实现了同一目标文件的两种形式的隔离,在重定向时是基于操作请求的类型进行的,从而实现了双文件控制的透明加密,具备分层文件系统的高性能和稳定性。
Description
本发明涉及加密技术领域,具体涉及透明加密方法、装置、电子设备及存储介质。
透明加密是指在不改变用户操作习惯的前提下,对用户计算机上的文件进行保护。文件在被写入磁盘时进行加密;被读取时根据进程判断,对授权进程进行解密,而其他非授权进程不进行解密。这样既能支持用户日常编辑使用文件,又能防止用户将加密文件外发泄密,保障数据安全。
有鉴于此,本发明实施例提供了一种透明加密方法、装置、电子设备及存储介质,以解决透明加密的问题。
根据第一方面,本发明实施例提供了一种透明加密方法,包括:
获取目标文件的操作请求,所述操作请求中携带有所述目标文件的属性信息;
基于所述属性信息确定所述操作请求的类型,所述操作请求的类型包括授权操作请求或非授权操作请求;
根据所述操作请求的类型,将所述操作请求重定向至虚拟磁盘文件系统或真实文件系统,所述虚拟磁盘文件系统用于与真实文件系统进行交互,所述虚拟磁盘文件用于缓存解密后的所述目标文件,所述真实文件系统用于存储加密后的所述目标文件。
本发明实施例提供的透明加密方法,通过虚拟磁盘文件系统实现了同一目标文件的两种形式的隔离,即,加密后的目标文件存储在真实文件系统中,解密后的目标文件缓存在虚拟磁盘文件系统中,具体在重定向时是基于操作请求的类型进行的,从而实现了双文件控制的透明加密,具备分层文件系统的高性能和稳定性。
在一些实施方式中,所述根据所述操作请求的类型,将所述操作请求重定向至虚拟磁盘文件系统或真实文件系统,包括:
当所述操作请求的类型为授权操作请求时,将所述操作请求重定向至所述虚拟磁盘文件系统;
基于所述虚拟磁盘文件系统对所述操作请求进行明文处理。
本发明实施例提供的透明加密方法,只有在确定出操作请求的类型为授权操作请求时,才会将操作请求重定向至虚拟磁盘文件系统,保证明文数据的可靠性。
在一些实施方式中,所述虚拟磁盘文件系统包括虚拟磁盘以及加密文件系统,所述虚拟磁盘用于挂载所述加密文件系统,所述加密文件系统用于从所述真实文件系统读取加密后的所述目标文件进行解密。
本发明实施例提供的透明加密方法,加密文件系统维护的影子文件和真实文件系统维护的文件实际对应同一个物理磁盘文件,影子文件访问明文,真实文件系统访问密文,具备高性能和高稳定性。采用重定向机制将操作请求转发到虚拟磁盘,与杀毒软件兼容,防止透传影子文件的操作请求到真实文件系统后导致蓝屏等。
在一些实施方式中,所述基于所述虚拟磁盘文件系统对所述目标文件进行明文操作,包括:
读取所述虚拟磁盘中的影子文件,以获得加密后的所述目标文件在所述真实文件系统中的访问路径;
基于所述访问路径从所述真实文件系统中读取加密后的所述目标文件;
利用加密文件系统对加密后的所述目标文件进行解密,并利用所述影子文件对解密结果进行缓存,以对所述目标文件进行明文操作。
本发明实施例提供的透明加密方法,在影子文件中存储加密后的目标文件在真实文件系统中的访问路径,只有在接收到操作请求时才利用该访问路径进行加密后的目标文件的读取与解密,通过读取时机的限制,能够减少不必要的内存开销。
在一些实施方式中,所述读取所述虚拟磁盘中的影子文件,以获得加密后的所述目标文件在所述真实文件系统中的访问路径,包括:
当获取到所述目标文件的授权打开请求时,在所述虚拟磁盘中创建影子文件;
在所述影子文件中记录加密后的所述目标文件在所述真实文件系统中的访问路径。
在一些实施方式中,所述方法还包括:
当获取到所述目标文件的授权关闭请求时,在所述虚拟磁盘中清除所述影子文件。
本发明实施例提供的透明加密方法,影子文件是依据需求创建,且依据需求清除的,能够及时释放内存空间,减少内存消耗。
在一些实施方式中,所述方法还包括:
当所述操作请求为非授权操作请求时,将所述操作请求重定向至所述真实文件系统;
基于所述真实文件系统对所述目标文件进行密文操作。
本发明实施例提供的透明加密方法,对于非授权操作请求,就直接将操作请求重定向至真实文件系统中进行密文操作,提高了目标文件的安全性。
根据第二方面,本发明实施例还提供了一种透明加密装置,包括:
获取模块,用于获取目标文件的操作请求,所述操作请求中携带有所述目标文件的属性信息;
确定模块,用于基于所述属性信息确定所述操作请求的类型,所述操作请求的类型包括授权操作请求或非授权操作请求;
重定向模块,用于根据所述操作请求的类型,将所述操作请求重定向至虚拟磁盘文件系统或真实文件系统,所述虚拟磁盘文件系统用于与真实文件系统进行交互,所述虚拟磁盘文件用于缓存解密后的所述目标文件,所述真实文件系统用于存储加密后的所述目标文件。
根据第三方面,本发明实施例提供了一种电子设备,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行第一方面或者第一方面的任意一种实施方式中所述的透明加密方法。
根据第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行第一方面或者第一方面的任意一种实施方式中所述的透明加密方法。
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了基于分层文件系统的透明加密示意图;
图2是根据本发明实施例的透明加密方法的流程图;
图3是根据本发明实施例的透明加密方法的流程图;
图4是根据本发明实施例的透明加密方法的示意图;
图5是根据本发明实施例的透明加密方法的示意图;
图6是根据本发明实施例的透明加密装置的结构框图;
图7是本发明实施例提供的电子设备的硬件结构示意图。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
一般透明加密是基于windows内核层实现,通过在内核层对打开关闭、读写文件等请求进行过滤,根据不同进程的权限和文件类型决定是否进行加解密。然而,由于windows操作系统存在缓存机制,在开启缓存机制的状态下,不同进程读写同一个文件实际上是读写同一份文件缓存。授权进程需要访问明文,而非授权进程需要访问密文,这就导致两类进程交替操作同一个加密文件时,需要进行缓存切换。但是这类方法不仅降低了性能,频繁清缓存还可能损坏文件。
进一步地,基于分层文件系统(即,layerfsd)的双缓存方案为了解决性能问题而存在的。所谓分层文件系统,就是将传统加密过滤驱动扩展为一个半过滤驱动半文件系统,加密驱动不仅过滤文件读写请求,还与windows io管理器、缓存管理器、内核管理器进行交互,为同一个磁盘文件建立维护两个文件控制块(file control block,简称为FCB),建立两份缓存。这样授权进程和非授权进程相当于访问两个文件,互不干扰,解决了性能问题,稳定性也有所提高。然而layerfsd并不是真正的文件系统,而与杀毒软件同属同一层面的过滤驱动。为了防止某些恶意软件也采用过滤文件操作的方法威胁用户数据,杀毒软件可以在上层拦截到用户读写请求后,直接获取当前磁盘的文件系统驱动设备,将用户数据透传到底层文件系统,从而绕过中间所有的过滤驱动层,包括分层文件系统驱动。这不仅会导致加密文件数据出错,而且由于下层文件系统接受到了一个并非它自身创建的FCB,更有可能导致计算机崩溃蓝屏。
例如,如图1所示,基于分层文件系统的技术虽然实现了所有文件系统接口,但并没有注册为真正的文件系统,其本质仍然是文件过滤驱动,与真实文件系统挂载在同一个卷设备上。因此,如果某些杀毒软件或者恶意软件同样采用文件过滤驱动的方式,将影子FCB的访问请求过滤,通过访问请求获取到底层文件系统设备,然后将访问请求直接发送到底层文件系统,文件系统接收到一个不属于自己维护的FCB,去读写相关数据就很可能导致系统直接崩溃。
本发明实施例提供的透明加密方法,先确定操作请求的类型,再依据操作请求的类型将其重定向至虚拟磁盘文件系统或真实文件系统,实现解密后的目标文件与加密后的目标文件的分别存储与维护。即,该方法实现了双文件控制的透明加密,具备分层文件系统的高性能和稳定性。
进一步地,本发明实施例提供的透明加密方法,还能解决与杀毒软件的兼容性问题。在本发明实施例中,由于加密文件系统注册为真正的文件系统并挂载到虚拟磁盘,即使杀毒软件等过滤到影子FCB的访问请求,通过访问请求获取到的卷设备仍然是虚拟磁盘卷,发送的访问请求最终仍然由加密文件系统处理,可以正常透明加解密。
根据本发明实施例,提供了一种透明加密方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了一种透明加密方法,可用于电子设备,如终端、服务器等,图2是根据本发明实施例的透明加密方法的流程图,如图2所示,该流程包括如下步骤:
S11,获取目标文件的操作请求。
其中,所述操作请求中携带有目标文件的属性信息。
操作请求包括但不限于对目标文件的修改、删除、复制等操作,具体根据实际需求进行设置,在此对其并不做任何限定。该操作请求是在打开请求之后,对目标文件进行具体处理操作时发出的请求。其中,属性信息包括目标文件的文件信息以及进程信息,文件信息包括对目标文件的操作信息,即具体执行哪些操作,进程信息表示当前是哪个进程访问的。
S12,基于属性信息确定操作请求的类型。
其中,所述操作请求的类型包括授权操作请求或非授权操作请求。
在电子设备中配置有具有授权操作的文件及其对应的进程,以及非授权操作的文件及其进程的标识。在获取到属性信息之后,利用属性信息中的文件信息进行匹配,确定出该文件对应的授权进程;再利用进程信息与授权进程进行匹配,确定出该操作请求的类型。例如,将对文档或表格对应的进程确定为授权进程,将消息外发对应的进程确定为非授权进程。
S13,根据操作请求的类型,将操作请求重定向至虚拟磁盘文件系统或真实文件系统。
所述虚拟磁盘文件系统用于与真实文件系统进行交互,所述虚拟磁盘文件用于缓存解密后的所述目标文件,所述真实文件系统用于存储加密后的所述目标文件。
通过配置虚拟磁盘文件系统,实现与真实文件系统的隔离。且在真实文件系统中存储的是加密后的目标文件,对于加密后的目标文件的解密操作是通过虚拟磁盘文件系统实现的,因此,虚拟磁盘文件系统用于缓存解密后的目标文件。
在确定出操作请求的类型之后,将操作请求重定向至授权操作请求或非授权操作请求对应的文件系统。其中,授权操作请求与虚拟磁盘文件系统对应,非授权操作请求与真实文件系统对应。对于授权操作请求而言,其可以访问解密后的目标文件,并依据操作请求对解密后的目标文件进行相应的处理;对于非授权操作请求而言,其仅能够访问加密后的目标文件,所有的操作均是对加密后的目标文件进行处理的。
本实施例提供的透明加密方法,通过虚拟磁盘文件系统实现了同一目标文件的两种形式的隔离,即,加密后的目标文件存储在真实文件系统中,解密后的目标文件缓存在虚拟磁盘文件系统中,具体在重定向时是基于操作请求的类型进行的,从而实现了双文件控制的透明加密,具备分层文件系统的高性能和稳定性。
在本实施例中提供了一种透明加密方法,可用于电子设备,如终端、服务器等,图3是根据本发明实施例的透明加密方法的流程图,如图3所示,该流程包括如下步骤:
S21,获取目标文件的操作请求。
其中,所述操作请求中携带有目标文件的属性信息。
详细请参见图2所示实施例的S11,在此不再赘述。
S22,基于属性信息确定操作请求的类型。
其中,所述操作请求的类型包括授权操作请求或非授权操作请求。
详细请参见图2所示实施例的S12,在此不再赘述。
S23,根据操作请求的类型,将操作请求重定向至虚拟磁盘文件系统或真实文件系统。
所述虚拟磁盘文件系统用于与真实文件系统进行交互,所述虚拟磁盘文件用于缓存解密后的所述目标文件,所述真实文件系统用于存储加密后的所述目标文件。
在一些实施方式中,虚拟磁盘文件系统包括虚拟磁盘以及加密文件系统,虚拟磁盘用于挂载加密文件系统,加密文件系统用于从真实文件系统读取加密后的目标文件进行解密。虚拟磁盘使用内存盘实现,提供一个类沙箱的环境,用于挂载加密文件系统,并对用户隐藏。加密文件系统挂载到虚拟磁盘,其对上层实现了所有文件系统接口,不仅处理上层读写等操作,还与windows内存管理器、缓存管理器交互,维护影子文件和加密明文缓存。对下层在读写磁盘数据时与加密后的目标文件所在的真实文件系统进行交互,处理数据的加解密以及加密标记的隐藏等。
为实现对操作请求的重定向处理,通过封装的重定向模块实现重定向。例如,采用微过滤框架编写的文件过滤驱动,挂载到电子设备的每个磁盘卷上。文件操作通过IO管理器构造的操作请求在内核驱动设备栈中传递。挂载后的文件过滤驱动可以截获当前磁盘卷上所有的操作请求,而操作请求内包含了本次文件操作的信息。重定向模块根据拦截到的操作请求中的文件信息和进程信息,可以确定是否将该文件访问请求重定向到虚拟磁盘文件系统,实现授权进程与非授权进程访问两个文件。
加密文件系统维护的影子文件和真实文件系统维护的文件实际对应同一个物理磁盘文件,影子文件用于对解密后的数据进行缓存,即影子文件访问明文,真实文件系统访问密文,具备高性能和高稳定性。采用重定向机制将操作请求转发到虚拟磁盘,与杀毒软件兼容,防止透传影子文件的操作请求到真实文件系统后导致蓝屏等。
基于此,上述S23包括:
S231,当操作请求的类型为授权操作请求时,将操作请求重定向至虚拟磁盘文件系统。
S232,基于虚拟磁盘文件系统对操作请求进行明文处理。
在操作请求的类型为授权操作请求时,利用上述的重定向模块将该操作请求重定性至虚拟磁盘文件系统,由于虚拟磁盘文件系统中的影子文件访问的是明文,因此,在虚拟磁盘文件系统中对该操作请求进行明文处理。
在一些实施方式中,上述S232包括:
(1)读取虚拟磁盘中的影子文件,以获得加密后的目标文件在真实文件系统中的访问路径。
(2)基于访问路径从真实文件系统中读取加密后的目标文件。
(3)利用加密文件系统对加密后的目标文件进行解密,并利用影子文件对解密结果进行缓存,以对目标文件进行明文操作。
影子文件中用于存储加密后的目标文件在真实文件系统中的访问路径,当存在对该目标文件的操作需求时,利用影子文件中记载的访问路径从真实文件系统中读取加密后的目标文件。再利用加密文件系统对加密后的目标文件进行解密,得到解密后的目标文件。利用影子文件对解密后的目标文件进行缓存,基于此,对于操作请求的具体处理而言,就能够对影子文件中缓存的明文数据进行处理。
在影子文件中存储加密后的目标文件在真实文件系统中的访问路径,只有在接收到操作请求时才利用该访问路径进行加密后目标文件的读取与解密,通过读取时机的限制,能够减少不必要的内存开销。
在一些实施方式中,上述S232的步骤(1)包括:
1.1)当获取到目标文件的授权打开请求时,在虚拟磁盘中创建影子文件。
1.2)在影子文件中记录加密后的目标文件在真实文件系统中的访问路径。
对于影子文件而言,在获取到目标文件的授权打开请求时,才在虚拟磁盘中创建该影子文件,并对影子文件进行初始化,同时记录加密后的目标文件在真实文件系统中的访问路径。此时,对于影子文件而言,记录的仅仅是访问路径,而不涉及到加密后的目标文件的具体内容。如上文所述,仅仅是在接收到授权操作请求之后,才会利用访问路径从真实文件系统中拉取加密后的目标文件,利用加密文件系统对其进行解密后缓存在影子文件中的。
在另一些实施方式中,该方法还包括:当获取到目标文件的授权关闭请求时,在虚拟磁盘中清除影子文件。在使用完成之后,在虚拟磁盘中自动清除影子文件。影子文件是依据需求创建,且依据需求清除的,能够及时释放内存空间,减少内存消耗。
本实施例提供的透明加密方法,只有在确定出操作请求的类型为授权操作请求时,才会将操作请求重定向至虚拟磁盘文件系统,保证明文数据的可靠性。
在另一些实施方式中,该方法还可以包括:
(1)当操作请求为非授权操作请求时,将操作请求重定向至真实文件系统。
(2)基于真实文件系统对目标文件进行密文操作。
对于非授权操作请求,就直接将操作请求重定向至真实文件系统中进行密文操作,提高了目标文件的安全性。
如图4所示,当操作应用程序时,生成一个操作请求(IRP),重定向模块对该IRP的类型进行确定。对于授权进程,将该IRP重定向到虚拟磁盘文件系统;对于非授权进程,直接将该IRP重定向至真实文件系统。其中,在虚拟磁盘文件系统中包括有加密文件系统以及虚拟磁盘,加密文件系统中维护了影子FCB,也可以称之为影子文件,在影子文件中存储有访问路径,利用该访问路径从真实文件系统中读取真实FCB文件数据,此时读取到的真实文件FCB数据是加密数据,通过加密文件系统对其进行解密后缓存在影子文件中。
作为一个具体应用实例,如图5所示,以第一次打开加密文件为例,具体工作流程为:
(1)用户使用文档编辑程序打开D:\1.doc文件,文档编辑程序调用创建文件系统应用接口触发系统调用,IO管理器解析参数后构建包含打开操作信息的打开请求,将其发送到D盘的文件系统设备栈,设备栈上面有重定向模块、杀毒软件、文件系统等,会依次对访问请求进行处理。
(2)设备栈上挂载的重定向模块过滤到打开请求,根据打开请求获取进程信息和文件信息,与当前加密的策略进行匹配。对于授权进程,将其重定向到虚拟磁盘。
(3)虚拟磁盘上挂载的加密文件系统收到打开操作的打开请求,基于打开请求内的文件信息,加密文件系统向D盘的文件系统设备栈发送打开1.doc的请求并等待处理结果。其中,处理结果包括打开失败,或打开成功。虚拟磁盘在接收到处理结果后创建影子文件,初始化影子文件中的成员数据,并在影子文件中记录真实文件路径,将处理结果返回给IO管理器和上层应用。
(4)文档编辑程序收到处理结果和文件句柄,文件句柄指向的文件已被重定向到虚拟磁盘中的影子文件,后续文件操作的操作请求直接被发送到加密文件系统中处理。
(5)如果非授权进程访问D:\1.doc,重定向模块直接将操作请求下发到D:\盘的真实文件系统,访问的是由真实文件系统维护的真实文件,即加密文件。
通过建立影子文件实现了授权进程和非授权进程访问的隔离,对于文档编辑程序后续的读写等操作,加密文件系统收到操作请求后,从真实文件系统处读取文件密文数据,并将数据解密后返回给文档编辑程序;写操作时将文档编辑程序的明文数据加密后发送给真实文件系统,实现透明加解密。
在本实施例中还提供了一种透明加密装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供一种透明加密装置,如图6所示,包括:
获取模块41,用于获取目标文件的操作请求,所述操作请求中携带有所述目标文件的属性信息;
确定模块42,用于基于所述属性信息确定所述操作请求的类型,所述操作请求的类型包括授权操作请求或非授权操作请求;
重定向模块43,用于根据所述操作请求的类型,将所述操作请求重定向至虚拟磁盘文件系统或真实文件系统,所述虚拟磁盘文件系统用于与真实文件系统进行交互,所述虚拟磁盘文件用于缓存解密后的所述目标文件,所述真实文件系统用于存储加密后的所述目标文件。
在一些实施方式中,重定向模块43包括:
第一重定向单元,用于当所述操作请求的类型为授权操作请求时,将所述操作请求重定向至所述虚拟磁盘文件系统;
第一处理单元,用于基于所述虚拟磁盘文件系统对所述操作请求进行明文处理。
在一些实施方式中,所述虚拟磁盘文件系统包括虚拟磁盘以及加密文件系统,所述虚拟磁盘用于挂载所述加密文件系统,所述加密文件系统用于从所述真实文件系统读取加密后的所述目标文件进行解密。
在一些实施方式中,第一处理单元包括:
第一读取子单元,用于读取所述虚拟磁盘中的影子文件,以获得加密后的所述目标文件在所述真实文件系统中的访问路径;
第二读取子单元,用于基于所述访问路径从所述真实文件系统中读取加密后的所述目标文件;
明文操作子单元,用于利用加密文件系统对加密后的所述目标文件进行解密,并利用所述影子文件对解密结果进行缓存,以对所述目标文件进行明文操作。
在一些实施方式中,第一读取子单元包括:
创建子单元,用于当获取到所述目标文件的授权打开请求时,在所述虚拟磁盘中创建影子文件;
记录子单元,用于在所述影子文件中记录加密后的所述目标文件在所述真实文件系统中的访问路径。
在一些实施方式中,所述装置还包括:
清除模块,用于当获取到所述目标文件的授权关闭请求时,在所述虚拟磁盘中清除所述影子文件。
在一些实施方式中,所述装置还包括:
第一重定向单元,用于当所述操作请求为非授权操作请求时,将所述操作请求重定向至所述真实文件系统;
密文操作单元,用于基于所述真实文件系统对所述目标文件进行密文操作。
本实施例中的透明加密装置是以功能单元的形式来呈现,这里的单元是指ASIC电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
上述各个模块的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
本发明实施例还提供一种电子设备,具有上述图6所示的透明加密装置。
请参阅图7,图7是本发明可选实施例提供的一种电子设备的结构示意图,如图7所示,该电子设备可以包括:至少一个处理器51,例如CPU(Central Processing Unit,中央处理器),至少一个通信接口53,存储器54,至少一个通信总线52。其中,通信总线52用于实现这些组件之间的连接通信。其中,通信接口53可以包括显示屏(Display)、键盘(Keyboard),可选通信接口53还可以包括标准的有线接口、无线接口。存储器54可以是高速RAM存储器(Random Access Memory,易挥发性随机存取存储器),也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器54可选的还可以是至少一个位于远离前述处理器51的存储装置。其中处理器51可以结合图6所描述的装置,存储器54中存储应用程序,且处理器51调用存储器54中存储的程序代码,以用于执行上述任一方法步骤。
其中,通信总线52可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。通信总线52可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器54可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access
memory,缩写:RAM);存储器也可以包括非易失性存储器(英文:non-volatile memory),例如快闪存储器(英文:flash memory),硬盘(英文:hard disk drive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD);存储器54还可以包括上述种类的存储器的组合。
其中,处理器51可以是中央处理器(英文:central processing unit,缩写:CPU),网络处理器(英文:network processor,缩写:NP)或者CPU和NP的组合。
其中,处理器51还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(英文:application-specific integrated circuit,缩写:ASIC),可编程逻辑器件(英文:programmable logic device,缩写:PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(英文:complex programmable
logic device,缩写:CPLD),现场可编程逻辑门阵列(英文:field-programmable gate array,缩写:FPGA),通用阵列逻辑(英文:generic array logic, 缩写:GAL)或其任意组合。
可选地,存储器54还用于存储程序指令。处理器51可以调用程序指令,实现如本申请任一实施例中所示的透明加密方法。
本发明实施例还提供了一种非暂态计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的透明加密方法。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (10)
- 一种透明加密方法,其特征在于,包括:获取目标文件的操作请求,所述操作请求中携带有所述目标文件的属性信息;基于所述属性信息确定所述操作请求的类型,所述操作请求的类型包括授权操作请求或非授权操作请求;根据所述操作请求的类型,将所述操作请求重定向至虚拟磁盘文件系统或真实文件系统,所述虚拟磁盘文件系统用于与真实文件系统进行交互,所述虚拟磁盘文件用于缓存解密后的所述目标文件,所述真实文件系统用于存储加密后的所述目标文件。
- 根据权利要求1所述的方法,其特征在于,所述根据所述操作请求的类型,将所述操作请求重定向至虚拟磁盘文件系统或真实文件系统,包括:当所述操作请求的类型为授权操作请求时,将所述操作请求重定向至所述虚拟磁盘文件系统;基于所述虚拟磁盘文件系统对所述操作请求进行明文处理。
- 根据权利要求2所述的方法,其特征在于,所述虚拟磁盘文件系统包括虚拟磁盘以及加密文件系统,所述虚拟磁盘用于挂载所述加密文件系统,所述加密文件系统用于从所述真实文件系统读取加密后的所述目标文件进行解密。
- 根据权利要求3所述的方法,其特征在于,所述基于所述虚拟磁盘文件系统对所述目标文件进行明文操作,包括:读取所述虚拟磁盘中的影子文件,以获得加密后的所述目标文件在所述真实文件系统中的访问路径;基于所述访问路径从所述真实文件系统中读取加密后的所述目标文件;利用加密文件系统对加密后的所述目标文件进行解密,并利用所述影子文件对解密结果进行缓存,以对所述目标文件进行明文操作。
- 根据权利要求4所述的方法,其特征在于,所述读取所述虚拟磁盘中的影子文件,以获得加密后的所述目标文件在所述真实文件系统中的访问路径,包括:当获取到所述目标文件的授权打开请求时,在所述虚拟磁盘中创建影子文件;在所述影子文件中记录加密后的所述目标文件在所述真实文件系统中的访问路径。
- 根据权利要求4所述的方法,其特征在于,所述方法还包括:当获取到所述目标文件的授权关闭请求时,在所述虚拟磁盘中清除所述影子文件。
- 根据权利要求2所述的方法,其特征在于,所述方法还包括:当所述操作请求为非授权操作请求时,将所述操作请求重定向至所述真实文件系统;基于所述真实文件系统对所述目标文件进行密文操作。
- 一种透明加密装置,其特征在于,包括:获取模块,用于获取目标文件的操作请求,所述操作请求中携带有所述目标文件的属性信息;确定模块,用于基于所述属性信息确定所述操作请求的类型,所述操作请求的类型包括授权操作请求或非授权操作请求;重定向模块,用于根据所述操作请求的类型,将所述操作请求重定向至虚拟磁盘文件系统或真实文件系统,所述虚拟磁盘文件系统用于与真实文件系统进行交互,所述虚拟磁盘文件用于缓存解密后的所述目标文件,所述真实文件系统用于存储加密后的所述目标文件。
- 一种电子设备,其特征在于,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1-7中任一项所述的透明加密方法。
- 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使计算机执行权利要求1-7中任一项所述的透明加密方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210906526.0A CN115455440A (zh) | 2022-07-29 | 2022-07-29 | 透明加密方法、装置、电子设备及存储介质 |
CN202210906526.0 | 2022-07-29 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024021496A1 true WO2024021496A1 (zh) | 2024-02-01 |
Family
ID=84296897
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2022/141882 WO2024021496A1 (zh) | 2022-07-29 | 2022-12-26 | 透明加密方法、装置、电子设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115455440A (zh) |
WO (1) | WO2024021496A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115455440A (zh) * | 2022-07-29 | 2022-12-09 | 天翼云科技有限公司 | 透明加密方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104200176A (zh) * | 2014-08-28 | 2014-12-10 | 电子科技大学 | 对智能移动终端中文件进行透明加解密的系统及方法 |
CN105760779A (zh) * | 2016-02-18 | 2016-07-13 | 武汉理工大学 | 一种基于fuse的双向文件加密系统 |
US20180314838A1 (en) * | 2017-04-28 | 2018-11-01 | Dell Products L.P. | Access path redirection for encrypted files |
CN110569651A (zh) * | 2019-08-27 | 2019-12-13 | 北京明朝万达科技股份有限公司 | 基于国产操作系统的文件透明加解密方法及系统 |
CN115455440A (zh) * | 2022-07-29 | 2022-12-09 | 天翼云科技有限公司 | 透明加密方法、装置、电子设备及存储介质 |
-
2022
- 2022-07-29 CN CN202210906526.0A patent/CN115455440A/zh active Pending
- 2022-12-26 WO PCT/CN2022/141882 patent/WO2024021496A1/zh unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104200176A (zh) * | 2014-08-28 | 2014-12-10 | 电子科技大学 | 对智能移动终端中文件进行透明加解密的系统及方法 |
CN105760779A (zh) * | 2016-02-18 | 2016-07-13 | 武汉理工大学 | 一种基于fuse的双向文件加密系统 |
US20180314838A1 (en) * | 2017-04-28 | 2018-11-01 | Dell Products L.P. | Access path redirection for encrypted files |
CN110569651A (zh) * | 2019-08-27 | 2019-12-13 | 北京明朝万达科技股份有限公司 | 基于国产操作系统的文件透明加解密方法及系统 |
CN115455440A (zh) * | 2022-07-29 | 2022-12-09 | 天翼云科技有限公司 | 透明加密方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115455440A (zh) | 2022-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7437429B2 (en) | System and method for providing transparent access to distributed authoring and versioning files including encrypted files | |
JP5976564B2 (ja) | セキュリティ強化されたコンピュータシステムおよび方法 | |
EP2932692B1 (en) | Compatibly extending offload token size | |
US20120179731A1 (en) | Method, Apparatus and System for Accessing Remote Files | |
CN102902914B (zh) | 一种实现终端无痕的方法及装置 | |
US8122196B2 (en) | System and procedure for rapid decompression and/or decryption of securely stored data | |
TWI620093B (zh) | 用於保全電腦大容量儲存資料的方法和裝置 | |
JP2008016037A (ja) | iSCSIのためのデータ加速装置及びこれを用いたiSCSI記憶システム | |
CN105760779B (zh) | 一种基于fuse的双向文件加密系统 | |
WO2011137743A1 (zh) | 一种文件保护方法及系统 | |
US8719923B1 (en) | Method and system for managing security operations of a storage server using an authenticated storage module | |
WO2011150762A1 (zh) | 一种文件系统的操作方法及一种通信装置 | |
JP2004287476A (ja) | ノード装置におけるキャッシュ制御 | |
US20060080517A1 (en) | Accessing a protected area of a storage device | |
US8387127B1 (en) | Storage security appliance with out-of-band management capabilities | |
WO2024021496A1 (zh) | 透明加密方法、装置、电子设备及存储介质 | |
WO2007056054A1 (en) | Content control systems and methods | |
WO2024045407A1 (zh) | 虚拟磁盘安全存储方法 | |
CN114611123B (zh) | 一种文件透明加解密方法和系统 | |
CN108399341B (zh) | 一种基于移动端的Windows双重文件管控系统 | |
JP4150854B2 (ja) | ストレージエリアネットワーク上の共有ディスク装置へのアクセスシステム及びそのクライアント | |
KR100676674B1 (ko) | 데이터 고속 입출력을 위한 데이터 입출력 가속 장치 및 그운용 방법 | |
CN107292196A (zh) | Io数据的读写方法和装置 | |
US7814552B2 (en) | Method and apparatus for an encryption system | |
CN113656817A (zh) | 数据加密方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22952925 Country of ref document: EP Kind code of ref document: A1 |