CN107454059B - 一种云储存环境下基于序列密码的搜索加密方法 - Google Patents
一种云储存环境下基于序列密码的搜索加密方法 Download PDFInfo
- Publication number
- CN107454059B CN107454059B CN201710540818.6A CN201710540818A CN107454059B CN 107454059 B CN107454059 B CN 107454059B CN 201710540818 A CN201710540818 A CN 201710540818A CN 107454059 B CN107454059 B CN 107454059B
- Authority
- CN
- China
- Prior art keywords
- ciphertext
- iol
- search
- steps
- keyword
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0435—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0478—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种云储存环境下基于序列密码的搜索加密方法,通过对序列密码加密中密钥流生成方式的改进来实现数据安全搜索,把查询的关键字通过ECB加密形成直接密文;由伪随机生成器生成随机数,密钥流由随机数与直接密文通过伪随机置换函数来产生;最后将密钥流与直接密文通过XOR运算,得到隐藏密文并保存在服务器上,以此建立查询配对表;当新的搜索查询发生时,服务器先计算出置换密钥,然后比较查询配对表中的数据与当前查询会话的隐藏密文之间的等式关系,以此来确认返回的查询结果。本发明能实现用户高效的数据搜索,提高验证效率,保证隐私安全。
Description
技术领域
本发明涉及云储存中的数据安全技术,具体涉及一种云储存环境下基于序列密码的搜索加密方法。
背景技术
序列密码是对称加密体制中一个重要的分支,其利用密钥流发生器产生一个密钥流依次对明文进行加密,具有实现简单、加解密处理速度快的特点。如今伴随着云服务平台相比于传统的服务器提供了更多的弹性容量以及更强大的处理能力,企业特别是中小型企业将它们的数据隐藏储存给云平台提供商以减少成本,提高效率。然而数据外包存放在第三方的云平台中可能遭到攻击泄露,甚至可能被云平台提供商获取,而且在对数据搜索访问中,往往也会容易暴露其数据模式,增加了数据被泄露的风险。研究者提出了一些数据加密算法,通过对相关数据加密后生成密文,每个数据所生成的密文都各不相同,并存储在云服务器上,但直接对密文进行搜索是十分困难的,即便为每个关键字附加索引标志,在更新,替换索引时的开销也将是巨大。相关研究者提出了一些安全搜索加密的方案,即把查询的关键字进行预加密形成密文,分成两部分。通过伪随机生成器生成随机数,并采用哈希函数对加密的关键字左部分进行运算与随机数合并成为新的随机数,形成密钥流,最后将密钥流与加密后的关键字通过运算,将结果保存在服务器上。当搜索查询的时候,将服务器上的结果与密文再次通过运算,看是否能得到原来的伪随机序列结构,这样虽然可以访问搜索服务器上加密后的数据,然而每一个发送的相同查询请求数据经过这个方案只会产生同样的密文,通过对服务器上数据类型的分析,可以得知某请求数据的查询频率,通过统计次数容易确定该关键词是否为常用词汇,无法保护数据模式。因此需要有更好的方法来保证数据和传输模式的安全。
发明内容
本发明的目的是提供一种云储存环境下基于序列密码的搜索加密方法,保护了用户的数据安全,通过对传统序列密码加密方法的改进,提出一种新的数据搜索方法,极大的保护了数据本身以及其传输模式。
本发明采用的技术方案是,一种云储存环境下基于序列密码的搜索加密方法,其特征在于,具体按照以下步骤实施:
步骤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,即PioL使用XOR置换函数Tf(.)产生当前查询会话(如第o个查询会话)的置换密钥kio,即随机数Gio使用置换密钥kio选择伪随机置换函数f(.)函数产生fkio(Gio),此时Gio|GioL|为该查询会话的密钥流。
进一步,所述伪随机置换函数fk(.),置换密钥为k,结果将生成一串随机的序列,置换密钥k决定了原序列随机排列的顺序。
步骤3具体按照以下步骤实施:
步骤4具体按照以下步骤实施:
将Pio,XOR置换函数Tf(.)发送到云服务器中,Pio以PioL|PioC|PioR的形式储存在服务器上,其索引为i,建立查询配对表,全局计数器φ初始化为0,开始计数,此表包括三部分:查询会话索引i,隐藏密文Pio,全局计数器φ,其中Pio包含PioL,PioC,PioR三部分。
步骤5具体按照以下步骤实施:
当第q个查询会话发生时,其隐藏密文为Piq=PiqL|PiqC|PiqR,发送到云服务器中,先取出先前存储在服务器的XOR置换函数Tf(.),计算的值,得到即再依次取出密文配对表的每一项,如第一项Pio,与Piq进行XOR运算得到:
通过计算出来的如果成立,维持了密钥流左右两边结构,说明kio与kiq为同一关键字不同查询会话的密钥,关键字一致,查询成功,全局计数器φ的第i项变为1,Pio即为所查询会话Piq的搜索结果,返回给用户。接着取出密文配对表的下一项进行配对来确定Piq的搜索结果。
步骤6具体按照以下步骤实施
在客户端中,把从服务器得到PioR,PioC,PioL进行解密,还原成起始密文。通过伪随机数生成器和用户保管的随机种子RAND_SEED生成随机数Gio,Gio与PioL进行XOR运算得到起始密文的左部分Li,即将PioR与Gio进行XOR运算得到起始密文的右部分Ri,即最后对起始密文Li|Ri进行ECB解密得到明文。
本发明与现有技术相比,具有如下优点。实现了对数据本身和传输模式更好的保护。本发明为每一个关键词在不同的查询会话中生成不同的密文,隐藏了查询数据的数据类型,极大地保护了数据模式和传输模式的安全。在解密过程中,起始密文的右部分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,即PioL使用XOR置换函数Tf(.)产生当前查询会话(如第o个查询会话)的置换密钥kio,即随机数Gio使用置换密钥kio选择伪随机置换函数f(.)函数产生fkio(Gio),此时Gio|GioL|为该查询会话的密钥流。
进一步,所述伪随机置换函数fk(.),置换密钥为k,结果将生成一串随机的序列,置换密钥k决定了原序列随机排列的顺序。
步骤4具体按照以下步骤实施:
将Pio,XOR置换函数Tf(.)发送到云服务器中,Pio以PioL|PioC|PioR的形式储存在服务器上,其索引为i,以此建立查询配对表,此表包括两部分:查询会话索引i,隐藏密文Pio,其中Pio包含PioL,PioC,PioR三部分。
步骤5具体按照以下步骤实施:
当第q个查询会话发生时,其隐藏密文为Piq=PiqL|PiqC|PiqR,发送到云服务器中,先取出先前存储在服务器的XOR置换函数Tf(.),计算的值,得到即再依次取出密文配对表的每一项,如第一项Pio,与Piq进行XOR运算得到:
通过计算出来的如果成立,维持了密钥流左右两边结构,说明kio与kiq为同一关键字不同查询会话的密钥,关键字一致,查询成功,全局计数器φ的第i项变为1,Pio即为所查询会话Piq的搜索结果,返回给用户。接着取出密文配对表的下一项进行配对来确定Piq的搜索结果。
步骤6具体按照以下步骤实施
在客户端中,把从服务器得到PioR,PioC,PioL进行解密,还原成起始密文。通过伪随机数生成器和用户保管的随机种子RAND_SEED生成随机数Gio,Gio与PioL进行XOR运算得到起始密文的左部分Li,即将PioR与Gio进行XOR运算得到起始密文的右部分Ri,即最后对起始密文Li|Ri进行ECB解密得到明文。
对本发明进行总结:
本发明是一种云储存环境下基于序列密码的搜索加密方法,具有以下优点:(1)对明文直接加密后生成的密文,再次用密钥流进行加密,使明文极大得到保护。(2)同一个关键词在不同的查询会话中生成不同的密文,隐藏了明文的数据类型和搜索模式(3)在建立查询配对表后,只需将少量的数据储存在云服务器上,计算开销更小,减少了储存空间。
本发明不同于传统的属性加密方法,通过对序列密码加密结构的改进,来对明文进行二次加密,不仅提高了对数据本身和传输模式的安全性,而且实现了用户高效的数据搜索,大幅度减轻服务器的计算开销,保障了用户的数据安全。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (1)
1.一种云储存环境下基于序列密码的搜索加密方法,其特征在于,包括以下步骤:
步骤1:关键字预加密;
步骤2:密钥流生成;
步骤3:隐藏密文生成;
步骤4:建立搜索配对表;
步骤5:密文搜索;
步骤6:密文解密;
所述步骤1具体按照以下步骤实施为:
扫描文档集D并建立关键词集Δ′,对每个关键词Di∈Δ′,建立D(ω),设置全局计数器对每个关键字Di通过ECB算法进行加密,并产生直接密文Xi,密钥由用户保管,将Xi划分成两部分,记为Xi=Li|Ri,其中总长度为n,Li的长度为l,Ri的长度为r,其中n=l+r;
所述步骤2具体按照以下步骤实施为:
通过伪随机数生成器生成随机数Gio,Gio分别与Li,Ri进行XOR运算,结果记为PioL,即PioL使用XOR置换函数Tf(.)产生当前查询会话的置换密钥kio,即 随机数Gio使用置换密钥kio选择伪随机置换函数f(.)函数产生fkio(Gio),此时为该查询会话的密钥流;
所述步骤3具体按照以下步骤实施为:
所述步骤4具体按照以下步骤实施为:
将Pio,XOR置换函数Tf(.)发送到云服务器中,Pio以PioL|PioC|PioR的形式储存在服务器上,其索引为i,建立查询配对表,全局计数器初始化为0,开始计数,此表包括三部分:查询会话索引i,隐藏密文Pio,全局计数器其中Pio包含PioL,PioC,PioR三部分;
所述步骤5具体按照以下步骤实施为:
当第q个查询会话发生时,其隐藏密文为Piq=PiqL|PiqC|PiqR,发送到云服务器中,先取出先前存储在服务器的XOR置换函数Tf(.),计算的值,得到如果 成立,维持了密钥流左右两边结构,说明kio与kiq为同一关键字不同查询会话的密钥,关键字一致,查询成功,Pio即为所查询会话Piq的搜索结果,全局计数器的第i项变为1,返回给用户;接着取出密文配对表的下一项进行配对来确定Piq的搜索结果;
所述步骤6具体按照以下步骤实施为:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710540818.6A CN107454059B (zh) | 2017-07-05 | 2017-07-05 | 一种云储存环境下基于序列密码的搜索加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710540818.6A CN107454059B (zh) | 2017-07-05 | 2017-07-05 | 一种云储存环境下基于序列密码的搜索加密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107454059A CN107454059A (zh) | 2017-12-08 |
CN107454059B true CN107454059B (zh) | 2020-07-17 |
Family
ID=60488640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710540818.6A Active CN107454059B (zh) | 2017-07-05 | 2017-07-05 | 一种云储存环境下基于序列密码的搜索加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107454059B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108156139A (zh) * | 2017-12-13 | 2018-06-12 | 西安电子科技大学 | 无证书的可验证多关键字密文查询系统及方法 |
CN112487408B (zh) * | 2020-12-24 | 2022-08-23 | 潍柴动力股份有限公司 | 用于车内ecu的安全访问方法、系统及存储介质 |
CN113255007B (zh) * | 2021-06-25 | 2021-09-21 | 蓝象智联(杭州)科技有限公司 | 一种安全隐匿三要素查询方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103023637A (zh) * | 2012-12-25 | 2013-04-03 | 电子科技大学 | 一种云存储中可撤销的关键字搜索公钥加密及搜索方法 |
CN104899517A (zh) * | 2015-05-15 | 2015-09-09 | 陕西师范大学 | 基于短语的可搜索对称加密方法 |
CN105262843A (zh) * | 2015-11-12 | 2016-01-20 | 武汉理工大学 | 一种针对云存储环境的数据防泄漏保护方法 |
CN105681280A (zh) * | 2015-12-29 | 2016-06-15 | 西安电子科技大学 | 一种云环境中基于中文的可搜索加密方法 |
CN106059761A (zh) * | 2016-07-19 | 2016-10-26 | 广东工业大学 | 一种云存储环境下支持群组共享及密钥更新的加密图像搜索方法 |
CN106127075A (zh) * | 2016-06-27 | 2016-11-16 | 湖南大学 | 一种云存储环境下基于隐私保护的可搜索加密方法 |
-
2017
- 2017-07-05 CN CN201710540818.6A patent/CN107454059B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103023637A (zh) * | 2012-12-25 | 2013-04-03 | 电子科技大学 | 一种云存储中可撤销的关键字搜索公钥加密及搜索方法 |
CN104899517A (zh) * | 2015-05-15 | 2015-09-09 | 陕西师范大学 | 基于短语的可搜索对称加密方法 |
CN105262843A (zh) * | 2015-11-12 | 2016-01-20 | 武汉理工大学 | 一种针对云存储环境的数据防泄漏保护方法 |
CN105681280A (zh) * | 2015-12-29 | 2016-06-15 | 西安电子科技大学 | 一种云环境中基于中文的可搜索加密方法 |
CN106127075A (zh) * | 2016-06-27 | 2016-11-16 | 湖南大学 | 一种云存储环境下基于隐私保护的可搜索加密方法 |
CN106059761A (zh) * | 2016-07-19 | 2016-10-26 | 广东工业大学 | 一种云存储环境下支持群组共享及密钥更新的加密图像搜索方法 |
Non-Patent Citations (1)
Title |
---|
云存储中多层次索引可搜索加密的研究与实现;朱爱翔;《信息科技辑》;20170215;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN107454059A (zh) | 2017-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210203497A1 (en) | Method for re-keying an encrypted data file | |
EP3058678B1 (en) | System and method for dynamic, non-interactive, and parallelizable searchable symmetric encryption | |
US20140192976A1 (en) | Method and system for id-based encryption and decryption | |
US20090138698A1 (en) | Method of searching encrypted data using inner product operation and terminal and server therefor | |
CN109726567B (zh) | 一种基于全同态加密的移动目标加密方法 | |
CN114142996B (zh) | 一种基于sm9密码算法的可搜索加密方法 | |
EP3908940A1 (en) | A client-server computer system | |
CN105282167A (zh) | 一种可搜索的无证书公钥加密方法 | |
WO2018043573A1 (ja) | 鍵交換方法、鍵交換システム | |
US20180239910A1 (en) | Encrypted text verification system, method and recording medium | |
CN107454059B (zh) | 一种云储存环境下基于序列密码的搜索加密方法 | |
CN114448640A (zh) | 一种双盲信息分发方法、装置及计算机可读存储介质 | |
KR101140576B1 (ko) | 암호화 문서에 대한 다자간 검색 시스템 및 그 방법 | |
US20240015014A1 (en) | Dynamic and verifiable searchable encryption method and system based on updatable encryption and blockchain | |
Tosun et al. | FSDS: A practical and fully secure document similarity search over encrypted data with lightweight client | |
CN108920968B (zh) | 一种基于连接关键词的文件可搜索加密方法 | |
Ibrahim et al. | Approximate keyword-based search over encrypted cloud data | |
Zhang et al. | Oblivious multi-keyword search for secure cloud storage service | |
CN108259172B (zh) | 云存储系统中的密文搜索方法 | |
CN114726522A (zh) | 一种保护双方隐私的不经意可搜索加密方法 | |
CN114036541A (zh) | 一种复合加密存储用户私密内容的应用方法 | |
US11451518B2 (en) | Communication device, server device, concealed communication system, methods for the same, and program | |
Pillai et al. | Blockchain-Based Searchable Asymmetric Encryption Scheme in Cloud Environment | |
Siva et al. | Hybrid cryptography security in public cloud using TwoFish and ECC algorithm | |
CN115361218B (zh) | 一种具有查询隐匿特性的云端数据存在性验证方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |