一种面向边缘计算的多维度查询方法、系统及存储介质与流程

文档序号:20838873发布日期:2020-05-22 17:14阅读:161来源:国知局
一种面向边缘计算的多维度查询方法、系统及存储介质与流程

本发明属于信息安全技术及物联网技术领域,是一种涉及多维度安全区间查询的方法,可用于带雾设备物联网的安全多维度区间查询。



背景技术:

在互联网蓬勃发展的今天,工业物联网设备的保有量也处于快速增长的阶段。在工业物联网的应用场景中,一个重要的应用就是对物联网设备数据的分析和处理。显而易见,若将这些物联网设备的数据全部统一汇总到控制中心再进行处理,将造成巨大的传输损耗,还会造成较高的时延,使得即时化的物联网间计算需求将无法被满足。为了面对这些挑战,常见的方法有两种,一种是设计更多符合物联网应用场景需求的大数据挖掘和机器学习技术,另一种则是通过充分利用网络边缘侧设备的算力来满足目前日益增长的大数据计算需求。

隐私安全是边缘计算一个重要问题。例如,在工业互联网中,查询用户需要对工业物联网中的一组传感器设备进行范围查询,且出于隐私方面考虑,查询用户并不想泄露其查询的范围,同时各物联网传感器设备也不想泄露其实际的观测数据给其他任何一方。已有的对外包计算中支持隐私保护特性的范围查询的研究主要集中在对查询范围和维度的保密性和对满足条件的查询子集的保密性上,但大部分研究仅涉及到其中的一个方面,且通信开销仍较高,或对多维度查询的支持不佳。本发明基于bgn同态加密技术,设计了一种面向包含雾设备的物联网的、具有高通信效率且具有隐私保护特性的多维度安全范围查询方案。

本申请使用范围表达矩阵化、矩阵解构和重组、查询区间偏移等技术,使得在保持较低的通信开销前提下,对多维度查询进行了支持,并能良好的保护各方的隐私。



技术实现要素:

本发明旨在解决以上现有技术的问题。提出了一种有效保护用户的隐私和传感器的实际数据不会泄露的面向边缘计算的多维度查询方法。本发明的技术方案如下:

一种面向边缘计算的多维度查询方法,其包括以下步骤:

用户初始化系统公私钥后,将自身每次多维度查询的查询范围映射入矩阵中并向量化,生成查询陷门和加密参数并发送给雾设备,

雾设备收到查询陷门和加密参数后,将查询陷门下发给各传感器;

传感器设备收到查询陷门并进行计算,将其计算的结果反馈给雾设备,雾设备接受并聚合传感器的计算结果信息;

在用户解析阶段,用户接受并解析雾设备发来的计算结果信息以获得查询结果。

进一步的,所述用户初始化系统公私钥具体包括:

初始化算法,给定安全参数合数阶双线性映射参数组由生成器生成。大合数阶双线性参数生成器是一种概率算法,其以安全参数作为输入值,输出一个五元组此处大合数是两个比特的素数,是两个阶的群,的一个生成元,是一个非退化性的、可以高效计算的双线性映射。

102、公私钥生成,设h=gq,此时h是的一个随机p阶生成元,那么,公钥私钥sk=p;

进一步的,所述用户将自身每次多维度查询的查询范围映射入矩阵中并向量化,具体包括:

103、查询矩阵生成,用户首先对其查询区间进行映射,每次查询时,任一维度设定为第一区间,之后按照规则依次确定每个区间在查询序列中的开始点和结束点以最后一个区间的结束点作为本次查询序列的总长度,则将转为的形式以得到一个完全平方数,并以m为阶数生成一个矩阵。当此值不是完全平方数时,则扩增至下一个完全平方数来生成查询矩阵,之后,构建一个m×m矩阵,对于一个查询下界为bquery,上界为tquery的查询区间(bquery,tquery)而言,其查询区间内第k个元素uk满足uk=bquery+k;

104、元素拆分和映射,每个查询区间的数据偏移β可以由查询区间的开始点来确定,设偏移后该查询区间内第k个元素为vk,则β,vk可以表示为:β=bquery-pnstart,vk=uk+β,将vk拆分成矩阵内元素r(i,j)的形式,所有矩阵内元素均可以向量形式表示,即

105、矩阵向量化,用户以特定规则,由矩阵生成四种向量x,y,x′,y′,。此时,所有矩阵内元素均可以向量形式表示,即故通过生成的向量进行运算即可完成矩阵重构。其中,n为总体参与计算的向量个数,ykj为向量yk的第j位元素,为向量xk,xc中的第i位元素。为了便于此后计算,计算用以替代原yk向量,表示yk,中的第m位元素。

进一步的,所述生成查询陷门具体包括步骤:

106、查询陷门生成,对生成的向量进行加密后,在原有的向量中添加两个值,来表达这条向量所查询的维度γ和代表这条向量在运算时所需要的偏移量β,计算处理后的向量的哈希值将其作为查询所用查询陷门α的一部分,此时有e(x′)={e(x′1),e(x′2),...,e(x′i)},h={h1,h2,...,hi},e(x′)、e(x′c)为加密后的x',x'c向量组成的集合,h为各加密向量的哈希值hi的集合。

进一步的,所述传感器设备收到查询陷门并进行计算,将其计算的结果反馈给雾设备,具体包括:

107、传感器端哈希和维度比对,与用户端发送的维度标识值γ相对应,每个传感器设备dk拥有自己的维度标识γ′k,传感器设备依次提取用户发送的查询陷门α中的和其对应的哈希值hi来进行计算和比对,首先,传感器设备计算的哈希值h′i,并与用户发来的hi进行比对,若一致则进而自中提取这条向量内的维度标识值γi与设备自身的维度标识γ′k比对,经过比对,传感器设备得以筛选出符合自身维度的查询并将相关联的向量一同自查询陷门中提取出来并组装成queryvector(查询向量)进行下一步计算;

108、传感器端计算,在获取了queryvector后,传感器设备首先从中提取出查询的本次查询的偏移量βk来对自身的观测数据vk进行数据偏移得到偏移后的值v′k,使用elementshift函数得到其在矩阵中的位置(i,j),此时,传感器设备根据(i,j)从queryvector提取对应的向量值进行计算,将传感器所观测的值vk转换表示为查询矩阵对应位置的值在群的映射ck和聚合结果sk,将计算结果和本组结果的标识值ck,sk,γ′k聚合为ωi并发送给传感器所属物联网域的雾设备fd。

进一步的,所述雾设备接受并聚合传感器的计算结果信息,具体包括:

109、雾设备端处理,雾设备fdi接收到其下属的k个传感器发来的ωk后,从中提取出传感器对本次n维度查询的结果ck并进行计算,雾设备将所有维度数据ck相乘,根据bgn算法的同态性,得到的结果即是k个维度上反馈的所有结果之和,fdi本次查询的匹配程度σi即为此和值与用户发来的经加密的查询维度信息et(n)的差值。fdi将σi和所有ωk的值构建成ζi发送给用户。

进一步的,所述用户接受并解析雾设备发来的计算结果信息以获得查询结果,具体包括:

110、用户解析,用户在收到fdi发来的数据ζi后,首先提取出查询匹配程度值σi并解密,当且仅当σi值等于0时,雾设备fdi所返回的结果完全与查询匹配。用户对完全匹配的雾设备发来的数据ζi分维度进行累乘,并计算得到完全匹配的设备个数c和维度γ下符合查询条件数据的和此处k为维度γ下符合查询条件数据的个数。

一种存储介质,该存储介质内部存储计算机程序,其所述计算机程序被处理器读取时,执行上述任一项的方法。

一种采用所述方法的面向边缘计算的多维度查询系统,其包括:

用户端:用户初始化系统公私钥后,将自身每次多维度查询的查询范围映射入矩阵中并向量化,生成查询陷门和加密参数并发送给雾设备,此后,在用户解析阶段,用户接受并解析雾设备发来的计算结果信息以获得查询结果;

雾设备端:雾设备收到查询陷门和加密参数后,将查询陷门下发给各传感器;此后,雾设备接受并聚合传感器的计算结果信息;

传感器端:传感器设备收到查询陷门并进行计算,将其计算的结果反馈给雾设备。

附图说明

图1是本发明提供优选实施例系统的框架图;

图2为本发明方法的流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、详细地描述。所描述的实施例仅仅是本发明的一部分实施例。

本发明解决上述技术问题的技术方案是:

下面结合附图1描述一下系统的框架。

(1)用户端:用户初始化系统公私钥后,将自身每次多维度查询的查询范围映射入矩阵中并向量化,生成查询陷门和加密参数并发送给雾设备。此后,在用户解析阶段,用户接受并解析雾设备发来的计算结果信息以获得查询结果。

(2)雾设备端:雾设备收到查询陷门和加密参数后,将查询陷门下发给各传感器。此后,雾设备接受并聚合传感器的计算结果信息。

(3)传感器端:传感器设备收到查询陷门并进行计算,将其计算的结果反馈给雾设备。

下面结合附图2对本发明做近一步的详细描述。本发明主要包含以下几个步骤:

(1)初始化

给定安全参数合数阶双线性映射参数组由生成器生成。大合数阶双线性参数生成器是一种概率算法,其以安全参数作为输入值,输出一个五元组此处大合数是两个比特的素数,是两个阶的群,的一个生成元,是一个非退化性的、可以高效计算的双线性映射。

(2)用户公私钥生成

设h=gq,此时h是的一个随机p阶生成元。那么,公钥私钥sk=p。

(3)查询矩阵生成

用户首先对其查询区间进行映射,每次查询时,任一维度设定为第一区间,之后按照规则依次确定每个区间在查询序列中的开始点和结束点以最后一个区间的结束点作为本次查询序列的总长度,则将转为的形式以得到一个完全平方数,并以m为阶数生成一个矩阵。当此值不是完全平方数时,则扩增至下一个完全平方数来生成查询矩阵,之后,构建一个m×m矩阵,对于一个查询下界为bquery,上界为tquery的查询区间(bquery,tquery)而言,其查询区间内第k个元素uk满足uk=bquery+k;

(4)元素拆分与映射

每个查询区间的数据偏移β可以由查询区间的开始点来确定。设偏移后该查询区间内第k个元素为vk,则β,vk可以表示为:vk=uk+β。将vk拆分成矩阵内元素r(i,j)的形式,所有矩阵内元素均可以向量形式表示,即

(5)矩阵向量化

用户以特定规则,由矩阵生成四种向量x,y,x′,y′,。此时,所有矩阵内元素均可以向量形式表示,即故通过生成的向量进行运算即可完成矩阵重构。其中,n为总体参与计算的向量个数,ykj为向量yk的第j位元素,x′ki、x′ci为向量xk,xc中的第i位元素。为了便于此后计算,计算用以替代原yk向量,ykm表示yk,中的第m位元素。

(6)查询陷门生成

对生成的向量进行加密后,在原有的向量中添加两个值,来表达这条向量所查询的维度γ和代表这条向量在运算时所需要的偏移量β,计算处理后的向量的哈希值将其作为查询所用查询陷门α的一部分,此时有e(x′)={e(x′1),e(x′2),...,e(x′i)},h={h1,h2,...,hi},e(x′)、e(x′c)为加密后的x',x'c向量组成的集合,h为各加密向量的哈希值hi的集合。

(7)传感器端哈希与维度比对

与用户端发送的维度标识值γ相对应,每个传感器设备dk拥有自己的维度标识γ′k。传感器设备依次提取用户发送的查询陷门α中的和其对应的哈希值hi来进行计算和比对。首先,传感器设备计算的哈希值h′i,并与用户发来的hi进行比对,若一致则进而自中提取这条向量内的维度标识值γi与设备自身的维度标识γ′k比对。经过比对,传感器设备得以筛选出符合自身维度的查询并将相关联的向量一同自查询陷门中提取出来并组装成queryvector(查询向量)进行下一步计算。

(8)传感器端计算

在获取了queryvector后,传感器设备首先从中提取出查询的本次查询的偏移量βk来对自身的观测数据vk进行数据偏移得到偏移后的值v′k。使用elementshift函数得到其在矩阵中的位置(i,j)。此时,传感器设备根据(i,j)从queryvector提取对应的向量值进行计算,将传感器所观测的值vk转换表示为查询矩阵对应位置的值在群的映射ck和聚合结果sk。将计算结果和本组结果的标识值ck,sk,γ′k聚合为ωi并发送给传感器所属物联网域的雾设备fd。

(9)雾设备端处理

雾设备fdi接收到其下属的k个传感器发来的ωk后,从中提取出传感器对本次n维度查询的结果ck并进行计算。雾设备将所有维度数据ck相乘,根据bgn算法的同态性,得到的结果即是k个维度上反馈的所有结果之和,fdi本次查询的匹配程度σi即为此和值与用户发来的经加密的查询维度信息et(n)的差值。fdi将σi和所有ωk的值构建成ζi发送给用户。

(10)用户解析

用户在收到fdi发来的数据ζi后,首先提取出查询匹配程度值σi并解密,当且仅当σi值等于0时,雾设备fdi所返回的结果完全与查询匹配。用户对完全匹配的雾设备发来的数据ζi分维度进行累乘,并计算得到完全匹配的设备个数c和维度γ下符合查询条件数据的和此处k为维度γ下符合查询条件数据的个数。

以上这些实施例应理解为仅用于说明本发明而不用于限制本发明的保护范围。在阅读了本发明的记载的内容之后,技术人员可以对本发明作各种改动或修改,这些等效变化和修饰同样落入本发明权利要求所限定的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1