一种隐私保护的联盟打车方法及系统技术方案

技术编号:20365441 阅读:25 留言:0更新日期:2019-02-16 17:41
一种隐私保护的联盟打车方法及系统,属于匿名认证、隐私保护以及区块链技术领域。包括多个打车云服务提供商共享用户的数据组件联盟打车平台,乘客向路边节点发送联盟打车请求,路边节点验证乘客的身份和数据,在自己的覆盖区域内广播该请求,收到广播的司机向路节点发送联盟打车响应;路边节点验证司机的身份和数据,将匹配的司机信息发送给对应的乘客;乘客与司机联系后向路边节点发送确认信息,开始联盟打车,乘客向司机匿名支付车费;路边节点维护联盟区块链。所述打车方法及系统为乘客及时提供打车服务,为云服务提供商提供商业利益,保护用户隐私和云服务提供商商业机密,在现有协议基础上降低计算开销和通信开销。

【技术实现步骤摘要】
一种隐私保护的联盟打车方法及系统
本专利技术涉及一种隐私保护的联盟打车方法及系统,属于匿名认证、隐私保护和区块链

技术介绍
使用实名方式提交打车服务,虽然能够保证实用性,但是会暴露以乘客与司机为主的用户的隐私。因此,近年出现了多个隐私保护的打车方法。隐私保护的打车方法一般包括四个参与方:乘客(Rider)、司机(Driver)、云服务提供商(ServiceProvider)和证书颁布中心(CertificateAuthority);其中,乘客希望获取打车服务,司机提供打车服务,云服务提供商是提供打车服务的平台,证书颁布中心是用户注册机构。隐私保护的打车方法具体实施过程包括五大主要步骤:(1)乘客和司机向证书颁布中心注册,获取匿名证书;(2)乘客向云服务提供商提交匿名证书并验证自己的合法身份,提交打车请求;(3)云服务提供商广播乘客的打车请求,响应该打车请求的司机向云服务提供商提交匿名证书并验证自己的合法身份;(4)云服务提供商对乘客和司机进行匹配,并将该匹配结果返回给乘客和司机;(5)司机驾车载乘客向乘客的目的地出发,联盟打车过程结束后,乘客向司机支付车费。现有的隐私保护的打车方法研究主要集中于解决在打车服务过程中用户隐私泄露给云服务提供商的问题,但是有些方法使用明文信息对乘客和司机进行匹配,或者云服务提供商能够在不依赖第三方的情况下揭露用户的真实身份,这都直接暴露了用户的隐私,也有些方法未能在乘客和司机之间建立对称会话密钥,或者无法抵挡用户的提前兑现攻击。我们观察到,在现有的打车方法往往是独立工作,他们必然会遇到信息孤岛问题。例如,滴滴的乘客在附近没有滴滴司机时,则无法获取打车服务。此时,如果所有打车云服务提供商之间形成联盟、共享用户数据、形成联盟打车,好处是显而易见的:乘客及时获取打车服务,司机接到更多打车订单而获利,云服务提供商获得更多商业利润并根据用户的联盟打车体验反馈提升自己的服务水平,联盟打车也能提高道路流通性、减缓交通拥堵和降低汽车尾气排放量。但是,在此场景下,不仅用户有隐私需要保护,包括身份、上车位置、打车条件和目的地,云服务提供商也有自己的商业机密需要保护,例如当滴滴的司机一直在某个区域内街道Uber的乘客时,那么滴滴就会知道Uber在此区域内的司机数量不够,便可召集更多的司机来此区域进而占领市场;另外,打车的收费标准以及云服务提供商从一次打车中获取佣金的标准都是公开的,如果云服务提供商的身份不被保护,那么他们每次从联盟打车获取的佣金也会被计算出,从而暴露了自己在联盟打车中获得的利润,这都就暴露了他们的商业机密。所以,我们有必要基于该场景下的用户需求,探索隐私保护的联盟打车方法及系统。
技术实现思路
本专利技术的目的在于为用户提供联盟打车服务,为云服务提供商增加商业利益,保证隐私保护的联盟打车方法中的以乘客与司机为主的用户的隐私和云服务提供商的商业机密不被泄露,验证用户发送的当前位置的正确性,阻止云服务提供商和路边节点的合谋攻击,实现乘客与司机之间的匿名支付,在现有技术基础上降低计算开销和通信开销,提出了一种隐私保护的联盟打车方法及系统。本专利技术的核心思想是:路边节点单元即雾结点单元本地处理乘客的打车请求与司机的打车响应,乘客模块与司机模块的匹配结果和联盟打车记录给区块链,把加密的打车数据给云服务提供商单元,在联盟打车过程结束后,乘客向司机匿名支付车费,具体为:首先,乘客模块向证书颁布中心单元与云服务提供商单元注册,登录与云服务提供商单元建立连接,向本地路边节点单元发送匿名证书、加密的联盟打车请求、押金和签名,路边节点单元收到该匿名证书、加密的联盟打车请求和签名后匿名验证乘客的身份以及签名的合法性,上述身份及签名验证通过后,路边节点单元向本区域内广播联盟打车请求;其次,响应该广播联盟打车请求的司机模块将匿名证书、加密的联盟打车响应和签名发送给路边节点单元,路边节点单元利用预先配置好的智能合约为乘客模块寻找匹配的司机模块,若找到匹配的司机模块,路边节点单元生成联盟打车记录,将该匹配信息发送给乘客模块和司机模块,将乘客模块的匿名证书与加密的联盟打车请求和司机模块的加密的联盟打车响应发送给云服务提供商单元,将押金和联盟打车记录上传到联盟区块链,联盟区块链是一个内部共享的账本,由所有云服务提供商模块和所有路边节点模块共同存储和维护;乘客模块与司机模块建立临时会话密钥,协商上车地点和目的地,开始联盟打车过程直至完成联盟打车过程,乘客模块向司机模块基于匿名支付方法支付车费,从联盟区块链匿名取回剩余押金,路边节点单元将匿名支付信息与匿名押金取回信息上传到联盟区块链,司机模块从所属云服务提供商单元取回车费,支付佣金;最后,若有恶意行为的乘客模块或司机模块出现,所有云服务提供商联合后在不依赖可信方的情况下恢复出该乘客模块或司机模块的真实身份。一种隐私保护的联盟打车方法及系统包括一种隐私保护的联盟打车方法及一种隐私保护的联盟打车系统;一种隐私保护的联盟打车系统以一种隐私保护的联盟打车方法为核心技术协议;本专利技术是通过以下技术方法现的:所述打车系统包括证书颁布中心模块、云服务提供商模块、路边节点模块、乘客模块和司机模块;证书颁布中心模块包括证书颁布中心参数设定单元和证书颁布中心注册处理单元;云服务提供商模块包括云服务提供商参数设定单元、云服务提供商注册处理单元、登录处理单元、联盟链维护单元、数据库维护单元、费用管理单元、用户身份恢复单元和登出处理单元;乘客模块包括;乘客注册单元、乘客登录单元、请求单元、支付单元和乘客登出单元;路边节点模块包括路边节点注册单元、路边节点登录单元、验证单元、路边节点响应单元、匹配单元、路边节点联盟链维护单元和路边节点登出单元;司机模块包括司机注册单元、司机登录单元、司机响应单元、收费单元和司机登出单元。所述打车系统中各单元的连接关系如下:证书颁布中心模块参数设定单元连接云服务提供商参数设定单元,证书颁布中心注册处理单元连接乘客注册单元、路边节点注册单元和司机注册单元;云服务提供商注册参数设定单元连接证书颁布中心参数设定单元,云服务提供商注册处理单元连接乘客注册单元、路边节点注册单元和司机注册单元,登录处理单元连接乘客登录单元、路边节点登录单元和司机登录单元,云服务提供商联盟区块链为主单元连接路边节点联盟区块链维护单元,数据库维护单元连接匹配单元和路边节点联盟区块链维护单元,费用管理单元连接收费单元,登出处理单元连接乘客登出单元、路边节点登出单元和司机登出单元;乘客注册单元连接证书颁布中心注册处理单元、云服务提供商注册处理单元和乘客登录单元,乘客登录单元连接登录处理单元、请求单元和支付单元,请求单元连接验证单元、匹配单元和支付单元,支付单元连接路边节点联盟区块链维护单元和乘客登出单元,乘客登出单元连接登出处理单元;路边节点注册单元连接云服务提供商注册处理单元和路边节点登录单元,路边节点登录单元连接登录处理单元和验证单元,验证单元连接路边节点响应单元,路边节点响应单元连接匹配单元,匹配单元连接请求单元、司机响应单元和路边节点联盟区块链维护单元,路边节点联盟区块链维护单元连接提供商联盟区块链维护单元和路边节点登出单元;司机注册单元连接证书颁布中心注册处理单元、云服务提供商注本文档来自技高网
...

【技术保护点】
1.一种隐私保护的联盟打车系统,其特征在于:包括证书颁布中心模块、云服务提供商模块、路边节点模块、乘客模块和司机模块;证书颁布中心模块包括证书颁布中心参数设定单元和证书颁布中心注册处理单元;云服务提供商模块包括云服务提供商参数设定单元、云服务提供商注册处理单元、登录处理单元、联盟链维护单元、数据库维护单元、费用管理单元、用户身份恢复单元和登出处理单元;乘客模块包括;乘客注册单元、乘客登录单元、请求单元、支付单元和乘客登出单元;路边节点模块包括路边节点注册单元、路边节点登录单元、验证单元、路边节点响应单元、匹配单元、路边节点联盟链维护单元和路边节点登出单元;司机模块包括司机注册单元、司机登录单元、司机响应单元、收费单元和司机登出单元;所述打车系统中各单元的连接关系如下:证书颁布中心模块参数设定单元连接云服务提供商参数设定单元,证书颁布中心注册处理单元连接乘客注册单元、路边节点注册单元和司机注册单元;云服务提供商注册参数设定单元连接证书颁布中心参数设定单元,云服务提供商注册处理单元连接乘客注册单元、路边节点注册单元和司机注册单元,登录处理单元连接乘客登录单元、路边节点登录单元和司机登录单元,云服务提供商联盟区块链为主单元连接路边节点联盟区块链维护单元,数据库维护单元连接匹配单元和路边节点联盟区块链维护单元,费用管理单元连接收费单元,登出处理单元连接乘客登出单元、路边节点登出单元和司机登出单元;乘客注册单元连接证书颁布中心注册处理单元、云服务提供商注册处理单元和乘客登录单元,乘客登录单元连接登录处理单元、请求单元和支付单元,请求单元连接验证单元、匹配单元和支付单元,支付单元连接路边节点联盟区块链维护单元和乘客登出单元,乘客登出单元连接登出处理单元;路边节点注册单元连接云服务提供商注册处理单元和路边节点登录单元,路边节点登录单元连接登录处理单元和验证单元,验证单元连接路边节点响应单元,路边节点响应单元连接匹配单元,匹配单元连接请求单元、司机响应单元和路边节点联盟区块链维护单元,路边节点联盟区块链维护单元连接提供商联盟区块链维护单元和路边节点登出单元;司机注册单元连接证书颁布中心注册处理单元、云服务提供商注册处理单元和司机登录单元,司机登录单元连接登录处理单元、司机响应单元和收费单元,司机响应单元连接验证单元和收费单元,收费单元连接路边节点联盟区块链维护单元、费用管理单元和司机登出单元,司机登出单元连接登出处理单元;所述打车系统中各模块的功能如下:证书颁布中心模块中各单元的功能如下:证书颁布中心参数设定单元的功能是生成所有云服务提供商公用的群公钥与群私钥,将群私钥的秘密分享分发给所有云服务提供商模块,选择联盟打车系统使用的签名及公钥加密算法RSA对称加密算法AES,以及生成所有云服务提供商的公钥与私钥;证书颁布中心册处理单元的功能是为用户注册并生成密钥和匿名密钥,并用其他云服务提供商的公钥对用户的身份和密钥进行加密,以及为该密钥和密文进行签名;云服务提供商模块中各单元的功能如下:云服务提供商参数设定单元的功能是联合其他所有云服务提供商参数设定单元一起划分联盟打车区域,为所有子区域进行编号,将所有区域按照二叉树的结构进行管理,根节点的编号为1,编号从上至下、从左至右地增加,选择环境信号过滤函数、Bloom过滤器、哈希函数族、消息认证码和三个伪随机函数,构造匿名支付方法和智能合约;其中,所述匿名支付方法不同于原匿名支付方法Zerocash,乘客模块在进行拆分交易时,和司机模块共同选择随机数以用于完成拆分交易;云服务提供商注册处理单元的功能是联合所有云服务提供商注册处理单元根据用户发送的匿名密钥、密文和签名,验证签名的合法性;登录处理单元:为合法的用户模块和路边节点模块在提交登录请求后分发登录令牌,与该用户模块和路边节点模块建立连接;云服务提供商联盟链维护单元:设置区块链的初始阶段和第一阶段,验证和存储路边节点模块发来的货币和交易;数据库维护单元:所有云服务提供商存储用户的匿名密钥、密文和签名,并且存储区块链中的货币、交易和用户加密后的联盟打车数据,许可路边节点模块进行区块链的维护;车费管理单元:当有司机模块向车费管理模块兑现车费时,车费管理模块验证该车费的有效性,若有效,则收取佣金,返回给司机剩余车费,否则拒绝该司机模块兑现车费;用户身份恢复单元:当有目标用户模块出现时,所有云服务提供商联合恢复出群私钥,根据该用户的联盟打车信息恢复出该用户的匿名密钥,该用户的所属云服务提供商找到对应的身份和密钥的密文,由其他云服务提供商解密,恢复出该用户的身份和密钥,最终解密得到该用户之前的联盟打车数据,其中,目标用户模块是指有恶意行为的目标用户模块;登出处理单元:为合法用户模块和路边节点模块提交登出请求后删除该用户模块和路边节点模块的登录令牌,删除连接;...

【技术特征摘要】
1.一种隐私保护的联盟打车系统,其特征在于:包括证书颁布中心模块、云服务提供商模块、路边节点模块、乘客模块和司机模块;证书颁布中心模块包括证书颁布中心参数设定单元和证书颁布中心注册处理单元;云服务提供商模块包括云服务提供商参数设定单元、云服务提供商注册处理单元、登录处理单元、联盟链维护单元、数据库维护单元、费用管理单元、用户身份恢复单元和登出处理单元;乘客模块包括;乘客注册单元、乘客登录单元、请求单元、支付单元和乘客登出单元;路边节点模块包括路边节点注册单元、路边节点登录单元、验证单元、路边节点响应单元、匹配单元、路边节点联盟链维护单元和路边节点登出单元;司机模块包括司机注册单元、司机登录单元、司机响应单元、收费单元和司机登出单元;所述打车系统中各单元的连接关系如下:证书颁布中心模块参数设定单元连接云服务提供商参数设定单元,证书颁布中心注册处理单元连接乘客注册单元、路边节点注册单元和司机注册单元;云服务提供商注册参数设定单元连接证书颁布中心参数设定单元,云服务提供商注册处理单元连接乘客注册单元、路边节点注册单元和司机注册单元,登录处理单元连接乘客登录单元、路边节点登录单元和司机登录单元,云服务提供商联盟区块链为主单元连接路边节点联盟区块链维护单元,数据库维护单元连接匹配单元和路边节点联盟区块链维护单元,费用管理单元连接收费单元,登出处理单元连接乘客登出单元、路边节点登出单元和司机登出单元;乘客注册单元连接证书颁布中心注册处理单元、云服务提供商注册处理单元和乘客登录单元,乘客登录单元连接登录处理单元、请求单元和支付单元,请求单元连接验证单元、匹配单元和支付单元,支付单元连接路边节点联盟区块链维护单元和乘客登出单元,乘客登出单元连接登出处理单元;路边节点注册单元连接云服务提供商注册处理单元和路边节点登录单元,路边节点登录单元连接登录处理单元和验证单元,验证单元连接路边节点响应单元,路边节点响应单元连接匹配单元,匹配单元连接请求单元、司机响应单元和路边节点联盟区块链维护单元,路边节点联盟区块链维护单元连接提供商联盟区块链维护单元和路边节点登出单元;司机注册单元连接证书颁布中心注册处理单元、云服务提供商注册处理单元和司机登录单元,司机登录单元连接登录处理单元、司机响应单元和收费单元,司机响应单元连接验证单元和收费单元,收费单元连接路边节点联盟区块链维护单元、费用管理单元和司机登出单元,司机登出单元连接登出处理单元;所述打车系统中各模块的功能如下:证书颁布中心模块中各单元的功能如下:证书颁布中心参数设定单元的功能是生成所有云服务提供商公用的群公钥与群私钥,将群私钥的秘密分享分发给所有云服务提供商模块,选择联盟打车系统使用的签名及公钥加密算法RSA对称加密算法AES,以及生成所有云服务提供商的公钥与私钥;证书颁布中心册处理单元的功能是为用户注册并生成密钥和匿名密钥,并用其他云服务提供商的公钥对用户的身份和密钥进行加密,以及为该密钥和密文进行签名;云服务提供商模块中各单元的功能如下:云服务提供商参数设定单元的功能是联合其他所有云服务提供商参数设定单元一起划分联盟打车区域,为所有子区域进行编号,将所有区域按照二叉树的结构进行管理,根节点的编号为1,编号从上至下、从左至右地增加,选择环境信号过滤函数、Bloom过滤器、哈希函数族、消息认证码和三个伪随机函数,构造匿名支付方法和智能合约;其中,所述匿名支付方法不同于原匿名支付方法Zerocash,乘客模块在进行拆分交易时,和司机模块共同选择随机数以用于完成拆分交易;云服务提供商注册处理单元的功能是联合所有云服务提供商注册处理单元根据用户发送的匿名密钥、密文和签名,验证签名的合法性;登录处理单元:为合法的用户模块和路边节点模块在提交登录请求后分发登录令牌,与该用户模块和路边节点模块建立连接;云服务提供商联盟链维护单元:设置区块链的初始阶段和第一阶段,验证和存储路边节点模块发来的货币和交易;数据库维护单元:所有云服务提供商存储用户的匿名密钥、密文和签名,并且存储区块链中的货币、交易和用户加密后的联盟打车数据,许可路边节点模块进行区块链的维护;车费管理单元:当有司机模块向车费管理模块兑现车费时,车费管理模块验证该车费的有效性,若有效,则收取佣金,返回给司机剩余车费,否则拒绝该司机模块兑现车费;用户身份恢复单元:当有目标用户模块出现时,所有云服务提供商联合恢复出群私钥,根据该用户的联盟打车信息恢复出该用户的匿名密钥,该用户的所属云服务提供商找到对应的身份和密钥的密文,由其他云服务提供商解密,恢复出该用户的身份和密钥,最终解密得到该用户之前的联盟打车数据,其中,目标用户模块是指有恶意行为的目标用户模块;登出处理单元:为合法用户模块和路边节点模块提交登出请求后删除该用户模块和路边节点模块的登录令牌,删除连接;乘客模块:乘客注册单元的功能是向证书颁布中心注册,获得密钥、匿名密钥、身份和密钥的密文,以及证书颁布中心对密文的签名,乘客生成多个临时公私钥、密钥族、哈希函数族和多个公/私有地址,乘客向所属云服务提供商注册并留存匿名密钥、密文和签名,从所属云服务提供商实名购买虚拟货币;乘客登录单元的功能是所属云服务提供商发送登录请求,并通过匿名身份验证,准备发送联盟打车请求,或者进入支付单元支付之前未支付的联盟打车订单;请求单元的功能是生成两笔存钱交易,计算匿名身份,在一定时间段内收集环境信号,生成位置标记和临时公私钥,向位置标记中嵌入该临时公钥,将当前位置转化为Bloom过滤器,对公钥和私钥组进行加密,将司机条件和目的地转化为双Bloom过滤器,生成联盟打车数据包和联盟打车请求,计算匿名证书和签名,将两笔交易、匿名身份、联盟打车请求、匿名证书和签名发送给路边节点,在路边节点为自己匹配司机后,收到路边节点发来的司机信息,其中,双Bloom过滤器是指由两个Bloom过滤器组成的一种Bloom过滤器变种,具体为:双Bloom过滤器有两个Bloom过滤器,它们的编号分别为0和1,双Bloom过滤器的输入在经过一次哈希函数后,得到一个Bloom过滤器的编号,再经过一次哈希函数,得到上述Bloom过滤器的位置,并将该位置的数值设置为1;支付单元的功能是生成拆分交易,具体为:将先前存的两个旧货币拆分成两个新货币,一个给司机作为车费,另一个作为返回给自己的余款,并向路边节点联盟区块链维护单元发送该拆分交易;乘客登出单元的功能是向所属云服务提供商发送登出请求并退出系统;路边节点模块:路边节点注册单元的功能是向云服务提供商模块注册并获得公有地址、私有地址、用于签名的公私钥对和云服务提供商的签名;路边节点登录单元的功能是向所属云服务提供商发送登录请求,通过实名身份认证,并准备接收乘客的联盟打车请求以及为乘客模块匹配合适的司机;验证单元的功能是验证乘客和司机的匿名证书和签名的合法性,如果通过验证,则为该乘客和司机提供服务,否则丢弃数据包,路边节点验证乘客的存钱交易和拆分交易,如果通过验证,则广播交易,否则丢弃该两笔交易并拒绝为该司机寻找司机模块;路边节点响应单元的功能是验证乘客的存钱交易和联盟打车请求后,向自己覆盖区域内广播联盟打车请求;匹配单元的功能是在接收并验证司机的联盟打车响应后,为乘客匹配合适的司机,并将匹配结果发送给乘客和司机,在收到乘客和司机的确认后,向所有云服务提供商发送乘客和司机的联盟打车数据包,生成联盟打车交易,对该联盟打车交易签名;路边节点联盟区块链维护单元的功能是广播乘客模块的货币和存钱交易,验证其他路边节点模块发来的货币和交易,根据领头节点选择函数选择出当前阶段的领头节点,由该领头节点创建新块,将该新块广播;路边节点登出单元的功能是向所属云服务提供商发送登出请求并退出系统,其中,领头节点是指由所有路边节点通过领头节点选择函数选择出的一个路边节点,领头节点选择函数的输入包含所有路边节点的公共地址、被选概率、存量和当前时间段,输出是一个路边节点的身份;司机模块:司机注册单元的功能是向证书颁布中心注册,获得密钥、匿名密钥、身份和密钥的密文,以及证书颁布中心对密文的签名,向所属云服务提供商注册并留存匿名密钥、密文和签名,司机注册单元生成多个公/私有地址;司机登录单元的功能是向所属云服的登录处理单元发送登录请求,并通过匿名身份验证,准备发送联盟打车响应;司机响应单元的功能是在收到路边节点广播的联盟打车请求消息后,计算匿名身份,在指定的时间段内收集环境信号,生成位置标签并尝试恢复乘客的临时公钥,选择通信密钥,用恢复出的公钥以对称加密方式加密自己身份和密钥,并在自己的邻近区域内广播该密文,收集位置证据,计算自己的当前位置和恢复出的公钥的哈希值,用恢复出的公钥解密乘客的密文,得到密钥族,用该密钥簇计算乘客条件和目的地的陷门,计算联盟打车响应、匿名证书和签名,并将匿名身份、联盟打车响应、匿名证书和签名发送给路边节点;收费单元的功能是从所属云服务提供商提交货币拥有的证明,在向云服务提供商车费管理单元支付佣金的同时,拿回剩余的车费;司机登出单元的功能是向所属云服务提供商发送登出请求并退出系统。2.一种隐私保护的联盟打车方法,其特征在于:包括如下步骤:步骤一、证书颁布中心模块和所有云服务提供商模块通过各自的参数设定单元生成系统参数、群公钥、群私钥以及密钥信息;步骤一又具体包括如下子步骤:步骤1.1证书颁布中心参数设定单元生成三个阶相同的乘法循环群,选择两个随机数作为所有云服务提供商的群私钥,计算群公钥,向所有云服务提供商模块分发群私钥的秘密分享;步骤1.2证书颁布中心参数设定单元选择哈希函数,选择签名及公钥加密参数和对称加密参数,生成公共参数1和公私钥对;其中,公共参数1包含三个乘法循环群、三个乘法循环群的阶和生成元、双线性映射、群公钥、哈希函数、签名及公钥加密的方法和公共参数、对称加密的方法和公共参数、所有云服务提供商的公钥;其中,签名及公钥加密参...

【专利技术属性】
技术研发人员:祝烈煌李萌张子剑
申请(专利权)人:北京理工大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1