欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 基于国密算法的连接关键词认证可搜索加密方法独创技术13760字

基于国密算法的连接关键词认证可搜索加密方法

2021-03-01 19:42:10

基于国密算法的连接关键词认证可搜索加密方法

  技术领域

  本发明涉及一种基于国密算法的连接关键词认证可搜索加密方法,属于国产密码关键词加密方法技术领域

  背景技术

  2020年以来,新型冠状病毒肺炎使得越来越多企业的工作方式向远程工作转移。远程工作要求企业员工之间可以共享文件并协作编辑文档,这一功能可以由支持在线文档编辑的云存储服务提供商(例如Dropbox,腾讯云,Google云等等)实现。有了云存储,开发者和企业就可以通过互联网享受全球高度持久的存储服务和灵活的访问机制。任一用户都可以将自己的工作文档上传到企业的公共云端,而其他团队成员就可以访问云盘查看并编辑文档。虽然云存储为疫情下的远程办公提供了解决办法,但是上传到云端共享的文档往往包含一些隐私信息,一旦发生信息的泄漏,公司的业务往往会造成损失,因此人们对云存储的安全问题的担忧与日俱增。

  为了减少潜在的数据安全泄漏,加密数据后再上传至云端服务器是一个直接的解决方法。同时,为了使得加密数据在云端可被直接检索,公钥可搜索加密方案支持数据发送方和接收方为不同的用户的想法被提出。为了满足连接关键词搜索的需求,支持连接关键词搜索的公钥可搜索加密方案也由此诞生。但是公钥可搜索加密方案由于其生成安全索引时无需私钥的特点,使得关键词猜测攻击对系统安全造成很大的影响。另外,现有的能够抵抗关键词猜测攻击的方案很少能够高效地支持连接关键词搜索,往往在关键词索引生成阶段引入了大量的双线性对运算,大大降低了搜索效率。

  近年来,国家密码科技发展迅速,密码管理部门公开发布了具有自主知识产权和高安全强度的多项密码相关标准,基本建成了密码基础设施并提供服务,国产密码产品在众多领域中得到了广泛应用,信息系统领域使用国产密码的条件已基本具备。因此,在设计密码方案时应用国密算法,对我国网络与信息安全体系建设具有重要战略意义。

  发明内容

  为了解决上述技术问题,本发明提供一种基于国密算法的支持连接关键词搜索的认证可搜索加密方法,其具体技术方案如下:

  一种基于国密算法的连接关键词认证可搜索加密方法,包括以下步骤:

  步骤一:初始化算法:授权中心输入安全参数,运行初始化算法,输出公共参数并预定义关键词域,将该公共参数及关键词域发送给云服务器、数据发送方和数据接收方;

  步骤二:生成公私钥对:所述授权中心通过密钥生成算法生成公钥和私钥的公-私钥对,并分发公私钥对给数据发送方与数据接收方;

  步骤三:密钥协商产生加密密钥:所述数据发送方与数据接收方通过国产密钥协商算法SM9产生加密密钥,作为后续的文档加密密钥

  步骤四:加密文档:数据发送方利用步骤三中产生的加密密钥和文档为输入,运行国产对称加密算法SM4,对文档进行加密得到加密文档

  步骤五:生成安全索引:数据发送方根据步骤一预定义的关键词域对步骤四中文档进行关键词集提取,得到关键词集;利用步骤一中接收的公共参数和步骤二中数据发送方接收的私钥以及数据接收方的公钥,运行关键词集索引生成算法,加密关键词集,生成关键词集索引,即安全索引

  步骤六:安全列表发送给云服务器:数据发送方将步骤四的加密文档和步骤五所得到相应的安全索引形式存入列表中,组成安全列表,再发送给云服务器;

  步骤七:生成搜索令牌:数据接收方用步骤一中接收的公共参数和步骤二中生成的数据发送方的公钥及数据接收方的私钥,对所需查询的关键词集运行搜索令牌生成算法进行加密生成搜索令牌,同时记录该关键词集中每个关键词在步骤一中的关键词域中的位置,记作位置集合,并将该搜索令牌及所述位置集合一起发送给云服务器;

  步骤八:搜索结果:当云服务器收到步骤七中来自数据接收方的搜索令牌及位置集合后,遍历步骤六中接收的安全列表,先根据位置集合按照顺序将对应位置的安全索引挑选出来,然后以挑选出来的安全索引与搜索令牌为输入执行测试算法,比较用户搜索令牌中包含的关键词集与云服务器中的安全索引对应的关键词集是否一致,从而得到测试结果;

  步骤九:当测试结果一致时,云服务器根据安全索引中的文档标志符,将对应的加密文档加入到搜索结果集R中,

  当测试结果不一致时,以挑选出来的下一个安全索引重复步骤八,若测试结果一致,则将对应的加密文档加入到搜索结果集R中,否则,重复步骤八;

  步骤十:依次循环步骤八,直到最后的测试结果若仍不一致,则测试失败终止流程;

  步骤十一:搜索结果反馈:云服务器将步骤八、步骤九和步骤十中得到的搜索结果集R返回给数据接收方;

  步骤十二:得到明文数据:数据接收方以接收到的所述搜索结果集R的密文和步骤三中生成的加密密钥k为输入,运行SM4解密算法进行解密,得到最终的明文结果集。

  进一步的,步骤一具体过程为:

  步骤1.1:授权中心执行初始化算法后,生成两个素数阶循环群,以及双线性映射,其中需要满足以下三个性质:

  (1)双线性:对任意的元素,任意的元素,有,其中整数群;

  (2)非退化性:若,其中,则有,即

  (3)可计算性:存在有效算法,对任意的元素,均可计算

  步骤1.2:授权中心选取群的生成元g;选择一个哈希函数,设定关键词域为,其中为关键词;

  步骤1.3:授权中心将公共参数以及关键词域信息KI发送到云服务器、数据发送方和数据接收方。

  进一步的,步骤二中密钥生成算法随机选择数据发送方的私钥,数据发送方的公钥计算公式为;并随机选择数据接收方的私钥,接收方的公钥计算公式为;私钥分别通过安全信道发送到数据发送方和数据接收方,将公钥公开。

  进一步的,步骤五中提取的关键词集为,所述关键词索引生成算法随机选择,安全索引公式为,其中为关键词索引的最后一部分。

  进一步的,步骤六中接收的安全列表,其中N为文档数量。

  进一步的,步骤七中所需查询的关键词集为,计算搜索令牌为,所需查询的关键词集在步骤一的关键词域中的位置集合为,其中t为搜索的关键词数量。

  进一步的,步骤八中具体过程为:

  步骤8.1:根据步骤七中接收的位置集合挑选中对应的安全索引集合,并计算中间量

  步骤8.2:以公共参数中的g和关键词数量t为输入,计算关键词数中间量

  步骤8.3:以搜索令牌和步骤8.2的关键词数中间量为输入,计算搜索令牌中间量

  步骤8.4:以中间量和接收方公钥为输入,计算索引中间量

  步骤8.5:比较步骤8.3中的和步骤8.4中的

  本发明的有益效果是:数据发送方在生成安全索引时采取了认证加密的技术,即使用了自己的私钥以及数据接收方的公钥,确保了安全索引只能由数据发送方生成,从而抵抗了来自内部敌手,即云服务器的关键词猜测攻击;数据接收方在生成搜索令牌时使用了自己的私钥以及数据发送方的公钥,确保了令牌只匹配数据发送方发送的安全索引,从而获得数据发送方的密文;且方法在生成关键词索引没有涉及到计算开销较大的双线性对运算,生成搜索令牌时只需要一次双线性对运算;根据预定义的关键词域,数据发送方在生成安全索引时为每个文档提取具有关键词集,同时数据接收方在生成搜索令牌时发送想要搜索的关键词集中每个关键词在关键词域中的位置集合,使得本方法支持连接关键词搜索。

  附图说明

  图1是本发明的方法流程图,

  图2是本发明的方法原理图。

  具体实施方式

  现在结合附图对本发明作进一步详细的说明。

  为了简明表示本发明中的文档-关键词集-安全索引的关系,现将三者关系列如下表1所示。

  表1

  

  本发明的具体步骤为:

  步骤一:初始化算法:授权中心输入安全参数,运行初始化算法,生成两个素数q阶循环群,以及双线性映射,其中e需要满足以下三个性质:

  (1)双线性:对任意的元素,任意的元素,有,其中为模q整数群;

  (2)非退化性:若,其中,则有,即

  (3)可计算性:存在有效算法,对任意的元素,均可计算

  步骤1.2:授权中心选取群的生成元g;选择一个哈希函数,设定关键词域为KI= ,其中为关键词;

  授权中心选取群的生成元g;选择一个哈希函数,输出公共参数并预定义关键词域为KI= ,其中为关键词,将该公共参数及关键词域KI发送给云服务器、数据发送方和数据接收方;

  步骤二:生成公私钥对:所述授权中心通过密钥生成算法随机选择数据发送方的私钥,数据发送方的公钥计算公式为;并随机选择数据接收方的私钥,接收方的公钥计算公式为;,私钥分别通过安全信道发送到数据发送方和数据接收方,将公钥公开。

  步骤三:密钥协商产生加密密钥:所述数据发送方与数据接收方通过国产密钥协商算法SM9产生加密密钥,作为后续的文档加密密钥

  步骤四:加密文档:数据发送方利用步骤三中产生的加密密钥和文档为输入,运行国产对称加密算法SM4,对文档进行加密得到加密文档

  步骤五:生成安全索引:数据发送方根据步骤一预定义的关键词域对步骤四中文档进行关键词集提取,得到关键词集;利用步骤一中接收的公共参数和步骤二中数据发送方接收的私钥以及数据接收方的公钥,运行关键词集索引生成算法,随机选择,安全索引公式为,其中为关键词索引的最后一部分。

  步骤六:安全列表发送给云服务器:数据发送方将步骤四的加密文档和步骤五所得到相应的安全索引形式存入列表中,接收的安全列表,其中N为文档数量,再发送给云服务器。

  步骤七:生成搜索令牌:数据接收方用步骤一中接收的公共参数和步骤二中生成的数据发送方的公钥及数据接收方的私钥,对所需查询的关键词集为运行搜索令牌生成算法进行加密生成搜索令牌,计算搜索令牌为,同时记录该关键词集中每个关键词在步骤一中的关键词域中的位置,记作位置集合为,其中t为搜索的关键词数量。并将该搜索令牌及所述位置集合一起发送给云服务器。

  步骤八:搜索结果:当云服务器收到步骤七中来自数据接收方的搜索令牌及位置集合后,遍历步骤六中接收的安全列表,先根据位置集合按照顺序将对应位置的安全索引挑选出来,挑选中对应的安全索引集合,然后以挑选出来的安全索引与搜索令牌为输入执行测试算法,计算中间量;以公共参数中的g和关键词数量t为输入,计算关键词数中间量;以搜索令牌和步骤8.2的关键词数中间量为输入,计算搜索令牌中间量;以中间量和接收方公钥为输入,计算索引中间量;比较,即用户搜索令牌中包含的关键词集与云服务器中的安全索引对应的关键词集各自的测试结果是否一致。

  步骤九:当测试结果一致时,云服务器根据安全索引中的文档标志符,将对应的加密文档加入到搜索结果集R中,

  当测试结果不一致时,以挑选出来的下一个安全索引重复步骤八,若测试结果一致,则将对应的加密文档加入到搜索结果集R中,否则,重复步骤八;

  步骤十:依次循环步骤八,直到最后的测试结果若仍不一致,则测试失败终止流程;

  步骤十一:搜索结果反馈:云服务器将步骤八、步骤九和步骤十中得到的搜索结果集R返回给数据接收方;

  步骤十二:得到明文数据:数据接收方以接收到的所述搜索结果集R的密文和步骤三中生成的加密密钥k为输入,运行SM4解密算法进行解密,得到最终的明文结果集。

  以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。本项发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。

《基于国密算法的连接关键词认证可搜索加密方法.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)