支持可搜索透明加密的层级密钥技术的制作方法

文档序号:18357213发布日期:2019-08-06 23:18阅读:228来源:国知局
支持可搜索透明加密的层级密钥技术的制作方法

本发明属于计算机信息安全领域,具体涉及支持可搜索透明加密的层级密钥技术。



背景技术:

信息技术的发展,使得电子文档数量剧增,并将继续增加。云存储是解决电子文档大数据存储难题的解决方案。但是云服务器处于不可信任的第三方,数据和隐私泄密事件时常发生,为了解决云存储的安全问题,需要对存储在云服务器上的电子文档提供非第三方的加密服务。但在大数据背景下,云服务器上的电子文档的加密会带来使用困难,当需要检索电子文档时,需要全部下载到客户端进行解密,这导致效率问题。为解决该问题,需要采用支持可搜索加密和对用户透明的加密技术。

可搜索透明加密需要对文档索引、文档权限、文档目录、文档进行加密,如果采用单个密钥或者多个平级密钥将会带来安全隐患。为此,本发明设计支持可搜索透明加密下的多层密钥生成方法。

中国发明专利cn201510416240.4公开了一种单个、单级和多级密钥对分散方法及其系统,涉及密钥的分散方法。中国发明专利201510831793.6公开了一种基于硬件的多级密钥协商方法,其将局域网中的主机分为安全服务器和用户客户机,然后展开密钥协商。

但上述密钥方法并不涉及如何多可搜索和透明加密进行多层或多级密钥生成或管理。



技术实现要素:

本发明所要解决的技术问题是:提供支持可搜索透明加密的层级密钥生成方法。可搜索透明加密对电子文档进行处理,需要对电子文档权限、文档索引、文档目录进行加密,需要对电子文档进行分片,并对每一个分片进行加密。

在第一方面,本发明提供了一种支持可搜索加密的层级密钥生成方法,该方法包括:

1)生成第一层密钥,所述第一层密钥为根密钥k;

2)根据步骤1)生成的根密钥生成第二层密钥,所述第二层密钥为主密钥,其包括对索引和查询关键词进行加密的主密钥km1、对文档目录进行加密的主密钥km2、对文档权限加密的主密钥km3和对文档加密的主密钥km4;

3)根据步骤2)生成的第二层密钥生成第三层密钥,所述第三层密钥为二级密钥,其包括索引和查询关键词公钥ki和私钥sk,文档目录密钥kd,文档权限公钥ka和私钥ask,文档密钥kf;

4)根据步骤3)生成的第三层密钥生成第四层密钥,所述第四层密钥为工作密钥,其包括索引及查询关键词工作密钥集{kiw1,…,kiwn1}和陷门密钥集{qw1,…,qwn2},目录工作密钥集{kdw1,…,kdwn3},文档权限工作密钥集{kaw1,…,kawn}和陷门密钥集{qaw1,…,qawn},文档加密工作密钥集{kfw1,…,kfwn};

5)根据步骤4)生成的第四层密钥生成第五层密钥,所述第五层密钥为文档分片加密密钥{kfsi1,…,kfsin4}。

进一步地,所述步骤1)包括:

由随机数发生器生成随机数r1,密钥生成函数以r1为变量生成根密钥k。

进一步地,所述步骤2)包括:

由随机数发生器生成随机数r2、r3、r4和r5,密钥生成函数分别以(k,r2)、(k,r3)、(k,r4)和(k,r5)为变量生成对索引和查询关键词进行加密的主密钥km1,对文档目录进行加密的主密钥km2,对文档权限加密的主密钥km3,对文档加密的主密钥km4。

进一步地,所述步骤3)包括:

由随机数发生器生成随机数r6、r7、r8和r9,密钥生成函数分别以(km1,r6)、(km2,r7)、(km3,r8)和(km4,r9)为变量分别生成索引和查询关键词公钥ki和私钥sk,文档目录密钥kd,文档权限公钥ka和私钥ask,文档密钥kf。

进一步地,所述步骤4)具体包括:

所述步骤4)具体包括:

将步骤3)中的索引和查询关键词公钥ki与文档关键词集合wd={w1,w2,…wd}生成索引及查询关键词工作密钥集{kiw1,…,kiwn1},将步骤3)中的索引和查询关键词私钥sk与查询关键词集合wq={w1,w2,…wq}生成所述陷门密钥集{qw1,…,qwn};

将步骤3)中的文档目录密钥kd与数量为n3的目录id生成目录工作密钥集{kdw1,…,kdwn3};

将步骤3)中的文档权限公钥ka与文档id生成文档权限工作密钥,文档权限工作密钥集合为{kaw1,…,kawn};将文档权限私钥ask和文档id生成陷门密钥集{qaw1,…,qawn};

将步骤3)中的文档密钥kf与所有文档id生成文档加密工作密钥集{kfw1,…,kfwn}。

进一步地,所述步骤5)具体包括:

对文档di划分成im个分片,每个分片的密钥由该文档的工作密钥kfwi与该文档分片的id生成,所有的文档分片加密密钥集为{kfsi1,…,kfsin4}。

在第二方面,本发明提供了一种支持可搜索加密的层级密钥生成系统,该系统包括:

第一层密钥生成单元,用以生成第一层密钥,所述第一层密钥为根密钥k;

第二层密钥生成单元,用以根据生成的根密钥生成第二层密钥,所述第二层密钥为主密钥,其包括对索引和查询关键词进行加密的主密钥km1、对文档目录进行加密的主密钥km2、对文档权限加密的主密钥km3和对文档加密的主密钥km4;

第三层密钥生成单元,用以根据生成的第二层密钥生成第三层密钥,所述第三层密钥为二级密钥,其包括索引和查询关键词公钥ki和私钥sk,文档目录密钥kd,文档权限公钥ka和私钥ask,文档密钥kf;

第四层密钥生成单元,用以根据生成的第三层密钥生成第四层密钥,所述第四层密钥为工作密钥,其包括索引及查询关键词工作密钥集{kiw1,…,kiwn1}和陷门密钥集{qw1,…,qwn2},目录工作密钥集{kdw1,…,kdwn3},文档权限工作密钥集{kaw1,…,kawn}和陷门密钥集{qaw1,…,qawn},文档加密工作密钥集{kfw1,…,kfwn};

第五层密钥生成单元,用以根据生成的第四层密钥生成第五层密钥,所述第五层密钥为文档分片加密密钥{kfsi1,…,kfsin4}。

进一步地,所述第二层密钥生成单元包括:

索引和查询关键词加密主密钥生成单元,用以根据跟密钥k生成对索引和查询关键词进行加密的主密钥km1;

文档目录加密主密钥生成单元,用以根据跟密钥k生成对文档目录进行加密的主密钥km2;

文档权限加密主密钥生成单元,用以根据跟密钥k生成对文档权限加密的主密钥km3;

文档加密主密钥生成单元,用以根据跟密钥k生成对文档加密的主密钥km4。

进一步地,所述第三层密钥生成单元包括:

索引和查询关键词公私钥生成单元,用以根据对索引和查询关键词加密的主密钥km1生成索引和查询关键词公钥ki和私钥sk;

文档目录密钥生成单元,用以根据对文档目录进行加密的主密钥km2生成文档目录密钥kd;

文档权限公私钥生成单元,用以根据对文档权限加密的主密钥km3生成文档权限公钥ka和私钥ask;

文档密钥生成单元,用以根据对文档加密的主密钥km4生成文档密钥kf。

进一步地,所述第四层密钥生成单元包括:

索引及查询关键词工作密钥集和陷门密钥集生成单元,用以根据索引和查询关键词公钥ki与文档关键词集合wd={w1,w2,…wd}生成索引及查询关键词工作密钥集{kiw1,…,kiwn1},根据索引和查询关键词私钥sk与查询关键词集合wq={w1,w2,…wq}生成所述陷门密钥集{qw1,…,qwn2};

目录工作密钥集生成单元,用以根据文档目录密钥kd与数量为n3的目录id生成目录工作密钥集{kdw1,…,kdwn3};

文档权限工作密钥集和陷门密钥集,用以根据文档权限公钥ka与文档id生成文档权限工作密钥集合为{kaw1,…,kawn};根据文档权限私钥ask和文档id生成陷门密钥集{qaw1,…,qawn};

文档加密工作密钥集,用以根据文档密钥kf与所有文档id生成文档加密工作密钥集{kfw1,…,kfwn}。

密钥的使用方法如下:根密钥、主密钥及二级密钥不在应用系统中使用,是用来保护工作密钥的。工作密钥和文档分片密钥在应用系统中使用。索引工作密钥用来生成密文索引,文档陷门工作密钥用来生成陷门,以便对文档进行密文检索。文档目录工作密钥用来对文档加密。文档权限信息由文档属性和用户属性共同组成,其使用文档权限工作密钥加密,在进行文档访问控制时需要根据要查询文档的权限信息在文档权限集合中检索匹配的记录,为此需要把要查询的文档用陷门密钥进行加密,进而进行密文检索。文档分片密钥用来对每一个分片进行加密。

密钥的存储和分配方法如下:根密钥和主密钥采用硬件存储方案,在系统外分别独立存放。二级密钥采用软件加密的方式存储在云服务器端,在需要生成工作密钥时采用通信加密的方式传送到客户端。第四层工作密钥采用软加密的方式存储在客户端。文档分片密钥不存储在系统中,每一个分片最后存储文档分块id,在进行分片加解密时临时生成密钥。

密钥更新方法:更新某个密钥时,获取其上一次的密钥,然后按照从上到下的方式重新生成密钥,其后代密钥全部更新。更新密钥的同时,把密文数据进行重新加密。

本发明根据可搜索透明加密的技术特点,针对性地设计公私钥相结合的多层密钥体系,核心密钥采用更安全的硬件存储方式,二级密钥存储在更安全的云服务器上,为了工作效率,工作密钥以软件加密方式存储在客户端,为了减少密钥数量,对分档分片密钥采用动态生成的方式。

采用多层密钥可以有效地抵抗对手攻击,系统中只使用工作密钥,一旦工作密钥被攻破,只需更换二级密钥,即使二级密钥被攻破,由于主密钥和根密钥从来没有暴漏,因此可以重新生成一套新的密钥体系。

附图说明

图1为本发明提供的一种支持可搜索加密的层级密钥生成方法流程图;

图2为本发明提供的一种支持可搜索加密的层级密钥生成方法框图;

图3为本发明提供的一种支持可搜索加密的层级密钥生成系统结构图。

具体实施方式

结合附图来说明本发明的实施方式。

图1为本发明提供的一种支持可搜索加密的层级密钥生成方法流程图。

如图1和2所示,本发明提供的一种支持可搜索加密的层级密钥生成方法,该方法包括如下步骤:

在步骤101中,生成第一层密钥,所述第一层密钥为根密钥k。具体为:由随机数发生器生成随机数r1,密钥生成函数以r1为变量生成根密钥k。

在步骤102中,根据步骤101生成的根密钥生成第二层密钥,所述第二层密钥为主密钥,其包括对索引和查询关键词进行加密的主密钥km1、对文档目录进行加密的主密钥km2、对文档权限加密的主密钥km3和对文档加密的主密钥km4。

具体为:由随机数发生器生成随机数r2、r3、r4和r5,密钥生成函数分别以(k,r2)、(k,r3)、(k,r4)和(k,r5)为变量生成对索引和查询关键词进行加密的主密钥km1,对文档目录进行加密的主密钥km2,对文档权限加密的主密钥km3,对文档加密的主密钥km4。

在步骤103中,根据步骤102生成的第二层密钥生成第三层密钥,所述第三层密钥为二级密钥,其包括索引和查询关键词公钥ki和私钥sk,文档目录密钥kd,文档权限公钥ka和私钥ask,文档密钥kf。

具体为:由随机数发生器生成随机数r6、r7、r8和r9,密钥生成函数分别以(km1,r6)、(km2,r7)、(km3,r8)和(km4,r9)为变量分别生成索引和查询关键词公钥ki和私钥sk,文档目录密钥kd,文档权限公钥ka和私钥ask,文档密钥kf。

在步骤104中,根据步骤103生成的第三层密钥生成第四层密钥,所述第四层密钥为工作密钥,其包括索引及查询关键词工作密钥集{kiw1,…,kiwn1}和陷门密钥集{qw1,…,qwn2},目录工作密钥集{kdw1,…,kdwn3},文档权限工作密钥集{kaw1,…,kawn}和陷门密钥集{qaw1,…,qawn},文档加密工作密钥集{kfw1,…,kfwn}。

具体为:将步骤103中的索引和查询关键词公钥ki与文档关键词集合wd={w1,w2,…wd}生成索引及查询关键词工作密钥集{kiw1,…,kiwn1},将步骤103中的索引和查询关键词私钥sk与查询关键词集合wq={w1,w2,…wq}生成所述陷门密钥集{qw1,…,qwn}。

将步骤103中的文档目录密钥kd与数量为n3的目录id生成目录工作密钥集{kdw1,…,kdwn3}。

将步骤103中的文档权限公钥ka与文档id生成文档权限工作密钥,文档权限工作密钥集合为{kaw1,…,kawn};将文档权限私钥ask和文档id生成陷门密钥集{qaw1,…,qawn}。

将步骤103中的文档密钥kf与所有文档id生成文档加密工作密钥集{kfw1,…,kfwn}。

在步骤105中,根据步骤104生成的第四层密钥生成第五层密钥,所述第五层密钥为文档分片加密密钥{kfsi1,…,kfsin4}。

具体为:

对文档di划分成im个分片,每个分片的密钥由该文档的工作密钥kfwi与该文档分片的id生成,当全部文档分片数量为in4时,所有的文档分片加密密钥集为{kfsi1,…,kfsin4}。

密钥的使用方法如下:根密钥、主密钥及二级密钥不在应用系统中使用,是用来保护工作密钥的。工作密钥和文档分片密钥在应用系统中使用。索引工作密钥用来生成密文索引,文档陷门工作密钥用来生成陷门,以便对文档进行密文检索。文档目录工作密钥用来对文档加密。文档权限信息由文档属性和用户属性共同组成,其使用文档权限工作密钥加密,在进行文档访问控制时需要根据要查询文档的权限信息在文档权限集合中检索匹配的记录,为此需要把要查询的文档用陷门密钥进行加密,进而进行密文检索。文档分片密钥用来对每一个分片进行加密。

具体来讲,在新文档d需要加入系统中时,首先会对文档进行分词,根据分词结果获得文档的关键词列表{wd1,wd2,wdn},检测所有的关键词列表,如果其中某个关键词wdi,=不在索引及查询关键词工作密钥集{kiw1,…,kiwn1}中,则生成一个新的索引关键词密钥kiwdi,并加入索引及查询关键词工作密钥集{kiw1,…,kiwn1}中,并利用索引关键词密钥kiwdi对关键词wdi加密,并加入密文索引中。根据文档id,生成文档权限工作密钥kawdi,并加入文档权限工作密钥集{kaw1,…,kawn}中。检查新文档的目录id,如果该目录为新目录,则生成目录工作密钥kdwdi,并加入文档目录工作密钥集{kdw1,…,kdwn3}中,并使用目录工作密钥kdwdi对目录加密。根据文档id,生成文档工作密钥kfwdi,并加入文档加密工作密钥集{kfw1,…,kfwn}中。对文档进行分片,分片数为dp,根据分片id和文档工作密钥kfwdi,生成文档分片加密密钥kfd1,…,kfdp,然后利用分片密钥对文档分片进行加密云存储。

当用户发起查询时,用户输入查询短语或者关键词集合,经过分词或者关键词分析,获取查询关键词列表{qd1,qd2,qdm},然后生成陷门密钥qw1d1,…,qwdm,利用陷门查询会得到合适的文档结合{wr1,wr2,wrn},根据查询到的文档,根据文档id生成文档权限陷门密钥,与文档权限密钥匹配后,获取到合适的符合权限的文档集合rr={wrr1,wrr2,wrrn},根据rr中的文档id加密后得到文档工作密钥,利用文档工作密钥解密文档分片id,根据文档分片id再计算出分片密钥,对每个分片解密,组成文档返回给用户。

密钥的存储和分配方法如下:根密钥和主密钥采用硬件存储方案,在系统外分别独立存放。二级密钥采用软件加密的方式存储在云服务器端,在需要生成工作密钥时采用通信加密的方式传送到客户端。第四层工作密钥采用软加密的方式存储在客户端。文档分片密钥不存储在系统中,每一个分片最后存储文档分块id,在进行分片加解密时临时生成密钥。

密钥更新方法:更新某个密钥时,获取其上一次的密钥,然后按照从上到下的方式重新生成密钥,其后代密钥全部更新。更新密钥的同时,把密文数据进行重新加密。

图2为本发明实施例提供的一种支持可搜索加密的层级密钥生成系统。

如图2所示,本发明实施例提供的一种支持可搜索加密的层级密钥生成系统包括:

第一层密钥生成单元1,主要负责生成第一层密钥,所述第一层密钥为根密钥k;

第二层密钥生成单元2,主要负责根据生成的根密钥生成第二层密钥,所述第二层密钥为主密钥,其包括对索引和查询关键词进行加密的主密钥km1、对文档目录进行加密的主密钥km2、对文档权限加密的主密钥km3和对文档加密的主密钥km4;

第三层密钥生成单元3,主要负责根据生成的第二层密钥生成第三层密钥,所述第三层密钥为二级密钥,其包括索引和查询关键词公钥ki和私钥sk,文档目录密钥kd,文档权限公钥ka和私钥ask,文档密钥kf;

第四层密钥生成单元4,主要负责根据生成的第三层密钥生成第四层密钥,所述第四层密钥为工作密钥,其包括索引及查询关键词工作密钥集{kiw1,…,kiwn1}和陷门密钥集{qw1,…,qwn2},目录工作密钥集{kdw1,…,kdwn3},文档权限工作密钥集{kaw1,…,kawn}和陷门密钥集{qaw1,…,qawn},文档加密工作密钥集{kfw1,…,kfwn};

第五层密钥生成单元5,主要负责根据生成的第四层密钥生成第五层密钥,所述第五层密钥为文档分片加密密钥{kfsi1,…,kfsin4}。

进一步地,第二层密钥生成单元2包括:

索引和查询关键词加密主密钥生成单元21,主要负责根据跟密钥k生成对索引和查询关键词进行加密的主密钥km1。

文档目录加密主密钥生成单元22,主要负责根据跟密钥k生成对文档目录进行加密的主密钥km2。

文档权限加密主密钥生成单元23,主要负责根据跟密钥k生成对文档权限加密的主密钥km3。

文档加密主密钥生成单元24,主要负责根据跟密钥k生成对文档加密的主密钥km4。

进一步地,第三层密钥生成单元3包括:

索引和查询关键词公私钥生成单元31,主要负责根据对索引和查询关键词加密的主密钥km1生成索引和查询关键词公钥ki和私钥sk;

文档目录密钥生成单元32,主要负责根据对文档目录进行加密的主密钥km2生成文档目录密钥kd。

文档权限公私钥生成单元33,主要负责根据对文档权限加密的主密钥km3生成文档权限公钥ka和私钥ask。

文档密钥生成单元34,主要负责根据对文档加密的主密钥km4生成文档密钥kf。

进一步地,第四层密钥生成单元4包括:

索引及查询关键词工作密钥集和陷门密钥集生成单元41,用以根据索引和查询关键词公钥ki与文档关键词集合wd={w1,w2,…wd}生成索引及查询关键词工作密钥集{kiw1,…,kiwn1},根据索引和查询关键词私钥sk与查询关键词集合wq={w1,w2,…wq}生成所述陷门密钥集{qw1,…,qwn2}。

目录工作密钥集生成单元42,用以根据文档目录密钥kd与数量为n3的目录id生成目录工作密钥集{kdw1,…,kdwn3};

文档权限工作密钥集和陷门密钥集43,用以根据文档权限公钥ka与文档id生成文档权限工作密钥集合为{kaw1,…,kawn};根据文档权限私钥ask和文档id生成陷门密钥集{qaw1,…,qawn};

文档加密工作密钥集44,用以根据文档密钥kf与所有文档id生成文档加密工作密钥集{kfw1,…,kfwn}。

本发明根据可搜索透明加密的技术特点,针对性地设计公私钥相结合的多层密钥体系,核心密钥采用更安全的硬件存储方式,二级密钥存储在更安全的云服务器上,为了工作效率,工作密钥以软件加密方式存储在客户端,为了减少密钥数量,对分档分片密钥采用动态生成的方式。

采用多层密钥可以有效地抵抗对手攻击,系统中只使用工作密钥,一旦工作密钥被攻破,只需更换二级密钥,即使二级密钥被攻破,由于主密钥和根密钥从来没有暴漏,因此可以重新生成一套新的密钥体系。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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