【技术实现步骤摘要】
一种隐私保护的联盟打车方法及系统
本专利技术涉及一种隐私保护的联盟打车方法及系统,属于匿名认证、隐私保护和区块链
技术介绍
使用实名方式提交打车服务,虽然能够保证实用性,但是会暴露以乘客与司机为主的用户的隐私。因此,近年出现了多个隐私保护的打车方法。隐私保护的打车方法一般包括四个参与方:乘客(Rider)、司机(Driver)、云服务提供商(ServiceProvider)和证书颁布中心(CertificateAuthority);其中,乘客希望获取打车服务,司机提供打车服务,云服务提供商是提供打车服务的平台,证书颁布中心是用户注册机构。隐私保护的打车方法具体实施过程包括五大主要步骤:(1)乘客和司机向证书颁布中心注册,获取匿名证书;(2)乘客向云服务提供商提交匿名证书并验证自己的合法身份,提交打车请求;(3)云服务提供商广播乘客的打车请求,响应该打车请求的司机向云服务提供商提交匿名证书并验证自己的合法身份;(4)云服务提供商对乘客和司机进行匹配,并将该匹配结果返回给乘客和司机;(5)司机驾车载乘客向乘客的目的地出发,联盟打车过程结束后,乘客向司机支付车费。现有的隐私保护的打车方法研究主要集中于解决在打车服务过程中用户隐私泄露给云服务提供商的问题,但是有些方法使用明文信息对乘客和司机进行匹配,或者云服务提供商能够在不依赖第三方的情况下揭露用户的真实身份,这都直接暴露了用户的隐私,也有些方法未能在乘客和司机之间建立对称会话密钥,或者无法抵挡用户的提前兑现攻击。我们观察到,在现有的打车方法往往是独立工作,他们必然会遇到信息孤岛问题。例如,滴滴的乘客在 ...
【技术保护点】
1.一种隐私保护的联盟打车系统,其特征在于:包括证书颁布中心模块、云服务提供商模块、路边节点模块、乘客模块和司机模块;证书颁布中心模块包括证书颁布中心参数设定单元和证书颁布中心注册处理单元;云服务提供商模块包括云服务提供商参数设定单元、云服务提供商注册处理单元、登录处理单元、联盟链维护单元、数据库维护单元、费用管理单元、用户身份恢复单元和登出处理单元;乘客模块包括;乘客注册单元、乘客登录单元、请求单元、支付单元和乘客登出单元;路边节点模块包括路边节点注册单元、路边节点登录单元、验证单元、路边节点响应单元、匹配单元、路边节点联盟链维护单元和路边节点登出单元;司机模块包括司机注册单元、司机登录单元、司机响应单元、收费单元和司机登出单元;所述打车系统中各单元的连接关系如下:证书颁布中心模块参数设定单元连接云服务提供商参数设定单元,证书颁布中心注册处理单元连接乘客注册单元、路边节点注册单元和司机注册单元;云服务提供商注册参数设定单元连接证书颁布中心参数设定单元,云服务提供商注册处理单元连接乘客注册单元、路边节点注册单元和司机注册单元,登录处理单元连接乘客登录单元、路边节点登录单元和司机登录单元 ...
【技术特征摘要】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。