文件加密共享的方法和系统的制作方法

文档序号:6554817阅读:143来源:国知局
专利名称:文件加密共享的方法和系统的制作方法
技术领域
本发明涉及信息共享和协作技术领域,特别是涉及一种文件加密共享的方法,是一种通过管理公钥,在文件中植入加密密钥来实现加密共享的方法。
背景技术
随着网络的广泛应用,信息共享越来越普遍。然而,人们在共享信息的同时,就会有意无意地将一些涉密信息泄漏,或被他人非法获取。信息的主要载体就是文件,保护好文件,也就保护了绝大部分的信息。
加密是保护文件行之有效且被广泛应用的方法。目前加密文件主要是应用对称加密算法,密钥管理采用CA证书管理系统。对于大多数企业来说,在企业内部的局域网上共享文件是极其普遍的,然而为了让没有权限的人不能看到一些具有保密性质的文件,部署一套标准的CA管理系统,会带来较大的成本压力,特别是对于一些规模小的企业或研究机构。若采用简单的文件共享方法,就会有信息被泄漏的危险。然而在现有技术中,还没有发现针对这种技术缺陷而提出的行之有效的对共享文件加密的技术方案。

发明内容
针对现有技术中文件共享方法不安全且成本高、操作不方便等缺陷本发明的目的在于提供一种新的可实现文件加密共享的方法和系统。这种方法可大大降低文件加密共享的成本,同时也大大提高了文件共享的安全性。在这种方法和系统中,不改变用户对文件操作的习惯,并且加密和解密过程对用户都是透明的,支持文件关联,与文件格式无关。
根据本发明的目的,一种对文件加密共享的方法包括步骤1)根据共享类型设置不同的共享文件夹,每个共享文件夹分别拥有各自的加密公钥;2)对每个共享文件夹中的文件,首先用对称算法加密文件,并将该文件的密钥植入密文中;其中,对文件数据采用对称算法,较常用的有DES、IDEA和Triple-DES等。同时提供了第三方加密接口,使用户能够根据自己的需要选择所需的加密算法,以适应用户的特殊需求。
其中,采用将文件密钥植入文件中的方法,可以降低密钥传输的成本,同时很好地实现了文件格式无关性,保证将文件还原,并且保持了原有文件在系统中的文件关联性。
3)然后根据文件的共享类型,用一个或多个公钥采用非对称算法分别加密所述文件的密钥,形成密钥链,并将文件共享类型和公钥个数信息和密钥链植入密文头部。所述的密文头部中还包括以下信息所述文件的格式、所述对称算法的ID和所述非对称算法的ID。其中,所述文件的格式包括但不限于.doc,.txt,.xls,.exe,.dll等。
其中,对文件密钥采用非对称加密算法进行加密,能够保障文件密钥的安全性。在现有技术中,一般采用发展最成熟,应用最广的RSA算法。
为了更好地说明上述方法,以某个局域网为例,假设该局域网内有三组用户,共享文件夹A的内容是属于第一和第二组内所有用户共享的,则该文件夹内文件的共享类型就是小组共享,该文件夹同时拥有第一组的公钥和第二组的公钥。因此,对于该文件夹内的某个文件,在加密时分别用第一组的公钥和第二组的公钥加密该文件的密钥,形成密钥链,该文件的公钥个数就是2。
对于现有的文件共享方案,上述方法中的步骤是在文件服务器上完成的。所述的文件服务器可以是某个局域网内的任一个存放共享文件夹的计算机终端。以下将说明计算机用户读取经过上述方法加密后的共享文件时的解密过程。
根据本发明的目的,本发明还提供了一种与上述的对文件加密共享方法相应的对共享文件解密的方法,该方法属于本发明中文件共享加密方法构思的一部分,其包括步骤1)读取共享文件夹中文件的密文头部信息,根据文件头的固定格式和特征码,判断是否是加密文件,并得到被加密文件的格式、共享类型、加密文件时采用的对称算法ID、非对称算法ID和公钥个数信息。
2)根据所述的文件共享类型和非对称算法ID,取出对应的私钥解密密文密钥。
其中,如果得到的公钥个数信息大于1,则应根据共享类型用相应的私钥逐一地解密密文密钥,直至解密成功或者重复解密的次数等于公钥个数为止。例如,假设所读取的共享文件夹中的文件共享类型为小组共享,且共享权限为第一和第二小组用户共享,则第一组和第二组用户在读取该文件夹中的文件时,将取出本组私钥逐一地对密钥链中的各部分进行解密,如果对密钥链的第一部分解密不成功,则继续用该私钥解开密钥链的另一部分。由于该文件是用这两个小组的公钥分别加密的,因此这两组的用户总是能解开密钥链。当第三组用户读取该文件时,由于其没有第一或第二组的私钥,则经过两次解密也无法解开密钥链,不能获得密文密钥。
3)用解出的密钥来解密密文,还原被加密的文件。
对于现有的文件共享方案,上述方法中的步骤一般是在相对于文件服务器的客户端完成的。
本发明的又一目的在于提供一种应用上述的文件加密共享方法的系统,该系统至少包括一个文件加密服务器和客户端。所述的文件加密服务器可以是任一存放共享文件的文件服务器,所述的客户端可以是任一可访问文件服务器的计算机终端。
其中,所述的文件加密服务器包括文件夹监控模块,用于监控文件夹内文件的变化,包括新文件的放入、文件内容的修改、文件名称的更改等;并对新加入的没有加密的文件调用加密模块进行加密;文件夹共享范围设置模块,可以界面形式与用户交互,用于根据用户选择的共享范围,调用公钥获取模块,获取相应的公钥;公钥获取模块,用于根据用户选择的共享范围生成相应的公钥;加密模块,用于根据用户选择的对称算法ID,调用相应的对称算法加密数据;所述的客户端包括文件识别模块,用于读取文件头信息,判断是否是加密文件,并解析文件头,读取共享类型,非对称算法ID,对称算法ID,公钥个数;解文件密钥模块,用于读取密钥链,根据非对称算法ID,选择相应的非对称算法用私钥解密文件密钥;解密模块,根据对称算法ID,选择相应的对称算法,解密数据。
本发明的技术效果在于加解密过程对用户透明,不改变用户的使用习惯;加解密过程分别在服务器和客户端,资源合理分配;对要加密的文件没有格式限制;在确保安全的情况下,密钥管理简单,降低了密钥管理的成本。


图1表示文件服务器上设置的文件共享类型示意图;图2表示文件被加密后的密文格式示意图;图3表示文件被加密后的密文头部结构示意图;图4表示文件加密服务器的结构示意图;图5表示客户端的结构示意图。
具体实施例方式
以下通过一个简单的服务器一客户端模型来详细描述本发明的内容,但不构成对本发明的限制。
在本实施例中,文件加密共享系统由若干文件服务器和计算机终端(客户端)组成,所有的用户被分为3个用户组。文件的加密过程在文件加密服务器,可任意选一台文件服务器作为加密文件服务器,将加密监控服务装在此文件服务器上。文件服务器保存着全局、各小组和各用户的公钥。解密过程在客户端,客户端主机安装解密程序。这样能很好地保证计算机资源的合理利用。
其中,文件加密服务器的结构如图4所示,其包括文件夹监控模块、文件夹共享范围设置模块、公钥获取模块和加密模块,客户端的结构如图5所示,其包括文件识别模块、解文件密钥模块和解密模块。以下将在结合其他附图描述加密和解密步骤的过程中说明上述系统中各个模块的具体功能和作用。
在文件服务器创建共享文件夹,由文件加密服务器上的文件夹共享范围设置模块设置每个文件夹的共享范围。共享的文件根据共享范围的不同,拥有不同数量的公钥。如图3所示,文件夹1为全局共享文件夹,该文件夹持有全局公钥,文件夹2为第一小组用户共享的文件夹,该文件夹拥有第一小组公钥;文件夹3为第一和第二小组共享的文件夹,该文件夹拥有第一和第二小组的公钥。一个共享文件拥有几个公钥,在密文中就有几个密钥信息结构,如图2所示。公钥的个数代表了在此文件夹内加密文件可共享的范围。共享文件夹设置完毕,文件夹监控模块开始监控文件夹内文件的变化,包括新文件的放入、文件内容的修改、文件名称的更改等。
如图3所示,以全局共享文件夹1为例,当有新文件放入此文件夹时,文件夹监控模块对新加入的文件调用加密模块进行加密。加密模块根据用户选择的对称算法ID,调用相应的对称算法加密文件数据。接着,公钥获取模块根据用户选择的共享范围生成相应的全局公钥,由文件夹监控模块用此全局公钥加密文件密钥,加密文件密钥时采用公私钥体系,在分发私钥时采用一次一密的挑战应答方式,很好地保证了私钥分发的安全性。将加过密的密钥植入文件,此文件即可被所有的用户共享。文件经过加密后生成的密文格式如图2所示,其中,密文头结构如图3所示。
同理,文件夹2则持有一组的公钥,因此放入它里面的加密文件只能被一组成员内共享,文件夹3则拥有一二两个小组的公钥,文件加密服务器用两个公钥分别加密文件密钥,然后将加密的密钥链植入文件,因此放入它里面的加密文件,就能被一二两个小组的成员共享。由此可知,对全局所有的小组,都可根据需要任意设定小组间共享的文件夹。
在客户端,每个用户持有三个私钥,即全局私钥、小组私钥和个人私钥。当客户端用户要将自己的文件共享出去时,按照共享范围,将文件放入文件服务器相应的共享文件夹内;当要查看共享文件时,到文件服务器中设置了相应共享权限的文件夹内获取文件到本地,即可解密查看。若自己没有权限的文件夹,即使能从其中取出文件,也不能解密查看。
用户取共享文件时,从文件服务器下载文件,在本地由解密程序解密密文并还原成文件文件的原来格式。解密密文时,首先由文件识别模块读取文件头信息,判断其是否加密文件,并解析文件头,读取其中的共享类型、非对称算法ID、对称算ID和公钥个数信息。根据文件的共享类型和非对称算法ID,解文件密钥模块选择相应的非对称算法用相应的私钥逐个解密文件密钥,若解密成功,则解密模块根据对称算法ID,选择相应的对称算法解密文件数据。若解密失败,则说明当前用户无权共享该文件。如图1所示,对于由全局共享的文件夹1,所有的用户都可以用相应的全局私钥解密其中的文件;而对于由第一组用户共享的文件夹2,只有第一组用户能够用其拥有的小组私钥解密其中的文件,其他组的用户读取该文件夹中的文件时,结果将是解密失败;对于由一二组用户共享的文件夹3,当一二组的用户读取该文件夹内的文件时,将使用本小组的私钥分别去解密文件头中的密钥链,最多经过两次解密就能够解开,而其他组的用户经过两次解密失败,则说明没有查看该文件的权限。
以上通过具体实施例详细描述了本发明,本领域的技术人员应能理解,在不脱离本发明实质的范围内,可以作出修改和变形,比如将本发明应用在结构和层次更为简单或复杂的计算机网络系统中,仍能实现本发明的目的。
权利要求
1.一种对共享文件加密的方法,包括步骤1)根据共享类型设置不同的共享文件夹,每个共享文件夹分别拥有各自的加密公钥;2)对每个共享文件夹中的文件,首先用对称算法加密文件,并将该文件的密钥植入密文中;3)然后根据文件的共享类型,用一个或多个公钥通过非对称算法分别加密所述文件的密钥,形成密钥链,并将文件共享类型、公钥个数信息和密钥链植入密文头部;所述的密文头部中还包括以下信息所述文件的格式、所述对称算法的ID和所述非对称算法的ID。
2.如权利要求1所述的方法,其特征在于,所述的加密过程在文件服务器上完成。
3.如权利要求1所述的方法,其特征在于,所述的对称算法至少包括DES、IDEA、Triple-DES。
4.如权利要求1所述的方法,其特征在于,所述的非对称算法至少包括RSA算法。
5.一种对共享文件解密的方法,包括步骤1)读取共享文件夹中文件的密文头部信息,根据文件头的固定格式和特征码,判断是否是加密文件,并得到被加密文件的格式、共享类型、加密文件时采用的对称算法ID、非对称算法ID和公钥个数信息;2)根据所述的文件共享类型和非对称算法ID,取出对应的私钥解密密文密钥;3)用解出的密钥来解密密文,还原被加密的文件。
6.如权利要求5所述的方法,其特征在于,所述步骤2)中还包括步骤如果公钥个数大于1,则根据共享类型用相应的私钥逐一地解密密文密钥,直至解密成功或者重复解密的次数等于公钥个数为止。
7.如权利要求5所述的方法,其特征在于,所述的解密过程在客户端完成。
8.一种文件加密共享系统,包括至少一个文件加密服务器和客户端,其中,所述的文件加密服务器包括文件夹监控模块,用于监控文件夹内文件的变化,并对新加入的没有加密的文件调用加密模块进行加密;文件夹共享范围设置模块,用于根据用户选择的共享范围,调用公钥获取模块,获取相应的公钥;公钥获取模块,用于根据用户选择的共享范围生成相应的公钥;加密模块,用于根据用户选择的对称算法ID,调用相应的对称算法加密数据;所述的客户端包括文件识别模块,用于读取文件头信息,判断是否是加密文件,并解析文件头,读取共享类型、非对称算法ID、对称算法ID和公钥个数信息;解文件密钥模块,用于读取密钥链,根据非对称算法ID,选择相应的非对称算法用私钥解密文件密钥;解密模块,根据对称算法ID,选择相应的对称算法,解密数据。
9.如权利要求8所述的方法,其特征在于,所述的对称算法至少包括DES、IDEA、Triple-DES。
10.如权利要求8所述的方法,其特征在于,所述的非对称算法至少包括RSA算法。
全文摘要
一种通过管理公钥,在文件中植入加密密钥来实现加密共享的方法和系统。所述的系统由文件服务器和客户端组成,文件服务器包括文件夹监控模块、文件夹共享范围设置模块、公钥获取模块和加密模块,客户端包括文件识别模块、解文件密钥模块和解密模块。加密过程为根据共享类型设置不同的共享文件夹,每个共享文件夹分别拥有各自的加密公钥;对每个共享文件夹中的文件,首先用对称算法加密文件,并将该文件的密钥植入密文中;然后根据文件的共享类型,用一个或多个公钥通过非对称算法分别加密所述文件的密钥,形成密钥链,并将文件共享类型、公钥个数和密钥链植入密文头部。
文档编号G06F21/00GK1832398SQ20061001168
公开日2006年9月13日 申请日期2006年4月14日 优先权日2006年4月14日
发明者黄敏, 王勇 申请人:中国软件与技术服务股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1