APP下载

面向群智感知应用的基于协作的位置认证方案

2022-10-09田有亮田茂清高鸿峰何淼熊金波

通信学报 2022年9期
关键词:共谋信誉证明

田有亮,田茂清,高鸿峰,何淼,熊金波,5

(1.贵州大学公共大数据国家重点实验室,贵州 贵阳 550025;2.贵州大学计算机科学与技术学院,贵州 贵阳 550025;3.贵州大学密码学与数据安全研究所,贵州 贵阳 550025;4.女王大学电子和计算机工程学院,安大略 金士顿 ON K7L 3N6;5.福建师范大学计算机与网络空间安全学院,福建 福州 350117)

0 引言

随着具备传感、计算和存储能力的移动智能终端的大量普及,出现了很多群智感知应用和服务[1],例如,环境检测[2]、广告发布[3]、基于位置的服务[4-5]等。群智感知应用通过招募携带嵌入传感器的智能终端用户作为数据收集者,收集与特定时间和地点相关的数据,然后将数据发送给收集者进行分析。该技术被认为是一种可以用来解决现实问题(如交通预测/管理[6])的有效方法。相对于使用固定位置传感设备收集信息的方式,群智感知应用具有部署成本低、灵活性高、移动设备数量大、覆盖范围广等优势[7]。

群智感知应用通过对多个移动智能终端收集的数据进行处理,以获得更多的有效信息。为了提高收集数据的安全性和可靠性,大多数群智感知任务请求者需要限定参与者完成任务的位置。然而,感知任务通常在不受信任的环境下由不同类型的参与者协作完成,因此保证参与者身份和位置信息的真实性在群智感知应用中占据十分重要的地位。该类应用中位置欺骗攻击会对感知结果产生严重的影响,在车辆群智感知应用中提交被车辆恶意伪造的位置信息,并上传错误位置上产生的数据,会对感知任务发布者的分析造成干扰,给经济带来严重的损失[8]。因此,验证感知任务参与者位置的真实性是很有必要的。

针对位置欺骗攻击,研究者提出了很多位置认证方案。在集中式方案中借助固定基础设施,基于请求位置验证设备的信道状态信息(CSI,channel state information)与在正确位置上相关设备返回的CSI 之间的相似性比较,从而确定请求设备位置的合法性[9]。但该方案可能会泄露用户的身份隐私,此外,在分布式场景下,借助固定基础设施验证位置真实性增加了成本开销。因此,分布式位置验证方案被提出。大多数分布式方案都是通过提供一定的奖励或资源,激励携带移动智能终端的用户成为位置证明协作者参与位置验证任务。但这些方案采用平均化激励,没有对协作者完成任务的时间与激励关联,可能会导致协作者超时完成位置证明,最终位置验证失败,但仍能获得奖励[10-11]。此外,设计具备基本安全保证的距离边界(DB,distance bounding)协议来测量位置证明请求者与多个证人之间的距离上界,并采用先签名后加密的方法保证了参与位置验证的用户隐私不被泄露[10]。但该方案还存在一些缺陷,首先,没有考虑到随着参与位置验证用户的增加,大量的加解密运算增大了计算开销。其次,只根据信誉值大小选择用户,没有考虑到信誉值低但诚实的用户无法被选择导致权益集中化的问题。权益集中化是指部分信誉值高的用户多次被选择完成位置验证的任务,信誉值低的用户不被选择,奖励集中分发给部分用户,这在一定程度上提高了共谋的可能性。最后,该方案采用的信任模型不能很好地解决用户与位置证明请求者共谋的安全问题。目前,现存方案无法彻底解决位置证明请求者和协作者共谋问题,只能降低共谋攻击成功的可能性。因此,需要一个安全且高效的位置认证方案以解决效率和安全的挑战。

本文面向群智感知应用设计了一种基于协作的位置认证方案。为验证位置的真实性,首先,本文基于文献[12]初始化阶段生成响应值的思想,设计了既可解决隐私问题又可降低计算开销的位置验证协议,并将其集成到群智感知应用位置认证方案中。其次,将信誉值的大小和所得奖励相结合,设计了基于信誉值的激励机制,一方面可以激励更多用户接受位置证明任务,另一方面可用来提高位置证明协作者完成任务的效率。此外,接受位置证明任务的协作者需要提交押金,解决了协作者完成任务超时的问题。最后,针对如何挑选位置证明协作者这一问题,本文将采用区域划分和信誉值大小相结合的方式优化位置证明协作者的选择,该方法不仅可以抵抗共谋攻击,还解决了信誉值低但诚实的位置证明协作者一直不被选择的问题。

本文主要贡献如下。

1) 提出了群智感知应用中一种基于协作的安全高效的位置认证方案。该方案在DB 协议中利用同一对随机数多次碰撞获取的新信息生成快速响应阶段的响应值,实现了位置的不可伪造。此外,位置验证过程不依赖大量的加解密操作,位置验证参与者不会泄露其身份隐私。因此,本文方案同时满足了隐私和效率要求。

2) 将信誉机制和激励机制相结合,解决了位置验证任务中协作者参与积极性和完成任务效率低的问题。同时,采用区域划分和信誉值大小相结合的方法优化位置协作者的选择,有效地抵抗了共谋攻击并解决了权益集中的问题。

3) 从理论上分析了本文方案的正确性和隐私性,并评估了计算开销和通信开销。与现有文献相比较,本文方案能在保证安全性和隐私性的前提下有效降低计算开销和通信开销。

1 相关工作

近年来,在群智感知领域中提出了很多方案用来提高收集数据的可靠性与隐私性。Xu 等[13]提出了一种隐私保护和可验证的数据聚合方案,实现对收集数据隐私保护的同时任务请求者可以验证收集结果的正确性。Zhang 等[14]研究了基于众包的合作频谱感知中的恶意数据注入攻击,利用外部探测器来验证数据的真实性。Peng 等[15]提出了基于质量的激励机制,以激励理性的参与者提交高质量的传感数据。Xiao 等[16]解决了多个未知任务接受者的招聘问题,目标是在有限的预算下最大限度地提高总传感质量。Wu 等[17]研究了在各种约束条件下能够实现质量最大化的任务分配机制并引起了人们的关注,然而,现有的任务分配机制未能很好地解决恶意用户参与的问题。

现有感知任务大多是在位置约束下执行的,为了过滤用户提交的虚假数据,提高收集到的数据质量,Talasila 等[18]提出位置的真实性是迈向数据可靠性的第一步,并实现了对恶意用户虚假位置证明的检测。Reddy 等[19]描述了一个考虑参与者位置信息、时间可用性和行为习惯的招募方案。He 等[20]通过观察参与者当前位置和预测轨迹,提出了一种高质量的参与者招募方案,最大限度地实现了车辆众包的时空覆盖。因此,验证任务接受者位置的真实性是群智感知应用中一个重要的研究方向。

2009 年,Chandran 等[21]首次提出位置密码学的概念,并在有界检索模型(BRM,bounded retrieval model)下构建了一种位置验证协议,但由于验证者能获取证明者的具体位置,存在位置隐私泄露的风险。Yang 等[22]在文献[21]的基础上提出了一个带隐私的位置验证协议,该协议采用中心化的验证方式,并使用可信机构来验证证明者位置的正确性。然而,采用固定基础设施验证位置的灵活性较差、成本较高,不适用于物联网下大多数的应用场景。另一种位置验证技术是DB 协议,该协议利用一个验证者度量证明者与其所在位置距离的上界[23]。现有大量文献基于DB 协议围绕用户位置真实性和隐私性等方面进行研究。Wang 等[24]通过借助邻近移动用户基于DB 协议为证明者生成位置证明,提出的方案可以确保位置证明的完整性和不可转让性,并设计基于熵的信任评估方法,防止用户共谋攻击。Zhu 等[25]主要通过定期更改假名的方式保护用户的隐私,但会增加计算开销和通信开销。Nosouhi 等[10]提出了一个位置证明生成与验证框架,其使用基于熵的信任模型降低了用户之间共谋攻击成功的概率,并采用先签名后加密的方法保护了用户的敏感信息,但该方案的计算开销和通信开销会随着挑选的位置证明协作者人数的增加呈线性增长。Liu 等[26]提出了一个高效的位置验证协议,但该协议致力于解决位置隐私,无法抵抗共谋攻击。Kounas 等[27]使用可信机构验证用户身份、验证者验证邻近协作者生成的位置证明,实现在验证位置真实性的同时保护用户身份隐私,抵抗了常见的攻击。但使用可信机构和验证者分离的验证方式以及密码承诺的运算增加了大量的计算开销。

在群智感知应用中引入参与者的位置信息可以帮助请求者做出招募决策,但到目前为止关于群智感知应用中参与者招募过程的位置认证和隐私保护问题的研究相对较少。因此,本文提出了一种安全高效的方法来验证感知任务参与者位置的真实性,该方法防止了参与者提交错误位置区域收集到的信息,同时很好地保护了参与者的身份隐私。

2 预备知识

2.1 DB 协议

DB 协议是实时质询-响应协议,用来确定双方距离上界。文献[12]在DB 协议初始化阶段中使用同一对随机数多次碰撞来获取新随机数的思想生成快速响应阶段响应值。该协议的具体定义如下。

定义 1元组组成DB 协议。其中P 和V 表示证明者和验证者,B表示P 与V 之间距离上界,该协议执行流程由初始化Init、快速响应RBE、验证Verify 这3 个阶段组成。

假设P 和V 共享密钥x,协议具体执行阶段如下。

阶段1

1) V 生成一个随机数NV并发送给P。

2) P 首先生成随机数NP计算(a',b')=f(x,NV,NP,IDP),IDP表示不变的参数(如身份标识),f表示伪随机函数,Z0=a',Z1=b'。其次,P 计算y=x⊕h0(a',b'),h0表示哈希函数。最后,P 将参数(NP,y)发送给V。

3) V 接收到(PN,y) 后验证y的正确性,如果不正确,则终止协议;否则,继续执行。

阶段2

1) 该阶段重复n次,V 随机生成一个比特位ci,将ci发送给P 的同时将时钟归零,测量往返时延。

阶段3

2.2 位置证明

位置证明(LP,location proof)是一组用来表示用户在特定位置的数字证书,一个LP 包括一个或多个位置证明段[28]。在本文方案中,通过收集多个位置证明段,并设定位置证明段通过的阈值来判断位置真实性。LP 定义如下。

定义2是一个证明者的位置证明段集合,验证者发布的一条数字证书LPj用于表示证明者在某一特定位置。LP 由A个验证者生成的LPj组成。

3 系统模型

3.1 整体框架

本文提出了一种安全且高效的基于协作的位置认证方案。系统模型如图1 所示,该模型主要由信任机构(TA,trust authority)、任务请求者(TR,task requester)、边缘服务器(ES,edge server)、任务参与者(TP,task participant)、位置证明协作者(LP_C,location proof collaborator)5 类实体组成,具体说明如下。

图1 系统模型

TA 是完全受信任的一方,在该系统中,负责系统初始化和用户注册,并为不同角色用户分配相关参数。

TR 是发布感知任务的一方,该任务可能带有位置约束。

TP 是接受TR 发布感知任务的参与者,同时,TP 也是位置证明请求者(LP_R,location proof requester),需要验证其位置真实性后才能具有被TR选择的机会。

ES 拥有强大的计算能力和存储能力,负责为TR 验证TP 位置信息是否真实,并将位置真实的TP 信息发送给TR。在该系统模型中也作为位置证明验证者(确保LP_R 发送的LP 的合法性)。本文方案中假设ES 可信。

LP_C 需要遵循协议规范执行LP_R 发布的位置证明任务,只有位于正确位置区域内的LP_C 成为合法协作者,生成的LP 才能被ES 所接受,是半可信的。根据实际情况,LP_C 也可能成为LP_R,本文将LP_C 与LP_R 称为位置证明参与者。LP_C在注册期间将获得一个初始信誉值,该信誉值根据其行为不断更新。假设该模型下携带移动智能终端的用户具有短程通信功能。

在本文方案中,TR 首先将带有位置约束的任务请求发送给ES,ES 需为TR 挑选积极参与感知任务的TP。由于TP 可能不诚实,收集错误位置上产生的感知数据,因此,TP 需要证明其位置的真实性后,才能被ES 挑选并返回给TR。为验证位置真实性,TP 成为LP_R 发布位置证明请求任务,并提交一定的奖励用来激励拥有移动终端的用户接受位置证明任务,被ES选择的用户将成为合法LP_C,LP_C 在接受该任务时缴纳押金并与LP_R 协作完成LP。最后,LP_R 向ES 提交LP 完成最终验证,ES 将向TR 返回位置合法的TP 信息。

3.2 攻击模型

在带位置区域限制的感知任务请求中,参与该任务的用户的目的都是为了获得奖励,恶意的用户可能会对方案产生重大的影响。攻击模型主要针对LP_R 和LP_C 的恶意行为展开分析。一个远离合法位置区域的LP_R 伪造自己的位置信息参与感知任务,并成功获得感知任务请求者的奖励。一个不诚实的LP_C 可能会与LP_R 共谋,为LP_R 生成虚假的LP 以获得奖励或资源。此外,LP_C 可能会假装参与位置证明任务骗取LP_R 支付的奖励,或完成任务超时,最终导致任务失败。

4 具体方案

本节基于本文所提出的系统模型,设计了面向群智感知应用的基于协作的位置认证方案。为了更好地描述位置证明与验证过程,将该方案分为6 个阶段,即系统初始化阶段、注册阶段、位置证明初始化阶段、位置证明协作者选择阶段、位置证明生成阶段和位置证明验证阶段。表1 列出了本文使用的系统参数。

表1 系统参数

4.1 系统初始化阶段

TA 在初始化阶段输入安全参数k,输出系统公开参数params={q,α,mpk},其中,q表示大素数,α表示有限域GF(q) 上的一个本原根,mpk 表示系统公钥。

4.2 注册阶段

用户向TA 注册,TA 为用户生成公钥证书Cert(pk,ID),并为不同的用户分配相关参数。TA为LP_Cj设置初始信誉值。ES 需生成位置证明列表其中,Loc 表示位置,ScoreLP_Cj表示LP_Cj完成位置验证最新评分,num 表示LP_Cj协助LP_R 完成位置验证的次数。

4.3 位置证明初始化阶段

在该阶段,LP_R 向ES 发送位置证明请求LP_Req,并与ES 完成密钥协商,计算位置证明生成阶段所需相关参数,流程如图2 所示。具体步骤如下。

图2 位置证明初始化流程

Step1LP_R 生成随机数NR和秘密值XR,计算通过短程通信接口发布位置证明协作任务,同时向ES 发送位置证明请求消息其中,LP_ID 表示位置证明标识,cR表示LP_R 对位置证明请求提供的奖励。

Step2LP_Cj在接收到LP_R 发布的任务后,如果接受,则向ES 发送包括押金cLP_Cj和LP_ID 的任务接受消息其中,押金用来防止LP_Cj不按规定时间完成任务,当LP_Cj未被选择或按规定完成任务后将退还全部押金。

Step3ES 对接收到LP_Req 与进行验证。首先,提取两条消息中的LP_ID 验证其是否一致,若一致,ES 从LP_Req 中提取出YR,并生成随机数Nv和秘密值Xv,计算可得会话密钥X。其次,使用LP_R的公钥加密Yv、Nv,将加密后的信息MesES→LP_R=发送给LP_R。

4.4 位置证明协作者选择阶段

若接受位置证明任务的用户数量满足预设定阈值A1,ES 将根据LP_List 挑选A个合法的LP_Cj;否则,终止协议。

ES 以LP_R 位置为圆心、dmax为半径划分多个区域。首先,根据信任模型在各个区域选择信誉值高的LP_Cj为LP_R 生成LP;然后,ES 为该任务设置时间阈值(t,T) 并发送给被挑选的LP_Cj,其中,t和T将LP_Cj完成该任务的时间分成三段。如果完成时间大于T,则拒绝支付奖励,并扣除一半押金;如果完成时间小于t,根据LP_Cj完成任务的时间和信誉值使用式(1)计算LP_Cj应获得奖励,该奖励包括LP_Cj的押金;如果完成的时间大于t且小于T,则使用式(2)计算

本文通过提供奖励的方式来激励用户参与位置证明协作任务,并基于信誉值和完成任务的时间计算奖励值,提高用户完成任务的效率。

4.5 位置证明生成阶段

在该阶段,被ES 挑选的A个合法LP_Cj与LP_R 执行安全高效的位置验证协议,流程如图3所示,具体步骤如下。

图3 位置证明生成流程

Step2LP_Cj对接收到LP_ID 进行验证,如果与位置证明初始化阶段收到的相同,则选择nbit 随机数h送给LP_R。

Step4LP_Cj接收到yj后,开始与LP_R 执行DB 协议,具体步骤如下。

1) LP_Cj向LP_R 发起质询挑战,生成一个随机比特位ci,将ci发送给LP_R 的同时开始计时Δti。

2) LP_R 接收到ci后,立即计算响应值发送ri给LP_Cj。其中,zji、aji、bji分别表示随机数zj、aj、bj的第i位。

3) LP_Cj接收到LP_R 的响应值ci后,立即停止计时,重复步骤1)~步骤3)n轮。

4.6 位置证明验证阶段

LP_R 使用ES 的公钥加密数据m={LP,X}得密文并将其发送给ES,其中,LP=LP1||LP2||LP3|| …||LPA。ES 设定K表示接受LP_R 位置证明通过预定义的阈值,并验证LP_R 位置的合法性。验证过程具体步骤如下。

Step1ES 解密验证X和A个位置证明的正确性。

Step2ES 首先判断X是否合法,若合法,则获取LPj中标识并判断其是否属于被挑选位置证明协作者集合,如果属于,再验证其签名是否正确,若正确则继续执行Step3;否则,ES 拒绝LP_Cj为LP_R 生成的LPj。

Step3ES 获取值yj,并根据位置证明初始化阶段生成的随机数Nv与NR来计算判断是否成立,如果成立,继续执行Step4;否则,ES 拒绝LP_Cj为LP_R 生成的LPj。

Step4ES 获取LPj中随机数h与c,根据式(3)计算 'ir,验证n轮质询挑战响应值ri是否正确。如果存在将拒绝LP_Cj为LP_R 生成的LPj;否则,继续执行Step5。

Step5ES 验证是否小于T,如果验证通过,合法的位置证明个数At=At+1。

重复以上步骤验证A个LPj。如果At≥K,ES验证LP_R 的位置合法,并将所有位置合法LP_R的信息发送给TR。

4.7 信誉模型

为了抵抗LP 生成过程中LP_R 和LP_C 之间发起的共谋攻击,本文基于LP_R 和LP_C 历史位置验证记录来计算其信誉值,并结合信誉值和区域划分的方法来选择LP_C,具体步骤如下。

Step1ES 设定位置证明信誉阈值Trep,根据LP_Cj为位置证明请求者LP_Rk生成LP的历史记录计算信誉值

由于LP_R 和LP_Cj都是不受信任的实体,LP_Cj很可能与LP_R 共谋为其生成一个虚假的位置证明,如果LP_Cj多次协助同一个LP_Rk生成位置证明,将会增大它们之间发生共谋的可能性。因此,本文通过检测LP_Cj与LP_Rk历史位置验证记录来计算 LP_Cj的并根据的大小选择LP_Cj,目的是使LP_Rk的位置证明协作任务不依赖于少部分LP_Cj,提高被挑选LP_Cj的多样性来降低共谋的可能性。从式(4)和式(6)可以看出,当一个LP_Cj频繁协助某个LP_Rk完成位置证明,会影响信誉模型中相关参数的大小(如Sum(LP_Cj,LP_Rk)增大降低),从而使其获得较低的信誉值,在位置证明协作者选择阶段被选中的概率下降,与LP_Rk共谋成功的可能性降低。

综上所述,本文将任务完成的时间和历史位置验证记录结合来计算LP_C 的信誉值,既能抵抗LP_R 和LP_C 之间的共谋攻击,又能防止LP_C 完成任务超时的不良行为。

Step2首先,ES 以LP_Rk所在位置为圆心,将参与位置协作的LP_Cj数量N平均划分在M个区域内,使每个区域内LP_Cj数量Ni相差不超过1;其次,计算每个区域内信誉值大于阈值Trep的LP_Cj的数量Hi,H=H1+H2+H3+…+HM(i=1,2,…,M),根据所需要LP_Cj的数量A与接受LP_R 位置证明通过阈值K来计算每个区域选择的LP_Cj的数量Aj与阈值Kj(j=1,2,…,M-1);最后,根据每个区域信誉值的大小选择LP_Cj。

区域划分的方法使LP_R 发起共谋时需保证在每个区域内不诚实的LP_Cj被ES 选择,且数量不小于所在区域阈值Ki。因此,该方法不仅可以进一步抵抗共谋攻击,还可以防止信誉值低但诚实的位置证明协作者一直不被选择,解决了权益集中的问题。具体划分的个数需由ES 根据N的大小来决定,本文仅对N<30 的情况进行分析。

5 安全性分析

为了在位置验证协议中安全通信,需要保证一些基本安全需求,如用户身份隐私、抗距离欺诈、抗伪造攻击等[29]。同时,协议还需要能抵御各种恶意攻击,如共谋攻击、伪造攻击。

1) 用户身份隐私

整个位置验证协议执行期间,参与用户的身份标识ID 都是通过ES 的公钥加密进行通信的,因此,只有ES 知道它们的真实身份,实现了用户在位置验证过程中的隐私性。

2) 抗距离欺诈

快速的质询挑战可以防止距离欺诈。在本文方案中,根据随机数Nv、NR和会话密钥X生成响应值种子a||b,由该种子生成每一轮响应参数aj与bj,随机种子a||b可以确保a j≠bj。如果一个不诚实的LP_R 挑选nbit 随机数a j=bj,则可以在接受挑战位ci之前发送响应值导致响应值ir独立于挑战值ci。因此,本文方案可以抵抗距离欺诈。

3) 抗伪造攻击

恶意的LP_R 不能与非法LP_Cj协作执行位置验证协议,伪造虚假的LP。在本文方案中,位置证明验证阶段ES 需要验证LPj是否由合法的LP_Cj生成。此外,由于每次位置验证需生成会话密钥,ES 在位置证明验证阶段需使用会话密钥去验证LPj中的yj值是否正确。因此,不诚实的LP_R 试图伪造或使用其他用户的LP 将不会成功。

4) 抗重放攻击

一个敌手伪造成一名合法的用户请求位置验证,在进行通信的过程中获取为合法LP_R 生成的LP,在与ES 交互过程中重放消息LP,以此通过位置验证。在本文方案中,即使敌手知道LP 所属用户的身份标识也无法创建位置证明验证阶段生成消息m中的会话密钥X,因为消息m使用ES 的公钥加密,敌手无法获取。因此,本文方案可以抵抗重放攻击。

5) 抗共谋攻击

在本文方案中,存在3 种共谋攻击。

首先,不诚实LP_R 与处于合法位置的LP_R'发起共谋攻击。在该攻击中,LP_R'与LP_Cj成功完成协议的前提是LP_R'必须知道LP_R的参数a、b、NR和y,这意味着LP_R'可以获取LP_R 与ES 的会话密钥X,因此,LP_R'能在一段时间内模仿LP_R。而理性的用户将不会选择接受这种风险,因此,LP_R 与LP_R'之间的共谋将不会成功。

其次,恶意的LP_Cj之间通过共谋获取诚实LP_R 位置验证协议执行过程中生成响应值的参数,伪造LP_R 的身份参与感知任务获得奖励。在本文协议中,新发起的位置证明请求将需要与ES生成新的种子a、b,因此,不诚实的LP_Cj获得的信息aj与bj在下一轮验证过程不能被使用,这种攻击将会失败。

最后,不诚实LP_R 与LP_Cj之间发生共谋生成虚假的LP,因此,在本文协议中LP_Cj的选择是ES 根据LP_Cj的信誉值与所在区域决定的,被不诚实的LP_R 挑选参与共谋的LP_Cj可能在位置证明协作者选择阶段不被ES 所选择。本文方案在文献[10]的基础上采用了区域划分方法选择LP_Cj,且本文方案LP_R 与LP_Cj之间共谋成功的可能性比文献[10]低。本文对真实环境做出如下假设。

首先,假设不诚实的LP_R 与位于合法位置区域的LP_Cj共谋,其中,Ac是LP_R 在合法位置区域内选择共谋的LP_Cj的数量,N是在合法位置范围内接受位置证明请求任务的数量(包括恶意的LP_Cj);其次,假设K是该位置证明请求通过的阈值,其中,A是ES 从接受位置证明任务N个参与者中挑选的数量,Ax是ES 挑选出A个参与者中与LP_R 共谋的数量;最后,ES 以LP_R 的位置为中心将合法区域划分为两部分,在每个区域挑选LP_Cj,假设每个区域内LP_Cj的信誉值满足信誉阈值Trep,区域 1 接受该任务的协作者数为区域 2 接受该任务的协作者数为N2=N-N1。同样,在区域1 中选择A1个协作者完成该任务,其中区域 2 选择A2=A-A1。假设在区域1 恶意的LP_Cj数量是Ac1,区域2 是Ac2,其中Ac=Ac1+Ac2,区域1 中位置证明验证通过阈值为区 域 2 为K2=K-K1,只有2 个区域验证通过的位置证明数量都满足阈值,才能通过最终验证。

如果Ac1<K1或Ac2<K2,位置区域1 或区域2共谋数量均小于阈值,共谋攻击将失败。

如果K1≤Ac1<A1,K2≤Ac2<A2,由式(9)计算可得到共谋成功的可能性。

其中,Pi(i=1,2)是区域i成功的可能性。

如果Ac1≥A1,Ac2≥A2且K1=A1,K2=A2,由式(10)计算可得共谋成功的可能性。

图4 展示了当Ac不同时,随着被选协作者数量A的变化,LP_R 与LP_Cj共谋成功的概率。从图4可以看出,本文方案共谋成功的概率低于文献[10]。因此,本文通过合理划分区域并在每个区域选择合适参数,对于抵抗LP_R 与LP_Cj之间的共谋提供了比文献[10]更可靠的解决方案。

图4 不同参数下共谋成功的概率

6) 抗远程劫持攻击

对于该类攻击,远离合法区域的敌手A0与ES执行位置证明初始化阶段。A0想要欺骗诚实的位置证明协作者C 为其生成LP,但无法通过短程通信广播位置证明标识给C。假设A0可以广播信息给C,并借助诚实的用户P0来完成挑战,然而P0无法获得A0与ES 生成的随机数种子和密钥XA0,因此无法使用正确的数据计算响应值和信息如果P0使用自身与ES初始化生成的信息执行响应,A0劫持C 为P0生成的LP 发送给ES 进行验证,在位置证明验证阶段使用A0与ES 生成的密钥XA0和种子验证yA0将会失败。因此,本文方案可以抵抗远程劫持攻击。

6 性能分析

本文方案通过借助位置证明协作者来完成位置验证协议,协议在执行过程中需要使用多次加解密运算。因此,本节将从计算开销和通信开销2 个方面将本文方案与文献[10]、文献[24]、文献[26]和文献[27]等相关方案进行分析比较。

6.1 计算开销分析

现有位置验证方案主要受位置验证过程中加解密影响,因此本文更侧重于通过减少位置证明过程中加解密的次数来提高验证位置真实性的效率。本节在配置为Intel(R) Core(TM) i5-9500U 3.00 GHz 处理器、RAM 为8 GB 的Windows 10 系统,IDEA 2021编译环境下通过对本文方案、文献[10]、文献[26]和文献[27]这4 种方案中所涉及的密码学操作进行模拟,并使用RSA 加密/签名算法、SHA1 哈希运算以及哈希承诺来评估协议时间开销。其中,哈希运算、模运算、对称加密/解密、非对称加密/解密、签名/验签以及承诺值计算是6 种消耗最大的运算,因此,本节在实验过程中将重点评估以上6 种计算操作。实验中所有结果均为50 次结果的平均值。

本文方案与文献[10]、文献[26]、文献[27]在协作者数量为1,密钥大小为512 bit、1 024 bit、2 048 bit 时产生的计算开销如图5 所示。从图5 可以看出,由于文献[26]借助一个位置证明协作者参与位置验证,验证方案的实体只涉及请求者和协作者,不需要进行多次加解密计算,因此文献[26]计算开销最小,但该方案安全性较低。本文方案在密钥大小为512 bit 时计算开销大于文献[10],这是因为本文方案在位置证明初始化阶段需要计算会话密钥,但随着密钥大小的增大,计算开销小于文献[10]和文献[27],因为文献[10]和文献[27]在位置证明生成与验证阶段执行了大量的加解密与承诺值计算。

图5 密钥大小不同时各方案计算开销比较

被选协作者数量不同时各方案计算开销比较如图6 所示。从图6(a)可以看出,当密钥大小为512 bit 时,本文方案、文献[10]与文献[27]方案的计算开销会随被选协作者数量的增加而增大,但本文方案的增长率较小,文献[10]的增长率最大。因为文献[10]在位置证明生成阶段需要对每个协作者发送的签名与消息进行加密运算,在验证阶段也需要执行对应解密和验签。而文献[27]在位置证明阶段除了需要执行加解密运算,在与协作者交互阶段还需要计算大量的承诺值,因此其消耗的时间大于本文方案。从图6(b)可以看出,当密钥大小为1 024 bit时,本文方案与文献[10]、文献[27]方案随着被选协作者数量增加时计算开销差距将越来越明显。因此,本文方案使用一对随机数多次哈希获取新信息的思想来设计位置验证协议能对降低位置验证过程中的计算开销起到明显的效果。

图6 被选协作者数量不同时各方案计算开销比较

6.2 通信开销分析

本文参考文献[30]通信开销的分析方法,仅考虑通信过程加解密值、承诺值、签名以及哈希值等传输位数较大的消息,并使用分别表示非对称加密值、承诺值、哈希值和签名值的长度。本文方案在位置证明初始化阶段需发送2 条非对称加密消息、位置证明生成阶段需发送1 条非对称加密消息、位置证明验证阶段需发送1 条非对称加密消息。由于位置证明生成阶段发送的消息数量与参与位置证明协作者的数量A相关,因此本文方案总的通信开销为,其他方案也采用相同的分析方法。表2 是本文方案与文献[10]、文献[24]、文献[27]的通信开销对比。

表2 各方案通信开销对比

本文基于一些假设值和A动态变化来比较各方案的通信开销,假设的大小为的大小为20 B,各方案通信开销比较如图7所示。从图7 可以看出,尽管文献[10]方案交换的消息数量比本文方案少,但总的通信开销随着A的增加远比本文方案高,因为该方案与A个LP_Cj交互过程中使用的非对称加密运算次数远高于本文方案。文献[27]与文献[24]方案不仅非对称加密运算次数高于文献[10]与本文方案,发送的消息中还存在大量的承诺值与哈希值。因此,本文方案相较于相关方案有更低的通信开销。

图7 各方案通信开销比较

7 结束语

本文重点关注群智感知应用中任务参与者位置真实性和隐私性的问题,设计了一种安全且高效的基于协作的位置认证方案。该方案在位置验证协议中利用同一对随机数多次碰撞获取新信息的方法,有效解决了恐怖主义欺诈,保证了位置的不可伪造,减少了位置证明参与者执行该协议时的计算开销,并基于各方完全信任的实体ES收集位置证明参与者的信息,保护了位置证明参与者的位置隐私。此外,为了提高位置证明协作者完成任务的积极性与效率,提出了基于信誉的激励机制和交付押金的策略;为了解决位置证明请求者和协作者共谋问题,提出了基于信誉值与区域划分的方法选择位置证明协作者;为了提高基于信誉模型的可靠性,将位置证明协作者历史完成任务的记录与完成任务评分有效结合。最后,仿真结果表明,本文方案相较于现有方案具有更好的安全性和效率。

猜你喜欢

共谋信誉证明
以质量求发展 以信誉赢市场
基于单片机MCU的IPMI健康管理系统设计与实现
获奖证明
判断或证明等差数列、等比数列
监督中的共谋与纵容
信誉如“金”
因地制宜惠民生 共谋福祉稳发展
江苏德盛德旺食品:信誉为翅飞五洲
证明我们的存在
共谋共同正犯否定论