文件加密方法、系统、服务器和存储介质与流程

文档序号:23011058发布日期:2020-11-20 12:09阅读:402来源:国知局
文件加密方法、系统、服务器和存储介质与流程

本发明实施例涉及数据加密领域,特别涉及文件加密方法、系统、服务器和存储介质。



背景技术:

个人手机、电脑上存在大量的个人数据,例如照片,高价值的文件材料,因此需要进行数据备份,公有云存储由于其容量大,近乎免费的特点,是个人数据备份的重要选择。但公有云数据往往面临很大的隐私风险,数据明文存储,存在黑客攻击,甚至公有云内部的数据泄漏风险,而且一旦被泄漏,用户无法知道数据泄漏源头。

针对这种情况,有方案提出了借鉴公钥密码体制的思想,将ecc椭圆曲线算法运用到数字水印这一领域,建立类似于公钥密码系统的公钥数字水印模型。

然而,ecc是公钥加密算法,数据加解密只能用一对公钥和私钥完成,在文件数据的共享过程中,解密方需要对应的私钥,涉及到私钥的分发和存储,增加密钥维护管理的需求,容易产生密钥泄漏等安全风险。



技术实现要素:

本发明实施方式的目的在于提供一种文件加密方法、系统、服务器和存储介质,使得文件在共享或备份时更加安全。

为解决上述技术问题,本发明的实施方式提供了一种文件加密方法,包括以下步骤:通过基于身份的加密算法ibe对待加密文件进行数字签名生成签名结果;通过所述ibe算法对所述待加密文件进行加密生成文件密文;根据水印信息生成水印;将所述签名结果、所述密文和所述水印进行打包作为加密后的文件。

本发明的实施方式还提供了一种文件加密系统,包括:

发送方客户端,用于向pkg发送用户标识;接收所述pkg返回的私钥;通过aes算法加密待加密文件生成文件密文和密文密钥;通过所述ibe算法结合接收方身份标识对所述密文密钥进行加密;将所述文件密文和密钥密文发送至服务器;

所述服务器,用于接收所述发送方客户端发送的所述文件密文和所述密钥密文;存储所述文件密文和所述密钥密文;通过所述ibe对所述待加密文件进行数字签名生成签名结果;根据水印信息生成水印;将所述签名结果、所述密文和所述水印进行打包作为加密后的文件;将所述加密后文件发送至接收方客户端;

所述接收方客户端,用于向所述pkg发送所述用户标识;接收所述pkg返回的所述私钥;根据所述私钥解密所述密文密钥得到所述加密密钥;对所述数字签名进行验证;根据所述加密密钥解密所述文件密文。

本发明的实施方式还提供了一种服务器,包括:

至少一个处理器;以及,

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-8任一所述的文件加密方法。

本发明实施方式相对于现有技术而言,对采用基于身份的加密算法进行加密,限定了可解密目标的身份,即只有符合身份标识人员的密钥才可以解密,提高了文件的保密性,并对加密后的文件打印上水印,将发送端和接收端的身份标识嵌入水印中,并对文件摘要进行加密,使得文件在传输过程中可以验证文件的完整性,并可以对文件进行溯源,满足了在文件传输过程中的安全需求。

另外,本发明实施方式提供的文件加密方法,通过所述ibe算法结合发送方身份标识生成私钥;根据所述私钥对所述待加密文件的摘要信息进行所述数字签名;根据所述数字签名生成所述签名结果。通过ibe算法,将用户身份标识应用到文件加密和数字签名的过程,使得文件的加解密及文件完整性验证都需要结合用户身份标识,增加了文件的安全性。

另外,本发明实施方式提供的文件加密方法,通过所述ibe算法结合所述发送方用户标识生成所述私钥;通过高级加密标准算法aes加密所述待加密的文件生成文件密文和密文密钥;通过所述ibe算法结合接收方身份标识对所述密文密钥进行加密。使用aes算法可以加快文件的加密速度,在密文密钥进行ibe算法加密,强化了文件的安全效果。

另外,本发明实施方式提供的文件加密方法,将所述文件密文和所述密钥密文发送至服务器;所述服务器储存接收到所述文件密文和所述密钥密文。通过服务器储存文件密文和密钥密文,使得接收方用户必须要通过发送用户标识来确认身份才能获取文件密文进行解密,获取文件信息。

附图说明

一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。

图1是本发明的第一实施方式提供的文件加密方法的流程图一;

图2是本发明的第一实施方式提供的文件加密方法的流程图二;

图3是本发明的第一实施方式提供的文件加密方法的流程图三;

图4是本发明的第一实施方式提供的文件加密方法的流程图四;

图5是本发明的第一实施方式提供的文件加密方法的流程图五;

图6是本发明的第二实施方式提供的文件加密系统的结构示意图;

图7是本发明的第三实施方式提供的服务器的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。

以下各个实施例的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。

本发明的第一实施方式涉及一种文件加密方法。具体流程如图1所示。

步骤101,通过基于身份的加密算法ibe对待加密文件进行数字签名生成签名结果。

在本实施方式中,ibe算法是结合用户身份进行加密的方法,具体流程如图2所示:

步骤201,通过ibe算法结合发送方身份标识生成私钥。

具体地,将发送方身份标识发送至pkg,其中,pkg为ibe私钥生成器,功能为:在ibe算法初始化时,根据用户id为用户生成相应的私钥。

步骤202,根据私钥对待加密文件的摘要信息进行数字签名。

步骤203,根据数字签名生成签名结果。

具体地,对摘要信息进行数字签名的流程为:

对文件进行散列函数(hash)处理,生成摘要信息;

通过ibe算法生成的私钥加密摘要信息,生成数字签名。

进一步地,对摘要信息进行数字签名可以验证文件的完整性,检验文件在传输过程中是否发生篡改。

具体地,验证文件的完整性的流程为:

接收带有数字签名的文件;对接收到的文件进行hash函数处理生成对照摘要信息;接受发送方用户公钥;根据公钥解密数字签名生成摘要信息;比较对照摘要信息和摘要信息是否一致;

如果是一致的说明文件在传输过程没有被篡改。

步骤102,通过ibe算法对待加密文件进行加密生成文件密文。

在本实施方式中,生成密文的具体流程如图3所示:

步骤301,通过ibe算法结合发送方用户标识生成私钥;

具体地,客户端发送用户标识至pkg,其中,客户端可以为手机或者电脑,此处仅为举例,对客户端具体设备不做限定。pkg返回对应于客户端的私钥。

步骤302,通过高级加密标准算法aes加密待加密的文件生成文件密文和密文密钥;

具体地,使用aes算法加密文件生成文件密文和密钥keyaes,由于aes算法是对称加密算法,因而在加密文件数据这类大量的数据信息时,可以快速完成加密,加快密文的生成速度。

步骤303,通过所述ibe算法结合接收方身份标识对所述密文密钥进行加密。

具体地,通过ibe算法对keyaes进行加密生成密钥密文,由于ibe算法是基于身份的加密算法,根据用户身份生成密钥,安全性更高。但由于ibe算法是非对称加密算法,加密速度较慢,因而在本实施方式中,应用ibe加密算法加密密钥,减少了加密的工作量,加快了加密速度。

进一步地,将生成的文件密文和密钥密文发送至服务器,由服务器进行存储。服务器不与pkg进行通信连接,因而无法获取私钥,使得存储于服务器中的文件只有通过客户端的私钥才能进行解密,保障了服务器中的文件数据安全。

步骤103,根据水印信息生成水印。

在本实施方式中,水印信息包括发送方身份标识、接收方身份标识和追踪模块,通过验证水印可以得知加密文件的传输过程,在发生信息泄露时更容与找到泄露源头。追踪模块是用于记录文件的使用操作和共享行为的模块,通过追踪模块的记录及发送和接收方用户信息可以做到对文件进行溯源,对文件传输进行跟踪。

具体地,水印信息通过水印嵌入算法嵌入水印中,作为暗水印存在于加密文件中。

特别地,可选择在加密文件中增添明水印。

步骤104,将签名结果、文件密文和水印进行打包作为加密后的文件。

在本实施方式中,步骤103-104是在服务器中进行的,服务器接收到客户端发动的文件后,对文件进行处理,在文件中嵌入水印,水印包含水印信息,将含有水印和数字签名的文件密文发送给接收方。

具体地,接收方接收加密后的文件并进行破解的流程如图4所示:

步骤401,向pkg发送用户标识。

步骤402,接收pkg返回的私钥。

步骤403,向服务器发送文件获取请求。

步骤404,接收服务器返回的加密后的文件和密文密钥,其中,加密后的文件包括文件密文、签名结果和水印。

步骤405,根据私钥解密密文密钥得到所述加密密钥。

步骤406,对所述数字签名进行验证。

具体地,验证数字签名的目的是为了确认文件的完整性及验证发送者的身份,具体的验证流程如图5所示:

步骤501,接收带有数字签名的文件。

步骤502,对接收到的文件进行hash函数处理生成对照摘要信息。

具体地,由于公钥算法的计算量较大,因此采用hash函数对摘要进行处理,减少了运算量。

步骤503,接受发送方用户公钥。

步骤504,根据公钥解密数字签名生成摘要信息,。

步骤505,比较对照摘要信息和摘要信息是否一致。

具体地,由于相同的数据经过hash函数处理会得到相同的数据结果,因此通过对文件进行hash处理,可以验证文件是否发生变动。

步骤407,根据所述加密密钥解密所述文件密文。

上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。

本发明第二实施方式涉及一种文件加密系统,如图6所示,包括:

发送方客户端601,用于向pkg发送用户标识;接收pkg返回的私钥;通过aes算法加密待加密文件生成文件密文和密文密钥;通过ibe算法结合接收方身份标识对所述密文密钥进行加密;将所述文件密文和密钥密文发送至服务器;

服务器602,用于接收所述发送方客户端发送的文件密文和密钥密文;存储文件密文和密钥密文;通过ibe对待加密文件进行数字签名生成签名结果;根据水印信息生成水印;将签名结果、密文和水印进行打包作为加密后的文件;将加密后文件发送至接收方客户端;

接收方客户端603,用于向pkg发送所述用户标识;接收所述pkg返回的所述私钥;根据所述私钥解密所述密文密钥得到所述加密密钥;对所述数字签名进行验证;根据所述加密密钥解密所述文件密文。

pkg604,用于接收客户端身份标识;发送客户端身份标识对应私钥。

在本实施方式中,pkg是作为ibe密钥服务器发布在ibe加密系统中,进行终端的身份检测和对应用户标识认证管理。

不难发现,本实施方式为与第一实施方式相对应的系统实施例,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。

值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。

本发明第三实施方式涉及一种服务器,如图7所示:

包括至少一个处理器701;以及,

与所述至少一个处理器702通信连接的存储器701;其中,

存储器存储有可被至少一个处理器执行的指令,所述指令被至少一个处理器执行,以使所述至少一个处理器执行任一所述的文件加密方法。

其中,存储器和处理器采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器和存储器的各种电路链接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器。

处理器负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器可以被用于存储处理器在执行操作时所使用的数据。

本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1