CN112215626B - 支持环形订单可验证的网约车系统与方法 - Google Patents

支持环形订单可验证的网约车系统与方法 Download PDF

Info

Publication number
CN112215626B
CN112215626B CN202011137249.9A CN202011137249A CN112215626B CN 112215626 B CN112215626 B CN 112215626B CN 202011137249 A CN202011137249 A CN 202011137249A CN 112215626 B CN112215626 B CN 112215626B
Authority
CN
China
Prior art keywords
passenger
unit
service
module
annular order
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011137249.9A
Other languages
English (en)
Other versions
CN112215626A (zh
Inventor
李萌
高剑博
陈毅飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hefei University of Technology
Original Assignee
Hefei University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hefei University of Technology filed Critical Hefei University of Technology
Priority to CN202011137249.9A priority Critical patent/CN112215626B/zh
Publication of CN112215626A publication Critical patent/CN112215626A/zh
Application granted granted Critical
Publication of CN112215626B publication Critical patent/CN112215626B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/018Certifying business or products
    • G06Q30/0185Product, service or business identity fraud
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0633Lists, e.g. purchase orders, compilation or processing
    • G06Q30/0635Processing of requisition or of purchase orders
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/40Business processes related to the transportation industry

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Primary Health Care (AREA)
  • Tourism & Hospitality (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种支持环形订单可验证的网约车方法与系统,该系统包括乘客模块、司机模块、路边单元模块、网约车服务提供商模块和可信任认证机构模块;路边单元模块可收集乘客服务请求、邻接乘客服务请求和网约车司机服务响应,并且可验证请求数据、乘客身份、邻接乘客和司机身份,如果请求验证通过,路边单元模块向网约车服务提供商模块返回相应的网约车服务匹配结果。本发明能在当前网约车乘客接受服务的过程中,允许网约车司机提前接受当前乘客目的地附近的下一位乘客,并防止路边单元与网约车司机恶意共谋的产生,从而提高网约车乘客身份隐私、位置隐私以及网约车服务的公平性。

Description

支持环形订单可验证的网约车系统与方法
技术领域
本发明属于隐私保护、匿名认证和车联网领域,具体的说是一种支持环形订单可验证的网约车方法与系统。
背景技术
网约车服务正引起学术界和业界的广泛关注。通过提供方便快捷的乘车服务,极大地提升了用户的交通体验。网约车服务供应商匹配乘客和附近的司机,让网约车服务成为可能。与此同时,当乘客愿意与其他乘客共享他们的旅程时,进一步提高车辆利用率和降低乘坐成本将激励拼车服务。随着云计算的普及发展和智能手机的飞速发展,见证了网约车服务和拼车服务在过去几年里的稳步发展。一些受欢迎的服务提供商包括Uber、Lyft和滴滴。一份报告显示,到2030年,网约车行业将增长8倍,2018年Uber的全年收入为113亿美元。
尽管它们很有前景,但网约车服务和拼车服务仍然面临挑战,其中隐私和安全是首要问题。这是因为这些服务是由私人服务提供商运营的,他们可能对用户的敏感信息(如身份和访问过的地方)感兴趣。如果没有实施保护措施,可从已提交的位置和搭乘记录中提取此类信息。一旦用户出行数据泄露,敌手不仅可以获知用户的家庭住址、工作地点、日常出行轨迹等信息,甚至可以分析出用户的就医情况、孩子就读学校等敏感信息。
为了减轻这些担忧,许多针对网约车服务的隐私保护方案陆续提出。然而,他们没有考虑最近推广的服务功能,即环形订单。有了这个功能,叫车服务提供商就可以把已经搭载乘客的司机和另一位乘客连接起来,这位乘客就在当前乘客的目的地附近。例如,司机鲍勃正在将当前乘客爱丽丝从起点运送到他的目的地。另一个乘客辛巴从他的起点发出服务请求,也就是爱丽丝的终点或邻近区域。如果没有可用的司机在辛巴周围巡航,那么叫车服务提供商会在爱丽丝订单完成之前将当前订单连接到未来的辛巴订单。环形订单模型有以下好处:当附近没有可用的司机时,乘客可提前接收到叫车服务,减少等待时间;司机提前接乘客订单,增加订单数量和收入;叫车服务提供商更快更聪明地匹配乘客与司机,提高系统效率。
此外,考虑了路边单元与先前隐私保护工作未解决的共谋攻击。具体来说,在这种攻击模型中,恶意路边单元与恶意驱动程序秘密交换消息和密钥。以上述情况为例,恶意司机带着乘客爱丽丝前往位于恶意路边单元覆盖区域内的目的地,路边单元没有将辛巴的服务请求链接到另一个更适合用户匹配的骑手,而是将其链接到其同谋者鲍勃。
解决这一问题的一个简单方法是发布驾驶员的行驶属性,包括当前位置和目的地,然后当返回给乘客辛巴,辛巴可以确信匹配结果。虽然该方法有效地防御了合谋攻击,但它揭示了爱丽丝的位置和叫车活动。现有的研究主要集中在用户匿名化、条件隐私保护、位置保护和隐私保护用户匹配。虽然有些研究通过考虑大规模推理攻击、数据篡改和错误定位攻击来增强威胁模型,但它们无法抵抗共谋攻击。
发明内容
本发明是为了解决上述现有技术存在的不足之处,提出一种支持环形订单可验证的网约车系统与方法,以期能在当前网约车乘客接受服务的过程中,允许网约车司机提前接受当前乘客目的地附近的下一位乘客,并防止路边单元与网约车司机恶意共谋的产生,从而提高网约车乘客身份隐私、位置隐私以及网约车服务的公平性。
本发明为达到上述发明目的,采用如下技术方案:
本发明一种支持环形订单可验证的网约车系统的特点包括:乘客模块、环形订单乘客模块、司机模块、路边单元模块、网约车服务提供商模块和可信任认证机构;
所述乘客模块包括:乘客认证单元、乘客位置加密单元、服务请求生成单元、乘客服务协商单元;
所述环形订单乘客模块包括:环形订单乘客认证单元、环形订单乘客位置加密单元、环形订单服务请求生成单元、环形订单乘客服务协商单元和证据验证单元;
所述司机模块包括:司机认证单元、司机位置加密单元、服务响应生成单元、司机服务协商单元和证据生成单元;
所述路边单元模块包括:路边单元认证单元、请求验证单元、请求广播单元、响应验证单元、请求匹配单元;
所述网约车服务提供商包括:服务商认证单元;
所述可信任认证机构包括:参数设定单元、认证处理单元、认证信息发布单元、恶意用户追踪单元和恶意用户公示单元;
所述参数设定单元将整个网约车服务范围划分为区域集合,并为每个区域设定各自的标记参数,选取哈希运算消息认证码,设定布鲁过滤器长度参数,设定二进制长度参数,选取随机密钥和多对公私钥;
所述认证信息发布单元将各个区域的标记参数、哈希运算消息认证码、二进制长度参数、布鲁过滤器长度参数进行公示;
所述乘客认证单元、所述司机认证单元、所述路边单元认证单元和所述服务商认证单元分别将含有相应乘客、司机、路边单元、服务商真实身份信息的认证请求发送给所述认证处理单元;
所述认证处理单元接受所述乘客认证单元、所述司机认证单元、所述路边单元认证单元和所述服务商认证单元各自发送的认证请求后,从中获取相应乘客、司机、路边单元和服务商提交的真实身份信息,并生成乘客假名和司机假名,再根据布鲁过滤器长度参数将乘客假名插入布鲁过滤器中,同时,定期更新布鲁过滤器;
所述认证处理单元将各自的唯一密钥和假名分别发送给所述乘客认证单元和所述司机认证单元,并将多对公私钥分别发送给所述路边单元认证单元和所述服务商认证单元;
所述乘客认证单元接收所述认证处理单元返回的唯一乘客密钥和乘客假名;
所述司机认证单元接收所述认证处理单元返回的唯一司机密钥和司机假名;
所述路边单元认证单元和所述服务商认证单元分别接收所述认证处理单元返回的相应公私钥;
所述乘客位置加密单元根据所述认证信息发布单元公示的各个区域的标记参数,表示出当前所在位置和目的地所在位置,并根据所述二进制长度参数将当前所在位置转换为相应的当前所在位置前缀码集合,目的地所在位置转换为相应的目的地所在位置前缀码集合,并使用哈希运算消息认证码将两个集合中的每个前缀码元素分别与唯一乘客密钥进行混合计算,得到相应的当前所在位置标识串和目的地所在位置标识串,最后将当前所在位置标识串和目的地所在位置标识串发送到所述服务请求生成单元;
所述服务请求生成单元接收所述乘客位置加密单元发送的当前所在位置标识串和所述目的地所在位置标识串,随机选取第一随机数,使用哈希运算消息认证码将所述当前所在位置标识串和随机数进行混合计算,所得结果用于初始化当前所在位置布鲁过滤器,再使用初始化后的当前所在位置布鲁过滤器创建当前位置不可分辨布鲁过滤器树;
再使用哈希运算消息认证码将所述目的地所在位置标识串和随机数进行混合计算,所得结果用于初始化目的地所在位置布鲁过滤器,再使用初始化后的目的地所在位置布鲁过滤器创建目的地位置不可分辨布鲁过滤器树;
最后使用所述路边单元公钥加密所述第一随机数,生成密文,并使用所述乘客假名对密文、当前位置不可分辨布鲁过滤器树和目的地位置不可分辨布鲁过滤器树进行签名,生成服务请求后,发送到所述请求验证单元;
所述请求验证单元接收所述服务请求生成单元发送的所述服务请求后,验证所述乘客签名的合法性,当验证通过,向所述请求广播单元和所述请求匹配单元分别发送服务请求,否则,丢弃当前服务请求,并等待验证下一个;
所述请求广播单元接收所述请求验证单元的服务请求后,对所处范围内可提供网约车服务的司机模块广播所述服务请求;
所述司机位置加密单元接收到广播的服务请求后,选用由所述可信任认证机构模块公布的标记参数表示自身出当前所在位置和目的地所在位置,并根据服务能力将自身当前所在位置和目的地所在位置扩大为当前所在区域和目的地所在区域,并根据所述二进制长度参数将两个区域转换为当前所在区域前缀码集合和目的地所在区域前缀码集合,再使用哈希运算消息认证码将两个集合中的每个前缀码元素分别与唯一司机密钥进行混合计算,得到相应的当前所在位置矩阵和目的地所在位置矩阵,最后将当前所在位置矩阵和目的地所在位置矩阵发送到所述服务响应生成单元;
所述服务响应生成单元接收所述司机位置加密单元发送的当前所在位置矩阵和目的地所在位置矩阵后,使用所述司机假名对所述当前所在位置矩阵和目的地所在位置矩阵进行签名,生成服务响应并发送至响应验证单元;
所述响应验证单元接收所述服务响应生成单元发送的服务响应后,验证所述请求响应中的司机签名的合法性,当验证通过,则将所述服务响应发送至所述请求匹配单元,否则丢弃当前请求响应,并等待验证下一个;
所述请求匹配单元接收所述请求验证单元发送的服务请求和所述响应验证单元发送的服务响应后,使用所述路边单元私钥解密所述服务请求中的密文,使用所述请求响应中的当前所在区域矩阵检索所述服务请求中的当前所在位置不可分辨布鲁过滤器树,使用所述请求响应中的目的地所在区域矩阵检索所述服务请求中的目的地所在位置不可分辨布鲁过滤器树,当两次检索均成功,则匹配相应的司机模块与乘客模块,并向两者发送服务匹配结果,同时也向所述服务收集单元发送服务匹配结果,否则,表示匹配失败,并等待匹配下一个;
所述乘客服务协商单元和所述司机服务协商单元接收到所述请求匹配单元发送的所述服务匹配结果后,在安全信道上建立通信,协商搭乘的具体时间、搭乘详细地点和终点详细位置;
所述参数设定单元设定零知识证明法的算术电路,选取零知识证明法的双线性映射函数,设定公共评估密钥生成参数和公共验证密钥生成参数,设定验证布鲁过滤器长度参数;
所述认证信息发布单元将零知识证明法的算术电路、零知识证明法的双线性映射函数、公共评估密钥生成参数、公共验证密钥生成参数和验证布鲁过滤器长度参数进行公示;
所述环形订单乘客认证单元将含有环形订单乘客真实身份信息的认证请求发送给所述认证处理单元;
所述认证处理单元接受所述环形订单乘客认证单元发送的认证请求后,从中获取环形订单乘客提交的真实身份信息,生成环形订单乘客假名,并根据所述验证布鲁过滤器长度参数将环形订单乘客假名和当前时间戳插入验证布鲁过滤器中,同时,定期更新验证布鲁过滤器,再将唯一密钥和环形订单乘客假名发送给所述环形订单乘客认证单元;
所述环形订单乘客认证单元接收所述认证处理单元返回的唯一环形订单乘客密钥和环形订单乘客假名;
所述环形订单乘客位置加密单元根据所述认证信息发布单元公示的各个区域的标记参数,表示出环形订单乘客当前所在位置和环形订单乘客目的地所在位置,并根据所述二进制长度参数将环形订单乘客当前所在位置转换为相应的环形订单乘客当前所在位置前缀码集合,环形订单乘客目的地所在位置转换为相应的环形订单乘客目的地所在位置前缀码集合,并使用哈希运算消息认证码将两个前缀码集集合中的每个前缀码元素分别与唯一环形订单乘客密钥进行混合计算,得到相应的环形订单乘客当前所在位置标识串和环形订单乘客目的地所在位置标识串,最后将环形订单乘客当前所在位置标识串和环形订单乘客目的地所在位置标识串发送到所述环形订单服务请求生成单元;
所述环形订单服务请求生成单元接收所述环形订单乘客位置加密单元发送的环形订单乘客当前所在位置标识串和所述环形订单乘客目的地所在位置标识串厚,随机选取第二随机数,并使用哈希运算消息认证码将所述环形订单乘客当前所在位置标识串和环形订单随机数进行混合计算,所得结果用于初始化环形订单乘客当前所在位置布鲁过滤器,再使用初始化后的环形订单乘客当前所在位置布鲁过滤器创建环形订单乘客当前位置不可分辨布鲁过滤器树;
然后使用哈希运算消息认证码将所述环形订单乘客目的地所在位置标识串和环形订单随机数进行混合计算,所得结果用于初始化环形订单乘客目的地所在位置布鲁过滤器,再使用初始化后的环形订单乘客目的地所在位置布鲁过滤器创建环形订单乘客目的地位置不可分辨布鲁过滤器树;
最后使用所述路边单元公钥加密所述环形订单随机数,生成第二密文,使用所述环形订单乘客假名对第二密文、环形订单乘客当前位置不可分辨布鲁过滤器树和环形订单乘客目的地位置不可分辨布鲁过滤器树进行签名,生成环形订单服务请求后,发送到所述请求验证单元;
所述请求验证单元接收所述环形订单服务请求生成单元发送的所述环形订单服务请求后,验证所述环形订单乘客签名的合法性,当验证通过,则向所述请求广播单元和所述请求匹配单元发送环形订单服务请求,否则,丢弃当前环形订单服务请求,并等待验证下一个;
所述请求广播单元接收所述请求验证单元的环形订单服务请求后,对所处范围内可提供网约车服务的司机模块广播所述环形订单服务请求;
所述司机位置加密单元接收到广播的环形订单服务请求后,选用由所述可信任认证机构模块公布的标记参数表示出环形订单当前所在位置和环形订单目的地所在位置,并根据服务能力将环形订单当前所在位置和环形订单目的地所在位置扩大为环形订单当前所在区域和环形订单目的地所在区域,并根据所述二进制长度参数将两个区域转换为环形订单当前所在区域前缀码集合和环形订单目的地所在区域前缀码集合,再使用哈希运算消息认证码将两个集合中的每个前缀码元素分别与唯一司机密钥进行混合计算,得到相应的环形订单当前所在位置矩阵和环形订单目的地所在位置矩阵,最后将环形订单当前所在位置矩阵和环形订单目的地所在位置矩阵发送到所述服务响应生成单元;
所述服务响应生成单元接收所述司机位置加密单元发送的所述环形订单当前所在位置矩阵和所述环形订单目的地所在位置矩阵后,使用所述司机假名对所述环形订单当前所在位置矩阵和所述环形订单目的地所在位置矩阵进行签名,生成服务响应并发送至响应验证单元;
所述证据生成单元根据所述认证信息发布单元公示的零知识证明法的算术电路和所述公共评估密钥生成参数,生成公共评估密钥,再选取所述服务请求和所述请求响应作为算术电路的输入端参数,生成当前最佳匹配证据,然后根据所述零知识证明法的双线性映射函数,选取所述服务请求和随机产生的第三随机数作为双线性映射函数的输入端参数,并生成当前搭载乘客证据,最后根据环形订单乘客假名和当前时间戳,生成当前服务可靠证据,再使用所述司机假名对当前最佳匹配证据、当前搭载乘客证据和当前服务可靠证据进行签名后,将签名结果发送至所述响应验证单元;
所述响应验证单元接收所述服务响应生成单元发送的服务响应和所述证据生成单元发送的签名结果后,验证所述请求响应和签名结果中的司机签名的合法性,当验证通过,将所述服务响应发送至所述请求匹配单元,并将所述当前最佳匹配证据、所述当前搭载乘客证据和所述当前服务可靠证据发送给所述证据验证单元,否则,丢弃当前请求响应,并等待验证下一个;
所述请求匹配单元接收所述请求验证单元发送的环形订单服务请求和所述响应验证单元发送的环形订单服务响应后,使用所述路边单元私钥解密所述环形订单服务请求中的第二密文,再使用所述环形订单请求响应中的环形订单当前所在区域矩阵检索所述环形订单服务请求中的环形订单当前所在位置不可分辨布鲁过滤器树,使用所述环形订单请求响应中的环形订单目的地所在区域矩阵检索所述环形订单服务请求中的环形订单目的地所在位置不可分辨布鲁过滤器树,当两次检索均成功,则匹配相应的司机模块与乘客模块,并向两者发送环形订单服务匹配结果,否则,表示匹配失败,并等待匹配下一个;
所述证据验证单元接收所述请求匹配单元发送的环形订单服务匹配结果以及所述响应验证单元发送的当前最佳匹配证据、所述当前搭载乘客证据和所述当前服务可靠证据后,根据所述认证信息发布单元公示的零知识证明法的双线性映射和所述公共验证密钥生成参数,生成公共验证密钥,再计算零知识证明法的相关参数,并验证所述当前最佳匹配证据,使用标准零知识证明协议验证所述当前搭载乘客证据,根据所述验证布鲁过滤器验证当前服务可靠证据,若所有验证均通过,则所述环形订单乘客接受环形订单服务匹配结果,并向所述环形订单乘客服务协商单元和所述司机服务协商单元发送环形订单服务匹配结果,向所述服务收集单元发送环形订单服务匹配结果,否则,拒绝相应环形订单服务匹配结果,并向恶意用户追踪单元举报相应司机,并等待验证下一个;
所述环形订单乘客服务协商单元和所述司机服务协商单元接收到所述证据验证单元发送的环形订单服务匹配结果后,在第二安全信道上建立通信,协商搭乘的具体时间、搭乘详细地点和终点详细位置;
所述恶意用户追踪单元在验证被举报目标用户不当行为后,根据用户的匿名凭证揭露用户的真实身份,并传递给所述恶意用户公示单元;
所述恶意用户公示单元接收所述恶意用户追踪单元传递的用户真实身份信息,并将所述用户真实身份信息的部分信息隐藏后公示给系统内各个模块。
本发明一种支持环形订单可验证的网约车方法的特点是应用于由乘客模块、环形订单乘客模块、司机模块、路边单元模块、网约车服务提供商模块和可信任认证机构模块所构成的系统中,并按如下步骤运行:
步骤一、系统初始化:
步骤1.1、所述可信任认证机构模块将整个网约车服务范围区域划分为一系列的区域,并设定每个区域的标记参数,选取哈希运算消息认证码、随机密钥、多对公私钥,设定二进制长度参数和布鲁过滤器长度参数;
步骤1.2、所述可信任认证机构模块公布各个区域的标记参数、哈希运算消息认证码、二进制长度参数和布鲁过滤器长度参数;
步骤二、实体认证:
步骤2.1、所述可信任认证机构模块根据所述乘客模块发送的自身真实身份和所述司机模块发送的自身真实身份生成乘客假名和司机假名,并根据所述布鲁过滤器长度参数将乘客假名插入到布鲁过滤器中,同时,定期更新布鲁过滤器;
步骤2.2、所述乘客模块和所述司机模块通过向可信任认证机构模块各自发送自身真实身份后获取自身的第一身份认证信息,其中,乘客模块的第一身份认证信息包含:所述乘客模块唯一的密钥以及路边单元模块用于验证自身身份的乘客假名;司机模块的第一身份认证信息包含:司机模块唯一的密钥以及路边单元模块用于验证自身身份的司机假名;
步骤2.3、所述路边单元模块和所述网约车服务提供商模块通过可信任认证机构模块各自获取自身的第二身份认证信息,其中,路边单元模块的第二身份认证信息包含:各个路边单元唯一的公私钥;网约车服务提供商模块的的第二身份认证信息包含:服务商唯一的公私钥;
步骤三、服务请求:
步骤3.1、所述乘客模块选用由可信任认证机构模块公布的各个标记参数表示出当前所在位置和目的地所在位置,并根据所述二进制长度参数将当前所在位置转换为相应的当前所在位置前缀码集合,目的地所在位置转换为相应的目的地所在位置前缀码集合;
步骤3.2、所述乘客模块使用哈希运算消息认证码将当前所在位置前缀码集合和目的地所在位置前缀码集合中的每个前缀码元素分别与乘客模块的唯一密钥进行混合计算,得到相应的当前所在位置标识串和目的地所在位置标识串;
步骤3.3、所述乘客模块随机选取第一随机数,使用哈希运算消息认证码将所述当前所在位置标识串和所述随机数进行混合计算,所得结果用于初始化当前所在位置的布鲁过滤器,再使用初始化后的当前所在位置的布鲁过滤器创建当前位置不可分辨布鲁过滤器树;
再使用哈希运算消息认证码将所述目的地所在位置标识串和随机数进行混合计算,所得结果用于初始化目的地所在位置的布鲁过滤器,再使用初始化后的目的地所在位置的布鲁过滤器创建目的地位置不可分辨布鲁过滤器树;
步骤3.4、所述乘客模块使用所述路边单元唯一的公钥加密所述第一随机数,生成密文;
步骤3.5、所述乘客模块使用所述乘客假名对所述当前位置不可分辨布鲁过滤器树、所述目的地位置不可分辨布鲁过滤器树和所述密文进行签名,生成服务请求并发送至路边单元模块;
步骤四、服务请求响应:
步骤4.1、所述路边单元模块验证所述服务请求中的乘客签名的合法性,当验证通过,则所述路边单元模块向所处范围内可提供网约车服务的司机模块广播乘客请求,否则,丢弃当前服务请求,并等待验证下一个;
步骤4.2、所述司机模块接收到广播的乘客请求后,选用由可信任认证机构模块公布的标记参数表示出自身当前所在位置和目的地所在位置,并根据服务能力将自身当前所在位置和目的地所在位置扩大为当前所在区域和目的地所在区域,并根据所述二进制长度参数将两个区域转换为自身当前所在区域前缀码集合和目的地所在区域前缀码集合;
步骤4.3、所述司机模块使用哈希运算消息认证码将自身当前所在区域前缀码集合和目的地所在区域前缀码集合中的每个前缀码元素分别与司机模块的唯一密钥进行混合计算,得到相应的当前所在区域矩阵和目的地所在区域矩阵;
步骤4.4、所述司机模块使用所述司机假名对所述当前所在区域矩阵和目的地所在区域矩阵进行签名,生成请求响应并发送至路边单元模块;
步骤五、服务匹配:
步骤5.1、所述路边单元模块验证所述请求响应中的司机签名的合法性,当验证通过,则执行步骤5.2,否则丢弃当前请求响应,并等待验证下一个;
步骤5.2、所述路边单元模块使用所述路边单元唯一的私钥解密所述服务请求中的密文,使用所述请求响应中的当前所在区域矩阵检索所述服务请求中的当前所在位置不可分辨布鲁过滤器树,再使用所述请求响应中的目的地所在区域矩阵检索所述服务请求中的目的地所在位置不可分辨布鲁过滤器树,当两次检索均成功,则匹配相应的司机模块与乘客模块,并向两者发送服务匹配结果,否则,表示匹配失败,并等待匹配下一个;
步骤5.3、所述乘客模块和司机模块根据所述服务匹配结果在安全信道上建立联系,协商搭乘的具体时间、搭乘详细地点和终点详细位置;
步骤六、环形订单服务初始化:
步骤6.1、所述可信任认证机构模块选用零知识证明法作为证据生成方法和证据验证方法,即设定零知识证明法的算术电路,选取零知识证明法的双线性映射函数,设定公共评估密钥生成参数和公共验证密钥生成参数,设定验证布鲁过滤器长度参数;
步骤6.2、所述可信任认证机构模块公布所述算术电路、双线性映射函数、公共评估密钥生成参数、公共验证密钥生成参数和验证布鲁过滤器长度参数;
步骤七、环形订单实体认证:
步骤7.1、所述司机模块和所述路边单元根据所述可信任认证机构模块公布的公共评估密钥生成参数,生成公共评估密钥;
步骤7.2、所述可信任认证机构模块根据所述环形订单乘客模块发送的真实身份生成环形订单乘客假名,并根据所述验证布鲁过滤器长度参数将所述环形订单乘客假名和当前时间戳插入到验证布鲁过滤器中,同时,定期更新验证布鲁过滤器;
步骤7.3、所述环形订单乘客模块通过向可信任认证机构模块发送真实身份信息后获取第三身份认证信息,所述第三身份认证信息包含:所述环形订单乘客模块唯一的密钥以及路边单元模块用于验证身份的环形订单乘客假名;
步骤7.4、所述环形订单乘客模块根据所述可信任认证机构模块公布的公共验证密钥生成参数,生成公共验证密钥;
步骤八、环形订单服务请求与响应:
步骤8.1、所述环形订单乘客模块按照步骤三执行服务请求操作,生成环形订单请求,并发送至所述路边单元模块;
步骤8.2、所述路边单元模块接收所述环形订单请求后,按照步骤4.1执行相应操作,并将环形订单请求广播至所述司机模块;
步骤8.3、所述司机模块接收到广播的环形订单请求后,按照步骤4.2、步骤4.3和步骤4.4执行相应操作,生成环形订单请求响应;
步骤8.4、所述司机模块根据所述公共评估密钥和所述算术电路的相关参数,选取所述服务请求和所述请求响应作为算术电路的输入端参数,从而生成当前最佳匹配证据;
步骤8.5、所述司机模块根据所述公共评估密钥和所述双线性映射函数,随机选取第二随机数,并选取所述服务请求和第二随机数作为双线性映射函数的输入端参数,生成当前搭载乘客证据;
步骤8.6、所述司机模块根据环形订单乘客假名和当前时间戳,生成当前服务可靠证据;
步骤8.7、所述司机模块使用所述司机假名对所述环形订单请求响应、当前最佳匹配证据、当前搭载乘客证据和当前服务可靠证据进行签名,并将签名结果发送至所述路边单元模块;
步骤九、环形订单服务匹配和证据验证:
步骤9.1、所述路边单元模块验证所述签名结果和所述环形订单请求响应中的司机签名的合法性,当验证通过,则执行步骤5.2,匹配相应的司机模块与环形订单乘客模块,并向所述司机模块发送环形订单服务匹配结果,向所述环形订单乘客模块发送环形订单服务匹配结果、所述当前最佳匹配证据、所述当前搭载乘客证据和所述当前服务可靠证据,否则,丢弃当前环形订单请求响应,并等待验证下一个;
步骤9.2、所述环形订单乘客模块根据所述公共验证密钥和所述双线性映射函数,计算零知识证明法的相关参数,并验证所述当前最佳匹配证据,使用标准零知识证明法验证所述当前搭载乘客证据,根据验证布鲁过滤器验证当前服务可靠证据,若所有验证均通过,则所述环形订单乘客接受环形订单服务匹配结果,与所述司机模块在安全信道上建立联系,协商搭乘的具体时间、搭乘详细地点和终点详细位置,否则,拒绝相应环形订单服务匹配结果,并向可信任认证机构举报相应司机,并等待验证下一个。
与现有技术相比,本发明的有益效果在于:
1.本发明利用可信任认证机构模块维护系统用户的匿名身份,利用乘客模块向路边单元模块发送服务请求信息,利用乘客模块和路边单元模块响应服务请求;乘客模块和司机模块从可信任认证机构模块获取匿名身份信息,从而在匿名状态下与路边单元模块进行交互;路边单元模块可以验证乘客及司机匿名身份有效性、乘客请求合法性和司机响应合法性,并基于密文完成网约车服务匹配;从而提高了乘客身份隐私、位置隐私的安全性,并提高了系统的可用性。
2.本发明使用匿名认证技术,通过乘客模块从可信任认证机构模块获取匿名身份信息,使用乘客匿名身份信息向路边单元模块发送服务请求,当路边单元模块认证服务请求时,无法获得乘客真实身份信息,从而将乘客的真实身份在其与路边单元模块认证交互时隐藏起来,保护了乘客的身份隐私,使得乘客的真实身份在提交网约车服务请求和接受服务时不被暴露;
3.本发明使用可搜索加密技术,通过使用布鲁过滤器树对乘客当前所在位置和目的地所在位置进行加密,实现了路边单元模块基于范围查询搜索处理响应服务请求及匹配相应合适司机,使得乘客的位置信息在提交网约车服务请求和接受服务时不被暴露;
4.本发明使用零知识证明方法,使乘客在接收环形订单服务前,能够确认提供服务司机的当前服务可靠性和最佳匹配结果真实性,从而防止路边单元与网约车司机恶意共谋的产生,提高网约车网约车服务的公平性。
附图说明
图1为本发明环形订单可验证系统的模型图;
图2为本发明环形订单可验证方法中各模块及单元连接示意图。
具体实施方式
本实施例中,一种支持环形订单可验证网约车系统,如图1所示,包括:可信任认证机构模块、乘客模块、环形订单乘客模块、司机模块、网约车服务商模块和路边单元模块;
如图2所示,乘客模块包括:乘客认证单元、位置加密单元、服务请求生成单元、服务请求单元、服务协商单元;
乘客模块包括:乘客认证单元、乘客位置加密单元、服务请求生成单元、乘客服务协商单元;
环形订单乘客模块包括:环形订单乘客认证单元、环形订单乘客位置加密单元、环形订单服务请求生成单元、环形订单乘客服务协商单元和证据验证单元;
司机模块包括:司机认证单元、司机位置加密单元、服务响应生成单元、司机服务协商单元和证据生成单元;
路边单元模块包括:路边单元认证单元、请求验证单元、请求广播单元、响应验证单元、请求匹配单元和服务上传单元;
网约车服务提供商包括:服务商认证单元、服务收集单元、服务处理单元;
可信任认证机构包括:参数设定单元、认证处理单元、认证信息发布单元、恶意用户追踪单元和恶意用户公示单元;
参数设定单元将整个网约车服务范围划分为区域集合,并为每个区域设定各自的标记参数,选取哈希运算消息认证码,设定布鲁过滤器长度参数,设定二进制长度参数,选取随机密钥和多对公私钥;
认证信息发布单元将各个区域的标记参数、哈希运算消息认证码、二进制长度参数、布鲁过滤器长度参数进行公示;
乘客认证单元、司机认证单元、路边单元认证单元和服务商认证单元分别将含有相应乘客、司机、路边单元、服务商真实身份信息的认证请求发送给认证处理单元;
认证处理单元接受乘客认证单元、司机认证单元、路边单元认证单元和服务商认证单元各自发送的认证请求后,从中获取相应乘客、司机、路边单元和服务商提交的真实身份信息,并生成乘客假名和司机假名,再根据布鲁过滤器长度参数将乘客假名插入布鲁过滤器中,同时,定期更新布鲁过滤器;
认证处理单元将各自的唯一密钥和假名分别发送给乘客认证单元和司机认证单元,并将多对公私钥分别发送给路边单元认证单元和服务商认证单元;
乘客认证单元接收认证处理单元返回的唯一乘客密钥和乘客假名;
司机认证单元接收认证处理单元返回的唯一司机密钥和司机假名;
路边单元认证单元和服务商认证单元分别接收认证处理单元返回的相应公私钥;
乘客位置加密单元根据认证信息发布单元公示的各个区域的标记参数,表示出当前所在位置和目的地所在位置,并根据二进制长度参数将当前所在位置转换为相应的当前所在位置前缀码集合,目的地所在位置转换为相应的目的地所在位置前缀码集合,并使用哈希运算消息认证码将两个集合中的每个前缀码元素分别与唯一乘客密钥进行混合计算,得到相应的当前所在位置标识串和目的地所在位置标识串,最后将当前所在位置标识串和目的地所在位置标识串发送到服务请求生成单元;
服务请求生成单元接收乘客位置加密单元发送的当前所在位置标识串和目的地所在位置标识串,随机选取第一随机数,使用哈希运算消息认证码将当前所在位置标识串和随机数进行混合计算,所得结果用于初始化当前所在位置布鲁过滤器,再使用初始化后的当前所在位置布鲁过滤器创建当前位置不可分辨布鲁过滤器树;
再使用哈希运算消息认证码将目的地所在位置标识串和随机数进行混合计算,所得结果用于初始化目的地所在位置布鲁过滤器,再使用初始化后的目的地所在位置布鲁过滤器创建目的地位置不可分辨布鲁过滤器树;
最后使用路边单元公钥加密第一随机数,生成密文,并使用乘客假名对密文、当前位置不可分辨布鲁过滤器树和目的地位置不可分辨布鲁过滤器树进行签名,生成服务请求后,发送到请求验证单元;
请求验证单元接收服务请求生成单元发送的服务请求后,验证乘客签名的合法性,当验证通过,向请求广播单元和请求匹配单元分别发送服务请求,否则,丢弃当前服务请求,并等待验证下一个;
请求广播单元接收请求验证单元的服务请求后,对所处范围内可提供网约车服务的司机模块广播服务请求;
司机位置加密单元接收到广播的服务请求后,选用由可信任认证机构模块公布的标记参数表示自身出当前所在位置和目的地所在位置,并根据服务能力将自身当前所在位置和目的地所在位置扩大为当前所在区域和目的地所在区域,并根据二进制长度参数将两个区域转换为当前所在区域前缀码集合和目的地所在区域前缀码集合,再使用哈希运算消息认证码将两个集合中的每个前缀码元素分别与唯一司机密钥进行混合计算,得到相应的当前所在位置矩阵和目的地所在位置矩阵,最后将当前所在位置矩阵和目的地所在位置矩阵发送到服务响应生成单元;
服务响应生成单元接收司机位置加密单元发送的当前所在位置矩阵和目的地所在位置矩阵后,使用司机假名对当前所在位置矩阵和目的地所在位置矩阵进行签名,生成服务响应并发送至响应验证单元;
响应验证单元接收服务响应生成单元发送的服务响应后,验证请求响应中的司机签名的合法性,当验证通过,则将服务响应发送至请求匹配单元,否则丢弃当前请求响应,并等待验证下一个;
请求匹配单元接收请求验证单元发送的服务请求和响应验证单元发送的服务响应后,使用路边单元私钥解密服务请求中的密文,使用请求响应中的当前所在区域矩阵检索服务请求中的当前所在位置不可分辨布鲁过滤器树,使用请求响应中的目的地所在区域矩阵检索服务请求中的目的地所在位置不可分辨布鲁过滤器树,当两次检索均成功,则匹配相应的司机模块与乘客模块,并向两者发送服务匹配结果,同时也向服务收集单元发送服务匹配结果,否则,表示匹配失败,并等待匹配下一个;
乘客服务协商单元和司机服务协商单元接收到请求匹配单元发送的服务匹配结果后,在安全信道上建立通信,协商搭乘的具体时间、搭乘详细地点和终点详细位置;
参数设定单元设定零知识证明法的算术电路,选取零知识证明法的双线性映射函数,设定公共评估密钥生成参数和公共验证密钥生成参数,设定验证布鲁过滤器长度参数;
认证信息发布单元将零知识证明法的算术电路、零知识证明法的双线性映射函数、公共评估密钥生成参数、公共验证密钥生成参数和验证布鲁过滤器长度参数进行公示;
环形订单乘客认证单元将含有环形订单乘客真实身份信息的认证请求发送给认证处理单元;
认证处理单元接受环形订单乘客认证单元发送的认证请求后,从中获取环形订单乘客提交的真实身份信息,生成环形订单乘客假名,并根据验证布鲁过滤器长度参数将环形订单乘客假名和当前时间戳插入验证布鲁过滤器中,同时,定期更新验证布鲁过滤器,再将唯一密钥和环形订单乘客假名发送给环形订单乘客认证单元;
环形订单乘客认证单元接收认证处理单元返回的唯一环形订单乘客密钥和环形订单乘客假名;
环形订单乘客位置加密单元根据认证信息发布单元公示的各个区域的标记参数,表示出环形订单乘客当前所在位置和环形订单乘客目的地所在位置,并根据二进制长度参数将环形订单乘客当前所在位置转换为相应的环形订单乘客当前所在位置前缀码集合,环形订单乘客目的地所在位置转换为相应的环形订单乘客目的地所在位置前缀码集合,并使用哈希运算消息认证码将两个前缀码集集合中的每个前缀码元素分别与唯一环形订单乘客密钥进行混合计算,得到相应的环形订单乘客当前所在位置标识串和环形订单乘客目的地所在位置标识串,最后将环形订单乘客当前所在位置标识串和环形订单乘客目的地所在位置标识串发送到环形订单服务请求生成单元;
环形订单服务请求生成单元接收环形订单乘客位置加密单元发送的环形订单乘客当前所在位置标识串和环形订单乘客目的地所在位置标识串厚,随机选取第二随机数,并使用哈希运算消息认证码将环形订单乘客当前所在位置标识串和环形订单随机数进行混合计算,所得结果用于初始化环形订单乘客当前所在位置布鲁过滤器,再使用初始化后的环形订单乘客当前所在位置布鲁过滤器创建环形订单乘客当前位置不可分辨布鲁过滤器树;
然后使用哈希运算消息认证码将环形订单乘客目的地所在位置标识串和环形订单随机数进行混合计算,所得结果用于初始化环形订单乘客目的地所在位置布鲁过滤器,再使用初始化后的环形订单乘客目的地所在位置布鲁过滤器创建环形订单乘客目的地位置不可分辨布鲁过滤器树;
最后使用路边单元公钥加密环形订单随机数,生成第二密文,使用环形订单乘客假名对第二密文、环形订单乘客当前位置不可分辨布鲁过滤器树和环形订单乘客目的地位置不可分辨布鲁过滤器树进行签名,生成环形订单服务请求后,发送到请求验证单元;
请求验证单元接收环形订单服务请求生成单元发送的环形订单服务请求后,验证环形订单乘客签名的合法性,当验证通过,则向请求广播单元和请求匹配单元发送环形订单服务请求,否则,丢弃当前环形订单服务请求,并等待验证下一个;
请求广播单元接收请求验证单元的环形订单服务请求后,对所处范围内可提供网约车服务的司机模块广播环形订单服务请求;
司机位置加密单元接收到广播的环形订单服务请求后,选用由可信任认证机构模块公布的标记参数表示出环形订单当前所在位置和环形订单目的地所在位置,并根据服务能力将环形订单当前所在位置和环形订单目的地所在位置扩大为环形订单当前所在区域和环形订单目的地所在区域,并根据二进制长度参数将两个区域转换为环形订单当前所在区域前缀码集合和环形订单目的地所在区域前缀码集合,再使用哈希运算消息认证码将两个集合中的每个前缀码元素分别与唯一司机密钥进行混合计算,得到相应的环形订单当前所在位置矩阵和环形订单目的地所在位置矩阵,最后将环形订单当前所在位置矩阵和环形订单目的地所在位置矩阵发送到服务响应生成单元;
服务响应生成单元接收司机位置加密单元发送的环形订单当前所在位置矩阵和环形订单目的地所在位置矩阵后,使用司机假名对环形订单当前所在位置矩阵和环形订单目的地所在位置矩阵进行签名,生成服务响应并发送至响应验证单元;
证据生成单元根据认证信息发布单元公示的零知识证明法的算术电路和公共评估密钥生成参数,生成公共评估密钥,再选取服务请求和请求响应作为算术电路的输入端参数,生成当前最佳匹配证据,然后根据零知识证明法的双线性映射函数,选取服务请求和随机产生的第三随机数作为双线性映射函数的输入端参数,并生成当前搭载乘客证据,最后根据环形订单乘客假名和当前时间戳,生成当前服务可靠证据,再使用司机假名对当前最佳匹配证据、当前搭载乘客证据和当前服务可靠证据进行签名后,将签名结果发送至响应验证单元;
响应验证单元接收服务响应生成单元发送的服务响应和证据生成单元发送的签名结果后,验证请求响应和签名结果中的司机签名的合法性,当验证通过,将服务响应发送至请求匹配单元,并将当前最佳匹配证据、当前搭载乘客证据和当前服务可靠证据发送给证据验证单元,否则,丢弃当前请求响应,并等待验证下一个;
请求匹配单元接收请求验证单元发送的环形订单服务请求和响应验证单元发送的环形订单服务响应后,使用路边单元私钥解密环形订单服务请求中的第二密文,再使用环形订单请求响应中的环形订单当前所在区域矩阵检索环形订单服务请求中的环形订单当前所在位置不可分辨布鲁过滤器树,使用环形订单请求响应中的环形订单目的地所在区域矩阵检索环形订单服务请求中的环形订单目的地所在位置不可分辨布鲁过滤器树,当两次检索均成功,则匹配相应的司机模块与乘客模块,并向两者发送环形订单服务匹配结果,否则,表示匹配失败,并等待匹配下一个;
证据验证单元接收请求匹配单元发送的环形订单服务匹配结果以及响应验证单元发送的当前最佳匹配证据、当前搭载乘客证据和当前服务可靠证据后,根据认证信息发布单元公示的零知识证明法的双线性映射和公共验证密钥生成参数,生成公共验证密钥,再计算零知识证明法的相关参数,并验证当前最佳匹配证据,使用标准零知识证明协议验证当前搭载乘客证据,根据验证布鲁过滤器验证当前服务可靠证据,若所有验证均通过,则环形订单乘客接受环形订单服务匹配结果,并向环形订单乘客服务协商单元和司机服务协商单元发送环形订单服务匹配结果,向服务收集单元发送环形订单服务匹配结果,否则,拒绝相应环形订单服务匹配结果,并向恶意用户追踪单元举报相应司机,并等待验证下一个;
环形订单乘客服务协商单元和司机服务协商单元接收到证据验证单元发送的环形订单服务匹配结果后,在第二安全信道上建立通信,协商搭乘的具体时间、搭乘详细地点和终点详细位置;
恶意用户追踪单元在验证被举报目标用户不当行为后,根据用户的匿名凭证揭露用户的真实身份,并传递给恶意用户公示单元;
恶意用户公示单元接收恶意用户追踪单元传递的用户真实身份信息,并将用户真实身份信息的部分信息隐藏后公示给系统内各个模块。
服务收集单元从请求匹配单元接收服务匹配结果和从证据验证单元接收环形订单服务匹配结果后,收集匹配结果;
服务上传单元是在请求匹配单元无法及时处理服务请求和环形订单服务请求时,将匹配功能委托于服务处理单元;
服务处理单元在请求匹配单元无法及时处理服务请求时,完成服务请求与服务响应、环形订单服务请求与环形订单服务响应的匹配功能;
本实施例中,如图1所示,一种支持环形订单可验证网约车方法是应用于由可信任认证机构模块、乘客模块、环形订单乘客模块、司机模块、网约车服务商模块和路边单元模块构成的系统中,并按如下步骤运行:
步骤一、系统初始化:
步骤1.1、可信任认证机构模块将整个网约车服务范围划分为一系列的区域
Figure BDA0002737098400000171
每个区域拥有特定的标识符
Figure BDA0002737098400000172
选取哈希运算消息认证码HMAC:{0,1}*×{0,1}*→Zp,随机密钥k1,k2,...,kt←Zp,多对公私钥{ski,pki},设定二进制长度参数w和布鲁过滤器长度参数l;
步骤1.2、可信任认证机构模块公布由区域标识符、哈希运算消息认证码、二进制长度参数和布鲁过滤器长度参数组成的集合{G,HMAC,w,l};
步骤二、实体认证:
步骤2.1、可信任认证机构模块根据乘客模块和司机模块发送的真实身份信息,生成乘客假名
Figure BDA0002737098400000173
和司机假名
Figure BDA0002737098400000174
并根据布鲁过滤器长度参数l初始化布鲁过滤器,同时定期更新布鲁过滤器;
步骤2.2、乘客模块通过可信任认证机构模块获取身份认证信息,包含独有的密钥
Figure BDA0002737098400000175
和用于验证身份的假名
Figure BDA0002737098400000176
司机模块通过可信任认证机构模块获取身份认证信息,包含独有的密钥k1,k2,...,kt和用于验证身份的假名
Figure BDA0002737098400000177
步骤2.3、路边单元模块和网约车服务提供商模块通过可信任认证机构模块获取身份认证信息,包含各个路边单元独有的公私钥{ski,pki}和服务商独有的公私钥{sk,pk};
步骤三、服务请求:
步骤3.1、乘客模块使用由可信任认证机构模块公布的区域标识符gi表示当前所在位置cli和目的地所在位置dni,并根据二进制长度参数w,将两者转换为相应的前缀码集合prj表示,
步骤3.2、乘客模块使用哈希运算消息认证码分别将乘客密钥
Figure BDA0002737098400000178
和两种位置前缀码集合混合运算:HMAC(k1,prj),HMAC(k2,prj),...,HMAC(kt,prj);
步骤3.3、乘客模块选取随机数ri←Zp,再使用哈希运算消息认证码将随机数进行混合计算HMAC(ri,HMAC(ku,prj)),并将计算结果作为初始化布鲁过滤器的条件:
Bi[HMAC(ri,HMAC(ku,prj))modl]:=1 (1)
式(1)中,:=为赋值符号,1≤u≤t,再分别创建代表当前位置不可分辨布鲁过滤器树IBFTi1和目的地位置的不可分辨布鲁过滤器树IBFTi2,树中每个终端结点是一个从一个前缀码集合构建的布鲁过滤器,每个内部节点是一个从其子节点构建的布鲁过滤器,从上而下创建出不可分辨布鲁过滤器树。
步骤3.4、乘客模块使用路边单元的公钥pkv加密初始化布鲁过滤器所使用的随机数ri,即E(ri,pkv),生成密文C;
步骤3.5、乘客模块对当前位置不可分辨布鲁过滤器树IBFTi1、目的地位置的不可分辨布鲁过滤器树IBFTi2和密文C使用假名
Figure BDA0002737098400000181
签名,生成服务请求{IBFTi1,IBFTi2,C}并发送至路边单元模块;
步骤四、服务请求响应:
步骤4.1、路边单元模块验证服务请求中的乘客假名
Figure BDA0002737098400000182
签名合法性,当验证通过,路边单元向所处范围内可提供网约车服务的司机广播乘客请求,否则丢弃当前请求,验证下一个;
步骤4.2、司机模块接收到广播的请求后,由可信任认证机构模块公布的区域标识符gi,根据服务能力将当前所在位置和目的地所在位置将相应区域分别扩大为[SG,BG],包括最小服务区域SG和最大区域BG,并将其转换为前缀码集合prj
步骤4.3、司机模块使用哈希函数将司机密钥k1,k2,...,kt和前缀码集合prj混合计算,即:HMAC(k1,pr1),...,HMAC(kt,pr1),...,HMAC(k1,prz),...,HMAC(kt,prz),从而得到相应的当前区域矩阵TDi1和潜在目的地矩阵TDi2
步骤4.4、司机模块使用司机假名
Figure BDA0002737098400000183
对当前区域矩阵TDi1和潜在目的地矩阵TDi2进行签名,并将签名结果向路边单元模块发送;
步骤五、服务匹配:
步骤5.1、路边单元模块验证请求响应中的司机假名
Figure BDA0002737098400000184
签名合法性,当验证通过,路边单元匹配网约车服务,否则丢弃当前请求响应,验证下一个;
步骤5.2、路边单元模块匹配服务请求和请求响应,使用请求响应中矩阵去检索服务请求中的不可分辨布鲁过滤器树,当检索成功,匹配司机与乘客,向服务两端发送连接建立指令,否则匹配失败,匹配下一个;
检索过程如下:路边单元模块分别从服务请求和请求响应中取出相应的不可分辨布鲁过滤器树IBFTi1,IBFTi2和矩阵TDi1,TDi2,使用私钥解密D(ri,skv)密文C,检索矩阵TDi1,TDi2是否存在一列每个1≤j≤t,对于布鲁过滤器树IBFTi1,IBFTi2满足Bi[HMAC(ri,HMAC(kj,prj))modl]=1;
步骤5.3、网约车乘客模块和网约车司机模块在安全信道上建立联系,协商搭乘具体时间、搭乘详细地点和终点详细位置及其变更;
步骤六、环形订单服务初始化:
步骤6.1、可信任认证机构模块将验证函数Verify转换成算术电路AC,其中Verify有n=2个输入和n′=1个输出,并构造相应的QAP,Q=(T(x),A,B,C),其大小为m且度为d,I={N+1,...,m}是与输入/输出无关的指标集。选择双线性映射e:G1×G2→G2,g和h是G1的两个生成元,设定公共评估密钥生成参数和公共验证密钥生成参数
Figure BDA0002737098400000191
设定验证布鲁过滤器BTA长度L;
步骤6.2、可信任认证机构模块公布算术电路AC,双线性映射e:G1×G2→G2,验证布鲁过滤器BTA长度L,公共评估密钥生成参数和公共验证密钥生成参数
Figure BDA0002737098400000192
步骤七、环形订单实体认证:
步骤7.1、司机模块获得公共计算密钥
Figure BDA0002737098400000193
路边单元模块获得公共计算密钥PEKF
步骤7.2、可信任认证机构根据环形订单乘客模块发送的真实身份生成环形订单乘客假名,并根据所述验证布鲁过滤器长度参数L将环形订单乘客假名cpr和当前时间戳cts插入到验证布鲁过滤器BTA中,定期更新验证布鲁过滤器BTA
步骤7.3、所述环形订单乘客模块通过向可信任认证机构模块发送真实身份信息后获取环形订单乘客模块唯一的密钥
Figure BDA0002737098400000201
以及路边单元模块用于验证身份的环形订单乘客假名cpr;
步骤7.4、乘客模块获得公共验证密钥
Figure BDA0002737098400000202
步骤八、环形订单服务请求与响应:
步骤8.1、环形订单乘客模块执行步骤三操作,生成环形订单请求req2,并发送至路边单元模块;
步骤8.2、路边单元模块接收环形订单请求req2后,执行步骤4.1操作,将环形订单请求req2广播至司机模块;
步骤8.3、司机模块接收到广播的环形订单请求req2后,执行步骤4.2、4.3和4.4操作,生成环形订单请求响应res2;
步骤8.4、司机模块产生证据,当前最佳匹配证据π1:给定前一个订单中的服务请求req和请求响应resi,得到y=Verify(reqi,resi),这里,假设邻接乘客将reqi和pri发送给匹配的司机,并计算π1:
Figure BDA0002737098400000203
其中,aI(x)=∑i∈[m]fi·ai(x),a(x)=∑i∈[m]fi·ai(x),b(x)=∑i∈[m]fi·bi(x),c(x)=∑i∈[m]fi·ci(x);
步骤8.5、司机模块产生证据,当前搭载乘客证据π2:给定前一个订单中的服务请求req,邻接乘客选择一个随机数σ∈Zp,并计算π2为:PK{(σ,req):Com=gσhreq};
步骤8.6、司机模块产生证据,当前服务可靠证据π3:给定前一个订单中的服务请求req,计算π3为π3=H(cpr||cts),其中为cts当前时间戳;
步骤8.7、司机模块向路边单元模块发送环形订单请求响应res2和相关证据π1,π2,π3的司机假名
Figure BDA0002737098400000204
签名;
步骤九、环形订单服务匹配和证据验证:
步骤9.1、路边单元模块验证环形订单请求响应res2中的司机假名签名合法性,验证成功,执行步骤5.2,匹配相应的司机模块与环形订单乘客模块,并向司机模块发送环形订单服务匹配结果,向环形订单乘客模块发送环形订单服务匹配结果、所述当前最佳匹配证据π1、所述当前搭载乘客证据π2和所述当前服务可靠证据π3,否则丢弃当前环形订单请求响应res2,并等待验证下一个;
步骤9.2、环形订单乘客模块验证相关证据:
验证π1:QAP的可除性检查,使用PVKF中的元素计算:
Figure BDA0002737098400000211
并检查:
Figure BDA0002737098400000212
检查计算在A、B和C上的线性组合是否在合适的范围内:
Figure BDA0002737098400000213
检查在A、B和C的线性组合中是否包含相同的系数:
Figure BDA0002737098400000214
其中,
Figure BDA0002737098400000215
表示判断符号;
验证π2:根据标准的零知识证明协议检查π2的有效性。
验证π3:通过哈希(pri||cts)检查测试的有效性转换到先前发布的BTA中,并查看哈希查询结果是否为1。
若上述验证均通过,环形订单乘客接受环形订单服务匹配结果,与司机模块在安全信道上建立联系,协商搭乘的具体时间、搭乘详细地点和终点详细位置,否则拒绝该环形订单服务匹配结果,向可信任认证机构举报该司机,并等待验证下一个。

Claims (2)

1.一种支持环形订单可验证的网约车系统,其特征包括:乘客模块、环形订单乘客模块、司机模块、路边单元模块、网约车服务提供商模块和可信任认证机构;
所述乘客模块包括:乘客认证单元、乘客位置加密单元、服务请求生成单元、乘客服务协商单元;
所述环形订单乘客模块包括:环形订单乘客认证单元、环形订单乘客位置加密单元、环形订单服务请求生成单元、环形订单乘客服务协商单元和证据验证单元;
所述司机模块包括:司机认证单元、司机位置加密单元、服务响应生成单元、司机服务协商单元和证据生成单元;
所述路边单元模块包括:路边单元认证单元、请求验证单元、请求广播单元、响应验证单元、请求匹配单元;
所述网约车服务提供商包括:服务商认证单元;
所述可信任认证机构包括:参数设定单元、认证处理单元、认证信息发布单元、恶意用户追踪单元和恶意用户公示单元;
所述参数设定单元将整个网约车服务范围划分为区域集合,并为每个区域设定各自的标记参数,选取哈希运算消息认证码,设定布鲁过滤器长度参数,设定二进制长度参数,选取随机密钥和多对公私钥;
所述认证信息发布单元将各个区域的标记参数、哈希运算消息认证码、二进制长度参数、布鲁过滤器长度参数进行公示;
所述乘客认证单元、所述司机认证单元、所述路边单元认证单元和所述服务商认证单元分别将含有相应乘客、司机、路边单元、服务商真实身份信息的认证请求发送给所述认证处理单元;
所述认证处理单元接受所述乘客认证单元、所述司机认证单元、所述路边单元认证单元和所述服务商认证单元各自发送的认证请求后,从中获取相应乘客、司机、路边单元和服务商提交的真实身份信息,并生成乘客假名和司机假名,再根据布鲁过滤器长度参数将乘客假名插入布鲁过滤器中,同时,定期更新布鲁过滤器;
所述认证处理单元将各自的唯一密钥和假名分别发送给所述乘客认证单元和所述司机认证单元,并将多对公私钥分别发送给所述路边单元认证单元和所述服务商认证单元;
所述乘客认证单元接收所述认证处理单元返回的唯一乘客密钥和乘客假名;
所述司机认证单元接收所述认证处理单元返回的唯一司机密钥和司机假名;
所述路边单元认证单元和所述服务商认证单元分别接收所述认证处理单元返回的相应公私钥;
所述乘客位置加密单元根据所述认证信息发布单元公示的各个区域的标记参数,表示出当前所在位置和目的地所在位置,并根据所述二进制长度参数将当前所在位置转换为相应的当前所在位置前缀码集合,目的地所在位置转换为相应的目的地所在位置前缀码集合,并使用哈希运算消息认证码将两个集合中的每个前缀码元素分别与唯一乘客密钥进行混合计算,得到相应的当前所在位置标识串和目的地所在位置标识串,最后将当前所在位置标识串和目的地所在位置标识串发送到所述服务请求生成单元;
所述服务请求生成单元接收所述乘客位置加密单元发送的当前所在位置标识串和所述目的地所在位置标识串,随机选取第一随机数,使用哈希运算消息认证码将所述当前所在位置标识串和随机数进行混合计算,所得结果用于初始化当前所在位置布鲁过滤器,再使用初始化后的当前所在位置布鲁过滤器创建当前位置不可分辨布鲁过滤器树;
再使用哈希运算消息认证码将所述目的地所在位置标识串和随机数进行混合计算,所得结果用于初始化目的地所在位置布鲁过滤器,再使用初始化后的目的地所在位置布鲁过滤器创建目的地位置不可分辨布鲁过滤器树;
最后使用所述路边单元公钥加密所述第一随机数,生成密文,并使用所述乘客假名对密文、当前位置不可分辨布鲁过滤器树和目的地位置不可分辨布鲁过滤器树进行签名,生成服务请求后,发送到所述请求验证单元;
所述请求验证单元接收所述服务请求生成单元发送的所述服务请求后,验证所述乘客签名的合法性,当验证通过,向所述请求广播单元和所述请求匹配单元分别发送服务请求,否则,丢弃当前服务请求,并等待验证下一个;
所述请求广播单元接收所述请求验证单元的服务请求后,对所处范围内可提供网约车服务的司机模块广播所述服务请求;
所述司机位置加密单元接收到广播的服务请求后,选用由所述可信任认证机构模块公布的标记参数表示自身当前所在位置和目的地所在位置,并根据服务能力将自身当前所在位置和目的地所在位置扩大为当前所在区域和目的地所在区域,并根据所述二进制长度参数将两个区域转换为当前所在区域前缀码集合和目的地所在区域前缀码集合,再使用哈希运算消息认证码将两个集合中的每个前缀码元素分别与唯一司机密钥进行混合计算,得到相应的当前所在位置矩阵和目的地所在位置矩阵,最后将当前所在位置矩阵和目的地所在位置矩阵发送到所述服务响应生成单元;
所述服务响应生成单元接收所述司机位置加密单元发送的当前所在位置矩阵和目的地所在位置矩阵后,使用所述司机假名对所述当前所在位置矩阵和目的地所在位置矩阵进行签名,生成服务响应并发送至响应验证单元;
所述响应验证单元接收所述服务响应生成单元发送的服务响应后,验证请求响应中的司机签名的合法性,当验证通过,则将所述服务响应发送至所述请求匹配单元,否则丢弃当前请求响应,并等待验证下一个;
所述请求匹配单元接收所述请求验证单元发送的服务请求和所述响应验证单元发送的服务响应后,使用所述路边单元私钥解密所述服务请求中的密文,使用所述请求响应中的当前所在区域矩阵检索所述服务请求中的当前所在位置不可分辨布鲁过滤器树,使用所述请求响应中的目的地所在区域矩阵检索所述服务请求中的目的地所在位置不可分辨布鲁过滤器树,当两次检索均成功,则匹配相应的司机模块与乘客模块,并向两者发送服务匹配结果,同时也向服务收集单元发送服务匹配结果,否则,表示匹配失败,并等待匹配下一个;
所述乘客服务协商单元和所述司机服务协商单元接收到所述请求匹配单元发送的所述服务匹配结果后,在安全信道上建立通信,协商搭乘的具体时间、搭乘详细地点和终点详细位置;
所述参数设定单元设定零知识证明法的算术电路,选取零知识证明法的双线性映射函数,设定公共评估密钥生成参数和公共验证密钥生成参数,设定验证布鲁过滤器长度参数;
所述认证信息发布单元将零知识证明法的算术电路、零知识证明法的双线性映射函数、公共评估密钥生成参数、公共验证密钥生成参数和验证布鲁过滤器长度参数进行公示;
所述环形订单乘客认证单元将含有环形订单乘客真实身份信息的认证请求发送给所述认证处理单元;
所述认证处理单元接受所述环形订单乘客认证单元发送的认证请求后,从中获取环形订单乘客提交的真实身份信息,生成环形订单乘客假名,并根据所述验证布鲁过滤器长度参数将环形订单乘客假名和当前时间戳插入验证布鲁过滤器中,同时,定期更新验证布鲁过滤器,再将唯一密钥和环形订单乘客假名发送给所述环形订单乘客认证单元;
所述环形订单乘客认证单元接收所述认证处理单元返回的唯一环形订单乘客密钥和环形订单乘客假名;
所述环形订单乘客位置加密单元根据所述认证信息发布单元公示的各个区域的标记参数,表示出环形订单乘客当前所在位置和环形订单乘客目的地所在位置,并根据所述二进制长度参数将环形订单乘客当前所在位置转换为相应的环形订单乘客当前所在位置前缀码集合,环形订单乘客目的地所在位置转换为相应的环形订单乘客目的地所在位置前缀码集合,并使用哈希运算消息认证码将两个前缀码集集合中的每个前缀码元素分别与唯一环形订单乘客密钥进行混合计算,得到相应的环形订单乘客当前所在位置标识串和环形订单乘客目的地所在位置标识串,最后将环形订单乘客当前所在位置标识串和环形订单乘客目的地所在位置标识串发送到所述环形订单服务请求生成单元;
所述环形订单服务请求生成单元接收所述环形订单乘客位置加密单元发送的环形订单乘客当前所在位置标识串和所述环形订单乘客目的地所在位置标识串后,随机选取第二随机数,并使用哈希运算消息认证码将所述环形订单乘客当前所在位置标识串和环形订单随机数进行混合计算,所得结果用于初始化环形订单乘客当前所在位置布鲁过滤器,再使用初始化后的环形订单乘客当前所在位置布鲁过滤器创建环形订单乘客当前位置不可分辨布鲁过滤器树;
然后使用哈希运算消息认证码将所述环形订单乘客目的地所在位置标识串和环形订单随机数进行混合计算,所得结果用于初始化环形订单乘客目的地所在位置布鲁过滤器,再使用初始化后的环形订单乘客目的地所在位置布鲁过滤器创建环形订单乘客目的地位置不可分辨布鲁过滤器树;
最后使用所述路边单元公钥加密所述环形订单随机数,生成第二密文,使用所述环形订单乘客假名对第二密文、环形订单乘客当前位置不可分辨布鲁过滤器树和环形订单乘客目的地位置不可分辨布鲁过滤器树进行签名,生成环形订单服务请求后,发送到所述请求验证单元;
所述请求验证单元接收所述环形订单服务请求生成单元发送的所述环形订单服务请求后,验证所述环形订单乘客签名的合法性,当验证通过,则向所述请求广播单元和所述请求匹配单元发送环形订单服务请求,否则,丢弃当前环形订单服务请求,并等待验证下一个;
所述请求广播单元接收所述请求验证单元的环形订单服务请求后,对所处范围内可提供网约车服务的司机模块广播所述环形订单服务请求;
所述司机位置加密单元接收到广播的环形订单服务请求后,选用由所述可信任认证机构模块公布的标记参数表示出环形订单当前所在位置和环形订单目的地所在位置,并根据服务能力将环形订单当前所在位置和环形订单目的地所在位置扩大为环形订单当前所在区域和环形订单目的地所在区域,并根据所述二进制长度参数将两个区域转换为环形订单当前所在区域前缀码集合和环形订单目的地所在区域前缀码集合,再使用哈希运算消息认证码将两个集合中的每个前缀码元素分别与唯一司机密钥进行混合计算,得到相应的环形订单当前所在位置矩阵和环形订单目的地所在位置矩阵,最后将环形订单当前所在位置矩阵和环形订单目的地所在位置矩阵发送到所述服务响应生成单元;
所述服务响应生成单元接收所述司机位置加密单元发送的所述环形订单当前所在位置矩阵和所述环形订单目的地所在位置矩阵后,使用所述司机假名对所述环形订单当前所在位置矩阵和所述环形订单目的地所在位置矩阵进行签名,生成服务响应并发送至响应验证单元;
所述证据生成单元根据所述认证信息发布单元公示的零知识证明法的算术电路和所述公共评估密钥生成参数,生成公共评估密钥,再选取所述服务请求和所述请求响应作为算术电路的输入端参数,生成当前最佳匹配证据,然后根据所述零知识证明法的双线性映射函数,选取所述服务请求和随机产生的第三随机数作为双线性映射函数的输入端参数,并生成当前搭载乘客证据,最后根据环形订单乘客假名和当前时间戳,生成当前服务可靠证据,再使用所述司机假名对当前最佳匹配证据、当前搭载乘客证据和当前服务可靠证据进行签名后,将签名结果发送至所述响应验证单元;
所述响应验证单元接收所述服务响应生成单元发送的服务响应和所述证据生成单元发送的签名结果后,验证所述请求响应和签名结果中的司机签名的合法性,当验证通过,将所述服务响应发送至所述请求匹配单元,并将所述当前最佳匹配证据、所述当前搭载乘客证据和所述当前服务可靠证据发送给所述证据验证单元,否则,丢弃当前请求响应,并等待验证下一个;
所述请求匹配单元接收所述请求验证单元发送的环形订单服务请求和所述响应验证单元发送的环形订单服务响应后,使用所述路边单元私钥解密所述环形订单服务请求中的第二密文,再使用所述环形订单请求响应中的环形订单当前所在区域矩阵检索所述环形订单服务请求中的环形订单当前所在位置不可分辨布鲁过滤器树,使用所述环形订单请求响应中的环形订单目的地所在区域矩阵检索所述环形订单服务请求中的环形订单目的地所在位置不可分辨布鲁过滤器树,当两次检索均成功,则匹配相应的司机模块与乘客模块,并向两者发送环形订单服务匹配结果,否则,表示匹配失败,并等待匹配下一个;
所述证据验证单元接收所述请求匹配单元发送的环形订单服务匹配结果以及所述响应验证单元发送的当前最佳匹配证据、所述当前搭载乘客证据和所述当前服务可靠证据后,根据所述认证信息发布单元公示的零知识证明法的双线性映射和所述公共验证密钥生成参数,生成公共验证密钥,再计算零知识证明法的相关参数,并验证所述当前最佳匹配证据,使用标准零知识证明协议验证所述当前搭载乘客证据,根据所述验证布鲁过滤器验证当前服务可靠证据,若所有验证均通过,则所述环形订单乘客接受环形订单服务匹配结果,并向所述环形订单乘客服务协商单元和所述司机服务协商单元发送环形订单服务匹配结果,向所述服务收集单元发送环形订单服务匹配结果,否则,拒绝相应环形订单服务匹配结果,并向恶意用户追踪单元举报相应司机,并等待验证下一个;
所述环形订单乘客服务协商单元和所述司机服务协商单元接收到所述证据验证单元发送的环形订单服务匹配结果后,在第二安全信道上建立通信,协商搭乘的具体时间、搭乘详细地点和终点详细位置;
所述恶意用户追踪单元在验证被举报目标用户不当行为后,根据用户的匿名凭证揭露用户的真实身份,并传递给所述恶意用户公示单元;
所述恶意用户公示单元接收所述恶意用户追踪单元传递的用户真实身份信息,并将所述用户真实身份信息的部分信息隐藏后公示给系统内各个模块。
2.一种支持环形订单可验证的网约车方法,其特征是应用于由乘客模块、环形订单乘客模块、司机模块、路边单元模块、网约车服务提供商模块和可信任认证机构模块所构成的系统中,并按如下步骤运行:
步骤一、系统初始化:
步骤1.1、所述可信任认证机构模块将整个网约车服务范围区域划分为一系列的区域,并设定每个区域的标记参数,选取哈希运算消息认证码、随机密钥、多对公私钥,设定二进制长度参数和布鲁过滤器长度参数;
步骤1.2、所述可信任认证机构模块公布各个区域的标记参数、哈希运算消息认证码、二进制长度参数和布鲁过滤器长度参数;
步骤二、实体认证:
步骤2.1、所述可信任认证机构模块根据所述乘客模块发送的自身真实身份和所述司机模块发送的自身真实身份生成乘客假名和司机假名,并根据所述布鲁过滤器长度参数将乘客假名插入到布鲁过滤器中,同时,定期更新布鲁过滤器;
步骤2.2、所述乘客模块和所述司机模块通过向可信任认证机构模块各自发送自身真实身份后获取自身的第一身份认证信息,其中,乘客模块的第一身份认证信息包含:所述乘客模块唯一的密钥以及路边单元模块用于验证自身身份的乘客假名;司机模块的第一身份认证信息包含:司机模块唯一的密钥以及路边单元模块用于验证自身身份的司机假名;
步骤2.3、所述路边单元模块和所述网约车服务提供商模块通过可信任认证机构模块各自获取自身的第二身份认证信息,其中,路边单元模块的第二身份认证信息包含:各个路边单元唯一的公私钥;网约车服务提供商模块的的第二身份认证信息包含:服务商唯一的公私钥;
步骤三、服务请求:
步骤3.1、所述乘客模块选用由可信任认证机构模块公布的各个标记参数表示出当前所在位置和目的地所在位置,并根据所述二进制长度参数将当前所在位置转换为相应的当前所在位置前缀码集合,目的地所在位置转换为相应的目的地所在位置前缀码集合;
步骤3.2、所述乘客模块使用哈希运算消息认证码将当前所在位置前缀码集合和目的地所在位置前缀码集合中的每个前缀码元素分别与乘客模块的唯一密钥进行混合计算,得到相应的当前所在位置标识串和目的地所在位置标识串;
步骤3.3、所述乘客模块随机选取第一随机数,使用哈希运算消息认证码将所述当前所在位置标识串和所述随机数进行混合计算,所得结果用于初始化当前所在位置的布鲁过滤器,再使用初始化后的当前所在位置的布鲁过滤器创建当前位置不可分辨布鲁过滤器树;
再使用哈希运算消息认证码将所述目的地所在位置标识串和随机数进行混合计算,所得结果用于初始化目的地所在位置的布鲁过滤器,再使用初始化后的目的地所在位置的布鲁过滤器创建目的地位置不可分辨布鲁过滤器树;
步骤3.4、所述乘客模块使用所述路边单元唯一的公钥加密所述第一随机数,生成密文;
步骤3.5、所述乘客模块使用所述乘客假名对所述当前位置不可分辨布鲁过滤器树、所述目的地位置不可分辨布鲁过滤器树和所述密文进行签名,生成服务请求并发送至路边单元模块;
步骤四、服务请求响应:
步骤4.1、所述路边单元模块验证所述服务请求中的乘客签名的合法性,当验证通过,则所述路边单元模块向所处范围内可提供网约车服务的司机模块广播乘客请求,否则,丢弃当前服务请求,并等待验证下一个;
步骤4.2、所述司机模块接收到广播的乘客请求后,选用由可信任认证机构模块公布的标记参数表示出自身当前所在位置和目的地所在位置,并根据服务能力将自身当前所在位置和目的地所在位置扩大为当前所在区域和目的地所在区域,并根据所述二进制长度参数将两个区域转换为自身当前所在区域前缀码集合和目的地所在区域前缀码集合;
步骤4.3、所述司机模块使用哈希运算消息认证码将自身当前所在区域前缀码集合和目的地所在区域前缀码集合中的每个前缀码元素分别与司机模块的唯一密钥进行混合计算,得到相应的当前所在区域矩阵和目的地所在区域矩阵;
步骤4.4、所述司机模块使用所述司机假名对所述当前所在区域矩阵和目的地所在区域矩阵进行签名,生成请求响应并发送至路边单元模块;
步骤五、服务匹配:
步骤5.1、所述路边单元模块验证所述请求响应中的司机签名的合法性,当验证通过,则执行步骤5.2,否则丢弃当前请求响应,并等待验证下一个;
步骤5.2、所述路边单元模块使用所述路边单元唯一的私钥解密所述服务请求中的密文,使用所述请求响应中的当前所在区域矩阵检索所述服务请求中的当前所在位置不可分辨布鲁过滤器树,再使用所述请求响应中的目的地所在区域矩阵检索所述服务请求中的目的地所在位置不可分辨布鲁过滤器树,当两次检索均成功,则匹配相应的司机模块与乘客模块,并向两者发送服务匹配结果,否则,表示匹配失败,并等待匹配下一个;
步骤5.3、所述乘客模块和司机模块根据所述服务匹配结果在安全信道上建立联系,协商搭乘的具体时间、搭乘详细地点和终点详细位置;
步骤六、环形订单服务初始化:
步骤6.1、所述可信任认证机构模块选用零知识证明法作为证据生成方法和证据验证方法,即设定零知识证明法的算术电路,选取零知识证明法的双线性映射函数,设定公共评估密钥生成参数和公共验证密钥生成参数,设定验证布鲁过滤器长度参数;
步骤6.2、所述可信任认证机构模块公布所述算术电路、双线性映射函数、公共评估密钥生成参数、公共验证密钥生成参数和验证布鲁过滤器长度参数;
步骤七、环形订单实体认证:
步骤7.1、所述司机模块和所述路边单元根据所述可信任认证机构模块公布的公共评估密钥生成参数,生成公共评估密钥;
步骤7.2、所述可信任认证机构模块根据所述环形订单乘客模块发送的真实身份生成环形订单乘客假名,并根据所述验证布鲁过滤器长度参数将所述环形订单乘客假名和当前时间戳插入到验证布鲁过滤器中,同时,定期更新验证布鲁过滤器;
步骤7.3、所述环形订单乘客模块通过向可信任认证机构模块发送真实身份信息后获取第三身份认证信息,所述第三身份认证信息包含:所述环形订单乘客模块唯一的密钥以及路边单元模块用于验证身份的环形订单乘客假名;
步骤7.4、所述环形订单乘客模块根据所述可信任认证机构模块公布的公共验证密钥生成参数,生成公共验证密钥;
步骤八、环形订单服务请求与响应:
步骤8.1、所述环形订单乘客模块按照步骤三执行服务请求操作,生成环形订单请求,并发送至所述路边单元模块;
步骤8.2、所述路边单元模块接收所述环形订单请求后,按照步骤4.1执行相应操作,并将环形订单请求广播至所述司机模块;
步骤8.3、所述司机模块接收到广播的环形订单请求后,按照步骤4.2、步骤4.3和步骤4.4执行相应操作,生成环形订单请求响应;
步骤8.4、所述司机模块根据所述公共评估密钥和所述算术电路的相关参数,选取所述服务请求和所述请求响应作为算术电路的输入端参数,从而生成当前最佳匹配证据;
步骤8.5、所述司机模块根据所述公共评估密钥和所述双线性映射函数,随机选取第二随机数,并选取所述服务请求和第二随机数作为双线性映射函数的输入端参数,生成当前搭载乘客证据;
步骤8.6、所述司机模块根据环形订单乘客假名和当前时间戳,生成当前服务可靠证据;
步骤8.7、所述司机模块使用所述司机假名对所述环形订单请求响应、当前最佳匹配证据、当前搭载乘客证据和当前服务可靠证据进行签名,并将签名结果发送至所述路边单元模块;
步骤九、环形订单服务匹配和证据验证:
步骤9.1、所述路边单元模块验证所述签名结果和所述环形订单请求响应中的司机签名的合法性,当验证通过,则执行步骤5.2,匹配相应的司机模块与环形订单乘客模块,并向所述司机模块发送环形订单服务匹配结果,向所述环形订单乘客模块发送环形订单服务匹配结果、所述当前最佳匹配证据、所述当前搭载乘客证据和所述当前服务可靠证据,否则,丢弃当前环形订单请求响应,并等待验证下一个;
步骤9.2、所述环形订单乘客模块根据所述公共验证密钥和所述双线性映射函数,计算零知识证明法的相关参数,并验证所述当前最佳匹配证据,使用标准零知识证明法验证所述当前搭载乘客证据,根据验证布鲁过滤器验证当前服务可靠证据,若所有验证均通过,则所述环形订单乘客接受环形订单服务匹配结果,与所述司机模块在安全信道上建立联系,协商搭乘的具体时间、搭乘详细地点和终点详细位置,否则,拒绝相应环形订单服务匹配结果,并向可信任认证机构举报相应司机,并等待验证下一个。
CN202011137249.9A 2020-10-22 2020-10-22 支持环形订单可验证的网约车系统与方法 Active CN112215626B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011137249.9A CN112215626B (zh) 2020-10-22 2020-10-22 支持环形订单可验证的网约车系统与方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011137249.9A CN112215626B (zh) 2020-10-22 2020-10-22 支持环形订单可验证的网约车系统与方法

Publications (2)

Publication Number Publication Date
CN112215626A CN112215626A (zh) 2021-01-12
CN112215626B true CN112215626B (zh) 2022-09-13

Family

ID=74054719

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011137249.9A Active CN112215626B (zh) 2020-10-22 2020-10-22 支持环形订单可验证的网约车系统与方法

Country Status (1)

Country Link
CN (1) CN112215626B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113158250B (zh) * 2021-04-29 2022-10-04 合肥工业大学 一种排除曾匹配司机的隐私保护网约车方法与系统
CN113806807B (zh) * 2021-09-22 2024-02-13 合肥工业大学 一种基于隐私合约的网约车系统与方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11290324B2 (en) * 2016-12-30 2022-03-29 Intel Corporation Blockchains for securing IoT devices
CN107040516B (zh) * 2017-01-03 2021-06-11 东南大学 一种高效假名管理和数据完整性保护协议
CN108510357B (zh) * 2018-03-16 2021-01-05 北京航空航天大学 改进的共享单车智能锁构架控制方法及装置
CN109345438B (zh) * 2018-10-11 2021-09-28 北京理工大学 一种隐私保护的联盟打车方法及系统
CN111147225A (zh) * 2018-11-02 2020-05-12 中国科学院沈阳自动化研究所 基于双密值和混沌加密的可信测控网络认证方法
CN110365485A (zh) * 2019-06-20 2019-10-22 北京理工大学 一种基于区块链的约车的用户隐私保护方案
CN110838047B (zh) * 2019-11-07 2024-04-26 腾讯科技(深圳)有限公司 一种网约车司机信用管理方法及装置、服务器、存储介质

Also Published As

Publication number Publication date
CN112215626A (zh) 2021-01-12

Similar Documents

Publication Publication Date Title
Ni et al. Privacy-preserving smart parking navigation supporting efficient driving guidance retrieval
Zheng et al. A traceable blockchain-based access authentication system with privacy preservation in VANETs
Li et al. Efficient and privacy-preserving carpooling using blockchain-assisted vehicular fog computing
Tzeng et al. Enhancing security and privacy for identity-based batch verification scheme in VANETs
Vijayakumar et al. Dual authentication and key management techniques for secure data transmission in vehicular ad hoc networks
Feng et al. An efficient privacy-preserving authentication model based on blockchain for VANETs
CN108322486B (zh) 一种车联网云环境下面向多服务器架构的认证方法
Kim et al. Design of secure decentralized car-sharing system using blockchain
Tan et al. Secure certificateless authentication and road message dissemination protocol in VANETs
CN108012232A (zh) 雾计算架构下的VANETs位置隐私保护查询方法
CN107070652A (zh) 一种基于cp‑abe的密文防篡改的车联网隐私保护方法及系统
Yue et al. An efficient and secure anonymous authentication scheme for VANETs based on the framework of group signatures
Namasudra et al. Achieving a decentralized and secure cab sharing system using blockchain technology
CN110022542A (zh) 一种改进型基于条件隐私保护的匿名认证方法
CN112165711B (zh) 一种基于区块链的车载自组网群组密钥协商方法
JP3362780B2 (ja) 通信システムにおける認証方法、センタ装置、認証プログラムを記録した記録媒体
CN112215626B (zh) 支持环形订单可验证的网约车系统与方法
CN113515782B (zh) 一种基于区块链与零知识证明的个人轨迹证明方法
CN113905047A (zh) 一种空间众包任务分配隐私保护方法及系统
Cahyadi et al. A certificateless aggregate signature scheme for security and privacy protection in VANET
CN114286332A (zh) 一种具有隐私保护的动态高效车载云管理方法
Cahyadi et al. An improved efficient anonymous authentication with conditional privacy-preserving scheme for VANETs
Sun et al. Anonymous authentication and key agreement scheme combining the group key for vehicular ad hoc networks
CN113468440A (zh) 一种基于sf-盲过滤协议的位置隐私保护的匿名查询方法
Hegde et al. Hash based integrity verification for vehicular cloud environment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant