CN110222520A - 云环境中支持图加密数据的关键词查询方法 - Google Patents
云环境中支持图加密数据的关键词查询方法 Download PDFInfo
- Publication number
- CN110222520A CN110222520A CN201910517594.6A CN201910517594A CN110222520A CN 110222520 A CN110222520 A CN 110222520A CN 201910517594 A CN201910517594 A CN 201910517594A CN 110222520 A CN110222520 A CN 110222520A
- Authority
- CN
- China
- Prior art keywords
- node
- data
- user
- log
- ciphertext
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种基于云环境中支持图加密数据的关键词查询方法,主要解决现有技术中搜索模式泄漏和重建索引困难的问题,其实现方案为:用户为每一个节点构造索引;用户搜索关键字,并对每个关键字随机选取r/2个陷门发送到服务器,执行关键字查询;用户添加新节点,并通过服务器返回新节点的邻接点索引和不相关的节点索引,更新索引;用户删除节点,并通过服务器直接删除该节点索引和数据;用户重建索引,并通过日志信息重建图结构的索引。用户根据更新和重建的索引再进行关键字查询。本发明能保证搜索过程中搜索模式不被泄漏,且对索引进行有效的更新和重建时泄漏最少信息,可用于对存储在远程服务器上的图加密数据进行搜索。
Description
技术领域
本发明属于网络安全技术领域,更进一步涉及一种关键词查询方法,可用于对存储在远程服务器上的图加密数据进行搜索。
背景技术
随着互联网技术的高速发展,计算机网络技术变得越来越普遍,2018年全球数字报告显示,互联网用户数量已经突破40亿,用户数量的不断增加也导致了数据信息的激增。对于海量的数据的维护与管理变得异常的不便,为了节省本地的存储空间,提高对数据维护和管理的便携性,同时不失去对数据的访问控制权,云计算技术应运而生。云计算将虚拟化技术与网络技术相结合,把海量数据存储在远端服务器,并根据用户的意愿由服务器完成对数据的维护和管理。然而云端的开放性和共享性也给数据的安全性带来了巨大的挑战。
针对不可信的云端,对文件加密再上传成为了保护用户隐私的必要手段,然而加密虽然保证了数据的隐私性,但却失去了明文数据的原始特性,使得对数据的关键词搜索和结构的搜索成为了难题。可搜索加密技术是近几年发展起来的支持在密文上进行关键词搜索的技术。
在可搜索加密技术中,用户首先对数据建立文件的索引,当用户发起检索请求时,用户计算关键词的陷门值并发送给服务器,服务器使用陷门信息与索引进行匹配,若匹配成功则说明该文件中包含有目标关键字。最后服务器将匹配成功的文件返回给用户,完成搜索。其中关键词的陷门不会泄漏关键词的任何信息。
在关键词和数据结构的搜索过程中,虽然不会泄露数据的结构信息以及文件的信息,但会向不可信第三方泄漏搜索模式,文件大小等信息,而根据最新的研究表明,攻击者可以利用这些信息对加密数据进行有效的攻击从而恢复出用户的隐私信息。
东北大学在其申请的专利文献“一种面向密文大型数据集的可搜索加密方法”(公布号:CN 109165226A,申请号:201811194140.1,申请日:2018.10.15)中公开了一种面向密文数据集的可搜索加密方法。该方法是数据拥有者首先对原始文件集进行预处理,生成密文数据和倒排索引。对文件进行预处理后,数据拥有着将密文数据和加密索引上传至服务器。当数据拥有着向服务器发起对关键词w的搜索请求时,会向服务器发送关键词w的陷门值。服务器使用陷门值对索引进行搜索,得到包含关键词w的文件,并将文件发送给数据拥有者完成搜索。该方法由于对同一关键词进行多次搜索时,会生成相同的陷门值,因此在搜索过程中会向服务器泄漏搜索模式,导致恶意攻击者恢复出关键词w,从而泄漏用户的隐私信息;此外该方法只能应用于文本数据的加密搜索,而不能应用于图的加密搜索。
发明内容
本发明的目的在于针对现有技术的不足,提出一种云环境中支持图加密数据的关键词查询方法,以通过布隆过滤器来查询某个关键词或某个节点是否在此数据块中,保证对加密数据的安全检索,避免泄漏用户的隐私信息。
为实现上述目的,本发明技术方案包括以下步骤:
(1)初始化:
(1a)用户根据本地的通信传输速度选择错误概率e,利用对称密钥生成算法,用户使用密钥种子K生成(r+y)个密钥(sk1,…,ski,…,skr+y),i∈(1,r+y),ski是第i个密钥,r是陷门的数量,由用户选择的错误概率确定,y≥4,其中skr+1为数据密钥,skr+2为指针密钥,skr+3为数据摘要密钥,skr+4为日志密钥;
(1b)使用日志算法构建节点日志(log1,…,logj,…,logn)其中logj是第j个节点的节点日志,j∈(1,n),n表示图中节点的总数,每个日志logj,包含节点j的标识符IDj、节点j的邻接点标识符集uIDj、邻接点出入度IO、数据摘要vj和数据项信息mj;
(2)扫描日志信息,为每一个节点生成关键字集Sj,该关键词集合包含该节点的邻接点标识符和数据项中的唯一关键字,并使用基于布隆过滤器的方法为每一个节点构造索引Ij,j∈(1,n);
(3)用户使用高级加密标准AES和数据密钥skr+1加密节点数据mj,得到数据密文cj;
(4)对于节点j,用户选择未使用的数据存储地址addj,根据地址addj访问节点j的数据密文,使用置换函数π(·),计算数据指针pj,使用指针密钥skr+2加密数据指针得到指针密文cpj,使用数据摘要密钥skr+3加密数据摘要得到摘要密文cvj,并将对应于节点j的索引Ij、指针密文pj和数据摘要密文cvj一起存储;
(5)用户初始化数组并使用高级加密标准AES和日志密钥skr+4加密日志logj,得到日志密文CLj,将该日志密文存储在数组的第j个位置RAM[j]中,j∈(1,n);
(6)用户将数组RAM和每一个节点的索引Ij、数据密文cj上传到远端服务器;
(7)用户搜索包含关键字(w1,…,wt,…,wq)的节点,其中wt是第t个关键字t∈(1,q),q是用户搜索关键字的总数;计算陷门值其中是关键字wt的陷门,用户从每个关键字的r个陷门中随机选取r/2个陷门发送到服务器,服务器使用陷门检查每个节点的索引Ij,将满足陷门条件的数据返回给客户端,用户对数据进行筛选,删除错误数据,完成搜索;
(8)添加节点数据:
(8a)用户添加一个新的节点z,将节点z的标识符及其邻接点标识符保存在本地;
(8b)构造该节点的日志信息logz,使用日志密钥skr+4加密logz得到日志密文CLz,将CLz上传到服务器;
(8c)运行步骤(2)-(4),为新的节点z构造索引;
(8d)用户计算节点z的添加陷门U(z)并发送到服务器;服务器将对应于陷门值的节点数据返回给用户;
(8e)用户向节点z的邻接点布隆过滤器中插入节点z的码字,向不相关节点的索引中随机插入数量小于r的字符“1”,更新数据摘要;
(8f)重新选取数据存储地址,解密数据项部分,用户使用高级加密标准AES重新加密数据mx,得到数据密文cx;
(8g)用户将更新完的节点数据存储到服务器,完成数据添加;
(9)对于待删除节点d,用户将节点d的标识符保存在本地,用户计算陷门De(d)并发送到服务器,服务器收到陷门后,删除陷门De(d)对应的节点信息和日志密文;
(10)结构重建:
(10a)在服务器创建一个新的结构体;
(10b)随机选取两条未重建的日志密文(CLj1,CLj2)返回给客户端,其中CLj1存储在RAM[j1]中,CLj2存储在RAM[j2]中,用户解密日志数据得到两条日志(logj1,logj2),再根据本地保存的信息,添加节点以及删除节点的信息,更新日志并创建副本,使用安全的排序函数对两条日志进行排序,重新加密后上传到服务器;
(10c)用户更换所有节点的唯一标识符IDj,再根据两条日志信息(logj1,logj2),运行步骤(2)-(4),得到两条重建索引(Ij1,Ij2)和两个数据密文(cj1,cj2),并上传到服务器的新结构体中;
10d)重复步骤(10b)-(10c),使用数组中的所有日志密文重建索引,用户根据重建索引查找出关键词。
本发明与现有技术相比有以下优点:
第一,本发明是基于布隆过滤器构建查询索引,对同一个关键词生成可不同的陷门,克服了现有技术中对同一个关键词生成相同陷门,导致泄漏数据的查询模式的缺点,并能在泄漏更少信息的情况下对数据进行安全的搜索。
第二,本发明是基于布隆过滤器对不同的节点构造不同的索引,能对加密的图进行有效的更新,克服了现有基于传统索引方法中索引更新困难的问题,在保证泄漏最少信息的情况下实现了数据的更新,在需要实时更新的结构化加密方案中,具有更大的优势。
第三,本发明加入了索引重建结构,用户能对加密数据进行有效的重建,克服了传统方案中重建索引困难的问题,可以在保证最少泄漏的情况下完成对图加密数据有效的重建,攻击者无法从加密数据中获得更多的隐私信息。
附图说明
图1是本发明实现的流程图。
具体实施方式
步骤1,初始化
1.1)用户根据本地的通信传输速度选择错误概率e,利用对称密钥生成算法,用户使用密钥种子K生成(r+y)个密钥(sk1,…,ski,…,skr+y),i∈(1,r+y),其中ski是第i个密钥,r是陷门的数量,由用户选择的错误概率确定,y≥4,skr+1为数据密钥,skr+2为指针密钥,skr+3为数据摘要密钥,skr+4为日志密钥;
1.2)使用日志算法构建节点日志(log1,…,logj,…,logn),其中logj是第j个节点的节点日志,j∈(1,n),n表示图中节点的总数,每个日志logj,包含节点j的唯一标识符IDj、节点j的邻接点标识符集uIDj、邻接点出入度IO、数据摘要vj和数据项信息mj。
步骤2,扫描日志信息,为每一个节点生成关键字集Sj。
该关键词集合包含邻接点标识符集uIDj和数据项中的唯一关键字,其生成步骤如下:
2.1)扫描日志中节点j的邻接点标识符,生成邻接点标识符集uIDj;
2.2)扫描日志中节点的数据项mj,生成唯一关键字集合SWj;
2.3)标识符集合uIDj和唯一关键字集合SWj共同构成节点的关键字集Sj。
步骤3,使用基于布隆过滤器的方法为每一个节点构造索引Ij,j∈(1,n)。
3.1)初始化一个空的布隆过滤器BFj,计算过滤器的大小b:
其中表示由用户确定的布隆过滤器的错误概率,r表示码字数量,max(|Sj|)表示最大关键字集的大小;
3.2)计算关键字的陷门值,其计算公式如下:
其中wj表示节点j包含的关键字,表示关键字wj的陷门,G为图,“||”表示级联两个字符串,IO表示节点的出入度,h(·)表示安全抗碰撞的哈希函数,(sk1,…,skr)表示密钥,(x1,…,xa,…,xr)表示关键字wj∈Sj的陷门值,xa表示第a个陷门值,a∈(1,r);
3.2)计算关键字的码字其计算公式如下:
ya=h(IDj,xa)
其中(y1,…,ya,…,yr)表示关键字wj的码字,ya表示关键字wj的第a个码字,IDj表示节点j的标识符,哈希函数h(·)将码字均匀的映射到(0-b)中,将过滤器中码字对应的位置置为“1”;
3.4)重复步骤(3.2)-(3.3)将节点j的所有关键字的码字插入到过滤器中;
3.5)向过滤器中随机插入字符“1”,使过滤器中的“1”的比例接近1/2,以增强索引的安全性。
步骤4,用户使用高级加密标准AES和数据密钥skr+1加密节点数据mj,得到数据密文cj。
现有的加密方法包括对称加密和非对称加密,其中对称加密包括高级加密标准AES加密和RC4流密码加密,非对称加密方法主要包括公钥加密,本实例采用高级加密标准AES来对数据进行加密,AES是对称密钥加密中最流行的加密算法之一,能够在保证安全性的前提下实现对数据的高速加密。
步骤5,加密数据指针和数据摘要。
5.1)对于节点j,用户选择未使用的数据存储地址addj,根据地址addj访问节点j的数据密文,使用置换函数计算数据指针,其计算公式如下:
pi=π(addj)
其中π(·)表示置换函数,pj表示数据指针;
5.2)加密数据指针和数据摘要,其计算公式如下:
其中,cpj表示加密的数据指针,cvj表示加密的数据摘要,Fsk(·)表示伪随机函数,pj表示置换的数据指针,vj表示节点j的数据摘要,表示二进制异或操作。
5.3)将对应于节点j的索引Ij、指针密文cpj和数据摘要密文cvj一起存储。
步骤6,用户初始化数组并使用高级加密标准AES和日志密钥skr+4加密日志logj,得到日志密文CLj,将该日志密文存储在数组的第j个位置RAM[j]中,j∈(1,n)。
步骤7,用户将数组RAM和每一个节点的索引Ij、数据密文cj上传到远端服务器;
步骤8,搜索关键字。
8.1)用户搜索包含关键字(w1,…,wt,…,wq)的节点,其中wt是第t个关键字,t∈(1,q),q是用户搜索关键字的总数;计算陷门值其中表示关键字wt的陷门;
8.2)用户从每个关键字的r个陷门中随机选取r/2个陷门发送到服务器,服务器使用陷门检查每个节点的索引Ij,若索引满足陷门条件,则将对应的指针密文和摘要密文返回给用户;
8.3)用户解密指针密文和数据摘要密文,其计算公式如下:
其中,Fsk(·)是伪随机函数,cp表示指针密文,p表示指针数据,cv表示摘要密文,v表示节点的数据摘要;
8.4)用户根据数据摘要对数据指针进行初步筛选,删除错误数据的指针;
8.5)用户使用置换函数的逆函数π-1(·)恢复出数据地址:
add=π-1(p)
其中,π-1(·)表示对应于π(·)的逆函数,add表示数据的存储地址,p表示指针数据;
8.3)用户使用数据地址add取回数据密文,使用AES解密算法对其进行解密得到节点
数据,再对该节点数据进一步筛选,删除错误数据,完成搜索。
步骤9,添加节点数据。
9.1)用户添加一个新的节点z,将节点z的标识符及其邻接点标识符保存在本地,重建索引时,用户使用这些信息更新日志;
9.2)构造该节点的日志logz,使用日志密钥skr+4加密logz得到日志密文CLz,将CLz上传到服务器;
9.3)运行步骤(2)-(4),为新的节点z构造索引;
9.4)用户计算节点z的添加陷门U(z),其计算方法如下:
U(z)=(ID1,…,IDx,…,IDg)
其中,IDx表示陷门U(z)中第x个标识符,x∈(1,g),g是U(z)中标识符的总数,g个节点中有个是新节点z的邻接点标识符,个是与新节点z不相关的节点标识符,的取值根据新节点z的不同而不同;
9.5)用户将陷门U(z)发送到服务器,服务器将对应于陷门值的节点索引和数据返回给用户,用户向节点z的邻接点的布隆过滤器中插入节点z的码字,向不相关节点的索引中随机插入数量小于r的字符“1”,更新数据摘要;
9.6)运行步骤5,为陷门U(z)对应的节点重新选取数据存储地址,使用AES解密算法解密数据项部分,用户使用高级加密标准AES重新加密数据mx,得到数据密文cx;
9.7)用户将更新完的节点索引和数据上传到服务器,完成数据添加。
步骤10,删除节点数据。
10.1)对于待删除节点d,用户将该节点d的标识符保存在本地,并计算陷门:
De(d):De(d)=(IDd,add),
其中IDd表示待删除节点d的标识符,add表示节点d日志密文的存储地址;
10.2)用户将陷门De(d)发送到服务器,服务器收到陷门后,删除陷门De(d)对应的节点信息和日志密文,完成删除;
步骤11,结构重建。
11.1)在服务器创建一个新的结构体;
11.2)随机选取两条未重建的日志密文(CLj1,CLj2)返回给用户,用户解密日志数据得到两条日志(logj1,logj2),并根据步骤(9.1)保存在本地的数据,将新节点z的标识符添加到其邻接点的日志中,根据步骤(10)保存在本地的数据,将已经删除的节点d在日志中删除,更新日志,保证索引重建的正确性;
11.3)使用日志logj1的节点标识符IDj1和日志logj2的节点标识符IDj2计算排序函数Sort(·)的值:
其中π(·)表示置换函数;
11.4)根据排序函数的输出决定日志密文的存储位置:
如果Sort(IDj1,IDj2)输出为“0”,则用户使用高级加密标准AES重新加密两条日志(logj2,logj1),得到日志密文(CLj1,CLj2),将日志密文上传到服务器中,并将CLj1存储到RAM[j1]中,将CLj2存储到RAM[j2]中;
如果Sort(IDj1,IDj2)输出为“1”,则交换两个日志得到(logj2,logj1),重新加密后得到日志密文(CLj2,CLj1),将日志密文上传到服务器中,并将CLj2存储到RAM[j1]中,将CLj1存储到RAM[j2]中;
11.5)用户使用伪随机数生成器为每一个节点生成log2n比特长的随机数作为节点的新标识符,再根据两条日志信息(CLj1,CLj2),运行步骤(2)-(4),得到两条重建索引(Ij1,Ij2)和两个数据密文(cj1,cj2),并上传到服务器的新结构体中;
11.6)重复步骤(10.2)-(10.5),使用数组中的所有日志密文重建索引,用户根据重建索引查找出关键词。
以上描述仅是本发明的一个具体实例,并未构成对本发明的任何限制,显然对于本领域的专业人员来说,在了解了本发明内容和原理后,都可能在不背离本发明原理、结构的情况下,进行形式和细节上的各种修改和改变,但是这些基于本发明思想的修正和改变仍在本发明的权利要求保护范围之内。
Claims (9)
1.一种基于云环境中支持图加密数据的关键词查询方法,其特征在于,包括如下:
(1)初始化:
(1a)用户根据本地的通信传输速度选择错误概率e,利用对称密钥生成算法,用户使用密钥种子K生成(r+y)个密钥(sk1,…,ski,…,skr+y),i∈(1,r+y),ski是第i个密钥,r是陷门的数量,由用户选择的错误概率确定,y≥4,其中skr+1为数据密钥,skr+2为指针密钥,skr+3为数据摘要密钥,skr+4为日志密钥;
(1b)使用日志算法构建节点日志(log1,…,logj,…,logn)其中logj是第j个节点的节点日志,j∈(1,n),n表示图中节点的总数,每个日志logj,包含节点j的标识符IDj、节点j的邻接点标识符集uIDj、邻接点出入度IO、数据摘要vj和数据项信息mj;
(2)扫描日志信息,为每一个节点生成关键字集Sj,该关键词集合包含该节点的邻接点标识符和数据项中的唯一关键字,并使用基于布隆过滤器的方法为每一个节点构造索引Ij,j∈(1,n);
(3)用户使用高级加密标准AES和数据密钥skr+1加密节点数据mj,得到数据密文cj;
(4)对于节点j,用户选择未使用的数据存储地址addj,根据地址addj访问节点j的数据密文,使用置换函数π(·),计算数据指针pj,使用指针密钥skr+2加密数据指针得到指针密文cpj,使用数据摘要密钥skr+3加密数据摘要得到摘要密文cvj,并将对应于节点j的索引Ij、指针密文pj和数据摘要密文cvj一起存储;
(5)用户初始化数组并使用高级加密标准AES和日志密钥skr+4加密日志logj,得到日志密文CLj,将该日志密文存储在数组的第j个位置RAM[j]中,j∈(1,n);
(6)用户将数组RAM和每一个节点的索引Ij、数据密文cj上传到远端服务器;
(7)用户搜索包含关键字(w1,…,wt,…,wq)的节点,其中wt是第t个关键字t∈(1,q),q是用户搜索关键字的总数;计算陷门值其中是关键字wt的陷门,用户从每个关键字的r个陷门中随机选取r/2个陷门发送到服务器,服务器使用陷门检查每个节点的索引Ij,将满足陷门条件的数据返回给客户端,用户对数据进行筛选,删除错误数据,完成搜索;
(8)添加节点数据:
(8a)用户添加一个新的节点z,将节点z的标识符及其邻接点标识符保存在本地;
(8b)构造该节点的日志信息logz,使用日志密钥skr+4加密logz得到日志密文CLz,将CLz上传到服务器;
(8c)运行步骤(2)-(4),为新的节点z构造索引;
(8d)用户计算节点z的添加陷门U(z)并发送到服务器;服务器将对应于陷门值的节点数据返回给用户;
(8e)用户向节点z的邻接点布隆过滤器中插入节点z的码字,向不相关节点的索引中随机插入数量小于r的字符“1”,更新数据摘要;
(8f)重新选取数据存储地址,解密数据项部分,用户使用高级加密标准AES重新加密数据mx,得到数据密文cx;
(8g)用户将更新完的节点数据存储到服务器,完成数据添加;
(9)对于待删除节点d,用户将节点d的标识符保存在本地,用户计算陷门De(d)并发送到服务器,服务器收到陷门后,删除陷门De(d)对应的节点信息和日志密文;
(10)结构重建:
(10a)在服务器创建一个新的结构体;
(10b)随机选取两条未重建的日志密文返回给客户端,其中存储在RAM[j1]中,存储在RAM[j2]中,用户解密日志数据得到两条日志再根据本地保存的信息,添加节点以及删除节点的信息,更新日志并创建副本,使用安全的排序函数对两条日志进行排序,重新加密后上传到服务器;
(10c)用户更换所有节点的唯一标识符IDj,再根据两条日志信息运行步骤(2)-(4),得到两条重建索引和两个数据密文并上传到服务器的新结构体中;
10d)重复步骤(10b)-(10c),使用数组中的所有日志密文重建索引,用户根据重建索引查找出关键词。
2.根据权利要求1所述的方法,其特征在于,步骤(2)中使用基于布隆过滤器的方法为每一个节点构造索引,其实现如下:
(2a)初始化一个空的布隆过滤器BFj,计算过滤器的大小b:
其中表示由用户确定的布隆过滤器的错误概率,r表示码字数量,max(|Sj|)表示最大关键字集的大小;
(2b)计算关键字的陷门值,其计算公式如下:
其中表示关键字wj的陷门,wj表示节点j包含的关键字,G为图,“||”表示级联两个字符串,IO表示节点的出入度,h(·)表示安全抗碰撞的哈希函数,(sk1,…,skr)表示密钥,(x1,…,xa,…,xr)表示关键字wj∈Sj的陷门值,xa表示第a个陷门值,a∈(1,r);
(2c)计算关键字的码字其计算公式如下:
ya=h(IDj,xa)
其中(y1,…,ya,…,yr)表示关键字wj的码字,ya表示关键字wj的第a个码字,IDj表示节点j的标识符,哈希函数h(·)将码字均匀的映射到(0-b)中,将过滤器中码字对应的位置置为“1”;
(2d)重复步骤(2b)-(2c)将节点j的所有关键字的码字插入到过滤器中;
(2e)向过滤器中随机插入字符“1”,使过滤器中的“1”的比例接近1/2,以增强索引的安全性。
3.根据权利要求1所述的方法,其特征在于,步骤(4)中用户使用置换函数计算数据指针,其计算公式如下:
pi=π(addj)
其中π(·)表示置换函数,addj表示存储节点j数据密文的地址,用户根据地址addj访问节点j的数据项密文,pj表示数据指针。
4.根据权利要求1所述的方法,其特征在于,步骤(4)中加密指针数据和数据摘要,其计算公式如下:
其中,cpj表示加密的数据指针,cvj表示加密的数据摘要,Fsk(·)表示伪随机函数,pj表示数据指针,vj表示节点j的数据摘要,表示二进制异或操作。
5.根据权利要求1所述的方法,其特征在于,步骤(7)用户对收到的数据进行筛选,其实现如下:
(7a)用户解密指针密文和数据摘要密文,其计算公式如下:
其中,Fsk(·)是伪随机函数,cp表示指针密文,p表示指针数据,cv表示摘要密文,v表示节点的数据摘要;
(7b)用户根据数据摘要对数据指针进行初步筛选,删除错误数据的指针,然后用户使用置换函数的逆函数π-1(·)恢复出数据地址add:
add=π-1(p)
其中,π-1(·)表示对应于π(·)的逆函数,p表示指针数据;
(7c)用户根据数据地址add取回数据密文,解密数据密文得到节点数据,并对数据进一步筛选,删除错误数据,完成搜索。
6.根据权利要求1所述的方法,其特征在于,步骤(8c)中计算陷门U(z),其计算公式如下:
U(z)=(ID1,…,IDx,…,IDg)
其中,IDx表示陷门U(z)中第x个标识符,x∈(1,g),g是U(z)中标识符的总数,g≈2l,g个节点中有l个是新节点z的邻接点标识符,(g-l)个是与新节点z不相关的节点标识符,l的取值根据新节点z的不同而不同。
7.根据权利要求1所述的方法,其特征在于,步骤(9)中计算陷门De(d),其计算公式如下:
De(d)=(IDd,add)
其中IDd表示待删除节点d的标识符,add表示节点d的日志存储地址。
8.根据权利要求1所述的方法,其特征在于,步骤(10b)中更新日志信息,使用安全的排序函数进行排序,其具体方法如下:
(10b1)根据步骤(8a)保存在本地的数据,用户将新节点z的标识符添加到其邻接点的日志中,根据步骤(9)保存在本地的数据,用户将已经删除的节点在日志中删除,保证索引重建的正确性;
(10b2)使用日志的节点标识符和日志的节点标识符计算排序函数Sort(·)的值:
其中π(·)表示置换函数;
(10b3)根据排序函数的输出决定日志密文的存储位置:
如果输出为“0”,则用户使用高级加密标准AES重新加密两条日志得到日志密文将日志密文上传到服务器中,并将存储到RAM[j1]中,将存储到RAM[j2]中;
如果输出为“1”,则交换两个日志得到重新加密后得到日志密文将日志密文上传到服务器中,并将存储到RAM[j1]中,将存储到RAM[j2]中。
9.根据权利要求1所述的方法,其特征在于,步骤(10c)中用户更换节点的标识符,是由用户使用伪随机数生成器为每一个节点随机生成log2n比特长的随机数,将该随机数作为节点的新标识符。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910517594.6A CN110222520B (zh) | 2019-06-14 | 2019-06-14 | 云环境中支持图加密数据的关键词查询方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910517594.6A CN110222520B (zh) | 2019-06-14 | 2019-06-14 | 云环境中支持图加密数据的关键词查询方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110222520A true CN110222520A (zh) | 2019-09-10 |
CN110222520B CN110222520B (zh) | 2022-12-02 |
Family
ID=67817266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910517594.6A Active CN110222520B (zh) | 2019-06-14 | 2019-06-14 | 云环境中支持图加密数据的关键词查询方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110222520B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114500253A (zh) * | 2022-01-13 | 2022-05-13 | 北京特立信电子技术股份有限公司 | 一种日志信息存储方法及存储介质 |
CN115865953A (zh) * | 2023-02-17 | 2023-03-28 | 广州合利宝支付科技有限公司 | 一种基于跨境支付的分布式存储系统 |
CN115994374A (zh) * | 2023-03-23 | 2023-04-21 | 汶上县金源物流有限公司 | 一种物流流转分拣信息管理方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130173917A1 (en) * | 2011-12-30 | 2013-07-04 | Christopher J. Clifton | Secure search and retrieval |
CN105681280A (zh) * | 2015-12-29 | 2016-06-15 | 西安电子科技大学 | 一种云环境中基于中文的可搜索加密方法 |
CN106815350A (zh) * | 2017-01-19 | 2017-06-09 | 安徽大学 | 一种云环境中动态的密文多关键词模糊搜索方法 |
-
2019
- 2019-06-14 CN CN201910517594.6A patent/CN110222520B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130173917A1 (en) * | 2011-12-30 | 2013-07-04 | Christopher J. Clifton | Secure search and retrieval |
CN105681280A (zh) * | 2015-12-29 | 2016-06-15 | 西安电子科技大学 | 一种云环境中基于中文的可搜索加密方法 |
CN106815350A (zh) * | 2017-01-19 | 2017-06-09 | 安徽大学 | 一种云环境中动态的密文多关键词模糊搜索方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114500253A (zh) * | 2022-01-13 | 2022-05-13 | 北京特立信电子技术股份有限公司 | 一种日志信息存储方法及存储介质 |
CN114500253B (zh) * | 2022-01-13 | 2024-03-12 | 北京特立信电子技术股份有限公司 | 一种日志信息存储方法及存储介质 |
CN115865953A (zh) * | 2023-02-17 | 2023-03-28 | 广州合利宝支付科技有限公司 | 一种基于跨境支付的分布式存储系统 |
CN115865953B (zh) * | 2023-02-17 | 2023-05-16 | 广州合利宝支付科技有限公司 | 一种基于跨境支付的分布式存储系统 |
CN115994374A (zh) * | 2023-03-23 | 2023-04-21 | 汶上县金源物流有限公司 | 一种物流流转分拣信息管理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110222520B (zh) | 2022-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Du et al. | Privacy-preserving indexing and query processing for secure dynamic cloud storage | |
Boyle et al. | Function secret sharing: Improvements and extensions | |
Williams et al. | Single round access privacy on outsourced storage | |
US9355271B2 (en) | System and method for dynamic, non-interactive, and parallelizable searchable symmetric encryption | |
Wang et al. | Secure and efficient access to outsourced data | |
Yun et al. | On protecting integrity and confidentiality of cryptographic file system for outsourced storage | |
CN112270006A (zh) | 电商平台中隐藏搜索模式和访问模式的可搜索加密方法 | |
Hoang et al. | A secure searchable encryption framework for privacy-critical cloud storage services | |
Li et al. | Towards privacy-preserving storage and retrieval in multiple clouds | |
CN107222483A (zh) | 一种多访问级别的电子文档网络存储管理的方法 | |
CN110222520A (zh) | 云环境中支持图加密数据的关键词查询方法 | |
Shao et al. | Achieve efficient and verifiable conjunctive and fuzzy queries over encrypted data in cloud | |
Cui et al. | Privacy-preserving dynamic symmetric searchable encryption with controllable leakage | |
Yuan et al. | Towards privacy-preserving and practical image-centric social discovery | |
Jia et al. | {OblivP2P}: An Oblivious {Peer-to-Peer} Content Sharing System | |
Hoang et al. | A multi-server oblivious dynamic searchable encryption framework | |
Hoang et al. | A multi-server oram framework with constant client bandwidth blowup | |
Persiano et al. | Lower bound framework for differentially private and oblivious data structures | |
Chatterjee et al. | Efficient backward private searchable encryption | |
Ti et al. | Benchmarking dynamic searchable symmetric encryption scheme for cloud-internet of things applications | |
KR101232385B1 (ko) | 대칭키 기반의 암호 생성 및 검색 방법과 그 시스템 | |
Williams et al. | SR-ORAM: Single round-trip oblivious ram | |
Lv et al. | A dynamic conjunctive keywords searchable symmetric encryption scheme for multiple users in cloud computing | |
Cui et al. | Privacy-preserving searchable databases with controllable leakage | |
Sreelaja et al. | Swarm intelligence based key generation for stream cipher |
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 |