基于雾计算面向停车服务的隐私保护方案*
2022-08-11寇邦艳曹素珍
寇邦艳,曹素珍,吕 佳
(西北师范大学计算机科学与工程学院,甘肃 兰州 730070)
1 引言
随着科技的发展,中国城市化道路飞速前进,汽车数量不断攀升,一二线城市“找车位难”“停车难”等问题[1]愈演愈烈,寻找空闲停车位已经成为司机面临的主要问题[2]。尽管现有的一些手机APP可以在司机和停车位拥有者之间提供车位共享功能[3],但仍存在大量的隐私泄露问题,若司机和停车位拥有者的隐私数据在没有进行任何隐私保护的情况下上传至云服务器[4],存在用户隐私数据泄露的风险。
为了解决停车服务存在的隐私泄露问题,Lu等人[5]提出了一种智能、安全且保护隐私的停车方案,利用停车场的路边单元RSU (Road Side Unit)对停车位状态进行实时检测和管理。Ni等人[6]基于布隆过滤器技术提出了一种智能停车的导航方案,具有更高的效率,但未实现支付功能。后来,Zhu等人[7]提出了一种车联网中匿名智能停车和支付的方案,使用哈希表实现司机和停车位的快速匹配,利用短随机签名和电子钱包实现匿名停车和费用支付。Huang等人[8]提出了一种停车预定隐私保护方案,通过位置混淆机制保护司机的位置隐私。Amiri等人[9]基于区块链技术提出了一种智能停车的隐私保护方案,但该方案仅考虑了公共停车场,且无法实现公平性和可追溯性。随后Zhang等人[10]提出了一种具有公平性、可靠性和隐私保护功能的区块链智能停车方案,采用组签名和布隆过滤器保护用户的隐私,利用区块链的分散性来实现智能停车的可靠性,并使用智能合约实现公平性,但该方案没有实现支付功能。
上述方案均需将停车请求上传至远程云服务器或区块链进行匹配,会导致通信延迟、计算量繁杂和成本增加等问题。鉴于现有方案的不足之处,本文提出了基于雾计算面向停车服务的隐私保护方案。本文的主要贡献有以下3个方面:
(1)司机通过雾节点[11]获得实时停车位的状态信息,采用伪身份实现用户的匿名性和可追踪性,使用可信中心TA (Trusted Authority)签名的电子钱包实现匿名支付,利用小指数测试实现批量验证。
(2)使用布隆过滤器实现基于位置的隐私保护范围查询,在不公开司机的信息和车位拥有者的车位信息的情况下完成匹配。
(3)证明了本文方案的安全性和隐私性,并从时间开销方面评估了本文方案的性能。
2 预备知识
2.1 椭圆曲线
2.2 困难问题
椭圆曲线离散对数假设[13]:任何概率的多项式时间算法都很难以不可忽略的优势解决椭圆曲线离散对数问题。
2.3 布隆过滤器
3 系统模型
本文提出的方案涉及5个参与者,分别是:TA、云服务器、FNj、司机和车位拥有者。系统模型如图1所示,本文方案使用的符号定义如表1所示。
Figure 1 System model图1 系统模型图
表1 本文方案使用的符号定义
(1)TA:FNj、云服务器、司机和车位拥有者需到TA处注册,TA为每个用户生成对应的伪身份和电子钱包,当发生纠纷追查违规用户时,TA可出示或曝光用户的真实身份并制裁该用户。
(2)云服务器:是一个由所有雾节点维护的安全、可靠的数据库,负责管理用户的电子钱包账户,存储停车记录,确保数据的可审核性。
(3)FNj:是具有计算和通信功能的雾节点,负责收集所覆盖区域的停车请求和停车响应,并进行停车匹配,匹配成功后,将停车记录存储在云服务器中。
(4)司机:向本地雾节点FNj发送停车请求,请求中包含伪身份、停车请求开始时间、停车请求结束时间和停车位置的密文。
(5)车位拥有者:向本地雾节点FNj发送停车响应,响应中包含伪身份和停车位位置的密文。
4 具体方案
4.1 系统初始化
(1)TA随机选择一个质数p,并选择一个椭圆曲线E:y2=x3+ax+bmodp,a,b∈Fp,在E上选择一个阶为q的群G,生成元为P。
(3)TA随机选择一个长度为n的过滤函数φ,公开系统参数{q,p,G,P,Pp,G,H1,n,φ}。
4.2 注册
(1)车位拥有者Si注册:
①车位拥有者将身份Si∈{S1,S2,…,Sm}和停车位收费标准psi发送给TA。
③TA将{Pidi,si,Wi,ci}返回给Si,ci是TA签名的车位拥有者电子钱包。
(2)司机Dd注册:
②TA将{Pidd,sd,Wd,cd}返回给Dd,cd是TA签名的司机电子钱包。
4.3 停车请求
(1)司机Dd提取位置标签Yd(t1,t2)=φ(Xd(t1,t2))并将其插入布隆过滤器τd中,τd=Ins(H1(Yd(t1,t2)),τd),t1和t2分别是停车请求开始时间和结束时间。
(2)Dd计算一对临时密钥rskd和rpkd,使用Dodis等人2014年提出的模糊提取器概念实现的代码偏移构造[14]将公钥rpkd∈{0,1}l嵌入到Dd的位置标签中,ud=Encode(n,l,rpkd),shd=ud-τd。
4.4 雾节点响应
4.5 停车响应
(1)车位拥有者Si接收到消息SY后,计算位置标签Yi(t1,t2)=φ(Xi(t1,t2))并将其插入布隆过滤器τi中。
(2)Si提取公钥r′pkd,ui=shd+τi,r′pkd=Decode(n,l,ui)。
(3)Si将停车场地址loci转化到覆盖它的最小网格块集g(loci)中,用r′pkd加密得H1(g(loci)‖r′pkd)。
4.6 停车匹配
4.7 停车费支付
当停车结束时,司机Dd、车位拥有者Si和雾节点FNj执行以下步骤进行停车费支付:
(3)雾节点FNj收到{Ld,PCd}和{Li,PCi}后,解密获得Kd=PCd⊕Ldwj和Yi=PCi⊕Liwj。雾节点FNj验证等式Tsd1=Tsi1,Tsd2=Tsi2,locd=loci,PSi,d=(Tsd2-Tsd1)psi=(Tsi2-Tsi1)psi是否成立。若成立,FNj对停车记录加密并签名,YKd,i=EncWC(FNj,Yi,Kd,Pidi,Pidd,PSi,d),ZPd,i,j=Sigwj(YKd,i),并将ZPd,i,j和YKd,i发送给云服务器。否则,停止停车费支付。
(4)云服务器收到ZPd,i,j和YKd,i后,计算并更新司机Dd和车位拥有者Si的电子钱包余额:cd=cd-PSi,d,ci=ci+PSi,d,存储ZPd,i,j,确保数据的可审核性。更新完成后,云服务器将账单和用户电子钱包余额通过安全通道分别返回给司机和车位拥有者。
4.8 停车终止和追踪
若司机在匹配成功之前从停车匹配过程中退出,用户发送给雾节点一个取消停车的消息,接收到消息后,雾节点会从等候停车列表中删除该司机的停车请求。若用户在匹配成功之后从停车匹配过程中退出,司机需向雾节点和匹配成功的车位拥有者发送取消停车的消息。
若用户在停车过程中出现被举报具有欺骗行为、验证失败等情况,经过调查,确认该用户具有欺骗行为后,可曝光用户的真实身份。
5 安全性分析与证明
定理1若椭圆曲线离散对数问题是困难问题,则提出的方案满足不可伪造性。
假设有敌手A能以不可忽略的优势ε打破方案的不可伪造性,本文可以构造一个算法B以不可忽略的优势ε′解决椭圆曲线离散对数问题。
Setup:设置一个椭圆曲线离散对数问题例子,给出(P,aP=Q)。B设置Pp=Q,并返回系统参数{p,q,P,Pp,G,H1,H2}给敌手A。B维护下列列表:(1)LH2:(Pidd,Wd,Pp,gd);(2)LH3:(Pidd,Wd,Rd,REd,Td,hd);(3)LDd:(Pidd,Wd,sd)。敌手A发起以下询问:
Extract询问:当敌手A执行询问Pidi时,B进行以下操作:
Sign询问:当敌手A询问用户Pidd对消息REd的签名时,B进行以下操作:
根据以上分析,B可以以不可忽略的优势ε′解决椭圆曲线离散对数问题。这与椭圆曲线离散对数问题的困难性相矛盾,因此本文所提出的方案具有不可伪造性。
□
下面进行安全性分析:
(1)身份认证和数据完整性。
本文方案中FNj对用户的停车请求和停车响应进行身份认证和数据完整性验证,以确保数据是由合法用户发送的且未被修改。基于定理1,由于椭圆曲线离散对数假设,没有多项式时间敌手能够伪造有效的停车请求和停车响应。因此,本文方案可以确保身份验证和数据完整性。
(2)匿名性。
用户加入停车系统时,TA为用户生成伪身份Pidd=Dd⊕H1(xPp,tpd),在整个停车过程中,除TA外不会存在任何第三方知道用户的真实身份。满足匿名性要求,保护了用户的身份隐私。
(3)数据机密性。
②根据BCH(Bose,Ray-Chaudhuri,Hocquenghem)解码器的性质,任何车位拥有者Si都无法判断他是否提取到了正确的rpkd,也不知道自己是否在司机Dd的位置标签内。
(4)位置认证。
若locd和loci不相同,车位拥有者Si成功提取了司机Dd的公钥rpkd,则认为Si发起了位置欺诈攻击[14]。虽然locd和loci之间的差值大于阙值T,但由于布隆过滤器的误报,可能会使式子Ham(ci,cd)≤er成立(er表示BCH编码可纠正的最大位数),导致Si在远离Dd的情况下,也能成功提取到公钥rpkd。但是,Dd可以通过增加布隆过滤器的尺寸来减少该情况的发生。
(5)可追踪性。
若用户在停车过程中出现违规行为、签名验证失败等情况,TA使用主密钥x计算Dd=Pidd⊕H1(xPp,td),出示或者曝光用户的真实身份。并且本文方案不需存储任何匿名证书,节省了存储开销。
6 效率分析
实验环境:CPU为Intel 酷睿,2.5 GHz,内存8.0 GB,操作系统为Windows 10家庭中文版。基于0.4.7的PBC库,对本文方案、文献[6,7]的方案进行仿真实验,实验模拟了10 ~100个用户在注册阶段、停车请求阶段和停车响应阶段所需的计算开销。
图2~图4分别展示了本文方案、文献[6,7]方案在注册阶段、停车请求阶段和停车响应阶段所需的计算开销。随着用户数量的增加,3个方案各个阶段所需的时间也逐渐增多。然而相比文献[6,7]的方案,本文方案采用的雾计算技术处理通信的时延较低,从而使各个阶段的计算开销最小。
Figure 2 Computational cost comparison in registration phase图2 注册阶段的计算开销对比
Figure 3 Time cost comparison in parking request phase图3 停车请求阶段时间开销对比
Figure 4 Time cost comparison in parking response phase图4 停车响应阶段时间开销对比
如图5和图6所示,相对于文献[6,7]方案而言,由于本文方案结合了雾计算技术和布隆过滤器技术的优势,因此在雾节点匹配阶段的时间开销和停车总时间开销更小,效率更高。
Figure 5 Time cost comparison in fog node matching phase 图5 雾节点匹配阶段时间开销对比
Figure 6 Comparison of the total parking time cost图6 停车总时间开销对比
7 结束语
本文提出了基于雾计算面向停车服务的隐私保护方案。该方案在保护司机和停车位拥有者身份和位置隐私的同时,司机通过雾节点实时查询周边的空闲停车位,并与停车位拥有者进行沟通,确定具体停车位置、时间和价格,方便停车位拥有者将私有停车位进行出租,解决了公共停车位供应不足的问题;停车结束后,司机使用电子钱包实现匿名支付,利用云服务器存储停车记录确保数据的可审核性。安全性分析和仿真结果表明,本文方案在满足安全性和隐私性的情况下,时间开销较低。