文件访问及响应文件访问请求的方法、系统和设备的制作方法

文档序号:7983728来源:国知局
文件访问及响应文件访问请求的方法、系统和设备的制作方法
【专利摘要】本发明提供一种文件访问方法,该方法用动态生成的临时密钥加密文件,临时密钥保存在接收端并由接收端保存的公钥加密,在用户需要离线访问该文件时,向发送端发送对该文件的访问请求,接收端获得发送端返回的访问响应中包含的用于用户认证的信息,根据该信息以及用户输入的密码进行用户认证;在认证通过后才能对临时密钥解密,进而对文件进行解密;与现有技术中仅使用密码进行用户认证相比,本发明的认证强度更大,从而提高了文件的安全性;并且,本发明采用双重加密和解密,即使用动态生成的临时密钥加密文件、使用保存的公钥加密临时密钥,以及使用访问响应中的公钥对临时密钥解密、使用解密得到的临时密钥对文件解密。
【专利说明】文件访问及响应文件访问请求的方法、系统和设备
【技术领域】
[0001]本发明涉及计算机安全领域,尤其涉及一种文件访问及响应文件访问请求的方法、系统和设备。
【背景技术】
[0002]随着网络技术的普及,信息的访问、共享和发布变得越来越便捷,但同时也增加了重要信息泄露的危险性。目前,保护重要电子文档的主要技术包括文档加密存储和严格的用户访问控制,对于离线电子文件(即脱离了文件安全系统的文件,例如脱离了企业安全网络的电子文件)的安全保护,目前的解决方法是用户认证和文档加密存储。
[0003]现有的离线电子文件的安全保护技术是用户选择正确的方法读取文档安全客户端上的电子文档,该客户端自动从文档安全系统服务器下载加密密钥,并使用临时密钥加密电子文档,从而达到离线电子文档的安全保护的目的。
[0004]但是,现有技术存在以下缺陷:使用用户设置的静态密码保护离线文件的临时密钥,静态密码在离线期间不会发生变化,安全性较低,从而容易被破解。

【发明内容】

[0005]本发明实施例提供一种文件访问及响应文件访问请求的方法、系统和设备,用于提高接收端上的文件的安全性。
[0006]本发明实施例提供一种文件访问方法,该方法包括:
[0007]当需要访问用动态生成的临时密码加密的文件时,接收端向发送端发送访问文件的请求,其中,所述临时密码保存在所述加密文件的接收端并由所述接收端保存的公钥加密;然后接收端接收发送端返回的包含动态生成的公钥和私钥的响应,所述发送端返回的公钥和私钥由用户预先设置的静态密码加密;
[0008]接收端使用用户输入的密码对所述发送端返回的公钥和私钥进行解密,若解密失败,则认证失败;若解密成功,则根据解密得到的公钥与在接收端保存的公钥确定认证是否通过,若认证失败,则禁止用户访问所述文件;若认证通过,则
[0009]接收端使用解密得到的所述发送端返回的私钥对所述临时密码进行解密,并使用解密得到的临时密码对所述文件进行解密;
[0010]接收端用发送端返回的公钥替换在接收端保存的公钥,并生成新的临时密码;在接收端需要关闭所述文件时,用所述新的临时密码对文件进行重新加密,然后使用发送端保存的公钥对所述新的临时密钥进行加密,并用加密后的临时密码替换在接收端保存的临时密码。
[0011]优选,上述方法中的接收端包括移动用户终端(例如手机)。可以利用移动用户终端发送访问请求和/或接收发送端返回的访问响应,上述方法中其他的操作可以有传统的接收端设备(比如电脑)实施。加入移动用户终端后的实施方式会更安全。
[0012]在本发明的实施方式中,文件用动态生成的临时密钥加密,并且临时密钥保存在接收端并由接收端保存的公钥加密,在用户每次需要离线访问该文件时,向发送端发送对该文件的访问请求,接收端获得发送端返回的访问响应中包含的用于用户认证的信息,根据该信息以及用户输入的密码进行用户认证;在认证通过后才能对临时密钥解密,进而对文件进行解密;与现有技术中仅使用密码进行用户认证相比,本发明实施方式中的认证强度更大,从而提高了文件的安全性;并且,本方案采用双重加密和解密,即使用动态生成的临时密钥加密文件、使用保存的公钥加密临时密钥,以及使用访问响应中的公钥对临时密钥解密、使用解密得到的临时密钥对文件解密,双重加密和解密进一步提高了脱离文件安全系统的文件的安全性。[0013]较佳的,在接收端向发送端发送访问请求之前,进一步包括:
[0014]接收端将用户设置的所述静态密码发送给发送端;
[0015]接收端接收发送端返回的发送端加密所述文件所使用的文件加密密钥,和接收端对动态生成的临时密钥进行加密所使用的公钥;
[0016]接收端使用接收到的所述文件加密密钥对所述文件进行解密,得到解密后的文件;
[0017]接收端在使用动态生成的临时密钥对文件进行重新加密后,使用所述接收端对动态生成的临时密钥进行加密所使用的公钥,对所述动态生成的临时密钥进行加密,将加密后的临时密钥和该公钥进行保存。
[0018]在本发明实施方式中,接收端预先将用户设置的静态密码发送给发送端,然后接收发送端返回的文件加密密钥和公钥,接收端能够使用文件加密密钥初次解密文件,并在使用动态生成的临时密钥对文件重新加密后,能够使用该公钥对生成的临时密钥进行加
LU O
[0019]较佳的,所述接收端对动态生成的临时密钥进行加密所使用的公钥为发送端使用哈希算法产生的包括从h°(X)到1^(幻的n+1个哈希值的哈希链中,η为大于O的整数;所述访问响应中的公钥为h1^ (X),所述访问响应中的私钥为Shlri+1 (X), s为系统私钥,i的取值为发送端接收到所述访问请求的次数;
[0020]所述根据解密得到的公钥与在接收端保存的公钥确定认证是否通过,具体包括:
[0021]使用所述哈希算法计算解密得到的公钥的哈希值,根据计算得到的哈希值与在接收端保存的公钥的哈希值确定认证是否通过。
[0022]在本发明实施方式中,利用哈希算法产生的哈希链中哈希值进行用户认证,能够进一步提高用户认证的安全性。
[0023]本发明实施例还提供一种响应文件访问请求的方法,该方法包括:
[0024]发送端接收对用动态生成的临时密钥加密的文件的访问请求;其中,所述临时密钥保存在接收端并由所述接收端保存的公钥加密;
[0025]发送端返回包含动态生成的公钥和私钥的访问响应,所述访问响应中包含的公钥和私钥由用户预先设置的静态密码加密。
[0026]本发明实施方式中,发送端在接收对文件的访问请求后,需要返回用于用户认证的相关信息,从而保证了接收端上的文件的安全性。
[0027]较佳的,在发送端接收到所述访问请求之前,进一步包括:
[0028]发送端接收接收端发送的用户设置的所述静态密码;[0029]发送端向接收端返回发送端加密所述文件所使用的文件加密密钥,和接收端对动态生成的临时密钥进行加密所使用的公钥。
[0030]本发明实施方式中,发送端接收接收端预先发送的静态密码,并向接收端返回文件加密密钥和公钥,使得接收端能够使用文件加密密钥初次解密文件,并在使用动态生成的临时密钥对文件重新加密后,能够使用该公钥对生成的临时密钥进行加密。
[0031]较佳的,所述接收端对动态生成的临时密钥进行加密所使用的公钥为:发送端使用哈希算法产生的包括从h°(x)到hn(X)的n+1个哈希值的哈希链,η为大于O的整数;所述访问响应中的公钥为h1^ (X),所述访问响应中的私钥为Shlri+1 (X), s为系统私钥,i的取值为发送端接收到所述访问请求的次数。
[0032]本发明实施方式中,利用哈希算法产生的哈希链中哈希值进行用户认证,能够进一步提高用户认证的安全性。
[0033]较佳的,在发送端接收到所述访问请求之后、返回所述访问响应之前,进一步包括:
[0034]发送端确定对所述文件的访问次数是否超过用户预先设置的访问次数最大值;
[0035]所述发送端返回包含动态生成的公钥和私钥的访问响应,具体包括:
[0036]所述发送端在确定对所述文件的访问次数未超过用户预先设置的访问次数最大值时,返回包含动态生成的公钥和私钥的访问响应。
[0037]在本发明实施方式中,通过设置对接收端上的文件的访问次数最大值,使得用户不能够无限次访问文件,从而可以进一步提高文件的安全性。
[0038]本发明实施例提供一种文件访问系统,该系统包括接收端和发送端,
[0039]其中接收端用于,在向文发送端发送对接收端上用动态生成的临时密钥加密的文件的访问请求后,获得发送端返回的访问响应中包含的动态生成的公钥和私钥,所述访问响应中包含的公钥和私钥由用户预先设置的静态密码加密;其中,所述临时密钥保存在接收端并由所述接收端保存的公钥加密;
[0040]使用用户输入的密码对所述访问响应中包含的公钥和私钥进行解密,若解密失败,则认证失败;若解密成功,则根据解密得到的公钥与在接收端保存的公钥确定认证是否通过,若认证失败,则禁止用户访问所述文件;若认证通过,则
[0041]使用解密得到的所述访问响应中包含的私钥对所述临时密钥进行解密,并使用解密得到的临时密钥对所述文件进行解密;
[0042]用解密得到的所述访问响应中包含的公钥替换在接收端保存的公钥,并生成新的临时密钥;在接收端需要关闭所述文件时,用该新的临时密钥对文件进行重新加密,然后使用接收端保存的公钥对所述新生成的临时密钥进行加密,并用加密后的临时密钥替换在接收端保存的临时S钥;
[0043]发送端,用于在接收到所述访问请求后,返回包含动态生成的公钥和私钥的访问响应,所述访问响应中包含的公钥和私钥由用户预先设置的静态密码加密。 [0044]在本发明实施方式中,用动态生成的临时密钥加密文件,并且临时密钥保存在接收端并由接收端保存的公钥加密,在用户每次需要离线访问该文件时,向发送端发送对该文件的访问请求,接收端则获得发送端返回的访问响应中包含的用于用户认证的信息,根据该信息以及用户输入的密码进行用户认证;在认证通过后才能对临时密钥解密,进而对文件进行解密;与现有技术中仅使用密码进行用户认证相比,认证强度更大,从而提高了文件的安全性;并且,本发明的该实施例采用双重加密和解密,即使用动态生成的临时密钥加密文件、使用保存的公钥加密临时密钥,以及使用访问响应中的公钥对临时密钥解密、使用解密得到的临时密钥对文件解密,双重加密和解密进一步提高了文件的安全性。
[0045]本发明实施例提供一种接收端,该接收端包括:
[0046]获得单元,用于在接收端向发送端发送对接收端上用动态生成的临时密钥加密的文件的访问请求后,获得发送端返回的访问响应中包含的动态生成的公钥和私钥,所述访问响应中包含的公钥和私钥由用户预先设置的静态密码加密;其中,所述临时密钥保存在接收端并由所述接收端保存的公钥加密;
[0047]解密单元,用于使用用户输入的密码对所述访问响应中包含的公钥和私钥进行解密,若解密失败,则认证失败;若解密成功,则根据解密得到的公钥与在接收端保存的公钥确定认证是否通过,若认证失败,则禁止用户访问所述文件;若认证通过,则
[0048]使用解密得到的所述访问响应中包含的私钥对所述临时密钥进行解密,并使用解密得到的临时密钥对所述文件进行解密;
[0049]用解密得到的所述访问响应中包含的公钥替换在接收端保存的公钥,并生成新的临时密钥;在接收端需要关闭所述文件时,用该新的临时密钥对文件进行重新加密,然后使用接收端保存的公钥对所述新生成的临时密钥进行加密,并用加密后的临时密钥替换在接收端保存的临时S钥。
[0050]在本发明实施方式中,接收端上的文件用动态生成的临时密钥加密,并且临时密钥保存在接收端并由接收端保存的公钥加密,在用户每次需要离线访问该文件时,向发送端发送对该文件的访问请求,接收端则获得发送端返回的访问响应中包含的用于用户认证的信息,根据该信息以及用户输入的密码进行用户认证;在认证通过后才能对临时密钥解密,进而对文件进行解密;与现有技术中仅使用密码进行用户认证相比,认证强度更大,从而提高了文件的安全性;并且,本方案采用双重加密和解密,即使用动态生成的临时密钥加密文件、使用保存的公钥加密临时密钥,以及使用访问响应中的公钥对临时密钥解密、使用解密得到的临时密钥对文件解密,双重加密和解密进一步提高了文件的安全性。
[0051]本发明实施例提供一种发送端,该发送端包括:
[0052]接收单元,用于接收用户发送的对用动态生成的临时密钥加密的文件的访问请求;其中,所述临时密钥保存在接收端并由所述接收端保存的公钥加密;
[0053]响应单元,用于返回包含动态生成的公钥和私钥的访问响应,所述访问响应中包含的公钥和私钥由用户预先设置的静态密码加密。
[0054]在本发明实施方式中,发送端在接收到对上述文件的访问请求后,需要返回用于用户认证的相关信息,从而保证了文件的安全性。尤其是当文件脱离了安全系统以后(例如当文件已经从企业的安全数据库中下载到其员工的电脑中时),使用本发明的该实施方式可以限制文件的传播,保护文件。
[0055]较佳的,该发送端还包括:
[0056]发送单元,用于在接收单元接收所述访问请求之前,接收用户设置的所述静态密码;并返回发送端加密所述文件所使用的文件加密密钥,和对动态生成的临时密钥进行加密所使用的公钥。[0057]在本发明实施方式中,发送端接收接收端预先发送的静态密码,并向接收端返回文件加密密钥和公钥,使得接收端能够使用文件加密密钥初次解密文件,并在使用动态生成的临时密钥对文件重新加密后,能够使用该公钥对生成的临时密钥进行加密。
[0058]较佳的,所述发送单元还用于:
[0059]使用哈希算法产生包括从h°(X) IlJhn(X)的n+1个哈希值的哈希链,将对应每次的哈希值作为接收端对动态生成的临时密钥进行加密所使用的公钥,η为大于O的整数;
[0060]所述响应单元将h1^⑴作为访问响应中的公钥,将Shlri+1⑴作为访问响应中的私钥,s为系统私钥,i的取值为发送端接收到访问请求的次数。
[0061]在本发明实施方式中,利用哈希算法产生的哈希链中哈希值进行用户认证,能够进一步提高用户认证的安全性。
[0062]较佳的,所述响应单元还用于:
[0063]在返回所述访问响应之前,确定对所述文件的访问次数是否超过用户预先设置的访问次数最大值;在确定对所述文件的访问次数未超过用户预先设置的访问次数最大值时,向接收端返回包含动态生成的公钥和私钥的访问响应。
[0064]在本发明实施方式中,通过设置对接收端上的文件的访问次数最大值,使得用户不能够无限次访问文件,从而可以进一步提高文件的安全性。
【专利附图】

【附图说明】`
[0065]下文将以明确易懂的方式通过对优选实施方式的说明并结合附图来对本发明上述特性、技术特征、优点及其实施方式予以进一步说明,其中:
[0066]图1为本发明实施方式的文件访问方法的流程示意图;
[0067]图2为本发明实施方式的响应文件访问请求方法的流程示意图;
[0068]图3为本发明实施方式的接收端与发送端交互的整体流程示意图;
[0069]图4为本发明实施方式的文件访问系统的结构示意图;
[0070]图5为本发明实施方式的接收端的结构示意图;
[0071]图6为本发明实施方式的发送端的结构示意图。
【具体实施方式】
[0072]实施例一:
[0073]参见图1,本实施例的文件访问方法包括以下步骤:
[0074]步骤10:向发送端发送对用动态生成的临时密钥加密的文件的访问请求后,接收端获得发送端返回的访问响应中包含的动态生成的公钥和私钥,该访问响应中包含的公钥和私钥由用户预先设置的静态密码加密;其中,动态生成的临时密钥保存在接收端并由接收端保存的公钥加S;
[0075]步骤11:接收端使用用户输入的密码对访问响应中包含的公钥和私钥进行解密,若解密失败,则到步骤12 ;若解密成功,则到步骤13 ;
[0076]步骤12,确定认证失败,本流程结束;
[0077]步骤13:根据解密得到的公钥与在接收端保存的公钥确定认证是否通过,若认证失败,则到步骤14,若认证通过,则到步骤15 ;[0078]步骤14:禁止用户访问该文件,本流程结束;
[0079]步骤15:使用解密得到的访问响应中包含的私钥对所述临时密钥进行解密,并使用解密得到的临时密钥对该文件进行解密;
[0080]用解密得到的访问响应中包含的公钥替换在接收端保存的公钥,并生成新的临时密钥;在接收端需要关闭该文件时,用该新的临时密钥对文件进行重新加密,然后使用接收端保存的公钥对新生成的临时密钥进行加密,并用加密后的临时密钥替换在接收端保存的临时密钥。
[0081]较佳的,在步骤10之前,接收端可以将用户设置的静态密码发送给发送端;接收端接收发送端返回的发送端加密该文件所使用的文件加密密钥,和接收端对动态生成的临时密钥进行加密所使用的公钥;接收端使用接收到的文件加密密钥对该文件进行解密,得到解密后的文件;然后接收端在使用动态生成的临时密钥对该文件进行重新加密后,使用接收端对动态生成的临时密钥进行加密所使用的公钥,对动态生成的临时密钥进行加密,将加密后的临时密钥和该公钥进行保存。
[0082]较佳的,接收端在将用户设置的静态密码k发送给发送端时,还可以同时将用户设置的访问次数最大值η发送给发送端。接收端在将静态密码k发送给发送端时,还可以同时将该用户的用户名、文件名等发送给发送端。
[0083]较佳的,接收端对动态生成的临时密钥进行加密所使用的公钥可以为:发送端使用哈希算法产生的包括从h°(x)到hn(X)的n+1个哈希值的哈希链,η为大于O的整数;访问响应中的公钥为hn_i (X),访问响应中的私钥为shn_i+1(X),s为系统私钥,i的取值为发送端接收到访问请求的次数;相应的,步骤13中接收端根据解密得到的公钥与在接收端保存的公钥确定认证是否通过,具体实现可以为:使用哈希算法计算解密得到的公钥的哈希值,根据计算得到的哈希值与在接收端保存的公钥的哈希值确定认证是否通过。
[0084]在该实施例中,接收端可以是用户经常使用的电脑,由个人电脑完成接收端的工作。接收端也可以包括用户使用的电脑和像手机这样的移动用户终端。利用手机发送访问请求并接收发送端返回的访问响应。组合使用电脑和移动通信终端会更安全。
[0085]实施例二:
[0086]参见图2,本实施例针对发送端提供的响应文件访问请求的方法,包括以下步骤:
[0087]步骤20:发送端接收对用动态生成的临时密钥加密的文件的访问请求;其中,该动态生成的临时密钥保存在接收端并由接收端保存的公钥加密;
[0088]步骤21:发送端向用户终端返回包含动态生成的公钥和私钥的访问响应,所述访问响应中包含的公钥和私钥由用户预先设置的静态密码加密。
[0089]较佳的,在步骤20之前,发送端接收接收端发送的用户设置的静态密码;发送端向接收端返回发送端加密该文件所使用的文件加密密钥,和接收端对动态生成的临时密钥进行加密所使用的公钥。
[0090]较佳的,接收端对动态生成的临时密钥进行加密所使用的公钥可以为:发送端使用哈希算法产生的包括从h°(x)到hn(X)的n+1个哈希值的哈希链,η为大于O的整数;访问响应中的公钥为hn_i (X),访问响应中的私钥为shn_i+1(X),s为系统私钥,i的取值为发送端接收到访问请求的次数。
[0091]较佳的,在发送端接收到访问请求之后并且返回访问响应之前,发送端确定对该文件的访问次数是否超过用户预先设置的访问次数最大值;在确定对该文件的访问次数未超过用户预先设置的访问次数最大值时,返回包含动态生成的公钥和私钥的访问响应。
[0092]实施例三:
[0093]参见图3,本实施例提供的接收端与发送端交互的整体流程,包括以下步骤:
[0094]步骤30:接收端将用户设置的静态密码k发送给发送端;
[0095]步骤31:发送端接收并保存接收端发来的静态密码k,将发送端加密文件所使用的文件加密密钥K和接收端用于对动态生成的临时密钥Ki进行加密需要使用的公钥发送给接收端;这里i的初始值为I (即表示用户第一次访问文件);
[0096]步骤32:接收端使用接收到的文件加密密钥K对文件进行解密,得到解密后的文件;
[0097]步骤33:接收端在使用随机生成的临时密钥Ki对文件进行重新加密后,使用发送端发送的公钥和非对称算法对生成的临时密钥Ki进行加密,将加密后的临时密钥Ki和该公钥进行保存;
[0098]步骤34:在用户需要访问处于离线状态的接收端上的文件时,可以通过用户终端向发送端发送访问请求;用户终端可以为手机等;
[0099]步骤35:发送端在接收到用户终端发来的访问请求后,返回包含动态生成的公钥hn_i⑴和私钥shn_i+1⑴的访问响应,访问响应中包含的公钥Fi⑴和私钥shn_i+1⑴由用户预先设置的静态密码k加密;
[0100]步骤36:在用户终端接收到发送端发来的访问响应后,用户向接收端输入用于对访问响
[0101]应中的信息进行解密的密码、以及访问响应中包含的使用用户预先设置的静态密码k加密的公钥hn_i⑴和私钥shn_i+1⑴;
[0102]步骤37:接收端使用用户输入的密码对使用静态密码k加密的公钥hn_i (X)和私钥shn_i+1(X)进行解密,若解密失败,则认证失败;若解密成功,则根据解密得到的公钥hn_i (X)与在接收端保存的公钥确定认证是否通过,若认证失败,则禁止用户访问文件;若认证通过,则使用解密得到的私钥shn_i+1(X)对保存的加密后的临时密钥Ki进行解密,并使用解密得到的临时密钥Ki对文件进行解密,得到解密后的文件;
[0103]步骤38:接收端用解密得到的公钥hn_i (X)替换在接收端保存的公钥,并随机生成新的临时密钥Ki+1;在接收端需要关闭该文件时,用该新的临时密钥Ki+1对文件进行重新加密,然后使用接收端保存的公钥hn_i(X)对新生成的临时密钥Ki+1进行加密,并用加密后的临时密钥Ki+1替换在接收端保存的临时密钥Ki,在用户需要再次访问该文件时,将i的取值加1,并返回步骤34。
[0104]较佳的,步骤30中,接收端在将用户设置的静态密码k发送给发送端时,还可以同时将用户设置的访问次数最大值η发送给发送端。那么,在步骤35中发送端接收到访问请求之后、并且返回访问响应之前,发送端可以首先确定用户对文件的访问次数是否超过该访问次数最大值;在确定用户对文件的访问次数未超过该访问次数最大值时,返回访问响应。否则,拒绝本次访问请求。接收端在将静态密码k发送给发送端时,还可以同时将该用户的用户名、文件名等发送给发送端。
[0105]较佳的,步骤31中,接收端对生成的临时密钥Ki进行加密所使用的公钥1^(幻可以为:发送端使用哈希算法产生的包括从h°(X)到1^(幻的n+1个哈希值的哈希链,η为大于O的整数;步骤35件发送端返回的访问响应中的公钥为ITi(X),该访问响应中的私钥为shn_i+1(X),s为发送端随机选择的系统私钥,i的取值为发送端接收到访问请求的次数,例如,若步骤35中发送端是第一次接收到该用户终端发送的对该文件的访问请求,则i的取值为1,若步骤35中发送端是第二次接收到该用户终端发送的对该文件的访问请求,则i的取值为2,依此类推。这里,η的取值可以为用户设置的访问次数最大值。
[0106]相应的,步骤37中根据解密得到的公钥hn_i (X)与在接收端保存的公钥确定认证是否通过,具体实现可以如下:接收端使用哈希算法计算解密得到的公钥Iilri (X)的哈希值,根据计算得到的哈希值与保存的公钥确定认证通过,否则,认证失败。
[0107]较佳的,步骤32中,在得到解密后的文件后,可以打开该文件,以供用户访问该文件。
[0108]较佳的,步骤33中,接收端可以在用户完成对该文件的访问后,例如关闭该文件后,使用生成的临时密钥Ki对文件进行重新加密。同时还可以将加密后的临时密钥Ki和公钥保存在文件的扩展文件头中。
[0109]较佳的,步骤34中,用户终端发送的访问请求中可以包含该用户的用户名、文件的文件名等信息,以使步骤35中发送端能够根据该用户名、文件名找到该用户针对该文件预先设置的静态密码k以及生成的哈希链。
[0110]下面以第 一次和第二次使用本实施例中的方法为例说明本实施例是如何实施的。在本实施例中,用户第一次访问接收端上的文件,其具体流程如下:
[0111]步骤301:接收端将用户设置的静态密码k发送给发送端;
[0112]步骤311:发送端接收并保存接收端发来的静态密码k,将发送端加密文件所使用的文件加密密钥K和接收端用于对动态生成的临时密钥K1进行加密需要使用的公钥hn(X)发送给接收端;
[0113]步骤321:接收端使用接收到的文件加密密钥K对文件进行解密,得到解密后的文件;
[0114]步骤331:接收端在使用随机生成的临时密钥K1对文件进行重新加密后,使用发送端发送的公钥hn(x)和非对称算法对生成的临时密钥K1进行加密,将加密后的临时密钥K1和该公钥!!11 (X)进行保存;
[0115]步骤341:在用户需要访问处于离线状态的接收端上的文件时,可以通过用户终端向发
[0116]送端发送访问请求;用户终端可以为手机等;
[0117]步骤351:发送端在接收到用户终端发来的访问请求后,返回包含动态生成的公钥
[0118]F1⑴和私钥shlX)的访问响应,访问响应中包含的公钥F1⑴和私钥Sh1XX)由用户预先设置的静态密码k加密;
[0119]步骤361:在用户终端接收到发送端发来的访问响应后,用户向接收端输入用于对访问响应中的信息进行解密的密码、以及访问响应中包含的使用用户预先设置的静态密码k加密的公钥f1⑴和私钥shlX);
[0120]步骤371:接收端使用用户输入的密码对使用静态密码k加密的公钥IT1 (X)和私钥Shn(X)进行解密,若解密失败,则认证失败;若解密成功,则根据哈希算法计算解密得到的公钥Iilri(X)的哈希值与接收端保存的公钥1^(幻确定认证是否通过。如果二者不一致,则确定认证失败,禁止用户访问文件;若二者一致,则确定认证通过,使用解密得到的私钥Shn(X)对保存的加密后的临时密钥K1进行解密,并使用解密得到的临时密钥K1对文件进行解密,得到解密后的文件;
[0121]步骤381:接收端用解密得到的公钥IT1 (X)替换在接收端保存的公钥hn(X),并随机生成新的临时密钥K2;在接收端需要关闭该文件时,用该新的临时密钥K2对文件进行重新加密,然后使用接收端保存的公钥h11—1 (X)对新生成的临时密钥K2进行加密,并用加密后的临时密钥K2替换在接收端保存的临时密钥K1。
[0122]在用户需要第二次访问该文件时,具体流程如下:
[0123]步骤342:用户可以通过用户终端向发送端再次发送访问请求;用户终端可以为手机等;
[0124]步骤352:发送端在接收到用户终端发来的访问请求后,返回包含动态生成的公钥hn_2⑴和私钥Shlri⑴的访问响应,访问响应中包含的公钥hn_2⑴和私钥Shlri (X)由用户预先设置的静态密码k加密;
[0125]步骤362:在用户终端接收到发送端发来的访问响应后,用户向接收端输入用于对访问响应中的信息进行解密的密码、以及访问响应中包含的使用用户预先设置的静态密码k加密的公钥hn_2⑴和私钥Shlri⑴;
[0126]步骤372:接收端使用用户输入的密码对使用静态密码k加密的公钥hn_2(X)和私钥Shlri(X)进行解密,若解密失败,则认证失败;若解密成功,则根据哈希算法计算解密得到的公钥hn_2(X)的哈希值与接收端保存的公钥IT1 (X)确定认证是否通过。如果二者不一致,则确定认证失败,禁止用户访问文件;若一致,则确定认证通过,使用解密得到的私钥Shlri (X)对保存的加密后的临时密钥K2进行解密,并使用解密得到的临时密钥K2对文件进行解密,得到解密后的文件;
[0127]步骤382:接收端用解密得到的公钥hn_2 (X)替换在接收端保存的公钥h11—1 (X),并随机生成新的临时密钥K3;在接收端需要关闭该文件时,用该新的临时密钥K3对文件进行重新加密,然后使用接收端保存的公钥hn_2 (X)对新生成的临时密钥K3进行加密,并用加密后的临时密钥K3替换在接收端保存的临时密钥K2。
[0128]实施例四:
[0129]参见图4,本实施例提供一种文件访问系统,该系统包括:
[0130]接收端40,用于向发送端发送对用动态生成的临时密钥加密的文件的访问请求后,获得发送端返回的访问响应中包含的动态生成的公钥和私钥,所述访问响应中包含的公钥和私钥由用户预先设置的静态密码加密;其中,所述临时密钥保存在接收端并由所述接收端保存的公钥加密;
[0131]使用用户输入的密码对所述访问响应中包含的公钥和私钥进行解密,若解密失败,则认证失败;若解密成功,则根据解密得到的公钥与在接收端保存的公钥确定认证是否通过,若认证失败,则禁止用户访问所述文件;若认证通过,则
[0132]使用解密得到的所述访问响应中包含的私钥对所述临时密钥进行解密,并使用解密得到的临时密钥对所述文件进行解密;[0133]用解密得到的所述访问响应中包含的公钥替换在接收端保存的公钥,并生成新的临时密钥;在接收端需要关闭所述文件时,用该新的临时密钥对文件进行重新加密,然后使用接收端保存的公钥对所述新生成的临时密钥进行加密,并用加密后的临时密钥替换在接收端保存的临时S钥;
[0134]优选接收端40还包括用户终端41 (例如手机),用于在用户需要访问接收端上用动态生成的临时密钥加密的文件时,向发送端发送访问请求;
[0135]发送端42,用于在接收到用户终端发来的访问请求后,向用户终端返回包含动态生成的公钥和私钥的访问响应,该访问响应中包含的公钥和私钥由用户预先设置的静态密码加密。
[0136]进一步的,接收端40还用于:在用户终端向发送端发送访问请求之前,将用户设置的所述静态密码发送给发送端;接收发送端返回的发送端加密所述文件所使用的文件加密密钥,和接收端对动态生成的临时密钥进行加密所使用的公钥;使用接收到的所述文件加密密钥对所述文件进行解密,得到解密后的文件;在使用动态生成的临时密钥对文件进行重新加密后,使用所述接收端对动态生成的临时密钥进行加密所使用的公钥,对所述动态生成的临时密钥进行加密,将加密后的临时密钥和该公钥进行保存。
[0137]进一步的,接收端40对动态生成的临时密钥进行加密所使用的公钥为:发送端使用哈希算法产生的包括从h° (X)到1^(幻的n+1个哈希值的哈希链,η为大于O的整数;所述访问响应中的公钥为h1^ (X),所述访问响应中的私钥为Shlri+1 (X), s为系统私钥,i的取值为发送端接收到所述访问请求的次数;
[0138]接收端40按照如下方法确定认证是否通过:根据使用所述哈希算法计算解密得到的公钥的哈希值与在接收端保存的公钥的哈希值来确定认证是否通过。
[0139]进一步的,发送端42还用于:
[0140]在接收到所述访问请求之`前,接收接收端发送的用户设置的所述静态密码;向接收端返回发送端加密所述文件所使用的文件加密密钥、和接收端对动态生成的临时密钥进行加密所使用的公钥。
[0141]进一步的,发送端42还用于:
[0142]在接收到访问请求之后、并且返回访问响应之前,确定对所述文件的访问次数是否超过用户预先设置的访问次数最大值;在确定对所述文件的访问次数未超过用户预先设置的访问次数最大值时,向用户终端返回包含动态生成的公钥和私钥的访问响应。
[0143]优选接收端包括移动用户终端41,例如手机。通过使用移动通信终端向发送端发送访问请求(例如以手机短信息的方式)并接收包含动态生成的公钥和私钥的访问响应信息;发送端42也也可以通过短信息的方式返回访问响应。
[0144]实施例五:
[0145]参见图5,本实施例提供一种接收端,该接收端包括:
[0146]获得单元50,用于在移动用户终端向发送端发送对接收端上用动态生成的临时密钥加密的文件的访问请求后,获得发送端向移动用户终端返回的访问响应中包含的动态生成的公钥和私钥,所述访问响应中包含的公钥和私钥由用户预先设置的静态密码加密;其中,所述临时密钥保存在接收端并由所述接收端保存的公钥加密;
[0147]解密单元51,用于使用用户输入的密码对所述访问响应中包含的公钥和私钥进行解密,若解密失败,则认证失败;若解密成功,则根据解密得到的公钥与在接收端保存的公钥确定认证是否通过,若认证失败,则禁止用户访问所述文件;若认证通过,则
[0148]使用解密得到的所述访问响应中包含的私钥对所述临时密钥进行解密,并使用解密得到的临时密钥对所述文件进行解密;
[0149]用解密得到的所述访问响应中包含的公钥替换在接收端保存的公钥,并生成新的临时密钥;在接收端需要关闭所述文件时,用该新的临时密钥对文件进行重新加密,然后使用接收端保存的公钥对所述新生成的临时密钥进行加密,并用加密后的临时密钥替换在接收端保存的临时密钥。
[0150]进一步的,接收端还包括:
[0151]加密单元52,用于将用户设置的所述静态密码发送给发送端;接收发送端返回的发送端加密所述文件所使用的文件加密密钥、和接收端对动态生成的临时密钥进行加密所使用的公钥;使用接收到的所述文件加密密钥对所述文件进行解密,得到解密后的文件;在使用动态生成的临时密钥对文件进行重新加密后,使用所述接收端对动态生成的临时密钥进行加密所使用的公钥,对所述动态生成的临时密钥进行加密,将加密后的临时密钥和该公钥进行保存。
[0152]进一步的,加密单元52对动态生成的临时密钥进行加密所使用的公钥为发送端使用哈希算法产生的包括从h° (X)到hn(X)的n+1个哈希值的哈希链,η为大于O的整数;访问响应中的公钥为h1^ (X),访问响应中的私钥为Shlri+1 (X), s为系统私钥,i的取值为发送端接收到访问请求的次数;
[0153]解密单元51用 于:按照如下方法根据解密得到的公钥与在接收端保存的公钥确定认证是否通过:使用所述哈希算法计算解密得到的公钥的哈希值,比较计算得到的哈希值与在接收端保存的公钥是否一致,若一致,则认证通过,否则,认证失败。
[0154]实施例六:
[0155]参见图6,本实施例提供一种发送端,该发送端包括:
[0156]接收单元60,用于接收移动用户终端发送的对接收端上用动态生成的临时密钥加密的文件的访问请求;其中,所述临时密钥保存在接收端并由所述接收端保存的公钥加密;
[0157]响应单元61,用于向移动用户终端返回包含动态生成的公钥和私钥的访问响应,所述访问响应中包含的公钥和私钥由用户预先设置的静态密码加密。
[0158]进一步的,该发送端还包括:发送单元62,用于在接收单元接收所述访问请求之前,接收接收端发送的用户设置的所述静态密码;向接收端返回发送端加密所述文件所使用的文件加密密钥、和接收端对动态生成的临时密钥进行加密所使用的公钥。
[0159]进一步的,发送单元62使用哈希算法产生包括从h°(X)到hn(X)的n+1个哈希值的哈希链,将对应每次的哈希值作为接收端对动态生成的临时密钥进行加密所使用的公钥,η为大于O的整数;
[0160]所述响应单元61将hn1X)作为访问响应中的公钥,将Shlri+1⑴作为访问响应中的私钥,s为系统私钥,i的取值为发送端接收到访问请求的次数。
[0161]进一步的,响应单元61还用于:
[0162]在返回所述访问响应之前,确定对所述文件的访问次数是否超过用户预先设置的访问次数最大值;在确定对所述文件的访问次数未超过用户预先设置的访问次数最大值时,向移动用户终端返回包含动态生成的公钥和私钥的访问响应。
[0163]进一步的,响应单元61用于:通过短信息返回访问响应。
[0164]上文通过附图和优选实施例对本发明进行了详细展示和说明,然而本发明不限于这些已揭示的实施例,本领域技术人员从中推导出来的其他方案也在本发明的保护范围之内。
【权利要求】
1.一种文件访问方法,其特征在于,该方法包括: 当需要访问用动态生成的临时密码加密的文件时,接收端向发送端发送访问文件的请求,其中,所述临时密码保存在所述加密文件的接收端并由所述接收端保存的公钥加密;然后接收端接收发送端返回的包含动态生成的公钥和私钥的响应,所述发送端返回的公钥和私钥由用户预先设置的静态密码加密; 接收端使用用户输入的密码对所述发送端返回的公钥和私钥进行解密,若解密失败,则认证失败;若解密成功,则根据解密得到的公钥与在接收端保存的公钥确定认证是否通过,若认证失败,则禁止用户访问所述文件;若认证通过,则 接收端使用解密得到的所述发送端返回的私钥对所述临时密码进行解密,并使用解密得到的临时密码对所述文件进行解密; 接收端用发送端返回的公钥替换在接收端保存的公钥,并生成新的临时密码;在接收端需要关闭所述文件时,用所述新的临时密码对文件进行重新加密,然后使用发送端保存的公钥对所述新的临时密钥进行加密,并用加密后的临时密码替换在接收端保存的临时密码。
2.如权利要求1所述的方法,其特征在于,在向发送端发送所述访问请求之前,进一步包括所述加密文件的接收端: 将用户设置的所述静态密码发送给发送端; 接收发送端返回的发送端加密所述文件使用的文件加密密钥和接收端对所述动态生成的临时密钥进行加密所使用的公钥; 使用接收到的所述文件加密密钥对所述文件进行解密,得到解密后的文件; 使用动态生成的临时密钥对所述文件进行重新加密,再使用接收端对所述动态生成的临时密钥进行加密所使用的公钥对所述动态生成的临时密钥进行加密,并保存加密后的临时密钥和该公钥。
3.如权利要求1或2所述的方法,其特征在于,所述接收端对动态生成的临时密钥进行加密所使用的公钥为发送端使用哈希算法产生的包括从h°(X)到1^(幻的n+1个哈希值的哈希链,η为大于O的整数;所述发送端返回的响应中的公钥为hn-1(X),私钥为Shn_i+1(X),S为系统私钥,i的取值为发送端接收到所述访问请求的次数; 所述根据解密得到的公钥与在接收端保存的公钥确定认证是否通过具体包括: 使用所述哈希算法计算解密得到的公钥的哈希值,根据所述计算得到的哈希值与在接收端保存的公钥的哈希值确定认证是否通过。、
4.如权利要求1或2所述的方法,其特征在于,所述的接收端包括用户移动终端。
5.—种响应文件访问请求的方法,其特征在于,该方法包括: 发送端接收接收端发送的对用动态生成的临时密钥加密的文件的访问请求;其中,所述临时密钥保存在接收端并由所述接收端保存的公钥加密; 发送端向接收端返回包含动态生成的公钥和私钥的访问响应,所述访问响应中包含的公钥和私钥由用户预先设置的静态密码加密。
6.如权利要求5所述的方法,其特征在于,在发送端接收所述访问请求之前,进一步包括: 发送端接收用户设置的静态密码;发送端向接收端返回发送端加密所述文件所使用的文件加密密钥和接收端用来对动态生成的临时密钥进行加密需要使用的公钥。
7.如权利要求6所述的方法,其特征在于,发送端使用哈希算法产生包括从h°(X)到hn (X) n+1个哈希值的哈希链,将对应每次的哈希值作为接收端对动态生成的临时密钥进行加密所使用的公钥,其中η为大于O的整数;发送端返回的所述访问响应中的公钥为hn_i(X),所述访问响应中的私钥为shn_i+1(X),s为系统私钥,i的取值为发送端接收到所述访问请求的次数。
8.如权利要求5或6或7所述的方法,其特征在于,在发送端接收到所述访问请求之后、并且返回所述响应之前,进一步包括: 发送端确定用户对所述文件的访问次数是否超过用户预先设置的访问次数最大值; 所述发送端向接收端返回包含动态生成的公钥和私钥的访问响应具体包括: 所述发送端在确定用户对所述文件的访问次数未超过用户预先设置的访问次数最大值时,返回所述包含动态生成的公钥和私钥的响应。
9.一种文件访问系统,其特征在于,该系统包括接收端和发送端,其中, 在接收端向发送端发送对用动态生成的临时密钥加密的文件的访问请求时,接收端获得发送端返回的访问响应中包含的动态生成的公钥和私钥,所述访问响应中包含的公钥和私钥由用户预先设置的静态密码加密;其中,所述临时密钥保存在接收端并由所述接收端保存的公钥加密; 接收端使用用户输入的密码对所述访问响应中包含的公钥和私钥进行解密,若解密失败,则认证失败;若解密成功,则根据解密得到的公钥与在接收端保存的公钥确定认证是否通过,若认证失败,则禁止用户访问所述文件;若认证通过,则 接收端使用解密得到的所述响应中包含的私钥对所述临时密钥进行解密,并使用解密得到的临时密钥对所述文件进行解密; 接收端用解密得到的访问响应中包含的公钥替换在接收端保存的公钥,并生成新的临时密钥;在需要关闭所述文件时,接收端用该新的临时密钥对文件进行重新加密,然后使用接收端保存的公钥对所述新生成的临时密钥进行加密,并用加密后的临时密钥替换在接收端保存的临时密钥; 发送端用于接收接收端对用动态生成的临时密钥加密的文件的所述访问请求,并在接收到所述访问请求后,返回所述访问响应。
10.如权利要求9所述的一种文件访问系统,其特征在于,所述接收端还包括移动用户终端,在用户需要访问用动态生成的临时密钥加密的文件时,通过所述移动用户终端向发送端发送访问请求并接收发送端返回的响应。
11.一种接收端,其特征在于,该接收端包括: 获得单元,用于在向发送端发送对用动态生成的临时密钥加密的文件的访问请求时,接收发送端返回的包含动态生成的公钥和私钥的访问响应,所述访问响应中包含的公钥和私钥由用户预先设置的静态密码加密;其中,所述临时密钥保存在接收端并由所述接收端保存的公钥加密; 解密单元,用于使用用户输入的密码对所述访问响应中包含的公钥和私钥进行解密,若解密失败,则认证失败;若解密成功,则根据解密得到的公钥与在接收端保存的公钥确定认证是否通过,若认证失败,则禁止用户访问所述文件;若认证通过,则 使用解密得到的所述访问响应中包含的私钥对所述临时密钥进行解密,并使用解密得到的临时密钥对所述文件进行解密; 用解密得到的所述访问响应中包含的公钥替换在接收端保存的公钥,并生成新的临时密钥;在接收端需要关闭所述文件时,用所述新的临时密钥对文件进行重新加密,然后使用接收端保存的公钥对所述新的临时密钥进行加密,并用加密后的临时密钥替换在接收端保存的临时密钥。
12.一种发送端,其特征在于,该发送端包括: 接收单元,用于接收接收端对用动态生成的临时密钥加密的文件的访问请求;其中,所述临时密钥保存在所述加密文件的接收端并由所述接收端保存的公钥加密; 响应单元,用于向所述接收端返回包含动态生成的公钥和私钥的访问响应,所述访问响应中包含的公钥和私钥由用户预先设置的静态密码加密。
13.如权利要求12所述的发送端,其特征在于,该发送端还包括: 发送单元,用于在接收单元接收所述访问请求之前,接收用户设置的所述静态密码;向接收端返回发送端加密所述文件所使用的文件加密密钥、和所述接收端对动态生成的临时密钥进行加密所使用的公钥。
14.如权利要求13所述的发送端,其特征在于,所述发送单元还用于: 使用哈希算法产生包括从h°(X)到hn(X) n+1个哈希值的哈希链,将对应每次的哈希值作为接收端对动态生成的临时密钥进行加密所使用的公钥,其中η为大于O的整数; 所述响应单元将h1^ (X)作为访问响应中的公钥,将Shlri+1⑴作为访问响应中的私钥,s为系统私钥,i的取值为发送端接收到访问请求的次数。
15. 如权利要求12至14中任一项所述的发送端,其特征在于,所述响应单元还用于: 在返回所述访问响应之前,确定对所述文件的访问次数是否超过用户预先设置的访问次数最大值;在确定对所述文件的访问次数未超过用户预先设置的访问次数最大值时,返回包含动态生成的公钥和私钥的访问响应。
【文档编号】H04L9/30GK103701596SQ201210366938
【公开日】2014年4月2日 申请日期:2012年9月27日 优先权日:2012年9月27日
【发明者】刘勇, 张胜, 陈世俊 申请人:西门子公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1