论文记录-An Efficient Anonymous Authentication and Reputation Management Scheme for Mobile Crowdsensing in Vehicular Networks

车联网中的高效匿名认证与信誉管理框架

这篇是投稿到IEEE Transactions on Vehicular Technology的论文,现在要写审稿意见。

作者:三个暨南大学,一个澳门城市大学

摘要

车联网的众包系统中,匿名认证和信誉管理很重要,也面临很多问题。本文提出了一个既提高参与者相互认证效率,又实现传感车辆声誉管理的新方案。具体来说,匿名身份验证机制用于实现数据请求者、云服务器和传感车辆之间的相互认证,信誉评分更新方法将评分转化为模糊的信誉评级,以提高不可连接性(?)。传感数据使用Paillier算法保护。模拟实验中分析了隐私、计算和通信成本,表明效率优于现有方案。

Introduction

MCS(移动群智感知)越来越重要,车联网中的实时传感提升了传感结果精度;但是由于数据上传和匿名认证过程中的庞大、开放、稀疏、高度动态性的特点,车联网在面对攻击时是脆弱的;此外,多个传感器同时参与传感任务会增加计算和通信的负担。因此,如何获取高质量数据和实现高效匿名认证是亟待解决的问题。信誉评分系统可以用于构建可信车联网,但因为传感车辆的轨迹和驾驶模式可以通过接入信誉评分来推断,仅仅使用这个系统是不够的。信誉评分系统和匿名认证过程中面临的隐私问题直接影响传感车辆接入车联网的意愿和采集数据的精度。综上,本文提出了一个新方案,主要贡献如下:

  1. 通过采用定期更新和模糊化方法,实现了假名和信誉评分的不可链接性。
  2. 提出了一种有效的匿名认证方法,根据该方法,可以减少计算和通信费用,提高身份验证效率。
  3. 通过分发诚实传感车辆的高信誉分数和恶意车辆的低声誉分数,实现了高效、实时的声誉管理。
  4. 对隐私和安全性进行了理论分析,模拟实验表明本文方法的计算和通信开销以及信誉更新算法的性能优于现有方案。

Preliminaries

Bilinear pairing(双线性配对)

对称加密技术。$G_1$、$G_2$、$G_T$是三个素数$p$阶群乘法循环群,双线性配对是有这下列属性的$\hat{e}:G_1\times G_2 \rightarrow G_T$:

  1. 双线性:对于所有$g\in G_1, h\in G_2, a,b \in Z_p,\hat{e}(g^a,h^b)=\hat{e}(g,h)^{ab}$
  2. 非退化性:对于所有$g\neq1_{G_1},h\neq1_{G_2},\hat{e}(g,h)\neq 1_{G_T}$
  3. 可计算性:$\hat{e}$是可计算的

Beta distribution

Beta分布是定义在区间(0,1)的连续概率分布,两个参数分别是$\alpha$和$beta$。随机变量X服从Beta分布记作$X~Beta(\alpha,\beta)$,其概率密度函数$f(x|\alpha,\beta)$是Gamma函数的函数:

其中,

Beta分布的数学期望$E(x)=\frac{\alpha}{\alpha+\beta}$。

Paillier algorithm

是同态加密算法,内容如下:

  1. 初始化:选择两个大质数$p$和$q$,计算$n=p\cdot q$
  2. 密钥生成:计算$\delta = LCM(p-1,q-1)$,选择随机数$g_a\in Z_{n^2}^*$,计算非公开参数$\eta=(L(g_\alpha^\delta\ \ mod\ \ n^2))^{-1}mod\ \ n$,其中L是$L(x)=(x-1)/n$。公钥和私钥分别是$P_k=(n,g_a)$和$S_k=(\delta,\eta)$
  3. 加密:选择随机数$r\in Z_{n^2}^*$,对信息$m$使用公钥$P_k$加密,得到密文C:$C=g_a^m\cdot r_i^n\ \ mod\ \ n$
  4. 解密:使用密钥对密文C解密,得到信息m:$m=L(C^\delta\ \ mod\ \ n^2)\cdot \eta\ \ mod\ \ n$

Problem Statement

System architecture

  1. 可信认证(TA):完全被信任,有强大算力,具体来说,TA 负责系统参数设置、实体注册以及车辆网络中的恶意 SV 跟踪和撤销。此外,TA 还分发和更新 SV 的信誉评分和身份证明。此外,它存储其他实体的注册信息,并保存其私钥,其公钥为 SV 所知。
  2. 数据请求者:分配传感任务
  3. 云服务器:有强大的存储空间和算力,收集和处理来自SV的密文,对SV的传感数据进行评分并反馈给TA
  4. 传感车辆(SV):装备多种传感器、可互相通信的实体

匿名认证和信誉管理系统步骤如下:

  1. 实体注册:数据请求者、云服务器和SV在TA进行注册从而参与传感任务
  2. 任务分配:数据请求者在云服务器上分配传感任务,云服务器向SV广播
  3. 车辆选择:注册后,每个SV向云服务器发送认证信息,云服务器根据信誉评分和身份认证选择SV
  4. 数据收集:SV收集数据并加密发送到云服务器
  5. 数据处理:云服务器验证并聚合密文
  6. 结果提交:云服务器把聚合密文交给数据请求者
  7. 反馈报告:云服务器生成所有参与传感任务的SV的信誉反馈报告并发送给TA
  8. 更新评分和认证:TA更新SV的信誉评分和身份认证,并将其发送给相应的SV

Security model

TA完全被信任;数据请求者和云服务器诚实却对SV的隐私感到好奇;SV对其他SV的传感数据感到好奇,

信誉/假名攻击:当SV上传数据时,攻击者可能会链入信誉评分系统和假名进行攻击

中间人攻击:恶意SV会窃取认证信息欺骗云服务器并提供假数据

女巫攻击:恶意SV会建立多个实体从而传输多份假数据

替换攻击:恶意SV会用错误数据替换正确数据从而通过数据评估

Design goals

隐私目标:

  1. 认证隐私:SV的真实身份不会暴露,假名不会被恶意攻击链接
  2. 数据隐私:传感数据受保护,除数据请求者以外的其他实体无法获取

安全目标:防止前面提到的四种攻击

The Design Of Our Scheme

System initialization

  1. TA初始化:TA首先运行系统生成算法Gen(k)生成系统参数$\{p,q,P_1,P_2,G_1,G_2,G_T,\hat{e}\}$​,该算法中的k是安全参数,$G_1,G_2,G_T$​是三个$p$​阶循环群,$\hat{e}$​是双线性映射,$P_1\in G_1,P_2\in G_2$​. 接下来TA计算$G=\hat{e}(P_1,P_2)$​,定义一个非对称加密算法Ene()和一个加密哈希函数$H(0,1)^\rightarrow Z_n^$​,其中$n=p\cdot q$​,此外,TA初始化密码对$(Sk_T,Pk_T)(Sk_T\in Z_n^*,Pk_T=Sk_T\cdot P_1)$​,并计算认证参数$A=\frac{1}{Sk_T}\cdot P_2$​. 最后,TA将$(p,q,Sk_T)$​作为隐私,公开$(n,P_1,P_2,G_1,G_2,G_T,\hat{e},Pk_T,H,Enc(),A)$​
  2. 云服务器注册:TA把密码对$(Sk_C,Pk_C)(Sk_C\in Z_n^*,Pk_C=Sk_C\cdot P_1)$​分配给云服务器
  3. 数据请求者注册:当一个新的数据请求者$D_i$​​注册时,TA分配给它一个独一无二的标识$Rid_{D_i}$​​​​​和两个密码对,其中一个是非对称加密,并基于此计算身份认证$Cert_{D_i}$​​,另一个是同态加密,由Paillier算法生成
  4. 传感车辆注册:当一个新的传感车辆$V_i$​注册时,TA分配给它一个独一无二的标识$Sid_{V_i}$​。然后TA选择随机数$r_i$​并用Enc()计算假名$Pid_{V_i}$​,同时,TA把密码对$(Sk_{V_i},Pk_{V_i})(Sk_{V_i}\in Z_n^*,Pk_{V_i}=Sk_{V_i}\cdot P_2)$​,并计算身份验认证$Cert_{V_i}$​

车联网中有不同类型的车辆。我们可以根据不同的权力级别将其分为三类,分别表示为高级权力(HL)(例如执法车辆)、中级权力(如公共服务车辆)和低级权力(LL)(例如私人控制车辆)。针对这三种,TA对其初始化信誉评分$Rs_{V_i}^0$​时会有不同的值:高级是0.9,中级是0.5,低级是0.1。

精确的信誉评分会转化为信誉评级$Rl_{V_i}^0$,采用k匿名算法来避免信誉链接攻击,每个等级的SV数量至少是k个,具体的评级1

最后,TA把$\{Sk_{V_i},Pk_{V_i},Cert_{V_i},Pid_{V_i},Rl_{V_i}^0\}$通过安全信道发给$V_i$。

Sensing task assignment

数据请求者$D_i$确定传感数据类型、任务序列号$Tid$、内容$m$、位置$L_m$、到期时间$T_m$和最小信誉等级要求$Rl$。

然后$D_i$​决定任务为$\{Tid,m,L_m,T_m,Rl\}$​并定义传感数据$d$​的标准值$d_0$​和错误值阈值$\Delta d$​。

最后,$D_i$把$m$​和同态加密公钥发送给云服务器。

云服务器验证$D_i$的身份公钥,如果没通过,则身份无效;如果通过,则云服务器向SV广播$\{Tid,T_m,T_{C_2},Rl\}$。

Sensing vehicle selection

收到任务的SV们如果想做任务,就发送自己的公钥、信誉评级、身份认证等给云服务器,云服务器经过一番验证,向通过验证的SV们发送$\{C_2,C_3,C_4,H(\vartheta_i)\}$,$H(\vartheta_i)$是用来标识该SV被选中了。

Data collection and processing

收到传感任务内容的SV们对$\{C_2,C_3,C_4\}$进行解密,得到任务内容$m$,并完成任务得到传感数据$d_{V_i}$。为了实现数据隐私,每个SV对数据进行同态加密。

最后SV们把一系列参数上传云服务器。

云服务器首先检查参数中的时间参数,是否超过任务期限2;其次检查$H(\vartheta_i)$​​是否存在;然后找任务对应的$D_i$获取标准值和错误值阈值,接着$D_i$就把经过一番加密的数据发送给云服务器。

由于传感数据、标准值、错误值阈值都是同态加密,所以云服务器直接对加密后的文本进行运算验证即可。云服务器将通过验证的传感数据聚合起来一起发给对应的$D_i$。

$D_i$用私钥解密得到聚合数据。

云服务器最后要根据传感数据计算信誉评分的反馈值,在错误值阈值范围内的就反馈1,否则反馈0.

2. 这里的问题是,如果时间参数是SV自己传的,那么如何保证是真实的而不是为了避免过期的假参数。

Reputation and certificate updating

对于每个车辆$V_i$,TA根据反馈的报告更新其信誉评分和身份认证。反馈报告用连续随机变量X表示信誉评分,并用beta分布评估信誉评分。传感任务成功完成和失败分别用$F_{V_i}=1$和$F_{V_i}=0$来表示。

具体来说,TA收集$\omega$份$V_i$的反馈报告,其中$\omega_i$次成功,$\omega_j$次失败,因此TA用beta分布表示$V_i$的任务表现,分布式中的$\alpha$和$\beta$分别表示成功和失败的次数。由此可知,$V_i$的评分X服从beta分布,期望是$\frac{\alpha}{\alpha+\beta}$,具体评分$Rs_{V_i}=\frac{\alpha}{\alpha+\beta}=\frac{\omega_i}{\omega}$。

为了提升信誉评分的准确率,我们引入了遗忘因子$F_f\in [0,1]$和平衡权重$B_\omega$来减少时间和反馈错误对信誉评分的影响。

因此,最终的评分公式如下3

其中,$B_\omega=\frac{s_i}{s_i+u_i}$

3. 这里的问题是,首先这个公式中的s_i和u_i需要解释,虽然前面表格中有了,但这里也应该再说一下。其次这个公式整个都需要解释,比如\omega_{i-1}是表达什么,前一个车辆的成功次数吗?为什么这个车辆的评分会和前一个车辆发生关系?此外,上面这段话中,在车辆V_i那里,字母i表示对第i个车,而到了s_i和u_i的时候,就表示第i次反馈报告,这样的符号很容易引起混淆。

更新评分以后,TA把评分存到本地数据库并转成评级数,然后更新身份认证,更新过程也是和前面差不多的加密算法。

Sensing vehicle revocation

TA计算车辆$V_i$的失败率,如果这个车辆的评分低且失败率高,就不再更新这个车的评分,相当于不允许接入了。4

Analysis

这一部分是分析隐私和安全性问题,都是加密算法保障的,就不详细看了。

Performance evaluation

分析了计算量和通信负担,评估了遗忘因子和平衡权重对评分更新算法的影响。

实验部分的问题有以下几点:

  1. 没说实验环境和数据来源等;
  2. 实验中,参与者最多10个,这对于众包的场景不太合理;
  3. 实验展示了遗忘因子和平衡权重对评分的影响,但是没有说明原因,希望能补充解释这两个因素是如何影响评分的。

Conclusion

  1. 提出了有效的匿名认证机制
  2. 提出了新的信誉评分系统,基于beta分布
  3. 分析了隐私和安全问题,并进行了模拟实验

参考

  1. 双线性配对

审稿意见

  1. 公式4中的n需要解释
  2. 有一些符号表达并没在表1中列出,建议补充完整
  3. 加上前面文中的一些问题,总的来说大修吧+
  • Copyrights © 2020-2024 Kun Li

请我喝杯咖啡吧~

支付宝
微信