为证书管理系统提供服务质量的制作方法

文档序号:20779259发布日期:2020-05-19 21:05阅读:249来源:国知局
为证书管理系统提供服务质量的制作方法

本发明涉及用于安全地生成和提供某些类型的数字资产(诸如安全凭证和数字证书)的系统、设备和方法。更特别地,本发明涉及用于提供服务质量(qos)等级同时在计算机化设备中安全地供应数字资产以便减少或消除在该计算机化设备中供应数字资产时的延迟的改进的系统、方法和技术。



背景技术:

随着计算机变得越来越小型化和商品化,制造商正在生产越来越多的包括一个或多个嵌入式计算机或处理器的变化的设备。计算机化设备中的计算机可以控制设备的操作;收集、存储和共享数据;与其它计算机和其它计算机化设备通信;以及更新其自己的软件等。

物联网(iot)是具有(一个或多个)嵌入式处理器、电子器件、软件、数据、传感器、致动器和/或网络连接性的计算机化物理设备的网络,这使得这些设备能够经由包括因特网、蜂窝网络和其它无线网络的数字网络来连接和交换数据。典型地,每个“物”可以通过其嵌入式计算系统是唯一可标识的,并且能够在现有的因特网基础设施内相互操作(inter-operate)。

在iot意义上,“物”可以指各种各样的计算机化设备,诸如消费者电器、在商业和公司设置中使用的企业设备、制造机器、耕作装备、家庭和建筑物中的耗能设备(开关、电源出口、电器、照明系统、灯泡、电视机、车库门打开器、洒水装置系统、安全系统等)、医疗和护理设备、基础设施管理设备、机器人、无人机和运输设备和车辆等。

例如,大多数(如果不是全部)现代车辆和运输机械(例如,汽车、卡车、飞行器、火车、船舶、摩托车、踏板车等)在其子系统中包含若干嵌入式处理器或嵌入式计算机,并且在至少一些方面中是计算机控制的。类似地,增长中数量的现代运输基础设施设备(例如,交通灯、交通相机、交通传感器、桥梁监视器、桥梁控制系统等)包含至少一个以及通常许多嵌入式处理器或嵌入式计算机系统,并且在至少一些方面是计算机控制的。运输网络的这些计算机控制的元件典型地与彼此通信,往返地传递各种类型的信息,并且它们可以反应、响应、改变其操作或以其它方式取决于从车辆到车辆(v2v;还被称为车到车(c2c))中的其它车辆中所接收的/发送到车辆到车辆(v2v;还被称为车到车(c2c))中的其它车辆的信息通信和/或来自/去往车辆到基础设施(v2i;还被称为车到基础设施(c2i))中的基础设施元件通信,以用于安全、正确、高效和可靠的操作。

计算机化设备中的计算机根据它们的软件和/或固件和数据来操作。为了确保安全和适当的操作,计算机化设备必须利用作为由制造商预期的适当的软件、固件、可执行指令、数字证书(例如,公钥证书)、密码密钥等(下文中统称为“数字资产”或“软件”)来适当地初始化和更新,因此,iot仅由执行授权的、已知良好的软件和数据的设备所组成。然而,当未授权的人或组织(例如,黑客)替换或改变计算机化设备中的软件时,会出现问题。当在计算机化设备中安装了较旧的软件、未测试的软件、未批准的软件和/或具有已知程序缺陷的软件时,也会出现问题。

在计算机联网、分组交换网络和电信领域中,服务质量(qos)是指被设计成向所选择的用户、顾客、客户端设备或网络流量提供改进的服务的技术和技艺的集合。qos的目标是提供对服务或网络的性能的保证。qos度量可包括延迟、可用性、等待时间、带宽、上载数据传输速率、下载数据传输速率和每一会话上载/下载限制(即,可在网络会话期间上载及/或下载的兆字节或千兆字节的总量)。服务或网络可以向不同的用户和客户端设备分配不同的qos等级。qos也可以根据来自应用程序的请求向用户或客户端设备保证一定等级的性能。当计算能力或网络容量有限时,或者当实现请求是延迟敏感性时,qos保证是重要的。

因此,可期望的是,提供用于提供qos等级同时在计算机化设备(诸如iot设备、车辆和运输基础设施设备)中安全地供应数字资产以便减少或消除在计算机化设备中供应数字资产时的延迟的改进的系统、方法和技术。



技术实现要素:

本文中公开了用于在实现为生成某些类型的数字资产(诸如安全凭证和数字证书)的请求的同时提供qos等级的系统、方法和设备。在各种实现方式中,系统、方法和设备使用qos管理器向请求来自证书管理系统(cms)的证书的客户端提供qos等级。在一些实现方式中,cms托管证书管理服务,其接受来自qos管理器的请求以创建和提供诸如安全凭证和公钥证书的某些类型的数字资产。qos管理器使用qos仲裁器来填充(populate)和管理qos队列,使得cms可基于其特定qos等级适当地管理独立且区别的请求。在各种实现方式中,证书管理服务能够创建用于车辆到车辆和车辆到基础设施(v2x)设备以及车到车和车到基础设施(c2x)设备的证书。在各种实现方式中,系统包括向提交证书请求的客户端提供qos等级的qos管理器。qos管理器通信地连接到证书管理服务,其响应于从qos管理器接收对这种证书的请求而生成证书,诸如注册证书和假名证书。

如本文中附加地描述的,qos管理器通过提供qos等级来使得证书管理服务能够提供多租户(例如,多客户端)操作,其是通过管理与租户对应的中间客户端队列并使用qos仲裁器来从客户端队列中选择要被置于qos队列上的条目序列。例如,可以创建自定义的工作流,并且可以由终端实体借助于实体管理系统来管理自定义的配置。

在各种实现方式中,系统向请求来自证书管理服务的证书的多个客户端(例如,租户或顾客)提供服务质量(qos)等级。系统包括公共应用编程接口(api),其可操作以从多个客户端接收证书请求,其中每个证书请求指示需要证书的计算机化设备的数量、指示何时传送证书请求的时间戳、以及请求证书的特别客户端。系统还包括qos管理器,所述qos管理器可操作以跨多个中间客户端队列从多个客户端分发证书请求。多个客户端队列中的每个对应于请求证书的特别客户端。qos管理器还可操作以将来自客户端队列中的客户端的证书请求划分成一个或多个条目的子分组(即,较小分组),一个或多个条目中的每个具有对应于需要证书的计算机化设备的数量的子集的分组大小。系统还包括qos仲裁器,所述qos仲裁器可操作以从多个客户端队列中选择要被置于qos队列上的条目序列。qos仲裁器至少部分地基于qos队列中的条目的数量、证书管理服务的等待时间等级以及指示何时传送证书请求的相应时间戳来从客户端队列中选择条目序列。qos管理器还可操作以从由qos仲裁器选择的序列中的qos队列中检索条目,并然后经由证书管理服务的内部登记机构(authority)api将所检索的条目传送到证书管理服务。

在一些实现方式中,对应于需要证书的计算机化设备的数量的子集的分组大小是具有默认值为1的可调谐数值。

在某些实现方式中,计算机化设备对应于车载单元(obu)、电子控制单元(ecu)和路边单元(rsu)中的一个或多个,其中obu被配置为安装在车辆、船舶(例如,船)、飞行器、航天器、医疗设备、机器人、无人机、无线或有线通信模块和iot设备中的一个或多个中,ecu被配置为安装在车辆、船舶、飞行器、航天器、医疗设备、机器人、无人机、无线通信模块、有线通信模块和iot设备中的一个或多个中,并且rsu被配置为安装在交通控制设备、无线通信模块、数字广告牌和电子标志中的一个或多个中。

在某些实现方式中,多个客户端包括充当证书管理服务和需要证书的至少一个计算机化设备之间的代理的至少一个分发器电器。分发器电器可以位于制造商的地点,诸如例如工厂。根据这样的实现方式,至少一个计算机化设备可以在分发器电器从证书管理服务接收证书之后从分发器电器中检索证书。在另外的实现方式中,多个客户端包括充当证书管理服务和需要证书的至少一个计算机化设备之间的代理的至少一个服务器。根据此类实现方式,至少一个计算机化设备可在服务器从证书管理服务中接收证书之后从服务器中检索证书。

根据一些实现方式,每个证书请求还指示提交请求的客户端的客户端优先级等级,并且其中,qos仲裁器还可操作以至少部分地基于证书请求中指示的相应客户端优先级等级来从多个客户端队列中选择要被置于qos队列上的条目序列。根据一些此类实现方式,qos仲裁器还可操作以至少部分地基于从附加客户端接收的附加证书请求中指示的相应客户端优先级等级来动态地重新排序被置于qos队列上的条目序列。在一些这样的实现方式中,对于客户端的客户端优先级等级是基于与客户端相关联的服务层(servicetier)。根据一些这样的实现方式,服务层对应于从最低服务等级到最高服务等级范围中的多个级中的一个。在一些这样的实现方式中,服务层是对应于多个层中的一个的字母数字串或数值。

在其它实现方式中,每个证书请求还指示与请求相关联的请求紧急性等级,并且qos仲裁器可操作以至少部分地基于在证书请求中指示的相应请求紧急性等级从多个客户端队列中选择要被置于qos队列上的条目序列。根据一些此类实现方式,由提交证书请求的客户端指定对于证书请求的请求紧急性等级。根据一些这样的实现方式,请求紧急性等级对应于从最低紧急性选项到最高紧急性选项范围中的多个等级中的一个。在一些这样的实现方式中,请求紧急性等级是与多个等级中的一个相对应的字母数字串或数值。

在又有其它实现方式中,qos仲裁器可操作以使用循环法(roundrobin)技术从多个客户端队列中选择要被放置到qos队列上的条目序列。

在仍有其它实现方式中,qos仲裁器可操作以基于分配给每个客户端队列的动态优先级从多个客户端队列中选择要被置于qos队列上的条目序列,并且其中被分配给每个客户端队列的相应动态优先级由qos仲裁器至少部分地基于每个客户端队列中的条目的数量来分配。

在附加的实现方式中,公共api是可操作以经由通信网络从多个客户端中接收证书请求的代表性状态转移(rest)api,证书请求包括对注册证书的请求;以及代表证书管理服务经由通信网络向多个客户端传送由证书管理服务的注册证书机构生成的注册证书。根据一些此类实现方式,证书请求还包括对假名证书的请求,并且公共restapi还可操作以代表证书管理服务经由通信网络将由证书管理服务的假名证书机构生成的假名证书传送到多个客户端。根据一些这样的实现方式,注册证书是一公钥证书,其将该公钥证书的托管者标识为包括多个计算机化设备的生态系统中的授权参与者,并且其中生态系统中的每个授权参与者能够接收启用与多个计算机化设备的通信的一个或多个假名证书。

在其它实现方式中,qos仲裁器还可操作以至少部分地基于从附加客户端接收的附加证书请求来动态地重新排序被置于qos队列上的条目序列。

在某些实现方式中,计算机实现的方法向请求来自证书管理服务的证书的客户端提供服务质量(qos)等级。计算机实现的方法包括经由公共应用编程接口(api)从多个客户端中接收证书请求。每个证书请求指示:需要证书的计算机化设备的数量;指示何时传送证书请求的时间戳;以及对于请求证书的客户端的客户端标识符。在一些实现方式中,客户端标识符可以包括唯一的字母数字串、鉴别令牌和客户端凭证中的一个或多个,其诸如例如传输层安全(tls)证书或其它类型的数字证书。方法还包括由qos管理器跨多个中间客户端队列从多个客户端中分发证书请求,多个客户端队列中的每个对应于请求证书的特别客户端。方法还包括由qos管理器将客户端的请求划分为一个或多个条目的子分组(即,更小的分组),一个或多个条目中的每个对应于需要证书的计算机化设备的数量的子集。方法附加地包括:由qos仲裁器至少部分地基于qos队列中的条目的数量、证书管理服务的等待时间等级以及指示何时传送证书请求的相应时间戳来从多个客户端队列中选择要被置于qos队列上的条目序列。方法还包括由qos管理器在由qos仲裁器选择的序列中从qos队列中检索条目。方法还包括经由证书管理服务的内部登记机构api将检索到的条目传送到证书管理服务。

在一些实现方式中,qos管理器与托管证书管理服务的cms通信地连接。在一些实现方式中,cms经由对证书管理服务的内部应用编程接口(api)的调用来与qos管理器通信。cms被配置为响应于来自多个客户端的请求经由qos管理器安全地提供证书。在另外或替代实现方式中,qos管理器可以由cms托管。

在其中qos管理器可操作以代表多个客户端向cms的登记机构传送对于注册证书的请求的某些实现方式中,qos管理器还可操作以在客户端队列或qos队列已被发送到登记机构之前对客户端队列或qos队列进行重新定优先级。例如,qos管理器可以在向登记机构传送对于注册证书的客户端的请求之前对请求证书的客户端定优先级。

在其它实现方式中,注册证书可以是一公钥证书,其将该公钥证书的托管者标识为包括多个计算机化设备的生态系统中的授权参与者,并且生态系统中的每个授权参与者可能够接收启用与多个计算机化设备的通信的一个或多个假名证书。

附图说明

并入到本说明书中并构成本说明书的一部分的附图示出了本发明的实现方式,并与说明书一起用于解释本发明的原理。在所述附图中:

图1a是图示符合本发明的实现方式的用于安全地提供凭证(诸如证书)的过程的示例的泳道(swim-lane)图的第一部分;

图1b是图示符合本发明的实现方式的用于安全地提供凭证(诸如证书)的过程的示例的泳道图的第二部分;

图2是符合本发明的实现方式的用于证书管理服务和单个客户端的示例操作环境的框图;

图3是图示符合本发明的实现方式的单个客户端和cms之间的示例数据流的数据流图;

图4是符合本发明的实现方式的在两个客户端环境中操作的示例证书管理服务的框图;

图5是图示符合本发明的实现方式的两个客户端和cms之间的示例数据流的数据流图;

图6是符合本发明的实现方式的在多客户端环境中操作的示例证书管理服务的框图;

图7是图示符合本发明的实现方式的在多个客户端和cms之间的示例数据流的数据流图;

图8是符合本发明的实现方式的采用qos管理器来向多个客户端提供qos等级的示例证书管理服务的框图;

图9是符合本发明的实现方式的用于实现qos管理器的系统的示例的框图;

图10是图示符合本发明的实现方式的采用qos管理器的多个客户端和证书管理系统之间的示例数据流的数据流图;以及

图11是可用于托管符合本发明的实现方式的系统和方法的计算系统的示例的框图。

具体实现方式

现在将详细参考本发明的各种实现方式,其示例在附图中被图示。凡是便利之处,将贯穿附图使用相同的参考标号来指代相同或相似的部分。

为了确保现场中的安全和适当的操作,嵌入式设备(例如,车辆中使用的电子控制单元(ecu))需要在制造期间通过供应数字资产(诸如安全资产)来适当地被初始化。数字资产可以包括各种数字证书、加密密钥、唯一标识符和软件。在大多数情况下,生成这些数字资产和制造工厂的cms或证书管理服务位于不同的地区位置,其常规上经由不安全的因特网通信来互连。因此,可期望的是,创建从这些数字资产的起源到设备的终端到终端安全信道,使得数字资产不能被恶意方或被偶然地访问或修改。典型地,不同的制造工厂和租户(例如,顾客和客户端)要求不同数量的数字资产(例如,数字证书的不同大小的束)。因此,还可期望的是,将由于与大请求相关联的计算容量瓶颈或通信带宽限制而在提供这些数字资产时的延迟最小化。

传统的证书管理系统(cms)和证书管理服务存在缺点,因为它们在先到先服务(first-come,first-served)的基础上发出证书。这创建了技术问题,因为当由顾客做出并接收到大请求时,在该大请求之后来到证书管理系统或服务的请求必须等待该大请求完成。用于使与等待要实现的大证书请求相关联的延迟或瓶颈最小化的传统技术包括利用针对每个顾客的专用装备具有独立的证书管理服务。在这种传统方法中的问题是,分配专用装备是昂贵的、低效的,并且与提供多顾客解决方案相反,因为专用于给定顾客的装备可能是空闲的,而专用于另一顾客的其它装备处于最大容量。符合本公开的系统、方法和设备解决了常规证书管理系统和服务的这些和其它问题。示例解决方案通过采用公平的方法来解决这些问题,其允许多个顾客(例如,客户端)提交重叠的或并发的证书请求而不使任何一个客户端缺乏供应不足。

供应通常是指利用适当的数据和软件为使计算机化设备作准备所采取的动作的集合。它还可以包括为在设备的操作环境中适当地安装该设备所采取的动作的集合,从而使该设备准备就绪以供操作。动作包括将适当的数字资产(例如,操作系统、设备驱动器、中间件、应用、数字证书等)加载到设备的数字存储设备(例如,存储器)中,并且适当地自定义并配置设备上的某些数字资产(如果需要的话),所述数字资产对于每个特别设备可能是唯一的。动作还可以包括检验计算机化设备是由合法设备制造商创建的合法设备,而不是复制或伪造设备。

动作还可以包括将设备正确地安装到其操作环境中,并且测试它以检验它正适当地进行操作。安全地供应仅已知良好设备的能力由于设备可由一个制造商构建且稍后由另一制造商安装到较大的系统或设备(例如,由部件制造商构建的车载单元(obu)可被安装到由汽车制造商构建的汽车中)的事实而复杂化。不正确安装的设备可能不正确地起作用。

符合本发明的各种实现方式提供用于实现证书请求的qos等级,其作为用于包括iot设备的计算机化设备的安全供应的工作流的一部分。这样的实现方式用于防止大证书请求免受一些客户端以来自其它客户端的较小请求为代价创建瓶颈或不适当的延迟。

符合本发明的各种实现方式还可以使用具有qos仲裁器的qos管理器来将大证书请求分裂成被置于qos队列上的更小、更可管理的片,以便有效地实现作为安全供应和管理平台的一部分的证书请求,其可以作为服务被提供给设备和系统制造商。

图1a和1b一起是图示了符合本发明的实现方式的用于安全地提供诸如证书的凭证的示例过程100的泳道图。特别地,图1a和1b中所图示的示例过程100包括在cms部件之间交换请求和响应以便向v2x设备提供证书。然而,本文中描述的实现方式不限于v2x设备,并且所公开的原理可以应用于其它类型的计算机化设备和计算机控制的设备,诸如c2x设备。也就是说,cms可以托管起v2x或c2x证书管理服务作用的证书管理服务。图1a和1b中描绘的示例过程100向v2x设备提供证书。图1a和1b描绘了在请求和响应的v2x流的上下文中的示例cms的部件。

在各种实现方式中,过程100或所示操作中的一些或全部可由在计算系统(其可包括一个或多个处理器或一个或多个计算子系统)上执行的代码、由仅硬件系统、或由作为该两者的混合的系统来执行。如跨图1a和1b的顶部所示,所涉及过程100的实体包括位于制造商(未示出)处的分发商电器108、cms主机的登记机构120(例如,托管证书管理服务的cms)、链接机构150、160、假名证书机构140和注册证书机构130。在各种实现方式中,这些实体可以与彼此通信以执行作为用于提供证书的过程100的一部分的任务,如下面关于图1a和1b以及贯穿本公开所描述的那样。

在某些实现方式中,cms主机可以是托管证书管理服务的系统。cms与qos管理器通信。在一些实现方式中,这样的通信是经由对证书管理服务的内部应用编程接口(api)的调用。

cms包括登记机构120、一个或多个链接机构150、160、假名证书机构140和注册证书机构130。示例cms可以包括运行用于登记机构120的应用的一个或多个应用平台。这些应用平台通信地连接到执行由登记机构120所需的密码计算的一个或多个计算引擎。一个或多个应用平台可以包括一个或多个虚拟机(vm)或一个或多个硬件平台(例如,服务器、计算机或能够托管和执行软件应用的其它计算机硬件)。cms还可以包括一个或多个vm,其运行注册证书机构130并且其通信地连接到执行由注册证书机构130要求的密码计算的一个或多个计算引擎。注册证书机构130可操作以生成注册证书并将该注册证书有条件地传送到登记机构120。托管图1a和1b的登记机构120的示例cms主机还可以包括一个或多个vm,其运行用于假名证书机构140的应用并且其通信地连接到执行由该假名证书机构140所需的密码计算的一个或多个计算引擎。假名证书机构140可操作以生成假名证书并有条件地将其传送到登记机构120。cms主机还可以包括一个或多个vm,其运行第一和第二链接机构150、160并且通信地连接到执行由第一和第二链接机构150、160所需的密码计算的一个或多个计算引擎。用于第一链接机构150和第二链接机构160的相应应用可以可操作以生成链接值并有条件地将其传送到登记机构120。

托管图1a和1b中所示的登记机构120的cms主机还可以包括一个或多个应用平台,其运行对于登记机构120的应用并通信地连接到执行由登记机构120所需的密码计算的一个或多个计算引擎。cms主机可以附加地包括运行对于注册证书机构130的应用并且通信地连接到执行由注册证书机构130所需的密码计算的一个或多个计算引擎的一个或多个应用平台,其可操作以生成注册证书并将该注册证书有条件地传送到登记机构120。cms主机还可以包括运行对于假名证书机构140的应用并且通信地连接到执行由假名证书机构140所需的密码计算的一个或多个计算引擎的一个或多个应用平台,其可操作以生成假名证书并将该假名证书有条件地传送到登记机构120。另外,cms主机可以包括运行对于第一链接机构150的应用并通信地连接到执行由第一链接机构150所需的密码计算的一个或多个计算引擎的一个或多个应用平台。最后,cms主机还可以包括运行对于第二链接机构160的应用并且通信地连接到执行由第二链接机构160所需的密码计算的一个或多个计算引擎的一个或多个应用平台。链接机构150、160可以可操作以生成链接值并将该链接值有条件地传送到登记机构120。

在仍有其它实现方式中,注册证书机构130可以可操作以响应于从登记机构120接收对注册证书的请求而生成注册证书;假名证书机构140可以可操作以响应于从登记机构120接收对假名证书的请求而生成假名证书;并且第一链接机构150和第二链接机构160可以可操作以响应于从登记机构120接收对链接值的请求而生成链接值。在替代或附加实现方式中,注册证书机构130可以可操作以响应于直接从计算机化设备接收请求而生成注册证书。即,存在取得注册证书的多种方式,并且图1a和1b中所示的示例过程100仅仅是一个示例方法。

如图1a的示例中所示,过程100以与注册相关的操作105-135开始。注册证书机构130的主要角色是实现来自登记机构120的请求,以向终端用户设备(诸如例如,分发器电器108)发出注册证书。如下面参考图1a中所示的示例注册相关操作105-135所描述的,注册证书机构130可以与登记机构120直接交互,以便向分发器电器108发出请求的注册证书。在附加或替代实现方式中,注册证书机构130可直接与分发器设备108通信,所述分发器设备108可操作以充当托管证书管理服务的cms和需要注册证书的计算机化设备之间的代理,其中所述计算机化设备需要注册证书,以及具有充当请求注册证书的客户端的代理的服务器。例如,注册证书机构130可以直接与位于制造商地点(例如,制造商的工厂)的分发器电器108通信。

在105,制造商的分发器电器108从登记机构120请求注册证书,其中注册证书将被供应到计算机化设备(例如,由其使用),并且其中请求可以标识作为注册证书的目的地的计算机化设备。请求可以是例如制造商的分发器电器108,其请求新计算机化设备(例如,新产品)的注册证书。注册证书是一公钥证书,所述证书将其持有者(holder)标识为生态系统中的授权参与者,其中所有参与者必须共享有效的注册证书(诸如例如,美国运输部(usdot)v2x生态系统),并且其中授权的参与者还能够接收启用生态系统内的设备的通信和操作(例如,以在usdot的v2x生态系统的示例中启用在车辆和路边基础设施之间的通信和操作)的假名证书。

在110,在登记机构120处接收对注册证书的请求,并然后将其从登记机构120传送到注册证书机构130。在各种实现方式中,该操作可能涉及登记机构120使用未批准设备的列表(例如,黑名单)来解密和检验请求,其包括签名检验、检查作为注册证书的目的地的设备(例如,计算机化设备)的撤销状态,并且确定请求者(例如,分发器电器108)是否被允许从登记机构120请求注册证书。例如,操作110可以包括确定来自制造商的用户是否是授权用户(例如,工作人员的一部分)。在一些实现方式中,登记机构120还可以在110确定用于接收注册证书的计算机化设备(例如,产品)是否被批准使用。在一些实例中,被批准的设备的列表(例如,白名单)可以由调节器提供并且由供应控制器用于做出该确定。在检验了对注册证书的请求之后,将请求从登记机构120传送到注册证书机构130。该请求可以作为由登记机构120创建的注册证书生成请求而被发送。

在115,在注册证书机构130处接收对注册证书的请求。响应于接收到该请求,在120,注册证书机构130生成所请求的注册证书并将所生成的注册证书传送回到登记机构120。在125,在登记机构120处接收注册证书,并且在130,登记机构120向分发器电器108传送注册证书。在135,分发器电器108接收注册证书。在这点上,分发器电器108可以向设备供应注册证书,使得设备可以使用注册证书,并且完成注册相关的操作。

操作140-199涉及供应假名证书。在一些实现方式中,用于请求、生成和供应假名证书的操作140-199包括使用qos管理器(图1a和1b中未示出,但是参见图8和9的qos管理器801和901)以向请求假名证书的多个客户端提供qos等级。在140,分发器电器108从登记机构120请求假名证书。假名证书将被供应给计算机化设备(例如,由其使用),并且该请求可标识作为对于假名证书的目的地的计算机化设备。该请求可以例如是制造商的分发器电器108,其请求对于先前接收到注册证书(例如,注册的计算机化设备)的计算机化设备的假名证书。对假名证书的请求可以包括对一定量(例如,相当于一星期的、相当于一个月的或相当于一年的)的公钥证书的客户端请求。

在145,在登记机构120处接收对假名证书的请求,其然后发起对假名证书的供应。

在操作152-170,链接机构150、160直接与登记机构120交互以便实现对链接值的请求。在150,登记机构120向链接机构1150传送对链接值的第一集合(la1)的请求。

在155,响应于接收到对链接值的第一集合的请求,链接机构1150生成链接值的第一集合和/或将其传送到登记机构120。即,链接机构1150可传送先前生成的链接值的第一集合(即,预生成的链接值),或者链接机构1150可在没有预生成值的情况下生成并然后传送链接值的第一集合。在157,在登记机构120处接收链接值的第一集合。在160,登记机构120向链接机构2160传送对链接值的第二集合(la2)的请求。

接下来,如图1b中所示,在165,响应于接收到对链接值的第二集合的请求,链接机构2160生成链接值的第二集合和/或将其传送到登记机构120。在各种实现方式中,链接机构2160可传送预生成的链接值的第二集合,或者可替代地,链接机构2160可生成并传送链接值的第二集合。在170,在登记机构120处接收链接值的第二集合。

在某些实现方式中,图1a和1b中所示的链接机构150、160可以将证书请求者的身份(即,证书请求者的唯一标识符)链接到用于撤销目的的所发出的假名证书。即,链接机构1150和链接机构2160分别将第一和第二集合链接值作为证书请求者的设备的唯一标识符提供给由假名证书机构140发出的假名证书(作为过程100的一部分)。在操作152和162,链接机构1150和链接机构2160接收对从登记机构120发送的链接值的请求,并然后在操作155和165向登记机构120提供所请求的链接值。

继续参考图1b,在175,登记机构120向假名证书机构140传送对假名证书的请求。该请求可以作为由登记机构120创建的一批假名证书生成请求而被发送。

在180,在假名证书机构140处接收对假名证书的请求。响应于接收到该请求,在185,假名证书机构140生成所请求的假名证书并将所生成的假名证书传送回到登记机构120。在190,在登记机构120接收假名证书。

在195,分发器电器108可以向登记机构120发送多个请求以查询关于所请求的假名证书是否准备就绪(即,生成的和可用的)。在某些实现方式中,可以在操作142发送对假名证书的请求之后的任何时间发送操作195的查询。例如,在操作142向登记机构120发送对假名证书的请求之后,分发器电器108然后可以周期性地向登记机构120发送查询以确定所请求的假名证书是否被读取。在该示例中,可以与操作145-190并行地(即,在生成假名证书时)发送操作195的查询中的一个或多个。

在198,当假名证书准备就绪时,登记机构120将假名证书传送到分发器电器108。在199,分发器电器108接收假名证书。在这点上,分发器电器108可以向设备供应假名证书,使得设备可以使用假名证书,并且完成用于供应假名证书的操作。

在附加或替代实现方式中,类似于上文所描述的过程100的过程可用于向其它计算机化设备(诸如例如,c2x设备)提供证书。例如,具有与图1a和1b中所示的那些部件类似的部件的cms可以向一个或多个车载单元(obu)、电子控制单元(ecu)或路边单元(rsu)提供证书。这样的obu和ecu可以被配置为安装到车辆、船舶(例如,船)、飞行器(例如,飞机和无人机)、航天器、医疗设备、机器人、无线或有线通信模块和iot设备中。类似地,rsu可以安装到交通控制设备(例如,交通信号)、电子标志系统设备和数字显示设备(例如,电子广告牌)中。

应当理解,本文关于图2-9描述的qos管理器、qos仲裁器和qos队列可以用于向请求v2x上下文以及c2x上下文中的证书的客户端提供qos等级。

图2描绘了示例操作环境200,其中单个客户端202与证书管理服务280交互。在一些实现方式中,证书管理服务280可以是v2x证书管理服务。在附加或替代实现方式中,证书管理服务280可以是c2x证书管理服务。如图所示,客户端202可以经由网络235向一个或多个计算机化设备提交对证书的请求。在图2的示例中,网络235是因特网。在某些实现方式中,计算机化设备对应于车辆、船舶(例如,船)、飞行器、航天器、医疗设备、机器人、无人机、无线或有线通信模块和iot设备中的一个或多个。例如,计算机化设备可以对应于船舶、飞行器、航天器、机器人、无人机、医疗设备、iot设备或车辆的obu或ecu。另外,例如,计算机化设备可以对应于数字广告牌、电子标志或交通控制设备的rsu(例如,交通信号、交通灯或电子交通标志系统)。

在操作环境200中,对证书的请求由证书管理服务280的客户端表示状态转移(rest)api205接收。如图2中所示,客户端restapi205可以是公共api,并且证书管理服务280可以是v2x或c2x证书管理服务。证书管理服务280接受对证书的请求,在时间帧内完成任务,并然后经由网络235将结果(例如,所生成的证书)返回到客户端202。在一些实现方式中,取决于证书管理服务280的处理容量,时间帧可以是几分钟、几小时或几天。

证书管理服务280包括用于生成所请求的证书的部件。在图2的示例中,这些部件包括登记机构220、注册证书机构230、假名证书机构240、链接机构1250和链接机构2260。

在附加或替代实现方式中,证书管理服务280的部件可取决于证书管理服务280是否被配置为v2x或c2x证书管理服务而变化。例如,在证书管理服务280用作c2x证书管理服务的情况下,证书管理服务280可以包括被配置为实现与注册证书机构230的角色类似的角色的长期证书机构(ltca)。类似地,当证书管理服务280被实施为c2x证书管理服务时,证书管理服务280可以包括实现与假名证书机构240的角色类似的角色的授权机构(aa)。证书管理服务280的部件在以下段落中被描述。

在示例中,证书管理服务280可以被实施为cms。证书管理服务280的各种实现方式可以用于极高体积设备交易和证书生成处理。在各种实现方式中,证书管理服务280可以使用多个服务器、多个硬件安全模块(hsm)、多个计算或计算引擎和多个应用平台来实现。在示例实现方式中,应用平台可以各自包括用于托管登记机构220、注册证书机构230、假名证书机构240和链接机构250和260的一个或多个虚拟机(vm)。在另外或替代实现方式中,应用平台可以各自包括一个或多个硬件平台,诸如例如应用服务器、计算机或能够托管和执行软件应用的其它计算机硬件。在图2的示例中,用于注册证书机构230的应用平台可以是运行用于注册证书机构130的应用的一个或多个vm,用于假名证书机构240的应用平台可以是可操作以托管和运行用于假名证书机构240的应用的一个或多个vm。类似地,用于链接机构1250的应用平台可以是被配置为托管和运行链接机构1应用的一个或多个vm,并且用于链接机构2260的应用平台可以是可操作以托管和运行链接机构2应用的一个或多个vm。证书管理服务280的非限制性示例可以在私有数据中心、云数据中心(诸如例如来自亚马逊的亚马逊网络服务(aws))或在私有和云数据中心的混合中来实现。

在一些实现方式中,证书管理服务280可以提供诸如例如注册证书和假名证书之类的安全证书,以由制造商的分发器电器108使用,其可以如关于图1a和1b所描述的那样起作用。在某些实现方式中,证书管理服务280可以与数字资产管理系统(dams)交互以便向图1a和1b中所示的分发器电器108提供证书。

如图2中所图示,证书管理服务280的架构包括登记机构220、注册证书机构230、假名证书机构240、链接机构1250和链接机构2260。这些部件中的每个可以利用相应的专用计算引擎(未示出)来执行任务。例如,登记机构220可以利用登记机构计算引擎,注册证书机构230可以利用注册证书机构计算引擎,假名证书机构240可以利用假名证书机构计算引擎,链接机构1250可以利用链接机构1计算引擎,并且链接机构2260可利用链接机构2计算引擎。这些部件中的每个的功能性在以下段落中被描述。

证书管理服务280的架构有利地将非安全相关应用与安全功能分离。如图2的示例中所示,登记机构220、注册证书机构230、假名证书机构240和链接机构250、260被实现为在它们自身的vm上的应用,其在它们自身的专用计算引擎上执行,所有这些都与任何非安全性相关的应用和功能分离。这提供了优于常规系统的技术和安全性优点和改进,在其中hsm的性能是缓慢的,或者云服务提供商不能供给hsm,或者在其中对hsm的它们的适当管理是不确定的。在证书管理服务280中,要求hsm的所有密码操作在计算引擎(例如,计算引擎中的一个或多个)中被执行。

通过将关键安全性功能与彼此相分离并且分离到分离的计算引擎上,如图2中所示,例如作为由登记机构220、注册证书机构230、假名证书机构240和链接机构250、260所执行的计算密集型密码和安全性功能(例如,椭圆曲线蝶形扩展计算或椭圆曲线数字签名)比现有的登记机构系统显著更快地被执行。结合以下参照图8-10描述的服务质量(qos)管理器,该设计通过使得根据需要能够单独地按比例缩放“瓶颈”应用来能够实现多客户端环境中的交易处理中的显著改进。因此,符合本公开的实现方式提供了特别的、技术上有利的系统架构,以降低与现有的登记机构系统相关联的瓶颈。例如,如果在登记机构220上运行的登记机构应用需要缩放,则可以添加附加vm,而在(一个或多个)登记机构计算引擎的安全计算能力中可能不需要改变。可替代地,如果安全计算是限制性能,则可以添加附加的安全登记机构计算引擎。对于证书管理服务280的其它部件,这种相同的多维缩放是真实的。这些能力提供了优于现有安全凭证管理系统(scms)的显著性能改进和可缩放性。

在一些实现方式中,用于登记机构220、注册证书机构230、假名证书机构240和链接机构250、260的相应应用平台经由输入消息队列的相应集合通信地连接到计算引擎,使得证书管理服务280的这些部件可以与彼此独立地缩放。

如上所述并且在图2的非限制性示例中示出,登记机构220、证书机构230、240和链接机构250、260中的每个可以被实现为在它们自身的虚拟机(vm)上的应用。在附加或替代实现方式中,登记机构220、证书机构230、240和链接机构250、260中的一个或多个可以在硬件平台(例如,服务器或计算引擎)上执行。在以下段落中描述了在应用平台(例如,vm或硬件平台)上执行的这些应用中的每个的角色和功能性。

在各种实现方式中,登记机构220可以是在供应网络中的机构,其检验对数字证书或其它类型的数字安全资产的用户请求,并且使得证书机构(例如,注册证书机构230和假名证书机构240)能够发出数字证书。在各种实现方式中,登记机构220可以类似于在公钥基础设施(pki)系统中已知的登记机构。在各种实现方式中,客户端restapi205可以将证书请求传到登记机构220,其可以被实现为表示状态转移(rest)网络服务。在各种实现方式中,可以存在在相同时间执行的登记机构220的多个实例。这类似地表示图2中所示的证书管理服务280的其它部件。证书管理服务280的登记机构功能性是非集中式的,因为其功能性可以由被实现为rest网络服务的登记机构220的多个实例来执行。针对登记机构220的主要角色是授予和实现证书供应请求,同时保持签名假名证书机构240知道哪些证书在特别计算机化设备中结束。登记机构220经由消息队列直接与假名证书机构240、链接机构250、260交互,以便实现其在证书管理服务280内的角色。

在某些实现方式中,登记机构220(以及图2的其它部件)可以连接到数据库。证书管理服务280可以利用数据存储或数据库的集合来进行数据存储和检索。例如,所使用的数据库可以由一个或多个数据库逻辑或物理单元组成,每个数据库逻辑或物理单元具有在需要时实现数据分离的一个或多个表。如本文中所使用的,术语“数据库”指的是一个或多个数据库或数据存储。在某些实现方式中,多个数据库的使用可以虑及在图2的其它部件和登记机构220之间的数据分离。例如,多个数据库的这种使用虑及登记机构220、证书机构230、240和链接机构250、260之间的数据分离。

在优选实现方式中,由证书管理服务280使用的(一个或多个)数据库是一个或多个快速访问、低等待时间数据库的集合。在一些实现方式中,(一个或多个)数据库可以是nosql数据库或数据库服务,诸如例如由亚马逊网络服务提供的dynamodb数据服务。在各种实现方式中,存储在数据库中的数据是应用相关的(applicationdependent),但是可以包括过去发出的证书、各种链接机构值、关于已经向其发出证书的设备的数据、操作者动作等。注意的是,数据可以是未加密的、加密的或其某种组合。

在各种实现方式中,证书管理服务280包括注册证书机构230和假名证书机构240,因为由登记机构220产生的数字证书被分成不同的段-例如,注册数字证书和假名数字证书。

注册证书机构230是证书管理服务280的非中心式部件,因为可以存在在相同时间执行的注册证书机构230的多个实例。例如,在一些实现方式中,可存在同时执行的注册证书机构230的多个实例。注册证书机构230可以从登记机构220接收对注册证书的请求。注册证书机构230的主要角色是实现来自登记机构220的请求,以向终端用户设备(诸如例如,图1a和1b中所示的分发器电器108)发出注册证书。如以上参照图1a所描述的,注册证书机构130直接与登记机构120交互,以便实现其在cms内的角色。

假名证书机构240是cms的非中心式部件,因为可能存在同时执行的假名证书机构240的多个实例。对于假名证书机构240,在各种实现方式中,可存在在相同时间并行执行的假名证书机构240的多个实例。假名证书机构240可从登记机构220接收对假名证书的请求。假名证书机构240的主要角色是为实现来自登记机构220的请求,以向诸如例如图1a和1b中所示的分发器电器108之类的终端用户设备发出假名证书。在某些实现方式中,假名证书机构240实现对用于v2v功能性的短期假名证书的请求。如下文参考图5b所描述的,假名证书机构240直接与登记机构220交互以便实现其在cms内的功能。

在各种实现方式中,图2中示出的链接机构250、260将证书请求者的身份(即,证书请求者的设备的唯一标识符)链接到用于撤销目的的所发出的假名证书。即,链接机构1250和链接机构2260将相应的链接值作为证书请求者的设备的唯一标识符提供给所发出的假名证书。链接机构1250和链接机构2260可从登记机构220接收对链接值的请求,并且然后将所请求的链接值提供给登记机构220。链接机构250、260直接与登记机构220交互以便实现对链接值的请求。

在各种实现方式中,计算引擎包括hsm,其允许这些部件执行安全计算,而不会受到黑客的不适当威胁。在一些实施方案中,计算引擎可被设计成自身执行安全计算,而不需要嵌入式hsm-在这种实现方式中,它们实施hsm。

在各种实现方式中,可在cms中使用不同hsm版本。例如,hsm可以包括在一个或多个计算引擎内作为插入式(plug-in)卡安装的嵌入式hsm。在这样的示例实现方式中,嵌入的hsm可以作为外围部件互连(pci)hsm或pciexpress(pcie)hsm被安装在一个或多个计算引擎中。另外,例如,证书管理服务280中的hsm可以包括与它们自己的外壳中的计算引擎分离的外部网络附接的或网络连接的hsm。

本领域普通技术人员将认识到,在图2中示出的部件和实现方式细节是为了解释的清楚性和简明而呈现的示例。在不脱离本发明的原理的情况下,可以使用其它部件、过程、实现方式细节和变型,因为该示例不旨在是限制性的,并且许多变型是可能的。

图3是图示了符合本发明的实现方式的在单个客户端302和cms380之间的示例数据流的数据流图。在图3的示例中,cms380可以被实施为v2x或c2xcms。根据一些实现方式,cms380可以托管证书管理服务,诸如上面参考图2描述的证书管理服务280。

如图3中所示,客户端302传送对用于一个或多个计算机化设备的证书的请求310。在一些实现方式中,计算机化设备可以是被配置为安装在车辆中的ecu或obu。在附加或替代实现方式中,计算机化设备可以是被配置为安装于交通控制设备(例如,交通灯、电子交通标志系统)、数字广告牌和其它路边电子标志系统中的rsu。在某些实现方式中,每个证书请求310指示需要证书的计算机化设备的数量、指示证书请求310何时被传送的时间戳;以及请求证书(例如,针对图3的示例中的客户端302的标识符)的客户端。在某些实现方式中,针对客户端的标识符(即,客户端标识符)可以包括或可以是唯一字母数字串、鉴别令牌及客户端凭证(诸如例如,tls证书或其它类型的数字证书)中的一个或多个。

cms380接受请求310,并且通过在计算时间315内生成所请求的证书束完成所请求的任务。证书束由cms380在计算时间315内创建,所述计算时间315是时间帧(例如,几分钟、几小时或几天)。计算时间315可取决于各种因素而变化,所述因素诸如cms380的工作负荷、需要证书的计算机化设备的数量(如请求310中指示的)、以及cms380的等待时间等级。在生成证书束之后(即,在计算时间315已经过去之后),cms380然后将结果作为被传送回到到客户端302的响应325返回。

图4是示例操作环境400的框图。特别地,图4描绘了符合本发明的实现方式的在两个客户端环境中操作的证书管理服务480。为简洁起见,下文仅描述与图2相比在图4内发生的差异。

在图4中,示例操作环境400包括可以与证书管理服务480并发交互的两个客户端402、422(例如,客户端1和客户端2)。如图所示,客户端402和客户端422两者都可以经由网络435提交对用于一个或多个计算机化设备的证书的相应并发请求。在图4的示例中,网络435是因特网。在一些实现方式中,计算机化设备对应于车辆、船舶、飞行器、航天器、医疗设备、机器人、无人机、无线或有线通信模块以及iot设备(例如,iot电器、iot传感器、iot交换机、iot控制器或可穿戴iot设备)中的一个或多个。例如,计算机化设备可以对应于船舶、飞行器、航天器、机器人、无人机、医疗设备、iot设备或车辆的obu或ecu。此外,例如,计算机化设备可以对应于数字广告牌、电子标志或交通控制设备(例如,交通信号、交通灯或电子交通标志系统)的rsu。

在操作环境400中,对证书的请求由证书管理服务480的客户端restapi405接收。如图4中所描绘,客户端restapi405可以是公共api,并且证书管理服务480可以是v2x或c2x证书管理服务。证书管理服务480接受对证书的请求,在时间帧内完成任务,并且然后经由网络435将结果(例如,所生成的证书)返回到客户端402、422。证书管理服务480包括用于生成所请求的证书的部件。在图4的示例中,这些部件包括登记机构420、注册证书机构430、假名证书机构440、链接机构1450和链接机构4460。

在附加或替代实现方式中,证书管理服务480的部件可取决于证书管理服务480是配置为v2x还是c2x证书管理服务而变化。例如,如上面参照图2所描述的,在证书管理服务480用作c2x证书管理服务的实现方式中,证书管理服务480可以包括被配置为实现与注册证书机构430的角色类似的角色的长期证书机构(ltca)。类似地,当证书管理服务480被实施为c2x证书管理服务时,证书管理服务480可以包括实现与假名证书机构440的角色类似的角色的授权机构。

在操作环境400中,存在两个并发的客户端402、422,其两者都可请求来自相同证书管理服务480的工作。在示例中,客户端402(例如,客户端1)可以经由网络435传送对大量计算机化设备(例如,>100,000台车辆)的请求,在客户端1的证书请求之后,并且客户端422(例如,客户端2)可以传送对用于相对少量的计算机化设备(例如,<50台车辆)的证书的请求。对于没有qos管理器的简单证书管理服务(v2x或c2x),这两个请求将在先到先服务的基础上按次序被处置。在该示例中,客户端422(例如,客户端2)必须在提供任何响应之前等待客户端1的作业完成。即,即使客户端2的请求相对较小,但是时间延迟仍可能是数小时或数天(即,仍然是为实现来自客户端402的大请求所花费的时间长度),而不是它原本将以其它方式为实现客户端2的请求所花费的仅仅数分钟。

有利地,与使得证书管理服务能够向多个客户端提供qos等级相比,本文中公开的实现方式采用qos管理器(例如,参见图8和9的qos管理器801和901),使得诸如客户端422的客户端不会经历与等待要实现的较早的、大的请求相关联的过度延迟。例如,如本文中参照图8-10所描述的,可以由证书管理服务480使用qos管理器来跨两个对应的中间客户端队列从客户端402、422分发证书请求,这两个客户端队列中的每个对应于请求证书的特别客户端(例如,客户端402或客户端422)。qos管理器还可以将客户端的请求划分成一个或多个条目的较小的分组(即,子分组),其中每个条目对应于客户端针对其需要证书的计算机化设备的数量的子集。

图5是图示符合本发明的实现方式的两个客户端502、522与cms580之间的示例数据流的数据流图。为简洁起见,下文仅描述与图3相比在图5内发生的差异。

在图5中所图示的示例中,cms580可以是v2xcms或c2xcms。根据某些实现方式,cms580可以托管证书管理服务,诸如上面参照图4描述的证书管理服务480。

如图5中所示,客户端502(例如,客户端1)传送对用于大量计算机化设备(例如,110,000台车辆)的证书的大请求510,在来自客户端502的大请求510之后,并且客户端522(例如,客户端2)然后传送对用于较少数量的计算机化设备(例如,40台车辆)的证书的小请求512。在各种实现方式中,每个证书请求510、512指示:需要证书的计算机化设备的数量(例如,对于大请求510为110,000并且对于小请求512为40);指示何时传送证书请求的时间戳;以及请求证书的客户端(例如,用于对大请求510的客户端502和用于对小请求512的客户端522的相应标识符)。例如,每个证书请求510、512可以包括对于请求证书的对应客户端502、522的客户端标识符。在一些实现方式中,客户端标识符唯一地标识客户端502或522,并且可以是唯一的字母数字串、鉴别令牌或客户端凭证,诸如例如tls证书或与客户端502或522对应的其它类型的数字证书。

图5示出了在没有qos管理器的情况下简单的cms580如何先到先服务地按次序处置两个请求510、512。一旦由cms580接收到大请求510,cms580就要求计算时间515来执行为生成实现大请求510所需的证书束所需的计算。在图5的示例中,一旦已经生成了所请求的证书束,就将具有所请求的证书束的响应525从cms580传送到客户端502。即,客户端502将仅在接收响应525之前等待计算515。在该示例中,客户端522(例如,客户端2)必须等待达等待时间516来接收对小请求512的响应527。如图所示,对客户端522的等待时间516包括要完成的客户端1的作业所需的整个计算时间515,以及在提供对小请求512的响应527之前实现小请求512所需的附加计算时间517。即,即使客户端2的小请求512是对于比大请求510少得多的证书,并且可以由cms580快得多地实现,但是等待时间516仍可能是几小时或几天(即,要实现的来自客户端502的大请求510所需的计算时间515和要实现的小请求512的计算时间517),而不是它原本将以其它方式实现客户端2的小请求512所花费的仅数分钟。

图6是符合本发明的实现方式的在多客户端环境600中操作的示例证书管理服务680的框图。为了简明性,下面仅描述在图6中与图2和4相比发生的差异。

在图6中,示例操作环境600包括可以与证书管理服务680并发交互的多个客户端602、622(例如,客户端1和客户端2)、623、…62n。如图所示,n个客户端602、622、623、…62n的分组可以各自经由网络635(例如,因特网)提交对用于一个或多个计算机化设备的证书的相应请求。虽然这可能导致类似于上面参考图4和图5所描述的延迟的延迟,但是如果客户端602、622、623、…62n包括多个大请求者,特别是如果在由证书管理服务680已接收到大请求之后提交小请求的话,则问题可能被复杂化。

在操作环境600中,对证书的请求由证书管理服务680的客户端restapi605(例如,v2x或c2x证书管理服务的公共api)接收。证书管理服务680接受对证书的请求,在时间帧内完成任务,然后将结果(例如,所生成的证书)经由网络635返回到客户端602、622、623、…62n。证书管理服务680包括用于生成所请求的证书的部件。在图6的示例中,这些部件包括登记机构620、注册证书机构630、假名证书机构640、链接机构1650和链接机构6660。

在附加或替代实现方式中,证书管理服务680的部件可取决于证书管理服务680是被配置为v2x还是c2x证书管理服务而变化。例如,如以上参照图2和4所描述的,在证书管理服务680用作c2x证书管理服务的实现方式中,证书管理服务680可以包括被配置为实现与注册证书机构630的角色类似的角色的ltca。类似地,当证书管理服务680被实施为c2x证书管理服务时,证书管理服务680可以包括实现与假名证书机构640的角色类似的角色的授权机构。

在操作环境600中,存在能够各自从相同证书管理服务680请求工作的多个并发客户端602、622、623、…62n(例如,n个客户端的分组)。在示例中,客户端602、622(例如,客户端1和2)可以经由网络635传送对大量计算机化设备(例如,>100,000台车辆)的大请求,在客户端1的和客户端2的证书请求之后,并且另一个客户端623可以传送对证书的另一个大请求。然后,n个客户端的分组中的最后一个客户端62n可以传送对相对少量的计算机化设备(例如,<50台车辆)的小请求。对于没有qos管理器的简单证书管理服务(v2x或c2x),这些请求将在先到先服务的基础上按次序来处置。在该示例中,在提供任何响应之前,客户端62n(例如,n个客户端中的最后一个客户端)必须等待在前的客户端的作业完成。即,即使来自客户端62n的请求可能相对较小,但是时间延迟可能是数小时或数天(即,仍然是为实现来自客户端602、622、623的大请求所花费的时间长度),而不是它原本将以其它方式为实现来自客户端62n的请求所花费的仅数分钟。

为了解决上述问题,与使得证书管理服务能够向多个客户端提供qos等级相比,本文中公开的实现方式有利地采用了qos管理器(例如,参见图8和图9的qos管理器801和901),使得诸如客户端62n的客户端不经历与等待要实现的较早的、大的请求相关联的过度延迟。例如,如本文中参照图8-10所描述的,可以由证书管理服务680使用qos管理器来分发来自客户端602、622、623、…62n跨n个对应中间客户端队列的证书请求,n个客户端队列中的每个对应于已请求证书的特别客户端。qos管理器还可将客户端队列中的客户端的证书请求划分成一个或多个条目的较小分组,一个或多个条目中的每个具有对应于需要证书的计算机化设备的数量的子集的分组大小。

图7是图示符合本发明的实现方式的多个客户端(例如,n个客户端702、722、723、…72n)与cms780之间的示例数据流的数据流图。为了简洁起见,下面仅描述与图3和图5相比在图7内发生的差异。

在图7中图示的示例中,cms780可以是v2xcms或c2xcms。在某些实现方式中,cms780可以托管证书管理服务,诸如上面参考图6描述的证书管理服务680。

如图7中所示,客户端702(例如,客户端1)传送对用于大量计算机化设备(例如,110,000台车辆)的证书的大请求710,在来自客户端702的大请求710之后,客户端722(例如,客户端2)然后传送另一个大请求711,并且在那之后,客户端723传送又一个大请求713。在由cms780已接收到大请求710、711和713之后,客户端72n传送对用于相对少量的计算机化设备(例如,40台车辆)的证书的小请求712。在一些实现方式中,每个证书请求710、711、712、713包括指示以下项的数据字段:需要证书的计算机化设备的数量(例如,对于大请求710为110,000和对于小请求712为40);指示何时传送该特别证书请求的时间戳(例如,指示传送的小时、分钟和秒的日期和时间);以及请求证书(例如,对于针对大请求710、711和713的客户端702、722和723以及针对小请求712的客户端72n的相应标识符)的客户端。例如,每个证书请求710、711、712、713可以包括对于请求证书的对应客户端702、722、72n、723的客户端标识符。在一些实现方式中,客户端标识符唯一地标识客户端702、722、723或72n中的一个,并且可以包括或可以是唯一的字母数字串、鉴别令牌或客户端凭证,诸如例如tls证书或其它类型的数字证书。

图7示出了在没有qos管理器的情况下cms780如何按次序先到先服务地处置多个请求710、711、712、713。由于由cms780接收到大请求710、711、713,cms780要求冗长的、顺序的计算时间715、717和718来生成大量的所请求的证书。例如,cms780要求计算时间715来执行为生成实现来自客户端702的大请求710所需的证书束所需的计算。在图7的示例中,一旦已经生成了由客户端702所请求的证书束,就将具有证书束的响应725从cms780传送回到到客户端702。即,客户端702仅需要在接收响应725之前等待计算715。在该示例中,客户端722(例如,客户端2)必须等待计算时间715和附加的计算时间717以接收响应727。

最后,由于在大请求710、711和713之后提交了其小请求712的事实,具有小请求712的客户端72n必须等待所有客户端702、722、723、72n的最长时间。也就是说,在不使用qos管理器(例如,参见下文描述的图8和9的qos管理器801和901)的情况下,在提供对小请求712的响应727之前,客户端72n将经历冗长的等待时间716。

如图7中所示,在接收到对小请求712的响应729之前,客户端72n必须忍受等待时间716。这是因为除了用于完成客户端2的请求的计算时间717、为完成来自客户端723的请求的计算时间718和为实现小请求712所需的计算时间719之外,对于客户端72n的等待时间716包括为完成客户端1的作业所需的整个计算时间715。即,即使客户端72n提交了用于比大请求710、711和713少得多的证书的小请求712,但是等待时间716仍可能是几小时或几天的持续时间。这是因为等待时间716是为要实现的来自客户端702、722、723的大请求710、711、713所需的组合计算时间715、717和718和为要实现的小请求712的计算时间719的总和。在不使用下文参考图8和9讨论的qos管理器801和901的情况下,不存在在不必首先等待实现较早提交的大请求710、711和713的情况下用于实现来自客户端72n的小请求712的机制。如下面参照图8-10所描述的,qos管理器使得cms或证书管理服务能够在多客户端环境中提供qos等级。

图8是符合本发明的实现方式的在多客户端环境800中采用qos管理器801向多个客户端802、822、823、…82n提供qos等级的示例证书管理服务880的框图。为了简洁起见,下面仅描述与图2、图4和图6相比在图8内发生的差异。

在图8中,示例多客户端环境800包括可以与证书管理服务880并发地交互的多个客户端802、822(例如,总共n个客户端中的客户端1和2)、823、…82n。n个客户端802、822、823、…82n的分组可以各自经由网络835(例如,因特网)提交对用于一个或多个计算机化设备的证书的相应请求。虽然这可能导致与上面参考图4、5和7描述的那些延迟类似的延迟,但是如果客户端802、822、823、…82n提交多个大请求,特别是如果在已由证书管理服务880接收到大请求之后提交小请求的话,则问题会被复杂化。

证书管理服务880包括用于实现对由客户端802、822、823、…82n提交的证书的请求的部件。如图8中所图示,这些部件包括qos管理器801、公共登记机构api805、登记机构820、登记机构820的内部api825、注册证书机构830、假名证书机构840、链接机构1850和链接机构8860。

在各种实现方式中,公共登记机构api805可操作以从n个客户端802、822、823、…82n接收证书请求,其中每个证书请求指示以下项:需要证书的计算机化设备的数量;指示何时传送证书请求的时间戳;以及请求证书的客户端。例如,每个证书请求可以包括对于请求证书的n个客户端802、822、823、…82n中的一个的客户端标识符。在一些实现方式中,客户端标识符唯一地标识客户端802、822、823、…82n中的一个并且可包括唯一字母数字串、鉴别令牌和客户端凭证(诸如例如tls证书或其它类型的数字证书)中的一个或多个。

在附加或替代实施例中,每个请求还可以指示相应的客户端优先级等级,其可以基于与客户端相关联的服务层。在一些实现方式中,服务层是对应于从最低服务等级到最高服务等级的范围中(例如,服务层1-10,其中1是最低服务等级,5是中等服务等级,以及10是最高服务等级)的多个层中的一个的数值。根据附加或替代实施例,每个请求可还指示与请求相关联的请求紧急性等级。例如,针对证书请求的请求紧急性等级可以由提交证书请求的客户端所指定。这样的请求紧急性等级可以是与从最低紧急性选项到最高紧急性选项(例如,在1-10中,1是最低紧急性、5是用于中等紧急性请求,以及10是用于最紧急请求)范围中的多个等级中的一个对应的数值。在各种实施例中,客户端可以作出选择向服务提供商(例如,提供证书管理服务880的实体或另一实体)支付费用,以用于在按客户端或按请求的基础上增加的优先级和紧急性等级。类似地,客户端可以作出选择以选择性地降低针对某些非紧急和低优先级请求的优先级和紧急性等级,以交换折让(rebate)或其它激励。

有利地,图8中所示的实现方式采用qos管理器801,以便使得证书管理服务880能够向客户端802、822、823、…82n提供qos等级,使得诸如客户端82n之类的客户端不经历与等待要实现的较早的、大的请求相关联的过度延迟。例如,可以由证书管理服务880使用qos管理器801来分发来自客户端802、822、823、…82n跨n个对应的中间客户端队列的证书请求,其中n个客户端队列中的每个对应于具有所请求的证书的特别客户端。qos管理器801还可将客户端队列中的客户端的证书请求划分成一个或多个条目的较小分组,所述一个或多个条目中的每个具有对应于需要证书的计算机化设备的数量的子集的分组大小。在某些实现方式中,分组大小是具有默认值为1的用户可调谐参数。

qos管理器801充当客户端802、822、823、…82n与证书管理服务880之间的中间者。qos管理器801可接受来自任何数量的客户端(例如,图8的示例中的n个客户端)的多个并发请求,并且将其持有在中间客户端队列中。qos管理器801可以将大的请求分裂成较小的请求,并且将那些较小的请求馈送到分离的客户端队列(未示出,但是参见如下所述的图9中的客户端队列903、907、909、…91n)。这允许更早地完成更小的请求,并且可以支持任何数量的客户端。此外,通过使用qos管理器801,如果附加的小请求进入,与缺少qos管理器的cms或证书管理服务相比,则它们将被允许更早地完成。

在多客户端环境800中,对证书的请求由qos管理器801的登记机构api805(例如,公共api)接收。qos管理器801代表证书管理服务880接受对证书的请求。在各种实现方式中,qos管理器801可操作以分发来自n个客户端802、822、823、…82n跨n个中间客户端队列的证书请求,其中n个客户端队列中的每个对应于请求证书的特别客户端。qos管理器801还可以被配置为将该客户端的客户端队列中的特别客户端的请求划分成一个或多个条目的子分组(即,更小的分组),其中一个或多个条目中的每个具有与客户端针对其需要证书的计算机化设备的数量的子集对应的分组大小。如下面参考图9更详细描述的,在一些实现方式中,qos管理器801包括qos仲裁器(未示出,但是参见图9的qos仲裁器904)。qos仲裁器可操作以至少部分地基于qos队列中的条目的数量、证书管理服务880的等待时间等级以及指示何时传送证书请求的相应时间戳来从多个客户端队列中选择要被置于qos队列上的条目序列。根据一些实现方式,qos管理器801可操作以从由qos仲裁器选择的序列中的qos队列中检索条目,以及经由登记机构820的内部api825将所检索的条目传送到证书管理服务880。然后,qos管理器801经由对证书管理服务880的登记机构820的内部api825的调用将来自qos队列的条目转发到证书管理服务880。证书管理服务880然后完成由qos管理器801在时间帧内转发到其的任务,并且然后将结果(例如,所生成的证书)返回到qos管理器801。然后,qos管理器801将结果经由登记机构api805和网络835作为对客户端802、822、823、…82n的响应进行转发。

在操作环境800中,存在可与qos管理器801并发交互的多个并发客户端802、822、823、…82n(例如,n个客户端的分组),其充当n个客户端与证书管理服务880之间的中间者。在示例中,客户端802、822(例如,客户端1和2)可以经由网络835传送对大量计算机化设备(例如,>100,000台车辆)的大请求,在客户端1的和客户端2的证书请求之后,并且另一个客户端823可以传送对证书的另一个大请求。然后,n个客户端的分组中的最后一个客户端82n可以传送对相对少量的计算机化设备(例如,<50台车辆)的小请求。如上所述,对于具有qos管理器801的证书管理服务880,这些请求将被置于客户端队列上并且根据需要按增量(例如,给定分组大小的子集)进行划分和处理,以便向客户端802、822、823、…82n提供qos等级。即,代替必须在先到先服务的基础上按次序处置请求而不考虑请求的变化的大小或优先级,qos管理器801有利地被用于避免必须顺序地处理请求。例如,代替要求最后的客户端(例如,客户端82n)在提供任何响应之前等待所有的在前客户端的作业完成,qos管理器801使得证书管理服务880能够实现稍后到达但较小的来自客户端82n的请求在没有不适当延迟(即,数小时或数天-仍用于实现来自在前客户端802、822、823的大请求而花费的时间长度)的情况下被完成。

图9是符合本发明的实现方式的用于实现qos管理器901的系统900的示例的框图。为简洁起见,下文仅描述与图8相比在图9内发生的差异。

在图9中,示例系统900包括可与qos管理器901并发交互的多个客户端902、922(例如,总共n个客户端中的客户端1和2)、923、…92n,其充当客户端与证书管理服务980之间的中间者。多个客户端902、922、923、…92n可以各自经由网络935(例如,图9的非限制性示例中的因特网)提交对一个或多个计算机化设备的证书的相应请求。

证书管理服务980包括用于实现对由客户端902、922、923、…92n提交的证书的请求的部件。在各种实现方式中,公共登记机构api905可操作以从n个客户端902、922、923、…92n接收证书请求,其中每个证书请求指示以下项:需要证书的计算机化设备的数量;指示何时传送证书请求的时间戳;以及请求证书的客户端。在附加或替代实施例中,每个请求还可以指示相应的客户端优先级等级,其可以是基于与客户端相关联的服务层。在一些实现方式中,服务层是与从最低服务等级到最高服务等级的范围中(例如,服务层1-10,其中1表示最低或铜服务层,5表示中间或银层,7表示高或金层,并且10表示最高或铂金层)的多个层中的一个对应的字母数字串或数值。根据附加或替代实施例,每个请求可还指示与请求相关联的请求紧急性等级。例如,针对证书请求的请求紧急性等级可以由提交证书请求的客户端所指定。这样的请求紧急性等级可以是与从最低紧急性选项到最高紧急性选项范围中(例如,1-10,其中1是针对低紧急性请求,5是对于正常紧急性请求的默认,7是针对非常紧急的请求,并且10是针对极端紧急请求)的多个等级中的一个对应的字母数字串或数值。在各种实施例中,客户端902、922、923、…92n中的一个或多个客户端可以作出选择向服务提供商(例如,提供qos管理器901的实体或另一个实体)支付费用,以用于在按客户端或按请求的基础上增加的优先级和紧急性等级。类似地,客户端可以作出选择以选择性地降低针对某些非紧急和低优先级请求的优先级和紧急性等级,以交换折让或其它激励。

有利地,系统900采用qos管理器901来使得证书管理服务980能够向客户端902、922、923、…92n提供qos等级,使得诸如客户端92n之类的客户端不经历与等待要实现的较早的、大的请求相关联的过度延迟。例如,可以由证书管理服务980使用qos管理器901来从客户端902、922、923、…92n中跨n个对应的中间客户端队列903、907、909、…91n分发证书请求,其中这些n个客户端队列中的每个对应于具有所请求的证书的特别客户端。在图9的示例中,客户端队列903对应于客户端902,客户端队列907对应于客户端922,客户端队列909对应于客户端923,并且客户端队列91n对应于客户端92n。

如图9中所示,qos管理器901还可以将客户端队列中的客户端的证书请求划分成一个或多个条目的较小分组,所述一个或多个条目中的每个具有对应于需要证书的计算机化设备的数量的子集的分组大小。在图9的非限制性示例中,分组大小为50(例如,对于50台车辆的证书)。然而,应理解的是,在替代实现方式中,分组大小可为任何数量,并且证书可用于任何计算机化设备(即,不限于车辆)。例如,分组大小可按客户端而变化,并且在某些实现方式中,大小是客户端队列903、907、909、…91n中的每队列条目的1个计算机化设备。在替代或附加实现方式中,分组大小是具有默认值为1的用户可调谐参数。在替代实现方式中,系统900可以使用池化队列方法来代替图9中示出的专用客户端队列903、907、909、…91n。例如,客户端队列不需要利用在如图9中所示的客户端队列的数量与n个客户端中的每个之间具有一对一映射而对每客户端是专用的。即,代替每个顾客具有专用(预定)客户端队列的系统900,池化队列实现方式可以利用队列池,并且仅在客户端活动时从队列池中分配给定队列。即,利用池化的队列实现方式,队列可以仅当该客户端已提交证书请求(即,当客户端是活动的)时被分配给客户端。专用队列实现方式的一个益处是,系统900不要求指令的任何逻辑或执行,以在客户端将客户端状态从不活动改变为活动或者从活动到不活动时分配队列。对池化的队列实现方式的一个益处是,当搜索要被置于qos队列906上的活动作业时,可以优化qos仲裁器904必须执行的工作。即,利用池化的队列实现方式,qos仲裁器904将只需要扫描具有当前未决(pending)证书请求的活动客户端的队列(与潜在地必须扫描用于非活动客户端的空的专用客户端队列相对)。

qos管理器901充当客户端902、922、923、…92n与证书管理服务980之间的中间者。qos管理器901可接受来自任何数量的客户端(例如,图9的示例中的n个客户端)的多个并发请求,并且将其持有在中间客户端队列903、907、909、…91n中。如图9中所示,qos管理器901将大的请求分裂成较小的请求,并且将那些较小的请求馈送到客户端队列903、907、909、…91n的分离的、相应一个中。这允许早得多地完成更小的请求,并且可以支持任何数量的客户端。此外,通过使用qos管理器901,如果在已经接收到大请求之后附加的小请求进入,那么与缺少qos管理器901的cms或证书管理服务相比,那些小请求将被允许快得多地被完成。

在系统900中,对证书的请求由qos管理器901的登记机构api905(例如,公共api)接收。qos管理器901代表证书管理服务980接受对证书的请求。在各种实现方式中,qos管理器901可操作以从n个客户端902、922、923、…92n跨n个中间客户端队列分发证书请求,其中n个客户端队列中的每个对应于请求证书的特别客户端。qos管理器901还可以被配置为将该客户端的客户端队列中的特别客户端的请求划分成一个或多个条目的更小分组,其中所述一个或多个条目中的每个具有与客户端针对其需要证书的计算机化设备的数量的子集对应的分组大小(参见例如,在客户端队列903中的部分1、2、3、4、…x)。也就是说,qos管理器901可以将来自给定客户端的大证书请求分裂成更小的片,并且将那些更小的片置于该客户端的客户端队列中。

在各种实现方式中,qos管理器901包括qos仲裁器904。qos仲裁器904从客户端队列中选择要被置于qos队列906中的条目。在某些实现方式中,qos仲裁器904可操作以使用循环法技术将从客户端队列903、907、909、…91n中选择要被置于qos队列906上的条目序列。即,qos仲裁器904可以顺序地从客户端队列903、907、909、…91n中的每个选择条目,按次序从第一客户端队列903开始移动,并且依序列通过其它客户端队列907、909、…91n中的每个前进。qos仲裁器904通过仅根据需要仅将足够的条目置于qos队列906上来对条目进行节流(throttle)。例如,qos队列906可以被限制在所允许的条目的数量中。为了改进系统900的效率,可将所允许的条目的数量设定为足够大的值,以确保证书管理服务980始终忙碌,但足够小以使等待时间最小化。即,qos队列906的队列深度是有限的,并且该限制由qos仲裁器904所知。

qos仲裁器904可以设法最小化qos队列906的大小,以便允许新请求进入并被置于qos队列906上。在一些实现方式中,即使qos仲裁器904可以按照一定顺序将项目置于qos队列906中,但是可以在qos队列906队列的头部而不是在该队列的尾部插入后到达但高优先级的请求。换句话说,qos队列906中的新条目通常被置于或设置在qos队列906的尾部。图9的qos队列906的头部是在qos队列906的底部(例如,客户端1(x50))上的客户端1的条目。在qos队列906的头部处的该条目将是经由内部api925去往证书管理服务980的下一条目。然而,在一些实例中,qos仲裁器904可作出选择以在qos队列906的头部或头部与尾部之间的任何地方插入新条目。例如,由qos仲裁器904将条目放置在qos队列906中可以基于在证书请求中指示的客户端优先级等级和/或证书请求紧急性。

在一些实现方式中,qos仲裁器904还可操作以至少部分地基于从附加客户端接收的附加证书请求(例如,在来自客户端92n的请求之后从新客户端接收的请求)动态地重新排序被置于qos队列906上的条目序列。此外,例如,qos队列906中的条目序列可以由qos仲裁器904基于分配给每个客户端队列903、907、909、…91n的动态优先级来确定,其中分配给每个客户端队列903、907、909、…91n的相应动态优先级由qos仲裁器至少部分地基于每个客户端队列903、907、909、…91n中的条目的数量来分配。

在各种实现方式中,qos仲裁器904可操作以至少部分地基于qos队列906中的条目的数量、证书管理服务980的等待时间等级以及指示何时传送证书请求的相应时间戳来从n个客户端队列903、907、909、…91n中选择要被置于qos队列906上的条目序列。

在图9的示例中,qos仲裁器904已经使用循环法技术从多个客户端(例如,客户端1、客户端2…客户端n)选择要被置于qos队列906上的条目序列。在附加或替代实现方式中,qos仲裁器904还可操作以基于可在证书请求中指示的请求紧急性等级或客户端优先级等级从n个客户端队列903、907、909、…91n中选择要被置于qos队列906上的条目序列。例如,代替使用循环法技术来从客户端队列903、907、909、…91n中选择所有客户端902、922、923、…92n之间的条目序列,qos仲裁器904可以基于改变客户端之间的平衡的规则来选择条目序列。例如,可基于指示较高优先级、较高支付客户端(例如,某些车辆制造商)和较低优先级、较低支付客户端(例如,可能仅想要支付空闲时间处理的某些大学)的相应客户端优先级等级来确定条目序列。在该示例中,qos仲裁器904将在来自较低优先级客户端的条目之前将来自较高优先级客户端的条目置于qos队列906上。而且,例如,可以基于相应的请求紧急性等级来确定条目序列,其中qos仲裁器904在对应于较不紧急的请求的条目之前将对应于更紧急的请求的条目置于qos队列906上。在附加的实现方式中,qos仲裁器904可以基于速率限制规则来选择用于qos队列906的条目序列,所述速率限制规则指示证书管理服务980每客户端每单位时间不应处理超过的一定数量的证书(例如,将给定客户端限制为每小时或每天不超过x数量个证书)。

在系统900中,客户端902、922、923、…92n的给定客户端可具有多个并发的证书请求。在某些实现方式中,qos管理器901可以不在来自相同客户端的多个请求之间进行区分。在替代或附加实现方式中,qos管理器901可还基于规则将来自单个客户端的并发请求分成片。根据示例实现方式,qos管理器901可以基于客户端向系统900提供的相应请求紧急性等级和为在来自该客户端的请求之中执行紧急性等级的规则,来划分客户端的请求。在此实例实现方式中,qos管理器901可指挥qos仲裁器904基于给定客户端提供用于其证书请求中的每个的紧急性等级来以何种次序处理来自该客户端的多个请求的部分。在另一个实现方式中,客户端可以允许qos管理器901使用循环法技术来跨所有的该客户端的证书请求选择条目序列。

在附加或替代实现方式中,qos仲裁器904还可操作以基于可在证书请求中指示的请求紧急性等级或客户端优先级等级从n个客户端队列903、907、909、…91n中选择要被置于qos队列906上的条目序列。如图9中所示,qos仲裁器904已经从多个客户端(例如,客户端1、客户端2…客户端n)中选择了要被置于qos队列906上的条目序列。

在某些实现方式中,证书管理服务980经由对内部api925的调用从qos队列906中提取条目。然而,如上所述,新请求(来自新客户端,不是902、922、923、92n中的一个)或来自优先级高于qos队列906中的其它条目的客户端902、922、923、92n中的一个的新请求,则qos仲裁器904可以提取qos队列906中的新的较高优先级条目作为cms980要处理的下一个条目。在实现方式中,qos仲裁器904可以临时冻结或暂停qos队列906,并且不允许证书管理服务980从qos队列906中提取任何更多条目,直到新的较高优先级条目被置于qos队列906上。在替代实现方式中,qos仲裁器904可从qos队列906移除较低优先级条目以便用较高优先级条目替换它,并且qos仲裁器904可将移除的条目放回到对应客户端队列上。

根据一些实现方式,qos管理器901可操作以从由qos仲裁器904选择的序列中的qos队列906检索条目,并且经由内部api925将检索的条目传送到证书管理服务980。然后,qos管理器901经由对证书管理服务980的登记机构的内部api925的调用将来自qos队列的条目转发到证书管理服务980。证书管理服务980然后完成由qos管理器901在时间帧内转发到其的任务,并然后将结果(例如,所生成的证书)返回到qos管理器901。然后,qos管理器901将结果经由登记机构api905和网络935作为对客户端902、922、923、…92n的响应进行转发。

在系统900中,存在可各自经由qos管理器901从相同证书管理服务980请求工作的多个客户端902、922、923、…92n(例如,n个客户端的分组)。即,多个并发客户端902、922、923、…92n可与充当n个客户端与证书管理服务980之间的中间者的qos管理器901并发交互。在图9中所示的示例中,客户端902、922(例如,客户端1和客户端2)可以经由网络935传送对大量计算机化设备(例如,>100,000台车辆)的大请求,并且在客户端1的和客户端2的证书请求之后另一个客户端923可以传送对证书的另一个大请求。然后,n个客户端的分组中的最后一个客户端92n可以传送对相对少量的计算机化设备(例如,<50台车辆)的小请求。如上所述,对于包括qos管理器901的系统900,这些请求将被置于客户端队列903、907、909、…91n上并且以增量(例如,图9的非限制性示例中的分组大小50的子集)来划分和处理,以便向客户端902、922、923、…92n提供qos等级。即,代替在不考虑请求的变化大小或优先级的情况下必须在先到先服务的基础上顺序地处置来自客户端902、922、923、…92n的请求,qos管理器901有利地防止系统900必须以序列的顺序处理请求。例如,不是要求最后的客户端(例如,客户端92n)在提供任何响应之前等待在前的客户端的作业完成,qos管理器901使得证书管理服务980能够实现稍后到达的但较小的来自客户端92n的请求以在不具有适当延迟(即,数小时或数天-用于来自在前客户端902、922、923的大请求被实现而花费的时间长度)的情况下被完成。

图10是图示符合本发明的实现方式的采用qos管理器的多个客户端队列1003、1007、1009、…101n与cms1080之间的示例数据流的数据流图。为简洁起见,下文仅描述与图7相比在图10内发生的差异。

在图10中所描绘的示例中,cms1080可以是v2xcms或c2xcms。在某些实现方式中,cms1080可以托管证书管理服务,诸如上面参照图9描述的证书管理服务980。在一些实现方式中,具有qos仲裁器(例如,上面参照图9描述的qos管理器901和qos仲裁器904)的qos管理器可以从n个客户端队列1003、1007、1009、…101n中选择要被提交给cms1080的条目。

如图10中所示,cms1080接收对来自用于第一客户端(例如,客户端1)的客户端队列1003的证书的大请求1010,并且在大请求1010之后,从客户端队列1007接收对第二客户端(例如,客户端2)的另一个大请求1013,并且在那之后,从客户端队列1009接收又一个大请求1014。在由cms1080已接收到大请求1010、1013和1014之后,从客户端队列101n接收对用于相对少量的计算机化设备(例如,50台车辆)的证书的小请求1012。在一些实现方式中,每个证书请求1010、1013、1014、1012包括指示以下项的数据字段:需要证书的计算机化设备的数量(例如,对大请求1010为110,000和对小请求1112为50);指示何时传送该特别证书请求的时间戳(例如,指示传送的小时、分钟和秒的日期和时间);以及请求证书的客户端(例如,用于大请求1010、1011和1013的客户端1002、1022和1023的以及用于小请求1012的客户端102n的相应标识符)。

图10示出了具有qos管理器的cms1080如何处置多个请求1010、1012、1013、1014。通过使用qos管理器及其qos仲裁器,后到达的较小的请求1012在不必等待要首先实现大请求1010、1013、1014的情况下可被实现。即,图10示出了来自客户端队列101n的较小请求1012如何不需要等待所有在前请求1010、1013、1014完成。换句话说,在cms1080实现小请求1012之前不需要经过与完成所有大请求1010、1013、1014相关联的冗长的、顺序的计算时间。这通过qos管理器将请求1010、1012、1013、1014分成被置于客户端队列1003、1007、1009、…101n中的部分来实现。这些部分是一个或多个条目的子分组(即,更小的分组),所述一个或多个条目中的每个具有对应于需要证书的计算机化设备的数量的子集的分组大小。在图10的非限制性示例中,分组大小是50并且证书被请求用于车辆。在替代或附加实施例中,分组大小是具有默认值为1的可调谐数值,并且证书可以用于要求安全凭证的各种计算机化设备。

如图10中所示,cms1080要求计算时间1015来执行为生成实现来自客户端1002的大请求1010所需的证书束的第一部分(例如,客户端1的请求的部分1)所需的计算。在图10的示例中,由客户端1002(例如,客户端1)请求的证书束的仅部分1在从客户端1022(例如,客户端2的请求的部分1)移动到大请求1013的第一部分之前被生成,这要求计算时间1017。接下来,处理来自客户端1023的大请求1014的部分1,这要求计算时间1018。然后,在计算时间1016中处理来自客户端102n的小请求1012。通过使用qos管理器来划分大请求,客户端102n仅需要等待来自客户端1002、1022、1023的大请求1010、1013、1014的部分1被完成的时间量。这尽管在大请求1010、1011和1013之后提交小请求1012的事实的情况下也是这样。在不使用qos管理器(例如,参见上文描述的图9的qos管理器901)的情况下,客户端102n将经历在提供对小请求1012的响应之前的冗长等待时间,因为客户端102n将必须在将实现小请求1012之前等待完成大请求1010、1013、1014的所有部分。

如图10中所示,在接收对小请求1012的响应之前,客户端102n仅需要等待部分1计算时间1015、1017、1018和1016的全部。这是因为对客户端102n的等待时间不包括为完成大请求1010、1013、1014的所有部分所需的整个计算时间。相反,除了用于完成小请求1012的计算时间1016之外,客户端102n还必须等待用于完成大请求1010、1013、1014的第一部分的相对小的计算时间1015、1017和1018。即,即使客户端102n在大请求1010、1011和1013之后提交小请求1012,等待时间将比不使用qos管理器的情况短得多。这是因为在没有qos管理器将大请求1010、1013、1014划分成部分的情况下,对于客户端102n的等待时间将是为实现来自客户端1002、1022、1023的大请求1010、1013、1014所需的整个组合计算时间和要实现的小请求1012的计算时间1016的总和。在不使用上文参考图9所讨论的qos管理器901的情况下,不存在在首先不必等待实现较早提交的大请求1010、1013和1014的情况下用于实现来自客户端102n的小请求1012的机制。也就是说,qos管理器使得cms1080能够在多客户端环境中提供qos等级。

接下来,在已实现小请求1012之后,cms1080处理来自客户端1002的大请求1010的部分2,这要求计算时间1015'。接下来,处理来自客户端1022的大请求1013的部分2(例如,客户端2的请求的部分2),这要求计算时间1017'。然后,处理来自客户端1023的大请求1014的部分2,这要求计算时间1018'。在这点上,由于来自客户端102n的小请求1012已经被实现,所以cms1080处理来自客户端1002的大请求1010的部分3,这要求计算时间1015''。大请求1010、1013和1014的剩余部分将以这种方式被处理,直到这些请求已经被实现。

在一些实现方式中,qos仲裁器(例如,图9的qos仲裁器904)可以动态地重新排序由cms1080使用的被置于qos队列上的条目序列。以此方式,cms1080处理的请求部分的序列可以被动态地改变。例如,可以响应于qos管理器从附加客户端接收附加证书请求(即,来自新客户端的小请求1012之后的请求)来改变条目序列。此外,例如,条目序列可以是基于在证书请求中指示的客户端优先级等级和/或证书请求紧急性。而且,例如,可以基于分配给客户端队列1003、1007、1009、…101n中的每个的动态优先级来改变条目序列,其中分配给客户端队列1003、1007、1009、…101n中的每个的相应动态优先级由qos仲裁器至少部分地基于客户端队列1003、1007、1009、…101n中的每个中的条目的数量来分配。

图11是计算环境1101的示例的框图,其包括可用于实现符合本发明的实现方式的系统和方法的计算系统1100。也可以使用其它部件和/或布置。在一些实现方式中,计算系统1100可以用于至少部分地实现图1-10的各种部件,诸如图1a和1b的分发器电器108、登记机构120、链接机构150、160、假名证书机构140以及注册证书机构130、图2、图4、图6和图8的证书管理服务280、480、680、880的部件、图9的qos管理器901、以及图3、图5、图7和图10的证书管理系统(cms)380、580、780、1080等。在一些实现方式中,类似于计算系统1100的一系列计算系统可以各自用专门的硬件来自定义和/或被编程为专门的服务器以实现图1-10的部件中的一个,其可以经由网络1135与彼此通信。

在图11中所示的示例中,计算系统1100包括多个部件,诸如cpu1105、存储器1110、(一个或多个)输入/输出(i/o)设备1125、硬件安全模块(hsm)1140和非易失性存储设备1120。系统1100可以以各种方式实现。例如,作为集成平台(诸如服务器、工作站、个人计算机、膝上型计算机等)的实现方式可以包括cpu1105、存储器1110、非易失性存储设备1120和i/o设备1125。在这样的配置中,部件1105、1110、1120和1125可以通过本地数据总线连接和通信,并且可以经由外部i/o连接来访问数据储存库1130(例如,实现为分离的数据源或数据库系统)。(一个或多个)i/o部件1125可以通过直接通信链路(例如,硬连线或本地wifi连接)、通过诸如局域网(lan)或广域网(wan,诸如蜂窝电话网络或因特网)的网络和/或通过其它合适的连接来连接到外部设备。系统1100可以是独立的,或者它可以是更大系统的子系统。

cpu1105可以是一个或多个已知的处理器或处理设备,诸如来自由加利福尼亚州圣克拉拉市的intel™公司制造的core™系列的微处理器或来自由加利福尼亚州桑尼维尔市的amd™公司制造的athlon™系列的微处理器。存储器1110可以是被配置为存储由cpu1105执行或使用的指令和信息以执行与本发明的实现方式有关的某些功能、方法和过程的一个或多个快速存储设备。存储设备1120可以是易失性或非易失性、磁、半导体、磁带、光或其它类型的存储设备或计算机可读介质,包括诸如cd和dvd的设备以及意在用于长期存储的固态设备。

在所图示的实现方式中,存储器1110包含从存储设备1120或从远程系统(未图示)加载的一个或多个程序或应用1115,所述一个或多个程序或应用在由cpu1105执行时执行符合本发明的各种操作、过程、处理或方法。替代地,cpu1105可以执行远离于系统1100定位的一个或多个程序。例如,系统1100可以经由网络1135访问一个或多个远程程序,当执行所述一个或多个远程程序时,执行与本发明的实现方式有关的功能和处理。

在某些实现方式中,存储器1110可以包括用于执行本文中针对具有登记机构120的cms主机、分发器电器108、证书管理服务280、480、680、880、cms380、580、780、1080、qos管理器801、901和/或qos仲裁器904所描述的专门功能和操作的(一个或多个)程序1115。在一些实现方式中,存储器1110还可以包括实现向本发明提供辅助功能性的其它方法和过程的其它程序或应用。

存储器1110还可以被配置有与本发明无关的其它程序(未示出)和/或在由cpu1105执行时执行本领域公知的若干功能的操作系统(未示出)。作为示例,操作系统可以是microsoftwindows™、unix™、linux™、applecomputers™操作系统或其它操作系统。操作系统的选择以及甚至对操作系统的使用对本发明来说不是关键的。

hsm1140可以是具有它们自身的处理器的设备,其安全地生成和存储数字安全资产和/或安全地执行各种密码和敏感计算。hsm1140保护诸如密码密钥之类的数字安全资产以及来自攻击者的可能访问的其它敏感数据。在一些实现方式中,hsm可以是直接附接到计算系统1100的插入式卡或板。

(一个或多个)i/o设备1125可以包括允许由系统1100接收和/或传送数据的一个或多个输入/输出设备。例如,i/o设备1125可以包括使得数据能够从用户输入的一个或多个输入设备,诸如键盘、触摸屏、鼠标等。此外,i/o设备1125可以包括使得数据能够被输出或呈现给用户的一个或多个输出设备,诸如显示屏、crt监视器、lcd监视器、等离子显示器、打印机、扬声器设备等。i/o设备1125还可以包括允许计算系统1100与其它机器和设备例如数字地进行通信的一个或多个数字和/或模拟通信输入/输出设备。可以在i/o设备1125中并入其它配置和/或数量的输入和/或输出设备。

在所示的实现方式中,系统1100连接到网络1135(诸如因特网、私有网络、虚拟私有网络、蜂窝网络或其它网络或这些的组合),网络1135转而可以连接到各种系统和计算机器,诸如服务器、个人计算机、膝上型计算机、客户端设备等。通常,系统1100可以从外部机器和设备输入数据,并且经由网络1135将数据输出到外部机器和设备。

在图11中所示的示例性实现方式中,储存库1130是系统1100外部的独立数据源,诸如数据库。在其它实现方式中,储存库1130可以由系统1100托管。在各种实现方式中,储存库1130可以管理和存储用于实现符合本发明的系统和方法的数据。例如,储存库1130可以管理和存储包含针对具有由分发器电器108供应的证书的每个计算机化设备的状态和日志信息等的数据结构。

储存库1130可以包括存储信息并且通过系统1100访问和/或管理的一个或多个数据库。作为示例,储存库1130可以是oracle™数据库、sybase™数据库或其它相关数据库。然而,符合本发明的系统和方法不限于分离的数据结构或数据库,或者甚至不限于数据库或数据结构的使用。

本领域普通技术人员将认识到,图11中的系统的部件和实现方式细节是为了解释的简明和清楚而呈现的示例。可以使用其它部件和实现方式细节。

尽管前述示例使用计算机化设备(诸如obu、ecu和rsu)的具体示例,但是为了解释的清楚,本发明不限于那些具体示例。符合本发明的各种实现方式可以与各种各样计算机化设备(诸如医疗设备(例如,透析机、输注泵等);机器人;无人机;自主车辆;以及无线通信模块(例如,嵌入式通用集成电路卡(euicc))等)一起使用。

本文中描述的应用的各种操作可以至少部分地由一个或多个vm执行。在附加或替代实现方式中,本文中所描述的应用的操作可至少部分由临时配置(例如,通过软件)或永久配置以执行相关操作的一个或多个处理器执行。无论是临时还是永久配置,这样的处理器可以构成操作以执行本文中描述的一个或多个应用操作、功能和角色的处理器实现的模块。如本文中所使用的,术语“处理器实现的模块”是指使用一个或多个处理器实现的硬件模块。

类似地,本文中描述的方法可以至少部分地由处理器实现,其中特别的一个或多个处理器是硬件的示例。例如,方法的操作中的至少一些可以由一个或多个处理器或处理器实现的模块来执行。此外,一个或多个处理器还可以操作以支持在“云计算”环境或作为“软件作为服务”(saas)中的相关操作的执行。例如,操作的至少一些可以由计算机(作为包括处理器的机器的示例)的分组来执行,其中这些操作可经由网络(例如,因特网)并且经由一个或多个适当的接口(例如,api)来访问。

某些操作的执行可以分发在处理器之中,不仅驻留在单个机器内,而且跨多个机器部署。在一些示例实施例中,处理器或处理器实现的模块可以位于单个地区位置中(例如,在办公室环境、制造环境或服务器场内)。在其它示例实施例中,处理器或处理器实现的模块可以跨多个地区位置分发。

通过考虑到本文中公开的本发明的说明书和实践,本发明的其它实现方式对于本领域技术人员将是显而易见的。说明书和示例旨在仅被认为是示例性的,其中本发明的真实范围由以下权利要求来指示。

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