基于安全位置证明的共享单车安全计费方法与流程

文档序号:12735357阅读:295来源:国知局
基于安全位置证明的共享单车安全计费方法与流程

本发明涉及一种共享单车计费方法,尤其涉及一种基于安全位置证明的共享单车安全计费方法。



背景技术:

移动互联网的快速发展,催生了大量线上到线下(Online To Offline,O2O)共享经济业务。这些共享经济业务当中,有一类O2O业务近期得到了快速发展,这便是共享单车。自2015年5月共享单车业务首次出现在北大校园里以来,已经诞生出了包括摩拜、优拜、OFO、小鸣、小蓝、骑呗等在内的多家共享单车应用。这些共享单车应用的诞生,方便了广大用户的日常生活,极大的推动了人们日常出行最后1公里问题的解决,并在实际应用中得到了极大的普及。今天,走在各大中心城市的高校校园里面,几乎随处可见骑着共享单车的师生。在一些一线城市的繁华区域,也几乎随处骑着共享单车,低碳环保出行的普通市民。而作为打车业务的另一种形式的翻版,共享单车业务也受到了投资圈的热捧,获得了大量的风险投资,以OFO为例,它在2016年10月获得了小米、滴滴等给予的1.3亿美元最新投资。总而言之,共享单车业务在未来必将得到较大的发展。

然而,快速发展的共享单车业务,却不得不面临难以合理计费、寻找正常商业盈利模式的问题。目前几个共享单车业务,都是通过用户的共享单车APP,确定用车的开始和结束时刻得出用户用车时间,然后简单地根据用车时间来开展阶梯性收费方案。如摩拜、OFO、小鸣是每半小时收费1元,不足半小时按照半小时收费。考虑到许多用户,特别是校园师生往往仅仅骑行不足一公里,时间多在5-10分钟,这种简单的根据用车时长来阶段性计费的方式,毫无疑问地与实际情况不相符。因此需要加以改进。

最公平的方式莫过于根据使用里程来计算使用费用,但它面临着如何正确计算行驶里程的挑战。最直接的便是根据行驶过程中的GPS轨迹数据,来推算出行驶里程。但这种方式面临着几个现实问题。一方面,是GPS数据的不断采集,并通过数据网络上传功能十分耗能,用户主观上是否愿意为共享单车业务消耗宝贵的电池资源还不确定,更不幸的是这种根据GPS轨迹得到的轨迹数据也不可信。其原因在于,GPS轨迹数据要么通过用户共享单车APP采集获得,要么通过车载GPS装置获取。这两种方法下,GPS数据很容易被用户伪造和篡改。因此,共享单车行驶里程计算方案的一个核心难点在于如何在尽可能小的影响用户体验方式下,获取用户真实的GPS位置轨迹数据。另一方面,采用用户的GPS数据获取用户位置信息,必然会涉及到用户的位置隐私,在用户越来越关注个人信息安全的当下,位置隐私信息得不到严格保护的应用,必然不会得到用户的青睐。



技术实现要素:

针对现有技术中存在的不足,本发明提供了一种简便高效的基于安全位置证明的共享单车安全计费方法。

为解决上述问题,本发明采用如下的技术方案:

基于安全位置证明的共享单车安全计费方法,包括步骤:

(1)请求者P在开始用车和结束用车时向签发者W收集位置证明,所述的请求者P和签发者W均为持有带GPS功能的智能终端的共享单车用户,签发者W为与请求者P距离小于距离阈值的共享单车用户,签发者W和请求者P所持带GPS功能的智能终端通过短距离无线通信技术进行通信,距离阈值设为所采用的短距离无线通信技术的通信距离;

本步骤具体为:

1.1请求者P在开始用车和结束用车时,广播位置证明生成请求PReq,PReq包括请求者P在当前时刻s的身份假名标志、当前时刻s和请求者P的当前位置L;

1.2收到PReq并决定接受PReq的签发者W向请求者P回复Ack响应;

1.3假设收到n个签发者的Ack响应,将各签发者记为Wi,i=1,2,...n;请求者P采用(n,n)门限秘密共享机制将自己的私钥拆分成n份子秘密Si,请求者P自己的私钥在注册时从安全第三方CA处获得;同时,请求者P使用D-H协议同所有回复Ack响应的签发者Wi分别协商临时的会话密钥Ki,并向各签发者Wi分别发送包含用会话密钥Ki加密的子秘密的响应PRes;所述的会话密钥Ki为请求者P的真实身份标志的哈希值;

1.4各签发者Wi收到加密的子秘密后,将签发者Wi在当前时刻s的身份假名标识、加密的子秘密以及当前时刻s和当前位置L的哈希值嵌入位置证明,生成位置证明明文LPi;随后,签发者Wi使用自己的私钥为位置证明明文LPi生成签名;同时,使用安全第三方CA的公钥将位置证明明文LPi和签名加密,生成授权的位置证明EPi,并将EPi发送给请求者P;签发者Wi的私钥和安全第三方CA的公钥均在注册时从安全第三方CA处获得;

1.5请求者P将收到的n个签发者Wi授权的位置证明以及当前时刻s、当前位置L的原始信息组合,生成最终的位置证明LPP:LPP=EP1|EP2|,....|EPn|L|s,其中,EPi表示签发者Wi授权的位置证明,|表示字符串接;

1.6请求者P将自己在时刻s的身份假名标志嵌入LPP,生成位置证明声明信息LPC,所述的验证者V为提供共享单车业务的运营商;

(2)请求者P将开始用车和结束用车时生成的LPC通过移动网络发送给验证者V,验证者V和安全第三方V对LPC中包含的各签发者Wi授权的位置证明分别进行验证;所述的验证包括位置证明真实性的验证和请求者P是否作弊的验证;

所述的位置证明真实性的验证,具体包括:

2.1验证者V采用当前时刻s、当前位置L的哈希值替换掉LPC中当前时刻s和当前位置L的原始信息,生成验证请求VReq,并将VReq发送给安全第三方CA;

2.2安全第三方CA对验证请求VReq进行解密,具体为:

①验证签发者Wi签名所用私钥与的公钥是否保持一致;若一致,则通过验证;签发者Wi的私钥与IDWi的公钥均是注册时从安全第三方CA处获得;

②CA解密出VReq中所有信息,获得VReq中H(L|s)和各EPi中的H(L|s),判断所有的H(L|s)值是否相同,若相同,则通过验证;

若①和②均通过验证,则通过真实性验证;否则,未通过真实性验证,抛弃本次LPC;

所述的请求者P是否作弊的验证,具体包括:

安全第三方CA采用(n,n)门限秘密共享机制从各签发者Wi授权的位置证明中恢复出各签发者Wi的子秘密,判断恢复出的子秘密和请求者P的私钥是否保持一致,若保持一致,则判定用户未作弊,CA给V反馈验证通过;否则,判定用户作弊,CA给V反馈验证未通过;抛弃本次LPC;

若位置证明真实性和请求者P是否作弊的验证均通过,则执行步骤(3);

(3)验证者V根据请求者P开始用车和结束用车时的LPC,以请求者P开始用车时的位置为起点,以请求者P结束用车时的位置为终点,计算起点和终点间的曼哈顿距离,即请求者P的行驶里程,根据行驶里程计算本次行程费用。

进一步的,位置证明生成请求PReq的组成表示为其中,是请求者P在时刻s时的身份假名标识;|表示字符串接。

进一步的,响应PRes的组成表示为PRes=EKi(Si),其中,EKi(Si)表示采用会话密钥Ki对子秘密Si进行对称加密;是请求者P的真实身份标志,H()为密码学单向hash函数。

进一步的,位置证明明文LPi的组成表示为其中,为签发者Wi在时刻s的身份假名标识,|表示字符串接,EKi(Si)表示采用会话密钥Ki对子秘密Si进行对称加密;H(L|s)表示L和s的哈希值。

进一步的,授权的位置证明EPi的组成表示为其中,|表示字符串接,为CA的公钥,表示用公钥加密;为签发者Wi的私钥,表示用私钥加密;H()表示密码学单向哈希函数。

进一步的,验证请求VReq的组成记为其中,H()表示密码学单向哈希函数。

和现有技术相比,本发明具有如下特点和有益效果:

O2O业务的快速发展催生了共享单车业务的迅速普及,然而现有共享单车面临着难以合理计费的挑战。本发明根据单车使用规律,提出基于安全位置证明的共享单车安全计费方案,该方法在能够高效简捷计算出单车行驶里程基础上,抵御单车计费系统中的安全攻击,经验证,本发明方法具有合理性、正确性和高效性。

附图说明

图1为本发明所涉及系统模型的架构图;

图2为曼哈顿距离示意图;

图3为实施例中曼哈顿理论距离和实际轨迹路径距离的对比曲线;

图4为实施例中通信开销对比图;

图5为实施例中计算开销对比图。

具体实施方式

下面将先给出本发明所涉及模型、安全目标和所要解决问题的描述。

一、系统模型

本发明构建的共享单车计费系统模型的架构见图1,用户有用车需要时,首先从周围环境中其它用户处获得用车时的位置证明,然后将此位置证明告知给共享单车运营商,共享单车运营商验证位置证明的真实性以确认用户的使用轨迹。更具体地,系统中有四类实体,依次分别为:(1)用户,当想生成位置证明时,用户称作位置证明(Location Proof,LP)请求者(Prover),记为请求者P;当为他人生成位置证明时,用户称作位置证明签发者(Witness),记为签发者W;(2)共享单车运行商,也称作位置证明验证者(Verifier,V),记为验证者V;以及(3)安全第三方(Certificate Authority,CA)。为了简便起见,后文将这四类实体分别简称为P、W、V和CA。这四类实体中,P和W以P2P方式生成位置证明LP,然后请求者P将生成的LP发送给验证者V,V同CA一道,对LP的真实性进行验证。

以下分别对这四类实体进行介绍:

请求者P:P是一个持有带GPS功能智能手机的共享单车用户。他期望从附近用户那里获得他在某一时间地点的位置证明LP;

签发者W:W是一个持有带GPS功能智能手机的共享单车用户。他能为其它附近请求者P生成并授权位置证明LP。W在为P生成位置证明之前,需要探测与P之间距离,只有当P确实在它附近时,才会生成并授权一个位置证明LP;

验证者V:V是提供共享单车业务的运营商,他进行用户位置证明真实性验证;

安全第三方CA:CA是一个半诚实的机构,专注于为外界提供用户密钥相关材料分发及其验证功能,如公私密钥对分发及验证,同时亦会协助V进行部分位置证明LP验证工作。

上述4类实体使用不同的通信技术进行通信。P和W之间通信采用的是WIFI,由于WIFI传输范围有限,P和W的发送和接受信号的距离都为R,R即通信距离,P只能向通信范围内的W发出位置证明请求,同样W也只能为通信范围内的P生成位置证明。P和W同V之间使用4G移动网络进行连接,V和CA之间具有任何时间的互联网连接。

二、安全目标

本发明的目标是防止单车用户生成假的位置,造成行驶里程无法计算的局面,所以我们的安全目标是确保P的位置证明LP的真实性(Truthful)和P、W的位置隐私(Location Privacy)。

真实性即要求P、W之间诚实地生成位置证明LP,即P和W在位置证明LP所述时刻确在LP所述地点,并且LP确实是由P请求,并由W生成并授权,P既不能将之前时刻在此地点的LP拿来冲抵,也不能将其它用户的LP据为己有。这样才能获得P的真实出发位置和目的位置以计算出真实距离。

而用户出行时,为了自身安全,用户希望自己的行踪是保密的。因此需要确保用户位置隐私是安全的。关于用户位置隐私,不同实体的位置隐私有不同内涵。P和W之间,由于P、W都互在对方附近,彼此的位置都为对方知晓,因此此时如果再知晓了对方的身份信息,那么与身份关联的位置信息就会泄露用户隐私。尽管严格意义上来讲,身份隐私与这里说的位置隐私有差别,但为了统一起见,仍然将P-W之间隐私归结到位置隐私上。P、W同V之间,V知道P、W生成位置证明LP的位置和身份标识,因此不能让V再知道P、W的精确位置,也即是只能让V知道它所需提供服务精度的位置。在P、W同CA之间,CA知道P、W身份信息,因此,不能让CA再知道P、W的位置。

三、信任和攻击模型

本发明基础是使共享单车运营商使用用户的真实位置来计算行驶里程,因此首要问题便是防止用户生成假的位置。对于系统中的4类实体,请求者P分为不诚实和诚实两类。不诚实的P试图在它不在某一位置时,生成它在这个位置的位置证明。通过伪造、篡改现有位置证明,或者通过各种手段欺骗(包括与他人合谋)一个诚实签发者W生成位置证明,或者直接同一个不诚实W合谋生成假的位置证明。还企图在生成位置证明过程中,获取诚实的签发者W的身份信息;而诚实的P不会故意生成假的位置证明,但他亦试图从与签发者W的交互信息中,获取W的身份信息,威胁W位置隐私。签发者W同样有不诚实和诚实两类。不诚实的签发者W会在事后不承认它生成授权的位置证明。而诚实的签发者W获取请求者P的身份信息,威胁P的位置隐私。攻击者企图从用户输入中推断出尽可能多的用户信息。由于请求者P需要向V提供身份和位置信息来获取后续服务,用户P应当只提供给能够获取服务的最小粒度位置信息来保护位置隐私。CA被假定为一个语义安全的中立机构。他给用户提供密钥和信任管理,本发明中CA还为用户提供假名管理。CA在位置证明验证阶段协同V进行部分位置证明验证工作,但以安全系统最少实体的基本准则,CA被认为不应该获取用户的位置信息。

除上述基本信任和攻击模型外,系统实体之间还有余下信任和攻击假设:

1)在使用共享之前,系统会要求所有用户以真实身份注册账号,之后获得账号与密码。不诚实用户之间组成了一个串谋社区,彼此知道其它人的身份和位置,以为他人生成假的位置证明;

2)即使以上述方式合谋,用户之间仍被假定不能共享他们的私密密钥即用户账号的密码,因为密码是账号安全保存的关键,用户即使合谋,也想生成假的位置证明,但由于账号内存在余额以及系统分发的优惠券等一系列个人利益,因此用户不会让自己账号的密码被串谋社区内人获取;

3)诚实用户不会同不诚实用户进行合谋;

4)用户使用安全信道同V和CA之间通信,V和CA之间亦是。

四、问题描述

在上述系统模型、安全与信任模型、安全目标下,本发明所要解决的问题即为(1)如何为共享单车用户生成真实的位置信息,并(2)使用此位置计算出用户的行驶里程。

解决上述2个问题有着诸多技术上的挑战。首先,相对于伪造、篡改等易于被传统密码学方法发现的不真实位置证明,用户之间合谋生成位置证明很难被检测阻止。具体地,在上述系统模型和假设下,用户之间可以以合法方式合谋生成假的位置证明LP。展开来讲,用户之间合谋方式可大致分为P-P和P-W合谋2类,其它合谋都是它们的特殊表现形式。

P-P合谋,即一个不诚实的P同另一个在它所请求位置的不诚实用户P使用远距离通信技术等信道进行合谋,欺骗一个在它所请求位置的W,让W相信P就在它附近,并错误地为P生成并授权一个位置证明LP。

P-W合谋,即一个不诚实的P向它所期望证明的位置处的一个不诚实的W发出位置请求,(同样,不诚实的P与W之间可以使用远距离通信技术进行合谋),W为这个不在它附近的P生成并授权一个位置证明LP。更一般情况下,不诚实P可以同任意位置的W发送位置请求,即不论W是否在它的附近,W无条件地为这个P生成并授权P所请求的任意位置的位置证明LP。

因此,对于第(1)个问题,本发明的目标为:

1)如何以高效的方法抵御上述共享单车用户的P-P合谋和P-W合谋攻击;

2)如何在实现抵御上述两种合谋攻击基础上,保护用户位置隐私。

其次,由于安全位置证明生成需要耗费一定时间,因此,要求共享单车用户持续生成包含位置信息的位置证明从实践层面不可行,因此对于第(2)个问题,本发明的目标为:如何合理利用有限的位置信息,尽可能精确地计算出用户的行驶里程。

下面将对本发明设计思路、所涉及的理论知识及技术方案进行详细说明。

五、设计思想

首先,对于里程计算问题,观察到3个现象,(1)城市道路尤其是共享单车应用的高校校园大多呈现曼哈顿特性,即道路呈规则矩形网格状;(2)共享单车的存取位置具有高度的集中性,即共享单车存和取的位置都会保持相对集中;(3)共享单车的使用具有非常规律的时效性,上下班时间或上下课时间。对于第一个曼哈顿道路条件,我们知道曼哈顿道路只需要知晓起点和终点,即可算出最短道路里程;而第二个单车存取集中性条件,则对用户生成位置证明有着促进作用,原因很显然,单车越集中,用户越容易找到其它见证者来生成位置证明。而第三个时效性特点更加有利于找到见证者来协作生成位置证明。因此,对于共享单车的行驶里程计算,可以使用用车开始和结束时的2个位置证明来计算。

确立了行驶里程的计算之后,问题的关键就来到了如何生成真实的位置证明上。由于共享单车用户的私钥都是自己根本利益的保证,因此即使是不诚实的共享单车用户,也不会将自己私钥共享出去,我们反其道利用共享单车用户的这一行为特点,阻止他们合谋生成假位置证明。具体地:设为请求者P生成位置证明的签发者W有n人,要求请求者P将自己的私钥,以(n,n)门限秘密共享机制拆分成n份子秘密,然后通过安全信道给每个签发者W发送一份子秘密;签发者W将子秘密嵌入位置证明,并进行加密并签名授权,最后发送给请求者P;P将所有收到的授权位置证明发送给验证者V,V验证时间地点信息后,将所有子秘密剥离,若这些剥离出的子秘密能够恢复出请求者P的私钥,则证明P是诚实用户。这当中隐含的原理为:由于P不在欲证明位置,如果P只同串谋社区内用户合作,生成位置证明,那么,它的所有子秘密都会泄露给串谋社区内的不诚实用户,这些不诚实用户同样可以串谋起来恢复出P的私钥,以其窃取P存有的利益;如果P只同部分串谋社区内用户合作来生成假的位置证明,因此用户之间采用WIFI短距离通信,对于不在P周围请求位置点的诚实用户,P不能直接将子秘密发送给这些诚实用户,必须通过某个在所请求区域的合谋用户进行中继,但这样做,P所有的子秘密还是全部泄露给了合谋社区。因此,P只能全部同诚实节点进行位置证明生成。

六、理论知识

1、曼哈顿距离

曼哈顿距离来源于纽约市中心曼哈顿区的典型的道路特点。曼哈顿中心区建筑区块规划为规则的方型,见图2中所示的白色方块,因而串接这些建筑区块的道路构成了整齐规则的网格,如图2中灰色网格所示。在这种情况下,任意两点之间最短路径不唯一且相等。正式地:曼哈顿距离又称L1-距离,即欧几里得空间两点所形成线段产生的投影距离总和,图2中线段1、线段2、线段3表示两点之间的曼哈顿距离,线段4表示欧几里得距离,可以看出,线段1、线段2、线段3的长度相等。

2、(t,n)门限秘密共享

(t,n)门限秘密共享最早由Shamir[1]等人提出,它将一个主秘密S拆分成n个子秘密,然后将这n个子秘密分发给一组n个用户。当且仅当t个以上用户将自己分享的子秘密拿来恢复密码操作,主秘密才能够被恢复出来。t即门限秘密共享机制的阈值,当t=n时,称之为(n,n)门限秘密共享机制,也即当且仅当所有的用户都参与的情况下,主秘密S才可以被恢复出来。(t,n)门限秘密共享的一种经典实现方式如下:

七、具体实施方案

本发明所采用的技术方案包括2大阶段:(1)用户开始和结束用车时的位置证明生成阶段;(2)用户结算里程时同验证者V进行位置证明验证阶段。

下面将对两个阶段的具体实施过程展开叙述。

1、位置证明LP生成阶段

(1)假定请求者P想在时刻s位置L生成位置证明,P向周围用户W广播一个位置证明生成请求,等待周围用户回应,位置证明生成请求记为PReq,其组成表示为:

式(1)中,是请求者P在时刻s的身份假名标识;|表示字符串接。

(2)当某一签发者收到位置证明生成请求PReq并决定接受后,向P回复Ack响应。

(3)假设收到n个签发者W的Ack响应,将各签发者记为Wi,i=1,2,...n;请求者P将自己的私钥使用(n,n)门限秘密共享机制拆分成n份子秘密Si,请求者P自己的私钥在注册时从安全第三方CA处获得;同时,请求者P使用D-H协议同所有回复Ack响应的签发者Wi协商临时的会话密钥Ki,Wi表示n个签发者中第i个签发者;请求者P向Wi发送包含用会话密钥Ki加密的子秘密Si的响应PRes,其组成记为PRes=EKi(Si),EKi(Si)表示采用会话密钥Ki对子秘密Si进行对称加密,可采用AES算法;是请求者P的真实身份标志,H()为密码学单向hash函数,即会话密钥Ki为请求者P的真实身份标志的哈希值。同时,为了保证私钥安全性,请求者P在不同的时刻地点,使用不同的子秘密集合。

(4)签发者Wi收到加密的子秘密Si后,为P生成位置证明明文LPi,其组成记为:

其中,为签发者Wi在时刻s的身份假名标识。

位置证明明文LPi中不嵌入时刻s和位置L的原始信息,而是嵌入时刻s和位置L的哈希值,原因在于位置证明明文LPi要发给CA,而CA可以解密并获取签发者Wi的所有信息。假如嵌入时刻s和位置L的原始信息,CA就可以获取这些信息,也就破坏了所有相关用户的位置隐私。

随后,签发者Wi使用自己的私钥为LPi生成签名,并使用CA的公钥将LPi和签名加密,生成授权的位置证明EPi,其组成记为:

式(3)中,为CA的公钥,表示用公钥加密;为签发者Wi的私钥,表示用私钥加密;H()表示密码学单向哈希函数。签发者Wi的私钥和安全第三方CA的公钥均在注册时从安全第三方CA处获得。

签发者Wi将此授权的位置证明EPi发送给P。

(5)假定请求者P最终成功从n个签发者Wi处收到了授权的位置证明EPi,并生成最终的位置证明LPP,其组成记为:

LPP=EP1|EP2|,....|EPn|L|s (4)

式(4)中,EPi表示签发者Wi授权的位置证明。

1.2位置证明验证阶段

(1)当请求者P想向验证者V证明自己在时刻s在位置L时,它将自己在时刻s的身份假名标志嵌入LPP中,生成位置证明声明信息LPC,其组成记为:

将位置证明声明信息LPC发送给验证者V。

(2)验证者V收到LPC后,剔除掉LPC中的位置和时间信息,生成验证请求VReq,并发送给CA,寻求CA的帮助进行下一步的验证。

VReq的组成记为:

(3)当CA收到VReq后,CA解密出VReq中所有信息,包括所有的子秘密Si和H(L|s)。CA负责两项工作,一是位置证明真实性的验证,二是尝试从VReq中恢复出P的私钥来检验用户之间是否进行了合谋。

CA通过如下步骤验证位置证明的真实性:

①验证签发者Wi签名所用私钥与的公钥是否保持一致;签发者Wi的私钥与的公钥均是注册时从安全第三方CA处获得,安全第三方CA分发签发者Wi的私钥与的公钥时,使得签发者Wi的私钥与的公钥具有唯一对应关系,签发者Wi的私钥与的公钥保持一致即指私钥与公钥对应。

②CA解密出VReq中所有信息,获得VReq中H(L|s)和各EPi中的H(L|s),判断所有的H(L|s)值是否相同。这是为了验证签发者Wi授权的时间地点和请求者P声明的时间地点是否一致。

如果所有n个EPi都通过了上述验证都,CA使用从EPi中解密出的所有子秘密Si,查看能否恢复出P的私钥。恢复过程如下:

n个签发者Wi,对应的n个子秘密分别记为Si。基于(n,n)门限秘密共享机制恢复出子秘密Si。如果恢复出的子秘密同P的私钥保持一致,则表明P没有同其它用户合谋生成假的位置证明,CA给验证者V反馈验证通过;否则,CA给验证者V反馈验证未通过。

如果开始和结束时刻的位置证明都没有问题,V则计算开始和结束时刻的位置间的曼哈顿距离,即用户P的行驶里程。

本发明中,首先,P在某一位置时刻的位置证明需要W进行签名,这就使P既不能凭空捏造一个位置证明,也不能篡改W生成的位置证明,而W不能够在事后对此证据抵赖。其次,请求者P将分享的子秘密Si使用了P和Wi的临时密钥进行加密,如果没有一个诚实用户参与,那么其它非诚实用户共享子秘密就为n份,满足(n,n)秘密恢复条件,也就能合谋恢复出P的私钥,这就阻止了为P生成位置证明的用户都是合谋用户的情况,也就阻止了P仅仅使用P-W合谋就能获得位置证明。最后,只要有一个诚实用户,P就必须在此诚实用户附近,也就是在请求位置附近,而不能通过一个合谋用户欺骗诚实的W。原因在于由于P不能与诚实用户直接进行通信(通信范围限制),他仍然需要通过合谋用户将子秘密分发给诚实用户,但这样,这个原打算发给诚实用户的子秘密就会被合谋用户知晓,他的秘密密钥也就会被合谋用户知晓。这就保证了P不能与合谋用户开展P-P合谋攻击。总之,P必须都同诚实用户进行位置证明的生成,也就阻止了用户之间进行合谋生成假位置证明。

但是在极端情况下,当同诚实用户P交互的都是合谋社区用户时,诚实用户的子秘密都将分发给合谋社区用户,诚实用户P的私密密钥就会被合谋社区用户获取。注意到这一过程中,诚实用户子秘密泄露的根源在于子秘密是使用临时会话密钥进行加密,交互另一方不可避免会知道这一子秘密。因此需要对子秘密另行加密,但如何既能够保证诚实P的子秘密不被交互另一方知晓,又要保证不诚实的P的子秘密被交互另一方知晓。针对该挑战,本发明使用一种“仿身份加密机制”来解决,它本质是采取了特殊密钥材料的对称加密机制。具体地,根据参与各方的信任模型特性,我们有一个很自然的用户信息推断,即:合谋用户必然知道合谋社区用户的真实身份ID,否则,合谋用户不可能知道他同谁在合谋;而诚实用户不知道其它所有用户的身份ID,它人也不知晓他的身份ID。基于这一推断,我们考虑,如果使用用户真实身份ID作为种子生成密钥,再用生成的密钥对用户P的子秘密进行加密。那么,对于合谋的用户P来讲,由于他的身份ID在合谋社区是公开的,因而使用身份作为种子生成的密钥对子秘密进行加密后,子秘密对合谋社区仍然是公开的;而对于诚实用户P,由于他的身份不为他人所知,因而在对子秘密进行加密后,子秘密相对其它用户就是不可解的,这样就在保护了子秘密的机密性同时阻止了不诚实用户P同合谋社区用户进行合谋的问题。因此,使用身份ID进行加密的仿身份加密机制就解决了私钥泄露问题带来的挑战。

八、实施例

下面将结合实施例进一步说明本发明的有益效果。

本实施例中,智能终端采用3台红米note3全网通高配版智能手机,它有着1.8G Hz Qualcomm Snapdragon 650CPU、3GB运存、32GB ROM、GPS、蓝牙Bluetooth 4.1,安卓6.0。使用1024-bit DSA签名算法,和2048-bit RSA算法作为公开加密算法。SHA1作为密码学单向哈希函数,128-bit AES算法作为对称密钥,使用基于java代数库的512-bit有限循环群来实现D-H协议。设备之间的距离都设置为5m。

在武汉理工大学马房山校区随机选择20对起点和终点,首先,按照曼哈顿距离计算出这20对起点和终点之间的距离。然后,对每一对起点和终点,分别选择先南朝北后东朝西方向,和先东朝西后南朝北方向选择两条路径,在此过程中使用智能终端记录行驶轨迹。最后,测算出行驶的距离。每一条路径都来回各自测试了一遍,最终得到的对比曲线如图3所示。从该图中可以看出,虽然曼哈顿理论距离和实际路径距离有一定误差,但总体较吻合,这也就一定程度上说明了本发明采用起点和终点计算共享单车用户行驶里程的合理性。

图4和图5表示分别为同样实验参数情况下,STAMP方案[2]和本发明方案在PC端与手机端的计算开销,从图中可以看出,无论是通信还是计算开销,本发明都较STAMP方案有了明显改善。

文中涉及如下参考文献:

[1]Shamir A.How to share a secret[J].Communicatings of the ACM,1979,22(11):612–613.

[2]Wang X O,Zhu J,Pande A,Raghuramu A,Mohapatra P,Abdelzaher T F,and Ganti R K.Stamp:Ad hoc spatial-temporal provenance assurance for mobile users[C]//Proceedings of the 21st IEEE International Conference on Network Protocols:Oct 7-10,2013,Germany,2013,1–10.

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1