本发明属于信息安全技术及物联网技术领域,是一种涉及多维度安全区间查询的方法,可用于带雾设备物联网的安全多维度区间查询。
背景技术:
在互联网蓬勃发展的今天,工业物联网设备的保有量也处于快速增长的阶段。在工业物联网的应用场景中,一个重要的应用就是对物联网设备数据的分析和处理。显而易见,若将这些物联网设备的数据全部统一汇总到控制中心再进行处理,将造成巨大的传输损耗,还会造成较高的时延,使得即时化的物联网间计算需求将无法被满足。为了面对这些挑战,常见的方法有两种,一种是设计更多符合物联网应用场景需求的大数据挖掘和机器学习技术,另一种则是通过充分利用网络边缘侧设备的算力来满足目前日益增长的大数据计算需求。
隐私安全是边缘计算一个重要问题。例如,在工业互联网中,查询用户需要对工业物联网中的一组传感器设备进行范围查询,且出于隐私方面考虑,查询用户并不想泄露其查询的范围,同时各物联网传感器设备也不想泄露其实际的观测数据给其他任何一方。已有的对外包计算中支持隐私保护特性的范围查询的研究主要集中在对查询范围和维度的保密性和对满足条件的查询子集的保密性上,但大部分研究仅涉及到其中的一个方面,且通信开销仍较高,或对多维度查询的支持不佳。本发明基于bgn同态加密技术,设计了一种面向包含雾设备的物联网的、具有高通信效率且具有隐私保护特性的多维度安全范围查询方案。
本申请使用范围表达矩阵化、矩阵解构和重组、查询区间偏移等技术,使得在保持较低的通信开销前提下,对多维度查询进行了支持,并能良好的保护各方的隐私。
技术实现要素:
本发明旨在解决以上现有技术的问题。提出了一种有效保护用户的隐私和传感器的实际数据不会泄露的面向边缘计算的多维度查询方法。本发明的技术方案如下:
一种面向边缘计算的多维度查询方法,其包括以下步骤:
用户初始化系统公私钥后,将自身每次多维度查询的查询范围映射入矩阵中并向量化,生成查询陷门和加密参数并发送给雾设备,
雾设备收到查询陷门和加密参数后,将查询陷门下发给各传感器;
传感器设备收到查询陷门并进行计算,将其计算的结果反馈给雾设备,雾设备接受并聚合传感器的计算结果信息;
在用户解析阶段,用户接受并解析雾设备发来的计算结果信息以获得查询结果。
进一步的,所述用户初始化系统公私钥具体包括:
初始化算法,给定安全参数
102、公私钥生成,设h=gq,此时h是
进一步的,所述用户将自身每次多维度查询的查询范围映射入矩阵中并向量化,具体包括:
103、查询矩阵生成,用户首先对其查询区间进行映射,每次查询时,任一维度设定为第一区间,之后按照规则依次确定每个区间在查询序列中的开始点
104、元素拆分和映射,每个查询区间的数据偏移β可以由查询区间的开始点来确定,设偏移后该查询区间内第k个元素为vk,则β,vk可以表示为:β=bquery-pnstart,vk=uk+β,将vk拆分成矩阵内元素r(i,j)的形式,所有矩阵内元素均可以向量形式表示,即
105、矩阵向量化,用户以特定规则,由矩阵生成四种向量x,y,x′,y′,。此时,所有矩阵内元素均可以向量形式表示,即
进一步的,所述生成查询陷门具体包括步骤:
106、查询陷门生成,对生成的向量进行加密后,在原有的
进一步的,所述传感器设备收到查询陷门并进行计算,将其计算的结果反馈给雾设备,具体包括:
107、传感器端哈希和维度比对,与用户端发送的维度标识值γ相对应,每个传感器设备dk拥有自己的维度标识γ′k,传感器设备依次提取用户发送的查询陷门α中的
108、传感器端计算,在获取了queryvector后,传感器设备首先从中提取出查询的本次查询的偏移量βk来对自身的观测数据vk进行数据偏移得到偏移后的值v′k,使用elementshift函数得到其在矩阵中的位置(i,j),此时,传感器设备根据(i,j)从queryvector提取对应的向量值进行计算,将传感器所观测的值vk转换表示为查询矩阵对应位置的值在
进一步的,所述雾设备接受并聚合传感器的计算结果信息,具体包括:
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和维度γ下符合查询条件数据的和
一种存储介质,该存储介质内部存储计算机程序,其所述计算机程序被处理器读取时,执行上述任一项的方法。
一种采用所述方法的面向边缘计算的多维度查询系统,其包括:
用户端:用户初始化系统公私钥后,将自身每次多维度查询的查询范围映射入矩阵中并向量化,生成查询陷门和加密参数并发送给雾设备,此后,在用户解析阶段,用户接受并解析雾设备发来的计算结果信息以获得查询结果;
雾设备端:雾设备收到查询陷门和加密参数后,将查询陷门下发给各传感器;此后,雾设备接受并聚合传感器的计算结果信息;
传感器端:传感器设备收到查询陷门并进行计算,将其计算的结果反馈给雾设备。
附图说明
图1是本发明提供优选实施例系统的框架图;
图2为本发明方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、详细地描述。所描述的实施例仅仅是本发明的一部分实施例。
本发明解决上述技术问题的技术方案是:
下面结合附图1描述一下系统的框架。
(1)用户端:用户初始化系统公私钥后,将自身每次多维度查询的查询范围映射入矩阵中并向量化,生成查询陷门和加密参数并发送给雾设备。此后,在用户解析阶段,用户接受并解析雾设备发来的计算结果信息以获得查询结果。
(2)雾设备端:雾设备收到查询陷门和加密参数后,将查询陷门下发给各传感器。此后,雾设备接受并聚合传感器的计算结果信息。
(3)传感器端:传感器设备收到查询陷门并进行计算,将其计算的结果反馈给雾设备。
下面结合附图2对本发明做近一步的详细描述。本发明主要包含以下几个步骤:
(1)初始化
给定安全参数
(2)用户公私钥生成
设h=gq,此时h是
(3)查询矩阵生成
用户首先对其查询区间进行映射,每次查询时,任一维度设定为第一区间,之后按照规则依次确定每个区间在查询序列中的开始点
(4)元素拆分与映射
每个查询区间的数据偏移β可以由查询区间的开始点来确定。设偏移后该查询区间内第k个元素为vk,则β,vk可以表示为:
(5)矩阵向量化
用户以特定规则,由矩阵生成四种向量x,y,x′,y′,。此时,所有矩阵内元素均可以向量形式表示,即
(6)查询陷门生成
对生成的向量进行加密后,在原有的
(7)传感器端哈希与维度比对
与用户端发送的维度标识值γ相对应,每个传感器设备dk拥有自己的维度标识γ′k。传感器设备依次提取用户发送的查询陷门α中的
(8)传感器端计算
在获取了queryvector后,传感器设备首先从中提取出查询的本次查询的偏移量βk来对自身的观测数据vk进行数据偏移得到偏移后的值v′k。使用elementshift函数得到其在矩阵中的位置(i,j)。此时,传感器设备根据(i,j)从queryvector提取对应的向量值进行计算,将传感器所观测的值vk转换表示为查询矩阵对应位置的值在
(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和维度γ下符合查询条件数据的和
以上这些实施例应理解为仅用于说明本发明而不用于限制本发明的保护范围。在阅读了本发明的记载的内容之后,技术人员可以对本发明作各种改动或修改,这些等效变化和修饰同样落入本发明权利要求所限定的范围。