CN109617854A - 基于传感器网络的k近邻查询方法及装置 - Google Patents
基于传感器网络的k近邻查询方法及装置 Download PDFInfo
- Publication number
- CN109617854A CN109617854A CN201811214698.1A CN201811214698A CN109617854A CN 109617854 A CN109617854 A CN 109617854A CN 201811214698 A CN201811214698 A CN 201811214698A CN 109617854 A CN109617854 A CN 109617854A
- Authority
- CN
- China
- Prior art keywords
- data
- query
- sensing data
- target
- preserving
- 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
- 238000000034 method Methods 0.000 title claims abstract description 76
- 230000008447 perception Effects 0.000 claims abstract description 169
- 125000004122 cyclic group Chemical group 0.000 claims description 231
- 238000013507 mapping Methods 0.000 claims description 221
- 230000015654 memory Effects 0.000 abstract description 14
- 230000005540 biological transmission Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 52
- 238000004891 communication Methods 0.000 description 44
- 230000000694 effects Effects 0.000 description 13
- 230000006870 function Effects 0.000 description 11
- 230000008569 process Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 3
- 238000013524 data verification Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000005265 energy consumption Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 230000003698 anagen phase Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请实施例提供一种基于传感器网络的K近邻查询方法及装置,方法包括:存储节点接收各传感器节点发送的感知消息;进一步地,存储节点在接收到网络设备发送的查询消息(可以包括查询公共基点、K值和查询时间)后,根据各传感器节点发送的各循环保序编码数据、查询公共基点和查询时间,从各传感器节点发送的各加密感知数据中确定出与查询公共基点距离最近的K个目标循环保序编码数据分别对应的目标加密感知数据,并将K个目标加密感知数据发送给网络设备,以使网络设备分别对K个目标加密感知数据进行解密,得到K个目标感知数据。本实施例不仅可以实现对感知数据和查询数据的隐私保护,还可以实现精准地K近邻查询。
Description
技术领域
本申请涉及网络技术领域,尤其涉及一种基于传感器网络的K近邻查询方法及装置。
背景技术
随着物联网的兴起,越来越多的人、机和物通过传感设备相连以形成传感器网络。传感器网络作为物联网中不可或缺的数据感知和收集部分,已经在包括海洋、战场、城市和火山等在内的许多物理环境中部署。在这些应用场景中,K近邻查询对于研究人员进行事件检测和/或目标追踪等非常有用。
相关技术中提出基于布隆过滤器编码的K近邻查询算法中,传感器节点利用布隆过滤器对感知数据进行编码得到第一编码数据,并将第一编码数据发送给存储节点。网络设备利用布隆过滤器对查询请求数据进行编码得到第二编码数据,并将第二编码数据发送给存储节点。进一步地,存储节点基于布隆过滤器原理对比第一编码数据和第二编码数据以判断传感器的感知数据是否属于查询请求数据,并将判断结果返回给网络设备。
相关技术中提出的基于布隆过滤器编码的K近邻查询算法,由于布隆过滤器固有的误识别率,使得无法准确地确定出查询结果。
发明内容
本申请实施例提供一种基于传感器网络的K近邻查询方法及装置,解决了相关技术中无法准确地确定出查询结果的问题。
第一方面,本申请实施例提供一种基于传感器网络的K近邻查询方法,所述方法应用于存储节点,所述方法包括:
接收各传感器节点发送的感知消息;其中,任一所述传感器节点对应的感知消息中包括:所述传感器节点在感知周期内检测到的各感知数据分别对应的加密感知数据、所述各感知数据分别对应的循环保序编码数据和所述感知周期;
接收网络设备发送的查询消息;其中,所述查询消息中包括:查询公共基点、K值和查询时间;所述查询公共基点用于指示查询数据;所述查询消息用于指示查询属于所述查询时间段内与所述查询数据相邻的K个目标感知数据;
根据各所述传感器节点发送的各循环保序编码数据、所述查询公共基点和所述查询时间,从各所述传感器节点发送的各加密感知数据中确定出与所述查询公共基点距离最近的K个目标循环保序编码数据分别对应的目标加密感知数据;
将K个所述目标加密感知数据发送给所述网络设备,以使所述网络设备分别对K个所述目标加密感知数据进行解密,得到所述K个目标感知数据。
在一种可能的实现方式中,所述根据各所述传感器节点发送的各循环保序编码数据、所述查询公共基点和所述查询时间,从各所述传感器节点发送的各加密感知数据中确定出与所述查询公共基点距离最近的K个目标循环保序编码数据分别对应的目标加密感知数据,包括:
根据所述查询时间和所述感知周期,确定出属于所述查询时间段的各加密感知数据和各循环保序编码数据;
根据属于所述查询时间段的各循环保序编码数据与所述查询公共基点之间的移位次数,确定出移位次数最少的K个目标循环保序编码数据;
从属于所述查询时间段的各加密感知数据中分别确定出所述K个目标循环保序编码数据对应的目标加密感知数据。
在一种可能的实现方式中,所述传感器节点发送的所述加密感知数据为所述传感器节点根据密钥对相应的一个感知数据加密后所得到的数据;或者,
所述传感器节点发送的所述加密感知数据为所述传感器节点根据密钥对相应的三个感知数据加密后所得到的数据;其中,所述三个感知数据为所述传感器节点对各感知数据按大小顺序排序后位置相邻的三个感知数据。
在一种可能的实现方式中,所述循环保序编码数据包括:单级循环保序编码数据或多级循环保序编码数据。
第二方面,本申请实施例提供一种基于传感器网络的K近邻查询方法,所述方法应用于网络设备,所述方法包括:
接收用户发送的查询请求;其中,所述查询请求中包括:查询数据、K值和查询时间;
根据全局映射信息确定所述查询数据对应的查询公共基点,并向存储节点发送查询消息;其中,所述全局映射信息中包括不同预设数据与预设循环保序编码映射之间的对应关系;所述查询消息中包括:所述查询公共基点、所述K值和所述查询时间;所述查询公共基点用于指示查询数据;所述查询消息用于指示查询属于所述查询时间段内与所述查询数据相邻的K个目标感知数据;
接收所述存储节点发送的K个目标加密感知数据,并分别对所述K个目标加密感知数据进行解密,得到所述K个目标感知数据。
在一种可能的实现方式中,所述根据全局映射信息确定所述查询数据对应的查询公共基点,包括:
根据所述全局映射信息确定与所述查询数据对应的目标预设循环保序编码映射;
根据所述目标预设循环保序编码映射对所述查询数据进行编码,得到所述查询数据对应的查询公共基点。
在一种可能的实现方式中,所述方法还包括:
对于任意传感器节点,从所述全局映射信息中随机选择部分预设数据与预设循环保序编码映射之间的对应关系,生成子映射信息,并向所述传感器节点发送所述子映射信息;其中,不同传感器节点对应的子映射信息不同。
在一种可能的实现方式中,所述预设循环保序编码映射包括:单级预设循环保序编码映射或多级预设循环保序编码映射。
在一种可能的实现方式中,所述目标加密感知数据为对应的传感器节点根据密钥对相应的一个感知数据加密后所得到的数据;或者,
所述目标加密感知数据为对应的传感器节点根据密钥对相应的三个感知数据加密后所得到的数据;其中,所述三个感知数据为所述传感器节点对各感知数据按大小顺序排序后位置相邻的三个感知数据。
在一种可能的实现方式中,若所述目标加密感知数据为对应的传感器节点根据密钥对相应的三个感知数据加密后所得到的数据,所述方法还包括:
根据密钥对所述K个目标加密感知数据的解密结果,判断所述K个目标感知数据的完整性。
在一种可能的实现方式中,所述根据密钥对所述K个目标加密感知数据的解密结果,判断所述K个目标感知数据的完整性,包括:
对于任一所述目标加密感知数据,若根据密钥无法对所述目标加密感知数据解密,则确定所述目标加密感知数据对应的目标感知数据为不完整的;
若根据密钥对所述目标加密感知数据解密得到目标感知数据,则确定所述目标加密感知数据对应的目标感知数据为完整的。
在一种可能的实现方式中,所述根据密钥对所述K个目标加密感知数据的解密结果,判断所述K个目标感知数据的完整性,包括:
对于任一所述目标加密感知数据,判断根据密钥对所述目标加密感知数据解密得到的目标感知数据是否与其它解密结果相同;
若确定所述目标感知数据与其它解密结果相同,则确定所述目标感知数据为不完整的;
若确定所述目标感知数据与其它解密结果不相同,则确定所述目标感知数据为完整的。
在一种可能的实现方式中,所述根据密钥对所述K个目标加密感知数据的解密结果,判断所述K个目标感知数据的完整性,包括:
对于任一所述目标加密感知数据,根据密钥对所述目标加密感知数据解密得到目标感知数据;其中,所述目标感知数据中包括:目标感知数据以及与所述目标感知数据相邻的两个感知数据;
若与所述目标感知数据相邻的两个感知数据属于所述K个目标感知数据,则判断所述K个目标加密感知数据中是否包括与所述目标加密感知数据相邻的加密感知数据;
若确定所述K个目标加密感知数据中不包括与所述目标加密感知数据相邻的加密感知数据,则确定所述K个目标感知数据为不完整的。
第三方面,本申请实施例提供一种基于传感器网络的K近邻查询方法,所述方法应用于传感器节点,所述方法包括:
在感知周期检测到各感知数据后,根据密钥对各所述感知数据加密,得到各所述感知数据加密分别对应的加密感知数据;
根据子映射信息分别确定各所述感知数据分别对应的循环保序编码数据;其中,所述子映射信息中包括不同预设数据与预设循环保序编码映射之间的对应关系;
向存储节点发送感知消息;其中,所述感知消息中包括:各所述加密感知数据、各所述循环保序编码数据和所述感知周期。
在一种可能的实现方式中,所述根据子映射信息分别确定各所述感知数据分别对应的循环保序编码数据,包括:
对于任一所述感知数据,根据所述子映射信息确定与所述感知数据对应的目标预设循环保序编码映射;
根据所述目标预设循环保序编码映射对所述感知数据进行编码,得到所述感知数据对应的循环保序编码数据。
在一种可能的实现方式中,所述加密感知数据为根据所述密钥对相应的一个感知数据加密后所得到的数据;或者,
所述加密感知数据为根据所述密钥对相应的三个感知数据加密后所得到的数据;其中,所述三个感知数据为对各感知数据按大小顺序排序后位置相邻的三个感知数据。
在一种可能的实现方式中,所述循环保序编码数据包括:单级循环保序编码数据或多级循环保序编码数据。
在一种可能的实现方式中,所述方法还包括:
接收所述网络设备发送的所述子映射信息。
第四方面,本申请实施例提供一种存储节点,包括:第一接收模块、第二接收模块、确定模块以及发送模块;
其中,所述第一接收模块,用于接收各传感器节点发送的感知消息;其中,任一所述传感器节点对应的感知消息中包括:所述传感器节点在感知周期内检测到的各感知数据分别对应的加密感知数据、所述各感知数据分别对应的循环保序编码数据和所述感知周期;
所述第二接收模块,用于接收网络设备发送的查询消息;其中,所述查询消息中包括:查询公共基点、K值和查询时间;所述查询公共基点用于指示查询数据;所述查询消息用于指示查询属于所述查询时间段内与所述查询数据相邻的K个目标感知数据;
所述确定模块,用于根据各所述传感器节点发送的各循环保序编码数据、所述查询公共基点和所述查询时间,从各所述传感器节点发送的各加密感知数据中确定出与所述查询公共基点距离最近的K个目标循环保序编码数据分别对应的目标加密感知数据;
所述发送模块,用于将K个所述目标加密感知数据发送给所述网络设备,以使所述网络设备分别对K个所述目标加密感知数据进行解密,得到所述K个目标感知数据。
第五方面,本申请实施例提供一种网络设备,包括:第一接收模块、确定模块、第一发送模块、第二接收模块和解密模块;
其中,所述第一接收模块,用于接收用户发送的查询请求;其中,所述查询请求中包括:查询数据、K值和查询时间;
所述确定模块,用于根据全局映射信息确定所述查询数据对应的查询公共基点;其中,所述全局映射信息中包括不同预设数据与预设循环保序编码映射之间的对应关系;所述查询公共基点用于指示查询数据;
所述第一发送模块,用于向存储节点发送查询消息;其中,所述查询消息中包括:所述查询公共基点、所述K值和所述查询时间;所述查询消息用于指示查询属于所述查询时间段内与所述查询数据相邻的K个目标感知数据;
所述第二接收模块,用于接收所述存储节点发送的K个目标加密感知数据;
所述解密模块,用于分别对所述K个目标加密感知数据进行解密,得到所述K个目标感知数据。
第六方面,本申请实施例提供一种传感器节点,包括:加密模块、确定模块和发送模块;
其中,所述加密模块,用于在感知周期检测到各感知数据后,根据密钥对各所述感知数据加密,得到各所述感知数据加密分别对应的加密感知数据;
所述确定模块,用于根据子映射信息分别确定各所述感知数据分别对应的循环保序编码数据;其中,所述子映射信息中包括不同预设数据与预设循环保序编码映射之间的对应关系;
所述发送模块,用于向存储节点发送感知消息;其中,所述感知消息中包括:各所述加密感知数据、各所述循环保序编码数据和所述感知周期。
本申请实施例提供的基于传感器网络的K近邻查询方法及装置,存储节点接收各传感器节点发送的感知消息,任一所述传感器节点对应的感知消息中可以包括:所述传感器节点在感知周期内检测到的各感知数据分别对应的加密感知数据、所述各感知数据分别对应的循环保序编码数据和所述感知周期;进一步地,所述存储节点在接收到网络设备发送的查询消息(可以包括查询公共基点、K值和查询时间)后,根据各所述传感器节点发送的各循环保序编码数据、所述查询公共基点和所述查询时间,从各所述传感器节点发送的各加密感知数据中确定出与所述查询公共基点距离最近的K个目标循环保序编码数据分别对应的目标加密感知数据,并将K个所述目标加密感知数据发送给所述网络设备,以使所述网络设备分别对K个所述目标加密感知数据进行解密,得到所述K个目标感知数据。本实施例中,通过各循环保序编码数据代替对应的感知数据以及查询公共基点代替查询数据进行距离比较,从各加密感知数据中确定出与查询公共基点距离最近的K个目标循环保序编码数据分别对应的目标加密感知数据,不仅可以实现对感知数据和查询数据的隐私保护,还可以实现精准地K近邻查询。
附图说明
图1为本申请实施例提供的传感器网络示意图;
图2为本申请实施例提供的布隆过滤器初始化示意图;
图3为本申请实施例提供的布隆过滤器赋值示意图;
图4为本申请实施例提供的布隆过滤器检测示意图;
图5为本申请实施例提供的保序编码与循环保序编码的对比示意图;
图6为本申请实施例提供的循环保序编码数据的移位示意图;
图7A为本申请实施例提供的全局映射信息的示意图一;
图7B为本申请实施例提供的子映射信息的示意图一;
图7C为本申请实施例提供的全局映射信息的示意图二;
图7D为本申请实施例提供的子映射信息的示意图二;
图8为本申请一实施例提供的基于传感器网络的K近邻查询方法的流程示意图;
图9为本申请另一实施例提供的基于传感器网络的K近邻查询方法的流程示意图;
图10为本申请另一实施例提供的基于传感器网络的K近邻查询方法的流程示意图;
图11A为本申请实施例提供的较小值域对应的编码位数示意图;
图11B为本申请实施例提供的较大值域对应的编码位数示意图;
图12为隐私保护算法对应的值域与编码位数之间的示意图;
图13A为传感器节点对应的网络规模与通信成本之间的示意图;
图13B为存储节点对应的网络规模与通信成本之间的示意图;
图14A为传感器节点对应的数据上传时间间隔与通信成本之间的示意图;
图14B为存储节点对应的数据上传时间间隔与通信成本之间的示意图;
图15A为传感器节点对应的K值与通信成本之间的示意图;
图15B为存储节点对应的K值与通信成本之间的示意图;
图16为本申请一实施例提供的存储节点的结构示意图;
图17为本申请另一实施例提供的存储节点的结构示意图;
图18为本申请一实施例提供的网络设备的结构示意图;
图19为本申请另一实施例提供的网络设备的结构示意图;
图20为本申请一实施例提供的传感器节点的结构示意图;
图21为本申请另一实施例提供的传感器节点的结构示意图。
具体实施方式
首先,对本申请实施例所涉及的应用场景和部分词汇进行介绍。
图1为本申请实施例提供的传感器网络示意图。如图1所示,本申请实施例提供的传感器网络可以包括网络设备、存储节点以及至少一个传感器节点(为了便于描述,附图1中以传感器节点1、传感器节点2和传感器节点3为例)。当然,本申请实施例提供的传感器网络中还可以包括其它设备(例如,其它存储节点以及所述其它存储节点对应的至少一个传感器节点等),本申请实施例中对此并不作限制。
本申请实施例中涉及的网络设备用于在接收到用户发送的查询请求后,向存储节点发送查询消息,以使存储节点对传感器节点上传的感知数据信息进行查询。示例性地,本申请实施例中涉及的网络设备可以为基站,当然还可以为其它类型的网络设备,本申请实施例中对此并不作限制。
本申请实施例中涉及的存储节点用于存储大量传感器节点上报的感知数据信息、根据网络设备发送的查询消息进行查询处理,并将查询结果消息返回给网络设备。
本申请实施例中涉及的传感器节点用于检测感知数据信息,并将检测到的感知数据信息上报存储节点。
本申请实施例中涉及的布隆过滤器(Bloom filter)原理如下:图2为本申请实施例提供的布隆过滤器初始化示意图,如图2所示,在初始状态时,布隆过滤器是一个包含r(r为正整数)位的位数组,每一位都置为0。为了表达S={x1,x2,…,xs}这样一个s(s为正整数)个元素的集合,布隆过滤器使用k(k为正整数)个相互独立的哈希函数(Hash Function)分别将集合中的每个元素映射到{1,…,r}的范围中。对任意一个元素,使用第q个哈希函数所映射的位置就会被置为1(1≤q≤k)。值得注意的是,如果一个位置多次被置为1,那么只有第一次会起作用,后面几次将没有任何效果。图3为本申请实施例提供的布隆过滤器赋值示意图,如图3所示,若k=3,且有两个哈希函数选中同一个位置(从左边数第四位)。
进一步地,在判断y是否属于集合S={x1,x2,…,xs}时,同样对y使用k个哈希函数进行映射;如果所有映射位置都是1,则确定y是该集合中的元素,否则确定y不是该集合中的元素。图4为本申请实施例提供的布隆过滤器检测示意图,当检测y1和y2是否属于集合S={x1,x2,…,xs}时,根据图4所示,y1所映射的位置中有一个为0,则确定y1不是该集合中的元素;y2所映射的位置全部为1,则确定y2是该集合中的元素(或者由于存在如图3所示的两个哈希函数选中同一个位置的情形,导致误判y2是该集合中的元素,属于假阳性结果)。
本申请下述实施例对循环保序编码(Loop Order Preserving Encoding,LOPE)进行详细介绍:
由于之前的保序编码(Order Preserving Encoding,OPE)采用一对一映射,尽管在加密方面有理论上的安全保证,但攻击者通过研究所窃听的密文顺序,可以很容易地揭示出明文和密文之间的关系。本申请实施例采用循环保序编码可以解决终值易暴露和一对一映射易受攻击的问题,从而提高了数据安全性。
考虑到时间和空间是可以被扭曲的,因此可以认为数值范围可以是圆形的而不一定是线性的。本申请实施例提供的循环保序编码的基本思想就是将线性数据范围[l,h]中的数据编码变形为“首尾相连”的循环保序编码数据,采用一对多映射取代了之前的一对一映射,从而减少被俘获节点的安全风险。
图5为本申请实施例提供的保序编码与循环保序编码的对比示意图,如图5所示,对于属于线性数据范围[l,h]中的数据x1、x2和x3,若采用传统的保序编码,则最小值f(l)和最大值f(h)会彼此远离;若采用本申请实施例提供的循环保序编码,则最小值l和最大值h被编码后会“首尾相连”(即L(h)与L(l)相连)。
本申请实施例提供的循环保序编码中涉及两条规则:
规则1、对于x1、x2、x3∈[l,h],若x1、x2、x3满足l<x1<x2<x3<h,l为大于0的正数,h为大于l的正数,则循环保序编码数据L(x1)<循环保序编码数据L(x2)<循环保序编码数据L(x3)<循环保序编码数据L(x1);其中,L()表示循环保序编码映射,<表示主序关系。
规则2、对于x1、x2、x3∈[l,h],若L(x1)可以右移得到L(x2),则L(x1)<L(x2);其中|L(x1)<L(x2)|表示移动次数。同理,也可认为L(x2)<L(x1),但右移次数通常不同。假设x1作为公共基点(从这一点开始循环保序编码数据右/左移),若则L(x2)<L(x3)即L(x1)<L(x2)<L(x3)。
本实施例中,数字循环顺序可以通过比较不同循环保序编码数据与公共基点之间的移位次数来判断。图6为本申请实施例提供的循环保序编码数据的移位示意图,如图6所示,对于数据域[1,5],假设三个数据值1、2、5对应的循环保序编码数据分别是L(1)=01101、L(2)=10110、L(5)=11010。由于pL(1),L(2)=|L(1)<L(2)|=1、pL(1),L(5)=|L(1)<L(5)|=4,即pL(1),L(2)<pL(1),L(5),则L(1)<L(2)<L(5)。类似地,pL(2),L(5)=|L(2)<L(5)|=3、pL(2),L(1)=|L(2)<L(1)|=4,即pL(2),L(5)<pL(2),L(1),则L(2)<L(5)<L(1)。因此,循环保序编码数据关系为L(1)<L(2)<L(5)<L(1)。
可见,由于循环保序编码中首尾相连的特性,循环保序编码数据中不再有端点,因此,攻击者无法从循环中掌握去除极值特征的“头部”和“尾部”(例如,如果仅仅知道01101、10110和11010就很难获得最终的感知数值)。另外,首尾相连的特征可以被用来K近邻查询,即通过比较与公共基点的最少右移次数或最少左移次数来进行近邻值查询。
本申请实施例中涉及的全局映射信息中包括不同预设数据与预设循环保序编码映射之间的对应关系。示例性地,任一预设数据可以对应一个或多个预设循环保序编码映射。需要说明的是,全局映射信息可以按照列表形式,或者图表形式等存在,当然还可以按照其它形式存在,本申请实施例中对此并不作限制。
本申请下述实施例对全局映射信息进行详细介绍:
为了减弱揭示预设数据与预设循环保序编码映射之间关系的可能性,本申请实施例中一个预设数据可以对应一个或多个预设循环保序编码映射(一对多映射仍然遵循上述规则2),其中,不同的预设数据不存在相同或重叠的预设循环保序编码数据。
示例性地,对于常数xt,令为xt可映射的预设循环保序编码映射数目(不同xt对应的是随机的),且对于xu、xv,若xu<xv,则
图7A为本申请实施例提供的全局映射信息的示意图一,如图7A所示,对于预设数据域[1,5],预设数据1(例如1)对应预设循环保序编码映射L1()和L2(),则预设数据1(例如1)可以映射到两个循环保序编码数据L1(1)和L2(1),其中L1(1)<L2(1);预设数据值2(例如2)对应预设循环保序编码映射L1()、L2()和L3(),则预设数据2(例如2)可以映射到三个循环保序编码数据L1(2)、L2(2)和L3(2),其中L1(2)<L2(2)<L3(2)。由于1<2,则L1(1)<L2(1)<L1(2)<L2(2)<L3(2)<L1(1)。由上可知,任何两个循环保序编码数据可以根据移位次数正确地比较它们的值。
本申请实施例中涉及的任一传感器节点对应的子映射信息中包括不同预设数据与预设循环保序编码映射之间的对应关系,可以为网络设备从全局映射信息中随机选择部分预设数据与预设循环保序编码映射之间的对应关系所生成的映射信息。示例性地,任一预设数据可以对应一个或多个预设循环保序编码映射。需要说明的是,子映射信息可以按照列表形式,或者图表形式等存在,当然还可以按照其它形式存在,本申请实施例中对此并不作限制。
示例性地,对于不同的传感节点,网络设备可以从全局映射信息中随机选择部分预设数据与预设循环保序编码映射之间的对应关系生成不同的子映射列信息,然后在初始化阶段分发给各传感节点。图7B为本申请实施例提供的子映射信息的示意图一,如图7B所示,传感节点s1和s2对应的子映射信息均属于如图7A所示的全局映射信息中的部分对应关系。
为了进一步地降低查询意图泄漏的可能,本申请实施例中对如图7A所示的全局映射信息的示意图进行了一些调整。图7C为本申请实施例提供的全局映射信息的示意图二,结合图7A和图7C所示,对于任一预设数据增加了至少一种预设循环保序编码映射(例如L0()),且增加的所述至少一种预设循环保序编码映射作为保留数据项(即网络设备不会将它们分发给传感节点)。这样做的优点之一就是尽可能地降低了查询公共基点与传感节点的循环保序编码数据相同的概率,另一个优点是不同循环保序编码数据之间的编码距离增加,进一步减少了被攻击的概率。
可选地,为了使每个传感节点拥有连续的循环保序编码映射,本申请实施例中对如图7B所示的子映射信息的示意图进行了一些调整。图7D为本申请实施例提供的子映射信息的示意图二,结合图7B和图7D所示,对于任一预设数据,删除了不连续的预设循环保序编码映射,使得所述预设数据对应的至少一个预设循环保序编码为连续的,从而可以使得传感器节点对整个网络掌握的背景知识变得最小化。
本申请实施例中涉及的任一感知数据对应的循环保序编码数据可以为检测到所述感知数据的传感器在根据子映射信息确定出与所述感知数据对应的目标预设循环保序编码映射后,根据所述目标预设循环保序编码对所述感知数据进行编码后得到的数据。示例性地,任一感知数据对应的循环保序编码数据用于代替所述感知数据进行比较,以便于存储节点确定与查询数据相邻的K个目标感知数据。
示例性地,本申请实施例中涉及的循环保序编码数据可以包括:单级循环保序编码数据(如上述图6所示)或多级循环保序编码数据。
本申请下述实施例对多级循环保序编码进行详细介绍:
从图6所示,若数据域是[1,5],则该数据域中各数据对应的循环保序编码需要消耗5比特位空间。考虑到循环保序编码位数是线性增长的,依赖于三个参数:数据域[l,h]的范围w、两个相邻循环保序编码数据之间的平均移位次数x以及1对多映射的平均映射次数z;若x和z足够大,则循环保序编码位将会较长。为了减短循环保序编码位,本申请实施例在单级循环保序编码(如上述图6所示)的基础上,进一步还提出多级循环编码(MultistageLoop Code,MLC),或称之为多级循环保序编码。
示例性地,假设多级循环保序编码L=L1|L2|...|LM|包括M个子循环保序编码LN(N∈[1,2,...,M],M为大于1的整数),其中,“|”是一个分隔符,L1表示最低一级的子循环保序编码,LM表示最高一级的子循环保序编码,每一级子循环保序编码都有一个初始循环保序编码△N。当LN逐渐向右移动并等于△N时,此时LN+1必须同时右移一次;同理,当LN+1逐渐向右移动并等于△N+1时,此时LN+2必须右移一次;依此类推,直到最高一级的子循环保序编码LM右移到△M以上,循环保序编码继续移到最低一级的子循环保序编码L1。
例如,假设单级循环保序编码L1=01101,它可以转换为五种不同类型编码:01101、10110、01011、10101、11010,所以确定{L1}=5;假设多级循环保序编码L2={011|01},令△1=101,△2=10,则L2可分别右移至101|10、110|10、011|10、101|01、110|01、011|01,即{L2}=6。可见,虽然|L1|=|L2|=5位比特,但多级循环保序编码可以表示更多的编码种类。这是因为单级循环保序编码受到w和z的限制,并且随着w和z的增大,码位长度呈指数增长;但是多级循环保序编码L=L1|L2|...|LM|可以表示{L}=|L1|*|L2|*...*|LM|个编码且L的长度只是|L1|+|L2|+...+|LM|,因此,多级循环保序编码可以将单级循环保序编码比特数的空间代价从O(w*x*z)降低到O(e*log(w*x*z));其中,O()代表复杂度。
类似地,本申请实施例中涉及的预设循环保序编码映射可以包括:单级预设循环保序编码映射或多级预设循环保序编码映射。具体地,关于单级预设循环保序编码映射的介绍可以参考本申请上述单级循环保序编码的相关内容,此处不再赘述;关于多级预设循环保序编码映射的介绍可以参考本申请上述多级循环保序编码的相关内容,此处不再赘述。
本申请实施例中涉及的任一感知数据对应的加密感知数据可以为检测到所述感知数据的传感器节点根据密钥对所述感知数据加密所得到的数据。
本申请实施例中涉及的查询公共基点可以为网络设备在根据全局映射信息确定出与查询数据对应的目标预设循环保序编码映射后,根据所述目标预设循环保序编码映射对所述查询数据进行编码后得到的数据。示例性地,查询公共基点用于指示或代替查询数据,以便于存储节点确定与查询数据相邻的K个目标感知数据。
本申请实施例中涉及的窃听攻击是指攻击者试图通过窃听链路层信息直接获取存储节点或传感器节点上敏感数据的明文。
本申请实施例中涉及的推演攻击是指攻击者试图利用一些背景知识(例如极值、数据顺序)推测出原始的感知数据。
本申请实施例中涉及的恶意攻击(或完整性攻击)是指被俘获存储节点或传感器节点将假的或不完整的数据结果返回到网络设备,甚至删除感知数据。
本申请实施例提供的基于传感器网络的K近邻查询方法及装置,通过各循环保序编码数据代替对应的感知数据以及查询公共基点代替查询数据进行距离比较,从各加密感知数据中确定出与查询公共基点距离最近的K个目标循环保序编码数据分别对应的目标加密感知数据,不仅可以实现对感知数据和查询数据的隐私保护,还可以实现精准地K近邻查询。
下面以具体地实施例对本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图8为本申请一实施例提供的基于传感器网络的K近邻查询方法的流程示意图。本申请实施例对存储节点侧的实现方式进行介绍。如图8所示,本申请实施例的方法可以包括:
步骤S801、接收各传感器节点发送的感知消息。
本步骤中,存储节点接收各传感器节点在感知周期内检测到各感知数据后所发送的感知消息。示例性地,任一所述传感器节点对应的感知消息中可以包括:所述传感器节点在感知周期内检测到的各感知数据分别对应的加密感知数据、所述各感知数据分别对应的循环保序编码数据和所述感知周期;当然,感知消息中还可以包括其它信息(例如传感器节点标识信息等),本申请实施例中对此并不作限制。
本实施例中涉及的任一感知数据对应的加密感知数据可以为检测到所述感知数据的传感器节点根据密钥对所述感知数据加密所得到的数据。具体地根据密钥对感知数据进行加密的方式可以参考相关技术中的加密方式,本申请实施例中对此不作限制。
本实施例中,任一感知数据对应的循环保序编码数据可以为检测到所述感知数据的传感器节点在根据子映射信息确定出与所述感知数据对应的目标预设循环保序编码映射后,根据所述目标预设循环保序编码对所述感知数据进行编码后得到的数据。
步骤S802、接收网络设备发送的查询消息。
可选地,网络设备所发送的查询消息中可以包括:用于指示查询数据的查询公共基点、K值和查询时间;当然,查询消息中还可以包括其它信息,本申请实施例中对此并不作限制。示例性地,查询消息用于指示查询属于所述查询时间段内与所述查询数据相邻的K个目标感知数据。
可选地,查询公共基点可以为网络设备在根据全局映射信息确定出与查询数据对应的目标预设循环保序编码映射后,根据所述目标预设循环保序编码映射对所述查询数据进行编码后得到的数据。示例性地,查询公共基点用于代替查询数据进行比较,以便于存储节点确定与查询数据相邻的K个目标感知数据。
步骤S803、根据各所述传感器节点发送的各循环保序编码数据、所述查询公共基点和所述查询时间,从各所述传感器节点发送的各加密感知数据中确定出与所述查询公共基点距离最近的K个目标循环保序编码数据分别对应的目标加密感知数据。
本步骤中,存储节点根据各所述传感器节点发送的各循环保序编码数据、所述查询公共基点和所述查询时间,确定出与所述查询公共基点距离最近的K个目标循环保序编码数据,从而确定出所述K个目标循环保序编码数据分别对应的目标加密感知数据。
示例性地,所述存储节点根据所述查询时间和所述感知周期,确定出属于所述查询时间段的各加密感知数据和各循环保序编码数据;进一步地,所述存储节点根据属于所述查询时间段的各循环保序编码数据与所述查询公共基点之间的移位次数,确定出移位次数最少的K个目标循环保序编码数据;进一步地,所述存储节点从属于所述查询时间段的各加密感知数据中分别确定出所述K个目标循环保序编码数据对应的目标加密感知数据。
本实施例中,所述存储节点根据所述查询时间和所述感知周期,确定出属于所述查询时间段的各加密感知数据和各循环保序编码数据,从而排除了不属于所述查询时间段的感知消息;进一步地,通过所述查询公共基点代替查询数据以及属于所述查询时间段的各循环保序编码数据代替感知数据,根据属于所述查询时间段的各循环保序编码数据与所述查询公共基点之间的移位次数,确定出移位次数最少的K个目标循环保序编码数据,从而从属于所述查询时间段的各加密感知数据中分别确定出所述K个目标循环保序编码数据对应的目标加密感知数据。
需要说明的是,属于所述查询时间段的各循环保序编码数据与所述查询公共基点之间的移位次数的确定方式,可以参考本申请上述实施例中关于规则2和/或图6所示相关内容,此处不再赘述。
当然,根据各所述传感器节点发送的各循环保序编码数据、所述查询公共基点和所述查询时间,还可通过其它方式从各所述传感器节点发送的各加密感知数据中确定出与所述查询公共基点距离最近的K个目标循环保序编码数据分别对应的目标加密感知数据,本申请实施例中对此不作限制。
步骤S804、将K个所述目标加密感知数据发送给所述网络设备,以使所述网络设备分别对K个所述目标加密感知数据进行解密,得到所述K个目标感知数据。
本步骤中,所述存储节点将K个所述目标加密感知数据发送给所述网络设备,以使所述网络设备分别对K个所述目标加密感知数据进行解密,得到所述K个目标感知数据,从而可以将所述K个目标感知数据返回给用户。
示例性地,K个所述目标加密感知数据可以携带于查询结果消息中发送给所述网络设备,当然还可携带其它消息中,本申请实施例中对此并不作限制。
示例性地,携带有所述K个目标加密感知数据的消息中,还可以携带其它信息(例如所述K个目标加密感知数据分别所属的传感器节点标识信息等),本申请实施例中对此并不作限制。
示例性地,所述网络设备可以根据密钥分别对K个所述目标加密感知数据进行解密。具体地,根据密钥对目标加密感知数据进行解密的方式可以参考相关技术中的解密方式,本申请实施例中对此不作限制。
本申请实施例中,存储节点接收各传感器节点发送的感知消息,任一所述传感器节点对应的感知消息中可以包括:所述传感器节点在感知周期内检测到的各感知数据分别对应的加密感知数据、所述各感知数据分别对应的循环保序编码数据和所述感知周期;进一步地,所述存储节点在接收到网络设备发送的查询消息(可以包括查询公共基点、K值和查询时间)后,根据各所述传感器节点发送的各循环保序编码数据、所述查询公共基点和所述查询时间,从各所述传感器节点发送的各加密感知数据中确定出与所述查询公共基点距离最近的K个目标循环保序编码数据分别对应的目标加密感知数据,并将K个所述目标加密感知数据发送给所述网络设备,以使所述网络设备分别对K个所述目标加密感知数据进行解密,得到所述K个目标感知数据。本实施例中,通过各循环保序编码数据代替对应的感知数据以及查询公共基点代替查询数据进行距离比较,从各加密感知数据中确定出与查询公共基点距离最近的K个目标循环保序编码数据分别对应的目标加密感知数据,不仅可以实现对感知数据和查询数据的隐私保护,还可以实现精准地K近邻查询。
可选地,本申请实施例中涉及的上述循环保序编码数据可以包括:单级循环保序编码数据(参考如上述图6所示相关内容)或多级循环保序编码数据(参考如上述关于多级循环保序编码的相关内容)。
需要说明的是,相比于单级循环保序编码数据,本申请实施例中涉及的上述循环保序编码数据包括多级循环保序编码数据时,可以大大节省循环保序编码比特数的空间。
本申请下述实例对上述加密感知数据的可实现方式进行详细介绍。
一种可能的实现方式,本申请实施例中涉及的上述传感器节点发送的加密感知数据可以为所述传感器节点根据密钥对相应的一个感知数据加密后所得到的数据。
示例性地,假设传感器节点si在感知周期ti检测到感知数据di,j,其中,i的取值范围为1到m的整数,m是指传感器节点的个数,j的取值范围为1到n的整数,n是指传感器节点si在感知周期ti检测到的感知数据的个数;传感器节点si发送的加密感知数据Ei,j可以为传感器节点si根据密钥ki对感知数据di,j加密后所得到的数据(di,j)ki。
另一种可能的实现方式,本申请实施例中涉及的上述传感器节点发送的加密感知数据可以为所述传感器节点根据密钥对相应的三个感知数据加密后所得到的数据;其中,所述三个感知数据为所述传感器节点对各感知数据按大小顺序排序后位置相邻的三个感知数据。
示例性地,假设传感器节点si在感知周期ti检测到感知数据di,j-1、感知数据di,j和感知数据di,j+1,其中,di,j代表传感器节点si的第j个感知数据,di,j-1代表传感器节点si的各感知数据按由小到大顺序排序后位于di,j左侧相邻的感知数据,di,j+1代表传感器节点si的各感知数据按由小到大顺序排序后位于di,j右侧相邻的感知数据(需要说明的是,与感知数据di,1左侧相邻的感知数据为di,n);传感器节点si发送的加密感知数据Ei,j可以为传感器节点si根据密钥ki对感知数据di,j-1、感知数据di,j和感知数据di,j+1加密后所得到的数据(di,j-1||di,j||di,j+1)ki,其中,“||”意味着连接。
可见,本实施例中通过双向循环邻居链(Bidirectional Loop Neighbor Chain,BLNC)的方式,传感器节点发送的加密感知数据不再是“孤立的”,隐含了各感知数据的邻居感知数据,以便于网络设备后续验证查询结果的完整性。
图9为本申请另一实施例提供的基于传感器网络的K近邻查询方法的流程示意图。在上述实例的基础上,本申请实施例对网络设备侧的实现方式进行介绍。如图9所示,本申请实施例的方法可以包括:
步骤S901、接收用户发送的查询请求。
本步骤中,网络设备接收用户发送的查询请求;其中,所述查询请求中可以包括:查询数据、K值和查询时间;当然,所述查询请求中还可以包括其它信息,本申请实施例中对此并不作限制。示例性地,所述查询请求用于指示查询属于所述查询时间内与所述查询数据最邻近的K个目标感知数据。
步骤S902、根据全局映射信息确定所述查询数据对应的查询公共基点,并向存储节点发送查询消息。
本实施例中,所述网络设备中预先设置有或者预先生成有全局映射信息,其中,所述全局映射信息中包括不同预设数据与预设循环保序编码映射之间的对应关系(例如图7A或图7C所示),以便于所述网络设备确定出查询数据对应的查询公共基点(用于指示或代替查询数据),和/或,为各传感器节点随机分配子映射信息。
本步骤中,为了保护查询数据的隐私,所述网络设备根据全局映射信息确定所述查询数据对应的查询公共基点,并向存储节点发送查询消息(所述查询消息中可以包括:所述查询公共基点、所述K值和所述查询时间),以便于所述存储节点在接收到网络设备发送的查询消息(可以包括查询公共基点、K值和查询时间)后,根据各所述传感器节点发送的各循环保序编码数据、所述查询公共基点和所述查询时间,从各所述传感器节点发送的各加密感知数据中确定出与所述查询公共基点距离最近的K个目标循环保序编码数据分别对应的目标加密感知数据,并将K个所述目标加密感知数据返回给所述网络设备。
需要说明的是,所述查询消息中还可以包括其它信息,本申请实施例中对此并不作限制。
示例性地,所述查询消息用于指示查询属于所述查询时间段内与所述查询数据最邻近的K个目标感知数据,以便于存储节点根据所述查询消息对各传感器节点上报的感知消息进行查询,以确定所述K个目标感知数据。
示例性地,所述网络设备可以根据所述全局映射信息确定与所述查询数据对应的目标预设循环保序编码映射,并根据所述目标预设循环保序编码映射对所述查询数据进行编码,得到所述查询数据对应的查询公共基点。例如,假设全局映射信息中可以包括:预设数据1与预设循环保序编码映射A之间的对应关系、预设数据1与预设循环保序编码映射B之间的对应关系,且查询数据等于所述预设数据1,则所述网络设备可以根据所述全局映射信息确定与所述查询数据对应的目标预设循环保序编码映射(例如,预设循环保序编码映射A或预设循环保序编码映射B),并根据目标预设循环保序编码映射(例如,预设循环保序编码映射A或预设循环保序编码映射B)对所述查询数据直接进行编码,得到所述查询数据对应的查询公共基点。
当然,根据全局映射信息,还可以通过其它方式确定所述查询数据对应的查询公共基点,本申请实施例中对此并不作限制。
步骤S903、接收所述存储节点发送的K个目标加密感知数据,并分别对所述K个目标加密感知数据进行解密,得到所述K个目标感知数据。
本步骤中,所述网络设备接收所述存储节点发送的K个目标加密感知数据,并分别对所述K个目标加密感知数据进行解密,便可得到与所述查询数据最邻近的K个目标感知数据,从而将所述K个目标感知数据返回给用户。
示例性地,所述K个目标加密感知数据可以携带于所述存储节点发送的查询结果消息中,当然还可携带其它消息中,本申请实施例中对此并不作限制。
示例性地,携带有所述K个目标加密感知数据的消息中,还可以携带其它信息(例如所述K个目标加密感知数据分别所属的传感器节点标识信息等),本申请实施例中对此并不作限制。
示例性地,所述网络设备可以根据密钥分别对所述K个目标加密感知数据进行解密。具体地,根据密钥对目标加密感知数据进行解密的方式可以参考相关技术中的解密方式,本申请实施例中对此不作限制。
本申请实施例中,网络设备在接收到用户发送的查询请求(所述查询请求中可以包括:查询数据、K值和查询时间)后,通过根据全局映射信息确定所述查询数据对应的查询公共基点,并向存储节点发送查询消息(所述查询消息中可以包括:所述查询公共基点、所述K值和所述查询时间),以便于所述存储节点根据所述查询消息对各传感器上报的感知消息进行查询,以确定K个目标加密感知数据;进一步地,所述网络设备接收所述存储节点发送的所述K个目标加密感知数据,并分别对所述K个目标加密感知数据进行解密,得到所述K个目标感知数据。本实施例中,通过查询公共基点代替查询数据,不仅可以实现对查询数据的隐私保护,还可以实现精准地K近邻查询。
在上述实施例的基础上,为了保护真实感知数据的隐私,网络设备可以预先为各传感器节点分配对应的密钥,或者预先为各传感器节点分配生成对应密钥的方式,以便各传感器节点可以对检测到的感知数据进行加密,并将加密得到的加密感知数据上报给存储节点。需要说明的是,不同传感器节点对应的密钥不同。
示例性地,假设在网络初始化阶段,网络设备与传感器节点si共享密钥ki,0,且规定其中,hash()代表哈希函数,即在数据上传时间间隔△t开始时消除密钥并使用密钥
在上述实施例的基础上,为了进一步保护真实感知数据的隐私,对于任意传感器节点,网络设备可以从所述全局映射信息中随机选择部分预设数据与预设循环保序编码映射之间的对应关系,生成子映射信息,并向所述传感器节点发送所述子映射信息,以便于所述传感器节点可以将检测到的感知数据转换为对应的循环保序编码数据,并用循环保序编码数据代替对应的感知数据上报给存储节点。需要说明的是,不同传感器节点对应的子映射信息不同。
例如,假设全局映射信息参考如图7A所示,网络设备为传感节点s1和s2分配对应的子映射信息,则如图7B所示网络设备可以从所述全局映射信息中随机选择预设数据1与预设循环保序编码映射L1()之间的对应关系、预设数据2与预设循环保序编码映射L1()之间的对应关系、预设数据2与预设循环保序编码映射L3()之间的对应关系、…、预设数据5与预设循环保序编码映射L1()之间的对应关系、预设数据5与预设循环保序编码映射L4()之间的对应关系,生成传感节点s1对应的子映射信息,并向所述传感节点s1发送所述子映射信息。
可选地,本申请实施例中涉及的上述预设循环保序编码映射可以包括:单级预设循环保序编码映射或多级预设循环保序编码映射。具体地,关于单级预设循环保序编码映射的介绍可以参考本申请上述单级循环保序编码的相关内容,此处不再赘述;关于多级预设循环保序编码映射的介绍可以参考本申请上述多级循环保序编码的相关内容,此处不再赘述。
需要说明的是,当本申请实施例中涉及的预设循环保序编码映射包括单级预设循环保序编码映射时,对应地,本申请实施例中涉及的循环保序编码映射包括单级循环保序编码数据;当本申请实施例中涉及的预设循环保序编码映射包括多级预设循环保序编码映射时,对应地,本申请实施例中涉及的循环保序编码映射包括多级循环保序编码数据。
本申请下述实例对上述目标加密感知数据的可实现方式进行详细介绍。
一种可能的实现方式,本申请实施例中涉及的上述目标加密感知数据可以为对应的传感器节点根据密钥对相应的一个感知数据加密后所得到的数据。
示例性地,上述目标加密感知数据可以为传感器节点si根据密钥ki对感知数据di,j加密后所得到的数据(di,j)ki。
另一种可能的实现方式,本申请实施例中涉及的上述目标加密感知数据可以为对应的传感器节点根据密钥对相应的三个感知数据加密后所得到的数据;其中,所述三个感知数据为所述传感器节点对各感知数据按大小顺序排序后位置相邻的三个感知数据。
示例性地,上述目标加密感知数据可以为传感器节点si根据密钥ki对感知数据di,j-1、感知数据di,j和感知数据di,j+1加密后所得到的数据(di,j-1||di,j||di,j+1)ki。
可见,本实施例中通过BLNC的方式,传感器节点发送的加密感知数据不再是“孤立的”,隐含了各感知数据的邻居感知数据,以便于网络设备后续验证查询结果的完整性。
本申请下述实例对“网络设备验证查询结果的完整性”的可实现方式进行详细介绍。
可选地,若上述目标加密感知数据为对应的传感器节点根据密钥对相应的三个感知数据加密后所得到的数据,则所述网络设备还可以根据密钥对所述K个目标加密感知数据的解密结果,判断所述K个目标感知数据的完整性。
一种可能的实现方式,对于任一所述目标加密感知数据,若根据密钥无法对所述目标加密感知数据解密,则所述网络设备可以获知所述目标加密感知数据对应的目标感知数据被篡改,便可确定所述目标加密感知数据对应的目标感知数据为不完整的;若根据密钥对所述目标加密感知数据解密得到目标感知数据,则所述网络设备便可确定所述目标加密感知数据对应的目标感知数据为完整的。
另一种可能的实现方式,考虑到各传感器节点不会重复上报感知数据,对于任一所述目标加密感知数据,所述网络设备判断根据密钥对所述目标加密感知数据解密得到的目标感知数据是否与其它解密结果相同;若确定所述目标感知数据与其它解密结果相同,则所述网络设备可以获知查询结果中存在伪造信息,便可确定所述目标感知数据为不完整的;若确定所述目标感知数据与其它解密结果不相同,则所述网络设备确定所述目标感知数据为完整的。
另一种可能的实现方式,对于任一所述目标加密感知数据,所述网络设备根据密钥对所述目标加密感知数据解密得到目标感知数据;其中,所述目标感知数据中包括:目标感知数据以及与所述目标感知数据相邻的两个感知数据;若与所述目标感知数据相邻的两个感知数据属于所述K个目标感知数据,则所述网络设备判断所述K个目标加密感知数据中是否包括与所述目标加密感知数据相邻的加密感知数据;若确定所述K个目标加密感知数据中不包括与所述目标加密感知数据相邻的加密感知数据,则所述网络设备可以获知部分符合查询请求的目标加密感知数据没有被包含在查询结果中,便可确定所述K个目标感知数据为不完整的。需要说明的是,只有当所有符合查询请求的所有目标加密感知数据都包含在查询结果中,才能与数据完整性的定义保持一致。
例如,对于目标加密感知数据(di,j-1||di,j||di,j+1)ki,所述网络设备根据密钥ki对所述目标加密感知数据(di,j-1||di,j||di,j+1)ki解密得到目标感知数据di,j以及与所述目标感知数据di,j相邻的两个感知数据di,j-1和di,j+1;若感知数据di,j-1和di,j+1属于与查询数据最邻近的K个目标感知数据,则所述网络设备判断所述K个目标加密感知数据中是否包括与所述目标加密感知数据(di,j-1||di,j||di,j+1)ki相邻的加密感知数据(di,j-2||di,j-1||di,j)ki和(di,j||di,j+1||di,j+2)ki;若确定所述K个目标加密感知数据中不包括与所述目标加密感知数据(di,j-1||di,j||di,j+1)ki相邻的加密感知数据(di,j-2||di,j-1||di,j)ki和(di,j||di,j+1||di,j+2)ki,则所述网络设备便可确定所述K个目标感知数据为不完整的。
若确定所述K个目标加密感知数据中包括与所述目标加密感知数据(di,j-1||di,j||di,j+1)ki相邻的加密感知数据(di,j-2||di,j-1||di,j)ki和(di,j||di,j+1||di,j+2)ki,则所述网络设备继续根据密钥ki对加密感知数据(di,j-2||di,j-1||di,j)ki和(di,j||di,j+1||di,j+2)ki进行解密,并分别判断解密后得到的感知数据是否属于与查询数据最邻近的K个目标感知数据,……,直至相邻感知数据不属于所述K个目标感知数据;其中,若某个邻居感知数据属于所述K个目标感知数据,但所述邻居感知数据对应的加密感知数据并不属于所述K个目标加密感知数据,则所述网络设备可以获知部分符合查询请求的目标加密感知数据没有被包含在查询结果中,便可确定所述K个目标感知数据为不完整的。
需要说明的是,上述三种可能的实现方式可以任意相互结合,以实现网络设备根据密钥对所述K个目标加密感知数据的解密结果,判断所述K个目标感知数据的完整性,本申请实施例中此处不再一一描述。
本申请实施例中,若上述目标加密感知数据为对应的传感器节点根据密钥对相应的三个感知数据加密后所得到的数据,则所述网络设备通过根据密钥对所述K个目标加密感知数据的解密结果,判断所述K个目标感知数据的完整性,从而可以抵御窃听攻击、推演攻击和完整性攻击,使得传感器网络更加安全可靠地运行。
图10为本申请另一实施例提供的基于传感器网络的K近邻查询方法的流程示意图。在上述实例的基础上,本申请实施例对传感器节点侧的实现方式进行介绍。如图10所示,本申请实施例的方法可以包括:
步骤S1001、在感知周期检测到各感知数据后,根据密钥对各所述感知数据加密,得到各所述感知数据加密分别对应的加密感知数据。
本步骤中,传感器节点在感知周期检测到各感知数据后,根据密钥分别对各所述感知数据加密,得到各所述感知数据加密分别对应的加密感知数据。例如,传感器节点根据密钥对感知数据1加密得到所述感知数据1对应的加密感知数据1、所述传感器节点根据所述密钥对感知数据2加密得到所述感知数据2对应的加密感知数据2,以及所述传感器节点根据所述密钥对感知数据3加密得到所述感知数据3对应的加密感知数据3。
需要说明的是,根据密钥对感知数据进行加密的方式,可以参考相关技术中的加密方式,本申请实施例中对此不作限制。
可选地,网络设备可以预先为所述传感器节点分配所述密钥,或者预先为所述传感器节点分配生成所述密钥的方式。需要说明的是,不同传感器节点对应的密钥不同。
步骤S1002、根据子映射信息分别确定各所述感知数据分别对应的循环保序编码数据。
本实施例中,网络设备可以从全局映射信息中随机选择部分预设数据与预设循环保序编码映射之间的对应关系,生成子映射信息,并向所述传感器节点发送所述子映射信息;对应地,所述传感器节点接收所述网络设备发送的所述子映射信息。需要说明的是,所述网络设备为不同传感器节点分配不同的子映射信息。
本步骤中,所述传感器节点根据子映射信息分别确定各所述感知数据分别对应的循环保序编码数据;其中,所述子映射信息中包括不同预设数据与预设循环保序编码映射之间的对应关系(如图7B或图7D所示)。例如,假设所述传感器节点在感知周期检测到感知数据1和感知数据2,则所述传感器节点根据子映射信息分别确定感知数据1对应的循环保序编码数据1,以及感知数据2对应的循环保序编码数据2。
示例性地,对于任一所述感知数据,所述传感器节点可以根据所述子映射信息确定与所述感知数据对应的目标预设循环保序编码映射,并根据所述目标预设循环保序编码映射对所述感知数据进行编码,得到所述感知数据对应的循环保序编码数据。例如,假设所述子映射信息中可以包括:预设数据1与预设循环保序编码映射A之间的对应关系,且感知数据等于所述预设数据1,则所述传感器节点可以根据所述子映射信息确定与所述感知数据对应的目标预设循环保序编码映射(例如预设循环保序编码映射A),并根据所述目标预设循环保序编码映射(例如预设循环保序编码映射A)对所述感知数据进行编码,得到所述感知数据对应的循环保序编码数据。
当然,根据子映射信息,还可以通过其它方式分别确定各所述感知数据分别对应的循环保序编码数据,本申请实施例中对此并不作限制。
步骤S1003、向存储节点发送感知消息。
本步骤中,所述传感器节点向存储节点发送感知消息(所述感知消息中可以包括:各所述加密感知数据、各所述循环保序编码数据和所述感知周期),以便于所述存储节点在接收到网络设备发送的查询消息(可以包括查询公共基点、K值和查询时间)后,根据各所述传感器节点发送的各循环保序编码数据、所述查询公共基点和所述查询时间,从各所述传感器节点发送的各加密感知数据中确定出与所述查询公共基点距离最近的K个目标循环保序编码数据分别对应的目标加密感知数据,进而将K个所述目标加密感知数据发送给所述网络设备,以使所述网络设备分别对K个所述目标加密感知数据进行解密,得到所述K个目标感知数据。
需要说明的是,所述感知消息中还可以包括其它信息(例如传感器节点标识信息等),本申请实施例中对此并不作限制。
本申请实施例中,传感器节点在感知周期检测到各感知数据后,根据密钥对各所述感知数据加密,得到各所述感知数据加密分别对应的加密感知数据;进一步地,所述传感器节点根据子映射信息分别确定各所述感知数据分别对应的循环保序编码数据,并向存储节点发送感知消息(所述感知消息中可以包括:各所述加密感知数据、各所述循环保序编码数据和所述感知周期),以便于所述存储节点在接收到网络设备发送的查询消息(可以包括查询公共基点、K值和查询时间)后,根据各所述传感器节点发送的各循环保序编码数据、所述查询公共基点和所述查询时间,从各所述传感器节点发送的各加密感知数据中确定出与所述查询公共基点距离最近的K个目标循环保序编码数据分别对应的目标加密感知数据,进而将K个所述目标加密感知数据发送给所述网络设备,以使所述网络设备分别对K个所述目标加密感知数据进行解密,得到所述K个目标感知数据。本实施例中,通过各循环保序编码数据代替对应的感知数据不仅可以实现对感知数据的隐私保护,还可以实现精准地K近邻查询。
可选地,本申请实施例中涉及的上述循环保序编码数据可以包括:单级循环保序编码数据(参考如上述图6所示相关内容)或多级循环保序编码数据(参考如上述关于多级循环保序编码的相关内容)。
需要说明的是,相比于单级循环保序编码数据,本申请实施例中涉及的上述循环保序编码数据包括多级循环保序编码数据时,可以大大节省循环保序编码比特数的空间。
本申请下述实例对上述加密感知数据的可实现方式进行详细介绍。
一种可能的实现方式,本申请实施例中涉及的上述加密感知数据可以为所述传感器节点根据密钥对相应的一个感知数据加密后所得到的数据。示例性地,假设传感器节点si在感知周期ti检测到感知数据di,j;传感器节点si发送的加密感知数据Ei,j可以为传感器节点si根据密钥ki对感知数据di,j加密后所得到的数据(di,j)ki。
另一种可能的实现方式,本申请实施例中涉及的上述加密感知数据可以为所述传感器节点根据密钥对相应的三个感知数据加密后所得到的数据;其中,所述三个感知数据为对各感知数据按大小顺序排序后位置相邻的三个感知数据。
示例性地,假设传感器节点si在感知周期ti检测到感知数据di,j-1、感知数据di,j和感知数据di,j+1,其中,di,j代表传感器节点si的第j个感知数据,di,j-1代表传感器节点si的各感知数据按由小到大顺序排序后位于di,j左侧相邻的感知数据,di,j+1代表传感器节点si的各感知数据按由小到大顺序排序后位于di,j右侧相邻的感知数据(需要说明的是,与感知数据di,1左侧相邻的感知数据为di,n);传感器节点si发送的加密感知数据Ei,j可以为传感器节点si根据密钥ki对感知数据di,j-1、感知数据di,j和感知数据di,j+1加密后所得到的数据(di,j-1||di,j||di,j+1)ki。
可见,本实施例中通过BLNC的方式,传感器节点发送的加密感知数据不再是“孤立的”,隐含了各感知数据的邻居感知数据,以便于网络设备后续验证查询结果的完整性。
本申请另一实施例提供的基于传感器网络的K近邻查询方法的流程示意图。在上述实例的基础上,本申请实施例中结合存储节点侧、网络设备侧和传感器节点侧进行介绍。本申请实施例的方法可以包括:
步骤S1101、网络设备为传感器节点si分配子映射信息。
其中,i的取值范围为1到m的整数,m是指传感器节点的个数。
示例性地,所述网络设备可以从全局映射信息中随机选择部分预设数据与预设循环保序编码映射之间的对应关系,生成子映射信息,并向所述传感器节点si发送所述子映射信息;其中,所述子映射信息中可以包括不同预设数据与预设循环保序编码映射之间的对应关系。
步骤S1102、所述传感器节点si接收所述网络设备所发送的所述子映射信息。
步骤S1103、所述传感器节点si在感知周期ti检测到各感知数据后,根据密钥ki分别对各所述感知数据加密,得到各所述感知数据加密分别对应的加密感知数据。
步骤S1104、所述传感器节点si根据所述子映射信息分别确定各所述感知数据分别对应的循环保序编码数据。
可选地,所述传感器节点si还可以根据上述规则1和规则2对各所述感知数据分别对应的循环保序编码数据进行排序。
步骤S1105、所述传感器节点si向存储节点发送感知消息Di。
示例性地,所述感知消息Di中可以包括:各所述加密感知数据、各所述循环保序编码数据和所述感知周期ti。
步骤S1106、所述存储节点接收各传感器节点发送的感知消息。
示例性地,任一所述传感器节点对应的感知消息中可以包括:所述传感器节点在感知周期内检测到的各感知数据分别对应的加密感知数据、所述各感知数据分别对应的循环保序编码数据和所述感知周期。
步骤S1107、所述网络设备接收用户发送的查询请求。
示例性地,所述查询请求中可以包括:查询数据、K值和查询时间。
步骤S1108、所述网络设备根据全局映射信息确定所述查询数据对应的查询公共基点,并向存储节点发送查询消息。
示例性地,所述查询消息中可以包括:所述查询公共基点、所述K值和所述查询时间。
步骤S1109、所述存储节点在接收到所述网络设备发送的所述查询消息后,根据各所述传感器节点发送的各循环保序编码数据、所述查询公共基点和所述查询时间,从各所述传感器节点发送的各加密感知数据中确定出与所述查询公共基点距离最近的K个目标循环保序编码数据分别对应的目标加密感知数据。
步骤S1110、所述存储节点将K个所述目标加密感知数据发送给所述网络设备。
步骤S1111、所述网络设备在接收到所述存储节点发送的所述K个目标加密感知数据后,分别对所述K个目标加密感知数据进行解密,得到所述K个目标感知数据,并将所述K个目标感知数据返回给用户。
可见,本申请实施例中,通过各循环保序编码数据代替对应的感知数据以及查询公共基点代替查询数据进行距离比较,从各加密感知数据中确定出与查询公共基点距离最近的K个目标循环保序编码数据分别对应的目标加密感知数据,不仅可以实现对感知数据和查询数据的隐私保护,还可以实现精准地K近邻查询。
进一步地,相比于单级循环保序编码数据,本申请实施例中涉及的上述循环保序编码数据包括多级循环保序编码数据时,还可以大大节省循环保序编码比特数的空间。
进一步地,若上述目标加密感知数据为对应的传感器节点根据密钥对相应的三个感知数据(所述三个感知数据为所述传感器节点对各感知数据按大小顺序排序后位置相邻的三个感知数据)加密后所得到的数据,则所述网络设备还可以根据密钥对所述K个目标加密感知数据的解密结果,判断所述K个目标感知数据的完整性,从而可以抵御窃听攻击、推演攻击和完整性攻击,使得传感器网络更加安全可靠地运行。
为了便于理解,本申请下述部分举个示例对上述步骤进行说明:
假设感知数据和/或查询数据的数值范围为[1,5]、传感器节点包括传感器节点s1和传感器节点s2。
一方面关于传感器节点s1:假设数据域为[1,5]、传感器节点s1在感知周期t1检测到感知数据d1,1(例如2)、感知数据d1,2(例如3)和感知数据d1,3(例如5),则传感器节点s1根据密钥k1对感知数据d1,1(例如2)加密得到加密感知数据(d1,1)k1、根据密钥k1对感知数据d1,2(例如3)加密得到加密感知数据(d1,2)k1以及根据密钥k1对感知数据d1,3(例如5)加密得到加密感知数据(d1,3)k1。
进一步地,传感器节点s1根据如图7B所示的子映射信息确定感知数据d1,1(如2)对应的循环保序编码数据L1(d1,1)、感知数据d1,2(如3)对应的循环保序编码数据L1(d1,2)以及感知数据d1,3(如5)对应的循环保序编码数据L1(d1,3)。
进一步地,传感器节点s1向存储节点发送感知消息D1;其中,所述感知消息D1中可以包括:{[加密感知数据(d1,1)k1,循环保序编码数据L1(d1,1)],[加密感知数据(d1,2)k1,循环保序编码数据L1(d1,2)],[加密感知数据(d1,3)k1,循环保序编码数据L1(d1,3)]}和所述感知周期t1。
另一方面关于传感器节点s2:假设数据域为[1,5]、传感器节点s2在感知周期t2检测到感知数据d2,1(例如1)、感知数据d2,2(例如3)和感知数据d2,3(例如4),则传感器节点s2根据密钥k2对感知数据d2,1(例如1)加密得到加密感知数据(d2,1)k2、根据密钥k2对感知数据d2,2(例如3)加密得到加密感知数据(d2,2)k2以及根据密钥k2对感知数据d2,3(例如4)加密得到加密感知数据(d2,3)k2。
进一步地,传感器节点s2根据如图7B所示的子映射信息确定感知数据d2,1(例如1)对应的循环保序编码数据L2(d2,1)、感知数据d2,2(例如3)对应的循环保序编码数据L3(d2,2)以及感知数据d2,3(例如4)对应的循环保序编码数据L1(d2,3)。
进一步地,传感器节点s2向存储节点发送感知消息D2;其中,所述感知消息D2中可以包括:{[加密感知数据(d2,1)k2,循环保序编码数据L2(d2,1)],[加密感知数据(d2,2)k2,循环保序编码数据L3(d2,2)],[加密感知数据(d2,3)k2,循环保序编码数据L1(d2,3)]}和所述感知周期t2。
另一方面关于网络设备:假设用户发送的查询请求中可以包括:查询数据(例如4)、K值(例如1)和查询时间t,网络设备根据全局映射信息确定所述查询数据(例如4)对应的查询公共基点L1(4)。
进一步地,网络设备向存储节点发送的查询消息中可以包括:查询公共基点L1(4)、K值(例如1)和查询时间t,以便于所述存储节点根据传感器节点s1和传感器节点s2发送的各循环保序编码数据、查询公共基点L1(4)和所述查询时间t,从传感器节点s1和传感器节点s2发送的各加密感知数据中确定出与查询公共基点L1(4)距离最近的目标循环保序编码数据(即与查询公共基点L1(4)之间的移位次数最少,例如循环保序编码数据L1(d2,3))所对应的目标加密感知数据(例如加密感知数据(d2,3)k2)。
进一地,网络设备接收所述存储节点发送的目标加密感知数据(例如加密感知数据(d2,3)k2),并对所述目标加密感知数据(例如加密感知数据(d2,3)k2)进行解密,得到目标感知数据(例如感知数据d2,3)。
需要说明的是,本领域普通技术人员可以理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本申请下述实例对本申请上述基于传感器网络的K近邻查询方法的隐私性方面、编码位方面、编码效率方面和网络能耗方面进行说明。
1)隐私性方面
在攻击者不能破解密钥的情况下,攻击者只能选择推演或背景知识攻击推导出子映射信息。然而,如果|h-l+1|个不同的xt被映射成个循环保序编码数据,则攻击者几乎不可能通过逆映射得到真实的感知数据。
假设通过逆映射找到真实感知数据的概率为P,则可以表示为:
例如,当[l,h]为[0,10000],等于13时,则P约等于10-26。
2)编码位方面
结合上述关于多级循环编码(Multistage Loop Code,MLC),或称之为多级循环保序编码的相关内容,可以获知当用于编码的位数一样时,多级循环编码可以表示出更多的编码种类,从而减小传感器网络中上传数据的通信代价。因此,问题转化为对每一级子循环保序编码的长度进行设置,实现编码种类符合系统要求的同时节省编码位数。具体参考如下数学语言:
假设多级循环保序编码L=L1|L2|...|LM|包括M个子循环保序编码LN(N∈[1,2,...,M],M为大于1的整数)。
已知求
其中,QN代表级长|LN|,T等于即系统所需的预设循环保序编码映射种类,代表xt可映射的预设循环保序编码映射数目。
证明:根据条件极值与拉格朗日乘法
令
分别对Q1,Q2,...,QM求偏导得到如下:
根据公式①和公式②可以求得Q1=Q2;同理可得Q1=Q2=...=QM。
问题进一步转换为:
已知QM=T,求min(M*Q)
令F(Q,M)=M*Q+λ(QM-T),并分别对Q,M求偏导得到如下:
根据公式③和公式④可得:M*QM*InQ=Q*M*QM-1,进一步得到InQ=1,即Q=e,从而得到M=InT。
进一步地求得min(M*Q)=e*InT。
根据以上证明可知当编码种类总数T一定时,每一级级长|LN|=e,则编码位数取到最短值即e*InT。由于在实际编码中需要取整数,而e≈2.718,因此,需要对级长|LN|=2和|LN|=3两种情况进行比较判断。通过对比分析不同的级长|LN|对总体编码位数的影响。例如级长|LN|=2、3、4和5四种不同的情况,设为13,值域[l,h]分别设为[0,100]和[0,10000]。
图11A为本申请实施例提供的较小值域对应的编码位数示意图,图11B为本申请实施例提供的较大值域对应的编码位数示意图。如图11A所示,当值域为[0,100]时,总编码位数以很快的速度从0增长到20位;当级长|LN|=3时,总编码长度取得最短值。如图11B所示,当值域为[0,10000]时,总编码位数在初期增长较快,越往后期,总编码位数的增长速度相对平缓。例如,当级长|LN|=3时,编码种类已经从2000增加至10000,而总编码位数仅从27位增长至33位,这是因为编码位数和O(InT)相关。另外,当选定每一级级长|LN|=3时,非重复的编码只有011和001两种,这样可以巧妙地解决重复编码问题。如果将级长设置为不相等的数值,不仅可以增加系统的安全性,而且其所付出的系统代价相比于级长全为3的最优情况接近。
3)编码效率方面
本申请实施例提供的循环保序编码的编码效率分别与相关技术中的隐私保护范围查询(privacy-preserving range query,PaRQ)中的布隆过滤器编码、安全高效查询(secure and efficient query,SafeQ)中的前缀编码、隐私保护k近邻查询(privacypreservation for k-nn query,PPKN)中的布隆过滤器编码的编码效率进行对比。
示例性地,通过评估随着值域W的变化,单个数据所需编码位数φ的变化情况。1)本申请实施例提供的循环保序编码的编码位数φ与O(In W)相关。2)PaRQ中的布隆过滤器编码由多个“0”,“1”编码构成,三个散列函数将原始数据映射到的位置上标识“1”;为了降低假阳性,PaRQ中的布隆过滤器编码需要设置较长的编码位数,从而保证不同原始数据的标识“1”尽量少的出现重复和冲突;例如,当设置假阳性低于0.01%时,编码位数φ与相关。3)SafeQ中的前缀编码需要将原始数据映射成多个不重复的“0”,“1”前缀编码,编码位数φ与O((log(W+1))2)相关。4)PPKN中的布隆过滤器编码将值域分段设置,每个子域设置固定的元素数量,因此编码长度恒定为128位编码。
图12为隐私保护算法对应的值域与编码位数之间的示意图。如图12所示,在值域处于较小阶段时,PaRQ、SafeQ和本申请实施例提供的循环保序编码的编码位数φ都处于快速增长阶段,但是都少于安全的隐私保护top-k查询(Privacy-preserving and securetop-k query,PriSec)的128位。随着值域越来越大,PaRQ和SafeQ的编码位数φ都超过了128位,而本申请实施例提供的循环保序编码的编码位数φ由于受O(ln T)的影响,一直处于平滑缓慢增长状态。当值域达到10000时,本申请实施例提供的循环保序编码的编码位数只需要33位左右,优于其它隐私保护算法。可见,随着值域的逐渐增大,本申请实施例提供的循环保序编码的编码性能优势将愈发明显,显著降低了为执行隐私保护查询所需的系统代价。
4)网络能耗方面
众所周知,通信成本是影响传感器网络寿命的主要因素。考虑到网络设备的资源丰富,所以网络设备产生的通信成本被忽略。本申请下述实例中,主要考虑从传感器节点到存储节点的通信成本以及存储节点到网络设备的通信成本。示例性地,本申请下述实例中从网络规模、数据上传时间间隔(即传感器节点向存储节点上传数据的时间间隔)和K值分别对通信成本(可选地,本申请实施例中通过传输字节来表示通信成本)的影响进行说明。
本申请下述实施例将本申请实施例提供的循环保序编码,与也侧重于两层传感网中隐私保护查询的PPKN和SafeQ进行比较。可选地,通过在传感器网络专用的实验模拟环境上实现了上述三种方案,实验数据来自一个专门的气象监测传感网;例如,采用表面温度数据项,每个数值域是[-100,100],因此,数据域长度是200。
假设传感器网络面积为400m*400m,传感器节点统一部署在该区域,存储节点部署在传感器网络中心。同时,传感器节点的数量表示网络规模大小,传感器节点的传输半径为50m,使用128位高级加密标准(Advanced Encryption Standard,AES)作为感知数据的加密方法。示例性地,实验中使用的其它参数如表1所示。
表1、参数表
图13A为传感器节点对应的网络规模与通信成本之间的示意图,图13B为存储节点对应的网络规模与通信成本之间的示意图。图13A示出了网络规模对传感器节点通信成本的影响,如图13A所示,由于较大的网络规模意味着有更多的传感器节点,所有的传感器节点将收集更多的感知数据项并传送给存储节点,因此,传感器节点的通信成本随着网络规模的增大而增加。其中,因为本申请实施例提供的循环保序编码的编码位数小于PPKN和SafeQ的编码位数,且SafeQ中多个数据需要提交大量的前缀码,这大大增加了其通信成本,因此,与PPKN和SafeQ相比,本申请实施例提供的循环保序编码节省了更多的通信成本。图13B示出了网络规模对存储节点通信成本的影响,如图13B所示,由于K值是固定的(决定了查询结果中的数据数量),因此存储节点的通信成本增加缓慢,但是由于网络规模的变化,查询结果的分布也发生了变化,这就增加了额外的通信时间和传感器节点长度信息等。
图14A为传感器节点对应的数据上传时间间隔与通信成本之间的示意图,图14B为存储节点对应的数据上传时间间隔与通信成本之间的示意图。图14A示出了数据上传时间间隔对传感器节点通信成本的影响,如图14A所示,当网络大小为400,K值为10时,通信成本随着数据上传时间间隔的增大而增加。因为本申请实施例提供的循环保序编码的编码位数小于PPKN和SafeQ的编码位数,且SafeQ中多个数据需要提交大量的前缀码,这大大增加了其通信成本,因此,与PPKN和SafeQ相比,本申请实施例提供的循环保序编码节省了更多的通信成本。图14B示出了数据上传时间间隔对存储节点通信成本的影响,如图14B所示,随着数据上传时间间隔的增加,PPKN和SafeQ的通信成本相应增加,但本申请实施例提供的循环保序编码的通信成本反而下降。这是因为在PPKN和SafeQ中额外的数据验证信息随着数据上传时间间隔的增大而增加,但在本申请实施例提供的循环保序编码中,数据验证信息本身嵌入到加密数据中,因此,数据上传时间间隔越长,查询结果越集中在少数节点上,从而减少了通信时间和传感器节点长度信息。
图15A为传感器节点对应的K值与通信成本之间的示意图,图15B为存储节点对应的K值与通信成本之间的示意图。图15A示出了K值大小对传感器节点通信成本的影响,如图15A所示,如果数据上传时间间隔和网络规模是固定的,则K值对传感器节点的总体通信成本并没有影响。这是因为在两层传感器网络中,无论K值多大,传感器节点都必须在每个数据上传时刻上传所有感知数据,这也是分层传感器网络的固有属性。图15B示出了K值大小对存储节点通信成本的影响,如图15B所示,随着K值的增大导致存储节点的通信成本增加,这是由于满足查询请求的数据数量变得更多。但本申请实施例提供的循环保序编码中,由于采用嵌入式数据验证信息和多级循环保序编码,仍然能够保持比较低的通信成本。
图16为本申请一实施例提供的存储节点的结构示意图。如图16所示,本实施例提供的存储节点160可以包括:第一接收模块1601、第二接收模块1602、确定模块1603以及发送模块1604。
其中,第一接收模块1601,用于接收各传感器节点发送的感知消息;其中,任一所述传感器节点对应的感知消息中包括:所述传感器节点在感知周期内检测到的各感知数据分别对应的加密感知数据、所述各感知数据分别对应的循环保序编码数据和所述感知周期;
第二接收模块1602,用于接收网络设备发送的查询消息;其中,所述查询消息中包括:查询公共基点、K值和查询时间;所述查询公共基点用于指示查询数据;所述查询消息用于指示查询属于所述查询时间段内与所述查询数据相邻的K个目标感知数据;
确定模块1603,用于根据各所述传感器节点发送的各循环保序编码数据、所述查询公共基点和所述查询时间,从各所述传感器节点发送的各加密感知数据中确定出与所述查询公共基点距离最近的K个目标循环保序编码数据分别对应的目标加密感知数据;
发送模块1604,用于将K个所述目标加密感知数据发送给所述网络设备,以使所述网络设备分别对K个所述目标加密感知数据进行解密,得到所述K个目标感知数据。
在一种可能的实现方式中,所述确定模块1603具体用于:
根据所述查询时间和所述感知周期,确定出属于所述查询时间段的各加密感知数据和各循环保序编码数据;
根据属于所述查询时间段的各循环保序编码数据与所述查询公共基点之间的移位次数,确定出移位次数最少的K个目标循环保序编码数据;
从属于所述查询时间段的各加密感知数据中分别确定出所述K个目标循环保序编码数据对应的目标加密感知数据。
在一种可能的实现方式中,所述传感器节点发送的所述加密感知数据为所述传感器节点根据密钥对相应的一个感知数据加密后所得到的数据;或者,
所述传感器节点发送的所述加密感知数据为所述传感器节点根据密钥对相应的三个感知数据加密后所得到的数据;其中,所述三个感知数据为所述传感器节点对各感知数据按大小顺序排序后位置相邻的三个感知数据。
在一种可能的实现方式中,所述循环保序编码数据包括:单级循环保序编码数据或多级循环保序编码数据。
本申请实施例提供的存储节点,可以用于执行本申请上述基于传感器网络的K近邻查询方法实施例中关于存储节点的技术方案,其实现原理和技术效果类似,此处不再赘述。
图17为本申请另一实施例提供的存储节点的结构示意图。如图17所示,本实施例提供的存储节点170可以包括:处理器1701、存储器1702和收发器1703。
其中,所述存储器1701,用于存储程序指令;所述收发器1703用于和其他设备通信;所述处理器1702,用于调用并执行所述存储器1701中存储的程序指令,以使所述存储节点170用于执行本申请上述基于传感器网络的K近邻查询方法实施例中关于存储节点的技术方案,其实现原理和技术效果类似,此处不再赘述。
可以理解的是,图17仅仅示出了存储节点的简化设计。在其他的实施方式中,存储节点还可以包含任意数量的收发器、处理器、存储器和/或通信单元等,本申请实施例中对此并不作限制。
图18为本申请一实施例提供的网络设备的结构示意图。如图18所示,本实施例提供的网络设备180可以包括:第一接收模块1801、确定模块1802、第一发送模块1803、第二接收模块1804和解密模块1805。
其中,第一接收模块1801,用于接收用户发送的查询请求;其中,所述查询请求中包括:查询数据、K值和查询时间;
确定模块1802,用于根据全局映射信息确定所述查询数据对应的查询公共基点;其中,所述全局映射信息中包括不同预设数据与预设循环保序编码映射之间的对应关系;所述查询公共基点用于指示查询数据;
第一发送模块1803,用于向存储节点发送查询消息;其中,所述查询消息中包括:所述查询公共基点、所述K值和所述查询时间;所述查询消息用于指示查询属于所述查询时间段内与所述查询数据相邻的K个目标感知数据;
第二接收模块1804,用于接收所述存储节点发送的K个目标加密感知数据;
解密模块1805,用于分别对所述K个目标加密感知数据进行解密,得到所述K个目标感知数据。
在一种可能的实现方式中,所述确定模块1802具体用于:
根据所述全局映射信息确定与所述查询数据对应的目标预设循环保序编码映射;
根据所述目标预设循环保序编码映射对所述查询数据进行编码,得到所述查询数据对应的查询公共基点。
在一种可能的实现方式中,所述网络设备180还包括:
生成模块,用于对于任意传感器节点,从所述全局映射信息中随机选择部分预设数据与预设循环保序编码映射之间的对应关系,生成子映射信息;
第二发送模块,用于向所述传感器节点发送所述子映射信息;其中,不同传感器节点对应的子映射信息不同。
在一种可能的实现方式中,所述预设循环保序编码映射包括:单级预设循环保序编码映射或多级预设循环保序编码映射。
在一种可能的实现方式中,所述目标加密感知数据为对应的传感器节点根据密钥对相应的一个感知数据加密后所得到的数据;或者,
所述目标加密感知数据为对应的传感器节点根据密钥对相应的三个感知数据加密后所得到的数据;其中,所述三个感知数据为所述传感器节点对各感知数据按大小顺序排序后位置相邻的三个感知数据。
在一种可能的实现方式中,若所述目标加密感知数据为对应的传感器节点根据密钥对相应的三个感知数据加密后所得到的数据,所述网络设备180还包括:
判断模块,用于根据密钥对所述K个目标加密感知数据的解密结果,判断所述K个目标感知数据的完整性。
在一种可能的实现方式中,所述判断模块具体用于:
对于任一所述目标加密感知数据,若根据密钥无法对所述目标加密感知数据解密,则确定所述目标加密感知数据对应的目标感知数据为不完整的;
若根据密钥对所述目标加密感知数据解密得到目标感知数据,则确定所述目标加密感知数据对应的目标感知数据为完整的。
在一种可能的实现方式中,所述判断模块具体用于:
对于任一所述目标加密感知数据,判断根据密钥对所述目标加密感知数据解密得到的目标感知数据是否与其它解密结果相同;
若确定所述目标感知数据与其它解密结果相同,则确定所述目标感知数据为不完整的;
若确定所述目标感知数据与其它解密结果不相同,则确定所述目标感知数据为完整的。
在一种可能的实现方式中,所述判断模块具体用于:
对于任一所述目标加密感知数据,根据密钥对所述目标加密感知数据解密得到目标感知数据;其中,所述目标感知数据中包括:目标感知数据以及与所述目标感知数据相邻的两个感知数据;
若与所述目标感知数据相邻的两个感知数据属于所述K个目标感知数据,则判断所述K个目标加密感知数据中是否包括与所述目标加密感知数据相邻的加密感知数据;
若确定所述K个目标加密感知数据中不包括与所述目标加密感知数据相邻的加密感知数据,则确定所述K个目标感知数据为不完整的。
本申请实施例提供的网络设备,可以用于执行本申请上述基于传感器网络的K近邻查询方法实施例中关于网络设备的技术方案,其实现原理和技术效果类似,此处不再赘述。
图19为本申请另一实施例提供的网络设备的结构示意图。如图19所示,本实施例提供的网络设备190可以包括:处理器1901、存储器1902和收发器1903。
其中,所述存储器1901,用于存储程序指令;所述收发器1903用于和其他设备通信;所述处理器1902,用于调用并执行所述存储器1901中存储的程序指令,以使所述网络设备190用于执行本申请上述基于传感器网络的K近邻查询方法实施例中关于网络设备的技术方案,其实现原理和技术效果类似,此处不再赘述。
可以理解的是,图19仅仅示出了网络设备的简化设计。在其他的实施方式中,网络设备还可以包含任意数量的收发器、处理器、存储器和/或通信单元等,本申请实施例中对此并不作限制。
图20为本申请一实施例提供的传感器节点的结构示意图。如图20所示,本实施例提供的传感器节点200可以包括:加密模块2001、确定模块2002和发送模块2003。
其中,加密模块2001,用于在感知周期检测到各感知数据后,根据密钥对各所述感知数据加密,得到各所述感知数据加密分别对应的加密感知数据;
确定模块2002,用于根据子映射信息分别确定各所述感知数据分别对应的循环保序编码数据;其中,所述子映射信息中包括不同预设数据与预设循环保序编码映射之间的对应关系;
发送模块2003,用于向存储节点发送感知消息;其中,所述感知消息中包括:各所述加密感知数据、各所述循环保序编码数据和所述感知周期。
在一种可能的实现方式中,所述确定模块2002具体用于:
对于任一所述感知数据,根据所述子映射信息确定与所述感知数据对应的目标预设循环保序编码映射;
根据所述目标预设循环保序编码映射对所述感知数据进行编码,得到所述感知数据对应的循环保序编码数据。
在一种可能的实现方式中,所述加密感知数据为根据所述密钥对相应的一个感知数据加密后所得到的数据;或者,
所述加密感知数据为根据所述密钥对相应的三个感知数据加密后所得到的数据;其中,所述三个感知数据为对各感知数据按大小顺序排序后位置相邻的三个感知数据。
在一种可能的实现方式中,所述循环保序编码数据包括:单级循环保序编码数据或多级循环保序编码数据。
在一种可能的实现方式中,所述传感器节点200还包括:
接收模块,用于接收所述网络设备发送的所述子映射信息。
本申请实施例提供的传感器节点,可以用于执行本申请上述基于传感器网络的K近邻查询方法实施例中关于传感器节点的技术方案,其实现原理和技术效果类似,此处不再赘述。
图21为本申请另一实施例提供的传感器节点的结构示意图。如图21所示,本实施例提供的传感器节点210可以包括:处理器2101、存储器2102和收发器2103。
其中,所述存储器2101,用于存储程序指令;所述收发器2103用于和其他设备通信;所述处理器2102,用于调用并执行所述存储器2101中存储的程序指令,以使所述传感器节点210用于执行本申请上述基于传感器网络的K近邻查询方法实施例中关于传感器节点的技术方案,其实现原理和技术效果类似,此处不再赘述。
可以理解的是,图21仅仅示出了传感器节点的简化设计。在其他的实施方式中,传感器节点还可以包含任意数量的收发器、处理器、存储器和/或通信单元等,本申请实施例中对此并不作限制。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行本申请上述基于传感器网络的K近邻查询方法实施例中关于存储节点的技术方案,其实现原理和技术效果类似,此处不再赘述。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行本申请上述基于传感器网络的K近邻查询方法实施例中关于网络设备的技术方案,其实现原理和技术效果类似,此处不再赘述。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行本申请上述基于传感器网络的K近邻查询方法实施例中关于传感器节点的技术方案,其实现原理和技术效果类似,此处不再赘述。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (21)
1.一种基于传感器网络的K近邻查询方法,其特征在于,所述方法应用于存储节点,所述方法包括:
接收各传感器节点发送的感知消息;其中,任一所述传感器节点对应的感知消息中包括:所述传感器节点在感知周期内检测到的各感知数据分别对应的加密感知数据、所述各感知数据分别对应的循环保序编码数据和所述感知周期;
接收网络设备发送的查询消息;其中,所述查询消息中包括:查询公共基点、K值和查询时间;所述查询公共基点用于指示查询数据;所述查询消息用于指示查询属于所述查询时间段内与所述查询数据相邻的K个目标感知数据;
根据各所述传感器节点发送的各循环保序编码数据、所述查询公共基点和所述查询时间,从各所述传感器节点发送的各加密感知数据中确定出与所述查询公共基点距离最近的K个目标循环保序编码数据分别对应的目标加密感知数据;
将K个所述目标加密感知数据发送给所述网络设备,以使所述网络设备分别对K个所述目标加密感知数据进行解密,得到所述K个目标感知数据。
2.根据权利要求1所述的方法,其特征在于,所述根据各所述传感器节点发送的各循环保序编码数据、所述查询公共基点和所述查询时间,从各所述传感器节点发送的各加密感知数据中确定出与所述查询公共基点距离最近的K个目标循环保序编码数据分别对应的目标加密感知数据,包括:
根据所述查询时间和所述感知周期,确定出属于所述查询时间段的各加密感知数据和各循环保序编码数据;
根据属于所述查询时间段的各循环保序编码数据与所述查询公共基点之间的移位次数,确定出移位次数最少的K个目标循环保序编码数据;
从属于所述查询时间段的各加密感知数据中分别确定出所述K个目标循环保序编码数据对应的目标加密感知数据。
3.根据权利要求1或2所述的方法,其特征在于,所述传感器节点发送的所述加密感知数据为所述传感器节点根据密钥对相应的一个感知数据加密后所得到的数据;或者,
所述传感器节点发送的所述加密感知数据为所述传感器节点根据密钥对相应的三个感知数据加密后所得到的数据;其中,所述三个感知数据为所述传感器节点对各感知数据按大小顺序排序后位置相邻的三个感知数据。
4.根据权利要求1或2所述的方法,其特征在于,所述循环保序编码数据包括:单级循环保序编码数据或多级循环保序编码数据。
5.一种基于传感器网络的K近邻查询方法,其特征在于,所述方法应用于网络设备,所述方法包括:
接收用户发送的查询请求;其中,所述查询请求中包括:查询数据、K值和查询时间;
根据全局映射信息确定所述查询数据对应的查询公共基点,并向存储节点发送查询消息;其中,所述全局映射信息中包括不同预设数据与预设循环保序编码映射之间的对应关系;所述查询消息中包括:所述查询公共基点、所述K值和所述查询时间;所述查询公共基点用于指示查询数据;所述查询消息用于指示查询属于所述查询时间段内与所述查询数据相邻的K个目标感知数据;
接收所述存储节点发送的K个目标加密感知数据,并分别对所述K个目标加密感知数据进行解密,得到所述K个目标感知数据。
6.根据权利要求5所述的方法,其特征在于,所述根据全局映射信息确定所述查询数据对应的查询公共基点,包括:
根据所述全局映射信息确定与所述查询数据对应的目标预设循环保序编码映射;
根据所述目标预设循环保序编码映射对所述查询数据进行编码,得到所述查询数据对应的查询公共基点。
7.根据权利要求5或6所述的方法,其特征在于,所述方法还包括:
对于任意传感器节点,从所述全局映射信息中随机选择部分预设数据与预设循环保序编码映射之间的对应关系,生成子映射信息,并向所述传感器节点发送所述子映射信息;其中,不同传感器节点对应的子映射信息不同。
8.根据权利要求5或6所述的方法,其特征在于,所述预设循环保序编码映射包括:单级预设循环保序编码映射或多级预设循环保序编码映射。
9.根据权利要求5或6所述的方法,其特征在于,所述目标加密感知数据为对应的传感器节点根据密钥对相应的一个感知数据加密后所得到的数据;或者,
所述目标加密感知数据为对应的传感器节点根据密钥对相应的三个感知数据加密后所得到的数据;其中,所述三个感知数据为所述传感器节点对各感知数据按大小顺序排序后位置相邻的三个感知数据。
10.根据权利要求9所述的方法,其特征在于,若所述目标加密感知数据为对应的传感器节点根据密钥对相应的三个感知数据加密后所得到的数据,所述方法还包括:
根据密钥对所述K个目标加密感知数据的解密结果,判断所述K个目标感知数据的完整性。
11.根据权利要求10所述的方法,其特征在于,所述根据密钥对所述K个目标加密感知数据的解密结果,判断所述K个目标感知数据的完整性,包括:
对于任一所述目标加密感知数据,若根据密钥无法对所述目标加密感知数据解密,则确定所述目标加密感知数据对应的目标感知数据为不完整的;
若根据密钥对所述目标加密感知数据解密得到目标感知数据,则确定所述目标加密感知数据对应的目标感知数据为完整的。
12.根据权利要求10所述的方法,其特征在于,所述根据密钥对所述K个目标加密感知数据的解密结果,判断所述K个目标感知数据的完整性,包括:
对于任一所述目标加密感知数据,判断根据密钥对所述目标加密感知数据解密得到的目标感知数据是否与其它解密结果相同;
若确定所述目标感知数据与其它解密结果相同,则确定所述目标感知数据为不完整的;
若确定所述目标感知数据与其它解密结果不相同,则确定所述目标感知数据为完整的。
13.根据权利要求10所述的方法,其特征在于,所述根据密钥对所述K个目标加密感知数据的解密结果,判断所述K个目标感知数据的完整性,包括:
对于任一所述目标加密感知数据,根据密钥对所述目标加密感知数据解密得到目标感知数据;其中,所述目标感知数据中包括:目标感知数据以及与所述目标感知数据相邻的两个感知数据;
若与所述目标感知数据相邻的两个感知数据属于所述K个目标感知数据,则判断所述K个目标加密感知数据中是否包括与所述目标加密感知数据相邻的加密感知数据;
若确定所述K个目标加密感知数据中不包括与所述目标加密感知数据相邻的加密感知数据,则确定所述K个目标感知数据为不完整的。
14.一种基于传感器网络的K近邻查询方法,其特征在于,所述方法应用于传感器节点,所述方法包括:
在感知周期检测到各感知数据后,根据密钥对各所述感知数据加密,得到各所述感知数据加密分别对应的加密感知数据;
根据子映射信息分别确定各所述感知数据分别对应的循环保序编码数据;其中,所述子映射信息中包括不同预设数据与预设循环保序编码映射之间的对应关系;
向存储节点发送感知消息;其中,所述感知消息中包括:各所述加密感知数据、各所述循环保序编码数据和所述感知周期。
15.根据权利要求14所述的方法,其特征在于,所述根据子映射信息分别确定各所述感知数据分别对应的循环保序编码数据,包括:
对于任一所述感知数据,根据所述子映射信息确定与所述感知数据对应的目标预设循环保序编码映射;
根据所述目标预设循环保序编码映射对所述感知数据进行编码,得到所述感知数据对应的循环保序编码数据。
16.根据权利要求14或15所述的方法,其特征在于,所述加密感知数据为根据所述密钥对相应的一个感知数据加密后所得到的数据;或者,
所述加密感知数据为根据所述密钥对相应的三个感知数据加密后所得到的数据;其中,所述三个感知数据为对各感知数据按大小顺序排序后位置相邻的三个感知数据。
17.根据权利要求14或15所述的方法,其特征在于,所述循环保序编码数据包括:单级循环保序编码数据或多级循环保序编码数据。
18.根据权利要求14或15所述的方法,其特征在于,所述方法还包括:
接收所述网络设备发送的所述子映射信息。
19.一种存储节点,其特征在于,包括:第一接收模块、第二接收模块、确定模块以及发送模块;
其中,所述第一接收模块,用于接收各传感器节点发送的感知消息;其中,任一所述传感器节点对应的感知消息中包括:所述传感器节点在感知周期内检测到的各感知数据分别对应的加密感知数据、所述各感知数据分别对应的循环保序编码数据和所述感知周期;
所述第二接收模块,用于接收网络设备发送的查询消息;其中,所述查询消息中包括:查询公共基点、K值和查询时间;所述查询公共基点用于指示查询数据;所述查询消息用于指示查询属于所述查询时间段内与所述查询数据相邻的K个目标感知数据;
所述确定模块,用于根据各所述传感器节点发送的各循环保序编码数据、所述查询公共基点和所述查询时间,从各所述传感器节点发送的各加密感知数据中确定出与所述查询公共基点距离最近的K个目标循环保序编码数据分别对应的目标加密感知数据;
所述发送模块,用于将K个所述目标加密感知数据发送给所述网络设备,以使所述网络设备分别对K个所述目标加密感知数据进行解密,得到所述K个目标感知数据。
20.一种网络设备,其特征在于,包括:第一接收模块、确定模块、第一发送模块、第二接收模块和解密模块;
其中,所述第一接收模块,用于接收用户发送的查询请求;其中,所述查询请求中包括:查询数据、K值和查询时间;
所述确定模块,用于根据全局映射信息确定所述查询数据对应的查询公共基点;其中,所述全局映射信息中包括不同预设数据与预设循环保序编码映射之间的对应关系;所述查询公共基点用于指示查询数据;
所述第一发送模块,用于向存储节点发送查询消息;其中,所述查询消息中包括:所述查询公共基点、所述K值和所述查询时间;所述查询消息用于指示查询属于所述查询时间段内与所述查询数据相邻的K个目标感知数据;
所述第二接收模块,用于接收所述存储节点发送的K个目标加密感知数据;
所述解密模块,用于分别对所述K个目标加密感知数据进行解密,得到所述K个目标感知数据。
21.一种传感器节点,其特征在于,包括:加密模块、确定模块和发送模块;
其中,所述加密模块,用于在感知周期检测到各感知数据后,根据密钥对各所述感知数据加密,得到各所述感知数据加密分别对应的加密感知数据;
所述确定模块,用于根据子映射信息分别确定各所述感知数据分别对应的循环保序编码数据;其中,所述子映射信息中包括不同预设数据与预设循环保序编码映射之间的对应关系;
所述发送模块,用于向存储节点发送感知消息;其中,所述感知消息中包括:各所述加密感知数据、各所述循环保序编码数据和所述感知周期。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811214698.1A CN109617854B (zh) | 2018-10-18 | 2018-10-18 | 面向传感器网络的隐私保护k近邻查询方法、节点和网络设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811214698.1A CN109617854B (zh) | 2018-10-18 | 2018-10-18 | 面向传感器网络的隐私保护k近邻查询方法、节点和网络设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109617854A true CN109617854A (zh) | 2019-04-12 |
CN109617854B CN109617854B (zh) | 2021-07-20 |
Family
ID=66001972
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811214698.1A Active CN109617854B (zh) | 2018-10-18 | 2018-10-18 | 面向传感器网络的隐私保护k近邻查询方法、节点和网络设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109617854B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113065841A (zh) * | 2021-03-10 | 2021-07-02 | 广西东信易联科技有限公司 | 一种物联网嵌入式设备的生命周期管理方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103763702A (zh) * | 2013-12-27 | 2014-04-30 | 安徽师范大学 | 一种隐私保护的两层传感器网络范围查询系统及方法 |
CN104717644A (zh) * | 2015-02-04 | 2015-06-17 | 南京邮电大学 | 一种可验证隐私保护的两层传感器网络范围查询方法 |
US9118631B1 (en) * | 2013-08-16 | 2015-08-25 | Google Inc. | Mixing secure and insecure data and operations at server database |
-
2018
- 2018-10-18 CN CN201811214698.1A patent/CN109617854B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9118631B1 (en) * | 2013-08-16 | 2015-08-25 | Google Inc. | Mixing secure and insecure data and operations at server database |
CN103763702A (zh) * | 2013-12-27 | 2014-04-30 | 安徽师范大学 | 一种隐私保护的两层传感器网络范围查询系统及方法 |
CN104717644A (zh) * | 2015-02-04 | 2015-06-17 | 南京邮电大学 | 一种可验证隐私保护的两层传感器网络范围查询方法 |
Non-Patent Citations (1)
Title |
---|
王涛春 等: "两层传感器网络中安全高效的范围查询算法", 《中国博士学位论文全文数据库》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113065841A (zh) * | 2021-03-10 | 2021-07-02 | 广西东信易联科技有限公司 | 一种物联网嵌入式设备的生命周期管理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109617854B (zh) | 2021-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104780532B (zh) | 一个可用于无线传感网络的簇密钥管理方法 | |
Das et al. | Secure data transfer in IoT environment: Adopting both cryptography and steganography techniques | |
NL2013944B1 (en) | Public-key encryption system. | |
CN102160324B (zh) | 用于在网络中安全通信的方法、用于其的通信设备、网络及计算机程序 | |
US8909931B2 (en) | Server authentication system, server authentication method, and program for server authentication | |
NL2013520B1 (en) | Public-key encryption system. | |
Yi et al. | A digital watermarking approach to secure and precise range query processing in sensor networks | |
KR20180119201A (ko) | 인증 시스템을 위한 전자 장치 | |
Ozdemir | Concealed data aggregation in heterogeneous sensor networks using privacy homomorphism | |
CN110413652B (zh) | 一种基于边缘计算的大数据隐私化检索方法 | |
Jose et al. | Energy efficient recoverable concealed data aggregation in wireless sensor networks | |
Jerbi et al. | CoopECC: a collaborative cryptographic mechanism for the internet of things | |
Jeong et al. | Secure cloud storage service using bloom filters for the internet of things | |
CN109617854B (zh) | 面向传感器网络的隐私保护k近邻查询方法、节点和网络设备 | |
Das et al. | Securing data transfer in IoT employing an integrated approach of cryptography & steganography | |
Thayananthan et al. | Analysis of cybersecurity based on Li-Fi in green data storage environments | |
CN110933149A (zh) | 一种云存储安全去重方法和系统 | |
Bi | Aggregation encryption method of social network privacy data based on matrix decomposition algorithm | |
CN116186722A (zh) | 家电数据加密方法及装置 | |
CN109413708B (zh) | 基于双层传感器网络隐私保护的k近邻查询方法及装置 | |
Mansour et al. | Evaluation of different cryptographic algorithms on wireless sensor network nodes | |
Wang et al. | A secure reversible chaining watermark scheme with hidden group delimiter for WSNs | |
CN110996316B (zh) | 一种两层无线传感器网络中的安全数据检索方法 | |
KR100987315B1 (ko) | 센서네트워크의 n차원 격자를 이용한 키 분배 방법 및장치 | |
Li et al. | Privacy and integrity preserving skyline queries in tiered sensor networks |
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 |