CN102420821B - 一种提高文件传输安全性的方法和*** - Google Patents
一种提高文件传输安全性的方法和*** Download PDFInfo
- Publication number
- CN102420821B CN102420821B CN201110385692.2A CN201110385692A CN102420821B CN 102420821 B CN102420821 B CN 102420821B CN 201110385692 A CN201110385692 A CN 201110385692A CN 102420821 B CN102420821 B CN 102420821B
- Authority
- CN
- China
- Prior art keywords
- key
- file
- session
- module
- good friend
- 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)
- Computer And Data Communications (AREA)
Abstract
本发明公开一种提高文件传输安全性的方法和***,该方法包括:根据触发信息中的好友标识分别在密钥服务器中获取对应的第一密钥和第二密钥;使用生成的会话密钥对文件进行加密生成文件密文;分别使用第一密钥对会话密钥进行加密生成相应的会话密文;将好友标识、对应的第二密钥、会话密文和文件密文组成文件包;获取文件包并对其进行解析,在解析出符合预设格式的数据且接收者为发送好友时,输出解析得到的与接收者对应的第二密钥,接收密钥生成器根据第二密钥生成的第三密钥,使用第三密钥对会话密文进行解密,使用解密得到的会话密钥对文件密文进行解密。使用本发明可简化向多人发送文件的操作,进一步的提高了文件传输的安全性。
Description
技术领域
本发明涉及信息安全领域,尤其涉及一种提高文件传输安全性的方法和***。
背景技术
随着计算机技术的广泛应用,在各行各业中,几乎所有的数据和信息都会被录入计算机中存储成文档。而对于远程用户而言,要查看这些文档就需要远程访问或通过发送存储在本地进行查看。远程访问需要授权才能进行,而如果将文件以明文进行传送存储在本地查看,在传送过程会被非法这截获,泄露隐私。
网络硬盘是目前Internet上的一个重要应用,数据安全是网络硬盘应用的一个核心问题。在传递分发一些重要文件时,传统的方法通常采用一些对称机密算法来加密文件,然后将密码明文告知文件接收者,这种方法操作起来相对简单,但是也有很多安全隐患:首先,当密码出现泄露时,我们无法保证查看到文件的人是否是合法的文件接收者;其次,当间隔一段时间后再去解密时,如果忘记最初的加密密码时,用户无法解密加密的文件;第三,当需要将一个文件加密后分发给多个人时,如果采用相同的密码加密,则风险将不可控,任何一个密码出现泄露,文件都将被窃取,而追踪泄露源时也很难展开,如果对不同的文件接收者采用不同的密钥分开加密,则无形中加大了工作量,且密码表难以维护。
发明内容
本发明的目的是为了克服现有技术的不足,提供一种提高文件传输安全性的方法和***,其具有安全、简单和方便的特点。
本发明提供的一种提高文件传输安全性的方法,包括文件加密和文件解密过程;其中所述文件加密包括:
步骤A:接收到触发信息后,根据触发信息中的好友标识分别在密钥服务器中获取对应的密钥信息;使用生成的会话密钥对与所述触发信息中的文件标识对应的文件进行加密,生成文件密文;分别使用所述密钥信息中的第一密钥对所述会话密钥进行加密,生成相应的会话密文;
步骤B:将所述触发信息中的好友标识、与所述好友标识对应的所述密钥信息中的第二密钥、相应的所述会话密文和所述文件密文组成文件包;
其中,所述文件解密过程包括:
步骤C:获取所述文件包并对其进行解析,判断能否解析出符合预设格式的数据,若能则解析得到好友标识、第二密钥、会话密文和文件密文,顺序执行步骤D,否则结束;
步骤D:根据解析得到的所述好友标识判断接收者是否为发送好友,是则执行步骤E,否则结束;
步骤E:输出解析得到的与接收者对应的所述第二密钥,接收密钥生成器根据所述第二密钥生成的第三密钥,使用所述第三密钥对解析得到的所述会话密文进行解密,如解密成功则执行步骤F,否则结束;
步骤F:使用解密得到的会话密钥对解析得到的所述文件密文进行解密,如解密成功则输出文件传输成功,否则输出文件传输失败。
其中,所述密钥信息包括所述第二密钥和第一密钥;所述密钥服务器生成所述第二密钥,使用与所述好友标识对应的预设算法对生成的所述第二密钥进行计算生成所述第一密钥。
其中,所述步骤A具体为:
步骤A1:发送终端接收所述触发信息并将其转发给网盘服务器;
步骤A2:所述网盘服务器接收所述触发信息后,生成会话密钥,使用所述会话密钥对存储的与所述触发信息中的与文件标识对应的文件进行加密,生成文件密文;
步骤A3:所述网盘服务器分别根据所述触发信息中的好友标识从密钥服务器中获取对应的密钥信息,如获取到则执行步骤A4,否则给发送终端返回错误提示信息,发送终端输出错误提示信息,结束;
步骤A4:所述网盘服务器分别使用所述密钥信息中的第一密钥对所述会话密钥进行加密,生成相应的会话密文。
其中,所述步骤A1中发送终端接收触发信息与将所述触发信息转发给网盘服务器之间,包括:
所述发送终端接收到触发信息,发起与所述网盘服务器建立连接的请求,所述网盘服务器对发送者的身份进行验证,如验证通过则给所述发送终端返回身份验证通过信息,所述发送终端将所述触发信息发送给所述网盘服务器;如验证失败则给发送终端返回身份验证失败信息,所述发送终端输出所述身份验证失败信息,结束。
其中,所述步骤B具体为:
所述网盘服务器将所述触发信息中的好友标识、与所述好友标识对应的所述密钥信息中的第二密钥和相应的所述会话密文组成好友信息,将所有好友信息添加到文件头或文件尾,将所述文件密文作为文件主体组成文件包。
其中,所述文件包的格式为:<好友标识、会话密文、第二密钥><文件密文>。
其中,所述步骤C具体为:
所述接收终端从所述网盘服务器上下载文件包并对其进行解析,判断能否解析出符合预设格式的数据,若能则解析得到好友标识、第二密钥、会话密文和文件密文,顺序执行步骤D,否则输出错误提示信息,结束。
其中,所述步骤B和所述步骤C之间,包括:所述接收终端发起与所述网盘服务器建立连接的请求,所述网盘服务器对接收者的身份进行验证,如验证通过则给所述接收终端返回身份验证通过信息,执行步骤C;如验证失败则给所述接收终端返回身份验证失败信息,所述接收终端输出所述身份验证失败信息,结束。
其中,所述步骤D具体为:
所述接收终端判断接收者标识是否与解析得到的所述好友标识匹配,是则执行步骤E,否则结束。
其中,所述步骤E具体为:
所述接收终端输出解析得到的与所述接收者标识对应的所述第二密钥;
所述密钥生成器接收输入的所述第二密钥,根据预设算法对所述第二密钥进行计算生成所述第三密钥并输出;
所述接收终端根据输入的所述第三密钥对解析得到的所述会话密文进行解密,如解密成功则执行步骤F,否则结束。
其中,所述步骤F具体为:
所述接收终端使用解密得到的会话密钥对解析得到的所述文件密文进行解密,解密成功则输出文件传输成功,否则输出文件传输失败,结束。
其中,所述步骤A具体为:
步骤A1:发送终端接收所述触发信息并将其转发给网盘服务器;
步骤A2:所述网盘服务器分别根据所述触发信息中的好友标识从密钥服务器中获取对应的密钥信息,如获取到则执行步骤A3,否则给发送终端返回错误提示信息,发送终端输出错误提示信息,结束;
步骤A3:所述网盘服务器将与所述触发信息中的文件标识对应的文件、所述触发信息中的所有好友标识和对应的所述密钥信息按照预设格式进行存储;
步骤A4:所述网盘服务器接收到接收终端发送的下载请求后,生成会话密钥;
步骤A5:所述网盘服务器使用所述会话密钥对存储的与所述触发信息中的所述文件标识对应的文件进行加密,生成文件密文;
步骤A6:所述网盘服务器使用存储的与接收者对应的所述密钥信息中的第一密钥对所述会话密钥进行加密,生成相应的会话密文。
其中,所述步骤A1中发送终端接收触发信息与将所述触发信息转发给网盘服务器之间,包括:
所述发送终端接收到触发信息,发起与所述网盘服务器建立连接的请求,所述网盘服务器对发送者的身份进行验证,如验证通过则给所述发送终端返回身份验证通过信息,所述发送终端将所述触发信息发送给所述网盘服务器;如验证失败则给发送终端返回身份验证失败信息,所述发送终端输出所述身份验证失败信息,结束。
其中,所述步骤A3和步骤A4之间包括:
所述接收终端向所述网盘服务器发送下载文件请求,所述网盘服务器对接收者的身份进行验证,如验证通过则给所述接收终端返回身份验证通过信息,顺序执行步骤A4;如验证失败则给接收终端返回身份验证失败信息,所述接收终端输出所述身份验证失败信息,结束。
其中,所述网盘服务器对接收者的身份进行验证,具体为:
所述网盘服务器判断接收者标识是否与存储的好友标识匹配,如匹配则身份验证通过,如不匹配则身份验证失败。
其中,所述步骤B具体为:
所述网盘服务器将所述好友标识、与所述好友标识对应的所述密钥信息中的第二密钥和相应的所述会话密文组成好友信息,将所述好友信息添加到文件头或文件尾,将所述文件密文作为文件主体组成文件包,并将所述文件包发送给接收终端。
其中,所述文件包的格式为:<好友标识、会话密文、第二密钥><文件密文>。
其中,所述步骤C具体为:
所述接收终端接收所述文件包并对其进行解析,判断能否解析出符合预设格式的数据,若能则解析得到好友标识、第二密钥、会话密文和文件密文,顺序执行步骤D,否则输出错误提示信息,结束。
其中,所述步骤D具体为:
所述接收终端判断接收者标识是否与解析得到的所述好友标识相同,是则执行步骤E,否则输出错误提示信息,结束。
其中,所述步骤E具体为:
所述接收终端输出解析得到的与所述接收者标识对应的所述第二密钥;
所述密钥生成器接收输入的所述第二密钥,根据预设算法对所述第二密钥进行计算,生成所述第三密钥并输出;
所述发送终端根据输入的所述第三密钥对解析得到的所述会话密文进行解密,如解密成功则执行步骤F,否则结束。
其中,所述步骤F具体为:
所述接收终端使用解密得到的会话密钥对解析得到的所述文件密文进行解密,解密成功则输出文件传输成功,否则输出文件传输失败,结束。
其中,所述步骤A具体为:
步骤A1:发送终端接收到所述触发信息后生成会话密钥;
步骤A2:所述发送终端使用所述会话密钥对与所述触发信息中的文件标识对应的文件进行加密,生成文件密;
步骤A3:所述发送终端将所述触发信息中的好友标识和所述会话密钥发送给所述密钥服务器;
步骤A4:所述密钥服务器分别根据所述好友标识查找对应的密钥信息,如找到则执行步骤A5,否则给所述发送终端返回错误提示信息,所述发送终端输出错误提示信息,结束。
步骤A5:所述密钥服务器分别使用所述找到的密钥信息中的第一密钥对所述会话密钥进行加密,生成相应的会话密文;
步骤A6:所述密钥服务器将所有的密钥信息中的第二密钥和相应的会话密文发送给所述发送终端。
其中,所述步骤B具体为:
所述发送终端将所述触发信息中的好友标识、与所述好友标识对应的第二密钥和相应的所述会话密文组成好友信息,将所有好友信息添加到文件头或文件尾,将所述文件密文作为文件主体组成文件包,将所述文件包发送给接收终端。
其中,所述文件包的格式为:<好友标识、会话密文、第二密钥><文件密文>。
其中,所述步骤C具体为:
所述接收终端接收所述文件包并对其进行解析,判断能否解析出符合预设格式的数据,若能则解析得到好友标识、第二密钥、会话密文和文件密文,顺序执行步骤D,否则输出错误提示信息,结束。
其中,所述步骤D具体为:
所述接收终端判断接收者标识是否与解析得到的所述好友标识匹配,是则执行步骤E,否则结束。
其中,所述步骤E具体为:
所述接收终端输出解析得到的与所述接收者标识对应的第二密钥;
所述密钥生成器接收输入的所述第二密钥,根据预设算法对所述第二密钥进行计算,生成所述第三密钥并输出;
所述接收终端根据所述输入的第三密钥对解析得到的所述会话密文进行解密,如解密成功则执行步骤F,否则结束。
其中,所述步骤F具体为:
所述接收终端使用解密得到的会话密钥对解析得到的所述文件密文进行解密,解密成功则输出文件传输成功,否则输出文件传输失败,结束。
本发明又提供的一种提高文件传输安全性的***,包括:
获取模块,用于在接收到触发信息后,根据触发信息中的好友标识分别在密钥服务器中获取对应的密钥信息;
第一加密模块,用于使用生成的会话密钥对与所述触发信息中的文件标识对应的文件进行加密,生成文件密文;
第二加密模块,用于分别使用所述密钥信息中的第一密钥对所述会话密钥进行加密,生成相应的会话密文;
组包模块,用于将所述触发信息中的好友标识、与所述好友标识对应的所述密钥信息中的第二密钥、相应的所述会话密文和所述文件密文组成文件包;
解析判断模块,用于获取所述文件包并对其进行解析,判断能否解析出符合预设格式的数据,若能则解析得到好友标识、第二密钥、会话密文和文件密文;
第一判断模块,用于在解析出符合预设格式的数据时,根据解析得到的所述好友标识判断接收者是否为发送好友;
第一输出模块,用于在接收者为发送好友时输出与所述接收者对应的所述第二密钥;
第一输入模块,用于输入密钥生成器根据所述第二密钥生成的第三密钥;
第一解密模块,用于接收所述第三密钥并使用所述第三密钥对解析得到的所述会话密文进行解密;
第二解密模块,用于在会话密文解密成功时,使用解密得到的会话密钥对解析得到的所述文件密文进行解密。
其中,上述***包括发送终端、网盘服务器、密钥服务器、接收终端和密钥生成器;
所述发送终端包括:
第一通讯模块,用于接收触发信息并转发给所述网盘服务器,接收所述网盘服务器返回的提示信息;
第二输出模块,用于输出所述提示信息;
所述网盘服务器包括:
第二通讯模块,用于分别与所述发送终端、接收终端、密钥服务器进行数据传输;
第一生成模块,用于在所述第二通讯模块接收到所述触发信息后,生成会话密钥;
所述获取模块,用于分别根据所述触发信息中的好友标识去所述密钥服务器中获取对应的密钥信息;
所述第一加密模块,用于使用所述会话密钥对存储的与所述触发信息中的文件标识对应的文件进行加密,生成文件密文;
所述第二加密模块,用于分别使用所述获取到的密钥信息中的第一密钥对所述会话密钥进行加密,生成相应的会话密文;
所述组包模块,用于将所述触发信息中的好友标识、与所述好友标识对应的所述密钥信息中的第二密钥和相应的所述会话密文组成好友信息,将所有好友信息添加到文件头或文件尾,将所述文件密文作为文件主体组成文件包;
第一存储模块,用于存储所述文件和所述文件包;
所述密钥服务器包括:
第三通讯模块,用于与所述网盘服务器进行数据传输;
第二存储模块,用于存储预设算法和所述密钥信息,所述密钥信息包括所述第二密钥和对应的所述第一密钥;
第二生成模块,用于在所述第三通讯模块接收到所述第二通讯模块发送的所述触发信息中的好友标识后,生成所述第二密钥;
第一计算模块,用于根据与接收到的所述好友标识对应的预设算法对所述生成的第二密钥进行计算生成所述第一密钥;
所述接收终端包括:
所述解密判断模块,用于从所述网盘服务器上下载文件包对其进行解析,判断能否解析出符合预设格式的数据,如能则解析得到好友标识、第二密钥、会话密文和文件密文;
所述第一判断模块,用于在解析出符合预设格式的数据时,根据解析得到的所述好友标识判断接收者是否为发送好友;
所述第一输出模块,用于在接收者为发送好友时输出解析得到的与所述接收者对应的第二密钥,还用于输出提示信息;
所述第一输入模块,用于输入所述密钥生成器根据所述第二密钥生成的第三密钥;
所述第一解密模块,用于接收所述第三密钥,并使用所述第三密钥对解析得到的所述会话密文进行解密;
所述第二解密模块,用于在所述会话密文解密成功时,使用解密得到的会话密钥对解析得到的所述文件密文进行解密;
所述密钥生成器包括:
第三输入模块,用于输入所述第一输出模块输出的第二密钥;
第三存储模块,用于存储预设算法;
第二计算模块,用于根据所述存储的预设算法对输入的所述第二密钥进行计算,生成所述第三密钥;
第三输出模块,用于输出所述第三密钥。
其中,所述第一通讯模块还用于在接收到触发信息后发起所述发送终端与所述网盘服务器建立连接的请求;
所述接收终端还包括第四通讯模块,用于发起所述接收终端与所述网盘服务器建立连接的请求;
所述网盘服务器还包括验证模块,用于在接收到所述建立连接的请求后对发送者或接收者的身份进行验证。
其中,所述第一判断模块具体用于判断接收者标识是否与解析得到的所述好友标识匹配,如匹配则接收者是发送好友,如不匹配则接收者不是发送好友。
其中,上述***包括发送终端、网盘服务器、密钥服务器、接收终端和密钥生成器;
所述发送终端包括:
第一通讯模块,用于接收触发信息并转发给所述密钥服务器,用于接收所述密钥服务器返回的提示信息;
第二输出模块,用于输出所述提示信息;
所述网盘服务器包括:
第二通讯模块,用于分别与所述发送终端、密钥服务器、接收终端进行数据传输;
所述获取模块,用于分别根据所述存储的好友标识去所述密钥服务器中获取对应的密钥信息,所述密钥信息包括所述第二密钥和对应的所述第一密钥;
第一存储模块,用于将与所述触发信息中的文件标识对应的文件、所述触发信息中的好友标识和对应的所述密钥信息按照预设格式进行存储,还用于存储文件;
第一生成模块,用于在所述第二通讯模块接收到接收终端发起的下载请求后,生成会话密钥;
所述第一加密模块,用于使用所述会话密钥对存储的与所述触发信息中的文件标识对应的文件进行加密,生成文件密文;
所述第二加密模块,用于分别使用所述获取到的密钥信息中的第一密钥对所述会话密钥进行加密,生成相应的会话密文;
所述组包模块,用于将所述好友标识、与所述好友标识对应的所述密钥信息中的第二密钥和相应的所述会话密文组成好友信息,将所有好友信息添加到文件头或文件尾,将所述文件密文作为文件主体组成文件包;
所述密钥服务器包括:
第三通讯模块,用于与所述网盘服务器进行数据传输;
第二存储模块,用于存储预设算法和密钥信息,所述密钥信息包括第二密钥和对应的第一密钥;
第二生成模块,用于在所述第三通讯模块接收到所述第二通讯模块发送的所述触发信息中的好友标识后,生成第二密钥;
第一计算模块,用于根据与所述接收到的好友标识对应的所述预设算法对所述生成的第二密钥进行计算生成第一密钥;
所述接收终端包括:
第四通讯模块,用于接收所述网盘服务器发送的文件包和提示信息;
所述解密判断模块,用于对接收到的所述文件包进行解析,判断能否解析出符合预设格式的数据,如能则解析得到好友标识、第二密钥、会话密文和文件密文;
所述第一判断模块,用于在解析出符合预设格式的数据时,根据解析得到的所述好友标识判断接收者的是否为发送好友;
所述第一输出模块,用于在接收者为发送好友时输出解析得到的与所述接收者对应的第二密钥,还用于输出提示信息;
所述第一输入模块,用于输入所述密钥生成器根据所述第二密钥生成的第三密钥;
所述第一解密模块,用于接收所述第三密钥并使用所述第三密钥对解析得到的所述会话密文进行解密;
所述第二解密模块,用于在所述会话密文解密成功时,使用解密得到的会话密钥对解析得到的所述文件密文进行解密;
所述密钥生成器包括:
第三输入模块,用于输入所述第一输出模块输出的第二密钥;
第三存储模块,用于存储预设算法;
第二计算模块,用于根据存储的预设算法对输入的所述第二密钥进行计算,生成所述第三密钥;
第三输出模块,用于输出所述第三密钥。
其中,所述第一判断模块具体用于判断接收者标识是否与解析得到的所述好友标识相同。
其中,所述第一通讯模块还用于在接收到触发信息后发起所述发送终端与所述网盘服务器建立连接的请求;
所述第四通讯模块还用于向所述网盘服务器发送下载请求,所述获取模块用于在所述第二通讯模块接收到所述下载请求后开始工作;
所述网盘服务器还包括:验证模块,用于在接收到所述连接请求后对发送者的身份进行验证,接收到所述下载请求后对接收者的身份进行验证。
其中,所述验证模块具体用于在接收到下载请求后,判断接收者标识是否与所述第一存储模块中存储的好友标识匹配。
其中,上述***包括发送终端、密钥服务器、接收终端和密钥生成器;
所述发送终端,包括:
第一通讯模块,用于接收触发信息,向所述接收终端发送文件包,向所述密钥服务器发送所述触发信息中的好友标识和会话密钥,接收所述密钥服务器返回的第二密钥、对应的会话密文和错误提示信息;
第二输出模块,用于输出所述错误提示信息;
第一存储模块,用于存储文件;
第一生成模块,用于在接收到所述触发信息后生成所述会话密钥;
所述第一加密模块,用于使用所述会话密钥对与所述触发信息中的文件标识对应的文件进行加密,生成文件密;
所述组包模块,用于将所述触发信息中的好友标识、与所述好友标识对应的第二密钥和相应的所述会话密文组成好友信息,将所有好友信息添加到文件头或文件尾,将所述文件密文作为文件主体组成文件包;
所述密钥服务器,包括:
第二通讯模块:用于接收所述发送终端发送的所述好友标识和会话密钥,给所述发送终端返回所述第二密钥、对应的会话密文和错误提示信息;
第二存储模块:用于存储预设算法和密钥信息,所述密钥信息包括所述第二密钥和对应的第一密钥;
第二生成模块,用于生成所述第二密钥;
第一计算模块,用于根据与所述好友标识对应的预设算法对所述挑战码进行计算生成对应的第一密钥;
所述获取模块,分别根据所述好友标识在所述第二存储模块中查找对应的密钥信息;
所述第二加密模块,用于分别使用所述找到的密钥信息中的第一密钥对所述会话密钥进行加密,生成相应的会话密文;
所述接收终端,包括:
第三通讯模块,用于接收所述发送终端发送的文件包;
所述解析判断模块,用于对所述文件包进行解析,判断能否解析出符合预设格式的数据,如能则解析得到好友标识、第二密钥、会话密文和文件密文;
所述第一判断模块,具体用于在解析出符合预设格式的数据时,判断接收者标识是否与解析得到的所述好友标识匹配;
所述第一输出模块,用于在接收者为发送好友时输出解析得到的与所述接收者标识对应的第二密钥,还用于输出提示信息;
所述第一输入模块,用于输入所述密钥生成器根据所述第二密钥生成的第三密钥;
所述第一解密模块,用于接收所述第三密钥并使用所述第三密钥对解析得到的所述会话密文进行解密;
所述第二解密模块,用于在会话密文解密成功时,使用解密得到的会话密钥对解析得到的所述文件密文进行解密;
所述密钥生成器包括:
第三输入模块,用于输入所述第一输出模块输出的第二密钥;
第三存储模块,用于存储预设算法;
第二计算模块,用于根据所述预设算法对所述第二密钥进行计算,生成所述第三密钥;
第三输出模块,用于输出所述第三密钥。
本发明与现有技术相比,具有以下优点:
本发明提供的提高文件传输安全性的方法和***,通过在发送端使用会话密钥对将要发送的文件进行加密并且使用接收者的动态口令对会话密钥加密,然后将会话密文和文件密文打包发送给好友或通知好友进行访问下载,实现对文件一次加密发送给多个人,简化向多个人发送文件的操作;接收者使用密钥生成器生成的第一密钥对会话密文进行解密,使用解密后的会话密钥对文件密文解密进行查看,由于发送的加密文件,没有被授权的用户无法查看,保护用户隐私,提高文件传输的安全性。
附图说明
图1为发明实施例一提供的一种提高文件传输安全性的方法流程图;
图2为本发明实施例二提供的一种提高文件传输安全性的方法中的文件加密过程流程图;
图3为本发明实施例二提供的一种提高文件传输安全性的方法中的文件解密过程流程图;
图4为本发明实施例二提供的一种提高文件传输安全性的方法的具体应用实例流程图;
图5为本发明实施例三提供的另一种提高文件传输安全性的方法中的文件加密过程流程图;
图6为本发明实施例三提供的另一种提高文件传输安全性的方法中的文件解密过程流程图;
图7为本发明实施例四提供的又一种提高文件传输安全性的方法中的文件加密过程流程图;
图8为本发明实施例四提供的又一种提高文件传输安全性的方法中的文件解密过程流程图;
图9为本发明实施例五提供的一种提高文件传输安全性的***方框图;
图10为本发明实施例六提供的一种提高文件传输安全性的***的第一种具体实现方式方框示意图;
图11为本发明实施例七提供的一种提高文件传输安全性的***的第二种具体实现方式方框示意图;
图12为本发明实施例八提供的一种提高文件传输安全性的***的第三种具体实现方式方框示意图。
具体实施方式
为更近一步阐述本发明为达成预订目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种提高文件传输安全性的方法和***,其具体实施方式、结构、特征及其功效,说明如后。
实施例一
本发明实施例一提供了一种提高文件传输安全性的方法,如图1所示,包括文件加密过程和文件解密过程:
其中文件加密包括:
步骤A:接收到触发信息后,根据触发信息中的好友标识分别在密钥服务器中获取对应的密钥信息;使用生成的会话密钥对与触发信息中的文件标识对应的文件进行加密,生成文件密文;分别使用密钥信息中的第一密钥对会话密钥进行加密,生成相应的会话密文;
具体的,在本实施例中,密钥信息包括第二密钥和第一密钥;密钥服务器使用与好友标识对应的预设算法对生成的第二密钥进行计算生成第一密钥;
步骤B:将触发信息中的好友标识、与好友标识对应的密钥信息中的第二密钥、相应的会话密文组和文件密文组成文件包;
优选的,本实施例中将好友标识、会话密文、第二密钥添加到文件头或文件尾,将文件密文作为文件主体组成文件包,如组成的文件包格式为:<好友标识、会话密文、第二密钥><文件密文>;文件包还可以有其他格式,不限于此;
其中,文件解密过程包括:
步骤C:获取文件包并对其进行解析,判断能否解析出符合预设格式的数据,若能则解析得到好友标识、第二密钥、会话密文和文件密文,顺序执行步骤D,否则结束;
步骤D:根据解析得到的好友标识判断接收者是否为发送好友,是则执行步骤E,否则结束;
具体的,本实施例中判断接收者标识是否与解析得到的好友标识匹配,是则接收者为发送好友,否则接收者不为发送好友;
步骤E:输出第二密钥,接收密钥生成器根据第二密钥生成的第三密钥,使用第三密钥对解析得到的会话密文进行解密,如解密成功则执行步骤F,如解密失败则结束;
步骤F:使用解密得到的会话密钥对解析得到的文件密文进行解密,如解密成功则输出文件传输成功,如解密失败则输出文件传输失败。
本实施例提供的提高文件传输安全性的方法,通过在发送端使用会话密钥对将要发送的文件进行加密并且使用接收者的动态口令对会话密钥加密,然后将会话密文和文件密文打包发送给好友或通知好友进行访问下载,实现对文件一次加密发送给多个人,简化向多个人发送文件的操作;接收者使用各自的动态口令对会话密文进行解密,使用解密后的会话密钥对文件密文解密进行查看,由于发送的是加密文件,没有被授权的用户无法查看,保护用户隐私,提高文件传输的安全性。
实施例二
参见图2和图3,本发明实施例二提供了一种提高文件传输安全性的方法,本实施例中发送者预先将文件存储在网盘服务器中,图2为本实施例方法中的文件加密过程,图3为本实施例方法中的文件解密过程;本实施例中的发送终端包括终端设备及其上安装的软件。
如图2所示,文件加密过程包括:
步骤201:发送终端发起与网盘服务器建立连接请求;
步骤202:网盘服务器判断该发送者是否是合法用户,如合法则执行步骤205,如不合法则执行步骤203;
在本实施例中,步骤202具体为:
步骤202-1:网盘服务器通过发送终端提示用户输入登录口令;
步骤202-2:发送终端接收发送者输入的登录口令并发送给网盘服务器;
步骤202-3:网盘服务器接收登录口令,并判断该登录口令是否与预存的登录口令一致,是则发送者为合法用户,否则发送者为不合法用户;
步骤203:网盘服务器给发送终端发送用户身份错误提示信息;
步骤204:发送终端接收用户身份错误提示信息并输出,结束;
步骤205:网盘服务器给发送终端发送用户合法提示信息;
步骤206:发送终端接收用户合法提示信息并输出;
步骤207:发送终端接收包含文件标识和好友ID的第一触发信息并转发给网盘服务器;
在本实施例中,第一触发信息为用户选择将要发送的文件和好友的触发信息;好友ID可以为一个或多个,优选的,本实施例中的好友ID有多个;
步骤208:网盘服务器接收第一触发信息后,生成会话密钥;
具体的,本实施例中的会话密钥为一随机数;
步骤209:网盘服务器使用会话密钥对存储的与文件标识对应的文件进行加密生成文件密文;
步骤210:网盘服务器根据第一触发信息中的好友ID分别从密钥服务器中获取对应的密钥信息,如获取到则执行步骤213,如未获取到则执行步骤211;
本实施例中,密钥信息中包括第二密钥和第一密钥,第一密钥是密钥服务器根据预设规则对第二密钥进行计算得到的;优选的,本实施例中密钥服务器使用好友ID找到相应的预设算法,使用找到的预设算法对生成的第二密钥进行计算生成第一密钥;在密钥信息中好友ID和密钥生成器中的预设算法一一对应;
优选的,本实施例中的好友ID有多个,对应的密钥信息也有多个,密钥信息和好友ID一一对应;
步骤211:网盘服务器给发送终端发送错误提示信息;
步骤212:发送终端接收错误提示信息并输出,结束;
步骤213:网盘服务器使用密钥信息中的第一密钥对会话密钥进行加密,生成会话密文;
优选的,当有多个密钥信息时,分别使用每个密钥信息中的第一密钥对会话密钥进行加密生成多个会话密文;优选的,本实施例中使用AES加密算法进行加密,但加密算法不限于此,也可用其他加密算法去实现;
步骤214:网盘服务器将会话密文、好友ID和第二密钥组成好友信息;
优选的,好友ID设有多个,网盘服务器将会话密文、对应的好友ID和第二密钥组成好友信息形成一列表;如有三个好友,组成好友信息形成的列表为:
好友1的ID、对应的会话密文1、好友1的挑战码;
好友2的ID、对应的会话密文2、好友2的挑战码;
好友3的ID、对应的会话密文3、好友3的挑战码;
但由多个好友信息形成的列表格式不限于此,还可有其他形式实现;
步骤215:网盘服务器将文件密文和好友信息组成文件包并进行存储;
本实施例中,可将文件密文作为文件主体,将好友信息添加到文件头或文件尾组成文件包;优选的,网盘服务器将文件密文和所有的好友信息组成文件包,如有三个好友,组成的文件包为:“<好友1的ID、对应的会话密文1、好友1的挑战码><好友2的ID、对应的会话密文2、好友2的挑战码><好友3的ID、对应的会话密文3、好友3的挑战码><文件密文>;本实施例中组成的文件包格式不限于此,可也通过其他方式实现,在此不再赘述;
步骤216:网盘服务器给发送终端返回成功提示信息;
步骤217:发送终端接收发送提示信息并输出。
发送者可通过短信、邮件或者其他方式通知好友去网盘服务器上查看解密文件。
当文件存储在发送终端上时,本实施例中的加密过程中,发送终端生成会话密钥对文件加密生成文件密文,再从密钥服务器中获取第二密钥和第一密钥,使用第一密钥对会话密钥进行加密生成会话密文,然后将会话密文、好友ID、第二密钥和文件密文组合成文件包后存放到网盘服务器上。
本实施例提供的一种提高文件传输安全性的方法,其文件解密过程如图3所示,包括:
步骤301:接收终端发起与网盘服务器建立连接请求;
步骤302:网盘服务器判断该接收者是否是合法用户,如合法则执行步骤305,如不合法则执行步骤303;
在本实施例中,步骤302通过以下步骤实现;
步骤302-1:网盘服务器通过发送终端提示用户输入登录口令;
步骤302-2:发送终端接收发送者输入的登录口令并发送给网盘服务器;
步骤302-3:网盘服务器接收登录口令,并判断该登录口令是否与预存的登录口令一致,是则发送者为合法用户,否则发送者为不合法用户;
步骤303:网盘服务器给接收终端发送用户身份错误提示信息;
步骤304:接收终端接收用户身份错误提示信息并输出,结束;
步骤305:网盘服务器给接收终端发送用户合法提示信息;
步骤306:接收终端接收用户合法提示信息并输出;
本实施例中,接收终端在接收到用户合法提示信息后不输出直接执行步骤307;
步骤307:接收终端下载网盘服务器上的文件包;
步骤308:接收终端对文件包进行解析,判断能否解析出预设格式的数据,如能则解析得到文件密文、会话密文、好友ID和第二密钥,执行步骤309;否则输出错误提示信息,结束;
优选的,本实施例中,如能解析成功,则得到“好友1的ID、对应的会话密文1、好友1的挑战码”、“好友2的ID、对应的会话密文2、好友2的挑战码”、“好友3的ID、对应的会话密文3、好友3的挑战码”和“文件密文”;
步骤309:接收终端判断解析得到的好友信息的好友ID是否与接收者ID匹配,是则执行骤310,否则输出错误提示信息,结束;
步骤310:接收终端输出与接收者ID对应的好友信息中的第二密钥;
步骤311:密钥生成器接收输入的与接收者ID对应的好友信息中的第二密钥,根据预设规则对第二密钥进行计算,生成好友第三密钥并输出;
步骤312:接收终端接收输入的第三密钥,并使用第三密钥对解析得到的与接收者ID对应的会话密文进行解密,如将解密成功,则执行步骤313,否则输出错误提示信息,结束;
步骤313:接收终端使用解密得到的会话密钥对解析得到的文件密文进行解密,如解密成功,则执行步骤314,如解密失败,则输出错误提示信息,结束;
步骤314:接收终端输出文件解密成功提示信息;
本实施例中,如果文件是单个文档,则步骤314可替换为:接收终端输出解密后的文档。
本发明提供的提高文件传输安全性的方法,通过在发送端使用会话密钥对将要发送的文件进行加密并且使用从密钥服务器中获取的第一密钥对会话密钥加密,将加密文件、好友ID、会话密文和从密钥服务器上获取到的第二密钥存储在网盘服务器上,通过短信、邮件等方式通知好友对文件进行查看,实现对文件一次加密发送给多个人,简化向多个人发送文件的操作;接收者接收到短信或邮件时,下载网盘服务器上存储的文件并进行解密,再使用各自的密钥生成器生成的第三密钥对会话密文进行解密,使用解密成功得到的会话密钥对文件密文解密进行查看,由于发送的文件是密文形式,没有被授权的用户无法查看,保护发送者隐私,提高文件传输安全性。
下面以具体实例详述本实施例的实现方法,发送文件预先存储在网盘上,发送者和接收者的身份均合法,分别给好友1、好友2和好友3发送文件;好友1的ID、好友2的ID和好友3的ID分别为QQ号码1、QQ号码2、QQ号码3;如图4所示,包括:
步骤401:发送终端发起与网盘服务器建立连接请求;
步骤402:网盘服务器判断发送者身份合法,给发送终端返回身份认证通过信息;
步骤403:发送终端接收包含文件标识和QQ号码1、QQ号码2、QQ号码3的第一触发信息并转发给网盘服务器;
在本实施例中,用户在终端上在存储的文件夹中选择将要发送的文件和在好友中选择QQ号码1、QQ号码2、QQ号码3形成第一触发信息;
步骤404:网盘服务器接收第一触发信息后,生成会话密钥,并使用会话密钥对将要发送的文件进行加密生成文件密文;
步骤405:网盘服务器根据QQ号码1、QQ号码2、QQ号码3从密钥服务器中分别获取密钥信息1、密钥信息2、密钥信息3,如获取到则执行步骤406,如未获取到网盘服务器给发送终端返回错误信息,发送终端输出错误信息,提示发送者发送失败,结束;
具体的,密钥信息1中包括第二密钥1和第一密钥1,密钥信息2中包括第二密钥2和第一密钥2,密钥信息3中包括第二密钥3和第一密钥3,第一密钥是密钥服务器根据预设规则对第二密钥进行计算得到的;
步骤406:网盘服务器使用第一密钥1、第一密钥2、第一密钥3分别对会话密钥进行加密,生成会话密文1、会话密文2、会话密文3;
步骤407:网盘服务器将会话密文1、QQ号码1和第二密钥1组成好友信息1,会话密文2、QQ号码2和第二密钥2组成好友信息2,会话密文3、QQ号码3和第二密钥3组成好友信息3形成一列表;
具体的,形成的列表为:
QQ号码1、会话密文1、第二密钥1;
QQ号码2、会话密文2、第二密钥2;
QQ号码3、会话密文3、第二密钥3;
步骤408:网盘服务器将文件密文和好友信息1、好友信息2、好友信息3组成文件包并进行存储,给发送终端返回已发送提示信息;
具体的,组成的文件包为:“<QQ号码1、会话密文1、挑战码1><QQ号码2、会话密文2、挑战码2><QQ号码3、会话密文3、挑战码3><文件密文>;
步骤409:发送终端输出已发送提示信息;
发送者在看到发送终端输出发送成功提示信息后,可通过短信、邮件或者其他方式通知好友1、好友2和好友3去网盘服务器上查看和解密文件,本实现方式中以好友1下载文件进行解密为例进行说明。
步骤410:好友1的接收终端发起与网盘服务器建立连接请求;
步骤411:网盘服务器判断好友1为合法用户,给好友1的接收终端发送用户合法提示信息;
步骤412:接收终端接收用户合法提示信息,下载网盘服务器上的文件包;
具体的,文件包为:文件包为:“<QQ号码1、会话密文1、第二密钥1><QQ号码2、会话密文2、第二密钥2><QQ号码3、会话密文3、第二密钥3><文件密文>;
步骤413:接收终端对文件包进行解析,判断能否解析出预设格式的数据,如能则解析得到文件密文、好友ID、第二密钥和会话密文,执行步骤414;否则输出错误提示信息,结束;
具体的,如能解析成功,则得到“QQ号码1、会话密文1、第二密钥1”“QQ号码2、会话密文2、第二密钥2”“QQ号码3、会话密文3、第二密钥3”和“文件密文”;
步骤414:接收终端判断解析得到的好友信息的好友ID中有QQ号码1,输出第二密钥1;
步骤415:密钥生成器接收输入的第二密钥1,根据预设规则对第二密钥1进行计算,生成第三密钥并输出;
具体的,好友1将接收终端输出的第二密钥1输入到自己的密钥生成器中;然后将密钥生成器输出的第三密钥输入到接收终端中;
步骤416:接收终端接收输入的第三密钥,并使用第三密钥对会话密文1进行解密,如将解密成功,则执行步骤417,否则输出错误提示信息,结束;
步骤417:接收终端使用解密得到的会话密钥对文件密文进行解密,如解密成功,则输出文件解密成功提示信息,如解密失败,则输出错误提示信息,结束。
实施例三
参见图5和图6,本发明实施例三提供了另一种提高文件传输安全性的方法,本实施例中用户预先将文件和所有好友ID均存储在网盘服务器中,预先对文件进行设置,该文件允许被哪些好友访问,本实施例中的发送终端包括终端设备即其上安装的软件,图5为本实施例方法中的文件加密过程,图6为本实施例方法中的文件解密过程;
如图5所示,文件加密过程包括:
步骤501:发送终端发起与网盘服务器建立连接请求;
步骤502:网盘服务器判断该发送者是否是合法用户,如合法则执行步骤505,如不合法则执行步骤503;
在本实施例中,网盘服务器验证发送者身份是否合法的实现方法与实施例二中的相同,在此不再赘述;
步骤503:网盘服务器给发送终端发送用户身份错误提示信息;
步骤504:发送终端接收用户身份错误提示信息并输出,结束;
步骤505:网盘服务器给发送终端发送用户合法提示信息;
步骤506:发送终端接收用户合法提示信息并输出;
步骤507:发送终端接收包含文件标识和好友ID的第一触发信息并转发给网盘服务器;
在本实施例中,第一触发信息为用户选择将要发送的文件和好友的触发信息;第一触发信息中包括文件标识和好友ID,优选的,本实施例中的好友ID设置多个;
步骤508:网盘服务器接收第一触发信息,根据与第一触发信息中的好友ID分别从密钥服务器中获取对应的密钥信息,如获取到则执行步骤511,如未获取到则执行步骤509;
本实施例中,密钥信息中包括第二密钥和第一密钥,第一密钥是密钥服务器根据与好友ID对应的预设规则对第二密钥进行计算得到的;优选的,好友ID设置多个,对应的密钥信息也有多个,密钥信息和好友ID一一对应
当步骤507中的第一触发信息只有文件标识时,本实施例中步骤508也可用步骤508’替换;
步骤508’:网盘服务器根据存储的所有好友ID从密钥服务器中获取对应的密钥信息,如获取到则执行步骤511,如未获取到则执行步骤509;
步骤509:网盘服务器给发送终端发送错误提示信息;
步骤510:发送终端接收错误提示信息并输出,结束;
步骤511:网盘服务器将与文件标识对应的文件、好友ID和密钥信息按照预设格式进行存储;
在本实施例中,网盘服务器将与文件标识对应的文件、好友ID和密钥信息顺序存储形成一列表,如好友ID有三个,形成的列表为:
文件1;
好友1的ID、密钥信息1;
好友2的ID、密钥信息2;
好友3的ID、密钥信息3;
步骤512:接收终端给网盘服务器发送解密文件的请求;
步骤513:网盘服务器判断该接收者是否是合法用户,如合法则执行步骤516,如不合法则执行步骤514;
本实施例中,网盘服务器验证该接收者是否合法与步骤302的实现方式相同,在此不再赘述;
当发送的好友ID有多个时,优选的,网盘服务器判断接收者身份是否合法为:网盘服务器判断接收者的ID与存储将要发送的好友ID是否匹配,是则接收者身份合法,否则不合法;
步骤514:网盘服务器给接收终端发送用户身份错误提示信息;
步骤515:接收终端接收用户身份错误提示信息并输出,结束;
步骤516:网盘服务器生成会话密钥,使用会话密钥对与文件标识对应的文件进行加密,生成文件密文;
步骤517:网盘服务器使用存储的与接收者标识对应的密钥信息中的第一密钥对会话密文进行加密,生成会话密文;
优选的,本实施例中,有多个密钥信息时,步骤517可用步骤517’替换;
步骤517’:网盘服务器分别使用存储的密钥信息中的第一密钥对会话密文进行加密,生成多个会话密文;
步骤518:网盘服务器将好友ID、会话密文和密钥信息中的第二密钥组成好友信息,将好友信息和文件密文组成文件包并将文件包发送给接收终端;
本实施例中,可将文件密文或者会话密文、密钥信息中的第二密钥中作为文件头,其他作为文件主体,将会话密文、密钥信息中的第二密钥作为文件头,文件密文作为文件主体组成的文件包格式为:<好友ID、会话密文、挑战码><文件密文>。
本实施例中,步骤511、步骤516-517分别用步骤511’和步骤516’代替;
步骤511’:网盘服务器生成会话密钥,使用会话密钥对与文件标识对应的文件进行加密,生成文件密文,将文件密文、好友ID和密钥信息按照预设格式存储;
步骤516’:网盘服务器使用存储的与当前好友ID对应的密钥信息中的第一密钥对会话密钥进行加密,生成会话密文;
本实施例提供的另一种提高文件传输安全性的方法,其文件解密过程如图6所示,包括:
步骤601:接收终端接收文件包,对文件包进行解析,并判断能否解析出预设格式的数据,若能则解析得到文件密文、会话密文、好友ID和第二密钥,执行步骤602,若不能则输出错误提示信息,结束;
步骤602:接收终端判断接收者的ID是否与解析得到的好友ID相同,是则执行步骤603,否则输出错误提示信息,结束;
步骤603:接收终端输出解析得到的第二密钥;
步骤604:密钥生成器接收输入的第二密钥,根据预设规则对第二密钥进行计算,生成第三密钥并输出;
步骤605:接收终端接收输入的第三密钥,并使用第三密钥对解析得到的会话密文进行解密,如将解密成功,则执行步骤606,否则输出错误提示信息,结束;
步骤606:接收终端使用解密得到的会话密钥对解析得到的文件密文进行解密,如解密成功,则执行步骤607,如解密失败,则输出错误提示信息,结束;
步骤607:接收终端输出文件解密成功提示信息;
本实施例中,如果文件是单个文档,则步骤607可替换为:接收终端输出解密后的文当。
本实施例中也可不使用会话密钥,当好友访问或下载文件时,网盘服务器直接使用该好友的动态口令对文件进行加密,将加密的文件密文组包后发送给好友终端,好友使用密钥生成器生成的第三密钥对接收到的文件进行解密。
本发明提供的提高文件传输安全性的方法,通过在发送端将好友ID、对应的密钥信息、将要发送的文件按照预设格式存储在网盘服务器上,通过短信、邮件等方式通知好友对文件区网盘服务器上对文件进行查看或好友可以去网盘服务器上访问该文件,在查看或访问时,网盘服务器会判断好友的身份是否合法,合法的话,网盘服务器生成会话密钥对文件加密,再使用从密钥服务器中获取的第一密钥对会话密钥加密,再将加密文件、会话密文、好友ID和第二密钥组成文件包发送到好友的终端上,实现对文件一次加密发送给多个人,简化向多个人发送文件的操作;接收终端接收到文件包后进行解析,解析出符合预设格式的数据时,将第二密钥输入到自己的密钥生成器中,使用密钥生成器生成的第三密钥对会话密文进行解密,使用解密成功得到的会话密钥对文件密文解密进行查看,由于发送的文件是密文形式,没有被授权的用户无法查看,保护发送者隐私,提高文件传输的安全性。
实施例四
本发明实施例四提供了又一种提高文件传输安全性的方法,本实施例中将要发送的文件预先存储在本地发送终端上,本实施例中的发送终端包括终端设备即其上安装的软件。
图7为本实施例方法中的文件加密过程,包括:
步骤701:发送终端接收包含文件信息和好友ID的第一触发信息后,生成会话密钥;
本实施例中,第一触发信息为用户选择将要发送文件和好友的触发信息;加密密钥为预先存储的随机数或者生成的随机数;优选的,本实施例中的好友ID有多个;
步骤702:发送终端使用会话密钥对将要发送的文件进行加密,生成文件密文;
步骤703:发送终端将好友ID和会话密钥发送给密钥服务器;
步骤704:密钥服务器接收好友ID和会话密钥,根据好友ID查找对应的预设规则,如找到,则执行步骤707,如未找到,则执行步骤705;
优选的,本实施例中,好友ID有多个,步骤704可替换为步骤704’,步骤704’:密钥服务器接收好友ID和会话密钥,分别根据每一个好友ID查找对应的第二密钥;
步骤705:密钥服务器给发送终端返回错误提示信息;
步骤706:发送终端接收错误提示信息并输出,结束;
步骤707:密钥服务器生成第二密钥,根据找到的预设规则对第二密钥进行计算,生成第一密钥;
优选的,本实施例中,预设规则为加密算法;
步骤708:密钥服务器使用第一密钥对会话密钥进行加密,生成会话密文;
步骤709:密钥服务器将第二密钥和会话密文发送给发送终端;
优选的,在本实施例中,步骤707-709可替换为步骤707’-709’;
步骤707’:密钥服务器根据预设规则分别对每个第二密钥对应,生成多个第一密钥;
步骤708’:密钥服务器分别使用第一密钥对会话密钥进行加密,生成多个会话密文;
步骤709’:密钥服务器将所有的第二密钥和对应会话密文发送给发送终端;
步骤710:发送终端接收第二密钥和会话密文,将好友ID、第二密钥和会话密文组成好友信息;
本实施例中,如给3个好友发送文件时,组成的好友信息为:
好友1的ID、对应的会话密文1、好友1的挑战码;
好友2的ID、对应的会话密文2、好友2的挑战码;
好友3的ID、对应的会话密文3、好友3的挑战码;
步骤711:发送终端将好友信息和文件密文组成文件包并发送给好友的接收终端;
具体的,本实施例中,发送终端将文件密文作为文件主体,将好友信息添加文件头或者文件尾,组成文件包;如:
组成的文件包为:“<文件密文><好友1的ID、对应的会话密文1、好友1的第二密钥><好友2的ID、对应的会话密文2、好友2的第二密钥><好友3的ID、对应的会话密文3、好友3的第二密钥>。
本实施例四提供的又一种提高文件传输安全性的方法,其文件解密过程如图8所示,包括:
步骤801:接收终端接收文件包并对其解析,判断能否解析出符合预设格式的数据,若能则解析出好友ID、对应的会话密文、对应的第二密钥和文件密文,执行步骤802,若不能则输出错误提示信息,结束;
步骤802:接收终端判断接收者ID与解析得到的好友ID是否匹配,是则执行步骤803,否则输出错误提示信息,结束;
步骤803:接收终端输出与接收者ID对应的第二密钥;
步骤804:密钥生成器接收输入的第二密钥,根据预设规则对第二密钥进行计算,生成第三密钥并输出;
步骤805:接收终端接收输入的第三密钥,并使用第三密钥对解析得到的会话密文进行解密,如将解密成功,则执行步骤806,否则输出错误提示信息,结束;
步骤806:接收终端使用解密得到的会话密钥对解析得到的文件密文进行解密,如解密成功,则执行步骤807,如解密失败,则输出错误提示信息,结束;
步骤807:接收终端输出解密文件成功提示信息;
本实施例中,如果文件是单个文档,则步骤807可替换为:接收终端输出解密后的文档。
本发明提供的提高文件传输安全性的方法,通过在发送端使用会话密钥对将要发送的文件进行加密并且使用从密钥服务器中获取的第一密钥对会话密钥加密,将加密文件、会话密文、第二密钥和好友ID组成文件包发送给好友,实现对文件一次加密发送给多个人,简化向多个人发送文件的操作;接收者接收到文件包进行解析,如解析得到加密文件、会话密文、第二密钥和好友ID,密钥生成器根据解析得到的第二密钥生成第三密钥,使用第三密钥对会话密文进行解密,使用解密成功得到的会话密钥对文件密文解密进行查看,由于发送的文件是密文形式,而没有被授权的用户无法查看,保护发送者隐私,提高文件传输的安全性。
实施例五
本发明实施例五提供一种提高文件传输安全性的***,是与实施例一提供方法所对应的***,如图9所示,包括:
获取模块90,用于根据触发信息中的好友标识分别在密钥服务器中获取对应的密钥信息;
第一加密模块91,用于使用生成的会话密钥对与触发信息中的文件标识对应的文件进行加密,生成文件密文;
第二加密模块92,用于分别使用密钥信息中的第一密钥对会话密钥进行加密,生成相应的会话密文;
组包模块93,用于将触发信息中的好友标识、与好友标识对应的密钥信息中的第二密钥、相应的会话密文和文件密文组成文件包;
解析判断模块94,用于获取文件包并对其进行解析,判断能否解析出符合预设格式的数据,若能则解析得到好友标识、第二密钥、会话密文和文件密文;
第一判断模块95,用于在解析出符合预设格式的数据时,根据解析得到的好友标识判断接收者是否为发送好友;
第一输出模块96,用于在接收者为发送好友时输出与所述接收者对应的所述第二密钥;
第一输入模块97,用于输入密钥生成器根据第二密钥生成的第三密钥;
第一解密模块98,用于接收第三密钥并使用该第三密钥对解析得到的会话密文进行解密;
第二解密模块99,用于在会话密文解密成功时,使用解密得到的会话密钥对解析得到的文件密文进行解密。
本实施例提供的一种提高文件传输安全性的***,通过使用会话密钥加密文件,使用第一密钥对会话密钥加密,而发送好友可各自使用密钥生成器生成的第三密钥对解析得到的会话密文解密,再使用解密成功得到的会话密钥对文件密文进行解密,简化了向多个好友发送加密文件需要分别加密发送的过程,由于发送的是加密文件,而没有被授权的用户无法查看,保护用户隐私,提高文件传输的安全性。
实施例六
参照图10,本发明实施例六提供了一种提高文件传输安全性的***的第一种实现方式,是与实施例二提供方法所对应的***,包括:发送终端10、网盘服务器11、密钥服务器12、接收终端13和密钥生成器14;本实施例中的发送终端包括终端设备即其上安装的软件。
其中,发送终端10包括:
第一通讯模块100,用于接收触发信息并转发给网盘服务器11,接收网盘服务器11返回的提示信息;
第二输出模块101,用于输出提示信息;
网盘服务器11包括:
第二通讯模块110:用于分别与发送终端10、接收终端13、密钥服务器12进行数据传输;
第一生成模块111,用于在第二通讯模块110接收到所述触发信息后,生成会话密钥;
获取模块112,用于分别根据触发信息中的好友ID去密钥服务器12中获取对应的密钥信息;
第一加密模块113,用于使用会话密钥对存储的与触发信息中的文件标识对应的文件进行加密,生成文件密文;
第二加密模块114,用于分别使用获取到的密钥信息中的第一密钥对会话密钥进行加密,生成相应的会话密文;
组包模块115,用于将触发信息中的好友ID、与好友ID对应的密钥信息中的第二密钥和相应的会话密文组成好友信息,将所有好友信息添加到文件头或文件尾,将文件密文作为文件主体组成文件包;
第一存储模块116,用于存储文件和文件包;
密钥服务器12包括:
第三通讯模块120,用于与网盘服务器11进行数据传输;
第二存储模块121,用于存储预设算法和密钥信息;密钥信息包括第二密钥和对应的第一密钥;
第二生成模块122,用于在第三通讯模块120接收到所述第二通讯模块110发送的触发信息中的好友ID后,生成第二密钥;
第一计算模块123,用于根据与接收到的好友ID对应的预设算法对生成的第二密钥进行计算生成第一密钥;
接收终端13包括:
解密判断模块130:用于从网盘服务器11上下载文件包对其进行解析,判断能否解析出符合预设格式的数据,如能则解析得到好友ID、第二密钥、会话密文和文件密文,
第一判断模块131:用于在解析出符合预设格式的数据时,根据解析得到的好友ID判断接收者是否为发送好友;
在本实施例中,第一判断模块131具体用于判断接收者ID是否与解析得到的好友ID匹配,如匹配则接收者是发送好友,如不匹配则接收者不是发送好友;
第一输出模块132,用于在接收者为发送好友时输出解析得到的与接收者对应的第二密钥,还用于输出提示信息;
第一输入模块133,用于输入密钥生成器14根据第二密钥生成的第三密钥;
第一解密模块134:用于接收第三密钥并使用第三密钥对解析得到的会话密文进行解密;
第二解密模块135:用于在会话密文解密成功时,使用解密得到的会话密钥对解析得到的文件密文进行解密;
密钥生成器14包括:
第三输入模块140,用于输入第一输出模块132输出的第二密钥;
第三存储模块141,用于存储预设算法;
第二计算模块142,用于根据存储的预设算法对输入的第二密钥进行计算,生成第三密钥;
第三输出模块143,用于输出第三密钥。
本实施例中的第一通讯模块100还用于在接收到触发信息后发起发送终端10与网盘服务器11建立连接的请求;接收终端13还包括第四通讯模块,用于发起接收终端13与网盘服务器11建立连接的请求;网盘服务器11还包括:验证模块,用于在接收到所述建立连接的请求后对发送者或接收者的身份进行验证。
本实施例提供的***,文件预先存储在网盘服务器上,网盘服务器从密钥服务器上获取密钥信息,使用生成的会话密钥对文件加密,再使用密钥信息中的第一密钥对会话密钥进行加密,将好友ID、第二密钥、会话密文和文件密文组成文件包,组包完成后发送者通过短信、邮件、QQ等方式通知好友去访问网盘服务器上的文件包,接收终端接收到通知后可访问该文件包,如接收者是发送者预设的发送好友时,接收终端通过使用密钥生成器生成的第三密钥对会话密文进行解密,再使用解密成功得到的会话密钥对文件密文进行解密,解密成功就可查看文件内容;简化了向多个好友发送加密文件的操作过程,反送文件被加密存储在网盘服务器上,提高文件传输的安全性。
实施例七
本发明实施例七提供了一种提高文件传输安全性的***的第二种实现方式,是与实施例三提供方法所对应的***,如图11所示,包括发送终端15、网盘服务器16、密钥服务器17、接收终端18和密钥生成器19;本实施例中的发送终端包括终端设备即其上安装的软件。
其中,发送终端15包括:
第一通讯模块150,用于接收触发信息并转发给密钥服务器16,用于接收密钥服务器16返回的提示信息;
第二输出模块151,用于输出提示信息;
网盘服务器16包括:
第二通讯模块160,用于分别与发送终端15、密钥服务器17、接收终端18进行数据传输;
获取模块161,用于分别根据第一存储模块162中存储好友ID去密钥服务器17中获取对应的密钥信息;密钥信息包括第二密钥和对应的第一密钥;
第一存储模块162,用于将与触发信息中的文件标识对应的文件、触发信息中的好友ID和对应的密钥信息按照预设格式进行存储,还用于存储文件;
第一生成模块163,用于在第二通讯模块160接收到接收终端15发起的下载请求后,生成会话密钥;
第一加密模块164,用于使用会话密钥对存储的与触发信息中的文件标识对应的文件进行加密,生成文件密文;
第二加密模块165,用于分别使用获取到的密钥信息中的第一密钥对会话密钥进行加密,生成相应的会话密文;
组包模块166:用于将存储的好友ID、与好友ID对应的密钥信息中的第二密钥和相应的会话密文组成好友信息,将所有好友信息添加到文件头或文件尾,将文件密文作为文件主体组成文件包;
密钥服务器17包括:
第三通讯模块170,用于与网盘服务器16进行数据传输;
第二存储模块171,用于存储预设算法和密钥信息,密钥信息包括第二密钥和对应的第一密钥;
第二生成模块172,用于在所述第三通讯模块170接收到所述第二通讯模块160发送的所述触发信息中的好友ID后,生成第二密钥;
第一计算模块173,用于根据与接收到的好友ID对应的预设算法对生成的第二密钥进行计算生成第一密钥;
接收终端18包括:
第四通讯模块180,用于接收网盘服务器16发送的文件包和提示信息;
解密判断模块181:用于对接收到的文件包进行解析,判断能否解析出符合预设格式的数据,如能则解析得到好友ID、第二密钥、会话密文和文件密文;
第一判断模块182:用于在解析出符合预设格式的数据时,根据解析得到的好友ID判断接收者的是否为发送好友;
本实施例中,第一判断模块182具体用于判断接收者的ID是否与解析得到的好友ID相同;
第一输出模块183,用于在接收者为发送好友时输出解析得到的与接收者对应的第二密钥,还用于输出提示信息;
第一输入模块184,用于输入密钥生成器19根据第二密钥生成的第三密钥;
第一解密模块185:用于接收第三密钥并使用该第三密钥对解析得到的会话密文进行解密;
第二解密模块186:用于在会话密文解密成功时,使用解密得到的会话密钥对解析得到的文件密文进行解密;
密钥生成器19包括:
第三输入模块190,用于输入第一输出模块183输出的第二密钥;
第三存储模块191,用于存储预设算法;
第二计算模块192,用于根据存储的预设算法对输入的第二密钥进行计算,生成所述第三密钥;
第三输出模块193,用于输出所述第三密钥。
本实施例中,第一通讯模块150还用于在接收到触发信息后发起发送终端15与网盘服务器16建立连接的请求;
第四通讯模块180还用于向网盘服务器16发送下载请求;
网盘服务器16还包括:验证模块167,用于在接收到连接请求后对发送者的身份进行验证,接收到下载请求后对接收者的身份进行验证;在本实施例中,验证模块167用于在接收到下载请求后,判断接收者标识是否与第一存储模块162存储的好友ID匹配。
本实施例提供的***,文件预先存储在网盘服务器上,网盘服务器从密钥服务器上获取密钥信息,当接收终端访问或下载该文件时,网盘服务器使用生成的会话密钥对文件加密,再使用密钥信息中的第一密钥对会话密钥进行加密,将好友ID、第二密钥、会话密文和文件密文组成文件包发送给接收终端,接收终端接收该文件包,如接收者是发送者预设的发送好友时,接收终端通过密钥生成器生成的第三密钥对会话密文进行解密,在使用解密成功得到的会话密钥对文件密文进行解密,解密成功就可查看文件内容;通过在好友下载文件时才对文件进行加密,简化了向多个好友发送加密文件的操作过程,且下载过程中的文件是加密的,提高文件传输的安全性。
实施例八
参照图12,本发明实施例八提供了一种提高文件传输安全性的***的第三种实现方式,是与实施例五提供方法所对应的***,包括:发送终端22、密钥服务器23、接收终端24和密钥生成器25;本实施例中的发送终端包括终端设备即其上安装的软件。
其中发送终端22,包括:
第一通讯模块220,用于接收触发信息,向接收终端发送24文件包,向密钥服务器23发送触发信息中的好友ID和会话密钥,接收密钥服务器23返回第二密钥、对应的会话密文和错误提示信息;
第二输出模块221,用于输出错误提示信息;
第一存储模块223,用于存储文件;
第一生成模块224,用于在接收到触发信息后生成会话密钥;
第一加密模块225,用于使用会话密钥对与触发信息中的文件标识对应的文件进行加密,生成文件密;
组包模块226,用于将触发信息中的好友ID、与好友ID对应的第二密钥和相应的会话密文组成好友信息,将所有好友信息添加到文件头或文件尾,将文件密文作为文件主体组成文件包;
密钥服务器23,包括:
第二通讯模块230:用于接收发送终端22发送的好友ID和会话密钥,给发送终端230返回第二密钥、对应的会话密文和错误提示信息;
第二存储模块231:用于存储预设算法和密钥信息,密钥信息包括第二密钥和对应的第一密钥;
第二生成模块232,用于生成第二密钥;
第一计算模块233,用于根据与好友ID对应的预设算法对挑战码进行计算生成对应的第一密钥;
获取模块234:分别根据好友ID在第二存储模块231中查找对应的密钥信息;
第二加密模块235,用于分别使用找到的密钥信息中的第一密钥对会话密钥进行加密,生成相应的会话密文;
接收终端24,包括:
第三通讯模块240,用于接收发送终端22发送的文件包;
解析判断模块243,用于对文件包进行解析,判断能否解析出符合预设格式的数据,如能则解析得到好友ID、第二密钥、会话密文和文件密文;
第一判断模块244,具体用于在解析出符合预设格式的数据时,判断接收者ID是否与解析得到的好友ID匹配;
第一输出模块241,用于在所述接收者为发送好友时输出解析得到的与接收者ID对应的第二密钥,还用于输出提示信息;
第一输入模块242,用于输入密钥生成器25根据第二密钥生成的第三密钥;
第一解密模块245,用于接收第三密钥,并使用该第三密钥对解析得到的会话密文进行解密;
第二解密模块246,用于在会话密文解密成功时,使用解密得到的会话密钥对解析得到的文件密文进行解密;
密钥生成器25包括:
第三输入模块250,用于输入第一输出模块241输出的第二密钥;
第三存储模块251,用于存储预设算法;
第二计算模块252,用于根据预设算法对第二密钥进行计算,生成第三密钥;
第三输出模块253,用于输出第三密钥。
本实施例提供的***,文件预先存储在发送终端上,发送终端收到触发信息后使用生成的会话密钥对文件加密,将会话密钥和好友ID发送给密钥服务器,密钥服务器使用与好友ID对应的第一密钥对会话密钥进行加密,将第二密钥和会话密文发送给发送终端,发送终端将好友ID、会话密文、第二密钥和文件密文组成文件包发送给接收终端(如QQ传送文件或邮件等方式),接收终端接收该文件包,如接收者是发送者预设的发送好友时,接收终端通过使用密钥生成器生成的第三密钥对会话密文进行解密,在使用解密成功得到的会话密钥对文件密文进行解密,解密成功就可查看文件内容;一次性加密后同时向多个好友发送文件包,简化了向多个好友发送加密文件的操作过程,且发送文件包中的文件是加过密的,提高文件传输的安全性。
本发明实施例中的组成的文件包格式和使用的加密算法并不限于此,可也通过其他方式实现,密钥生成器的输出模块可以使用显示屏以显示方式输出,在此不再赘述。
本实施例中的网盘服务器还可以用FTP、文件共享器、百度文库等***代替,实现过程相同,在此不再赘述。以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (37)
1.一种提高文件传输安全性的方法,其特征在于,包括文件加密和文件解密过程;其中所述文件加密包括:
步骤A:接收到触发信息后,根据触发信息中的多个好友标识分别在密钥服务器中获取多个对应的密钥信息;使用生成的会话密钥对与所述触发信息中的文件标识对应的文件进行加密,生成文件密文;分别使用所述密钥信息中的第一密钥对所述会话密钥进行加密,生成多个相应的会话密文;所述好友标识与所述密钥信息一一对应;所述第一密钥是密钥服务器根据预设规则对所述密钥信息中的第二密钥进行计算得到的;
步骤B:将所述触发信息中的多个好友标识、与所述多个好友标识对应的所述密钥信息中的第二密钥、多个相应的所述会话密文组成好友信息列表,将所述好友信息列表和所述文件密文组成文件包;
其中,所述文件解密过程包括:
步骤C:获取所述文件包并对其进行解析,判断能否解析出符合预设格式的数据,若能则解析得到多个好友标识、多个对应的第二密钥、多个对应的会话密文和文件密文,顺序执行步骤D,否则结束;
步骤D:判断解析得到的所述多个好友标识中是否有与接收者相匹配的标识,是则执行步骤E,否则结束;
步骤E:接收终端输出解析得到的与接收者对应的所述第二密钥,密钥生成器接收用户输入的所述第二密钥,所述密钥生成器根据所述第二密钥生成的第三密钥并输出,所述接收终端接收用户输入的所述第三密钥并使用所述第三密钥对解析得到的与所述接收者标识对应的所述会话密文进行解密,如解密成功则执行步骤F,否则结束;
步骤F:使用解密得到的会话密钥对解析得到的所述文件密文进行解密,如解密成功则输出文件传输成功,否则输出文件传输失败。
2.如权利要求1所述的方法,其特征在于,所述密钥信息包括所述第二密钥和第一密钥;所述密钥服务器生成所述第二密钥,使用与所述好友标识对应的预设算法对生成的所述第二密钥进行计算生成所述第一密钥。
3.如权利要求2所述的方法,其特征在于,所述步骤A具体为:
步骤A1:发送终端接收所述触发信息并将其转发给网盘服务器;
步骤A2:所述网盘服务器接收所述触发信息后,生成会话密钥,使用所述会话密钥对存储的与所述触发信息中的与文件标识对应的文件进行加密,生成文件密文;
步骤A3:所述网盘服务器分别根据所述触发信息中的多个好友标识从密钥服务器中获取多个对应的密钥信息,如获取到则执行步骤A4,否则给发送终端返回错误提示信息,发送终端输出错误提示信息,结束;
步骤A4:所述网盘服务器分别使用所述多个密钥信息中的第一密钥对所述会话密钥进行加密,生成多个相应的会话密文。
4.如权利要求3所述的方法,其特征在于,所述步骤A1中发送终端接收触发信息与将所述触发信息转发给网盘服务器之间,包括:
所述发送终端接收到触发信息,发起与所述网盘服务器建立连接的请求,所述网盘服务器对发送者的身份进行验证,如验证通过则给所述发送终端返回身份验证通过信息,所述发送终端将所述触发信息发送给所述网盘服务器;如验证失败则给发送终端返回身份验证失败信息,所述发送终端输出所述身份验证失败信息,结束。
5.如权利要求3所述的方法,其特征在于,所述步骤B具体为:
所述网盘服务器将所述触发信息中的好友标识、与所述好友标识对应的所述密钥信息中的第二密钥和相应的所述会话密文组成好友信息,将所有好友信息添加到文件头或文件尾,将所述文件密文作为文件主体组成文件包。
6.如权利要求5所述的方法,其特征在于,所述文件包的格式为:<好友标识1、会话密文1、第二密钥1><好友标识2、会话密文2、第二密钥2><好友标识3、会话密文3、第二密钥3><文件密文>。
7.如权利要求5所述的方法,其特征在于,所述步骤C具体为:
所述接收终端从所述网盘服务器上下载文件包并对其进行解析,判断能否解析出符合预设格式的数据,若能则解析得到好友标识、第二密钥、会话密文和文件密文,顺序执行步骤D,否则输出错误提示信息,结束。
8.如权利要求7所述的方法,其特征在于,所述步骤B和所述步骤C之间,包括:所述接收终端发起与所述网盘服务器建立连接的请求,所述网盘服务器对接收者的身份进行验证,如验证通过则给所述接收终端返回身份验证通过信息,执行步骤C;如验证失败则给所述接收终端返回身份验证失败信息,所述接收终端输出所述身份验证失败信息,结束。
9.如权利要求7所述的方法,其特征在于,所述步骤D具体为:
所述接收终端判断接收者标识是否与解析得到的所述好友标识匹配,是则执行步骤E,否则结束。
10.如权利要求9所述的方法,其特征在于,所述步骤E具体为:
所述接收终端输出解析得到的与所述接收者标识对应的所述第二密钥;
所述密钥生成器接收输入的所述第二密钥,根据预设算法对所述第二密钥进行计算生成所述第三密钥并输出;
所述接收终端根据输入的所述第三密钥对解析得到的所述会话密文进行解密,如解密成功则执行步骤F,否则结束。
11.如权利要求10所述的方法,其特征在于,所述步骤F具体为:
所述接收终端使用解密得到的会话密钥对解析得到的所述文件密文进行解密,解密成功则输出文件传输成功,否则输出文件传输失败,结束。
12.如权利要求2所述的方法,其特征在于,所述步骤A具体为:
步骤A1:发送终端接收所述触发信息并将其转发给网盘服务器;
步骤A2:所述网盘服务器分别根据所述触发信息中的好友标识从密钥服务器中获取对应的密钥信息,如获取到则执行步骤A3,否则给发送终端返回错误提示信息,发送终端输出错误提示信息,结束;
步骤A3:所述网盘服务器将与所述触发信息中的文件标识对应的文件、所述触发信息中的所有好友标识和对应的所述密钥信息按照预设格式进行存储;
步骤A4:所述网盘服务器接收到接收终端发送的下载请求后,生成会话密钥;
步骤A5:所述网盘服务器使用所述会话密钥对存储的与所述触发信息中的所述文件标识对应的文件进行加密,生成文件密文;
步骤A6:所述网盘服务器使用存储的与接收者对应的所述密钥信息中的第一密钥对所述会话密钥进行加密,生成相应的会话密文。
13.如权利要求12所述的方法,其特征在于,所述步骤A1中发送终端接收触发信息与将所述触发信息转发给网盘服务器之间,包括:
所述发送终端接收到触发信息,发起与所述网盘服务器建立连接的请求,所述网盘服务器对发送者的身份进行验证,如验证通过则给所述发送终端返回身份验证通过信息,所述发送终端将所述触发信息发送给所述网盘服务器;如验证失败则给发送终端返回身份验证失败信息,所述发送终端输出所述身份验证失败信息,结束。
14.如权利要求13所述的方法,其特征在于,所述步骤A3和步骤A4之间包括:
所述接收终端向所述网盘服务器发送下载文件请求,所述网盘服务器对接收者的身份进行验证,如验证通过则给所述接收终端返回身份验证通过信息,顺序执行步骤A4;如验证失败则给接收终端返回身份验证失败信息,所述接收终端输出所述身份验证失败信息,结束。
15.如权利要求14所述的方法,其特征在于,所述网盘服务器对接收者的身份进行验证,具体为:
所述网盘服务器判断接收者标识是否与存储的好友标识匹配,如匹配则身份验证通过,如不匹配则身份验证失败。
16.如权利要求12-15任意一项所述的方法,其特征在于,所述步骤B具体为:
所述网盘服务器将所述好友标识、与所述好友标识对应的所述密钥信息中的第二密钥和相应的所述会话密文组成好友信息,将所述好友信息添加到文件头或文件尾,将所述文件密文作为文件主体组成文件包,并将所述文件包发送给接收终端。
17.如权利要求16所述的方法,其特征在于,所述文件包的格式为:<好友标识、会话密文、第二密钥><文件密文>。
18.如权利要求16所述的方法,其特征在于,所述步骤C具体为:
所述接收终端接收所述文件包并对其进行解析,判断能否解析出符合预设格式的数据,若能则解析得到好友标识、第二密钥、会话密文和文件密文,顺序执行步骤D,否则输出错误提示信息,结束。
19.如权利要求18所述的方法,其特征在于,所述步骤D具体为:
所述接收终端判断接收者标识是否与解析得到的所述好友标识相同,是则执行步骤E,否则输出错误提示信息,结束。
20.如权利要求19所述的方法,其特征在于,所述步骤E具体为:
所述接收终端输出解析得到的与所述接收者标识对应的所述第二密钥;
所述密钥生成器接收输入的所述第二密钥,根据预设算法对所述第二密钥进行计算,生成所述第三密钥并输出;
所述发送终端根据输入的所述第三密钥对解析得到的所述会话密文进行解密,如解密成功则执行步骤F,否则结束。
21.如权利要求20所述的方法,其特征在于,所述步骤F具体为:
所述接收终端使用解密得到的会话密钥对解析得到的所述文件密文进行解密,解密成功则输出文件传输成功,否则输出文件传输失败,结束。
22.如权利要求2所述的方法,其特征在于,所述步骤A具体为:
步骤A1:发送终端接收到所述触发信息后生成会话密钥;
步骤A2:所述发送终端使用所述会话密钥对与所述触发信息中的文件标识对应的文件进行加密,生成文件密文;
步骤A3:所述发送终端将所述触发信息中的好友标识和所述会话密钥发送给所述密钥服务器;
步骤A4:所述密钥服务器分别根据所述好友标识查找对应的密钥信息,如找到则执行步骤A5,否则给所述发送终端返回错误提示信息,所述发送终端输出错误提示信息,结束;
步骤A5:所述密钥服务器分别使用所述找到的密钥信息中的第一密钥对所述会话密钥进行加密,生成相应的会话密文;
步骤A6:所述密钥服务器将所有的密钥信息中的第二密钥和相应的会话密文发送给所述发送终端。
23.如权利要求22所述的方法,其特征在于,所述步骤B具体为:
所述发送终端将所述触发信息中的好友标识、与所述好友标识对应的第二密钥和相应的所述会话密文组成好友信息,将所有好友信息添加到文件头或文件尾,将所述文件密文作为文件主体组成文件包,将所述文件包发送给接收终端。
24.如权利要求23所述的方法,其特征在于,所述文件包的格式为:<好友标识、会话密文、第二密钥><文件密文>。
25.如权利要求23所述的方法,其特征在于,所述步骤C具体为:
所述接收终端接收所述文件包并对其进行解析,判断能否解析出符合预设格式的数据,若能则解析得到好友标识、第二密钥、会话密文和文件密文,顺序执行步骤D,否则输出错误提示信息,结束。
26.如权利要求25所述的方法,其特征在于,所述步骤D具体为:
所述接收终端判断接收者标识是否与解析得到的所述好友标识匹配,是则执行步骤E,否则结束。
27.如权利要求26所述的方法,其特征在于,所述步骤E具体为:
所述接收终端输出解析得到的与所述接收者标识对应的第二密钥;
所述密钥生成器接收输入的所述第二密钥,根据预设算法对所述第二密钥进行计算,生成所述第三密钥并输出;
所述接收终端根据所述输入的第三密钥对解析得到的所述会话密文进行解密,如解密成功则执行步骤F,否则结束。
28.如权利要求27所述的方法,其特征在于,所述步骤F具体为:
所述接收终端使用解密得到的会话密钥对解析得到的所述文件密文进行解密,解密成功则输出文件传输成功,否则输出文件传输失败,结束。
29.一种提高文件传输安全性的***,其特征在于,包括:
获取模块,用于在接收到触发信息后,根据触发信息中的多个好友标识分别在密钥服务器中获取多个对应的密钥信息;所述好友标识与所述密钥信息一一对应;
第一加密模块,用于使用生成的会话密钥对与所述触发信息中的文件标识对应的文件进行加密,生成文件密文;
第二加密模块,用于分别使用所述多个密钥信息中的第一密钥对所述会话密钥进行加密,生成多个相应的会话密文;所述第一密钥是密钥服务器根据预设规则对所述密钥信息中的第二密钥进行计算得到的;
组包模块,用于将所述触发信息中的多个好友标识、与所述多个好友标识对应的所述密钥信息中的第二密钥、多个相应的所述会话密文组成好友信息列表,将所述好友信息列表和所述文件密文组成文件包;
解析判断模块,用于获取所述文件包并对其进行解析,判断能否解析出符合预设格式的数据,若能则解析得到多个好友标识、多个对应的第二密钥、多个对应的会话密文和文件密文;
第一判断模块,用于在解析出符合预设格式的数据时,判断解析得到的所述多个好友标识中是否有与接收者相匹配的标识;
第一输出模块,用于在接收者为发送好友时输出与所述接收者对应的所述第二密钥;
密钥生成器,用于接收用户输入的所述第二密钥,根据所述第二密钥生成的第三密钥并输出;
第一输入模块,用于输入密钥生成器根据所述第二密钥生成的第三密钥;
第一解密模块,用于接收所述第三密钥并使用所述第三密钥对解析得到的所述会话密文进行解密;
第二解密模块,用于在会话密文解密成功时,使用解密得到的会话密钥对解析得到的所述文件密文进行解密。
30.如权利要求29所述的***,其特征在于,包括发送终端、网盘服务器、密钥服务器、接收终端;
其中,所述发送终端包括:
第一通讯模块,用于接收触发信息并转发给所述网盘服务器,接收所述网盘服务器返回的提示信息;
第二输出模块,用于输出所述提示信息;
所述网盘服务器包括:
第二通讯模块,用于分别与所述发送终端、接收终端、密钥服务器进行数据传输;
第一生成模块,用于在所述第二通讯模块接收到所述触发信息后,生成会话密钥;
所述获取模块,用于分别根据所述触发信息中的好友标识去所述密钥服务器中获取对应的密钥信息;
所述第一加密模块,用于使用所述会话密钥对存储的与所述触发信息中的文件标识对应的文件进行加密,生成文件密文;
所述第二加密模块,用于分别使用所述获取到的密钥信息中的第一密钥对所述会话密钥进行加密,生成相应的会话密文;
所述组包模块,用于将所述触发信息中的好友标识、与所述好友标识对应的所述密钥信息中的第二密钥和相应的所述会话密文组成好友信息,将所有好友信息添加到文件头或文件尾,将所述文件密文作为文件主体组成文件包;
第一存储模块,用于存储所述文件和所述文件包;
所述密钥服务器包括:
第三通讯模块,用于与所述网盘服务器进行数据传输;
第二存储模块,用于存储预设算法和所述密钥信息,所述密钥信息包括所述第二密钥和对应的所述第一密钥;
第二生成模块,用于在所述第三通讯模块接收到所述第二通讯模块发送的所述触发信息中的好友标识后,生成所述第二密钥;
第一计算模块,用于根据与接收到的所述好友标识对应的预设算法对所述生成的第二密钥进行计算生成所述第一密钥;
所述接收终端包括:
所述解密判断模块,用于从所述网盘服务器上下载文件包对其进行解析,判断能否解析出符合预设格式的数据,如能则解析得到好友标识、第二密钥、会话密文和文件密文;
所述第一判断模块,用于在解析出符合预设格式的数据时,根据解析得到的所述好友标识判断接收者是否为发送好友;
所述第一输出模块,用于在接收者为发送好友时输出解析得到的与所述接收者对应的第二密钥,还用于输出提示信息;
所述第一输入模块,用于输入所述密钥生成器根据所述第二密钥生成的第三密钥;
所述第一解密模块,用于接收所述第三密钥,并使用所述第三密钥对解析得到的所述会话密文进行解密;
所述第二解密模块,用于在所述会话密文解密成功时,使用解密得到的会话密钥对解析得到的所述文件密文进行解密;
所述密钥生成器包括:
第三输入模块,用于输入所述第一输出模块输出的第二密钥;
第三存储模块,用于存储预设算法;
第二计算模块,用于根据所述存储的预设算法对输入的所述第二密钥进行计算,生成所述第三密钥;
第三输出模块,用于输出所述第三密钥。
31.如权利要求30所述的***,其特征在于,所述第一通讯模块还用于在接收到触发信息后发起所述发送终端与所述网盘服务器建立连接的请求;
所述接收终端还包括第四通讯模块,用于发起所述接收终端与所述网盘服务器建立连接的请求;
所述网盘服务器还包括验证模块,用于在接收到所述建立连接的请求后对发送者或接收者的身份进行验证。
32.如权利要求30所述的***,其特征在于,所述第一判断模块具体用于判断接收者标识是否与解析得到的所述好友标识匹配,如匹配则接收者是发送好友,如不匹配则接收者不是发送好友。
33.如权利要求29所述的***,其特征在于,包括发送终端、网盘服务器、密钥服务器、接收终端;
其中,所述发送终端包括:
第一通讯模块,用于接收触发信息并转发给所述密钥服务器,用于接收所述密钥服务器返回的提示信息;
第二输出模块,用于输出所述提示信息;
所述网盘服务器包括:
第二通讯模块,用于分别与所述发送终端、密钥服务器、接收终端进行数据传输;
所述获取模块,用于分别根据存储的好友标识去所述密钥服务器中获取对应的密钥信息,所述密钥信息包括所述第二密钥和对应的所述第一密钥;
第一存储模块,用于将与所述触发信息中的文件标识对应的文件、所述触发信息中的好友标识和对应的所述密钥信息按照预设格式进行存储,还用于存储文件;
第一生成模块,用于在所述第二通讯模块接收到接收终端发起的下载请求后,生成会话密钥;
所述第一加密模块,用于使用所述会话密钥对存储的与所述触发信息中的文件标识对应的文件进行加密,生成文件密文;
所述第二加密模块,用于分别使用所述获取到的密钥信息中的第一密钥对所述会话密钥进行加密,生成相应的会话密文;
所述组包模块,用于将所述好友标识、与所述好友标识对应的所述密钥信息中的第二密钥和相应的所述会话密文组成好友信息,将所有好友信息添加到文件头或文件尾,将所述文件密文作为文件主体组成文件包;
所述密钥服务器包括:
第三通讯模块,用于与所述网盘服务器进行数据传输;
第二存储模块,用于存储预设算法和密钥信息,所述密钥信息包括第二密钥和对应的第一密钥;
第二生成模块,用于在所述第三通讯模块接收到所述第二通讯模块发送的所述触发信息中的好友标识后,生成第二密钥;
第一计算模块,用于根据与所述接收到的好友标识对应的所述预设算法对所述生成的第二密钥进行计算生成第一密钥;
所述接收终端包括:
第四通讯模块,用于接收所述网盘服务器发送的文件包和提示信息;
所述解密判断模块,用于对接收到的所述文件包进行解析,判断能否解析出符合预设格式的数据,如能则解析得到好友标识、第二密钥、会话密文和文件密文;
所述第一判断模块,用于在解析出符合预设格式的数据时,根据解析得到的所述好友标识判断接收者的是否为发送好友;
所述第一输出模块,用于在接收者为发送好友时输出解析得到的与所述接收者对应的第二密钥,还用于输出提示信息;
所述第一输入模块,用于输入所述密钥生成器根据所述第二密钥生成的第三密钥;
所述第一解密模块,用于接收所述第三密钥并使用所述第三密钥对解析得到的所述会话密文进行解密;
所述第二解密模块,用于在所述会话密文解密成功时,使用解密得到的会话密钥对解析得到的所述文件密文进行解密;
所述密钥生成器包括:
第三输入模块,用于输入所述第一输出模块输出的第二密钥;
第三存储模块,用于存储预设算法;
第二计算模块,用于根据存储的预设算法对输入的所述第二密钥进行计算,生成所述第三密钥;
第三输出模块,用于输出所述第三密钥。
34.如权利要求33所述的***,其特征在于,所述第一判断模块具体用于判断接收者标识是否与解析得到的所述好友标识相同。
35.如权利要求33所述的***,其特征在于,所述第一通讯模块还用于在接收到触发信息后发起所述发送终端与所述网盘服务器建立连接的请求;
所述第四通讯模块还用于向所述网盘服务器发送下载请求,所述获取模块用于在所述第二通讯模块接收到所述下载请求后开始工作;
所述网盘服务器还包括:验证模块,用于在接收到所述连接请求后对发送者的身份进行验证,接收到所述下载请求后对接收者的身份进行验证。
36.如权利要求35所述的***,其特征在于,所述验证模块具体用于在接收到下载请求后,判断接收者标识是否与所述第一存储模块中存储的好友标识匹配。
37.如权利要求29所述的***,其特征在于,包括:发送终端、密钥服务器、接收终端;
其中所述发送终端,包括:
第一通讯模块,用于接收触发信息,向所述接收终端发送文件包,向所述密钥服务器发送所述触发信息中的好友标识和会话密钥,接收所述密钥服务器返回的第二密钥、对应的会话密文和错误提示信息;
第二输出模块,用于输出所述错误提示信息;
第一存储模块,用于存储文件;
第一生成模块,用于在接收到所述触发信息后生成所述会话密钥;
所述第一加密模块,用于使用所述会话密钥对与所述触发信息中的文件标识对应的文件进行加密,生成文件密文;
所述组包模块,用于将所述触发信息中的好友标识、与所述好友标识对应的第二密钥和相应的所述会话密文组成好友信息,将所有好友信息添加到文件头或文件尾,将所述文件密文作为文件主体组成文件包;
所述密钥服务器,包括:
第二通讯模块:用于接收所述发送终端发送的所述好友标识和会话密钥,给所述发送终端返回所述第二密钥、对应的会话密文和错误提示信息;
第二存储模块:用于存储预设算法和密钥信息,所述密钥信息包括所述第二密钥和对应的第一密钥;
第二生成模块,用于生成所述第二密钥;
第一计算模块,用于根据与所述好友标识对应的预设算法对挑战码进行计算生成对应的第一密钥;
所述获取模块,分别根据所述好友标识在所述第二存储模块中查找对应的密钥信息;
所述第二加密模块,用于分别使用所述找到的密钥信息中的第一密钥对所述会话密钥进行加密,生成相应的会话密文;
所述接收终端,包括:
第三通讯模块,用于接收所述发送终端发送的文件包;
所述解析判断模块,用于对所述文件包进行解析,判断能否解析出符合预设格式的数据,如能则解析得到好友标识、第二密钥、会话密文和文件密文;
所述第一判断模块,具体用于在解析出符合预设格式的数据时,判断接收者标识是否与解析得到的所述好友标识匹配;
所述第一输出模块,用于在接收者为发送好友时输出解析得到的与所述接收者标识对应的第二密钥,还用于输出提示信息;
所述第一输入模块,用于输入所述密钥生成器根据所述第二密钥生成的第三密钥;
所述第一解密模块,用于接收所述第三密钥并使用所述第三密钥对解析得到的所述会话密文进行解密;
所述第二解密模块,用于在会话密文解密成功时,使用解密得到的会话密钥对解析得到的所述文件密文进行解密;
所述密钥生成器包括:
第三输入模块,用于输入所述第一输出模块输出的第二密钥;
第三存储模块,用于存储预设算法;
第二计算模块,用于根据所述预设算法对所述第二密钥进行计算,生成所述第三密钥;
第三输出模块,用于输出所述第三密钥。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110385692.2A CN102420821B (zh) | 2011-11-28 | 2011-11-28 | 一种提高文件传输安全性的方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110385692.2A CN102420821B (zh) | 2011-11-28 | 2011-11-28 | 一种提高文件传输安全性的方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102420821A CN102420821A (zh) | 2012-04-18 |
CN102420821B true CN102420821B (zh) | 2015-05-27 |
Family
ID=45945056
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110385692.2A Active CN102420821B (zh) | 2011-11-28 | 2011-11-28 | 一种提高文件传输安全性的方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102420821B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103581254B (zh) * | 2012-08-01 | 2017-06-27 | 中国电信股份有限公司 | 下发内容的方法以及内容分发服务器 |
CN103473514A (zh) * | 2013-09-06 | 2013-12-25 | 宇龙计算机通信科技(深圳)有限公司 | 数据存储访问方法及装置 |
KR102195900B1 (ko) * | 2013-12-20 | 2020-12-29 | 삼성전자주식회사 | 단말간 암호화된 메시지를 송수신하는 방법 및 장치 |
CN104135493A (zh) * | 2014-08-22 | 2014-11-05 | 上海众人科技有限公司 | 一种文件压缩方法及其*** |
CN106453448A (zh) * | 2015-08-06 | 2017-02-22 | 北京奇虎科技有限公司 | 用于下载目标文件的方法及装置 |
CN106487761B (zh) * | 2015-08-28 | 2020-03-10 | 华为终端有限公司 | 一种消息传输方法和网络设备 |
CN105812383A (zh) * | 2016-05-03 | 2016-07-27 | 江苏科技大学 | 基于多网盘分存的信息隐藏方法 |
CN107317606B (zh) * | 2017-07-03 | 2020-05-19 | 飞天诚信科技股份有限公司 | 一种蓝牙防追踪的方法及设备 |
CN109286635A (zh) * | 2018-11-08 | 2019-01-29 | 蓝信移动(北京)科技有限公司 | 多端登录数据加密方法 |
CN110830243B (zh) * | 2019-10-18 | 2023-06-09 | 中国第一汽车股份有限公司 | 对称密钥分发方法、装置、车辆及存储介质 |
CN111049726B (zh) * | 2019-11-13 | 2023-06-30 | 北京达佳互联信息技术有限公司 | 文件分享方法、装置、***、客户端、服务器及存储介质 |
CN111182172A (zh) * | 2020-01-03 | 2020-05-19 | 北京中电飞华通信有限公司 | 一种传真业务的处理方法、***及电子设备 |
CN111416807B (zh) * | 2020-03-13 | 2022-06-07 | 苏州科达科技股份有限公司 | 数据获取方法、装置及存储介质 |
CN112434315B (zh) * | 2020-11-20 | 2022-09-20 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种附件访问方法、服务器和访问端 |
CN112788005B (zh) * | 2020-12-29 | 2023-05-23 | 福建正孚软件有限公司 | 一种软硬件结合的提高安全性的跨境传输方法和*** |
CN112613058A (zh) * | 2020-12-30 | 2021-04-06 | 绿盟科技集团股份有限公司 | 一种加密密钥的找回方法、装置、电子设备及存储介质 |
CN115147956B (zh) * | 2022-06-29 | 2024-06-14 | 中国第一汽车股份有限公司 | 数据处理方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1889426A (zh) * | 2005-06-30 | 2007-01-03 | 联想(北京)有限公司 | 一种实现网络安全存储与访问的方法及*** |
CN101068425A (zh) * | 2007-06-29 | 2007-11-07 | 华为技术有限公司 | 用于移动终端本地信息的加锁解锁方法和装置 |
CN101183938A (zh) * | 2007-10-22 | 2008-05-21 | 华中科技大学 | 一种无线网络安全传输方法、***及设备 |
CN101291325A (zh) * | 2007-04-17 | 2008-10-22 | 三星电子株式会社 | 对消息加密的方法以及对消息解密的方法 |
-
2011
- 2011-11-28 CN CN201110385692.2A patent/CN102420821B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1889426A (zh) * | 2005-06-30 | 2007-01-03 | 联想(北京)有限公司 | 一种实现网络安全存储与访问的方法及*** |
CN101291325A (zh) * | 2007-04-17 | 2008-10-22 | 三星电子株式会社 | 对消息加密的方法以及对消息解密的方法 |
CN101068425A (zh) * | 2007-06-29 | 2007-11-07 | 华为技术有限公司 | 用于移动终端本地信息的加锁解锁方法和装置 |
CN101183938A (zh) * | 2007-10-22 | 2008-05-21 | 华中科技大学 | 一种无线网络安全传输方法、***及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102420821A (zh) | 2012-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102420821B (zh) | 一种提高文件传输安全性的方法和*** | |
CN108574569B (zh) | 一种基于量子密钥的认证方法及认证装置 | |
CN101510877B (zh) | 单点登录方法和***、通信装置 | |
CN104917759B (zh) | 基于第三方的安全文件存储和共享***及方法 | |
CN108683501B (zh) | 基于量子通信网络的以时间戳为随机数的多次身份认证***和方法 | |
CN106452739A (zh) | 一种量子网络服务站以及量子通信网络 | |
CN103812651B (zh) | 密码验证方法、装置及*** | |
CN108650028B (zh) | 基于量子通信网络与真随机数的多次身份认证***和方法 | |
CN101815091A (zh) | 密码提供设备、密码认证***和密码认证方法 | |
CN106506479B (zh) | 密码认证的方法、***及客户端、服务器和智能设备 | |
CN106161444B (zh) | 数据安全存储方法及用户设备 | |
CN104009989A (zh) | 一种媒体文件的防盗链方法、***及服务器 | |
CN105025019A (zh) | 一种数据安全分享方法 | |
CN105049877A (zh) | 一种用于直录播互动***的加密方法及装置 | |
CN101720071A (zh) | 基于安全sim卡的短消息两阶段加密传输和安全存储方法 | |
CN101621794A (zh) | 一种无线应用服务***的安全认证实现方法 | |
CN105141635A (zh) | 一种群发消息安全通讯的方法和*** | |
CN113067699A (zh) | 基于量子密钥的数据共享方法、装置和计算机设备 | |
CN108809633A (zh) | 一种身份认证的方法、装置及*** | |
CN106605419A (zh) | 用于安全的sms通信的方法和*** | |
CN108964895B (zh) | 基于群组密钥池和改进Kerberos的User-to-User身份认证***和方法 | |
CN103236934A (zh) | 一种云存储安全控制的方法 | |
CN102970228A (zh) | 一种基于IPsec的报文传输方法和设备 | |
CN206042014U (zh) | 一种量子网络服务站以及量子通信网络 | |
CN111224958A (zh) | 一种数据传输方法和*** |
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 |