一种安全网络文件存储系统的制作方法

文档序号:6535459阅读:189来源:国知局
一种安全网络文件存储系统的制作方法
【专利摘要】本发明涉及一种安全网络文件存储系统,所述系统包括网络文件存储服务器、网络文件存储客户端、临时文件目录及文件加密过滤器。用户通过网络文件存储客户端上传到网络文件存储服务器的文件被加密;当用户通过网络文件存储客户端采用光标双击方式打开网络文件存储服务器上的文件时,文件以密文形式被下载复制到用户计算机的临时文件目录中,并在文件应用程序打开密文文件时由文件加密过滤器自动进行加密和解密处理;文件应用程序处理文件时新建的涉及被打开文件内容的临时文件也被文件加密过滤器自动加密和解密;由此,用户端计算机永久存储介质中不存在被打开的文件的明文数据,从而避免在公共或共用计算机终端上使用网络文件时造成敏感信息泄露。
【专利说明】—种安全网络文件存储系统
【技术领域】
[0001]本发明属于信息安全【技术领域】,特别是一种适合在共用或公用计算机终端上使用的安全网络文件存储系统。
【背景技术】
[0002]网络文件存储系统指通过网络进行文件存储和使用的系统,包括云存储系统。网络文件存储系统通常由网络文件存储服务器和网络文件存储客户端组成。用户通过网络文件存储客户端可随时在不同计算机终端上将文件上传到网络文件存储服务器上保存,浏览保存在网络文件存储服务器上的文件,将网络文件存储服务器上保存的文件下载到用户计算机上使用,甚至直接通过光标双击方式打开、使用保存在网络文件服务器上的文件。网络文件存储系统(如云存储系统)给用户带来了极大的方便,因此深受广大用户的喜爱。
[0003]但是,用户在使用网络文件存储系统时会面临这样的问题,用户保存在网络文件存储系统上的文件可能是涉密敏感内容的文件,如涉及商业秘密和个人隐私,如果将它们保存在网络文件存储系统上特别是公共网络文件服务系统上(如公共云存储服务的云端系统中),则有可能造成敏感、保密信息的泄露(或者至少用户会担心这一问题)。对于这一问题,可以通过对保存在网络文件存储系统上的文件进行加密的方式加以解决,比如,网络文件存储客户端在将文件上传到网络文件存储服务器前先对要上传的文件进行加密,网络文件存储客户端在将网络文件存储服务器上的文件下载到用户计算机本地保存时,对下载的文件进行解密。但是,即便采用了这种对网络文件加密、解密的方案,人们在使用网络文件存储系统能够还会面临一个问题:用户可能会在与他人共用的计算机上(包括其他人的计算机)或者公用计算机(如网吧的计算机)上使用保存在网络文件存储服务器上的文件,这时,即便保存在网络文件存储服务器上的文件被加密,但当用户通过网络文件存储客户端使用保存在网络文件存储服务器上的文件时候,无论是将文件下载到用户当前使用的计算机上使用还是通过光标双击方式直接使用网络文件存储服务器上的文件,都可能造成敏感、保密信息的泄露,这是因为,当用户将网络文件下载到当前使用的计算机的永久存储介质(计算机硬盘)上保存后,即便用户使用完文件后将文件删除,文件的数据仍然会留存在计算机永久存储介质上,并未真正销毁(除非之后被其他文件存储操作所覆盖),其他人通过一定的技术手段是可以恢复永久存储介质上被删除的文件的,从而造成敏感、保密信息的泄露;当用户通过光标双击方式打开保存在网络文件存储服务器上的文件时,网络文件存储客户端是先将要打开的网络文件下载到用户计算机本地的永久存储介质上复制生成一个临时文件,然后再调用对应的文件应用程序(如Word程序)打开复制生成的临时文件;当用户通过文件应用程序关闭被打开的文件后,网络文件存储客户端再将用户计算机本地永久存储介质上保存的临时文件删除,但是,临时文件的数据同样仍然会留存在计算机永久存储介质上,仍然可能会造成敏感、保密信息的泄露。
[0004]文件过滤器是插入到计算机文件系统驱动栈(driver stack)中的一种特殊驱动,它能拦截应用程序、系统程序对文件的操作,并能对应用程序、系统程序对文件的操作进行干预,包括修改存写或读取的文件数据,故通过文件过滤器可在不对应用程序、系统程序造成影响的情况下实现对文件的加密、解密处理。本发明将这一技术用于网络文件存储系统,解决在共用或公共计算机终端上使用网络文件的安全保密问题。

【发明内容】

[0005]本发明的目的是提出一种适合在共用或公用计算机终端上使用的安全网络文件存储系统。
[0006]为了实现上述目的,本发明所采用的技术方案是:
[0007]—种安全网络文件存储系统,所述系统包括网络文件存储服务器、网络文件存储客户端、临时文件目录以及文件加密过滤器,其中:
[0008]网络文件存储服务器:通过网络向用户提供文件存储功能的服务端系统;用户保存在所述网络文件存储服务器上的文件称为网络文件;
[0009]网络文件存储客户端:用户进行网络文件存储操作的用户端软件组件;所述网络文件存储客户端向用户提供进行网络文件存储操作的人机交互界面;用户通过所述网络文件存储客户端将文件上传到所述网络文件存储服务器上保存,将保存在网络文件存储服务器上的文件下载到用户端计算机本地使用,浏览保存在网络文件存储服务器上的文件,以及通过光标双击方式打开当前浏览处的网络文件;用户通过所述网络文件存储客户端上传到网络文件存储服务器的文件经加密后保存在网络文件存储服务器上,加密后的文件仍然保持原有文件类型,即与原有文件具有同样的文件后缀(如docx);当用户使用所述网络文件存储客户端通过光标双击方式打开当前浏览处的网络文件时,所述网络文件存储客户端将用户要打开的网络文件以密文形式下载复制到用户端计算机本地的临时文件目录中生成一个具有相同文件内容和文件类型(即具有同样的文件后缀)的临时文件,称为加密临时文件,然后调用要打开的文件的文件类型所对应的文件应用程序(如Word文档对应的Word程序)打开临时文件目录上生成的加密临时文件;当用户通过文件应用程序对被打开的文件进行修改时,网络文件存储客户端自动对保存在网络文件存储服务器上的对应文件(即对应于下载复制的加密临时文件的网络文件存储服务器上的用户通过光标双击要打开的网络文件)进行更新;当用户通过文件应用程序关闭通过光标双击方式打开的文件后(用户通过文件应用程序关闭的实际上是加密临时文件,但用户“以为”关闭的是对应的网络文件),对应的加密临时文件被网络文件存储客户端或文件加密过滤器自动删除;
[0010]临时文件目录:用户端计算机永久存储介质上的被所述网络文件存储客户端用于存放临时文件的一个文件目录;当用户使用网络文件存储客户端通过光标双击方式打开保存在网络文件存储服务器上的网络文件时,网络文件存储客户端将用户要打开的网络文件以密文形式下载复制到所述临时文件目录上,生成一个加密的具有相同文件内容和文件类型的临时文件;
[0011]文件加密过滤器:一个插入到用户计算机的文件系统驱动栈(driver stack)中的过滤器(filter)类型的文件驱动;当文件应用程序对网络文件存储客户端在临时文件目录上复制生成的对应于用户通过光标双击方式打开的网络文件的加密临时文件进行读取或存写操作时,所述文件加密过滤器自动对文件数据进行解密(读取时)或加密(存写时)处理;若文件应用程序对网络文件存储客户端在临时文件目录中复制生成的加密临时文件进行处理的过程中(在临时文件目录中或临时文件目录外)也生成涉及被打开的加密临时文件的文件内容(即原始文件数据)的新的临时文件,则当文件应用程序对新生成的涉及被打开的加密临时文件的文件内容的临时文件进行存写或读取操作时,所述文件加密过滤器自动对存写或读取的文件数据进行加密(存写时)或解密(读取时)处理,即文件应用程序新生成的涉及被选打开的加密临时文件的文件内容的临时文件也成为加密临时文件(文件应用程序新生成的不包含文件内容的临时文件无需进行加密处理)。
[0012]用户通过所述网络文件存储客户端上传到所述网络文件存储服务器上的文件在网络文件存储客户端执行上传操作时由网络文件存储客户端加密,或者在网络文件存储客户端执行上传操作时由所述文件加密过滤器加密。(具体采用那种方式取决于具体实施方案)
[0013]若上传到所述网络文件存储服务器上的文件由所述文件加密过滤器加密,则当网络文件存储客户端打开并读取用户端计算机上的不属于网络文件存储客户端自身功能一部分的文件时,文件加密过滤器对网络文件存储客户端所读取的文件数据自动进行加密处理(仅对读取的文件数据自动进行加密处理,不将文件本身加密转成为加密文件)(对于网络文件存储客户端读取属于自身功能一部分的文件,比如配置文件,不进行加密处理)。
[0014]用户通过所述网络文件存储客户端从所述网络文件存储服务器下载到用户端计算机本地的所述临时文件目录外保存的网络文件在网络文件存储客户端执行下载操作时由网络文件存储客户端解密成为明文文件保存,或者在网络文件存储客户端执行下载操作时由所述文件加密过滤器解密成为明文文件保存,或者在网络文件存储客户端执行下载操作时不解密文件而是直接以加密文件形式保存,当用户通过文件应用程序使用下载到用户端计算机本地所述临时文件目录外的加密文件时由文件加密过滤器自动将加密文件解密成为明文文件。
[0015]若用户通过所述网络文件存储客户端从所述网络文件存储服务器下载到用户端计算机本地所述临时文件目录外保存的网络文件是在网络文件存储客户端执行下载操作时由所述文件加密过滤器解密成为明文文件,则所述文件加密过滤器对网络文件存储客户端在临时文件目录外打开并存写的加密文件的文件数据自动进行解密成为明文文件数据。
[0016]所述文件加密过滤器对加密文件(包括加密临时文件和下载到临时文件目录外的加密文件)进行加密和解密处理时,对于无法在文件驱动层完成的操作处理交由一个运行于计算机后台的加密程序完成(如人机交互操作、使用数字证书的私钥对加密后的对称密钥进行解密等)。
[0017]所述网络文件存储客户端或文件加密过滤器允许用户选择是在个人专用计算机终端或者在非个人专用计算机终端上使用网络文件存储客户端;所述个人专用计算机终端指仅供用户本人使用的计算机终端,所述非个人专用计算机终端指两个或两个以上用户共同使用的计算机终端;若用户通过所述网络文件存储客户端或文件加密过滤器选择是在非个人专用计算机终端上使用网络文件存储客户端,则所述网络文件存储客户端或文件加密过滤器禁止用户将所述网络文件存储服务器上的网络文件下载到用户端计算机本地的所述临时文件目录外的地方保存,或者用户通过所述网络文件存储客户端从所述网络文件存储服务器下载到用户端计算机本地的所述临时文件目录外保存的文件是以密文文件的形式存在。[0018]若用户通过所述网络文件存储客户端将文件从用户端计算机本地上传到所述网络文件存储服务器或从所述网络文件存储服务器下载到用户端计算机本地时的文件加密或解密处理由网络文件存储客户端完成,且用户通过所述网络文件存储客户端采用光标双击方式打开当前浏览处的网络文件时,所述网络文件存储客户端采用将用户双击打开的文件下载解密然后再复制到所述临时文件目录的处理方式,则所述文件加密过滤器对网络文件存储客户端在临时文件目录中创建并存写的文件数据自动进行(再次)加密,使得网络文件存储客户端在临时文件目录中创建并存写的文件成为加密文件。
[0019]从以上
【发明内容】
描述可以看到,当用户在共用或公用计算机上访问存放在网络文件存储服务器上的网络文件时,用户可通过网络文件存储客户端采用光标双击方式直接打开、使用保存在网络文件存储服务器上的网络文件(不是先下载网络文件,然后再使用文件的方式使用网络文件),这时在用户使用网络文件的过程中,在用户当前使用的计算机本地的临时文件目录上创建的所有涉及被打开文件的文件内容的临时文件都是以密文的形式存在于计算机的永久存储介质上,不会导致敏感、保密信息的泄露;进一步地,若用户通过所述网络文件存储客户端或文件加密过滤器选择当前是在非个人专用计算机终端上使用网络文件存储客户端,则用户被禁止将网络文件下载到用户端计算机本地的临时文件目录外的地方保存,或者用户下载到用户端计算机本地的临时文件目录外存储的文件都以密文文件的形式存在,从而确保敏感、保密信息不被泄露。
【专利附图】

【附图说明】
[0020]图1为本发明的系统的结构图。
【具体实施方式】
[0021]下面结合附图和实施例对本发明作进一步的描述。
[0022]对于网络文件存储服务器的开发,可以采用通常的信息系统技术,如J2EE、ASP.NET、C0M/DC0M等,并按通常的网络文件存储服务器的方式进行开发,即网络文件存储服务器无需关心文件是否被加密的(加密、解密在客户端完成)。
[0023]网络文件存储客户端和文件加密过滤器的具体实施方案与用户端计算机所运行的操作系统有关;进一步地,网络文件存储客户端和文件加密过滤器的开发实施方案与文件上传、下载时是由网络文件存储客户端还是文件加密过滤器进行加密、解密有关。下面以文件上传、下载时是由网络文件存储客户端进行加密、解密的实施方式为例对网络文件存储客户端和文件加密过滤器的开发实现进行说明。
[0024]对于网络文件存储客户端的开发,可使用任何一种Windows桌面程序开发技术(开发语言及开发环境),包括通过相应的桌面程序开发技术提供人机交互界面。当网络文件存储客户端将用户计算机本地的文件上传到网络文件存储服务器时,网络文件存储客户端自动对文件进行加密;当网络文件存储客户端将网络文件存储服务器上的网络文件下载到用户端计算机本地的临时文件目录以外的地方保存时,网络文件存储客户端自动对文件进行解密(除非用户选择在非个人专用计算机终端使用网络文件存储客户端);当用户通过光标双击方式打开当前浏览处的网络文件时,网络文件存储客户端不对下载的网络文件进行解密,而是直接以密文形式将网络文件下载复制到用户端计算机本地的临时文件目录中。
[0025]网络文件存储客户端对于用户通过光标双击打开被选择的文件的实施方案如下。当用户通过光标双击打开被选择的文件时,网络文件存储客户端调用被选中的文件的文件类型所对应的文件应用程序打开被选中的文件(的加密临时文件)的实现,可通过执行 Windows SHELL 命令,或者通过调用 Windows 的相应 API (Application ProgrammingInterface)实现,如ShellExecuteEx (…)。网络文件存储客户端可采用CreateFile () >ReadDirectoryChanges () (Windows提供的函数)检测打开的加密临时文件是否被修改。网络文件存储客户端可在检测到打开文件的文件应用程序退出时,删除在临时文件目录上复制的文件。网络文件存储客户端可采用Windows提供的函数GetExitCodeProcess (…)监测打开文件的文件应用程序是否退出(或者由文件加密过滤器监测到没有任何程序打开临时文件目录下的某个加密临时文件时,由文件加密过滤器将这个加密临时文件删除)。
[0026]文件加密过滤器可基于Windows文件系统的文件过滤器驱动(Filter Driver)或微过滤器驱动(min1-Filter Driver)技术开发实现。对于文件应用程序在临时文件目录下新创建的所有涉及文件内容的临时文件(无论这个临时文件是针对哪个文件所创建的)文件加密过滤器器都自动将其变为加密文件。文件加密过滤器对临时文件目录下的所有加密文件,包括由网络文件存储客户端下载、复制的加密网络文件和由文件应用程序创建的加密临时文件,都自动进行加密、解密处理。
[0027]若文件上传、下载时的加密、解密是由文件加密过滤器完成,则网络文件存储客户端的实现不考虑文件的加密、解密问题,网络文件存储客户端按通常上传、下载非加密文件的方式上传、下载文件;当用户通过光标双击打开网络文件时,网络文件存储客户端按通常下载复制(非加密)网络文件的方式将(加密的)网络文件下载复制到用户计算机本地的临时文件目录中。这时,当 网络文件存储客户端读取明文文件时,文件加密过滤器自动将读取的文件数据转化成密文;当网络文件存储客户端在临时文件目录外存写密文文件时,文件加密过滤器自动对存写的密文文件解密,将其转化成明文文件。
[0028]在具体实施中,通过在文件中附加一个包含特别标志(如一个特别字串)以及加密、解密信息的特定头部来区分加密文件和非加密文件以及保存加密、解密有关的信息(如密钥信息),保存在网络文件服务器上的加密文件和保存在用户端计算机本地临时文件目录上的加密临时文件都具有这种格式。文件过滤器驱动通过这个特定头部来区分加密和非加密文件。
[0029]关于如何通过文件过滤器驱动或微过滤器驱动实现透明文件加密,在微软的MSDN(msdn.microsoft.com)以及大量的公开资料中都有介绍。
[0030]若需要后台加密程序,那么对于后台加密程序的开发,可使用任何一种Windows桌面程序开发技术。文件加密过滤器与后台加密程序之间的信息交互,可使用Windows提供的内核层与应用层信息交互、通信的机制。
[0031]对于文件数据的加密技术,可以采用对称密钥加密技术或非对称密钥加密技术,比如,可以使用普通的口令生成对称密钥对文件数据进行加密,或者使用PKI (Public KeyInfrastructure)数字证书公钥技术对文件数据进行加密,或者使用IBE (Identity BasedEncryption)公钥技术对文件数据进行加密。
[0032]网络文件存储客户端以及文件加密过滤器在其他计算机操作系统下的实现,可采用对应操作系统中的与Windows系统类似的机制。
[0033]对于技术实现的其他方面,对于相关领域的技术开发者而言是不言自明的。
【权利要求】
1.一种安全网络文件存储系统,所述系统包括网络文件存储服务器、网络文件存储客户端、临时文件目录及文件加密过滤器,其中: 网络文件存储服务器:通过网络向用户提供文件存储功能的服务端系统;用户保存在所述网络文件存储服务器上的文件称为网络文件; 网络文件存储客户端:用户进行网络文件存储操作的用户端软件组件;所述网络文件存储客户端向用户提供进行网络文件存储操作的人机交互界面;用户通过所述网络文件存储客户端将文件上传到所述网络文件存储服务器上保存,将保存在网络文件存储服务器上的文件下载到用户端计算机本地使用,浏览保存在网络文件存储服务器上的文件,以及通过光标双击方式打开当前浏览处的网络文件;用户通过所述网络文件存储客户端上传到网络文件存储服务器的文件经加密后保存在网络文件存储服务器上,加密后的文件仍然保持原有文件类型,即与原有文件具有同样的文件后缀;当用户使用所述网络文件存储客户端通过光标双击方式打开当前浏览处的网络文件时,所述网络文件存储客户端将用户要打开的网络文件以密文形式下载复制到用户端计算机本地的临时文件目录中生成一个具有相同文件内容和文件类型的临时文件,称为加密临时文件,然后调用要打开的文件的文件类型所对应的文件应用程序打开临时文件目录上生成的加密临时文件;当用户通过文件应用程序对被打开的文件进行修改时,网络文件存储客户端自动对保存在网络文件存储服务器上的对应文件进行更新;当用户通过文件应用程序关闭通过光标双击方式打开的文件后,对应的加密临时文件被网络文件存储客户端或文件加密过滤器自动删除; 临时文件目录:用户端计算机永久存储介质上的被所述网络文件存储客户端用于存放临时文件的一个文件目录;当用户使用网络文件存储客户端通过光标双击方式打开保存在网络文件存储服务器上的网络文件时,网络文件存储客户端将用户要打开的网络文件以密文形式下载复制到所述临时文件目录上,生成一个加密的具有相同文件内容和文件类型的临时文件; 文件加密过滤器:一个插入到用户计算机的文件系统驱动栈中的过滤器类型的文件驱动;当文件应用程序对网络文件存储客户端在临时文件目录上复制生成的对应于用户通过光标双击方式打开的网络文件的加密临时文件进行读取或存写操作时,所述文件加密过滤器自动对文件数据进行解密或加密处理;若文件应用程序对网络文件存储客户端在临时文件目录中复制生成的加密临时文件进行处理的过程中也生成涉及被打开的加密临时文件的文件内容的新的临时文件,则当文件应用程序对新生成的涉及被打开的加密临时文件的文件内容的临时文件进行存写或读取操作时,所述文件加密过滤器自动对存写或读取的文件数据进行加密或解密处理,即文件应用程序新生成的涉及被选打开的加密临时文件的文件内容的临时文件也成为加密临时文件。
2.根据权利要求1所述的安全网络文件存储系统,其特征是:用户通过所述网络文件存储客户端上传到所述网络文件存储服务器上的文件在网络文件存储客户端执行上传操作时由网络文件存储客户端加密,或者在网络文件存储客户端执行上传操作时由所述文件加密过滤器加密。
3.根据权利要求2所述的安全网络文件存储系统,其特征是:若上传到所述网络文件存储服务器上的文件由所述文件加密过滤器加密,则当网络文件存储客户端打开并读取用户端计算机上的不属于网络文件存储客户端自身功能一部分的文件时,文件加密过滤器对网络文件存储客户端所读取的文件数据自动进行加密处理。
4.根据权利要求1所述的安全网络文件存储系统,其特征是:用户通过所述网络文件存储客户端从所述网络文件存储服务器下载到用户端计算机本地的所述临时文件目录外保存的网络文件在网络文件存储客户端执行下载操作时由网络文件存储客户端解密成为明文文件保存,或者在网络文件存储客户端执行下载操作时由所述文件加密过滤器解密成为明文文件保存,或者在网络文件存储客户端执行下载操作时不解密文件而是直接以加密文件形式保存,当用户通过文件应用程序使用下载到用户端计算机本地所述临时文件目录外的加密文件时由文件加密过滤器自动将加密文件解密成为明文文件。
5.根据权利要求4所述的安全网络文件存储系统,其特征是:若用户通过所述网络文件存储客户端从所述网络文件存储服务器下载到用户端计算机本地所述临时文件目录外保存的网络文件是在网络文件存储客户端执行下载操作时由所述文件加密过滤器解密成为明文文件,则所述文件加密过滤器对网络文件存储客户端在临时文件目录外打开并存写的加密文件的文件数据自动进行解密成为明文文件数据。
6.根据权利要求1所述的安全网络文件存储系统,其特征是:所述文件加密过滤器对加密文件进行加密和解密处理时,对于无法在文件驱动层完成的操作处理交由一个运行于计算机后台的加密程序完成。
7.根据权利要求1所述的安全网络文件存储系统,其特征是:所述网络文件存储客户端或文件加密过滤器允许用户选择是在个人专用计算机终端或者在非个人专用计算机终端上使用网络文件存储客户端;所述个人专用计算机终端指仅供用户本人使用的计算机终端,所述非个人专用计算机终端指两个或两个以上用户共同使用的计算机终端;若用户通过所述网络文件存储客户端或文件加密过滤器选择是在非个人专用计算机终端上使用网络文件存储客户端,则所述网络文件存储客户端或文件加密过滤器禁止用户将所述网络文件存储服务器上的网络文件下载到用户端计算机本地的所述临时文件目录外的地方保存,或者用户通过所述网络文件存储客户端从所述网络文件存储服务器下载到用户端计算机本地的所述临时文件目录外保存的文件是以密文文件的形式存在。
8. 根据权利要求1所述的安全网络文件存储系统,其特征是:若用户通过所述网络文件存储客户端将文件从用户端计算机本地上传到所述网络文件存储服务器或从所述网络文件存储服务器下载到用户端计算机本地时的文件加密或解密处理由网络文件存储客户端完成,且用户通过所述网络文件存储客户端采用光标双击方式打开当前浏览处的网络文件时,所述网络文件存储客户端采用将用户双击打开的文件下载解密然后再复制到所述临时文件目录的处理方式,则所述文件加密过滤器对网络文件存储客户端在临时文件目录中创建并存写的文件数据自动进行加密,使得网络文件存储客户端在临时文件目录中创建并存写的文件成为加密文件。
【文档编号】G06F21/62GK103745162SQ201410011998
【公开日】2014年4月23日 申请日期:2014年1月10日 优先权日:2014年1月10日
【发明者】龙毅宏 申请人:武汉理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1