法律状态公告日
法律状态信息
法律状态
2020-07-17
授权
授权
2018-01-05
实质审查的生效 IPC(主分类):H04L29/06 申请日:20170705
实质审查的生效
2017-12-08
公开
公开
技术领域
本发明涉及云储存中的数据安全技术,具体涉及一种云储存环境下基于序列密码的搜索加密方法。
背景技术
序列密码是对称加密体制中一个重要的分支,其利用密钥流发生器产生一个密钥流依次对明文进行加密,具有实现简单、加解密处理速度快的特点。如今伴随着云服务平台相比于传统的服务器提供了更多的弹性容量以及更强大的处理能力,企业特别是中小型企业将它们的数据隐藏储存给云平台提供商以减少成本,提高效率。然而数据外包存放在第三方的云平台中可能遭到攻击泄露,甚至可能被云平台提供商获取,而且在对数据搜索访问中,往往也会容易暴露其数据模式,增加了数据被泄露的风险。研究者提出了一些数据加密算法,通过对相关数据加密后生成密文,每个数据所生成的密文都各不相同,并存储在云服务器上,但直接对密文进行搜索是十分困难的,即便为每个关键字附加索引标志,在更新,替换索引时的开销也将是巨大。相关研究者提出了一些安全搜索加密的方案,即把查询的关键字进行预加密形成密文,分成两部分。通过伪随机生成器生成随机数,并采用哈希函数对加密的关键字左部分进行运算与随机数合并成为新的随机数,形成密钥流,最后将密钥流与加密后的关键字通过运算,将结果保存在服务器上。当搜索查询的时候,将服务器上的结果与密文再次通过运算,看是否能得到原来的伪随机序列结构,这样虽然可以访问搜索服务器上加密后的数据,然而每一个发送的相同查询请求数据经过这个方案只会产生同样的密文,通过对服务器上数据类型的分析,可以得知某请求数据的查询频率,通过统计次数容易确定该关键词是否为常用词汇,无法保护数据模式。因此需要有更好的方法来保证数据和传输模式的安全。
发明内容
本发明的目的是提供一种云储存环境下基于序列密码的搜索加密方法,保护了用户的数据安全,通过对传统序列密码加密方法的改进,提出一种新的数据搜索方法,极大的保护了数据本身以及其传输模式。
本发明采用的技术方案是,一种云储存环境下基于序列密码的搜索加密方法,其特征在于,具体按照以下步骤实施:
步骤1:关键字预加密
步骤2:密钥流生成
步骤3:隐藏密文生成
步骤4:建立查询配对表
步骤5:密文搜索
步骤6:密文解密
本发明的特点在于,
步骤1具体按照以下步骤实施:
扫描文档集D并建立关键词集△′,对每个关键词Di∈△′,建立D(ω),设置全局计数器φ,第i个关键字Di,通过ECB算法进行加密,并产生直接密文Xi,密钥由用户保管,Xi被划分成两部分,记为Xi=Li|Ri,其中总长度为n,Li的长度为l,Ri的长度为r,其中n=l+r。
步骤2具体按照以下步骤实施:
通过伪随机数生成器生成随机数Gio(随机种子RAND_SEED的值由用户来保管),Gio分别与Li,Ri进行XOR运算,结果记为PioL,即
进一步,所述XOR置换函数Tf(.)保留了XOR的性质,且具有
进一步,所述伪随机置换函数fk(.),置换密钥为k,结果将生成一串随机的序列,置换密钥k决定了原序列随机排列的顺序。
步骤3具体按照以下步骤实施:
最后Ri与
步骤4具体按照以下步骤实施:
将Pio,XOR置换函数Tf(.)发送到云服务器中,Pio以PioL|PioC|PioR的形式储存在服务器上,其索引为i,建立查询配对表,全局计数器φ初始化为0,开始计数,此表包括三部分:查询会话索引i,隐藏密文Pio,全局计数器φ,其中Pio包含PioL,PioC,PioR三部分。
步骤5具体按照以下步骤实施:
当第q个查询会话发生时,其隐藏密文为Piq=PiqL|PiqC|PiqR,发送到云服务器中,先取出先前存储在服务器的XOR置换函数Tf(.),计算
通过计算出来的
步骤6具体按照以下步骤实施
在客户端中,把从服务器得到PioR,PioC,PioL进行解密,还原成起始密文。通过伪随机数生成器和用户保管的随机种子RAND_SEED生成随机数Gio,Gio与PioL进行XOR运算得到起始密文的左部分Li,即
本发明与现有技术相比,具有如下优点。实现了对数据本身和传输模式更好的保护。本发明为每一个关键词在不同的查询会话中生成不同的密文,隐藏了查询数据的数据类型,极大地保护了数据模式和传输模式的安全。在解密过程中,起始密文的右部分Ri可以通过Li和Gio计算得到,无需计算密钥流Gio|
附图说明
图1是本发明基于云存储的文件系统结构示意图。
图2是本发明所述方法的隐藏密文生成流程图。
图3是本发明所述方法的建立查询配对表图。
图4是本发明所述方法的数据安全查询流程图。
具体实施方式
下面结合具体实施方式对本发明进行详细说明。
本发明一种基于序列密码加密的数据搜索方法,具体按照以下步骤实施:
步骤1:关键字预加密
步骤2:密钥流生成
步骤3:隐藏密文生成
步骤4:建立查询配对表
步骤5:密文搜索
步骤6:密文解密
本发明的特点在于,
步骤1具体按照以下步骤实施:
扫描文档集D并建立关键词集△′,对每个关键词Di∈△′,建立D(ω),设置全局计数器φ,第i个关键字Di,通过ECB算法进行加密,并产生直接密文Xi,密钥由用户保管,Xi被划分成两部分,记为Xi=Li|Ri,其中总长度为n,Li的长度为l,Ri的长度为r,其中n=l+r。
步骤2具体按照以下步骤实施:
通过伪随机数生成器生成随机数Gio(随机种子RAND_SEED的值由用户来保管),Gio分别与Li,Ri进行XOR运算,结果记为PioL,即
进一步,所述XOR置换函数Tf(.)保留了XOR的性质,且具有
进一步,所述伪随机置换函数fk(.),置换密钥为k,结果将生成一串随机的序列,置换密钥k决定了原序列随机排列的顺序。
步骤3具体按照以下步骤实施:最后Ri与
步骤4具体按照以下步骤实施:
将Pio,XOR置换函数Tf(.)发送到云服务器中,Pio以PioL|PioC|PioR的形式储存在服务器上,其索引为i,以此建立查询配对表,此表包括两部分:查询会话索引i,隐藏密文Pio,其中Pio包含PioL,PioC,PioR三部分。
步骤5具体按照以下步骤实施:
当第q个查询会话发生时,其隐藏密文为Piq=PiqL|PiqC|PiqR,发送到云服务器中,先取出先前存储在服务器的XOR置换函数Tf(.),计算
通过计算出来的
步骤6具体按照以下步骤实施
在客户端中,把从服务器得到PioR,PioC,PioL进行解密,还原成起始密文。通过伪随机数生成器和用户保管的随机种子RAND_SEED生成随机数Gio,Gio与PioL进行XOR运算得到起始密文的左部分Li,即
对本发明进行总结:
本发明是一种云储存环境下基于序列密码的搜索加密方法,具有以下优点:(1)对明文直接加密后生成的密文,再次用密钥流进行加密,使明文极大得到保护。(2)同一个关键词在不同的查询会话中生成不同的密文,隐藏了明文的数据类型和搜索模式(3)在建立查询配对表后,只需将少量的数据储存在云服务器上,计算开销更小,减少了储存空间。
本发明不同于传统的属性加密方法,通过对序列密码加密结构的改进,来对明文进行二次加密,不仅提高了对数据本身和传输模式的安全性,而且实现了用户高效的数据搜索,大幅度减轻服务器的计算开销,保障了用户的数据安全。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
机译: 在基于云的环境中从基于关键词的内容搜索中识别人作为搜索结果
机译: 在基于云的环境中,基于关键词的内容搜索将人识别为搜索结果
机译: 在基于云的环境中,根据关键字的内容搜索将人识别为搜索结果