CN103220293B - 一种文件保护方法及装置 - Google Patents
一种文件保护方法及装置 Download PDFInfo
- Publication number
- CN103220293B CN103220293B CN201310142566.3A CN201310142566A CN103220293B CN 103220293 B CN103220293 B CN 103220293B CN 201310142566 A CN201310142566 A CN 201310142566A CN 103220293 B CN103220293 B CN 103220293B
- Authority
- CN
- China
- Prior art keywords
- file
- key
- ciphertext
- encrypted
- privately owned
- 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
Links
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种文件保护方法,所述方法包括:加密私有用户所创建的文件,并对加密文件所使用的密钥进行加密,以获取被加密文件;建立所述被加密文件与每个共享用户间的共享关系;当所述被加密文件与每个共享用户间的共享关系全部被取消后,重新对所述加密文件所使用的密钥进行加密。本发明还公开了一种文件保护装置。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种文件保护方法及装置。
背景技术
随着信息时代的来临,越来越多的企事业单位以电子文档形式进行办公,基于电子文档易于修改、便于传输及便于携带等特有的便利性,使得电子文档成为企事业单位的重要办公资源。为了有效防止机密、秘密等重要文件的泄密,需要对机密、秘密等重要文件采取集中存储的形式,并通过安全共享的方式方便文件在用户之间的流转。
所述集中存储是将用户本地文件通过网络上传至服务器的私人存储空间中,服务端程序通过一文件一密的方式对文件进行加密保存,本地不再保存此文件。当用户需要使用这些文件时,通过用户本地安装的客户端程序打开服务器上存储的对应文件,以实现访问该文件的目的。
所述安全共享就是文件所有者将服务器上存储的文件供其它用户共享,即将共享文件的加密密钥公开个某个用户,该用户可通过本地安装的客户端访问服务器上的共享文件,并利用获取的加密密钥解密所述共享文件以得到该文件的明文信息。
但是,当将共享文件的加密密钥公开给某个用户后,如果有黑客窃取了该用户的密钥信息,即使取消该用户对所述共享文件的共享权限,黑客也可以利用窃取的密钥信息解密文件,从而造成文件信息的泄密。
发明内容
有鉴于此,本发明实施例的主要目的在于提供一种文件保护方法及装置,以实现保证文件安全、防止文件信息泄漏的目的。
为实现上述目的,本发明实施例提供了一种文件保护方法,包括:
加密私有用户所创建的文件,并对加密文件所使用的密钥进行加密,以获取被加密文件;
建立所述被加密文件与每个共享用户间的共享关系;
当所述被加密文件与每个共享用户间的共享关系全部被取消后,重新对所述加密文件所使用的密钥进行加密。
优选地,在上述方法中,所述加密私有用户所创建的文件,并对加密文件所使用的密钥进行加密,以获取被加密文件包括:
生成第一密钥和第二密钥;
利用所述第二密钥对称加密所述第一密钥,以获取第一密文;
利用所述私有用户的公钥非对称加密所述第二密钥,以获取第二密文;
将所述第一密文、所述第二密文与用户信息作为第一文件头信息写入文件头部,并利用所述第一密钥加密对应的文件以获取携带所述第一文件头信息的被加密文件。
优选地,上述方法还包括:
当所述被加密文件被所述私有用户访问时,读取所述第一文件头信息中的第一密文和第二密文;
利用所述私有用户输入的私钥解密所述第一文件头信息中的第二密文,以获取第二密钥;
利用获取的第二密钥解密所述第一文件头信息中的第一密文,以获取第一密钥;
利用获取的第一密钥解密所述被加密文件,以获取文件明文。
优选地,在上述方法中,所述建立所述被加密文件与每个共享用户间的共享关系包括:
读取所述被加密文件的第一文件头信息;
利用所述私有用户的私钥解密所述第一文件头信息中的第二密文,以获取第二密钥;
利用共享用户的公钥加密获取的第二密钥,以获取第三密文;
创建与所述被加密文件同目录下的密文文件,并将所述第三密文存入所述密文文件。
优选地,上述方法还包括:
当所述被加密文件被所述共享用户访问时,利用所述共享用户输入的私钥解密所述第三密文,以获取第二密钥;
利用获取的第二密钥解密所述第一文件头信息中的第一密文,以获取第一密钥;
利用获取的第一密钥解密所述被加密文件,以获取文件明文。
优选地,在上述方法中,通过删除所述共享用户对应的密文文件,以取消所述被加密文件与对应的共享用户间的共享关系。
优选地,在上述方法中,所述重新对加密文件所使用的密钥进行加密包括:
生成第三密钥;
利用所述第三密钥对称加密所述第一密钥,以获取第四密文;
利用所述私有用户的公钥非对称加密所述第三密钥,以获取第五密文;
将所述第四密文、所述第五密文与用户信息作为第二文件头信息,并利用所述第二文件头信息替换所述第一文件头信息。
优选地,上述方法还包括:
当所述被加密文件被所述私有用户访问时,读取所述第二文件头信息中的第四密文和第五密文;
利用所述私有用户输入的私钥解密所述第二文件头信息中的第五密文,以获取第三密钥;
利用获取的第三密钥解密所述第二文件头信息中的第四密文,以获取第一密钥;
利用获取的第一密钥解密所述被加密文件,以获取文件明文。
优选地,上述方法还包括:
如果所述私有用户所创建文件的不同版本被存入所述私有用户创建的第一文件夹中,则在数据库服务器侧写入第一文件夹信息,并在所述数据库服务器侧生成与所述第一文件夹信息对应的第一文件标识;
如果各个第一文件夹被存入所述私有用户创建的第二文件夹中,则在数据库服务器侧写入第二文件夹信息,并在所述数据库服务器侧生成与所述第二文件夹信息对应的第二文件标识;
生成所述私有用户所创建文件的绝对路径信息,所述绝对路径信息包含第一文件标识、第二文件标识及文件版本号。
本发明实施例还提供了一种文件保护装置,包括:
第一加密单元,用于加密私有用户所创建的文件,并对加密文件所使用的密钥进行加密,以获取被加密文件;
共享建立单元,用于建立所述被加密文件与每个共享用户间的共享关系;
第二加密单元,用于当所述被加密文件与每个共享用户间的共享关系全部被取消后,重新对所述加密文件所使用的密钥进行加密。
优选地,在上述装置中,所述第一加密单元包括:
第一密钥生成子单元,用于生成第一密钥和第二密钥;
第一密钥加密子单元,用于利用所述第二密钥对称加密所述第一密钥,以获取第一密文,并利用所述私有用户的公钥非对称加密所述第二密钥,以获取第二密文;
第一文件加密子单元,用于将所述第一密文、所述第二密文与用户信息作为第一文件头信息写入文件头部,并利用所述第一密钥加密对应的文件以获取携带所述第一文件头信息的被加密文件。
优选地,上述装置还包括第一解密单元,所述第一解密单元包括:
第一信息读取子单元,用于当所述被加密文件被所述私有用户访问时,读取所述第一文件头信息中的第一密文和第二密文;
第一密钥解密子单元,用于利用所述私有用户输入的私钥解密所述第一文件头信息中的第二密文,以获取第二密钥,并利用获取的第二密钥解密所述第一文件头信息中的第一密文,以获取第一密钥;
第一文件解密子单元,用于利用获取的第一密钥解密所述被加密文件,以获取文件明文。
优选地,在上述装置中,所述共享建立单元包括:
第二信息读取子单元,用于读取所述被加密文件的第一文件头信息;
第二密钥加密子单元,用于利用所述私有用户的私钥解密所述第一文件头信息中的第二密文,以获取第二密钥,并利用共享用户的公钥加密获取的第二密钥,以获取第三密文;
秘件创建子单元,用于创建与所述被加密文件同目录下的密文文件,并将所述第三密文存入所述密文文件。
优选地,上述装置还包括第二解密单元,所述第二解密单元包括:
第二密钥解密子单元,用于当所述被加密文件被所述共享用户访问时,利用所述共享用户输入的私钥解密所述第三密文,以获取第二密钥,并利用获取的第二密钥解密所述第一文件头信息中的第一密文,以获取第一密钥;
第二文件解密子单元,用于利用获取的第一密钥解密所述被加密文件,以获取文件明文。
优选地,在上述装置中,通过删除所述共享用户对应的密文文件,以取消所述被加密文件与对应的共享用户间的共享关系。
优选地,在上述装置中,所述第二加密单元包括:
第二密钥生成子单元,用于生成第三密钥;
第三密钥加密子单元,用于利用所述第三密钥对称加密所述第一密钥,以获取第四密文,并利用所述私有用户的公钥非对称加密所述第三密钥,以获取第五密文;
信息替换子单元,用于将所述第四密文、所述第五密文与用户信息作为第二文件头信息,并利用所述第二文件头信息替换所述第一文件头信息。
优选地,上述装置还包括第三解密单元,所述第三解密单元包括:
第三信息读取子单元,用于当所述被加密文件被所述私有用户访问时,读取所述第二文件头信息中的第四密文和第五密文;
第三密钥解密子单元,用于利用所述私有用户输入的私钥解密所述第二文件头信息中的第五密文,以获取第三密钥,并利用获取的第三密钥解密所述第二文件头信息中的第四密文,以获取第一密钥;
第三文件解密子单元,用于利用获取的第一密钥解密所述被加密文件,以获取文件明文。
优选地,上述装置还包括:
第一标识生成单元,用于当所述私有用户所创建文件的不同版本被存入所述私有用户创建的第一文件夹中时,在数据库服务器侧写入第一文件夹信息,并在所述数据库服务器侧生成与所述第一文件夹信息对应的第一文件标识;
第二标识生成单元,用于当各个第一文件夹被存入所述私有用户创建的第二文件夹中时,在数据库服务器侧写入第二文件夹信息,并在所述数据库服务器侧生成与所述第二文件夹信息对应的第二文件标识;
路径信息生成单元,用于生成所述私有用户所创建文件的绝对路径信息,所述绝对路径信息包含第一文件标识、第二文件标识及文件版本号。
本发明实施例文件保护方法及装置,通过加密私有用户所创建的文件,并对加密文件所使用的密钥进行加密,以获取被加密文件;然后,建立所述被加密文件与每个共享用户间的共享关系;当所述被加密文件与每个共享用户间的共享关系全部被取消后,重新对所述加密文件所使用的密钥进行加密。由于利用新的密钥对文件加密密钥进行了重新加密,当非法用户或解除共享关系的用户利用私钥解密被加密文件时,也只能得到用于加密所述文件加密密钥的旧的密钥,而不能获取所述新的密钥,进而不能对被加密文件进行解密,进一步防止了文件数据的泄漏。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例数据传输系统组成示意图;
图2为本发明实施例文件保护方法的流程示意图;
图3为本发明实施例文件首次加密方法的流程示意图;
图4为本发明实施例文件解密方法的第一流程示意图;
图5为本发明实施例共享关系创建方法的流程示意图;
图6为本发明实施例文件解密方法的第二流程示意图;
图7为本发明实施例文件重新加密方法的流程示意图;
图8为本发明实施例文件解密方法的第三流程示意图;
图9为本发明实施例文件保护装置的实施例1的结构示意图;
图10为本发明实施例文件保护装置的实施例2的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的文件保护方法及装置,适用于图1所示的数据传输系统组成示意图,该系统包括数据库服务器、文件服务器、证书服务器以及多个用户终端,用户终端经过所述证书服务器的认证通过后便能登录所述数据库服务器和所述文件服务器,从而进入所述文件服务器中属于所述用户终端的私有存储空间,并对所述私有存储空间中存储的私有文件进行查看、修改、上传或下载等操作。其中,服务器之间以及用户终端与服务器之间的数据传输采用ssl加密传输,采用该加密传输方式可保护敏感数据在传送过程中的安全,使所传送的数据不容易被网络黑客截获和解密。
下面首先对文件及文件夹的创建过程进行介绍。文件所有者即所述私有用户所创建的文件被存储于文件服务器中,且同一文件会对应有不同的版本,本发明实施例将同一类型文件的不同版本存入第一文件夹中,不同类型文件对应的各个版本可被存储于用户创建的不同的第一文件夹中,且各个第一文件夹会共同存储在用户创建的第二文件夹中。
上述文件服务器主要用于存储私有用户创建的文件,而数据库服务器用于存储文件相关信息并生成每个文件的绝对存储路径,以方便对文件的查找,具体为:如果所述私有用户所创建文件的不同版本被存入所述私有用户创建的第一文件夹中,则在数据库服务器侧写入第一文件夹信息,并在所述数据库服务器侧生成与所述第一文件夹信息对应的第一文件标识;如果各个第一文件夹被存入所述私有用户创建的第二文件夹中,则在数据库服务器侧写入第二文件夹信息,并在所述数据库服务器侧生成与所述第二文件夹信息对应的第二文件标识;生成所述私有用户所创建的文件的绝对路径信息,所述绝对路径信息包含第一文件标识、第二文件标识及文件版本号。
为了更清楚的了解上述内容,下面举例说明:
对于私有用户user1在文件服务器侧创建的第二文件夹,所述第二文件夹的信息(第二文件夹所有者、使用权限、共享时间、取消共享时间等)被写入到数据库服务器中,并生成该第二文件夹的唯一id号即所述第二文件标识,此id号是整型。创建以“D_”为前缀后面加id号形式的文件夹,例如该id为1001时,则对应的文件夹为“D_1001”,然后在对应的物理路径上面创建路径,即所述第二文件夹的绝对路径便为/user1/D_1001。
所述第二文件夹下包含有多个第一文件夹,每个第一文件夹中存储不同类型的文件,每一第一文件夹中存储同一类型文件的不同版本,此时,将第一文件夹的信息(第一文件夹所有者、使用权限、共享时间、取消共享时间等)写入到数据库服务器中,并生成唯一的id号,此id号是整型。则在对应的目录下先创建以“F_”为前缀后面加id的文件夹,例如该id为2001时,则对应的文件夹为“F_2001”,此时,所述第一文件夹的绝对路径便为/user1/D_1001/F_2001。
对于第一文件夹中的不同版本的文件,如果某一文件为第一版本的文件,则这个第一版本的文件的绝对路径为/user1/D_1001/F_2001/1。这样通过创建每个版本文件的存储路径,使得用户可以方便管理文件,而且用户也可以查看每个文件的历史版本。
此外,对于一些文件的其他可用信息如文件hash也可以保存在数据库中,通过将文件相关信息保存在数据库中,当进行相关检索(如文件名)时,可以利用数据库的优势来提高检索速度。
参见图2所示,图2为本发明实施例提供的一种文件保护方法的流程示意图,实现该方法的步骤包括:
步骤201:加密私有用户所创建的文件,并对加密文件所使用的密钥进行加密,以获取被加密文件。
在文件服务器的整个存储空间中,每个私有用户有对应的私有空间,以便该私有用户在所属的私有空间内创建文件,当所述私有用户在对应的私有空间内创建文件后,为了保证文件的安全性,需要对每个文件进行加密保护,还要对加密文件的密钥进行进一步加密,且每个文件采用一文件一密的形式进行保存。
在步骤201中,下面就如何对文件进行加密以获取加密文件的实现方式进行介绍,参见图3所示,图3为本发明实施例提供的文件首次加密方法的流程示意图,具体包括:
步骤301:生成第一密钥key1和第二密钥key2。
其中,先生成加密文件内容的第一密钥key1、再生成加密第一密钥key1的第二密钥key2,或者是先生成key2后生成key1、或者是key1与key2同时生成。
步骤302:利用所述第二密钥key2对称加密所述第一密钥key1,以获取第一密文S(key1)。
所谓对称加密,就是利用同样的密钥进行加密和解密。在本实施例中,即利用第一密钥key1对文件进行加密,反之,在对文件进行解密时,同样采用第一密钥key1对文件进行解密。
步骤303:利用所述私有用户的公钥非对称加密所述第二密钥key2,以获取第二密文A(key2)。
与对称加密不同,非对称加密需要两个密钥:公钥和私钥。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密;如果用私钥对数据进行加密,那么只有用对应的公钥才能解密。在本实施例中,利用用户公钥证书非对称加密第二密钥key2后得到第二密文A(key2)。
步骤304:将所述第一密文S(key1)、所述第二密文A(key2)与用户信息作为第一文件头信息写入文件头部,并利用所述第一密钥key1加密对应的文件以获取携带所述第一文件头信息的被加密文件。
在本实施例中,当把所述第一文件头信息写入文件头部后,最后利用所述第一密钥key1对文件内容本身进行加密,将第一文件头信息以及被key1加密后的文件整体作为所述被加密文件。其中,把加密文件所采用的相关密钥信息即所述第一文件头信息保存在文件头部,可以有效防止因出现密钥丢失而无法打开文件的问题。
与图3所示的文件加密方法相对应,参见图4所示,本发明实施例还提供了文件解密方法的第一流程示意图,具体包括:
步骤401:当所述被加密文件被所述私有用户访问时,读取所述第一文件头信息中的第一密文S(key1)和第二密文A(key2);
步骤402:利用所述私有用户输入的私钥解密所述第一文件头信息中的第二密文A(key2),以获取第二密钥key2;
其中,所述私钥是在非对称加密算法中与所述公钥对应的密钥。
步骤403:利用获取的第二密钥key2解密所述第一文件头信息中的第一密文S(key1),以获取第一密钥key1;
步骤404:利用获取的第一密钥key1解密所述被加密文件,以获取文件明文。
步骤202:建立所述被加密文件与每个共享用户间的共享关系。
为了使所述私有用户以外的其它用户也能获取到所述被加密文件的明文信息,需要建立所述被加密文件与其它用户间的共享关系,具有共享权限的用户为共享用户,所有共享用户可以解密该被加密文件以获取文件内容。
在步骤202中,下面就如何建立被加密文件与每个共享用户间的共享关系的实现方式进行介绍,参见图5所示,图5为本发明实施例提供的共享关系创建方法的流程示意图,具体包括:
步骤501:读取所述被加密文件的第一文件头信息。
步骤502:利用所述私有用户的私钥解密所述第一文件头信息中的第二密文A(key2),以获取第二密钥key2。
步骤503:利用共享用户的公钥加密获取的第二密钥key2,以获取第三密文。
步骤504:创建与所述被加密文件同目录下的密文文件,并将所述第三密文存入所述密文文件。
为了更清楚的了解如何创建共享关系,下面举例进行说明:
例1:在建立共享关系时,如果私有用户(user1)将被加密文件a.doc(/user1/D_1001/F_2001)共享给共享用户(user2),则user1首先获取a.doc文件的第一头信息中的第二密文A(key2),然后将A(key2)中的第二密钥key2解密出来,最后用user2的公钥加密得到的第二密钥key2,最终得到第三密文user2[A(key2)],并将第三密文user2[A(key2)]写入到和a.doc同一目录(/user1/D_1001/F_2001)的密文文件(user2.key)中,这样user2可通过共享渠道访问user1的共享文件a.doc。
与图5所示的共享关系创建方法相对应,参见图6所示,本发明实施例还提供了文件解密方法的第二流程示意图,是共享用户解密文件的步骤,具体包括:
步骤601:当所述被加密文件被所述共享用户访问时,利用所述共享用户输入的私钥解密所述第三密文,以获取第二密钥key2;
步骤602:利用获取的第二密钥key2解密所述第一文件头信息中的第一密文S(key1),以获取第一密钥key1;
步骤603:利用获取的第一密钥key1解密所述被加密文件,以获取文件明文。
为了更清楚的了解共享用户访问被加密文件时如何获取文件内容,下面举例进行说明:
例2:当共享用户(User2)访问私有用户(user1)共享的文件a.doc时,User2先用私钥解密密文文件user2.key中存储的第三密文user2[A(key2)],以获取第二密钥key2,然后用第二密钥key2解密第一文件头信息中的第一密文S(key1)得到第一密钥key1,最后用第一密钥key1解密被加密文件的内容,从而得到文件明文信息。
步骤203:当所述被加密文件与每个共享用户间的共享关系全部被取消后,重新对加密文件所使用的密钥进行加密。
当私有用户共享某个被加密文件时,可能共享给多个共享用户,例如存在的多个共享用户为:共享用户user2、共享用户user3、......共享用户usern;且这n个共享用户的密文文件分别为user2.key、user3.key、......usern.key。如果某个被加密文件被共享给了这n个共享用户,当需要取消该被加密文件与某个共享用户间的共享关系时,可通过删除所述共享用户对应的密文文件,以取消所述被加密文件与对应的共享用户间的共享关系,例如:通过删除共享用户user2对应的密文文件user2.key,来终止共享用户user2访问被共享的文件。
在步骤203,如果当所述被加密文件与每个共享用户间的共享关系全部被取消后,即密文文件user2.key、user3.key、......usern.key全部被删除后,为了进一步加强文件安全以防止文件泄露,可对取消共享关系的被加密文件进行重新加密。参见图7所示,图7为本发明实施例提供的文件重新加密方法的流程示意图,具体包括:
步骤701:生成第三密钥key3;
步骤702:利用所述第三密钥key3对称加密所述第一密钥key1,以获取第四密文;
步骤703:利用所述私有用户的公钥非对称加密所述第三密钥key3,以获取第五密文;
步骤704:将所述第四密文、所述第五密文与用户信息作为第二文件头信息,并利用所述第二文件头信息替换所述第一文件头信息。
只有文件所有者和共享用户才能访问被加密文件并得到明文,而没有共享关系的用户,不能访问文件;当共享关系结束时,保护文件密钥的密钥已经被重新生成,所以,即使有非法用户保存之前共享关系中共享用户的私钥也不能对文件解密,即,通过生成新的加密第一密钥key1的的密钥key3,替换之前加密第一密钥key1的密钥key2,之前已经取消共享关系的共享用户只能利用私钥解密出key2而不能解密出key3,进而不能解密出文件明文。
与图4所示的文件解密方法相同,在对被重新加密的文件进行解密时,按照下述方式解密文件,参见图8所示的文件解密方法的第三流程示意图,具体包括:
步骤801:当所述被加密文件被所述私有用户访问时,读取所述第二文件头信息中的第四密文和第五密文;
步骤802:利用所述私有用户输入的私钥解密所述第二文件头信息中的第五密文,以获取第三密钥key3;
其中,所述私钥是在非对称加密算法中与所述公钥对应的密钥。
步骤803:利用获取的第三密钥key2解密所述第二文件头信息中的第四密文,以获取第一密钥key1;
步骤804:利用获取的第一密钥key1解密所述被加密文件,以获取文件明文。
在本发明实施例的文件保护方法中,通过加密私有用户所创建的文件,并对加密文件所使用的密钥进行加密,以获取被加密文件;然后,建立所述被加密文件与每个共享用户间的共享关系;当所述被加密文件与每个共享用户间的共享关系全部被取消后,重新对加密文件所使用的密钥进行加密。由于利用新的密钥key3对文件加密密钥key1进行了重新加密,当非法用户或解除共享关系的用户利用私钥解密被加密文件时,也只能得到用于加密所述文件加密密钥key1的旧的密钥key2,而不能获取所述新的密钥key3,进而不能对被加密文件进行解密,进一步防止了文件数据的泄漏。
参见图9所示,图9为本发明实施例提供的一种文件保护装置的实施例1的结构示意图,该装置包括:第一加密单元1,用于加密私有用户所创建的文件,并对加密文件所使用的密钥进行加密,以获取被加密文件;共享建立单元2,用于建立所述被加密文件与每个共享用户间的共享关系;第二加密单元3,用于当所述被加密文件与每个共享用户间的共享关系全部被取消后,重新对所述加密文件所使用的密钥进行加密。
参见图10所示,图10为本发明实施例提供的一种文件保护装置的实施例2的结构示意图,在上述装置实施例1的基础上,本实施例2还包括:第一解密单元4、第二解密单元5、第三解密单元6、第一标识生成单元7、第二标识生成单元8、路径信息生成单元9。
其中,所述第一加密单元1包括:第一密钥生成子单元11,用于生成第一密钥和第二密钥;第一密钥加密子单元12,用于利用所述第二密钥对称加密所述第一密钥,以获取第一密文,并利用所述私有用户的公钥非对称加密所述第二密钥,以获取第二密文;第一文件加密子单元13,用于将所述第一密文、所述第二密文与用户信息作为第一文件头信息写入文件头部,并利用所述第一密钥加密对应的文件以获取携带所述第一文件头信息的被加密文件。
其中,所述第一解密单元4包括:第一信息读取子单元41,用于当所述被加密文件被所述私有用户访问时,读取所述第一文件头信息中的第一密文和第二密文;第一密钥解密子单元42,用于利用所述私有用户输入的私钥解密所述第一文件头信息中的第二密文,以获取第二密钥,并利用获取的第二密钥解密所述第一文件头信息中的第一密文,以获取第一密钥;第一文件解密子单元43,用于利用获取的第一密钥解密所述被加密文件,以获取文件明文。
其中,所述共享建立单元2包括:第二信息读取子单元21,用于读取所述被加密文件的第一文件头信息;第二密钥加密子单元22,用于利用所述私有用户的私钥解密所述第一文件头信息中的第二密文,以获取第二密钥,并利用共享用户的公钥加密获取的第二密钥,以获取第三密文;秘件创建子单元23,用于创建与所述被加密文件同目录下的密文文件,并将所述第三密文存入所述密文文件。
其中,所述第二解密单元5包括:第二密钥解密子单元51,用于当所述被加密文件被所述共享用户访问时,利用所述共享用户输入的私钥解密所述第三密文,以获取第二密钥,并利用获取的第二密钥解密所述第一文件头信息中的第一密文,以获取第一密钥;第二文件解密子单元52,用于利用获取的第一密钥解密所述被加密文件,以获取文件明文。
需要说明的是,当所述私有用户取消某个共享用户共享某给文件的权限时,通过删除所述共享用户对应的密文文件,以取消所述被加密文件与对应的共享用户间的共享关系。
其中,所述第二加密单元3包括:第二密钥生成子单元31,用于生成第三密钥;第三密钥加密子单元32,用于利用所述第三密钥对称加密所述第一密钥,以获取第四密文,并利用所述私有用户的公钥非对称加密所述第三密钥,以获取第五密文;信息替换子单元33,用于将所述第四密文、所述第五密文与用户信息作为第二文件头信息,并利用所述第二文件头信息替换所述第一文件头信息。
其中,所述第三解密单元6包括:第三信息读取子单元61,用于当所述被加密文件被所述私有用户访问时,读取所述第二文件头信息中的第四密文和第五密文;第三密钥解密子单元62,用于利用所述私有用户输入的私钥解密所述第二文件头信息中的第五密文,以获取第三密钥,并利用获取的第三密钥解密所述第二文件头信息中的第四密文,以获取第一密钥;第三文件解密子单元63,用于利用获取的第一密钥解密所述被加密文件,以获取文件明文。
其中,所述私有用户所创建的文件被存储于文件服务器中。
其中,第一标识生成单元7,用于当所述私有用户所创建文件的不同版本被存入所述私有用户创建的第一文件夹中时,在数据库服务器侧写入第一文件夹信息,并在所述数据库服务器侧生成与所述第一文件夹信息对应的第一文件标识;
其中,第二标识生成单元8,用于当各个第一文件夹被存入所述私有用户创建的第二文件夹中时,在数据库服务器侧写入第二文件夹信息,并在所述数据库服务器侧生成与所述第二文件夹信息对应的第二文件标识;
其中,路径信息生成单元9,用于生成所述私有用户所创建文件的绝对路径信息,所述绝对路径信息包含第一文件标识、第二文件标识及文件版本号。
在本发明实施例的文件保护装置中,通过加密私有用户所创建的文件,并对加密文件所使用的密钥进行加密,以获取被加密文件;然后,建立所述被加密文件与每个共享用户间的共享关系;当所述被加密文件与每个共享用户间的共享关系全部被取消后,重新对加密文件所使用的密钥进行加密。由于利用新的密钥key3对文件加密密钥key1进行了重新加密,当非法用户或解除共享关系的用户利用私钥解密被加密文件时,也只能得到用于加密所述文件加密密钥key1的旧的密钥key2,而不能获取所述新的密钥key3,进而不能对被加密文件进行解密,进一步防止了文件数据的泄漏。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如媒体网关等网络通信设备,等等)执行本发明各个实施例或者实施例的某些部分所述的方法。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (14)
1.一种文件保护方法,其特征在于,包括:
加密私有用户所创建的文件,并对加密文件所使用的密钥进行加密,以获取被加密文件;
建立所述被加密文件与每个共享用户间的共享关系;
当所述被加密文件与每个共享用户间的共享关系全部被取消后,重新对所述加密文件所使用的密钥进行加密;
其中,所述加密私有用户所创建的文件,并对加密文件所使用的密钥进行加密,以获取被加密文件包括:
生成第一密钥和第二密钥;
利用所述第二密钥对称加密所述第一密钥,以获取第一密文;
利用所述私有用户的公钥非对称加密所述第二密钥,以获取第二密文;
将所述第一密文、所述第二密文与用户信息作为第一文件头信息写入文件头部,并利用所述第一密钥加密对应的文件以获取携带所述第一文件头信息的被加密文件;
其中,所述建立所述被加密文件与每个共享用户间的共享关系包括:
读取所述被加密文件的第一文件头信息;
利用所述私有用户的私钥解密所述第一文件头信息中的第二密文,以获取第二密钥;
利用共享用户的公钥加密获取的第二密钥,以获取第三密文;
创建与所述被加密文件同目录下的密文文件,并将所述第三密文存入所述密文文件。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述被加密文件被所述私有用户访问时,读取所述第一文件头信息中的第一密文和第二密文;
利用所述私有用户输入的私钥解密所述第一文件头信息中的第二密文,以获取第二密钥;
利用获取的第二密钥解密所述第一文件头信息中的第一密文,以获取第一密钥;
利用获取的第一密钥解密所述被加密文件,以获取文件明文。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述被加密文件被所述共享用户访问时,利用所述共享用户输入的私钥解密所述第三密文,以获取第二密钥;
利用获取的第二密钥解密所述第一文件头信息中的第一密文,以获取第一密钥;
利用获取的第一密钥解密所述被加密文件,以获取文件明文。
4.根据权利要求1所述的方法,其特征在于,通过删除所述共享用户对应的密文文件,以取消所述被加密文件与对应的共享用户间的共享关系。
5.根据权利要求1所述的方法,其特征在于,所述重新对加密文件所使用的密钥进行加密包括:
生成第三密钥;
利用所述第三密钥对称加密所述第一密钥,以获取第四密文;
利用所述私有用户的公钥非对称加密所述第三密钥,以获取第五密文;
将所述第四密文、所述第五密文与用户信息作为第二文件头信息,并利用所述第二文件头信息替换所述第一文件头信息。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
当所述被加密文件被所述私有用户访问时,读取所述第二文件头信息中的第四密文和第五密文;
利用所述私有用户输入的私钥解密所述第二文件头信息中的第五密文,以获取第三密钥;
利用获取的第三密钥解密所述第二文件头信息中的第四密文,以获取第一密钥;
利用获取的第一密钥解密所述被加密文件,以获取文件明文。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果所述私有用户所创建文件的不同版本被存入所述私有用户创建的第一文件夹中,则在数据库服务器侧写入第一文件夹信息,并在所述数据库服务器侧生成与所述第一文件夹信息对应的第一文件标识;
如果各个第一文件夹被存入所述私有用户创建的第二文件夹中,则在数据库服务器侧写入第二文件夹信息,并在所述数据库服务器侧生成与所述第二文件夹信息对应的第二文件标识;
生成所述私有用户所创建文件的绝对路径信息,所述绝对路径信息包含第一文件标识、第二文件标识及文件版本号。
8.一种文件保护装置,其特征在于,包括:
第一加密单元,用于加密私有用户所创建的文件,并对加密文件所使用的密钥进行加密,以获取被加密文件;
共享建立单元,用于建立所述被加密文件与每个共享用户间的共享关系;
第二加密单元,用于当所述被加密文件与每个共享用户间的共享关系全部被取消后,重新对所述加密文件所使用的密钥进行加密;
其中,所述第一加密单元包括:
第一密钥生成子单元,用于生成第一密钥和第二密钥;
第一密钥加密子单元,用于利用所述第二密钥对称加密所述第一密钥,以获取第一密文,并利用所述私有用户的公钥非对称加密所述第二密钥,以获取第二密文;
第一文件加密子单元,用于将所述第一密文、所述第二密文与用户信息作为第一文件头信息写入文件头部,并利用所述第一密钥加密对应的文件以获取携带所述第一文件头信息的被加密文件;
其中,所述共享建立单元包括:
第二信息读取子单元,用于读取所述被加密文件的第一文件头信息;
第二密钥加密子单元,用于利用所述私有用户的私钥解密所述第一文件头信息中的第二密文,以获取第二密钥,并利用共享用户的公钥加密获取的第二密钥,以获取第三密文;
秘件创建子单元,用于创建与所述被加密文件同目录下的密文文件,并将所述第三密文存入所述密文文件。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括第一解密单元,所述第一解密单元包括:
第一信息读取子单元,用于当所述被加密文件被所述私有用户访问时,读取所述第一文件头信息中的第一密文和第二密文;
第一密钥解密子单元,用于利用所述私有用户输入的私钥解密所述第一文件头信息中的第二密文,以获取第二密钥,并利用获取的第二密钥解密所述第一文件头信息中的第一密文,以获取第一密钥;
第一文件解密子单元,用于利用获取的第一密钥解密所述被加密文件,以获取文件明文。
10.根据权利要求8所述的装置,其特征在于,所述装置还包括第二解密单元,所述第二解密单元包括:
第二密钥解密子单元,用于当所述被加密文件被所述共享用户访问时,利用所述共享用户输入的私钥解密所述第三密文,以获取第二密钥,并利用获取的第二密钥解密所述第一文件头信息中的第一密文,以获取第一密钥;
第二文件解密子单元,用于利用获取的第一密钥解密所述被加密文件,以获取文件明文。
11.根据权利要求8所述的装置,其特征在于,通过删除所述共享用户对应的密文文件,以取消所述被加密文件与对应的共享用户间的共享关系。
12.根据权利要求8所述的装置,其特征在于,所述第二加密单元包括:
第二密钥生成子单元,用于生成第三密钥;
第三密钥加密子单元,用于利用所述第三密钥对称加密所述第一密钥,以获取第四密文,并利用所述私有用户的公钥非对称加密所述第三密钥,以获取第五密文;
信息替换子单元,用于将所述第四密文、所述第五密文与用户信息作为第二文件头信息,并利用所述第二文件头信息替换所述第一文件头信息。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括第三解密单元,所述第三解密单元包括:
第三信息读取子单元,用于当所述被加密文件被所述私有用户访问时,读取所述第二文件头信息中的第四密文和第五密文;
第三密钥解密子单元,用于利用所述私有用户输入的私钥解密所述第二文件头信息中的第五密文,以获取第三密钥,并利用获取的第三密钥解密所述第二文件头信息中的第四密文,以获取第一密钥;
第三文件解密子单元,用于利用获取的第一密钥解密所述被加密文件,以获取文件明文。
14.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第一标识生成单元,用于当所述私有用户所创建文件的不同版本被存入所述私有用户创建的第一文件夹中时,在数据库服务器侧写入第一文件夹信息,并在所述数据库服务器侧生成与所述第一文件夹信息对应的第一文件标识;
第二标识生成单元,用于当各个第一文件夹被存入所述私有用户创建的第二文件夹中时,在数据库服务器侧写入第二文件夹信息,并在所述数据库服务器侧生成与所述第二文件夹信息对应的第二文件标识;
路径信息生成单元,用于生成所述私有用户所创建文件的绝对路径信息,所述绝对路径信息包含第一文件标识、第二文件标识及文件版本号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310142566.3A CN103220293B (zh) | 2013-04-23 | 2013-04-23 | 一种文件保护方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310142566.3A CN103220293B (zh) | 2013-04-23 | 2013-04-23 | 一种文件保护方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103220293A CN103220293A (zh) | 2013-07-24 |
CN103220293B true CN103220293B (zh) | 2016-05-11 |
Family
ID=48817757
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310142566.3A Active CN103220293B (zh) | 2013-04-23 | 2013-04-23 | 一种文件保护方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103220293B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105095783A (zh) * | 2014-05-20 | 2015-11-25 | 中兴通讯股份有限公司 | 文件加密方法、装置、加密文件的读取方法、装置及终端 |
CN105704085B (zh) * | 2014-11-24 | 2018-11-02 | 国际商业机器公司 | 用于信息共享的方法和装置 |
JP6386680B2 (ja) * | 2015-03-03 | 2018-09-05 | ワンダーヘルス, エルエルシー.Wonderhealth, Llc. | 機械読み取り可能な識別子において暗号化されたデータへのアクセス制御 |
CN107844317B (zh) * | 2017-11-21 | 2021-05-04 | 武汉精测电子集团股份有限公司 | 一种多功能SPI flash烧录方法及烧录器 |
CN110365654B (zh) * | 2019-06-19 | 2022-09-27 | 平安普惠企业管理有限公司 | 数据传输控制方法、装置、电子设备和存储介质 |
CN110502909B (zh) * | 2019-08-06 | 2021-06-01 | 北京北信源软件股份有限公司 | 一种文件加密方法及装置、一种文件解密方法及装置 |
CN112613058A (zh) * | 2020-12-30 | 2021-04-06 | 绿盟科技集团股份有限公司 | 一种加密密钥的找回方法、装置、电子设备及存储介质 |
CN115033187B (zh) * | 2022-08-10 | 2022-11-08 | 蓝深远望科技股份有限公司 | 一种基于大数据的分析管理方法 |
CN115470525B (zh) * | 2022-11-11 | 2023-03-10 | 统信软件技术有限公司 | 一种文件保护方法、系统、计算设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1832398A (zh) * | 2006-04-14 | 2006-09-13 | 中国软件与技术服务股份有限公司 | 文件加密共享的方法和系统 |
CN101484927A (zh) * | 2007-07-05 | 2009-07-15 | 日立软件工程株式会社 | 共享加密文件的加密、解密处理方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102821096B (zh) * | 2012-07-17 | 2014-10-29 | 华中科技大学 | 一种分布式存储系统及其文件共享方法 |
-
2013
- 2013-04-23 CN CN201310142566.3A patent/CN103220293B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1832398A (zh) * | 2006-04-14 | 2006-09-13 | 中国软件与技术服务股份有限公司 | 文件加密共享的方法和系统 |
CN101484927A (zh) * | 2007-07-05 | 2009-07-15 | 日立软件工程株式会社 | 共享加密文件的加密、解密处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103220293A (zh) | 2013-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103220293B (zh) | 一种文件保护方法及装置 | |
CN103237040B (zh) | 一种存储方法、服务器和客户端 | |
CN103179114B (zh) | 一种云存储中的数据细粒度访问控制方法 | |
CN103825953B (zh) | 一种用户模式加密文件系统 | |
EP3616384B1 (en) | Orthogonal access control for groups via multi-hop transform encryption | |
CN102402664B (zh) | 数据访问控制装置和数据访问控制方法 | |
CN104063334A (zh) | 一种基于数据属性的加密方法和系统 | |
CN106650482A (zh) | 电子文件加密解密方法、装置和系统 | |
US20160072772A1 (en) | Process for Secure Document Exchange | |
CN104735070B (zh) | 一种通用的异构加密云间的数据共享方法 | |
CN103812927A (zh) | 一种存储方法 | |
CN104009987A (zh) | 一种基于用户身份能力的细粒度云平台安全接入控制方法 | |
CN109948322A (zh) | 本地化加密防护的个人云存储数据保险箱装置及方法 | |
US7802102B2 (en) | Method for efficient and secure data migration between data processing systems | |
CN111143870A (zh) | 一种分布式加密存储装置、系统及加解密方法 | |
CN103236934A (zh) | 一种云存储安全控制的方法 | |
CN103973698B (zh) | 一种云存储环境中的用户访问权限回收方法 | |
Murala et al. | Secure dynamic groups data sharing with modified revocable attribute-based encryption in cloud | |
US11570155B2 (en) | Enhanced secure encryption and decryption system | |
CN102215214B (zh) | 基于可选透明加解密的文件保护方法及系统 | |
CN103577769A (zh) | 文件内容安全管理方法及管理系统 | |
Zhang et al. | A dynamic cryptographic access control scheme in cloud storage services | |
CN105592102A (zh) | 一种基于客户端公私钥加解密的云安全存储方法 | |
CN108494724A (zh) | 基于多授权机构属性加密算法的云存储加密系统及方法 | |
US20140075193A1 (en) | Storage method |
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 | ||
PP01 | Preservation of patent right |
Effective date of registration: 20220816 Granted publication date: 20160511 |
|
PP01 | Preservation of patent right |