CN115580419A - 运载工具服务提供商系统、用于该系统的方法及存储介质 - Google Patents

运载工具服务提供商系统、用于该系统的方法及存储介质 Download PDF

Info

Publication number
CN115580419A
CN115580419A CN202210112542.2A CN202210112542A CN115580419A CN 115580419 A CN115580419 A CN 115580419A CN 202210112542 A CN202210112542 A CN 202210112542A CN 115580419 A CN115580419 A CN 115580419A
Authority
CN
China
Prior art keywords
vehicle service
salt
service provider
provider system
service subscriber
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.)
Pending
Application number
CN202210112542.2A
Other languages
English (en)
Inventor
M·马斯
G·斯凯德曼特尔
K·罗宾逊
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.)
Motional AD LLC
Original Assignee
Motional AD LLC
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 Motional AD LLC filed Critical Motional AD LLC
Publication of CN115580419A publication Critical patent/CN115580419A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/041Key generation or derivation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
    • H04L12/1868Measures taken after transmission, e.g. acknowledgments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1895Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for short real-time information, e.g. alarms, notifications, alerts, updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/043Key management, e.g. using generic bootstrapping architecture [GBA] using a trusted network node as an anchor
    • H04W12/0431Key distribution or pre-distribution; Key agreement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/18Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/062Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying encryption of the keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3273Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response for mutual authentication

Abstract

本发明提供运载工具服务提供商系统、用于该系统的方法及存储介质。公开了用于自主运载工具操作的会话密钥计算的方法、系统和设备。运载工具服务提供商系统向至少一个运载工具服务订户系统广播第一salt。运载工具服务提供商系统与至少一个运载工具相关联。运载工具服务提供商系统从至少一个运载工具服务订户系统接收同步消息。同步消息包括熵。运载工具服务提供商系统基于第一salt和熵来生成第二salt。运载工具服务提供商系统基于第二salt计算会话密钥。运载工具服务提供商系统向至少一个运载工具服务订户系统发送更新。更新包括用于使用会话密钥解密受保护消息的第二salt。受保护消息用于提供涉及至少一个运载工具的搭乘。可以描述或要求保护其它实施例。

Description

运载工具服务提供商系统、用于该系统的方法及存储介质
技术领域
实施例涉及运载工具的操作,并且具体地涉及用于自主运载工具操作的会话密钥生成。
背景技术
自主运载工具(AV)服务提供商有时使用通信信道来与AV服务的订户通信。然而,例如,在恶意实体使用传统通信信道向AV服务订户发送虚假消息的情况下,该通信信道的使用容易受到对AV服务订户的重放攻击。
发明内容
一种用于运载工具服务提供商系统的方法,包括:由包括至少一个处理器的运载工具服务提供商系统向与运载工具服务订户相关联的至少一个运载工具服务订户系统广播第一salt,所述运载工具服务提供商系统与至少一个运载工具相关联;由所述运载工具服务提供商系统使用所述至少一个处理器从所述至少一个运载工具服务订户系统接收同步消息,所述同步消息包括熵;由所述运载工具服务提供商系统使用所述至少一个处理器基于所述第一salt和所述熵来生成第二salt;由所述运载工具服务提供商系统使用所述至少一个处理器基于所述第二salt来计算会话密钥;以及由所述运载工具服务提供商系统使用所述至少一个处理器向所述至少一个运载工具服务订户系统广播更新,所述更新包括用于使用所述会话密钥解密受保护消息的所述第二salt,所述受保护消息用于提供涉及所述至少一个运载工具的搭乘。
一种运载工具服务提供商系统,包括:至少一个计算机处理器;以及至少一个非暂时性存储介质,其存储有指令,所述指令在由所述至少一个计算机处理器执行的情况下使所述运载工具服务提供商系统进行上述方法。
至少一个非暂时性存储介质,其存储有指令,所述指令在由运载工具服务提供商系统的至少一个计算机处理器执行的情况下使所述运载工具服务提供商系统进行上述方法。
附图说明
图1是例示根据至少一个实施例的具有自主能力的AV的示例的框图。
图2是例示根据至少一个实施例的示例“云”计算环境的框图。
图3是例示根据至少一个实施例的计算机系统的框图。
图4是例示根据至少一个实施例的AV的示例架构的框图。
图5是例示根据至少一个实施例的用于AV操作的会话密钥生成的处理的流程图。
图6是例示根据至少一个实施例的用于AV操作的会话密钥生成的处理的流程图。
图7是例示根据至少一个实施例的用于AV操作的会话密钥生成的处理的时序图。
图8是例示根据至少一个实施例的用于AV操作的会话密钥生成的处理的流程图。
图9是例示根据至少一个实施例的用于AV操作的会话密钥生成的处理的时序图。
图10是例示根据至少一个实施例的用于AV操作的会话密钥生成的处理的时序图。
图11是例示根据至少一个实施例的用于AV操作的会话密钥生成的处理的流程图。
图12是例示根据至少一个实施例的用于AV操作的会话密钥生成的处理的流程图。
图13是例示用于AV操作的会话密钥生成的处理的流程图。
图14是例示根据至少一个实施例的用于AV操作的会话密钥生成的处理的流程图。
具体实施方式
在以下描述中,为了解释的目的,阐述了许多具体细节,以便提供对本发明的透彻理解。然而,本发明可以在没有这些具体细节的情况下实施将是明显的。在其它实例中,众所周知的构造和装置是以框图形式示出的,以避免不必要地使本发明模糊。
在附图中,为了便于描述,示出了示意要素(诸如表示装置、模块、指令块和数据要素的那些要素)的具体排列或次序。然而,本领域技术人员应当理解,附图中示意要素的具体次序或排列并不意在意味着要求特定的处理次序或序列、或处理过程的分离。此外,在附图中包含示意要素并不意在意味着在所有实施例中都需要这种要素,也不意在意味着由这种要素表示的特征不能包括在实施例中或不能在实施例中与其它要素结合。
此外,在附图中,连接要素、诸如实线或虚线或箭头用于例示两个或多于两个其它示意要素之间的连接、关系或关联,没有任何此类连接要素并不意在意味着不能存在连接、关系或关联。换句话说,一些要素之间的连接、关系或关联未在附图中示出,以便不使本公开内容模糊。此外,为了便于例示,使用单个连接要素来表示要素之间的多个连接、关系或关联。例如,如果连接要素表示信号、数据或指令的通信,本领域技术人员应理解,这种要素表示影响通信可能需要的一个或多个信号路径(例如,总线)。
现在将详细参考实施例,其示例在附图中例示出。在以下的详细描述中,阐述了许多具体细节,以便提供对所描述的各种实施例的透彻理解。然而,对于本领域的普通技术人员来说将明显的是,可以在没有这些具体细节的情况下实施所描述的各种实施例。在其它情况下,没有详细描述众所周知的方法、程序、组件、电路和网络,以便不会不必要地使实施例的方面模糊。
下面描述的若干特征各自可以彼此独立地使用,也可以与其它特征的任何组合一起使用。然而,任何个别特征可能不能解决以上所讨论的任何问题,或者只能解决以上所讨论的问题之一。以上所讨论的一些问题可能不能通过本文所描述的任何一个特征得到充分解决。虽然提供了标题,但在本说明书的其它地方也可以找到与具体标题有关但在具有该标题的部分中未找到的信息。本文根据以下概要描述实施例:
1.总体概述
2.系统概述
3.AV架构
4.用于AV操作的会话密钥生成
总体概述
本文提出了用于AV操作的会话密钥生成的方法、系统和设备。会话密钥是由向AV服务的用户出租或分派AV的AV服务提供商计算出的单次使用对称密钥。会话密钥用于加密AV服务提供商和AV服务订户之间的通信会话中的消息。AV服务提供商将由各个AV服务订户生成的熵并入到其用于计算会话密钥的salt中。如本文所使用的,“salt”是指用作用于计算会话密钥的函数的附加输入的诸如随机或伪随机数据等的数据。各个AV服务订户使用独立于AV服务提供商的技术来验证由AV服务提供商提供的salt,并计算会话密钥。
本文公开的实施例的优点和益处包括防止恶意实体对AV服务的订户的重放攻击。所公开的实施例还能够实现AV服务提供商-订户组的按需(例如,当特定AV服务订户请求新搭乘时)的密钥更新。AV服务提供商可以容易地生成新的salt(因此,新的会话密钥)并安全地向AV服务订户通知改变。由各个AV服务订户生成的熵提高了通信系统的安全性和鲁棒性。此外,订户和提供商独立地确定匹配的会话密钥,从而减少了计算开销。
salt在会话的寿命期间不改变。因此,AV服务订户可以避免在成功认证受保护消息之后监视salt消息,从而减少数据传送和计算。熵在会话的持续时间内向前推进(carried forward),从而减少AV服务提供商处的熵弱点(entropy weaknesses)并防止重放攻击。由于所生成的salt链表示由AV服务订户在会话中提供的所有熵的历史,因此安全性进一步提高。本文公开的实施例还通过迫使恶意实体使用salt和熵重新计算会话密钥来防止彩虹表攻击。彩虹表攻击是一种类型的黑客攻击,其中犯罪者试图使用彩虹散列表来破解存储在数据库系统中的密码。
系统概述
图1是例示根据至少一个实施例的具有自主能力的AV 100的示例的框图。
如本文所使用的,术语“自主能力”是指一种功能、特征或设施,该功能、特征或设施使运载工具能够部分地或完全地操作,而无需实时的人类干预,包括但不限于完全自主运载工具、高度自主运载工具和有条件自主运载工具。
如本文所使用的,AV是一种具有自主能力的运载工具。
如本文所使用的,“运载工具”包括货物或人员的运输方式。例如,小汽车、公共汽车、火车、飞机、无人机、卡车、船只、舰艇、潜水器、飞船等。无人驾驶的小汽车是运载工具的示例。
如本文所使用的,“轨迹”是指操作AV从第一时空地点到第二时空地点的路径或路线。在实施例中,第一时空地点被称为初始地点或起始地点,第二时空地点被称为目的地、最终地点、目标、目标位置或目标地点。在一些示例中,轨迹由至少一个路段(例如,道路的数段)组成,并且各路段由至少一个块(例如,车道或交叉口的一部分)组成。在实施例中,时空地点对应于真实世界地点。例如,时空地点是上车或下车地点,以使人员或货物上车或下车。
如本文所使用的,“(一个或多个)传感器”包括至少一个硬件组件,用于检测与传感器周围环境有关的信息。一些硬件组件可包括感测组件(例如,图像传感器、生物特征传感器)、传输和/或接收组件(例如,激光或射频波发射器和接收器)、电子组件(诸如,模数转换器)、数据存储装置(诸如,随机存取存储器(RAM)和/或非易失性存储器)、软件或固件组件和数据处理组件(诸如,专用集成电路)、微处理器和/或微控制器。
如本文所使用的,“场景描述”是一种数据结构(例如,列表)或数据流,其包括由AV运载工具上的至少一个传感器检测到的至少一个分类或标记的对象,或由AV外部的源提供的一个或多个分类或标记的对象。
如本文所使用的,“道路”是一个可以被运载工具穿过的物理区域,并且可以对应于已命名的通道(例如,城市街道、州际高速公路等)或可对应于未命名的通道(例如,房屋或办公楼内的行车道、停车场的一段、空置停车场的一段、乡村区域的污物通道等)。因为有些运载工具(例如,四轮驱动的小卡车、越野车(SUV)等)能够穿过各种不特别适合运载工具行驶的物理区域,因此“道路”可以是任何市政当局或其它政府或行政机构没有正式定义为一条通道的物理区域。
如本文所使用的,“车道”是道路的可被运载工具穿越的部分,并且可对应于车道标记之间的大部分或全部空间,或仅对应于车道标记之间的部分空间(例如,小于50%)。例如,具有相距很远的车道标记的道路可能容纳两个或两个以上的运载工具,使得一个运载工具可以在不穿过车道标记的情况下超过另一个运载工具,因此可被解释为车道比车道标记之间的空间窄,或车道之间有两个车道。在没有车道标记的情况下,也可以对车道进行解释。例如,可以基于环境的物理特征(例如,农村地区的岩石和沿着大道的树木)来定义车道。
“至少一个”包括由一个要素执行的功能、由多个要素例如以分布式的方式执行的功能、由一个要素执行的若干功能、由若干要素执行的若干功能、或上述的任何组合。
还将理解的是,尽管在一些情况下,术语“第一”、“第二”等在本文中是用来描述各种要素的,但这些要素不应受到这些术语的限制。这些术语仅用于区分一个要素与另一个要素。例如,在未背离各种所描述的实施例的范围的情况下,第一触点可被称为第二触点,并且类似地,第二触点可被称为第一触点。第一触点和第二触点两者都是触点,但它们不是相同触点。
在本文所描述的各种实施例的说明书中使用的术语仅用于描述特定实施例的目的,而不是意在限制。如在所描述的各种实施例的说明书和所附权利要求书中所使用的,单数形式“a”、“an”和“the”也意在包括复数形式,除非上下文另有明确说明。还将理解的是,如本文所使用的“和/或”是指并且包括至少一个相关清单项目的任何和所有可能的组合。还将理解的是,当在本说明书中使用术语“包括”、“包含”、“具备”和/或“具有”时,具体说明存在所陈述的特征、整数、要素、操作、要素和/或组件,但并不排除存在或添加至少一个其它特征、整数、要素、操作、要素、组件、和/或其群组。
如本文所使用的,取决于上下文,术语“如果”可选地被理解为意指“当”或“在当时”或“响应于确定为”或“响应于检测到”。类似地,取决于上下文,短语“如果已确定”或“如果[所陈述的条件或事件]已被检测到”可选地被理解为意指“在确定时”或“响应于确定为“或”在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
如本文所使用的,AV系统是指AV以及支持AV操作的硬件、软件、存储的数据和实时生成的数据的阵列。在实施例中,AV系统并入在AV内。在实施例中,AV系统跨若干地点分布。例如,AV系统的一些软件是在类似于下面关于图3描述的云计算环境300的云计算环境上实现的。
一般而言,本文件描述了适用于任何具有至少一个自主能力的运载工具的技术,包括完全AV、高度自主运载工具和有条件自主运载工具,诸如分别为所谓的第5级、第4级和第3级运载工具(见SAE国际标准J3016:道路上机动车自动驾驶系统相关术语的分类和定义,通过引用将其全部内容并入本文件,用于了解运载工具自主权等级的更多详细信息)。本文件所描述的技术也适用于部分自主运载工具和驾驶员辅助运载工具,诸如所谓的第2级和第1级运载工具(见SAE国际标准J3016:道路上机动车自动驾驶系统相关术语的分类和定义)。在实施例中,第1级、第2级、第3级、第4级和第5级运载工具系统中的至少一个可基于对传感器输入的处理,在某些操作条件下自动执行某些运载工具操作(例如,转向、制动和使用地图)。本文件中所描述的技术可以使从完全自主运载工具到人类操作的运载工具范围内的任何级别的运载工具受益。
参考图1,AV系统120使AV 100沿着轨迹198操作,穿过环境190至目的地199(有时称为最终地点),同时避开对象(例如,自然障碍物191、运载工具193、行人192、骑车者和其它障碍物)和遵守道路规则(例如,操作规则或驾驶偏好)。
在实施例中,AV系统120包括用于从计算机处理器146接收操作命令并对其进行操作的装置101。在实施例中,计算处理器146与下面参考图3描述的处理器304相似。装置101的示例包括转向控制器102、制动器103、挡位、加速踏板或其它加速控制机构、挡风玻璃雨刮器、侧门锁、窗控器和转向指示器。
在实施例中,AV系统120包括用于测量或推断AV 100的状态或条件的属性的传感器121,这些属性诸如是AV的位置、线速度和加速度、角速度和加速度、以及航向(例如,AV100的前端的方向)。传感器121的示例是全球导航卫星系统(GNSS)、测量运载工具线加速度和角速率两者的惯性测量单元(IMU)、用于测量或估计轮滑移率的轮传感器、轮制动压力或制动扭矩传感器、引擎扭矩或轮扭矩传感器以及转向角度和角速率传感器。
在实施例中,传感器121还包括用于感测或测量AV的环境的属性的传感器。例如,可见光、红外或热(或两者兼有)光谱的单目或立体摄像机122,LiDAR 123,RADAR,超声波传感器,飞行时间(TOF)深度传感器,速率传感器,温度传感器,湿度传感器和降水传感器。
在实施例中,AV系统120包括数据存储单元142和存储器144,用于存储与计算机处理器146相关联的机器指令或由传感器121收集的数据。在实施例中,数据存储单元142与以下关于图3描述的ROM 308或存储装置310类似。在实施例中,存储器144与下面描述的主存储器306类似。在实施例中,数据存储单元142和存储器144存储有关环境190的历史、实时和/或预测性信息。在实施例中,存储的信息包括地图、驾驶性能、交通拥堵更新或天气条件。在实施例中,与环境190有关的数据从远程数据库134通过通信信道传输到AV 100。
在实施例中,AV系统120包括通信装置140,用于将对其它运载工具的状态和条件(诸如位置、线速度和角速度、线加速度和角加速度、以及线航向和角航向)测量或推断的属性传送到AV 100。这些装置包括运载工具到运载工具(V2V)和运载工具到基础设施(V2I)通信装置以及用于通过点对点或自组织(ad hoc)网络或两者进行无线通信的装置。在实施例中,通信装置140跨电磁频谱(包括无线电和光通信)或其它介质(例如,空气和声介质)进行通信。运载工具对运载工具(V2V)、运载工具对基础设施(V2I)通信(以及在实施例中为至少一种其它类型的通信)的组合有时被称为运载工具对所有事物(V2X)通信。V2X通信通常符合至少一个通信标准,用于与自主运载工具进行的和在自主运载工具之间的通信。
在实施例中,通信装置140包括通信接口。例如,有线、无线、WiMAX、Wi-Fi、蓝牙、卫星、蜂窝、光、近场、红外或无线电接口。通信接口将数据从远程数据库134传输到AV系统120。在实施例中,远程数据库134嵌入在如图2中所描述的云计算环境200中。通信接口140将从传感器121收集的数据或与AV 100操作有关的其它数据传输到远程数据库134。在实施例中,通信接口140向AV 100传输与遥操作有关的信息。在实施例中,AV 100与其它远程(例如,“云”)服务器136通信。
在实施例中,远程数据库134还存储和传输数字数据(例如,存储诸如道路和街道地点的数据)。这些数据存储在AV 100上的存储器144中,或者通过通信信道从远程数据库134传输到AV 100。
在实施例中,远程数据库134存储和传输与以前在一天中类似时间沿着轨迹198行驶的运载工具的驾驶属性有关的历史信息(例如,速率和加速度分布)。在一个实现中,这种数据可以存储在AV 100上的存储器144中,或者通过通信信道从远程数据库134传输到AV100。
位于AV 100上的计算装置146基于实时传感器数据和先验信息两者以算法方式生成控制动作,允许AV系统120执行其自主驾驶能力。
在实施例中,AV系统120包括耦接到计算装置146的计算机外围设备132,用于向AV100的用户(例如,乘员或远程用户)提供信息和提醒并接收来自该用户的输入。在实施例中,外围设备132类似于下面参考图3讨论的显示器312、输入装置314和光标控制器316。耦接是无线的或有线的。任意两个或多于两个的接口装置可以集成到单个装置中。
示例云计算环境
图2是例示根据至少一个实施例的示例“云”计算环境的框图。云计算是一种服务交付模式,用于使得能够方便、按需地在网络上访问可配置计算资源(例如网络、网络带宽、服务器、处理、内存、存储、应用程序、虚拟机和服务)的共享池。在典型的云计算系统中,至少一个大型云数据中心容纳用于交付云所提供的服务的机器。现在参考图2,云计算环境200包括通过云202互连的云数据中心204a、204b和204c。数据中心204a、204b和204c为连接到云202的计算机系统206a、206b、206c、206d、206e和206f提供云计算服务。
云计算环境200包括至少一个云数据中心。一般而言,云数据中心(例如图2中所示的云数据中心204a)是指构成云(例如图2中所示的云202或云的特定部分)的服务器的物理排列。例如,服务器在云数据中心中物理排列成房间、组、行和机架。云数据中心有至少一个区域,其中包括至少一个服务器房间。每个房间有至少一行服务器,并且每行包括至少一个机架。每个机架包括至少一个单独的服务器节点。在一些实现中,区域、房间、机架和/或行中的服务器基于数据中心设施的物理基础设施要求(包括电力、能源、热力、热源和/或其它要求)被排列成若干组。在实施例中,服务器节点类似于图3中描述的计算机系统。数据中心204a具有许多分布在多个机架上的计算系统。
云202包括云数据中心204a、204b和204c以及用于连接云数据中心204a、204b和204c并有助于促进计算系统206a-f对云计算服务的访问的网络和网络资源(例如,网络设备、节点、路由器、交换机和网络电缆)。在实施例中,该网络表示至少一个本地网络、广域网或通过使用地面或卫星连接部署的有线或无线链路耦接的网际网络的任意组合。通过网络交换的数据使用多种网络层协议(诸如,因特网协议(IP)、多协议标签交换(MPLS)、异步传输模式(ATM)、帧中继(Frame Relay)等)进行传输。此外,在网络表示多个子网络的组合的实施例中,在每个底层子网络上使用不同的网络层协议。在实施例中,网络表示至少一个互连网际网络(诸如公共因特网等)。
计算系统206a-f或云计算服务消费者通过网络链路和网络适配器连接到云202。在实施例中,计算系统206a-f被实现为各种计算装置,例如服务器、台式机、膝上型计算机、平板电脑、智能手机、物联网(IoT)装置、自主运载工具(包括小汽车、无人机、航天飞机、火车、公共汽车等)和消费电子产品。在实施例中,计算系统206a-f在其它系统中实现或作为其它系统的一部分实现。
计算机系统
图3是例示根据至少一个实施例的计算机系统300的框图。在实现中,计算机系统300是一种专用计算装置。专用计算装置被硬连线以执行这些技术,或包括诸如至少一个ASIC或现场可编程门阵列(FPGA)等的被持久编程为执行上述技术的数字电子装置,或可包括至少一个通用硬件处理器,这些硬件处理器经编程以根据固件、存储器、其它存储器、或者组合中的程序指令执行这些技术。这种专用的计算装置还可以将定制的硬线逻辑、ASIC或FPGA与定制的编程相结合来完成这些技术。在各种实施例中,专用计算装置是台式计算机系统、便携式计算机系统、手持装置、网络装置或包含硬线和/或程序逻辑以实现这些技术的任何其它装置。
在实施例中,计算机系统300包括总线302或用于传达信息的其它通信机制、以及与总线302耦接以处理信息的硬件处理器304。硬件处理器304是例如通用微处理器。计算机系统300还包括主存储器306,诸如RAM或其它动态存储装置,该主存储器306耦接到总线302以存储信息和指令,该信息和指令由处理器304执行。在一个实现中,主存储器306用于在执行要由处理器304执行的指令期间存储临时变量或其它中间信息。当这些指令存储在处理器304可访问的非暂时性存储介质中时,使计算机系统300变成一个专用机器,该机器被定制以执行指令中指定的操作。
在实施例中,计算机系统300还包括只读存储器(ROM)308或耦接到总线302的其它静态存储装置,用于存储处理器304的静态信息和指令。提供诸如磁盘、光盘、固态驱动器或三维交叉点存储器的存储装置310,并且该存储装置310耦接到总线302以存储信息和指令。
在实施例中,计算机系统300通过总线302耦接到诸如阴极射线管(CRT)、液晶显示器(LCD)、等离子体显示器、发光二极管(LED)显示器或用于向计算机用户显示信息的有机发光二极管(OLED)显示器的显示器312。包括字母数字键和其它键的输入装置314耦接到总线302,用于向处理器304传送信息和命令选择。另一种类型的用户输入装置是光标控制器316,诸如鼠标、轨迹球、触控显示器或光标方向键,用于将方向信息和命令选择传送到处理器304,并用于控制光标在显示器312上的移动。这种输入装置通常具有两个轴(第一轴(例如,x轴)和第二轴(例如,y轴))上的两个自由度,这两个轴允许装置指定平面上的位置。
根据一个实施例,本文的技术由计算机系统300响应于处理器304执行主存储器306中包含的至少一个指令的至少一个序列而执行。这些指令从诸如存储装置310的另一存储介质读入主存储器306。执行主存储器306中包含的指令序列使处理器304执行本文所描述的处理要素。在替代实施例中,使用硬连线电路代替或与软件指令结合使用。
如本文所使用的术语“存储介质”是指存储数据和/或指令的任何非暂时性介质,这些数据和/或指令使机器以特定方式操作。这种存储介质包括非易失性介质和/或易失性介质。非易失性介质例如包括诸如存储装置310的光盘、磁盘、固态驱动器或三维交叉点存储器。易失性介质包括动态存储器,诸如主存储器306。存储介质的常见形式包括例如软盘、软磁盘、硬盘、固态驱动器、磁带或任何其它磁数据存储介质、CD-ROM、任何其它光数据存储介质、任何具有孔型的物理介质、RAM、PROM和EPROM、FLASH-EPROM、NV-RAM、或任何其它存储芯片或存储盒。
存储介质有别于传输介质,但可以与传输介质相结合使用。传输介质参与存储介质之间的信息传输。例如,传输介质包括同轴电缆、铜线和光纤,其包括具备总线302的电线。传输介质也可以采取声波或光波的形式,诸如在无线电波和红外数据通信过程中产生的声波或光波。
在实施例中,各种形式的介质涉及将至少一个指令的至少一个序列承载到处理器304以供执行。例如,这些指令最初是在远程计算机的磁盘或固态驱动器上执行的。远程计算机将指令加载到其动态存储器中,并使用调制解调器通过电话线路发送指令。计算机系统300的本地调制解调器接收电话线路上的数据,并使用红外发射器将数据转换为红外信号。红外检测器接收红外信号中承载的数据,并且适当的电路将数据放置在总线302上。总线302将数据承载到主存储器306,处理器304从主存储器306检索并执行指令。主存储器306接收的指令可以可选地在处理器304执行之前或之后存储在存储装置310上。
计算机系统300还包括耦接到总线302的通信接口318。通信接口318提供耦接到连接至本地网络322的网络链路320的双向数据通信。例如,通信接口318是综合业务数字网(ISDN)卡、电缆调制解调器、卫星调制解调器或用以提供与相应类型电话线路的数据通信连接的调制解调器。作为另一示例,通信接口318是局域网(LAN)卡,用于提供与兼容LAN的数据通信连接。在一些实现中,无线链路也被实现。在任何这种实现中,通信接口318发送和接收承载表示各种类型的信息的数字数据流的电、电磁或光信号。
网络链路320通常通过至少一个网络向其它数据装置提供数据通信。例如,网络链路320通过本地网络322提供与主计算机324或与由因特网服务提供商(ISP)326运营的云数据中心或设备的连接。ISP 326又通过现在通常称为“因特网”328的世界范围分组数据通信网络来提供数据通信服务。本地网络322和因特网328两者都使用承载数字数据流的电、电磁或光信号。通过各种网络的信号以及网络链路320上并通过通信接口318的信号是传输介质的示例形式,其中这些信号承载了进出计算机系统300的数字数据。在实施例中,网络320包含上述云202或云202的一部分。
计算机系统300通过(一个或多个)网络、网络链路320和通信接口318发送消息和接收包括程序代码的数据。在实施例中,计算机系统300接收用于处理的代码。接收到的代码在接收到时由处理器304执行,和/或存储在存储装置310中,或存储在其它非易失性存储装置中以便以后执行。
自主运载工具架构
图4是例示根据至少一个实施例的用于AV(例如,图1所示的AV 100)的示例架构400的框图。架构400包括感知模块402(有时称为感知电路)、规划模块404(有时称为规划电路)、控制模块406(有时称为控制电路)、定位模块408(有时称为定位电路)和数据库模块410(有时称为数据库电路)。各模块在AV100的操作中发挥作用。共同地,模块402、404、406、408和410可以是图1所示的AV系统120的一部分。在实施例中,模块402、404、406、408和410中的任何模块是计算机软件(例如,计算机可读介质上所存储的可执行代码)和计算机硬件(例如,至少一个微处理器、微控制器、专用集成电路[ASIC]、硬件存储器装置、其它类型的集成电路、其它类型的计算机硬件、或者这些硬件中的任何或所有的组合)的组合。
在使用中,规划模块404接收表示目的地412的数据,并且确定表示AV100为了到达(例如,抵达)目的地412而可以行驶的轨迹414(有时称为路线)的数据。为了使规划模块404确定表示轨迹414的数据,规划模块404从感知模块402、定位模块408和数据库模块410接收数据。
感知模块402使用例如也如图1所示的至少一个传感器121来识别附近的物理对象。将对象分类(例如,分组成诸如行人、自行车、汽车、交通标志等的类型),并且将包括经分类的对象416的场景描述提供至规划模块404。
规划模块404还从定位模块408接收表示AV位置418的数据。定位模块408通过使用来自传感器121的数据和来自数据库模块410的数据(例如,地理数据)以计算位置来确定AV位置。例如,定位模块408使用来自GNSS单元的数据和地理数据来计算AV的经度和纬度。在实施例中,定位模块408所使用的数据包括具有行车道几何属性的高精度地图、描述道路网络连接属性的地图、描述行车道物理属性(诸如交通速率、交通量、运载工具和自行车车道的数量、车道宽度、车道交通方向、或车道标记类型和地点,或者它们的组合)的地图、以及描述道路特征(诸如十字路口、交通标志或各种类型的其它行驶信号等)的空间地点的地图。
控制模块406接收表示轨迹414的数据和表示AV位置418的数据,并且以将使得AV100行驶轨迹414到达目的地412的方式来操作AV的控制功能420a~420c(例如,转向、油门、制动、点火)。例如,如果轨迹414包括左转,则控制模块406将以如下方式操作控制功能420a~420c:转向功能的转向角度将使得AV 100左转,并且油门和制动将使得AV 100在进行转弯之前暂停并等待经过的行人或运载工具。
用于AV操作的会话密钥生成
图5是例示根据至少一个实施例的用于AV的操作的会话密钥生成的示例处理的流程图。使用该处理操作的至少一个AV与参考图1更详细地例示和描述的AV 100相同或类似。在实施例中,图5的处理由运载工具服务提供商系统进行。运载工具服务提供商系统与参考图7更详细地例示和描述的AV服务提供商系统704相同或类似。在其它实施例中,其它实体(例如,服务器或计算机系统)进行该处理的一些或全部要素。服务器与例如服务器136相同或类似,并且计算机系统与例如计算机系统300相同或类似。应当理解,图5的实施例旨在作为一个示例处理,并且其它实施例包括不同的要素、更多或更少的要素或以不同顺序进行的要素。
如本文所使用的,运载工具服务提供商系统是指提供用于租借的AV的计算机系统,该AV由单个乘客或乘客组使用以用于非共享搭乘或用于拼车(共享)搭乘。使用至少一个处理器(例如,处理器304)来实现运载工具服务提供商系统。运载工具服务提供商系统在AV中在乘客选择的地点之间运送乘客。在实施例中,运载工具服务提供商系统在短时间段内(通常范围从几小时到几周的范围内)出租AV。运载工具服务提供商系统为需要临时运载工具的乘客(例如,不拥有他们自己的汽车的乘客、外出的旅行者、或正在等待修理或保险赔偿的受损或毁坏运载工具的所有者)服务。在实施例中,运载工具服务提供商系统出租用于移动货物的自主货车或卡车。使用参考图3更详细地例示和描述的示例计算机系统300的组件来实现运载工具服务提供商系统。在实施例中,运载工具服务提供商系统用作AV的搭乘共享提供商,例如,经由网站和移动app将乘客与用于租借的AV匹配的系统。
如本文所述,运载工具服务订户系统是指在与运载工具服务提供商系统相关联的AV中为了约乘或者向运载工具服务订户提供AV搭乘而对来自运载工具服务提供商系统的通信作出响应的计算机系统。在实施例中,运载工具服务订户系统与AV服务订户系统708相同或类似。在实施例中,使用在运载工具服务订户系统上运行的移动app来约叫AV搭乘。在实施例中,运载工具服务订户系统是移动装置(诸如智能电话、膝上型计算机、平板计算机或个人数字助理等)的一部分,并且使用示例计算机系统300的组件来实现。例如,运载工具服务订户(例如,移动app或用户)在运载工具服务订户系统上设置具有姓名、电话号码、其它信息或支付偏好的个人简档。
在替代或附加实施例中,运载工具服务提供商是诸如传感器121之一等的传感器。运载工具服务订户系统是使用由传感器提供的数据的高性能计算节点(或在其上运行的任务)。这种计算节点的一个示例是处理器304。在该实施例中,本文描述的会话密钥将用于保护在传感器和处理器之间传递的消息或数据。在其它实施例中,运载工具服务提供商系统和运载工具服务订户系统可以是如本文中参考其它附图所描述的其它车载系统或要素。
在实施例中,运载工具服务订户系统是AV系统(例如,AV系统120)的一部分,并且使用例如处理器146来实现。例如,在一个实施例中,运载工具服务订户是在运载工具服务订户系统或AV系统上运行的软件客户端。因此,运载工具服务提供商系统与内置于AV系统中的运载工具服务订户系统通信,使得使用由运载工具服务提供商系统发送到运载工具服务订户系统的命令或消息来操作AV。
为了运载工具服务提供商系统和运载工具服务订户系统组之间的安全通信,受保护消息用于消息交换。受保护消息可以是例如黑通道消息。将参考黑通道消息的具体示例来描述本文的实施例,然而应当理解,其它实施例可以包括不同类型的加密或保护协议。
使用黑通道消息,安全相关数据以及诊断信息经由现有网络连接(例如,本地网络322或因特网328)来交换。运载工具服务提供商系统向一个或多于一个运载工具服务订户系统广播salt,以生成用于通信会话的会话密钥。如上所述,“salt”是指由运载工具服务提供商系统生成并由各个运载工具服务订户系统用于计算会话密钥的随机或伪随机数据。例如,运载工具服务订户系统使用salt作为对预共享数据(诸如密钥、数据、密码或密码短语等)进行散列的函数的输入。
会话密钥用于认证、解码或解密在运载工具服务提供商系统和运载工具服务订户系统之间传递的受保护(例如,黑通道)消息。黑通道消息用于在与运载工具服务提供商系统相关联的AV中向乘客(运载工具服务订户)提供搭乘。例如,黑通道消息包括与AV搭乘的起点相关的地理数据、与AV搭乘的目的地相关的地理数据、AV搭乘的乘客数量、AV将携载的行李量、拼车细节、路线细节、关于AV的品牌和型号的信息、乘客的身份或AV的速率数据。如前所述,这种消息包括传感器数据、运载工具诊断数据、运载工具命令、运载工具状态数据或一些其它类型的数据中的一个或多于一个。
本文公开的实施例通过使得各个运载工具服务订户系统能够生成并贡献对salt的熵来防止恶意实体的重放攻击。重放攻击是指有效数据传输(例如,黑通道消息或salt消息)被恶意实体恶意地或欺骗性地重复或延迟的网络攻击。例如,拦截意图用于运载工具服务订户系统的黑通道消息的恶意实体可以启动使用黑通道消息作为IP包替换的欺骗攻击的一部分的重放攻击。本文公开的实施例使用熵防止这种攻击,并且还使得运载工具服务订户系统和运载工具服务提供商系统能够计算用于通信会话的相同会话密钥,从而避免过多的计算负荷。实施例可以提供诸如防欺骗、防篡改等的附加益处。
参考图5,运载工具服务提供商系统生成(500)用于加密与至少一个运载工具服务订户系统的通信会话的会话密钥的salt。salt包括在密码被散列之前被添加到密码的实例(例如,会话密钥)的随机位。在附加或替代实施例中,salt包括运载工具服务提供商系统和运载工具服务订户系统这两者已知的预共享数据。在实施例中,运载工具服务提供商系统从熵池中选择salt。在一个实施例中,熵是指随机变量的可能值中固有的信息的平均水平。在另一实施例中,熵是指随机数据的集合(例如,来自各种源的随机数据的混合)。例如,熵表示将数据无损压缩到无噪声信道上的数学限制。即使当运载工具服务提供商系统和各个运载工具服务订户系统使用相同的预共享数据时,salt也用于创建唯一的密码。
本文公开的实施例的一个优点是,实施例允许不同的订户和发布者关于仅以预共享数据开始的用于不同会话(例如,运载工具的引导或运载工具何时向乘员提供搭乘)的唯一密钥达成一致。本文公开的实施例的另一优点是通过迫使恶意实体使用salt重新计算会话密钥来防止彩虹表攻击。彩虹表攻击是一种类型的黑客攻击,其中犯罪者试图使用彩虹散列表来破解存储在数据库系统中的密码。
运载工具服务提供商系统使用salt计算会话密钥(504)。在实施例中,使用经散列的密钥导出函数(HKDF)、输入密钥内容(IKM)和salt来计算会话密钥。例如,使用根据基于散列消息认证码(HMAC)的HKDF来确定会话密钥。会话密钥是加密和解密密钥,其被随机计算以确保运载工具服务提供商系统和各个运载工具服务订户系统之间的通信会话的安全性。会话密钥有时被称为对称密钥,这是因为相同的密钥用于加密和解密在运载工具服务提供商系统和各个运载工具服务订户系统之间传递的黑通道消息。HKDF是基于HMAC的密钥导出函数(KDF)。HKDF用作各种协议和应用中的构建块,还防止多种KDF机制的增殖。HMAC是涉及加密散列函数和秘密加密密钥(例如,salt)的类型的消息认证码(MAC)。在实施例中,IKM(其是加密强伪随机字符串)用于提取固定长度伪随机密钥。固定长度伪随机密钥被扩展成若干附加伪随机密钥(HKDF的输出),如以下等式(1)所表示:
会话密钥=[HKDF(IKM,salt)](1)
运载工具服务提供商系统使用会话密钥初始化(508)其受保护消息(例如,黑通道)发送器,使得该黑通道发送器准备好向运载工具服务订户系统发送黑通道消息,以向运载工具服务订户系统的用户调度和提供AV中的搭乘。黑通道发送器是运载工具服务提供商系统的一部分,并且使用参考图3更详细地例示和描述的示例计算机系统300的组件来实现。运载工具服务提供商系统开始向运载工具服务订户系统广播黑通道受保护消息。定期地广播包含在启动时生成或选择的salt的salt消息。
在实施例中,运载工具服务提供商系统将第一一个或多于一个黑通道受保护消息广播到运载工具服务订户系统组,以使该组的一个或多于一个运载工具服务订户系统认证黑通道消息及其会话密钥。在认证了会话密钥和第一一个或多于一个黑通道受保护消息之后,将各个下一黑通道消息从运载工具服务提供商系统发送到黑通道消息所针对的相应运载工具服务订户系统。这种黑通道消息携载关于与相应运载工具服务订户系统相关联的特定AV搭乘的机密或受保护信息。例如,黑通道消息包括搭乘目的地、搭乘时间、乘客身份、路线信息或乘客数量的细节。
运载工具服务提供商系统将其在要素500中生成或选择的salt广播(512)给运载工具服务订户系统,以将salt通知给运载工具服务订户系统。例如,在包含其它元数据的salt message(salt消息)内发送salt。示例salt消息表示为:
Figure BDA0003495232970000191
加入会话的新运载工具服务订户系统以这种方式接收salt。运载工具服务提供商系统使用定时器来定期地重新广播(516)salt,使得加入的新运载工具服务订户系统接收salt。在实施例中,定时器是电子定时器,诸如具有数字电子器件的石英定时器、集成电路定时器、软件定时器或具有梯形逻辑的可编程逻辑控制器(PLC)等。各个运载工具服务订户系统以与要素504中针对运载工具服务提供商系统所描述的方式相同的方式使用salt来计算会话密钥。会话密钥用于解码或解密来自运载工具服务提供商系统的黑通道消息,以在与运载工具服务提供商系统相关联的一个或多于一个AV中提供搭乘。
图6是例示根据至少一个实施例的用于AV操作的会话密钥生成的示例处理的流程图。使用该处理操作的至少一个AV与参考图1更详细地例示和描述的AV 100相同或类似。在实施例中,图6的处理由运载工具服务订户系统组中的运载工具服务订户系统进行。运载工具服务订户系统与AV服务订户系统708相同或类似。使用至少一个处理器(例如,处理器304)来实现运载工具服务订户系统。
在其它实施例中,其它实体(例如,服务器(例如,服务器136)、计算机系统(例如,计算机系统300)、移动装置或AV系统(例如,AV系统120))进行该处理的一些或全部要素。将认识到,图6的技术旨在作为示例技术,并且其它实施例包括更多或更少的要素、与所描绘的顺序不同的顺序的要素等。
在实施例中,允许加入由运载工具服务提供商系统管理的服务会话的运载工具服务订户系统的最大数量限于由运载工具服务提供商系统指定的运载工具服务订户系统的阈值数量。例如,在与运载工具服务提供商系统的服务会话中运载工具服务订户系统组的大小被限制为10、25、50、100等。由运载工具服务提供商系统指定的运载工具服务订户系统的阈值数量提供了改进的通信等待时间、减少的传输数据量以及减少的计算负荷,特别是当运载工具服务提供商系统正在从由运载工具服务订户系统组中的若干不同运载工具服务订户系统贡献的熵计算新的salt时。
在启动时,当运载工具服务订户系统加入与运载工具服务提供商系统的会话时,运载工具服务订户系统等待(604)从运载工具服务提供商系统接收salt消息和salt。运载工具服务提供商系统与AV服务提供商系统704相同或类似,并且使用诸如处理器304等的至少一个处理器来实现。
salt最终将用于由运载工具服务订户系统计算会话的会话密钥,使得运载工具服务订户系统可以认证和解码(或解密)来自运载工具服务提供商系统的黑通道消息,以在由运载工具服务提供商系统提供的AV中向乘客提供搭乘。运载工具服务提供商系统广播包含salt的下一salt消息,如参考图5中的要素500更详细地例示和描述的。运载工具服务订户系统从运载工具服务提供商系统接收(608)salt消息中的广播salt。
运载工具服务订户系统使用IKM和salt计算(612)会话的会话密钥,这类似于如参考图5更详细地例示和描述的由运载工具服务提供商系统进行的要素504。运载工具服务订户系统使用会话密钥来初始化其受保护消息(例如,黑通道)接收器。黑通道接收器是运载工具服务订户系统的一部分,并且使用示例计算机系统300的组件来实现。黑通道接收器用于从运载工具服务提供商系统接收黑通道消息,以在由运载工具服务提供商系统提供的AV中安排搭乘。运载工具服务提供商系统向运载工具服务订户系统组广播至少一个黑通道消息。
为了验证salt和会话密钥是正确的并且被正确地接收和生成/计算,运载工具服务订户系统尝试使用会话密钥来认证黑通道消息。如果使用会话密钥对黑通道消息的认证成功,则运载工具服务订户系统具有正确的会话密钥。运载工具服务订户系统消耗黑通道消息并忽略其在会话期间接收的未来salt消息。因此,运载工具服务订户系统终止(616)监视salt消息。另一方面,如果使用会话密钥的黑通道消息的认证失败,则运载工具服务订户系统丢弃黑通道消息。
为了认证黑通道消息,运载工具服务订户系统验证黑通道消息的数据来源以及黑通道消息在运输中未被修改。在实施例中,运载工具服务订户系统使用MAC、认证加密(AE)或数字签名来进行认证。MAC或数字认证器被用作基于salt的完整性检查。MAC基于使用加密散列或对称加密。
在接收到新的黑通道消息时,运载工具服务订户系统通过尝试使用会话密钥认证新的黑通道消息来再次验证salt和会话密钥是正确的。如果黑通道消息认证失败但运载工具服务订户系统接收到具有不同salt的新salt消息,则运载工具服务订户系统使用IKM和新salt计算(612)会话的新会话密钥,这类似于如参考图5更详细地例示和描述的运载工具服务提供商系统使用的要素504。为了验证新salt和新会话密钥是正确的,运载工具服务订户系统尝试使用新会话密钥认证至少一个黑通道消息。
如果使用新会话密钥对黑通道消息的认证成功,则运载工具服务订户系统具有用于会话的正确会话密钥。运载工具服务订户系统消耗黑通道消息并忽略其在会话期间接收的未来salt消息。因此,运载工具服务订户系统终止(616)监视另外的salt消息。salt在会话的整个寿命期间保持不变,因此运载工具服务订户系统在成功认证黑通道受保护消息之后停止监视salt消息。运载工具服务订户系统不会变得与运载工具服务提供商系统去同步,并且在会话的持续时间内使用相同的会话密钥来认证来自运载工具服务提供商系统的黑通道消息。
图7是例示根据至少一个实施例的用于AV操作的会话密钥生成和认证的示例处理的时序图。使用该处理操作的至少一个AV与AV相同或类似。在实施例中,图7的处理由AV服务提供商系统704和AV服务订户系统708进行。参考图5更详细地描述AV服务提供商系统704。AV服务提供商系统704使用至少一个处理器(例如,示例处理器304)来实现。
AV服务订户系统708是运载工具服务订户系统组中的一个,并且参考图5更详细地描述。AV服务订户系统708使用至少一个处理器来实现。处理器与参考图3更详细地例示和描述的处理器304相同或类似。在其它实施例中,其它实体(例如,服务器(例如,服务器136)、计算机系统(例如,计算机系统300)、移动装置或AV系统(例如,AV系统120))进行该处理的一些或全部要素。如上所述,其它实施例包括更多、更少或不同的要素,或者以与所描绘的顺序不同的顺序进行的要素。
在要素712中,AV服务提供商系统704生成salt。例如,如参考图5更详细地例示和描述的,AV服务提供商系统704从熵值池中选择salt。如参考图5更详细地例示和描述的,AV服务提供商系统704使用IKM和salt通过HKDF计算会话密钥。可以基于所使用的散列算法和散列算法的实现来调整会话密钥。AV服务提供商系统704使用会话密钥初始化其黑通道发送器,并向运载工具服务订户系统组广播(716)至少一个黑通道消息。
在要素720中,AV服务订户系统708接收黑通道消息,但是确定其尚未接收到salt或计算出用于会话的会话密钥。AV服务订户系统708丢弃黑通道消息,并且不尝试认证黑通道消息。如参考图6中的要素604更详细地例示和描述的,AV服务订户系统708继续等待来自运载工具服务提供商系统的salt消息。在要素724中,AV服务提供商系统704向运载工具服务订户系统组广播salt消息,该salt消息包含先前在要素712中生成的salt。AV服务订户系统708接收salt。salt消息由AV服务提供商系统704定期地广播,以允许后来的和重新产生的运载工具服务订户系统与AV服务提供商系统704同步。
在要素728中,AV服务订户系统708使用salt和IKM计算会话密钥,这类似于在要素712中由AV服务提供商系统704进行的处理。AV服务提供商系统704向运载工具服务订户系统组广播(732)新的黑通道消息,其由AV服务订户系统708接收。AV服务订户系统708使用所计算的会话密钥来认证(736)新的黑通道消息,并且停止监视另外的salt消息。AV服务订户系统708使用会话密钥对后续黑通道消息进行解码或解密,以在由AV服务提供商系统704提供的AV中向乘客提供搭乘。
根据至少一个考虑因素来调整salt消息广播的频率。在实施例中,AV服务提供商系统704发送黑通道消息的第一频率大于或等于发送salt消息的第二频率。salt消息广播的频率决定了运载工具服务订户系统在启动时经历的延迟。因此,期望更高频率的salt消息广播,并且对该salt消息广播的频率与网络开销进行权衡。此外,在第一实现中,将存在比salt消息更多的黑通道受保护消息。然而,在第二实现中,可能存在比黑通道消息更多的salt消息。运载工具服务订户系统成功地认证至少一个黑通道受保护消息以确认其已经正确地计算了会话密钥。因此,黑通道受保护消息与salt消息的最小比率应该至少为1:1,以允许认证检查迅速发生。
图8是例示根据至少一个实施例的用于AV操作的会话密钥生成的示例处理的流程图。使用该处理操作的至少一个AV与参考图1更详细地例示和描述的AV 100相同或类似。在实施例中,图8的处理由运载工具服务提供商系统进行。运载工具服务提供商系统与AV服务提供商系统704相同或类似。在其它实施例中,其它实体(例如,服务器(例如,服务器136)或计算机系统(例如,计算机系统300))进行该处理的一些或全部要素。同样地,实施例可以包括不同的、更少的或附加的要素,或者以不同的顺序进行这些要素。
在要素804中,运载工具服务提供商系统生成用于加密与至少一个运载工具服务订户系统的通信会话的会话密钥的第一salt。在实施例中,运载工具服务订户系统与AV服务订户系统708相同或类似。使用至少一个处理器(例如,示例处理器304)来实现运载工具服务订户系统。在其它实施例中,其它实体(例如,移动装置或AV系统)进行该处理的一些或所有要素。AV系统与AV系统120相同或类似。同样地,实施例可以包括不同的和/或附加的要素,或者以不同的顺序进行这些要素。
在实施例中,运载工具服务提供商系统从熵池中选择第一salt,并且使用第一salt计算一个或多于一个会话密钥。运载工具服务提供商系统使用会话密钥初始化其黑通道发送器,使得该黑通道发送器准备向运载工具服务订户系统组发送黑通道消息,以向运载工具服务订户系统的用户调度和提供AV中的搭乘。然后,运载工具服务提供商系统向运载工具服务订户系统广播黑通道受保护消息。
定期地广播(808)包含在启动时生成或选择的第一salt的salt消息。例如,运载工具服务提供商系统使用定时器来定期地重新广播(812)第一salt。在实施例中,定时器是电子定时器,诸如具有数字电子器件的石英定时器、集成电路定时器、软件定时器或具有梯形逻辑的PLC等。运载工具服务提供商系统可以另外计算(814)会话密钥,例如以类似于上面关于要素504描述的方式那样。
在实施例中,触发运载工具服务提供商系统的集合和运载工具服务订户系统组的密钥更新。例如,定期地或响应于系统内的事件(例如,运载工具服务订户系统对由运载工具服务提供商系统供应的AV中的新搭乘的请求或者AV中的新搭乘的开始)触发密钥更新。当需要更新密钥时,运载工具服务提供商系统生成(816)新的(第二)salt,并因此生成相应的第二会话密钥,并向运载工具服务订户系统组通知(820)该改变。当进行密钥更新时,用第二会话密钥重新初始化运载工具服务订户系统组的黑通道接收器和运载工具服务提供商系统的黑通道发送器,并且将黑通道消息序列计数器重置为0。黑通道接收器和黑通道发送器保持同步,使得在会话密钥转换期间没有黑通道消息被丢弃。
在实施例中,运载工具服务提供商系统通过发送包含由运载工具服务提供商系统生成的熵的salt更新消息来发起会话的密钥更新。例如,如果运载工具服务订户系统在阈值时间量内尚未发起密钥更新或贡献熵,则运载工具服务提供商系统发起密钥更新。阈值时间量是几秒到几分钟。在实施例中,运载工具服务提供商系统定期地发起密钥更新。定期密钥更新间隔比定期salt消息广播间隔长,以防止运载工具服务订户系统组丧失发送同步消息的机会。例如,运载工具服务提供商系统使用定时器(诸如具有数字电子器件的石英定时器、集成电路定时器、软件定时器或具有梯形逻辑的PLC等)定期地发起密钥更新。
如果恶意实体试图通过提交同步请求来强制密钥更新,则本文公开的实施例使用可以调整的salt消息和salt更新消息之间的时间间隔来防止这种情况。例如,在广播salt更新之后,运载工具服务提供商系统在阈值时间段内增加salt消息的频率。salt消息频率的增加为运载工具服务订户系统组提供了与运载工具服务提供商系统重新同步的机会。在实施例中,阈值时间段是几秒到几分钟。在实施例中,运载工具服务提供商系统以比salt消息更高的频率广播salt更新消息。更新频率的增加增加了salt更新消息的重传次数,并减少了未能接收到至少一个更新的运载工具服务订户系统的数量,从而增强了系统的安全性。
在要素820中,运载工具服务提供商系统向运载工具服务订户系统组广播包括第二salt的salt更新消息。Salt更新消息(Salt Update Message)有时被称为“更新”。例如,salt更新消息被表示为:
Figure BDA0003495232970000261
在实施例中,运载工具服务提供商系统监视与广播第一salt的持续时间相关联的定时器。例如,广播第一salt的持续时间在几毫秒到几秒的范围内。在实施例中,定时器是电子定时器,诸如具有数字电子器件的石英定时器、集成电路定时器、软件定时器或具有梯形逻辑的PLC等。响应于定时器到期,将更新广播到运载工具服务订户系统组。
salt更新消息具有至少两个字段。在实施例中,“valid through(有效通过)”的值是由(从第一salt导出的)当前会话密钥保护的最后黑通道受保护消息的序列号。“secondsalt(第二salt)”的值是接下来将使用的新salt。可以使用不同的散列算法或散列函数的不同实现来调整第二salt的值。在实施例中,“validthrough”的值是在传入的黑通道受保护消息将由(从第一salt导出的)当前会话密钥保护之前的特定时间。
在要素824中,运载工具服务提供商系统重新广播salt更新。当要调度salt更新时,运载工具服务提供商系统选择(820)“valid through”的合适值,并从其熵池中提取(816)新salt。运载工具服务提供商系统开始定期地重新广播(824)salt更新消息而不是salt消息。例如,如图8所示,定时器用于定期地重新广播salt更新消息。在实施例中,定时器是电子定时器,诸如具有数字电子器件的石英定时器、集成电路定时器、软件定时器或具有梯形逻辑的PLC等。
在“valid through”到期的选定时间,运载工具服务提供商系统计算(828)第二(新)会话密钥,并返回到816。以这种方式,能够在不丢弃消息的情况下无缝转换到新的会话密钥。
在新运载工具服务订户系统加入运载工具服务订户系统组例如以请求新搭乘的实施例中,新运载工具服务订户系统在更新已被调度广播的情况下等待(820)。例如,新运载工具服务订户系统等待820或824处的更新完成并且等待新salt变得有效。然后,新的运载工具服务订户系统使用新的salt来计算(828)会话密钥,并且尝试认证黑通道受保护消息以确认所计算的会话密钥是正确的。在实施例中,调整“valid through”的值,使得反应较慢的运载工具服务订户系统具有足够的时间来处理salt更新消息并在更新发生之前计算新的会话密钥。
图9是例示根据至少一个实施例的用于AV操作的会话密钥生成的示例处理的时序图。使用该处理操作的至少一个AV与AV 100相同或类似。在实施例中,图9的处理由使用至少一个处理器(例如,处理器304)实现的AV服务提供商系统704进行。
AV服务订户系统708是如本文所述的运载工具服务订户系统组中的一个,并且使用诸如处理器304等的至少一个处理器来实现。在其它实施例中,其它实体(例如服务器(例如,服务器136)、计算机系统(例如,计算机系统300)、移动装置或AV系统(例如,AV系统120))进行该处理的一些或所有要素。另外,实施例可以包括与所描绘的不同、更多或更少的要素,或者以与所描绘的顺序不同的顺序出现的要素。
AV服务提供商系统704生成第一salt S。例如,AV服务提供商系统704生成作为伪随机值的矢量的第一salt S,或者如参考图5更详细地例示和描述的从熵值池中选择第一salt S。如参考图5更详细地例示和描述的,AV服务提供商系统704使用IKM和第一salt S通过HKDF计算会话密钥。AV服务提供商系统704使用会话密钥初始化其黑通道发送器,并在salt消息中将第一salt S广播到运载工具服务订户系统组。AV服务订户系统708接收第一salt S,并以与AV服务提供商系统704所使用的方式类似的方式从第一salt S计算会话密钥。AV服务订户系统708使用会话密钥初始化其黑通道接收器。
AV服务提供商系统704使用其黑通道发送器向运载工具服务订户系统组广播黑通道消息X。AV服务订户系统708使用其黑通道接收器接收黑通道消息X。为了确定是否具有正确的salt和会话密钥,AV服务订户系统708在要素904中尝试使用会话密钥来认证黑通道消息X。黑通道消息X被正确认证。为了提供附加的安全性,本文公开的实施例被设计成使得AV服务提供商系统704在salt的改变之间广播至少一个salt更新消息。为了用信号通知潜在的网络攻击,当运载工具服务订户系统接收到具有不同内容的两个顺序的salt消息而没有中间的salt更新消息时,触发错误状况。例如,在要素908中,AV服务订户系统708从AV服务提供商系统704接收具有第二salt S’的salt消息。由于在要素904与要素908之间不存在更新,因此用信号通知错误且忽略第二salt S’。
为了确定错误状况的原因,AV服务订户系统708在要素912中检查从AV服务提供商系统704接收的另外的黑通道受保护消息。AV服务提供商系统704广播由AV服务订户系统708接收的黑通道消息X+1。在要素912中,AV服务订户系统708使用从第一salt S导出的会话密钥正确地认证黑通道消息X+1。接下来,AV服务提供商系统704广播黑通道消息X+2,AV服务订户系统708接收该黑通道消息X+2。在要素916中,AV服务订户系统708使用从第一salt S导出的会话密钥正确地认证黑通道消息X+2。由于黑通道消息X+1和X+2继续正确地认证,因此丢弃错误的第二salt S’。AV服务订户系统708向AV服务提供商系统704或中央服务器发送消息或警告,从而向AV服务提供商系统704或中央服务器通知错误的第二saltS’,并且警告潜在的篡改salt或恶意实体的潜在重放攻击。
图10是例示根据至少一个实施例的用于AV操作的会话密钥生成的示例处理的时序图。使用该处理操作的至少一个AV与AV 100相同或类似。在实施例中,如上所述,图10的处理由AV服务提供商系统704和AV服务订户系统708进行。在实施例中,AV服务提供商系统704使用至少一个处理器(例如,示例处理器304)来实现。
AV服务订户系统708是如上所述的运载工具服务订户系统组中的一个,并且使用诸如处理器304等的至少一个处理器来实现。在其它实施例中,其它实体(例如,服务器(例如,服务器136)、计算机系统(例如,计算机系统300)、移动装置或AV系统(例如,AV系统120))进行该处理的一些或全部要素。另外,其它实施例包括更多、更少或不同的要素、以与所描绘的顺序不同的顺序进行的要素等。
AV服务提供商系统704生成第一salt S。例如,如参考图5更详细地例示和描述的,AV服务提供商系统704从熵值池中选择第一salt S。如参考图5更详细地例示和描述的,AV服务提供商系统704使用IKM和第一salt S通过HKDF计算会话密钥。AV服务提供商系统704使用会话密钥初始化其黑通道发送器,并且在salt消息中将第一salt S广播到运载工具服务订户系统组。AV服务订户系统708接收第一salt S,并且以与AV服务提供商系统704所使用的方式类似的方式从第一salt S计算会话密钥。AV服务订户系统708使用会话密钥初始化其黑通道接收器。
AV服务提供商系统704使用其黑通道发送器向运载工具服务订户系统组广播第一黑通道消息X。AV服务订户系统708使用其黑通道接收器接收第一黑通道消息X。为了确定是否具有正确的salt和会话密钥,AV服务订户系统708在要素1004中尝试使用会话密钥来认证第一黑通道消息X。第一黑通道消息X被正确地认证。
在实施例中,AV服务订户系统708从AV服务提供商系统704接收第二saltS’。包括第二salt S’的salt消息指示不存在与第二salt S’相关联的被调度的salt更新。AV服务订户系统708向AV服务提供商系统704发送指示可能的重放攻击的重放警告消息。例如,AV服务提供商系统704向运载工具服务订户系统组广播具有第二salt S’的更新。然而,在要素1008中,AV服务订户系统708由于网络中的故障、断电、包被丢弃的其它原因或其组合而错过接收更新。
AV服务提供商系统704使用其黑通道发送器向运载工具服务订户系统组广播第二黑通道消息X+1。AV服务订户系统708使用其黑通道接收器接收第二黑通道消息X+1。在要素1012中,AV服务订户系统708使用基于第一saltS的会话密钥成功地认证第二黑通道消息X+1(因为AV服务订户系统708不知道存在salt更新)。在实施例中,AV服务提供商系统704监视与广播更新的持续时间相关联的定时器。在定时器到期之后,黑通道消息序列计数器被设置为0,并且AV服务提供商系统704广播下一黑通道消息0。为了解密黑通道消息0,使用第二salt S’生成的新会话密钥是需要的。然而,AV服务订户系统708仍然使用利用第一salt S计算的先前的会话密钥的集合。
AV服务订户系统708使用其黑通道接收器接收黑通道消息0。在要素1016中,AV服务订户系统708使用根据第一salt S’计算的会话密钥尝试认证黑通道消息0。认证失败。在实施例中,AV服务提供商系统704监视与广播更新的持续时间相关联的定时器。AV服务提供商系统704响应于定时器到期而广播具有第二salt S的salt消息。由于AV服务订户系统708在接收到第一saltS之后在没有接收到中间的更新的情况下接收到第二salt S’,因此在1020处,AV服务订户系统708与AV服务提供商系统704去同步。AV服务提供商系统704向AV服务提供商系统704发送指示可能的重放攻击的重放警告消息。因此,在如在要素1008中那样存在丢弃或丢失的salt更新消息的情况下,黑通道受保护消息不再正确地认证(要素1016)。AV服务订户系统708需要与AV服务提供商系统704重新同步。
图11是例示根据至少一个实施例的用于AV操作的会话密钥生成的示例处理的流程图。使用该处理操作的至少一个AV与AV 100相同或类似。在实施例中,图11的处理由运载工具服务提供商系统进行,该运载工具服务提供商系统与AV服务提供商系统704相同或类似。在其它实施例中,其它实体(例如,服务器(例如,服务器136)或计算机系统(例如,计算机系统300))进行该处理的一些或全部要素。应当理解,其它实施例包括更多、更少或不同的要素,或者以与本文所描绘的顺序不同的顺序的要素。
在要素1100中,运载工具服务提供商系统(例如,使用诸如处理器304等的至少一个处理器实现的AV服务订户系统708)生成用于加密与至少一个运载工具服务订户系统的通信会话的会话密钥的第一salt。运载工具服务订户系统是运载工具服务订户系统组中的一个。在其它实施例中,其它实体(例如,移动装置或AV系统(例如,AV系统120))进行该处理的一些或所有要素。
在实施例中,运载工具服务提供商系统从熵池中选择第一salt。运载工具服务提供商系统使用第一salt计算会话密钥。运载工具服务提供商系统使用会话密钥初始化其黑通道发送器,使得该黑通道发送器准备向运载工具服务订户系统组发送黑通道消息,以向运载工具服务订户系统的用户调度和提供AV中的搭乘。
在实施例中,运载工具服务提供商系统向与运载工具服务订户相关联的至少一个运载工具服务订户系统广播第一salt。运载工具服务订户是运载工具服务订户系统的用户或在运载工具服务订户系统上运行的软件客户端。运载工具服务提供商系统与至少一个运载工具(例如,AV 100)相关联。运载工具服务提供商系统启动与在salt消息内向运载工具服务订户系统组广播第一salt的持续时间相关联的定时器。响应于定时器到期,运载工具服务提供商系统广播(1104)包含在启动时生成或选择的第一salt的salt消息。重置与广播第一salt的持续时间相关联的定时器,并且运载工具服务提供商系统在定时器到期时定期地重新广播(1104)包含第一salt的salt消息。例如,定时器是电子定时器,诸如具有数字电子器件的石英定时器、集成电路定时器、软件定时器或具有梯形逻辑的PLC等。
本文描述的实施例使用由运载工具服务订户系统组中的各个运载工具服务订户系统生成的熵来更新salt以增强HKDF的安全益处。因此,避免了系统对运载工具服务提供商系统处的熵弱点的敏感性。还防止了运载工具服务订户系统组针对重放攻击的漏洞。实施例还防止运载工具服务订户系统在其认证其第一黑通道受保护消息并且会话密钥被“锁定”之前以及当发生密钥更新时的漏洞。由运载工具服务订户系统贡献的熵在会话的剩余部分被向前推进。
在实施例中,运载工具服务提供商系统从运载工具服务订户系统组中的运载工具服务订户系统接收同步消息。同步消息包括由运载工具服务订户系统生成的熵。熵由运载工具服务订户系统独立于运载工具服务提供商系统并且独立于运载工具服务提供商系统的不同熵池而生成。熵是随机值(整数或浮点)、伪随机值、随机生成的位的数字矢量或其组合。同步消息由运载工具服务订户系统生成,以将熵贡献给下一salt更新。同步消息(synchronization Message)表示如下:
Figure BDA0003495232970000321
熵值由运载工具服务订户系统使用不同的散列算法和散列实现来调整。在实施例中,同步消息中的“entropy(熵)”字段是由运载工具服务订户系统从其自己的熵池抽取的随机数。“last salt(最后salt)”是指来自运载工具服务订户系统接收的最后salt消息的salt值。例如,“last salt”是在要素1100中由运载工具服务提供商系统生成的第一salt。在实施例中,运载工具服务提供商系统通过验证同步消息的“last salt”字段有效来增强安全性。为了有效,同步消息的“last salt”字段值应与运载工具服务提供商系统的当前salt(例如,第一salt)匹配。如果验证成功,则运载工具服务提供商系统处理同步消息。
在实施例中,运载工具服务提供商系统确定为对第一salt进行的基于散列的消息认证的结果与在同步消息中从运载工具服务订户系统接收的“lastsalt”不匹配。响应于确定为结果与“last salt”不匹配,运载工具服务提供商系统确定可能的拒绝服务(DoS)攻击的指示。例如,为了防止恶意实体用同步消息淹没(flooding)运载工具服务订户系统组并触发大量会话密钥重新计算,从而导致对运载工具服务提供商系统和运载工具服务订户系统组处的中央处理单元(CPU)可用性的DoS攻击,如等式(2)中调整“last salt”字段的内容:
最后salt=HMAC[Kss,当前salt||熵] (2)
这里,Kss表示加密会话密钥,该加密会话密钥由运载工具服务提供商系统(使用开放的、前视试探法)假设当前salt(例如,由运载工具服务提供商系统生成的第一salt)可信的情况下确定的。因此,使用等式(3)确定密钥Kss:
Kss=HKDF(salt,IKM)* (3)
当运载工具服务提供商系统接收到同步消息时,运载工具服务提供商系统使用由运载工具服务订户系统提供的熵和运载工具服务提供商系统的当前salt(例如,第一salt)的副本来进行与运载工具服务订户系统相同的HMAC确定。运载工具服务提供商系统将HMAC的结果与从运载工具服务订户系统接收的“last salt”进行比较。如果验证检查成功,则运载工具服务提供商系统移动到要素1108。如果验证检查失败,则运载工具服务提供商系统丢弃同步消息并用信号通知潜在的DoS攻击或不规则性。在实施例中,如果存在密钥重用问题,则使用不同的IKM来避免密钥重复。
在实施例中,运载工具服务提供商系统基于第一salt和从运载工具服务订户系统接收的熵生成第二salt。例如,运载工具服务提供商系统通过将当前salt(例如,第一salt)和来自接收到的同步消息的熵级联(concatenate)来扩展(1108)第一salt。在实施例中,生成第二salt包括由运载工具服务提供商系统对第一salt和熵的级联来进行HMAC。例如,级联数据通过散列算法传递以产生第二salt的值。例如,如等式(4)中生成第二salt:
第二salt=Hash[当前salt||熵] (4)
在实施例中,标识运载工具服务提供商系统的信息(诸如名称、标识号或IP地址等)被包括在级联数据中以增强数据安全性。
运载工具服务提供商系统基于第二salt计算(1112)会话密钥。在实施例中,如参考图5更详细地例示和描述的,使用HKDF、IKM和第二salt来计算会话密钥。例如,使用基于HMAC的HKDF来确定会话密钥。在实施例中,运载工具服务提供商系统在接收到同步消息之后设置定时器,并且当定时器到期时由运载工具服务提供商系统生成第二salt。当生成第二salt时,运载工具服务提供商系统利用从第二salt导出的会话密钥重新初始化其黑通道发送器上下文。在进一步提高安全性的实施例中,在生成会话密钥之前,运载工具服务提供商系统验证对来自运载工具服务订户系统的“last salt”和熵的级联进行的基于散列的消息认证与第二salt匹配。响应于验证失败,运载工具服务提供商系统用信号通知潜在的DoS攻击或不规则性。
运载工具服务提供商系统向运载工具服务订户系统组广播(1116)更新。更新包括用于使用会话密钥解密黑通道消息的第二salt。黑通道消息用于在与运载工具服务提供商系统相关联的至少一个运载工具中提供搭乘。在实施例中,运载工具服务提供商系统广播扩展的salt更新消息。扩展salt更新消息以适应作为同步消息的一部分从运载工具服务订户系统组接收的至少一个熵贡献。例如,扩展的更新表示如下:
Figure BDA0003495232970000341
扩展的更新中的“entropy”字段表示由至少一个运载工具服务订户系统贡献的熵。在实施例中,通过增强salt生成以防止攻击者制作salt更新消息并潜在地引起对运载工具服务订户系统组的DoS攻击来进一步提高安全性。通过用HMAC替换加密散列来增强salt生成,以防止攻击者伪造salt更新消息。如等式(5)中那样进行增强salt的生成:
第二salt=HMAC[Kns,当前salt||熵] (5)
在假设当前salt(例如,第一salt)可信的情况下确定密钥Kns。因此,使用等式(6)确定密钥Kns:
Kns=HKDF(Salt,IKM) (6)
在实施例中,通过使用不同的IKM来避免密钥重用问题。
运载工具服务提供商系统定期地重新广播(1116)salt更新消息。例如,如参考图8更详细地例示和描述的,定时器用于定期地重新广播salt更新消息。在实施例中,salt更新消息以由定时器控制的间隔广播(1116)并且重复最大数N次。在实施例中,定时器是电子定时器,诸如具有数字电子器件的石英定时器、集成电路定时器、软件定时器或具有梯形逻辑的PLC等。运载工具服务提供商系统返回到要素1104以将第二salt广播到运载工具服务订户系统组,从而在与运载工具服务提供商系统相关联的至少一个运载工具中提供搭乘。
在实施例中,运载工具服务提供商系统使用其计算的会话密钥来加密黑通道消息。如参考图7更详细地例示和描述的,运载工具服务提供商系统将黑通道消息发送到运载工具服务订户系统组中的至少一个运载工具服务订户系统。在实施例中,黑通道使用新会话密钥保护在生成(1108)第二salt之后广播的任何黑通道消息。
在实施例中,所描述的熵是由运载工具服务订户系统组中的第一运载工具服务订户系统生成的第一熵。第一运载工具服务订户系统与关联于运载工具服务提供商系统的第一运载工具中的第一搭乘相关联。运载工具服务提供商系统的更新广播(1116)是对第一salt的第一更新,从而产生第二salt。运载工具服务提供商系统从(运载工具服务订户系统组中的)第二运载工具服务订户系统接收对第二搭乘的请求。在实施例中,第二运载工具服务订户系统是运载工具服务订户系统组的新进入者。运载工具服务提供商系统基于第二salt和由第二运载工具服务订户系统生成的第二熵来生成(1108)第三salt。运载工具服务提供商系统向运载工具服务订户系统组广播(1116)第二更新,使得第二更新包括第三salt。
在实施例中,第二salt包括多个熵值的散列。各个熵值由运载工具服务提供商系统从相应的运载工具服务订户系统接收。例如,通过了本文描述的验证检查的第一有效同步消息使运载工具服务提供商系统调度salt更新。来自在进行salt更新之前从运载工具服务订户系统组接收的任何同步消息的熵将被包括在新的salt生成中。
在实施例中,当运载工具服务提供商系统接收到同步消息并且salt更新消息已经被广播时,丢弃同步消息。例如,由运载工具服务提供商系统接收的同步消息是第一同步消息。运载工具服务提供商系统在广播(1116)更新之后但在广播(1104)新salt之前接收到第二同步消息。作为响应,运载工具服务提供商系统丢弃刚好在广播(1116)更新之后接收的第二同步消息。
图12是例示根据至少一个实施例的用于AV操作的会话密钥生成的示例处理的流程图。使用该处理操作的至少一个AV与参考图1更详细地例示和描述的AV 100相同或类似。在实施例中,图12的处理由运载工具服务订户系统组中的运载工具服务订户系统(例如,使用诸如处理器304等的至少一个处理器实现的AV服务订户系统708)进行。在其它实施例中,其它实体(例如,服务器(例如,服务器136)、计算机系统(例如,计算机系统300)、移动装置或AV系统(例如,AV系统120))进行该处理的一些或全部要素。另外,该技术的其它实施例包括更多或更少的要素、不同的要素、以与所描绘的顺序不同的顺序进行的要素等。
在启动时,当运载工具服务订户系统加入与运载工具服务提供商系统(例如,使用诸如处理器304等的至少一个处理器实现的AV服务提供商系统704)的会话时,运载工具服务订户系统等待(1204)从运载工具服务提供商系统接收salt消息和salt。
在实施例中,在启动时,当运载工具服务订户系统试图与运载工具服务提供商系统协调以向与运载工具服务订户系统相关联的用户或乘客提供搭乘时,运载工具服务订户系统向运载工具服务提供商系统发送请求新搭乘的通知。运载工具服务订户系统加入与运载工具服务订户系统组和运载工具服务提供商系统的会话。运载工具服务订户系统响应于向运载工具服务提供商系统发送对在与运载工具服务提供商系统相关联的运载工具中搭乘的请求而从运载工具服务提供商系统接收到salt。在实施例中,从运载工具服务提供商系统接收的salt包括或者是由运载工具服务提供商系统生成的伪随机数据。例如,伪随机数据由运载工具服务提供商系统从运载工具服务提供商系统的熵池中选择。运载工具服务提供商系统的熵池独立于由运载工具服务订户系统生成的熵。
salt最终将用于由运载工具服务订户系统计算会话的会话密钥,使得运载工具服务订户系统可以认证和解码(或解密)来自运载工具服务提供商系统的黑通道消息,以在与运载工具服务提供商系统相关联或由运载工具服务提供商系统提供的AV中向乘客提供搭乘。如参考图5中的要素500更详细地例示和描述的,运载工具服务提供商系统广播包含salt的salt消息。运载工具服务订户系统接收来自运载工具服务提供商系统的salt消息中的广播salt。
运载工具服务订户系统与运载工具服务订户相关联,该运载工具服务订户可以是运载工具服务订户系统所在的移动装置的用户、运载工具服务订户系统的软件客户端、在移动装置上执行的app、或者在AV系统(运载工具服务订户系统是该AV系统的一部分)上运行的软件客户端。运载工具服务订户系统生成熵。如参考图11更详细地例示和描述的,熵由运载工具服务订户系统独立于运载工具服务提供商系统并且独立于运载工具服务提供商系统的不同熵池而生成。熵是随机值(整数或浮点)、伪随机值、随机生成的位的数字矢量或其组合。在实施例中,运载工具服务订户系统从独立于运载工具服务提供商系统的不同熵池的熵池中选择熵。
运载工具服务订户系统将同步消息发送(1208)到与至少一个运载工具相关联的运载工具服务提供商系统。同步消息包括熵。在实施例中,运载工具服务订户系统接收指示缺少调度的salt更新的salt消息。在运载工具服务订户系统向运载工具服务提供商系统发送同步消息之前,在要素1204中,运载工具服务订户系统等待要由运载工具服务提供商系统广播的至少一个salt消息。salt消息指示当前没有调度salt更新。运载工具服务提供商系统丢弃在salt更新的广播已经开始之后接收的任何同步消息。运载工具服务提供商系统使用定时器以规则的间隔定期地向运载工具服务订户系统发送salt。salt消息与指示运载工具服务提供商系统正在进行salt更新的更新不同。在实施例中,定时器是电子定时器,诸如具有数字电子器件的石英定时器、集成电路定时器、软件定时器或具有梯形逻辑的PLC等。运载工具服务订户系统响应于从运载工具服务提供商系统接收到salt消息而发送(1208)同步消息。
响应于从运载工具服务提供商系统接收到包含salt的更新(salt更新消息),运载工具服务订户系统验证salt是使用运载工具服务订户系统向运载工具服务提供商系统贡献的熵生成的。在实施例中,由运载工具服务提供商系统基于熵使用HMAC生成salt。运载工具服务订户系统验证salt是使用HMAC和运载工具服务订户系统生成和发送的熵生成的。例如,一旦在要素1208中发送了同步消息,运载工具服务订户系统就等待要由运载工具服务提供商系统广播的salt更新消息。如果运载工具服务订户系统的熵贡献被列出、示出或并入salt更新消息的熵字段中,并且运载工具服务订户系统验证了新salt的确定,则运载工具服务订户系统已经成功地将其熵贡献给salt。然后,运载工具服务订户系统在要素1212中计算会话密钥,并开始认证黑通道受保护消息。
在实施例中,通过使用熵对先前的salt(由运载工具服务订户系统在要素1204处接收)进行的加密散列来生成salt。例如,运载工具服务提供商系统使用散列函数来处理熵并生成包括加密文本的固定大小的salt。在实施例中,如果运载工具服务订户系统确定其熵贡献未被列出或并入salt更新消息中,或者如果salt验证失败,则运载工具服务订户系统重试要素1208的同步消息要素。在实施例中,运载工具服务订户系统向运载工具服务提供商系统发送指示潜在重放攻击的警告消息。运载工具服务订户系统不信任广播salt,直到运载工具服务订户系统的熵贡献被运载工具服务提供商系统并入到salt中为止。运载工具服务订户系统尝试验证该并入,并且如果验证成功,则salt被运载工具服务订户系统认为是可信的。运载工具服务订户系统仅使用可信salt来计算用于认证来自运载工具服务提供商系统的黑通道受保护消息的会话密钥。
在实施例中,运载工具服务订户系统在来自运载工具服务提供商系统的更新内接收salt。发送salt消息的第一频率大于发送更新的第二频率。例如,salt消息(不同于更新消息)比更新消息更频繁地发送。在实施例中,一旦在要素1208中成功完成同步消息过程的运载工具服务订户系统接收到指示salt更新被调度的salt更新消息,运载工具服务订户系统就验证salt确定。如果salt确定被成功验证,则运载工具服务订户系统计算(1212)并使用新的会话密钥。如果验证失败,则运载工具服务订户系统重试要素1208的同步消息过程。
在实施例中,运载工具服务订户系统确定为在更新消息中接收的salt排除了熵。运载工具服务订户系统等待(1204)来自运载工具服务提供商系统的指示缺少调度的salt更新的salt消息。响应于从运载工具服务提供商系统接收到指示缺少被调度的salt更新的salt消息,运载工具服务订户系统重新发送(1208)同步消息。在实施例中,运载工具服务订户系统确定为salt排除了熵。作为响应,运载工具服务订户系统向运载工具服务提供商系统发送指示可能的重放攻击的消息。在实施例中,一旦已经成功完成要素1208的同步消息过程的运载工具服务订户系统接收到salt消息、并且salt值与运载工具服务订户系统自己的记录不匹配,则运载工具服务订户系统重试要素1208的同步消息过程。
因此,本文公开的实施例检测并防止两种类型的攻击。防止重放攻击,在重放攻击中,恶意实体拦截salt消息或更新,模仿运载工具服务提供商系统,并假装为运载工具服务提供商系统向运载工具服务订户系统发送消息。例如,恶意实体可以尝试重放攻击以从运载工具服务订户系统提取个人、财务或机密信息或支付。防止DoS攻击,在DoS攻击中,恶意实体拦截salt消息或更新,模仿运载工具服务订户系统,并且假装为运载工具服务订户系统向运载工具服务提供商系统发送消息。恶意实体可以尝试DoS攻击以从运载工具服务提供商系统提取个人、财务或机密信息,实现拒绝服务,或者尝试劫持运载工具服务提供商系统以进行勒索。
在要素1212中,运载工具服务订户系统使用salt计算会话密钥。以与本文其它地方更详细描述的方式类似或相同的方式计算会话密钥。在实施例中,在要素1208中由运载工具服务订户系统从运载工具服务提供商系统接收的salt是第一salt,并且在要素1208中由运载工具服务订户系统生成并发送的熵是第一熵。生成第一熵的运载工具服务订户系统是运载工具服务订户系统组中的第一运载工具服务订户系统。由第一运载工具服务订户系统在要素1212中计算的会话密钥是第一会话密钥。第一运载工具服务订户系统在要素1216中从运载工具服务提供商系统接收更新。更新包括使用由运载工具服务订户系统组中的第二运载工具服务订户系统生成的第二熵生成的第二salt。例如,运载工具服务订户系统正在请求在与运载工具服务提供商系统相关联的另一运载工具中的乘客的AV搭乘。第一运载工具服务订户系统移动到要素1212并使用第二salt计算第二会话密钥。使用与参考图11更详细描述的处理相同或类似的处理来计算第二会话密钥。
在实施例中,在要素1212中由运载工具服务订户系统接收的黑通道消息是第一黑通道消息。运载工具服务订户系统确定为基于包括来自另一运载工具服务订户系统的熵的salt所计算的会话密钥未能认证从运载工具服务提供商系统接收的第二黑通道消息。例如,存在第二运载工具服务订户系统是恶意实体的风险。该运载工具服务订户系统向运载工具服务提供商系统生成指示可能的重放攻击的重放警告消息。
在实施例中,运载工具服务订户系统是运载工具服务订户系统组中的一个。salt包括链式要素集合。使用由运载工具服务订户系统组中的相应运载工具服务订户系统生成的不同熵来生成链式集合中的各个要素。因此,运载工具服务订户系统组中的各个运载工具服务订户系统增强了各个其它运载工具服务订户系统以及运载工具服务提供商系统的安全性。例如,在要素1208中可能发生特定运载工具服务订户系统不直接贡献的进一步的salt更新。通过验证“salt链”中的各个链路,特定运载工具服务订户系统验证其熵贡献仍然存在。使用一系列加密散列来构建“salt链”。因此,salt值表示由运载工具服务订户系统在会话中贡献的熵的历史。即使进入与运载工具服务提供商系统的会话的大量新运载工具服务订户系统也不会“冲刷”现有的熵贡献。如果运载工具服务订户系统检测到“salt链”已经被破坏,则运载工具服务订户系统将认为任何新的salt是不可信的,直到运载工具服务订户系统贡献了更多的熵并验证熵被运载工具服务提供商系统并入salt中为止。
运载工具服务订户系统从运载工具服务提供商系统接收黑通道消息。运载工具服务订户系统使用会话密钥来认证黑通道消息,从而在与运载工具服务提供商系统相关联的至少一个运载工具中提供搭乘。如果黑通道消息认证失败,则运载工具服务订户系统移动到处理中的要素1204并等待下一salt消息。在实施例中,运载工具服务订户系统响应于验证salt是使用熵生成的而初始化用于从运载工具服务提供商系统接收黑通道消息的黑通道接收器。在要素1216中,一旦认证了黑通道消息并且信任salt,运载工具服务订户系统就初始化其黑通道接收器以接收和解密与提供AV搭乘相关联的另外的黑通道消息。
在实施例中,在要素1216中,运载工具服务订户系统接收下一更新。运载工具服务订户系统移动到处理中的要素1212并且基于下一salt来计算会话密钥。运载工具服务订户系统确定为下一更新指示当前salt在特定时间之前有效。例如,“valid through”值被用作指示符。参考图8更详细地描述“valid through”指示符。运载工具服务订户系统在下一更新内从运载工具服务提供商系统接收下一salt。运载工具服务订户系统基于当前salt来解密黑通道消息。黑通道消息用于在与运载工具服务提供商系统相关联的运载工具中提供搭乘。
在要素1216中,运载工具服务订户系统定期地从运载工具服务提供商系统接收包含当前salt的salt消息。如果这些接收的salt值中的一个与当前salt不匹配,则运载工具服务订户系统移动到该处理中的要素1204,在要素1204中其等待来自运载工具服务提供商系统的下一salt消息。例如,如参考图8更详细地例示和描述的,运载工具服务提供商系统使用定时器来定期地重新广播salt消息。在实施例中,salt消息以由定时器控制的间隔广播并重复最大数M次。在实施例中,定时器是电子定时器,诸如具有数字电子器件的石英定时器、集成电路定时器、软件定时器或具有梯形逻辑的PLC等。
图13是例示根据至少一个实施例的用于AV操作的会话密钥生成的示例处理的流程图。使用该处理操作的至少一个AV与AV 100相同或类似。在实施例中,图13的处理由运载工具服务提供商系统(例如,AV服务提供商系统704)进行。在其它实施例中,其它实体(例如,服务器(例如,服务器136)或计算机系统(例如,计算机系统300))进行该处理的一些或全部要素。另外,所示处理的其它实施例包括更多、更少或不同的要素,或者以与所描绘的顺序不同的顺序安排的要素。
运载工具服务提供商系统向与运载工具服务订户相关联的至少一个运载工具服务订户系统(例如,使用诸如处理器304等的至少一个处理器实现的AV服务订户系统708)广播(1304)第一salt。运载工具服务提供商系统与至少一个运载工具相关联。
运载工具服务提供商系统启动与在salt消息内向运载工具服务订户系统组广播第一salt的持续时间相关联的定时器。响应于定时器到期,运载工具服务提供商系统广播(1304)包含在启动时生成或选择的第一salt的salt消息。与广播第一salt的持续时间相关联的定时器被重置,并且运载工具服务提供商系统在定时器到期时定期地重新广播(1304)包含第一salt的salt消息。例如,定时器是电子定时器,诸如具有数字电子器件的石英定时器、集成电路定时器、软件定时器或具有梯形逻辑的PLC等。
运载工具服务提供商系统从运载工具服务订户系统接收(1308)同步消息。同步消息包括由运载工具服务订户系统生成的熵。熵由运载工具服务订户系统独立于运载工具服务提供商系统并且独立于运载工具服务提供商系统的不同熵池而生成。熵是随机值(整数或浮点)、伪随机值、随机生成的位的数字矢量或其组合。同步消息由运载工具服务订户系统生成,以将熵贡献给下一salt更新。
熵值由运载工具服务订户系统使用不同的散列算法和散列实现来调整。在实施例中,同步消息中的“entropy”字段是由运载工具服务订户系统从其自己的熵池抽取的随机数。“last salt”字段是指来自运载工具服务订户系统所接收的最后salt消息的salt值。例如,“last salt”是在要素1304中由运载工具服务提供商系统生成的第一salt。在实施例中,运载工具服务提供商系统通过验证同步消息的“last salt”字段有效来增强安全性。为了有效,同步消息的“lastsalt”字段值应与运载工具服务提供商系统的当前salt(例如,第一salt)匹配。如果验证成功,则运载工具服务提供商系统处理同步消息。
运载工具服务提供商系统基于第一salt和熵生成(1312)第二salt。例如,运载工具服务提供商系统通过将当前salt(例如,第一salt)和来自接收到的同步消息的熵级联来更新(1308)第一salt。在实施例中,生成第二salt包括由运载工具服务提供商系统对第一salt和熵的级联进行HMAC。例如,级联数据通过散列算法以产生第二salt的值。在实施例中,标识运载工具服务提供商系统的信息(诸如名称、标识号或IP地址等)被包括在级联数据中以增强数据安全性。
运载工具服务提供商系统基于第二salt计算(1316)会话密钥。在实施例中,如参考图5更详细地例示和描述的,使用HKDF、IKM和第二salt来计算会话密钥。例如,使用基于HMAC的HKDF来确定会话密钥。在实施例中,运载工具服务提供商系统在接收到同步消息之后设置定时器,并且当定时器到期时由运载工具服务提供商系统生成第二salt。当生成第二salt时,运载工具服务提供商系统利用从第二salt导出的会话密钥重新初始化其受保护消息(例如,黑通道消息)发送器上下文。在进一步提高安全性的实施例中,在生成会话密钥之前,运载工具服务提供商系统验证对来自运载工具服务订户系统的“last salt”和熵的级联进行的基于散列的消息认证与第二salt匹配。响应于验证失败,运载工具服务提供商系统用信号通知潜在的DoS攻击或不规则性。
运载工具服务提供商系统向运载工具服务订户系统广播(1320)更新。更新包括用于使用会话密钥解密受保护消息的第二salt。受保护消息用于提供涉及至少一个运载工具的搭乘。在实施例中,运载工具服务提供商系统广播扩展的salt更新消息。扩展salt更新消息以适应作为同步消息的一部分从运载工具服务订户系统组接收的至少一个熵贡献。
扩展的更新中的“entropy”字段表示由至少一个运载工具服务订户系统贡献的熵。在实施例中,通过增强salt生成以防止攻击者制作salt更新消息并潜在地引起对运载工具服务订户系统组的DoS攻击来进一步改善安全性。通过用HMAC替换加密散列来增强salt生成,以防止攻击者伪造salt更新消息。
图14是例示根据至少一个实施例的用于AV(例如,AV 100)的操作的会话密钥生成的示例处理的流程图。在实施例中,图14的处理由运载工具服务订户系统组中的运载工具服务订户系统(例如,使用诸如处理器304等的至少一个处理器实现的AV服务订户系统708)进行。在其它实施例中,其它实体(例如,服务器(例如,服务器136)、计算机系统(例如,计算机系统300)、移动装置或AV系统(例如,AV系统120))进行该处理的一些或全部要素。应当理解,该处理的其它实施例包括更多或更少的要素、不同的要素、以不同顺序安排的要素等。
运载工具服务订户系统生成(1404)熵。运载工具服务订户系统与运载工具服务订户相关联,运载工具服务订户是在运载工具服务订户系统上运行的软件客户端或运载工具服务订户系统的用户。如参考图11更详细地例示和描述的,熵由运载工具服务订户系统独立于运载工具服务提供商系统并且独立于运载工具服务提供商系统的不同熵池而生成。熵是随机值(整数或浮点)、伪随机值、随机生成的位的数字矢量或其组合。在实施例中,运载工具服务订户系统从独立于运载工具服务提供商系统的不同熵池的熵池中选择熵。
运载工具服务订户系统向与至少一个运载工具相关联的运载工具服务提供商系统发送(1408)同步消息。同步消息包括熵。在实施例中,运载工具服务订户系统接收指示缺少被调度的salt更新的salt消息。在运载工具服务订户系统向运载工具服务提供商系统发送同步消息之前,运载工具服务订户系统等待要由运载工具服务提供商系统广播的至少一个salt消息。salt消息指示当前没有调度salt更新。运载工具服务提供商系统丢弃在salt更新的广播已经开始之后接收的任何同步消息。运载工具服务提供商系统使用定时器以规则的间隔定期地向运载工具服务订户系统发送salt。salt消息与更新不同,该更新指示运载工具服务提供商系统正在进行salt更新。在实施例中,定时器是电子定时器,诸如具有数字电子器件的石英定时器、集成电路定时器、软件定时器或具有梯形逻辑的PLC等。
运载工具服务订户系统从运载工具服务提供商系统接收(1412)salt。salt在来自运载工具服务提供商系统的更新内被接收。运载工具服务订户系统验证salt是使用运载工具服务订户系统贡献给运载工具服务提供商系统的熵生成的。在实施例中,由运载工具服务提供商系统基于熵使用HMAC生成salt。运载工具服务订户系统验证salt是使用HMAC和运载工具服务订户系统生成并发送的熵生成的。例如,一旦发送了同步消息,运载工具服务订户系统就等待由运载工具服务提供商系统广播的salt更新消息。
如果运载工具服务订户系统的熵贡献被列出、示出或并入salt更新消息的熵字段中,并且运载工具服务订户系统验证了新salt的确定,则运载工具服务订户系统已经成功地将其熵贡献给salt。然后,运载工具服务订户系统计算会话密钥并开始认证受保护消息。在实施例中,通过使用熵对先前的salt(由运载工具服务订户系统接收)进行的加密散列来生成salt。例如,运载工具服务提供商系统使用散列函数来处理熵并生成包括加密文本的固定大小的salt。
运载工具服务订户系统验证(1416)salt是使用熵生成的。在实施例中,如果运载工具服务订户系统确定其熵贡献未被列出或并入salt更新消息中,或者如果salt验证失败,则运载工具服务订户系统重试同步消息要素。在实施例中,运载工具服务订户系统向运载工具服务提供商系统发送指示潜在重放攻击的警告消息。运载工具服务订户系统不信任广播salt,直到运载工具服务订户系统的熵贡献被运载工具服务提供商系统并入到salt中为止。订户尝试验证该并入,并且如果验证成功,则salt被运载工具服务订户系统认为是可信的。运载工具服务订户系统仅使用可信salt来计算用于认证来自运载工具服务提供商系统的受保护消息的会话密钥。
运载工具服务订户系统使用salt计算(1420)会话密钥。会话密钥用于与运载工具服务提供商系统的通信会话。以与本文其它地方更详细描述的方式类似或相同的方式计算会话密钥。在实施例中,由运载工具服务订户系统从运载工具服务提供商系统接收的salt是第一salt,并且由运载工具服务订户系统生成并发送的熵是第一熵。生成第一熵的运载工具服务订户系统是运载工具服务订户系统组中的第一运载工具服务订户系统。由第一运载工具服务订户系统计算的会话密钥是第一会话密钥。第一运载工具服务订户系统从运载工具服务提供商系统接收更新。更新包括使用由运载工具服务订户系统组中的第二运载工具服务订户系统生成的第二熵生成的第二salt。例如,运载工具服务订户系统正在请求与运载工具服务提供商系统相关联的另一运载工具中的乘客的AV搭乘。第一运载工具服务订户系统使用第二salt计算第二会话密钥。使用与参考图11更详细地描述的处理相同或类似的处理来计算第二会话密钥。
运载工具服务订户系统从运载工具服务提供商系统接收(1424)受保护消息。运载工具服务订户系统使用会话密钥来认证受保护消息,从而在与运载工具服务提供商系统相关联的至少一个运载工具中提供搭乘。如果受保护消息认证失败,则运载工具服务订户系统等待下一salt消息。在实施例中,运载工具服务订户系统响应于验证salt是使用熵生成的而初始化用于从运载工具服务提供商系统接收受保护消息的受保护消息接收器。一旦受保护消息被认证并且salt被信任,运载工具服务订户系统就初始化其受保护消息接收器以接收和解密与提供AV搭乘相关联的另外的黑通道消息。
运载工具服务订户系统使用会话密钥来认证(1428)受保护消息。受保护消息用于提供涉及与运载工具服务提供商系统相关联的至少一个运载工具的搭乘。如果使用会话密钥对受保护消息的认证成功,则运载工具服务订户系统具有用于会话的正确会话密钥。运载工具服务订户系统消耗受保护消息并忽略其在会话期间接收的未来salt消息。运载工具服务订户系统不会变得与运载工具服务提供商系统去同步,并且在会话的持续时间内使用相同的会话密钥来认证来自运载工具服务提供商系统的受保护消息。
在先前描述中,已经参考许多具体细节描述了本发明的实施例,这些具体细节可因实现而不同。因此,说明书和附图应被视为说明性的,而非限制性意义的。本发明范围的唯一且排他的指示、以及申请人期望成为本发明范围的内容是以发布权利要求书的具体形式从本申请发布的权利要求书的字面和等同范围,包括任何后续修正。本文中明确阐述的用于被包括在此类权利要求中的术语的任何定义应当以此类术语如在权利要求书中所使用的意义为准。另外,当在先前的说明书或所附权利要求书使用术语“还包括”时,该短语的下文可以是附加的要素或实体、或先前所述的要素或实体的子要素/子实体。

Claims (20)

1.一种用于运载工具服务提供商系统的方法,包括:
由包括至少一个处理器的运载工具服务提供商系统向与运载工具服务订户相关联的至少一个运载工具服务订户系统广播第一salt,所述运载工具服务提供商系统与至少一个运载工具相关联;
由所述运载工具服务提供商系统使用所述至少一个处理器从所述至少一个运载工具服务订户系统接收同步消息,所述同步消息包括熵;
由所述运载工具服务提供商系统使用所述至少一个处理器基于所述第一salt和所述熵来生成第二salt;
由所述运载工具服务提供商系统使用所述至少一个处理器基于所述第二salt来计算会话密钥;以及
由所述运载工具服务提供商系统使用所述至少一个处理器向所述至少一个运载工具服务订户系统广播更新,所述更新包括用于使用所述会话密钥解密受保护消息的所述第二salt,所述受保护消息用于提供涉及所述至少一个运载工具的搭乘。
2.根据权利要求1所述的方法,其中,所述运载工具服务订户系统包括与所述至少一个运载工具相关联的自主运载工具系统,并且所述运载工具服务订户包括在所述自主运载工具系统上执行的软件客户端。
3.根据权利要求1或2所述的方法,其中,所述运载工具服务订户与用户相关联,并且所述运载工具服务订户系统包括用户装置。
4.根据权利要求1~3中任一项所述的方法,其中,所述会话密钥是使用经散列的密钥导出函数、输入密钥内容和所述第二salt计算的。
5.根据权利要求1~4中任一项所述的方法,其中,所述熵是由所述运载工具服务订户系统独立于所述运载工具服务提供商系统生成的。
6.根据权利要求1~5中任一项所述的方法,还包括:由所述运载工具服务提供商系统使用所述至少一个处理器、使用所述会话密钥来初始化受保护消息发送器,以向所述至少一个运载工具服务订户系统发送所述受保护消息。
7.根据权利要求1~6中任一项所述的方法,还包括:由所述运载工具服务提供商系统使用所述至少一个处理器监视与广播所述第一salt的持续时间相关联的定时器,其中,响应于所述定时器到期,所述更新被广播至所述至少一个运载工具服务订户系统。
8.根据权利要求1~7中任一项所述的方法,其中,所述熵是第一熵,所述至少一个运载工具服务订户系统是第一运载工具服务订户系统,所述搭乘是第一搭乘,并且所述更新是第一更新,所述方法还包括:
由所述运载工具服务提供商系统使用所述至少一个处理器从第二运载工具服务订户系统接收用于第二搭乘的请求;
由所述运载工具服务提供商系统使用所述至少一个处理器基于所述第二salt和由所述第二运载工具服务订户系统生成的第二熵来生成第三salt;以及
由所述运载工具服务提供商系统使用所述至少一个处理器向所述至少一个运载工具服务订户系统和所述第二运载工具服务订户系统广播第二更新,所述第二更新包括所述第三salt。
9.根据权利要求1~8中任一项所述的方法,其中,生成所述第二salt包括:由所述运载工具服务提供商系统使用所述至少一个处理器对所述第一salt和所述熵的级联进行基于散列的消息认证。
10.根据权利要求1~9中任一项所述的方法,其中,所述第二salt包括多个熵值的散列,各个熵值由所述运载工具服务提供商系统从相应的运载工具服务订户系统接收。
11.根据权利要求1~10中任一项所述的方法,其中,所述同步消息是第一同步消息,所述方法还包括:
在广播所述更新之后,由所述运载工具服务提供商系统使用所述至少一个处理器接收第二同步消息;以及
响应于广播所述更新,由所述运载工具服务提供商系统使用所述至少一个处理器丢弃所述第二同步消息。
12.根据权利要求1~11中任一项所述的方法,其中,所述同步消息还包括先前的salt,所述方法还包括由所述运载工具服务提供商系统在计算所述会话密钥之前使用所述至少一个处理器来验证对所述先前的salt和所述熵的级联进行的基于散列的消息认证与所述第二salt匹配。
13.根据权利要求1~12中任一项所述的方法,还包括:
由所述运载工具服务提供商系统使用所述至少一个处理器来使用所述会话密钥加密所述受保护消息;以及
由所述运载工具服务提供商系统使用所述至少一个处理器向所述至少一个运载工具服务订户系统发送所述受保护消息。
14.根据权利要求1~13中任一项所述的方法,其中,所述运载工具服务提供商系统进行所述受保护消息的发送的第一频率大于或等于发送所述第一salt的第二频率。
15.根据权利要求1~14中任一项所述的方法,还包括由所述运载工具服务提供商系统使用所述至少一个处理器向所述至少一个运载工具服务订户系统广播所述第二salt,以提供所述至少一个运载工具中的搭乘。
16.根据权利要求15所述的方法,还包括:由所述运载工具服务提供商系统监视与广播所述更新的持续时间相关联的定时器,其中,所述第二salt响应于所述定时器到期而被广播。
17.根据权利要求1~16中任一项所述的方法,还包括:
由所述运载工具服务提供商系统使用所述至少一个处理器确定为对所述第一salt进行的基于散列的消息认证的结果与先前的salt不匹配,其中,所述同步消息还包括所述先前的salt;以及
响应于确定为所述结果与所述先前的salt不匹配,由所述运载工具服务提供商系统使用所述至少一个处理器确定可能的拒绝服务攻击的指示。
18.根据权利要求1~17中任一项所述的方法,其中,所述受保护消息是黑通道消息。
19.一种运载工具服务提供商系统,包括:
至少一个计算机处理器;以及
至少一个非暂时性存储介质,其存储有指令,所述指令在由所述至少一个计算机处理器执行的情况下使所述运载工具服务提供商系统进行根据权利要求1~18中任一项所述的方法。
20.至少一个非暂时性存储介质,其存储有指令,所述指令在由运载工具服务提供商系统的至少一个计算机处理器执行的情况下使所述运载工具服务提供商系统进行根据权利要求1~18中任一项所述的方法。
CN202210112542.2A 2021-06-21 2022-01-29 运载工具服务提供商系统、用于该系统的方法及存储介质 Pending CN115580419A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/353,772 US20220408245A1 (en) 2021-06-21 2021-06-21 Session key generation for autonomous vehicle operation
US17/353,772 2021-06-21

Publications (1)

Publication Number Publication Date
CN115580419A true CN115580419A (zh) 2023-01-06

Family

ID=80080220

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210112542.2A Pending CN115580419A (zh) 2021-06-21 2022-01-29 运载工具服务提供商系统、用于该系统的方法及存储介质

Country Status (5)

Country Link
US (1) US20220408245A1 (zh)
KR (1) KR20220169872A (zh)
CN (1) CN115580419A (zh)
DE (1) DE102021133346A1 (zh)
GB (2) GB202312891D0 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11792644B2 (en) 2021-06-21 2023-10-17 Motional Ad Llc Session key generation for autonomous vehicle operation
US20230017962A1 (en) * 2021-07-15 2023-01-19 Waymo Llc Denial of service response to the detection of illicit signals on the in-vehicle communication network

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8539233B2 (en) * 2007-05-24 2013-09-17 Microsoft Corporation Binding content licenses to portable storage devices
US8353019B2 (en) * 2010-03-26 2013-01-08 Canon Kabushiki Kaisha Security token destined for multiple or group of service providers
DE102012217743B4 (de) * 2012-09-28 2018-10-31 Siemens Ag Überprüfung einer Integrität von Eigenschaftsdaten eines Gerätes durch ein Prüfgerät
KR102100159B1 (ko) * 2014-01-13 2020-04-13 삼성전자 주식회사 이동 통신 시스템에서 서비스 발견 및 그룹 통신을 위한 보안 지원 방법 및 시스템
US9628273B2 (en) * 2014-04-30 2017-04-18 Thamir Alshammari Cryptographic method and system for secure authentication and key exchange
US9875589B1 (en) * 2016-09-28 2018-01-23 Ford Global Technologies, Llc Vehicle access authentication
GB201707168D0 (en) * 2017-05-05 2017-06-21 Nchain Holdings Ltd Computer-implemented system and method
US11623342B2 (en) * 2017-12-12 2023-04-11 Walmart Apollo, Llc Configurable service isolation zones for service of equipment employing mobile robots
US20200228311A1 (en) * 2019-01-10 2020-07-16 Syccure Inc. Lightweight encryption, authentication, and verification of data moving to and from intelligent devices
US11343672B2 (en) * 2019-02-20 2022-05-24 Coretigo Ltd. Secure communication encryption and decryption mechanism in a wireless communication system
KR102164187B1 (ko) * 2019-08-20 2020-10-13 엘지전자 주식회사 블록체인 기반의 군집주행 차량 제어 방법 및 블록체인을 구성하는 군집주행 차량
US11314893B2 (en) * 2019-08-27 2022-04-26 Toyota Motor Engineering & Manufacturing North America, Inc. Systems and methods for securing personally identifiable information within telematics data
US11681788B2 (en) * 2019-09-10 2023-06-20 Ford Global Technologies, Llc Autonomous vehicle authentication key delivery
US11477233B2 (en) * 2019-10-18 2022-10-18 Juniper Networks, Inc. Deploying secure neighbor discovery in EVPN
US11249924B2 (en) * 2019-11-25 2022-02-15 Micron Technology, Inc. Secure data communication with memory sub-system
US11750399B2 (en) * 2019-12-06 2023-09-05 Motional Ad Llc Cyber-security protocol
WO2021127666A1 (en) * 2019-12-17 2021-06-24 Microchip Technology Incorporated Mutual authentication protocol for systems with low-throughput communication links, and devices for performing the same

Also Published As

Publication number Publication date
GB202118187D0 (en) 2022-01-26
GB202312891D0 (en) 2023-10-04
KR20220169872A (ko) 2022-12-28
GB2608207A (en) 2022-12-28
DE102021133346A1 (de) 2022-12-22
GB2608207B (en) 2023-10-18
US20220408245A1 (en) 2022-12-22

Similar Documents

Publication Publication Date Title
US11863991B2 (en) Misbehavior detection in autonomous driving communications
US11500974B2 (en) Method for user authentication of vehicle in autonomous driving system and apparatus thereof
US11469906B2 (en) Systems and methods for implementing data security
CN107659550B (zh) 车辆到车辆的私人通信
KR102549270B1 (ko) 차량용 프로세서의 안전한 부트
CN106209777A (zh) 一种无人驾驶车车载信息交互系统及安全通信方法
CN114513543B (zh) 运载工具中的装置所进行的方法、系统和运载工具
KR102617601B1 (ko) 사이버 보안 프로토콜
CN115580419A (zh) 运载工具服务提供商系统、用于该系统的方法及存储介质
CN114745147A (zh) 安全网关进行的方法、运载工具和设备
CN115580405A (zh) 用于点云数据的方法和认证方法
US11792644B2 (en) Session key generation for autonomous vehicle operation
US20230180011A1 (en) Secure vehicle communications architecture for improved blind spot and driving distance detection
Agarwal et al. Vehicular Ad Hoc Networks: Hashing and Trust Computation Techniques
GB2623196A (en) Transmitting method in an intelligent transport system
CN116504051A (zh) 稳健的物理和虚拟标识关联

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