CN114021006A - 一种多维数据的安全查询方法及装置 - Google Patents

一种多维数据的安全查询方法及装置 Download PDF

Info

Publication number
CN114021006A
CN114021006A CN202111286990.6A CN202111286990A CN114021006A CN 114021006 A CN114021006 A CN 114021006A CN 202111286990 A CN202111286990 A CN 202111286990A CN 114021006 A CN114021006 A CN 114021006A
Authority
CN
China
Prior art keywords
data
query
user
cloud server
encrypted
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.)
Pending
Application number
CN202111286990.6A
Other languages
English (en)
Inventor
王盼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jinan Inspur Data Technology Co Ltd
Original Assignee
Jinan Inspur Data Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jinan Inspur Data Technology Co Ltd filed Critical Jinan Inspur Data Technology Co Ltd
Priority to CN202111286990.6A priority Critical patent/CN114021006A/zh
Publication of CN114021006A publication Critical patent/CN114021006A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6227Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Abstract

本发明提供了一种多维数据的安全查询方法及装置,方法包括用户向云服务器发送查询请求,云服务器接收所述查询请求,验证签名值,并解密密文得到加密查询参数;通过加密数据项及加密查询参数,对加密数据项的每一维度进行比较计算,生成查询结果集,发送给用户。本发明整个过程中数据项的具体内容以及查询请求的具体内容均不会被知晓,能提供高效、安全和准确的多维数据查询服务,还可以保护数据拥有者的数据安全,以及避免用户查询的隐私信息的泄露。

Description

一种多维数据的安全查询方法及装置
技术领域
本发明涉及云计算与大数据技术领域,尤其是一种多维数据的安全查询方法及装置。
背景技术
随着互联网的极速发展,人们在生活和工作中产生的数据量也大大增加。海量的数据被以多维数据的形式由数据拥有者集中存储,然后为用户提供一些出行、消费、医疗服务和科学研究等有价值的查询服务。然而,这种查询服务会带来巨大的存储和计算成本,同时用户的查询信息也会被数据拥有者清楚的知晓,不能保证用户的隐私安全。
随着云计算技术的发展,数据拥有者把数据存储到云服务器上,并由云服务器根据用户的请求提供查询服务已经是当下的主流趋势。由于这些数据是敏感信息,数据拥有者不希望自己的数据信息被云服务器获知,用户也不希望自己查询的隐私信息泄露给云服务器和数据拥有者。因此,数据安全问题是多维数据查询中亟待解决的关键问题。
传统的同态加密是在不需要解密的前提下完成对加密数据的运算。但是,由于该加密运算普遍需要大量的计算资源,并不适用于多维数据的安全查询。
发明内容
本发明提供了一种多维数据的安全查询方法及装置,用于解决现有多维数据的查询方式不完善的问题。
为实现上述目的,本发明采用下述技术方案:
本发明第一方面提供了一种多维数据的安全查询方法,所述查询方法包括以下步骤:
用户向云服务器发送查询请求,所述查询请求中包括基于请求信息的加密查询参数的密文、用户身份标识、时间戳以及签名值;
云服务器接收所述查询请求,利用用户公钥验证所述签名值,并解密密文得到请求信息的加密查询参数;
云服务器通过存储的加密数据项及所述请求信息的加密查询参数,对加密数据项的每一维度进行比较计算,将得到的数据集合使用当前用户公钥进行加密,并通过云服务器私钥签名后,生成查询结果集,发送给用户。
进一步地,所述用户向云服务器发送查询请求之前还包括以下步骤:
初始化服务器获取安全参数ω,得到两个ω位的大素数p1和p2,运行Gen(ω),得到若干个系统参数,所述系统参数包括计算群G、计算群G的映射群GT、大素数p1、大素数p2、生成元g、生成元u、对称加密的密钥k以及计算参数
Figure BDA0003328559730000021
Figure BDA0003328559730000022
进一步地,所述用户向云服务器发送查询请求之前还包括数据拥有者、用户及云服务器向所述初始化服务器注册,具体包括:
数据拥有者或用户在注册时,随机选择数字
Figure BDA0003328559730000023
作为其私钥SK,计算对应的公钥PK=gSK,并将该公钥发送给初始化服务器,初始化服务器通过安全信道将<B1,B2,k>给注册的数据拥有者或用户;
云服务器在注册时,产生公私钥对
Figure BDA0003328559730000024
并将公钥PKCS发送给初始化服务器用于签名验证;初始化服务器计算
Figure BDA0003328559730000025
其中1≤j≤η,η是一个长度小于256比特的大整数,并构建评估数据集合 HPS={HP1,HP2,…,HPη};初始化服务器按照大小顺序对集合中数据进行排序,并发送排序后的评估数据集合HPS给云服务器。
进一步地,所述用户向云服务器发送查询请求之前还包括以下步骤:
数据拥有者将每一条数据项用一个n维向量
Figure BDA0003328559730000026
表示;
通过加密算法和密钥k加密
Figure BDA0003328559730000027
得到CXi
通过如下公式(1)给所述数据项添加扰乱:
Figure BDA0003328559730000031
随机选择n个数r1,r2,…,rn,并计算加密属性参数
Figure BDA0003328559730000032
通过公式(3)计算签名,其中SK是数据拥有者的私钥,ID是数据拥有者的身份标识,TS1是当前时刻的时间戳,H()是杂凑函数;
Sig=H(Fi||CXi||ID||TS1)SK (3)
数据拥有者单元将签名后的数据项<Fi||CXi||ID||TS1||Sig>发送给云服务器。
进一步地,云服务器在接收到数据拥有者签名的数据项后,进行如下操作:
将时间戳与当前时间进行对比,验证其时效性;
验证公式(4)是否成立:e(g,Sig)=e(PK,H(Fi||CXi||ID||TS1)) (4);
若成立,则存储签名验证后的数据项Fi
进一步地,所述用户向云服务器发送查询请求的具体过程为:
用户基于请求确定一个n维的参数向量(y1,y2,…,yn);
按照公式(6),对所述参数向量进行计算:
Figure BDA0003328559730000033
按照公式(7),计算加密查询参数:
Figure BDA0003328559730000034
按照公式(8),利用云服务器公钥对所述加密查询参数进行加密,得到密文Q:
Figure BDA0003328559730000035
按照公式(9),计算签名值,其中
Figure BDA0003328559730000036
是用户自己的私钥,TS2是当前的时间戳,Uj是用户身份标识:
Figure BDA0003328559730000041
将加密的查询请求<Q||Uj||TS2||Sigj>发送给云服务器。
进一步地,云服务器在接收到用户发送的查询请求后,计算查询结果集,具体过程为:
建立临时窗口及临时文件;
从初始集合中第一个数据点开始遍历,将数据点与临时窗口中的每一个数据点进行比较,判断支配性;
若该数据点被临时窗口中的数据点支配时,丢弃该数据点,若该数据点支配临时窗口中的一个或多个数据点时,则将临时窗口中被支配的所述一个或多个数据点丢弃,将该数据点存入所述临时窗口中;若该数据点与临时窗口中所有数据点都互不支配时,则将该数据点存入所述临时窗口中;若临时窗口已满,则存入所述临时文件中;
遍历完集合中所述数据点后,将临时文件中的第一个数据点插入临时窗口中的数据点输出作为SP点,将临时文件中的数据当作新的数据集合返回上一步计算;当初始集合中的所有数据点被丢弃或当成SP点输出后,终止计算,则所有的SP点的集合为查询结果集。
进一步地,所述将数据点与临时窗口中的每一个数据点进行比较,判断支配性的具体过程为:
选取两个云服务器上存储的加密数据项
Figure BDA0003328559730000042
Figure BDA0003328559730000043
以及用户单元的查询请求<q1,q2,…,qn>;
通过公式(12),计算比较参数Dk,k=1,2,…,n,
Figure BDA0003328559730000044
设置参数a、b和c,其初始值均设置为0;
如果Dk=1,则a的值加1;否则,计算HDk=H(Dk),并在自身存储的评估数据集合HPS中查找HDk,若找到该参数HDk,则b的值加1;若未找到该参数HDk,c的值加1;
所有维度比较之后,在a=n的情况下,即Fi和Fj对于用户的查询条件而言是没有差别的,如果b>0,c=0,则Fj支配Fi,如果c>0,b=0,则Fi支配Fj;否则,Fi和Fj没有支配关系。
本发明第二方面提供了一种多维数据的安全查询装置,所述装置包括:
用户单元,用于向云服务器发送查询请求,所述查询请求中包括基于请求信息的加密查询参数的密文、用户身份标识、时间戳以及签名值;
云服务器单元,用于接收所述查询请求,利用用户公钥验证所述签名值,并解密密文得到请求信息的加密查询参数;通过存储的加密数据项及所述请求信息的加密查询参数,对加密数据项的每一维度进行比较计算,将得到的数据集合使用当前用户公钥进行加密,并通过云服务器私钥签名后,生成查询结果集,发送给用户。
进一步地,所述装置还包括:
初始化控制单元,用于获取安全参数ω,得到两个ω的大素数p1和p2,运行Gen(ω),得到若干个系统参数,所述系统参数包括计算群G、计算群G的映射群GT、大素数p1、大素数p2、生成元g、生成元u、对称加密的密钥k以及计算参数
Figure BDA0003328559730000051
Figure BDA0003328559730000052
还用于接收并处理数据拥有者单元、用户单元及云服务器单元的注册请求;
数据拥有者单元,用于将数据源进行加密,并将签名后的数据项存储至云所述服务器单元
本发明第二方面的所述安全查询装置能够实现第一方面及第一方面的各实现方式中的方法,并取得相同的效果。
发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:
本发明数据拥有者将加密的数据存储到云服务器端;用户将自己的请求加密运算后,生成查询请求发送给云服务器端;云服务器端收到用户加密的查询请求后,进行计算,得到满足用户查询请求的最优点集合,并将结果返回给用户。整个过程中数据项的具体内容以及查询请求的具体内容均不会被知晓,能提供高效、安全和准确的多维数据查询服务,还可以保护数据拥有者的数据安全,以及避免用户查询的隐私信息的泄露。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明所述查询方法实施例的流程示意图;
图2是本发明所述查询装置实施例的结构示意图。
具体实施方式
为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
如图1所示,本发明实施例提供的一种多维数据的安全查询方法,所述查询方法包括以下步骤:
S1,用户向云服务器发送查询请求,所述查询请求中包括基于请求信息的加密查询参数的密文、用户身份标识、时间戳以及签名值;
S2,云服务器接收所述查询请求,利用用户公钥验证所述签名值,并解密密文得到请求信息的加密查询参数;
S3,云服务器通过存储的加密数据项及所述请求信息的加密查询参数,对加密数据项的每一维度进行比较计算,将得到的数据集合使用当前用户公钥进行加密,并通过云服务器私钥签名后,生成查询结果集,发送给用户。
本发明实施例的其一实现方式中,所述用户向云服务器发送查询请求之前还包括以下步骤:
初始化服务器获取安全参数ω,得到两个ω位的大素数p1和p2,运行Gen(ω),得到若干个系统参数,所述系统参数包括计算群G、计算群G的映射群GT、大素数p1、大素数p2、生成元g、生成元u、对称加密的密钥k以及计算参数
Figure BDA0003328559730000071
Figure BDA0003328559730000072
其中以g为生成元的n阶双线性映射群G,
Figure BDA0003328559730000073
Figure BDA0003328559730000074
是n-1阶非零整数群。
计算群G的另一个生成元u,并根据双线性映射函数e()计算群G的映射群GT;同时,根据群G的生成元u和大素数p2,计算系统参数
Figure BDA0003328559730000075
初始化控制单元根据生成元g和大素数p1,以及双线性映射函数e(),计算系统参数
Figure BDA0003328559730000076
Figure BDA0003328559730000077
选择符合要求的非对称加密算法E()和杂凑函数H()。然后,随机选择一个128比特的数字作为对称加密的密钥k,随机选择一个数字
Figure BDA0003328559730000078
作为其私钥SKTA,并计算对应的公钥
Figure BDA0003328559730000079
然后,由初始化控制单元公开系统参数<m,G,GT,e,g,h,PKTA,E(),H(),k>,其中m=p1*p2
本发明实施例的其一实现方式中,所述用户向云服务器发送查询请求之前还包括数据拥有者、用户及云服务器向所述初始化服务器注册,具体包括:
数据拥有者或用户在注册时,随机选择数字
Figure BDA00033285597300000710
作为其私钥SK,计算对应的公钥PK=gSK,并将该公钥发送给初始化服务器,初始化服务器通过安全信道将<B1,B2,k>给注册的数据拥有者或用户;云服务器在注册时,产生公私钥对
Figure BDA0003328559730000081
并将公钥PKCS发送给初始化服务器用于签名验证;初始化服务器计算
Figure BDA0003328559730000082
其中1≤j≤η,η是一个长度小于256比特的大整数,并构建评估数据集合HPS={HP1,HP2,…,HPη};初始化服务器按照大小顺序对集合中数据进行排序,并发送排序后的评估数据集合HPS给云服务器。在数据拥有者、用户和云服务器注册完成后,采用离线或关闭服务的方式来防止单点攻击。
本发明实施例的其一实现方式中,所述用户向云服务器发送查询请求之前还包括以下步骤:
数据拥有者将每一条数据项用一个n维向量
Figure BDA0003328559730000083
表示,在数据存储前,数据拥有者单元会对每一条数据都进行如下的计算操作:
通过AES加密算法和密钥k加密
Figure BDA0003328559730000084
得到CXi
通过如下公式(1)给所述数据项添加扰乱,用来防止恶意攻击。其中B1只被注册的用户和数据拥有者知晓:
Figure BDA0003328559730000085
随机选择n个数r1,r2,…,rn,并计算加密属性参数
Figure BDA0003328559730000086
具体计算方法如下公式(2)所示:
Figure BDA0003328559730000087
通过公式(3)计算签名,其中SK是数据拥有者的私钥,ID是数据拥有者的身份标识,TS1是当前时刻的时间戳,H()是杂凑函数;
Sig=H(Fi||CXi||ID||TS1)SK (3)
数据拥有者单元将签名后的数据项<Fi||CXi||ID||TS1||Sig>发送给云服务器。
云服务器在接收到数据拥有者签名的数据项后,进行如下操作:
将时间戳T1与当前时间进行对比,验证其时效性;
验证公式(4)是否成立:e(g,Sig)=e(PK,H(Fi||CXi||ID||TS1))(4),原因如公式(5)所示:
e(g,Sig)=e(g,H(Fi||CXi||ID||TS1))SK
=e(PK,H(Fi||CXi||ID||TS1) (5);
若成立,则存储签名验证后的数据项Fi
上述步骤S1中,为了保证用户查询信息的隐私性,注册用户在向云服务器单元发送查询请求前会对查询信息进行加密操作,所述用户向云服务器发送查询请求的具体过程为:
用户基于请求确定一个n维的参数向量(y1,y2,…,yn);
按照公式(6),对所述参数向量进行计算:
Figure BDA0003328559730000091
按照公式(7),计算加密查询参数(q1,q2,…,qn):
Figure BDA0003328559730000092
按照公式(8),利用云服务器公钥PKCS对所述加密查询参数进行加密,得到密文Q:
Figure BDA0003328559730000093
按照公式(9),计算签名值,其中
Figure BDA0003328559730000094
是用户自己的私钥,TS2是当前的时间戳,Uj是用户身份标识:
Figure BDA0003328559730000095
将加密的查询请求<Q||Uj||TS2||Sigj>发送给云服务器。
步骤S2中,云服务器首先验证时间戳TS2的时效性,并通过计算公式(10)是否成立来验证签名的正确性。如果该公式成立,则签名的时效性得到验证,原因如公式(11)所示:
Figure BDA0003328559730000101
Figure BDA0003328559730000102
云服务器用自己的私钥SKCS解密密文Q,得到<q1,q2,…,qn>。
步骤S3中,云服务器单元用BNL算法遍历自身存储的所有数据项。具体来说,对于BNL算法中任意两个数据项的比较,云服务器单元运行如下支配性判断算法得到对应的支配关系:
BNL算法首先在内存中建立一个空白的临时窗口及临时文件,临时窗口用来存放可能是SP点的数据,临时文件用于临时窗口空间不足时,存放数据点;
从初始集合中第一个数据点开始遍历,将数据点与临时窗口中的每一个数据点进行比较,判断支配性。当临时窗口为空时,将该数据点直接插入临时窗口。
若该数据点被临时窗口中的数据点支配时,丢弃该数据点,若该数据点支配临时窗口中的一个或多个数据点时,则将临时窗口中被支配的所述一个或多个数据点丢弃,将该数据点存入所述临时窗口中;若该数据点与临时窗口中所有数据点都互不支配时,则将该数据点存入所述临时窗口中;若临时窗口已满,则存入所述临时文件中;
遍历完集合中所述数据点后,将临时文件中的第一个数据点插入临时窗口中的数据点输出作为SP点,将临时文件中的数据当作新的数据集合返回上一步计算;当初始集合中的所有数据点被丢弃或当成SP点输出后,终止计算,则所有的SP点的集合为查询结果集。
所述将数据点与临时窗口中的每一个数据点进行比较,判断支配性的具体过程为:
选取两个云服务器上存储的加密数据项
Figure BDA0003328559730000103
Figure BDA0003328559730000104
以及用户单元的查询请求<q1,q2,…,qn>;
通过公式(12),计算比较参数Dk,k=1,2,…,n,
Figure BDA0003328559730000111
设置参数a、b和c,其初始值均设置为0;
如果Dk=1,则a的值加1;否则,计算HDk=H(Dk),并在自身存储的评估数据集合HPS中查找HDk,若找到该参数HDk,则b的值加1;若未找到该参数HDk,c的值加1;
所有维度比较之后,在a=n的情况下,即Fi和Fj对于用户的查询条件而言是没有差别的,如果b>0,c=0,则Fj支配Fi,如果c>0,b=0,则Fi支配Fj;否则,Fi和Fj没有支配关系。
用BNL(Block Nested Loops,嵌套循环算法)算法遍历了所有的数据项后,云服务器得到一个数据集合SKY(F),其中的每一项Fi都在数据集中不被其他数据项支配。云服务器将该集合中每一个数据项Fi对应的CXi加入集合SKY(CX),并用非对称加密算法E()和用户的公钥
Figure BDA0003328559730000112
加密SKY(CX),并用自己的私钥SKCS通过公式(13)计算签名:
Figure BDA0003328559730000113
云服务器将结果集
Figure BDA0003328559730000114
发送给用户。
在接收到来自服务器的查询结果集
Figure BDA0003328559730000115
后,用户首先检查时间戳TS3的时效性,并通过计算公式14是否成立来验证签名的正确性。然后,用户单元用自己的私钥
Figure BDA0003328559730000116
来解密
Figure BDA0003328559730000117
得到SKY(CX)。最后,用户用AES解密算法和对称密钥k解密SKY(CX),获得满足条件的结果集中的每一条数据项的明文:
Figure BDA0003328559730000121
如图2所示,本发明实施例还提供了一种多维数据的安全查询装置,所述装置包括初始化控制单元、用户单元、数据拥有者单元和云服务器单元。
初始化控制单元,用于获取安全参数ω,得到两个ω的大素数p1和p2,运行Gen(ω),得到若干个系统参数,所述系统参数包括计算群G、计算群G的映射群GT、大素数p1、大素数p2、生成元g、生成元u、对称加密的密钥k以及计算参数
Figure BDA0003328559730000122
Figure BDA0003328559730000123
还用于接收并处理数据拥有者单元、用户单元及云服务器单元的注册请求。
数据拥有者单元包括拥有大量数据资源的数据提供商,它会对数据资源进行整合分析,以便能够为用户提供查询服务。由于数据拥有者直接提供查询服务需要大量的存储和计算资源,所以他们希望借由云服务器来为用户提供查询服务。然而,数据作为重要资产,数据拥有者希望保证其机密性,所以会在数据存储到云服务器前进行加密操作。
云服务器单元包含大量分布式存储和计算节点,可以存储海量来自数据拥有者的加密数据信息,并根据这些密文为用户提供安全查询服务。云服务器单元主要包括两部分:存储数据和完成加密数据的查询,即存储数据拥有者的密文数据,并根据用户的加密查询请求在密文上进行计算,返回满足条件的结果集。具体为接收查询请求,利用用户公钥验证所述签名值,并解密密文得到请求信息的加密查询参数;通过存储的加密数据项及所述请求信息的加密查询参数,对加密数据项的每一维度进行比较计算,将得到的数据集合使用当前用户公钥进行加密,并通过云服务器私钥签名后,生成查询结果集,发送给用户。
用户单元在初始化控制单元完成注册后,就可以给云服务器发送查询请求,并得到云服务器返回的查询结果集。为了防止云服务器获得用户查询请求的内容,用户需要对查询请求进行加密。同时,未注册的用户无法获得数据拥有者的数据。用户单元发送的查询请求中包括基于请求信息的加密查询参数的密文、用户身份标识、时间戳以及签名值。
云服务器单元和数据拥有者单元之间需要做到机密性要求。即使云服务器存储了数据拥有者的所有加密数据项,它依然不能获得任意一条数据项的具体数值。同时与用户单元之间需要做到隐私性要求。即使云服务器单元能够获得用户所有的查询请求,但它却不能获得任何用户查询请求的相关具体信息。另外,云服务器单元返回的响应结果集,只有合法的用户才能收到并解密对应的响应。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

Claims (10)

1.一种多维数据的安全查询方法,其特征是,所述查询方法包括以下步骤:
用户向云服务器发送查询请求,所述查询请求中包括基于请求信息的加密查询参数的密文、用户身份标识、时间戳以及签名值;
云服务器接收所述查询请求,利用用户公钥验证所述签名值,并解密密文得到请求信息的加密查询参数;
云服务器通过存储的加密数据项及所述请求信息的加密查询参数,对加密数据项的每一维度进行比较计算,将得到的数据集合使用当前用户公钥进行加密,并通过云服务器私钥签名后,生成查询结果集,发送给用户。
2.根据权利要求1所述多维数据的安全查询方法,其特征是,所述用户向云服务器发送查询请求之前还包括以下步骤:
初始化服务器获取安全参数ω,得到两个ω位的大素数p1和p2,运行Gen(ω),得到若干个系统参数,所述系统参数包括计算群G、计算群G的映射群GT、大素数p1、大素数p2、生成元g、生成元u、对称加密的密钥k以及计算参数
Figure FDA0003328559720000014
Figure FDA0003328559720000015
3.根据权利要求2所述多维数据的安全查询方法,其特征是,所述用户向云服务器发送查询请求之前还包括数据拥有者、用户及云服务器向所述初始化服务器注册,具体包括:
数据拥有者或用户在注册时,随机选择数字
Figure FDA0003328559720000011
作为其私钥SK,计算对应的公钥PK=gSK,并将该公钥发送给初始化服务器,初始化服务器通过安全信道将<B1,B2,k>给注册的数据拥有者或用户;
云服务器在注册时,产生公私钥对
Figure FDA0003328559720000012
并将公钥PKCS发送给初始化服务器用于签名验证;初始化服务器计算
Figure FDA0003328559720000013
其中1≤j≤η,η是一个长度小于256比特的大整数,并构建评估数据集合HPS={HP1,HP2,...,HPη};初始化服务器按照大小顺序对集合中数据进行排序,并发送排序后的评估数据集合HPS给云服务器。
4.根据权利要求2所述多维数据的安全查询方法,其特征是,所述用户向云服务器发送查询请求之前还包括以下步骤:
数据拥有者将每一条数据项用一个n维向量
Figure FDA0003328559720000021
表示;
通过加密算法和密钥k加密
Figure FDA0003328559720000022
得到CXi
通过如下公式(1)给所述数据项添加扰乱:
Figure FDA0003328559720000023
随机选择n个数r1,r2,...,rn,并计算加密属性参数
Figure FDA0003328559720000024
通过公式(3)计算签名,其中SK是数据拥有者的私钥,ID是数据拥有者的身份标识,TS1是当前时刻的时间戳,H()是杂凑函数;
Sig=H(Fi||CXi||ID||TS1)SK (3)
数据拥有者单元将签名后的数据项<Fi||CXi||ID||TS1||Sig>发送给云服务器。
5.根据权利要求4所述多维数据的安全查询方法,其特征是,云服务器在接收到数据拥有者签名的数据项后,进行如下操作:
将时间戳与当前时间进行对比,验证其时效性;
验证公式(4)是否成立:e(g,Sig)=e(PK,H(Fi||CXi||ID||TS1)) (4);
若成立,则存储签名验证后的数据项Fi
6.根据权利要求2所述多维数据的安全查询方法,其特征是,所述用户向云服务器发送查询请求的具体过程为:
用户基于请求确定一个n维的参数向量(y1,y2,...,yn);
按照公式(6),对所述参数向量进行计算:
Figure FDA0003328559720000031
按照公式(7),计算加密查询参数:
Figure FDA0003328559720000032
按照公式(8),利用云服务器公钥对所述加密查询参数进行加密,得到密文Q:
Figure FDA0003328559720000033
按照公式(9),计算签名值,其中
Figure FDA0003328559720000034
是用户自己的私钥,TS2是当前的时间戳,Uj是用户身份标识:
Figure FDA0003328559720000035
将加密的查询请求<Q||Uj||TS2||Sigj>发送给云服务器。
7.根据权利要求6所述多维数据的安全查询方法,其特征是,云服务器在接收到用户发送的查询请求后,计算查询结果集,具体过程为:
建立临时窗口及临时文件;
从初始集合中第一个数据点开始遍历,将数据点与临时窗口中的每一个数据点进行比较,判断支配性;
若该数据点被临时窗口中的数据点支配时,丢弃该数据点,若该数据点支配临时窗口中的一个或多个数据点时,则将临时窗口中被支配的所述一个或多个数据点丢弃,将该数据点存入所述临时窗口中;若该数据点与临时窗口中所有数据点都互不支配时,则将该数据点存入所述临时窗口中;若临时窗口已满,则存入所述临时文件中;
遍历完集合中所述数据点后,将临时文件中的第一个数据点插入临时窗口中的数据点输出作为SP点,将临时文件中的数据当作新的数据集合返回上一步计算;当初始集合中的所有数据点被丢弃或当成SP点输出后,终止计算,则所有的SP点的集合为查询结果集。
8.根据权利要求7所述多维数据的安全查询方法,其特征是,所述将数据点与临时窗口中的每一个数据点进行比较,判断支配性的具体过程为:
选取两个云服务器上存储的加密数据项
Figure FDA0003328559720000041
Figure FDA0003328559720000042
以及用户单元的查询请求<q1,q2,...,qn>;
通过公式(12),计算比较参数Dk,k=1,2,…,n,
Figure FDA0003328559720000043
设置参数a、b和c,其初始值均设置为0;
如果Dk=1,则a的值加1;否则,计算HDk=H(Dk),并在自身存储的评估数据集合HPS中查找HDk,若找到该参数HDk,则b的值加1;若未找到该参数HDk,c的值加1;
所有维度比较之后,在a=n的情况下,即Fi和Fj对于用户的查询条件而言是没有差别的,如果b>0,c=0,则Fj支配Fi,如果c>0,b=0,则Fi支配Fj;否则,Fi和Fj没有支配关系。
9.一种多维数据的安全查询装置,其特征是,所述装置包括:
用户单元,用于向云服务器发送查询请求,所述查询请求中包括基于请求信息的加密查询参数的密文、用户身份标识、时间戳以及签名值;
云服务器单元,用于接收所述查询请求,利用用户公钥验证所述签名值,并解密密文得到请求信息的加密查询参数;通过存储的加密数据项及所述请求信息的加密查询参数,对加密数据项的每一维度进行比较计算,将得到的数据集合使用当前用户公钥进行加密,并通过云服务器私钥签名后,生成查询结果集,发送给用户。
10.根据权利要求9所述多维数据的安全查询装置,其特征是,所述装置还包括:
初始化控制单元,用于获取安全参数ω,得到两个ω的大素数p1和p2,运行Gen(ω),得到若干个系统参数,所述系统参数包括计算群G、计算群G的映射群GT、大素数p1、大素数p2、生成元g、生成元u、对称加密的密钥k以及计算参数
Figure FDA0003328559720000051
Figure FDA0003328559720000052
还用于接收并处理数据拥有者单元、用户单元及云服务器单元的注册请求;
数据拥有者单元,用于将数据源进行加密,并将签名后的数据项存储至云所述服务器单元。
CN202111286990.6A 2021-10-29 2021-10-29 一种多维数据的安全查询方法及装置 Pending CN114021006A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111286990.6A CN114021006A (zh) 2021-10-29 2021-10-29 一种多维数据的安全查询方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111286990.6A CN114021006A (zh) 2021-10-29 2021-10-29 一种多维数据的安全查询方法及装置

Publications (1)

Publication Number Publication Date
CN114021006A true CN114021006A (zh) 2022-02-08

Family

ID=80059748

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111286990.6A Pending CN114021006A (zh) 2021-10-29 2021-10-29 一种多维数据的安全查询方法及装置

Country Status (1)

Country Link
CN (1) CN114021006A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114969164A (zh) * 2022-07-22 2022-08-30 华控清交信息科技(北京)有限公司 一种数据查询方法、装置和可读存储介质
CN117610079A (zh) * 2024-01-23 2024-02-27 中汽智联技术有限公司 数据安全处理方法、设备和存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114969164A (zh) * 2022-07-22 2022-08-30 华控清交信息科技(北京)有限公司 一种数据查询方法、装置和可读存储介质
CN114969164B (zh) * 2022-07-22 2022-10-21 华控清交信息科技(北京)有限公司 一种数据查询方法、装置和可读存储介质
CN117610079A (zh) * 2024-01-23 2024-02-27 中汽智联技术有限公司 数据安全处理方法、设备和存储介质
CN117610079B (zh) * 2024-01-23 2024-04-09 中汽智联技术有限公司 数据安全处理方法、设备和存储介质

Similar Documents

Publication Publication Date Title
CN108632032B (zh) 无密钥托管的安全多关键词排序检索系统
CN107256248B (zh) 云存储安全中基于通配符的可搜索加密方法
CN107491497B (zh) 支持任意语言查询的多用户多关键词排序可搜索加密系统
Dong et al. Shared and searchable encrypted data for untrusted servers
JP2014002365A (ja) プライバシーを保護することができる暗号化データの問い合わせ方法及びシステム
CN111447209B (zh) 一种黑盒可追踪密文策略属性基加密方法
US20050005100A1 (en) Cryptographic method and system
CN110971411B (zh) 一种基于sotp技术对私钥乘加密的sm2同态签名方法
CN112989375B (zh) 一种分级优化加密无损隐私保护方法
CN114021006A (zh) 一种多维数据的安全查询方法及装置
Wang et al. CCA secure encryption supporting authorized equality test on ciphertexts in standard model and its applications
Sepehri et al. Data sharing on the cloud: A scalable proxy-based protocol for privacy-preserving queries
CN114417073B (zh) 一种加密图的邻居节点查询方法及装置、电子设备
Chao et al. An Improved Key-Management Scheme for Hierarchical Access Control.
Varri et al. Key-escrow free attribute-based multi-keyword search with dynamic policy update in cloud computing
CN114021164B (zh) 基于区块链的征信系统隐私保护方法
CN106301776B (zh) 一种关键字搜索的多授权中心外包属性基加密方法及系统
Zhang et al. Secdedup: Secure encrypted data deduplication with dynamic ownership updating
WO2023134576A1 (zh) 数据加密方法、属性授权中心及存储介质
CN108920968B (zh) 一种基于连接关键词的文件可搜索加密方法
Jiang et al. Secure-channel free keyword search with authorization in manager-centric databases
CN113868450B (zh) 一种基于区块链的遥感影像安全检索方法
CN112118257B (zh) 一种安全增强的基于公钥加密的关键词搜索方法
Zhang et al. Oblivious multi-keyword search for secure cloud storage service
CN114726503A (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