群智感知环境下支持激励机制实施的匿名身份认证协议研究

2018-07-27 01:07张俊松
小型微型计算机系统 2018年7期
关键词:哈希激励机制用户

张俊松,甘 勇,贺 蕾

(郑州轻工业学院 计算机与通信工程学院,郑州 450002)

1 引 言

群智感知系统[1]利用普通用户手持智能终端中的众多传感器采集感知数据并以此生成相关应用的一种新的数据收集和应用生成范式.目前已经出现了许多基于该应用范式的应用实例[2-4].比如交通流量与路况信息监测、城市分区域噪声污染监测、拍照价签进行商品比价等等.群智感知类应用的系统架构与数据采集流程图如图1所示.该系统中包含了数量众多的数据采集者、注册与奖励分发中心(Regi-stration Center,RC)、应用服务器以及消费者.数据采集者负责收集其周边感知数据并将数据交给应用服务器.应用服务器接收来自数据采集者的数据并生成相关的应用供消费者使用.RC负责整个系统的注册认证和奖励分发工作.

图1 群智感知应用的系统架构与数据采集流程图Fig.1 Architecture and flow for crowd sensing system

尽管群智感知技术有着广阔的应用前景和诸多的优点,但是在实际的部署中仍然面临一些问题.首先,由于无线信号固有的开放特性,数据采集者所提交的感知数据很容易被截获.由于感知数据中可能包含用户位置和其他敏感信息,因此,用户不愿意将此类信息传递给不可信任实体.换句话说,用户必须先对通信实体进行验证,才会将感知数据传递给对方.另外,为了保持参与者的积极性和可持续性,实施适当的激励措施是必须的.为了实施激励机制,系统需要参与者的身份信息来进行奖励的支付.然而,如前所述,用户的身份信息是用户敏感的隐私信息,一半不愿意泄露.因此,在实施这类应用的过程中存在着一个难题:如何能够在保证用户身份信息不被泄露的情况下实施激励机制.针对上述问题,本文提出一种基于随机假名和安全哈希函数的支持激励机制实施的匿名认证协议.该协议利用随机假名的随机性切断用户真实身份与假名之间的关联.利用单向哈希函数的单向性,防止攻击者从截获的数据包中提取用户的真实信息和相关的奖励信息.使得奖励只有特定的用户才能获取并进行兑付,其他无关用户无法获取奖励.最后,通过形式化的安全分析和实验分析,验证了本文所提出的认证算法的安全性和计算性能符合群智感知环境下的各类应用的需求.

2 相关工作

目前,关于群智感知的研究主要集中在数据采集者的选择和激励机制的实施等方面.然而,由于数据采集者所采集的感知数据或多或少会涉及到身份信息以及位置信息等敏感信息.因此,基于隐私保护的认证机制亟待研究解决.目前,一些研究者通过对数据采集者身份信息进行匿名化的方法来保护用户隐私[5-7].如 Das 和 Goswami[5]提出了一种基于感知哈希(perceptual hashing)技术的且具有用户匿名性的身份认证协议.在该协议中,将人的指纹信息单向映射到某个数域上,从而实现用户的唯一性和匿名性.然而,该协议需精确地提取用户指纹信息才能正确地运算,这在现有的智能设备上实施有一定困难.Kapadia 等人[6]提出了一个名为 AnonySense 的隐私保护架构来实现匿名的感知任务分配和数据的收集方法.其主要思路是将参与者的一个精确位置信息替换为一个包含该精确位置的一个标记好的区块.由于该区块中包含有多个不同的数据采集者,这样敌手就无法从该区块中确定特定数据采集者的个人信息.Gao 等人[7]提出了一种在群智感知环境下的用户运动轨迹隐私信息的保护框架.Cristofaro 和 Soriente[8]通过对群智感知环境下的数据采集者和数据消费者的隐私需求的分析,提出了一种隐私保护框架并引入了一种有效的加解密解决方案来实现数据采集者与消费者的隐私保护.Niu等人[10]提出了一种采用 E-cent 虚拟货币的隐私保护激励机制.其利用基于质押的参与协议鼓励参与者参与而不暴露隐私,并禁止数据采集者发送虚假数据.Wang 等人[11]提出了一种基于动态选择参与者和在线信誉更新算法的支持隐私保护的激励机制实施方案.北京理工大学的刘驰等人[12]对目前群智感知领域的激励机制与隐私保护进行了总结并对未来的发展进行了展望.

3 支持激励机制实施的匿名认证算法

3.1 系统模型

本小节中,我们对群智感知系统模型进行形式化描述.系统主要包含一个数量为M个的数据采集者u={Ui|i=1,2,…,M},数量为N的应用服务器S={Sj|j=1,2,…,N}以及注册与奖励分发中心RC.本文所提方案的基本工作流程如下:当应用服务器Sj需要某个区域的感知数据以产生相关应用时,它向RC发送一个任务请求TASKs,在验证服务器合法性之后,RC向特定区域内符合条件的数据采集者发布该感知任务.当收到任务后,其将会按照任务的要求采集所需数据并将该数据连同生成的随机假名等其他认证信息一起发送给应用服务器.然后应用服务器通过RC判断该用户是否为合法用户.如果是,则应用服务器采纳该数据采集者的数据并依据其随机假名生成一个奖励凭证并将该凭证返还给数据采集者.数据采集者在收到奖励凭证后,连同其他相关信息生成最终的兑换凭证(credit token).然后数据采集者可以随时在RC处兑换自己的奖励.对于数据采集者所采集的感知数据,应用服务器会根据采集数据的成本、难度、精度等因素来确定数据的等级,并根据不同的等级给予不同额度的奖励.系统首先规定所有数据的等级集合G ={G1,G2,…,Gn}.

为方便介绍,我们将本文使用的符号统一置于表1中.

3.2 攻击者模型与基本假设

在该小节中,我们对本文所提方案的攻击者模型进行分析.由于无线信号的开放特性,这使得群智感知系统容易受到诸如截获、窃听以及修改消息等各种攻击.本文所提的协议主要目标是解决数据收集者的身份隐私保护与激励机制的实施.同时我们还需要确保群智感知系统中所传输的感知数据的机密性和完整性.因此我们需要分析上述所有目标可能面临的威胁.

表1 本文所使用的符号

Table 1 List of important notations used in this paper

符号含义Ui第i个数据采集者Sj第j个应用服务器PIDi第i个数据采集者的身份IDPWi数据采集者的口令H(·)哈希函数,其中H:Ep(a,b)=>{0,1}l,l为字符串长度h(·)安全哈希函数,其中h:{0,1}∗=>Z∗qH1(·)map⁃to⁃map哈希函数,其中H1:{0,1}∗=>Ep(a,b)ê(P,Q)双线性映射算法:G×G→GTfk(·)消息认证码算法,其中k为密钥⊕按比特异或操作

敌手为了获得数据采集者的身份信息,他可能会窃听采集者与应用服务器以及注册与奖励中心之间的交互信息.另外,敌手还有可能试图建立起不同假名与数据采集者之间的关联.比如通过截获的消息中的位置信息的对比来判断消息是否为统一用户所发送.再者,为了获得非法的利益,敌手可能会冒充合法的用户参与到应用中来为应用服务器提供虚假或者过期的感知数据来骗取报酬.

4 基于随机假名的支持激励机制实施的匿名身份认证协议

该协议总共分为六个阶段,分别为系统初始化、注册、任务分发与感知数据上传、认证与奖励生成、以及奖励兑换阶段.详细的步骤分别叙述如下.

4.1 系统初始化

在该阶段,RC需要对系统所使用到的各种参数进行初始设定.

步骤I3.RC设定感知数据的等级G ={G1,G2,…,Gn}.数据的等级主要与数据的采集难度、质量等相关.具体方案由实施者指定.

步骤I4.RC将参数{E,p,P,Ppub,h(·),H(·)}进行公开,并将私钥s以及秘密值x,y进行妥善保存以免被他人获取.

4.2 注册阶段

在群智感知系统中,任何想要参与到应用的实体(包括数据采集者和应用服务器)都需要进行注册.

4.2.1 应用服务器注册

步骤SR1.应用服务器Sj将身份标识符SIDj发送给RC.

步骤SR2.RC计算h(SIDj‖y),h(SIDj⊕y),然后生成消息{h(SIDj‖y),h(SIDj⊕y),Gx,fk(·)}并将该消息通过安全的通信信道传递给应用服务器Sj.

4.2.2 数据采集者注册

步骤UR2.当收到消息{PIDi,h(b⊕PWi)}后,RC计算Ai=h(PIDi‖x),Hi=h(Ai),Vi=Ai⊕h(PIDi‖h(b⊕PWi)),Bi=h(PIDi‖h(b⊕PWi)‖x).随后,RC将参数{Vi,Hi,Bi}通过安全途径传递给用户Ui.

步骤UR3.当收到这些参数后,用户Ui将自己的随机数b连同参数{Vi,Hi,Bi,b}妥善保存在自己的存储空间中.

4.3 任务分发与感知数据上传阶段

当服务器Sj需要某区域某类型的感知数据时,其必须向RC申请发布相应的感知任务.详细步骤如下所示.

步骤T1.应用服务器Sj生成时间戳Ts并计算:H(aj·Ppub),Qj=h(h(SIDj‖y)‖Ts)⊕H(aj·Ppub).然后,Sj将消息{TASKs,SIDj,Pj,Qj,Ts}发送给RC来申请感知任务的发布.其中,TASKs是感知任务的具体要求(数据类型,区域等).SIDj和Pj分别是应用服务器Sj的身份标识符和公钥.

步骤T3.当收到消息后,Ui首先查看自己能否提供数据.如果行,则计算Pch=H1(TASKs‖SIDj‖Ts)并判断等式ê(Sigj,P)=ê(Pch,Ppub)是否成立.如果成立,则Ui按照要求采集相关感知数据.

步骤T4.Ui的智能终端生成感知数据SDATAi和时间戳Ti,随后利用时间戳Ti和用户标识符PIDi生成一个随机值mi并计算随机假名h(mi)和值H(mi·Ppub),然后计算Pm=mi·P,Ci=Bi⊕h(SIDj‖Ti‖Ts),Wi=PIDi‖h(b⊕PWi)‖Ci,Ri=Wi⊕H(mi·Ppub),CDATAi=SDATAi⊕H(mi·Pj).随后,Ui生成消息{SIDj,h(mi),Pm,Ri,CDATAi,Ti,Ts}并将该消息通过无线信道传送给服务器Sj.同时将随机值mi进行妥善保存.

4.4 验证与奖励凭证生成阶段

步骤A1.当收到消息后,Sj检查Tc1-Ti≤ΔT是否成立.其中Tc1是Sj收到消息时间而ΔT是系统的时延上限.如果上式成立,则Sj从消息中取出变量CDATAi,h(mi)以及Pm.然后,Sj将消息{SIDj,h(mi),Pm,Ri,Ti,Ts}传递给RC.

步骤A3.当Sj收到消息后,其计算Ver*=h(h(SIDj⊕y)‖h(mi)‖Ti‖Ts)⊕H(aj·Ppub)并判断Ver*=Ver是否成立.如果成立则Sj认为h(mi)为合法数据采集者.随后,Sj计算SDATA*=CDATAi⊕H(aj·Pm)并提取出感知数据.然后Sj依据相关标准对感知数据划分等级Gi.

步骤A4.依据等级Gi以及随机假名h(mi),Sj计算该感知数据的奖励凭证Certi=fkm(Gi,h(mi),h(SIDj‖y),Ti),其中km=H(aj·Ppub).随后,Sj将{h(mi),Certi,Pj,Ti}传递给Ui.

步骤A5.当收到消息后,Ui提取出奖励凭证Certi并将其与对应的随机值mi,时间戳Ti,SIDj以及对应的公钥Pj组成一个五元组.数据采集者需要妥善保存该五元组防止其丢失或者被盗.

4.5 奖励兑付阶段

数据采集者可随时到RC处进行奖励兑付.过程如下:

步骤E1.Ui将自己所保存的五元组通过安全通信信道传递给RC.

步骤E2.RC在收到五元组后计算km=H(s·Pj)和h(mi),然后依据系统设定的数据等级分别计算Certr=fkm(Gr,h(mi),h(SIDj‖y),Ti),Gr∈{G1,G2,…,Gn}并将Certr于五元组中的Certi进行比较.如果其中的某一个与Certi相等,则RC按照相应的等级给Ui兑付报酬.

如果用户有多组五元组未兑付,其可以上述步骤逐一进行兑付.另外,RC需要设置一个数据表来保存已兑付过的五元组的信息,每次有用户来兑付时,RC先检查该五元组是否兑付过.如果已兑付过将不再兑付.

5 安全分析与性能评估

5.1 安全分析

根据前面的基本假设和攻击者模型,我们对本文协议进行安全分析.经分析我们发现本文协议能够抵御常见攻击.

推论1.本文所提协议能够成功地保护用户隐私.

因数据采集者生成的感知数据中可能含有采集时间以及地点等用户敏感信息.故用户不希望将所采集的数据泄露出去.在本文的协议中,用户Ui发送给服务器Sj的感知数据CDATAi是经过H(mi·Pj)通过异或加密过的.除了Sj,其他通信实体无法计算出哈希值H(mi·Pj)并利用该值从CDATAi中计算出原始感知数据SDATAi.因此,本协议能很好地保护感知数据的隐私.

另一方面,Ui在上传感知数据时,使用的都是随机生成的假名h(mi)和注册时生成的认证变量Ri来代替用户的真实身份信息.依据椭圆曲线的离散对数难题,除了RC,其他人都无法通过Ri计算出用户的标识符PIDi.而且用户每次上传数据时都会生成不同的随机假名.因此,本文所提协议能够很好地保护用户的身份隐私.

推论2.本协议能够断开用户上传的感知数据与身份信息之间的联系

在本协议中,每当Ui给应用服务器上传感知数据时,其必须用时间戳和自己的标识符PIDi作为种子生成随机值mi进而生成随机假名h(mi).因每次使用的时间戳肯定不一样,故用户每次生成的随机假名重复的概率可以忽略不计.且由于随机值都是利用随机函数进行生成.故这些随机值之间也没有必然的联系.因此,应用服务器无法将上传的感知数据与特定的数据上传者关联起来.

推论3.本文协议能够抵御重放攻击

在本文方案中,通过添加感知数据生成的时间戳Ti的方式来保证感知数据的新鲜性并抵抗重放攻击.

类似此,在方案的奖励凭证生成阶段,敌手也无法计算出正确的Ver或Certi来实施修改时间戳来重放消息{h(mi),Ver,Ti,Ts}或者{h(mi),Certi,Pj,Ti}.通过上述分析我们可以发现,本文所提出的协议能够抵抗重放攻击.

推论4.本文协议能够抵御伪装攻击

在本文所设计的协议中,如果敌手想伪造一个消息{TASKs′,SIDj′,Pj′,Qj′,Ts′}伪装为合法的应用服务器来收集感知数据,由于敌手不具备合法的应用服务器才具有的秘密值h(SIDj′‖y),那么其无法正确地计算出Qj′=h(h(SIDj′‖y)‖Ts)⊕H(aj·Ppub).

推论5.本文协议能防止恶意用户进行多次兑付

为了防止数据采集者使用一个奖励凭证多次重复地进行兑付,RC维护着一个数据表Ctable来保存已兑付过的奖励凭证的信息.当数据采集者发送一个五元组到RC处进行兑付时,RC会将该五元组与Ctable中的记录进行比对.如果数据库表中有记录与该五元组完全一致,则注册中心认为该五元组属于已经兑付过的奖励,将不再给用户进行奖励.如果该五元组与数据库表中所有记录都不匹配,则认为该五元组未被兑付过.

另外,不同用户在同一时间生成相同的随机值mi的概率是可以忽略不计的.因此,我们认为不同用户的不同感知任务生成相同的五元组的概率是可以忽略不计的.因此,如果数据采集者准备兑付的五元组与Ctable中的记录一致,则RC可以认为这是一个已经兑付过的凭证.

5.2 性能评估

在本节中,我们对本文所提协议进行性能方面的评估.我们对本文协议的验证性试验表明所提的方案适用于现实的群智感知类应用中.在我们的验证性试验中,智能终端采用的是配备了2.3GHz四核的ARM处理器和3 GB RAM的Android智能手机,应该服务器和RC采用Intel i7 3.4GHz的CPU和4GB RAM的台式机来模拟.在后续的试验中选择Poly1305-AES[]作为本协议的消息认证码算法,而相关的哈希函数采用SHA-256来进行构建.在本验证试验中所有的密码操作都是构建在MIRACLE[]上.为方便描述,我们定义如下的一些符号.

Th:运行一次哈希函数H(·)或者h(·)所需要的时间,

TGh:运行一次map-to-point哈希函数H1(·)所需时间,

Tpair:运行一次双线性映射所需要的时间,

Tadd:运行一次椭圆曲线上点的加法所需要的时间,

Tmec:运行一次椭圆曲线上点的标量乘法所需的时间.

表2展示了各种加密本元分别在2.3GHz四核CPU的智能手机和Intel i7 CPU的台式机上的运行时间.为简化实验,我们使用一个长度为1KB的字符串代替用户采集的感知数据.在本协议中,最耗费计算量的运算是椭圆曲线的标量乘法运算,根据本验证性试验得出计算一次长度为160 bit的点的标量乘法在台式机和智能手机上所需要的时间分别为1.71ms和11ms(重复十次实验的均值).

表2 用户端和服务器端的各种密码运算的时间开销

Table 2 Computational cost on the user side and the server side

TpairTmecThTGhTaddTen客户端15ms11ms<1ms<1ms<1ms7.2ms服务器3.51ms1.71ms<1ms<1ms<1ms1ms

为了解本协议在不同硬件环境中的表现,我们特意采用不同配置的Android智能手机对上述加密运算进行实验.图2展示了这些加密运算在不同智能手机上的表现.

通过图2我们可以看出,配置越高运算时间越短.然而即便是配置最差的智能手机依然能够运行这些加密运算.这意味着本协议能够运行在目前大多数的智能手机上.

图2 不同 Android 智能设备运算加密算法的耗时Fig.2 Computational cost on different Android smart phones

表3描述了本协议的不同阶段在客户端、服务器以及RC上运行的时间.通过表3可以看出每个阶段在不同器件上的运行时间都在几十毫秒内完成.这意味着本协议的时间开销很低,在计算性能上符合群智感知环境的要求.

表3 本协议在不同阶段的运行时间

Table 3 Execution time of our protocol in different phases

不同阶段数据采集者应用服务器RC注册阶段Th=1ms2Th+Tmul=1.72ms6Th=0.06ms任务发布与数据上传3TGh+2Tpair+3Tmul+2Th=92msTh+Tmul+TGh=2.72ms2Th+2TGh+2Tmul=5.44ms验证与奖励生成-Th+Tmac=0.51ms4Th+2TGh+2Tmul=5.46ms

6 结束语

随着智能手机的普及以及硬件设备的飞速发展,作为一种全新的无线移动应用模式,群智感知类应用在近些年也得到了快速的发展.本文讨论了在群智感知系统中保护数据采集者的隐私和对其实施激励机制之间所存在的矛盾,提出了一个基于随机假名的匿名认证协议.该协议能够验证参与者的合法性并且能够保证参与者所上传的感知数据的机密性.通过对本协议的安全分析和性能分析可以发现,本协议能够抵御群智感知环境下的常见攻击,同时在计算性能方面也符合群智感知系统的要求.

猜你喜欢
哈希激励机制用户
激励机制在企业人力资源管理中的应用
基于特征选择的局部敏感哈希位选择算法
哈希值处理 功能全面更易用
文件哈希值处理一条龙
激励机制在中小学班级管理中的应用
关注用户
关注用户
关注用户
关注用户
巧用哈希数值传递文件