CN103825953A - 一种用户模式加密文件*** - Google Patents

一种用户模式加密文件*** Download PDF

Info

Publication number
CN103825953A
CN103825953A CN201410076462.1A CN201410076462A CN103825953A CN 103825953 A CN103825953 A CN 103825953A CN 201410076462 A CN201410076462 A CN 201410076462A CN 103825953 A CN103825953 A CN 103825953A
Authority
CN
China
Prior art keywords
file
virtual
encrypt
directory
program
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
Application number
CN201410076462.1A
Other languages
English (en)
Other versions
CN103825953B (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.)
Wuhan University of Technology WUT
Original Assignee
Wuhan University of Technology WUT
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 Wuhan University of Technology WUT filed Critical Wuhan University of Technology WUT
Priority to CN201410076462.1A priority Critical patent/CN103825953B/zh
Publication of CN103825953A publication Critical patent/CN103825953A/zh
Application granted granted Critical
Publication of CN103825953B publication Critical patent/CN103825953B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明是一种能自动实现云存储文件加密的用户模式加密文件***,所述***包括加密文件容器、虚拟文件***驱动及文件操作处理程序;加密文件容器用于存放加密文件且内部具有文件和文件目录的组织结构;虚拟文件***驱动和文件操作处理程序一起将加密文件容器中的文件和文件目录映射到计算机文件***的一个虚拟文件盘或虚拟文件目录,并将应用程序或***程序针对虚拟文件盘或虚拟文件目录中文件和文件目录的操作转化成针对加密文件容器中文件和文件目录的操作,并在处理过程中对受信程序读或写的文件数据自动进行解密或加密处理。用于文件云存储时,作为非受信程序的云存储客户端从虚拟文件盘或虚拟文件目录中读取的文件数据是加密的。

Description

一种用户模式加密文件***
技术领域
本发明属于信息安全技术领域,是一种用户模式加密文件***,特别是一种能自动实现云存储文件加密的加密文件***。
背景技术
提供文件存储功能的云存储***(文件云存储***)是一种通过网络提供数据存储服务的***。文件云存储***通常由云存储客户端和云存储服务端(云端***)两部分组成,用户通过云存储客户端将文件上传或同步到云端***保存,或将云端***保存的文件下载或同步到用户计算机本地使用。文件云存储***由于使用方便,深受用户欢迎;但云存储***的数据安全却始终是云存储用户最关心、最担心的问题,又是目前尚未很好地解决的问题,也是妨碍云存储服务业务发展的障碍之一。
对云存储中的文件进行安全保护最有效的方案是对存储在云端***中的文件加密,而其中的一种简单的加密方案是:用户在将文件上传或同步到文件云存储***的云端***前,先自己手工使用工具对要存储在云端的文件进行加密,如使用文件压缩工具WinZip、WinRAR的加密功能,或者使用专门的文件加密工具(这类工具很多);当把云端***中的文件下载或同步到用户本地计算设备(如个人电脑、移动终端)后,在使用文件前,再使用工具对被加密的文件(加密文件)进行解密。但这种方案的最大缺点是用户使用不方便,且与用户的通常使用习惯不符(增加了额外的加密、解密操作)。
对此问题的一种解决方案是在上传文件时由云存储客户端自动对文件进行加密;下载文件时,云存储客户端自动对被加密的文件进行解密。但是,目前已有大量的已部署的文件云存储***,这些***都不支持上传、下载时的文件自动加密、解密,对于这种已部署的文件云存储***,如何在对云存储***不进行修改的情况下实现上传文件的自动加密和下载文件的自动解密是亟待解决而又不易解决的问题。这是因为文件云存储***是一个庞大的***,为了增加加密功能而对原有***进行改动并重新部署***的代价将是巨大的,不会被云存储服务提供商所接受,也不会被用户所接受。针对这种已部署的文件云存储***的文件加密、解密问题,发明专利申请“一种云存储文件加密***”(专利申请号:201310466023.7)中提出了一种基于文件***过滤器驱动的方案,但专利申请201310466023.7中提出的技术方案存在的一个问题:当由于用户的疏忽或者由于计算机***的故障导致进行文件加密处理的文件***过滤器驱动没有启动或不能正常工作,有可能导致未被加密的文件被上传或同步到云端***。
用户模式文件***(User Mode File System,FUSE)最初是在Linux的虚拟文件***(Virtual File System,FUSE)技术基础上发展的一种文件***技术,之后该技术被推广到其他操作***包括Windows、Unix(不同操作***下的FUSE在实现方案上略有差别)。用户模式文件***的技术特点是通过一个文件***驱动或文件***的过滤器驱动将应用程序或***程序针对一个(虚拟)文件盘或文件目录中的文件或文件目录的操作请求转发到一个运行在计算机***的用户模式下的文件操作处理程序,由该用户模式下的文件操作处理程序完成针对具体文件或文件目录的操作。在用户模式文件***中,具体的文件和文件目录可根据需要存放在任何地方。
针对已部署的文件云存储***,本发明利用用户模式文件***技术实现在对文件云存储***不进行修改的情况下对上传文件的自动加密。
发明内容
本发明的目的是提出一种能自动实现云存储文件加密的用户模式加密文件***。
为了实现上述目的,本发明所采用的技术方案是:
一种用户模式加密文件***,所述加密文件***包括加密文件容器、虚拟文件***驱动及文件操作处理程序,其中:
加密文件容器:一个存放加密的文件(简称加密文件)并按计算机文件***的由文件目录和文件组成的文件组织结构(树形的递归包含文件目录和文件的文件组织结构)对内部存放的加密文件进行组织的计算机***的电子文件(即加密文件容器是一个电子文件)或者电子文件存储***(即加密文件容器是一个电子文件存储***);
虚拟文件***驱动:一个加载到用户计算机的计算机***中的文件***驱动或一个***到用户计算机的计算机***的文件***驱动栈中的过滤器类型的文件***驱动(即文件***过滤器驱动,简称文件过滤器驱动或文件过滤器);所述虚拟文件***驱动借助文件操作处理程序将所述加密文件容器中存放的文件和文件目录映射到用户计算机的文件***的一个虚拟文件盘中或虚拟文件目录中;所述虚拟文件盘是用户计算机的文件***中的一个对用户和程序显现为文件盘并具有单独的文件盘符的文件组织结构(由文件和文件目录组成的文件组织结构),但该文件盘不是对应于用户计算机的一个真实存在的磁盘分区或磁盘驱动器或磁盘卷(Disk Partition或Disk Drive或Disk Volume),而是对应于所述加密文件容器(所述对用户和程序显现为文件盘指用户通过计算机操作***的文件管理器或文件***“外壳”程序,如Windows Explorer,看到的是一个文件盘,且用户和程序按操作使用文件盘的方式操作使用虚拟文件盘及虚拟文件盘中的文件和文件目录);所述虚拟文件目录是用户计算机的文件***中的一个对用户和程序显现为文件目录的文件组织结构,但该文件目录中的文件和文件目录不是直接存在于用户计算机的永久存储介质上而是存在于所述加密文件容器中(的文件和文件目录)(所述对用户和程序显现为文件盘指用户通过计算机操作***的文件管理器或文件***“外壳”程序,如Windows Explorer,看到的是一个文件目录,且用户和程序按操作使用文件目录的方式操作使用虚拟文件目录及虚拟文件目录下的文件和文件目录);通过映射,所述虚拟文件盘或虚拟文件目录中的一个文件或文件目录(虚拟的文件或文件目录)被映射到或对应到加密文件容器中保存的一个加密文件或文件目录;所述虚拟文件***驱动将应用程序或***程序针对所述虚拟文件盘或虚拟文件目录中文件和文件目录的操作请求(包括创建、读写、删除文件,读取、设置文件信息等)转交所述文件操作处理程序进行处理,并将操作处理的结果返回;
文件操作处理程序:一个运行在用户计算机的计算机***用户模式(user mode)下的对加密文件容器中的文件和文件目录进行操作处理的程序(与用户模式相对的是内核模式,kernel mode);所述文件操作处理程序接收所述虚拟文件***驱动转发的应用程序或***程序针对所述虚拟文件盘或虚拟文件目录中文件或文件目录的操作请求(I/O操作请求),并将接收的操作请求转化成针对所述加密文件容器中对应(加密)文件或文件目录的操作;若所述加密文件容器是一个电子文件,则所述文件操作处理程序按访问和处理计算机文件***的文件的方式访问和处理加密文件容器中保存的文件和文件目录(比如,按读写文件的方式访问加密文件容器这个“特殊”文件,由此获得其中保存的“内部”文件和“内部”文件目录的信息或数据,并对它们进行操作处理),若所述加密文件容器是一个电子文件存储***,则所述文件操作处理程序通过文件存储***提供的访问和操作处理方式访问和操作处理加密文件容器中的文件和文件目录;所述文件存储***提供的访问和操作处理方式包括动态库、API(Application Programming Interface)、***调用或交互协议(比如,若加密文件容器是用户计算本地的一个个人数据库***,则文件操作处理程序通过个人数据库***提供的程序访问和操作处理加密文件容器中保存的文件和文件目录;若加密文件容器本身是一个文件服务器,则文件操作处理程序按针对文件服务器的访问和操作处理方式访问文件服务器并对其中的文件进行操作处理);
所述文件操作处理程序和虚拟文件***驱动构成(本发明的)用户模式文件***驱动;对于应用程序或***程序将非加密的文件数据保存到虚拟文件盘或虚拟文件目录中的操作,所述用户模式文件***驱动将文件数据加密后保存到所述加密文件容器中;对于应用程序或***程序将加密的文件数据保存到虚拟文件盘或虚拟文件目录中的操作,所述用户模式文件***驱动将文件数据保存到所述加密文件容器中时不再对文件数据进行加密;对于受信程序针对所述虚拟文件盘或虚拟文件目录中的文件进行的文件信息以及文件数据读取操作(包括读取文件长度、文件分配的存储空间大小),所述用户模式文件***驱动按解密后的文件返回操作处理的结果(比如,对于读取文件数据的操作,返回的文件数据是解密后的文件数据;对于读取文件长度的操作,返回的是解密后的原始文件的长度);对于非受信程序针对所述虚拟文件盘或虚拟文件目录中的文件进行的文件信息以及文件数据读取操作,所述用户模式文件***驱动按加密后的文件返回操作处理的结果(比如,对于读取文件数据的操作,返回的文件数据是加密后的文件数据;对于读取文件长度的操作,返回的是加密后的文件的长度);非受信进程读取的文件数据中包含有解密加密的文件数据所需的密钥信息包括密钥标识信息;所述用户模式文件***驱动对文件数据进行的加密和解密处理由所述文件操作处理程序完成或者由所述虚拟文件***驱动完成;
所述受信程序指被允许以明文形式读取保存在所述加密文件容器中的文件的程序;所述受信程序包括应用程序和***程序;受信程序之外的其他程序只能以密文形式读取保存在所述加密文件容器中的文件,称为非受信程序;所述受信程序和非受信程序包括针对加密文件容器中单个文件类型(如Word、Excel)的受信程序和非受信程序,即对单个文件类型(的所有文件)而言是受信的或非受信的,以及针对加密文件容器中所有文件类型(的文件)的受信程序的和非受信程序,即针对加密文件容器中所有文件类型(的文件)而言是受信的或非受信的;所述受信程序和非受信程序由所述用户模式加密文件***的发布者设定,或者由使用用户模式加密文件***的用户设定,或者由用户模式加密文件***自动在线更新设定。
当应用程序或***程序将文件数据保存到虚拟文件盘或虚拟文件目录时,所述用户模式文件***驱动根据应用程序或***程序要保存的文件数据是否满足预定的格式或者是否具有预定的特征来确定要保存的文件数据是加密的文件数据还是非加密的文件数据。
若所述加密文件容器中的文件和文件目录被映射到一个虚拟文件盘,则当应用程序或***程序获取虚拟文件盘的剩余可用存储空间或可用分配单位时所述用户模式文件***驱动将加密文件容器当前能继续使用的存储空间减去一个文件加密后额外增加的数据存储空间的上限值作为虚拟文件盘的剩余可用存储空间或可用分配单位返回(比如,若加密文件容器是一个电子文件,则剩余可用存储空间是作为加密文件容器的文件所在的文件盘的剩余可用存储空间减去一个文件加密后额外增加的数据存储空间的上限值后;若加密文件容器是一个用户计算机本地的个人数据库***,则剩余可用存储空间是作为加密文件容器的数据库的剩余可用存储空间减去将一个文件加密后额外增加的数据存储空间的上限值)(加密文件通常有额外的数据需要保存,比如密钥数据,因此加密后的文件比加密前的文件要占用更大的数据存储空间,但额外增加的数据存储空间有上限值或可以控制在一个上限值内)。
若所述加密文件容器中的文件和文件目录被映射到一个虚拟文件目录,则当应用程序或***程序获取虚拟文件目录所在文件盘的剩余可用存储空间或可用分配单位时所述用户模式文件***驱动将虚拟文件目录所在文件盘的实际剩余可用存储空间或可用分配单位加上加密文件容器当前能继续使用的存储空间减去一个文件加密后额外增加的数据存储空间的上限值作为文件盘的剩余可用存储空间或可用分配单位返回;所述虚拟文件目录所在文件盘的实际剩余可用存储空间或可用分配单位指在进行虚拟文件目录映射前(即将加密文件容器映射到虚拟文件目录前)虚拟文件目录所在文件盘的剩余可用存储空间或可用分配单位。
若用户通过文件云存储***的云存储客户端将所述虚拟文件盘或虚拟文件目录中的文件(即所述加密文件容器中的文件)上传或同步到文件云存储***的云端***,则文件云存储***的云存储客户端被设定为非受信程序。
若加密文件容器中的加密文件对应有访问控制策略或解密策略,则非受信程序通过虚拟文件盘或虚拟文件目录读取加密文件容器中的加密文件时所读取的文件数据中包含有加密文件的访问控制策略或解密策略。
需指出的是程序在计算机运行后的实例称为进程,故本发明中所述文件操作处理程序、受信程序及非受信程序运行后分别对应于文件操作处理进程、受信进程及非受信进程,而本发明中对应于程序的操作实际上是对应于进程的操作,但为了方便,在此不作此区分(程序所进行的操作实际上是对应进程所进行的操作,这是计算机领域的技术人员众所周知的)。
从以上发明内容描述可以看到,保存在加密文件容器中的文件以密文形式存在并被映射到一个虚拟文件盘或虚拟文件目录,当受信的应用程序或***程序按通常使用文件的方式对虚拟文件盘或虚拟文件目录中的文件进行读取或存写操作时,所读取或存写的文件数据被自动解密或加密,从而不影响普通程序(受信程序)对加密文件的正常使用;若在进行云存储文件存取操作时,将云存储***的云存储客户端设定为非受信程序且限定(或者用户被告知、被要求,或者程序被限定)仅将虚拟文件盘或虚拟文件目录中的文件上传或同步到云存储***的云端***,则当云存储客户端将用户计算机本地虚拟文件盘或虚拟文件目录中的文件上传或同步到云端***时,云存储客户端从虚拟文件盘或虚拟文件目录中读取的文件是加密的文件,从而使得保存在云存储***的云端***的文件是加密的文件(这一过程对用户是透明的);当云存储客户端将保存在云端***的加密文件下载到虚拟文件盘或虚拟文件目录中保存时,下载的文件自动以密文形式保存在加密文件容器中(若用户通过云存储客户端将保存在云端***的加密文件下载保存到虚拟文件盘或虚拟文件目录外的其他文件盘或文件目录中,则下载到其他文件盘或文件目录中的文件是加密文件,对此加密文件的解密可通过专门的文件***过滤器或其他技术手段自动解密);若文件操作处理程序和虚拟文件***驱动没有启动,则云存储客户端无法通过虚拟文件盘或虚拟文件目录读取加密文件容器中的文件,从而避免因为用户的疏忽或计算机***的故障使得相关的加密程序没有启动或不能正常工作而导致的上传或同步到云端***的文件未被加密的情况出现。
本发明的用户模式加密文件***与通常的用户模式加密文件***的主要不同在于:在本发明的用户模式加密文件***中将程序分为受信程序和非受信程序,受信程序从虚拟文件盘或虚拟文件目录中读取的文件数据是明文,而非受信程序从虚拟文件盘或虚拟文件目录中读取的文件数据是密文,而在通常用户模式加密文件***没有这种区分。正是这个差别,使得本发明的用户模式加密文件***能实现云存储文件的自动加密。虽然也采用区分受信程序和非受信程序的技术方案,但本发明的加密文件***与基于文件***过滤器驱动的透明文件加密***也不同(虽然文件***过滤器驱动也是实施本发明的虚拟文件***驱动的技术之一,但不是唯一技术):基于文件***过滤器驱动的透明文件加密***是针对在计算机永久存储介质(如硬盘)上直接保存的文件自动进行加密、解密的文件加密***;而本发明的加密文件***是针对被映射到一个虚拟文件盘或虚拟文件目录的一个加密文件容器中的文件自动进行加密、解密的加密文件***(注意文件加密***与加密文件***的差别,前者是在已有文件***上实施加密,后者相当于构造了一个新的文件***),且这里的加密文件容器既可以是计算机文件***的一个内部具有文件和文件目录结构、用于存放加密文件的特殊文件,也可以是一个文件存储***(甚至可以是一个网络文件存储***)。
附图说明
图1为本发明的***的结构图。
具体实施方式
下面结合附图和实施例对本发明作进一步的描述。
所述用户模式加密文件***的具体实施方案与加密文件***所运行的操作***有关。下面以Windows操作***为例加以说明。
加密文件容器可使用Windows的复合文件(Compound File)技术以文件方式实现,并将复合文件的Storage存储结构对应于文件目录,Stream存储结构用于存储文件。
虚拟文件***驱动可基于Windows文件***的过滤器驱动(Filter Driver)或微过滤器驱动(mini-Filter Driver)技术开发实现(而不是基于文件***驱动技术开发)。虚拟文件***驱动(即过滤器驱动或微过滤器驱动)拦截应用程序和***程序针对虚拟文件盘或虚拟文件目录中文件的所有操作请求(I/O操作请求),并转交文件操作处理程序。
文件操作处理程序可使用C/C++开发语言及开发环境开发实现。文件操作处理程序将应用程序和***程序针对虚拟文件盘或虚拟文件目录中文件和文件目录中的操作转化成针对加密文件容器中对应文件和文件目录的操作。
当非受信程序针对虚拟文件盘或虚拟文件目录中的文件信息和文件数据进行读取操作时,虚拟文件***驱动(即过滤器驱动或微过滤器驱动)和文件操作处理程序按加密后的文件返回有关的信息和数据(包括文件长度、文件数据等);当受信程序针对虚拟文件盘或虚拟文件目录中的文件的文件信息和文件数据进行读取操作时,虚拟文件***驱动和文件操作处理程序按解密后的文件返回有关的信息和数据,其中,对读取的文件数据的解密处理由虚拟文件***驱动完成或者由文件操作处理程序完成都可以(但通常由文件操作处理程序完成更方便,因为它运行在用户模式);当应用程序或***程序,无论受信或非受信,针对虚拟文件盘或虚拟文件目录进行文件存写时,若存写的文件数据不是密文,则由虚拟文件***驱动或文件操作处理程序先对存写的文件数据进行加密,然后再保存(同样地,对存写的文件数据的加密处理由虚拟文件***驱动完成或者由文件操作处理程序完成都可以,但通常由文件操作处理程序完成更方便)。对于受信程序和非受信程序,有一个情况需要处理好,这就是当一个受信程序和非受信程序同时打开一个文件时如何处理(因为受信程序和非受信程序会共享文件页读写数据),对此有两种方案可供选择:一是虚拟文件***驱动禁止受信程序和非受信程序同时打开一个文件,二是虚拟文件***驱动对数据加密、解密处理采用双缓存机制,即在页读写和非页读写时都进行数据缓存,不同的程序(进程)有各自的非页读写缓存数据,并针对各自的非页读写缓存数据加密和解密。
可以通过在在一个加密文件的文件数据中加入一个具有特别标志的头部用于区分加密的文件数据和非加密的文件数据,以及保存与加密、解密有关的信息,包括密钥信息、加密算法信息。
数据加密可以采用对称密钥密码算法,如用口令生成对称密钥进行加密,或者采用非对称密钥密码算法进行加密,如RSA、ECC(椭圆曲线密码算法)、IBC(基于标识的密码算法)等。
将加密文件容器中的文件和文件目录映射到一个虚拟目录可通过如下两种方式之一实现:
方式一:
虚拟文件目录(名)是用户计算机文件***中的一个已存在的文件目录(名),虚拟文件***驱动(即过滤器驱动或微过滤器驱动)通过文件操作处理程序将针对该已存在的文件目录及其中的文件和文件目录的所有文件I/O操作通过文件操作处理程序转化为针对加密文件容器中的文件和文件目录的文件I/O操作(并忽略该已存在的文件目录中的原有文件和文件目录)。
方式二:
虚拟文件目录(名)是用户计算机文件***中的一个不存在的文件目录(名),虚拟文件***驱动(即过滤器驱动或微过滤器驱动)假定要被映射的虚拟文件目录位于某个已存在的文件目录之下,当应用程序或***程序通过Windows文件***的I/O调用或用户通过Windows的文件管理器或文件***“外壳”(SHELL)程序(WindowsExplorer)枚举该已存在的文件目录下的文件和文件目录时,虚拟文件***驱动将被映射的虚拟文件目录列在枚举的信息之中,当应用程序或***程序对被映射的虚拟文件目录下的文件和文件目录进行操作时,虚拟文件***驱动将这些操作通过文件操作处理程序转化为针对加密文件容器中的文件和文件目录的操作。
将加密文件容器中的内容(文件和文件目录)映射到一个虚拟文件目录后,可通过Windows的subst[drive1:[drive2:]Path]命令将虚拟文件目录进一步映射成为一个虚拟文件盘(实际上是将虚拟文件目录的路径映射成了一个盘符)。
虚拟文件***驱动与文件操作处理程序之间的信息和数据交互,可使用Windows提供的内核层与应用层(用户层)之间的信息和数据交互、通信机制。
关于Windows文件***的过滤器驱动或微过滤器驱动、内核层与应用层(用户层)之间的信息和数据交互、通信机制,在微软的MSDN(msdn.microsoft.com)以及大量的公开资料中都有介绍。
若在Linux操作***下实现本发明的所述用户模式加密文件***,则可以在Linux提供的用户模式文件***(FUSE)技术的基础上开发实现,其中,Linux的虚拟文件***驱动对应于本发明的虚拟文件***驱动,文件操作处理程序利用Linux的FUSE动态库和API与Linux的虚拟文件***驱动进行交互;加密文件容器可在Linux文件的基础上定义一个具有内部结构的文件作为加密文件容器,用于存放加密文件和组织文件目录,或者使用个人数据库***作为加密文件容器,用于存放加密文件和组织文件目录。
同样地,可以通过在在一个加密文件的文件数据中加入一个具有特别标志的头部用于区分加密的文件数据和非加密的文件数据,以及保存与加密、解密有关的信息,包括密钥信息、加密算法信息。
对于在其他计算机操作***下的实现,可采用对应操作***中的与Windows或Linux***类似的机制。
对于技术实现的其他方面,对于相关领域的技术开发者而言是不言自明的。

Claims (6)

1.一种用户模式加密文件***,其特征是:所述加密文件***包括加密文件容器、虚拟文件***驱动及文件操作处理程序,其中:
加密文件容器:一个存放加密的文件并按计算机文件***的由文件目录和文件组成的文件组织结构对内部存放的加密文件进行组织的计算机***的电子文件或者电子文件存储***;
虚拟文件***驱动:一个加载到用户计算机的计算机***中的文件***驱动或一个***到用户计算机的计算机***的文件***驱动栈中的过滤器类型的文件***驱动;所述虚拟文件***驱动借助文件操作处理程序将所述加密文件容器中存放的文件和文件目录映射到用户计算机的文件***的一个虚拟文件盘中或虚拟文件目录中;所述虚拟文件盘是用户计算机的文件***中的一个对用户和程序显现为文件盘并具有单独的文件盘符的文件组织结构,但该文件盘不是对应于用户计算机的一个真实存在的磁盘分区或磁盘驱动器或磁盘卷,而是对应于所述加密文件容器;所述虚拟文件目录是用户计算机的文件***中的一个对用户和程序显现为文件目录的文件组织结构,但该文件目录中的文件和文件目录不是直接存在于用户计算机的永久存储介质上而是存在于所述加密文件容器中;通过映射,所述虚拟文件盘或虚拟文件目录中的一个文件或文件目录被映射到或对应到加密文件容器中保存的一个加密文件或文件目录;所述虚拟文件***驱动将应用程序或***程序针对所述虚拟文件盘或虚拟文件目录中文件和文件目录的操作请求转交所述文件操作处理程序进行处理,并将操作处理的结果返回;
文件操作处理程序:一个运行在用户计算机的计算机***用户模式下的对加密文件容器中的文件和文件目录进行操作处理的程序;所述文件操作处理程序接收所述虚拟文件***驱动转发的应用程序或***程序针对所述虚拟文件盘或虚拟文件目录中文件或文件目录的操作请求,并将接收的操作请求转化成针对所述加密文件容器中对应文件或文件目录的操作;若所述加密文件容器是一个电子文件,则所述文件操作处理程序按访问和处理计算机文件***的文件的方式访问和处理加密文件容器中保存的文件和文件目录,若所述加密文件容器是一个电子文件存储***,则所述文件操作处理程序通过文件存储***提供的访问和操作处理方式访问和操作处理加密文件容器中的文件和文件目录;所述文件存储***提供的访问和操作处理方式包括动态库、API、***调用或交互协议;
所述文件操作处理程序和虚拟文件***驱动构成用户模式文件***驱动;对于应用程序或***程序将非加密的文件数据保存到虚拟文件盘或虚拟文件目录中的操作,所述用户模式文件***驱动将文件数据加密后保存到所述加密文件容器中;对于应用程序或***程序将加密的文件数据保存到虚拟文件盘或虚拟文件目录中的操作,所述用户模式文件***驱动将文件数据保存到所述加密文件容器中时不再对文件数据进行加密;对于受信程序针对所述虚拟文件盘或虚拟文件目录中的文件进行的文件信息以及文件数据读取操作,所述用户模式文件***驱动按解密后的文件返回操作处理的结果;对于非受信程序针对所述虚拟文件盘或虚拟文件目录中的文件进行的文件信息以及文件数据读取操作,所述用户模式文件***驱动按加密后的文件返回操作处理的结果;非受信进程读取的文件数据中包含有解密加密的文件数据所需的密钥信息包括密钥标识信息;所述用户模式文件***驱动对文件数据进行的加密和解密处理由所述文件操作处理程序完成或者由所述虚拟文件***驱动完成;
所述受信程序指被允许以明文形式读取保存在所述加密文件容器中的文件的程序;所述受信程序包括应用程序和***程序;受信程序之外的其他程序只能以密文形式读取保存在所述加密文件容器中的文件,称为非受信程序;所述受信程序和非受信程序包括针对加密文件容器中单个文件类型的受信程序和非受信程序,即对单个文件类型而言是受信的或非受信的,以及针对加密文件容器中所有文件类型的受信程序的和非受信程序,即针对加密文件容器中所有文件类型而言是受信的或非受信的;所述受信程序和非受信程序由所述用户模式加密文件***的发布者设定,或者由使用用户模式加密文件***的用户设定,或者由用户模式加密文件***自动在线更新设定。
2.根据权利要求1所述的用户模式加密文件***,其特征是:当应用程序或***程序将文件数据保存到虚拟文件盘或虚拟文件目录时,所述用户模式文件***驱动根据应用程序或***程序要保存的文件数据是否满足预定的格式或者是否具有预定的特征来确定要保存的文件数据是加密的文件数据还是非加密的文件数据。
3.根据权利要求1所述的用户模式加密文件***,其特征是:若所述加密文件容器中的文件和文件目录被映射到一个虚拟文件盘,则当应用程序或***程序获取虚拟文件盘的剩余可用存储空间或可用分配单位时所述用户模式文件***驱动将加密文件容器当前能继续使用的存储空间减去一个文件加密后额外增加的数据存储空间的上限值作为虚拟文件盘的剩余可用存储空间或可用分配单位返回。
4.根据权利要求1所述的用户模式加密文件***,其特征是:若所述加密文件容器中的文件和文件目录被映射到一个虚拟文件目录,则当应用程序或***程序获取虚拟文件目录所在文件盘的剩余可用存储空间或可用分配单位时所述用户模式文件***驱动将虚拟文件目录所在文件盘的实际剩余可用存储空间或可用分配单位加上加密文件容器当前能继续使用的存储空间减去一个文件加密后额外增加的数据存储空间的上限值作为文件盘的剩余可用存储空间或可用分配单位返回;所述虚拟文件目录所在文件盘的实际剩余可用存储空间或可用分配单位指在进行虚拟文件目录映射前虚拟文件目录所在文件盘的剩余可用存储空间或可用分配单位。
5.根据权利要求1所述的用户模式加密文件***,其特征是:若用户通过文件云存储***的云存储客户端将所述虚拟文件盘或虚拟文件目录中的文件上传或同步到文件云存储***的云端***,则文件云存储***的云存储客户端被设定为非受信程序。
6.根据权利要求1所述的用户模式加密文件***,其特征是:若加密文件容器中的加密文件对应有访问控制策略或解密策略,则非受信程序通过虚拟文件盘或虚拟文件目录读取加密文件容器中的加密文件时所读取的文件数据中包含有加密文件的访问控制策略或解密策略。
CN201410076462.1A 2014-03-04 2014-03-04 一种用户模式加密文件*** Expired - Fee Related CN103825953B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410076462.1A CN103825953B (zh) 2014-03-04 2014-03-04 一种用户模式加密文件***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410076462.1A CN103825953B (zh) 2014-03-04 2014-03-04 一种用户模式加密文件***

Publications (2)

Publication Number Publication Date
CN103825953A true CN103825953A (zh) 2014-05-28
CN103825953B CN103825953B (zh) 2017-01-04

Family

ID=50760777

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410076462.1A Expired - Fee Related CN103825953B (zh) 2014-03-04 2014-03-04 一种用户模式加密文件***

Country Status (1)

Country Link
CN (1) CN103825953B (zh)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104125069A (zh) * 2014-07-07 2014-10-29 武汉理工大学 一种面向共享的安全文件目录文件加密***
CN104794072A (zh) * 2015-04-23 2015-07-22 北京北信源软件股份有限公司 一种基于用户身份认证的盘符映射方法
CN105224882A (zh) * 2015-09-23 2016-01-06 武汉理工大学 一种基于桥文件***的文件加密***
CN105426766A (zh) * 2015-10-27 2016-03-23 武汉理工大学 一种基于影子文件的文件加密***
CN105574431A (zh) * 2015-12-10 2016-05-11 武汉理工大学 一种基于多像文件的加密文件***
CN105590067A (zh) * 2015-12-17 2016-05-18 武汉理工大学 一种基于用户空间文件***的文件加密***
CN105760779A (zh) * 2016-02-18 2016-07-13 武汉理工大学 一种基于fuse的双向文件加密***
CN106528571A (zh) * 2015-09-14 2017-03-22 北京中质信维科技有限公司 一种用于移动终端的文件管理方法及***
CN106845252A (zh) * 2016-12-21 2017-06-13 北京奇虎科技有限公司 终端数据访问方法、装置及移动终端
CN107111726A (zh) * 2015-01-20 2017-08-29 微软技术许可有限责任公司 对fat文件***的文件加密支持
CN107256360A (zh) * 2017-06-07 2017-10-17 努比亚技术有限公司 文件加密方法、移动终端及计算机可读存储介质
CN107643918A (zh) * 2017-09-19 2018-01-30 郑州云海信息技术有限公司 一种容器管理方法及装置
CN107835179A (zh) * 2017-11-14 2018-03-23 山东超越数控电子股份有限公司 一种基于虚拟化容器的应用程序防护方法与装置
CN108038387A (zh) * 2017-12-21 2018-05-15 北京亿赛通科技发展有限责任公司 一种外发文件的处理方法和***
CN108632206A (zh) * 2017-03-19 2018-10-09 上海格尔软件股份有限公司 一种加密云存储与资源管理器结合的***
CN109886047A (zh) * 2019-03-21 2019-06-14 腾讯科技(深圳)有限公司 文件加密处理方法和装置
CN110232261A (zh) * 2019-06-03 2019-09-13 浙江大华技术股份有限公司 包文件的操作方法、文件处理设备及具有存储功能的设备
CN111339034A (zh) * 2020-05-18 2020-06-26 湖南天琛信息科技有限公司 一种密文存储明文访问的***、密文存储和明文访问方法
CN111858511A (zh) * 2020-07-17 2020-10-30 武汉理工大学 一种文件存储和使用方法及文件存储***

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103488954A (zh) * 2013-10-16 2014-01-01 武汉理工大学 一种文件加密***
CN103546547A (zh) * 2013-10-08 2014-01-29 武汉理工大学 一种云存储文件加密***
CN103561034A (zh) * 2013-11-11 2014-02-05 武汉理工大学 一种安全文件共享***

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103546547A (zh) * 2013-10-08 2014-01-29 武汉理工大学 一种云存储文件加密***
CN103488954A (zh) * 2013-10-16 2014-01-01 武汉理工大学 一种文件加密***
CN103561034A (zh) * 2013-11-11 2014-02-05 武汉理工大学 一种安全文件共享***

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104125069A (zh) * 2014-07-07 2014-10-29 武汉理工大学 一种面向共享的安全文件目录文件加密***
CN104125069B (zh) * 2014-07-07 2017-07-25 武汉理工大学 一种面向共享的安全文件目录文件加密***
US10726147B2 (en) 2015-01-20 2020-07-28 Microsoft Technology Licensing, Llc. File encryption support for FAT file systems
CN107111726A (zh) * 2015-01-20 2017-08-29 微软技术许可有限责任公司 对fat文件***的文件加密支持
CN104794072A (zh) * 2015-04-23 2015-07-22 北京北信源软件股份有限公司 一种基于用户身份认证的盘符映射方法
CN104794072B (zh) * 2015-04-23 2018-02-06 北京北信源软件股份有限公司 一种基于用户身份认证的盘符映射方法
CN106528571A (zh) * 2015-09-14 2017-03-22 北京中质信维科技有限公司 一种用于移动终端的文件管理方法及***
CN105224882A (zh) * 2015-09-23 2016-01-06 武汉理工大学 一种基于桥文件***的文件加密***
CN105224882B (zh) * 2015-09-23 2018-04-20 武汉理工大学 一种基于桥文件***的文件加密***
CN105426766A (zh) * 2015-10-27 2016-03-23 武汉理工大学 一种基于影子文件的文件加密***
CN105426766B (zh) * 2015-10-27 2018-05-18 武汉理工大学 一种基于影子文件的文件加密***
CN105574431A (zh) * 2015-12-10 2016-05-11 武汉理工大学 一种基于多像文件的加密文件***
CN105574431B (zh) * 2015-12-10 2018-08-03 武汉理工大学 一种基于多像文件的加密文件***
CN105590067A (zh) * 2015-12-17 2016-05-18 武汉理工大学 一种基于用户空间文件***的文件加密***
CN105590067B (zh) * 2015-12-17 2018-06-19 武汉理工大学 一种基于用户空间文件***的文件加密***
CN105760779A (zh) * 2016-02-18 2016-07-13 武汉理工大学 一种基于fuse的双向文件加密***
CN105760779B (zh) * 2016-02-18 2018-06-22 武汉理工大学 一种基于fuse的双向文件加密***
CN106845252A (zh) * 2016-12-21 2017-06-13 北京奇虎科技有限公司 终端数据访问方法、装置及移动终端
CN108632206A (zh) * 2017-03-19 2018-10-09 上海格尔软件股份有限公司 一种加密云存储与资源管理器结合的***
CN107256360A (zh) * 2017-06-07 2017-10-17 努比亚技术有限公司 文件加密方法、移动终端及计算机可读存储介质
CN107643918A (zh) * 2017-09-19 2018-01-30 郑州云海信息技术有限公司 一种容器管理方法及装置
CN107835179A (zh) * 2017-11-14 2018-03-23 山东超越数控电子股份有限公司 一种基于虚拟化容器的应用程序防护方法与装置
CN108038387A (zh) * 2017-12-21 2018-05-15 北京亿赛通科技发展有限责任公司 一种外发文件的处理方法和***
CN108038387B (zh) * 2017-12-21 2020-09-04 北京亿赛通科技发展有限责任公司 一种外发文件的处理方法和***
CN109886047A (zh) * 2019-03-21 2019-06-14 腾讯科技(深圳)有限公司 文件加密处理方法和装置
CN110232261A (zh) * 2019-06-03 2019-09-13 浙江大华技术股份有限公司 包文件的操作方法、文件处理设备及具有存储功能的设备
CN111339034A (zh) * 2020-05-18 2020-06-26 湖南天琛信息科技有限公司 一种密文存储明文访问的***、密文存储和明文访问方法
CN111339034B (zh) * 2020-05-18 2020-08-11 湖南天琛信息科技有限公司 一种密文存储明文访问的***、密文存储和明文访问方法
CN111858511A (zh) * 2020-07-17 2020-10-30 武汉理工大学 一种文件存储和使用方法及文件存储***
CN111858511B (zh) * 2020-07-17 2024-04-09 武汉理工大学 一种文件存储和使用方法及文件存储***

Also Published As

Publication number Publication date
CN103825953B (zh) 2017-01-04

Similar Documents

Publication Publication Date Title
CN103825953A (zh) 一种用户模式加密文件***
US11194920B2 (en) File system metadata protection
US9027149B2 (en) Secret sharing system, apparatus, and storage medium
US7949693B1 (en) Log-structured host data storage
US10440111B2 (en) Application execution program, application execution method, and information processing terminal device that executes application
GB2512667B (en) Managing shared data using a virtual machine
US9152813B2 (en) Transparent real-time access to encrypted non-relational data
WO2017044595A1 (en) Systems and methods for storing data blocks using a set of generated logical memory identifiers
CN103729470A (zh) 一种基于不同云存储端的安全存储方法
GB2581721A (en) Secure access management for tools within a secure environment
CN102902914A (zh) 一种实现终端无痕的方法及装置
US11288212B2 (en) System, apparatus, and method for secure deduplication
JP2013527533A5 (zh)
WO2019075622A1 (zh) 一种安全元件及相关设备
JP4764455B2 (ja) 外部記憶装置
CN114611123B (zh) 一种文件透明加解密方法和***
CN115758420A (zh) 文件访问控制方法、装置、设备及介质
CN107749862A (zh) 一种数据加密集中存储方法、服务器、用户终端及***
CN103379133A (zh) 一种安全可信的云存储***
US11146556B2 (en) Methods and systems for contiguous utilization of individual end-user-based cloud-storage subscriptions
WO2022001878A1 (en) System generated data set encryption key
KR101016126B1 (ko) 데이터 암호화 시스템 및 그 방법
CN103679066A (zh) 可信保密磁盘的实现方法
JP2013003612A (ja) 仮想サーバ利用時のデータを秘匿するシステム及び方法
CN117094016B (zh) 基于国密Linux内核文件***数据的加密方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170104

CF01 Termination of patent right due to non-payment of annual fee