车载电子控制单元之间的安全通信

文档序号:1078588 发布日期:2020-10-16 浏览:3次 >En<

阅读说明:本技术 车载电子控制单元之间的安全通信 (Secure communication between onboard electronic control units ) 是由 C·比法尔 S·塞加尔 于 2019-01-25 设计创作,主要内容包括:本发明的各方面提出了用于使得车辆中的电子控制单元(ECU)之间能够进行安全通信的系统、方法和设备。所述系统可以包括来自车辆中的多个ECU的第一ECU和第二ECU。所述第一ECU通过执行以下操作使得所述多个ECU之间能够进行安全通信:向第二ECU提供用于认证与第三ECU交换的消息的认证数据,向第三ECU提供安全密钥集,以使得所述第三ECU能够与第二ECU安全地交换消息。第二ECU从第三ECU接收安全消息,所述安全消息是利用来自提供给第三ECU的安全密钥集中的安全密钥来加密签名的,并且第二ECU通过将所述认证数据与认证信号进行比较来认证安全消息。(Aspects of the present invention propose systems, methods and apparatus for enabling secure communication between Electronic Control Units (ECUs) in a vehicle. The system may include a first ECU and a second ECU from a plurality of ECUs in a vehicle. The first ECU enables secure communication among the plurality of ECUs by performing: providing authentication data to the second ECU for authenticating messages exchanged with the third ECU, providing a set of security keys to the third ECU to enable the third ECU to securely exchange messages with the second ECU. The second ECU receives a secure message from the third ECU, the secure message being cryptographically signed with a secure key from a set of secure keys provided to the third ECU, and the second ECU authenticates the secure message by comparing the authentication data to an authentication signal.)

车载电子控制单元之间的安全通信

相关申请的交叉引用

本申请要求于2018年1月29日提交的美国临时申请序列号No.62/623,304,标题为“AUTOMATED SECURE INCLUSION OF AUTOMOTIVE ECUS INTO A TRUST ZONE”以及于2018年7月5日提交美国申请序列号No.16/027,681,标题为“SECURE COMMUNICATION BETWEEN IN-VEHICLE ELECTRONIC CONTROL UNITS”的优先权,以上通过引用合并于此。

技术领域

本文公开的主题涉及包括电子控制单元(ECU)的车辆计算机系统中的安全性。示例性实施方案提出了用于车辆计算机系统中的安全通信(例如,ECU之间的通信)的技术。

背景技术

诸如汽车、轮船、火车和飞机之类的车辆通常由在组装线上组装的分立组件组成。这些组件可以包括由几个电子控制单元(ECU)组成的计算机系统。ECU可以是嵌入式系统,每个系统都控制车辆中的一个或更多个电气系统或子系统。ECU数量的增加反过来又增加了车辆计算机系统安全的脆弱性。这种脆弱性可能导致引起流氓或恶意控制的网络威胁。当前,所有ECU的安全连接和自动连接方式都可能受到损害。

具体实施方式

现在将详细地参考用于执行主题的具体示例性实施方案。这些具体实施方案的示例在附图中示出,并且在以下描述中阐述了具体细节以提供对主题的透彻理解。将理解的是,这些示例并不旨在将权利要求的范围限制于所示出的实施方案。相反,它们旨在覆盖可以包括在本发明的范围内的这种替代、修改和等同形式。

本发明的各方面涉及用于开发系统的安全架构,所述系统使得能够在包括电子控制单元(ECU)的多个组件之间在车辆内进行安全通信。所述安全架构使得能够进行安全的固件空中下载(Firmware Over-The-Air,FOTA)更新、安全的地图空中下载(Map Over-The-Air,MOTA)更新、ECU之间的安全通信、安全的车对车和车对基础设施(统称为“V2X”)通信、以及合法的ECU更换。

在车辆组装过程中,可能知道或可能不知道车辆ECU的详细信息。例如,可能仅知道ECU的类型(例如,网关控制单元(GCU)、门控制单元(DCU)、远程信息处理控制单元(TCU)等)。在另一种情况下,进入车辆的精确ECU可能是已知的。但是,在布置时或布置后,本文所述的安全架构都不需要原始设备制造商(OEM)来准确了解需要保护的网络组件的详细信息。以这种方式,安全架构使得可以在有或没有ECU的事先详细知识的情况下保护ECU。如果多个ECU连接到主ECU(例如,中央网关),则可以对多个ECU进行识别,然后可以利用此身份信息以自动方式将ECU引入受信任和安全的网络中。

本发明的其他方面提出了用于使得车辆中的ECU之间能够进行安全通信的技术(例如,系统、方法或设备)。所述系统可以至少包括车辆中的第一ECU和第二ECU。第一ECU可以通信地连接多个ECU以使得ECU之间能够进行安全通信。在通信地连接ECU时,第一ECU可以向第二ECU提供用于认证与第三ECU交换的消息的认证数据,并且第一ECU可以向第三ECU提供安全密钥集,以使得所述第三ECU能够与第二ECU交换消息。第二ECU可以从第三ECU接收安全消息,所述安全消息是利用来自提供给第三ECU的安全密钥集中的安全密钥来加密签名的。第二ECU可以通过将所述认证数据与认证信号进行比较来认证安全消息。

作为示例,认证数据可以包括最大消息计数,所述最大消息计数限制了第三ECU可以发送给第二ECU的消息的数量,并且认证信号可以包括与由第三ECU发送给第二ECU的消息数量相对应的消息计数器值。在所述示例中,在从第三ECU接收到消息时,第二ECU可以增加消息计数器值并将消息计数器值与最大消息计数进行比较。如果消息计数器值小于或等于最大消息计数,则第二ECU成功地认证来自第三ECU的消息。如果消息计数器值大于最大消息计数,则第二ECU不能成功地认证从第三ECU接收到的消息。

作为示例,认证数据可以包括用于对来自第三ECU的消息进行加密签名的安全密钥的到期时间,并且认证信号可以包括时钟信号。在所述示例中,在从第三ECU接收到消息时,第二ECU将到期时间与时钟信号进行比较。如果到期时间尚未过去,则第二ECU成功地认证来自第三ECU的消息。如果到期时间已经过去,则第二ECU不能成功地认证从第三ECU接收到的消息。

在第二ECU不能成功地认证从第三ECU接收到的消息的情况下,例如在上面讨论的示例中,第二ECU可以向第一ECU发送信号,所述信号指示关于第三ECU的安全密钥认证失败。作为响应,第一ECU可以限制车辆的操作。例如,第一ECU可以将第三ECU置于受限操作模式,该受限模式限制第三ECU执行一个或更多个操作。另外或可替代地,第一ECU可以从安全子系统提供的安全服务中请求更新的认证数据,以用于更新第二ECU的认证数据。另外或可替代地,第一ECU可以为第三ECU请求新的安全密钥。

安全架构

参照图1,示出了根据一些实施方案的示例性安全系统100。示例性安全系统100配置为将车辆ECU自动地安全包含到信任区域中,以使ECU能够彼此安全地通信。为了避免用不必要的细节使主题模糊,从图1中省略了与传达对主题的理解没有密切关系的各种功能组件(例如,服务和引擎)。然而,本领域技术人员将容易认识到,安全系统100可以支持各种附加功能组件,以促进文本中未具体描述的附加功能。

如相关计算机领域的技术人员所理解的,图1中所示的功能组件可以表示一个或更多个组件,例如,硬件组件、固件组件或具有一组可执行指令的组件以及用于实施指令的相应硬件(例如,存储器和处理器)。此外,应当理解的是,尽管图1的功能组件以单数形式进行讨论,但在其他实施方案中,可以采用一个或更多个组件的多个实例。

如图1所示,安全系统100包括与网络可访问安全子系统104通信的组装车辆的车辆系统102,网络可访问安全子系统104通过网络106提供安全服务。网络106的一个或更多个部分可以是自组织网络、内部网、外部网、虚拟专用网(VPN)、局域网(LAN)、无线LAN(WLAN)、广域网(WAN)、无线WAN(WWAN)、城域网(MAN)、互联网、互联网的一部分、公共交换电话网(PSTN)的一部分、普通老式电话服务(POTS)网络、蜂窝电话网络、无线网络,

Figure BDA0002603407820000041

网络、另一种类型的网络,或两个或更多个此类网络的组合。例如,网络106或网络106的一部分可以包括无线网络或蜂窝网络,并且图1中所示的连接到网络106的组件中的任何一个可以经由码分多址(CDMA)连接、全球移动通信系统(GSM)连接或另一种类型的蜂窝连接或无线连接来连接至网络106。在该示例中,到网络106的连接可以实施多种类型的数据传输技术中的任何一种,诸如,单载波无线电传输技术(1xRTT)、演进数据优化(EVDO)技术、通用分组无线电服务(GPRS)技术、增强型数据速率GSM演进(EDGE)技术、包括3G的第三代合作伙伴计划(3GPP)、***无线(4G)网络、通用移动通信系统(UMTS)、高速分组接入(HSPA)、微波接入全球互操作性(WiMAX),长期演进(LTE)标准、由各种标准制定组织定义的其他标准、其他远程协议或其他数据传输技术。

如图所示,安全子系统104包括一个或更多个计算机系统,例如,前端服务器110和后端服务器112。车辆系统102包括多个控制单元,例如,组装ECU。例如,车辆系统102可以包括一个或更多个ECU,例如主ECU 116(例如,“网关”)、TCU 118、动力传动系ECU、变速器ECU、悬架ECU、制动控制单元(BCU)、ADA ECU、组合仪表板ECU和制动ECU。主ECU 116配置为在安全环境的情况下与车辆系统102的每个ECU进行通信。程序代码108(例如,包括对执行机器进行配置以执行某些功能的一组机器可读指令的软件应用程序)有助于网络上主ECU 116和安全子系统104之间的通信,所述程序代码108可以例如嵌入在后端服务器112、主ECU116或计算机设备(例如,安全工具)中或由后端服务器112、主ECU 116或计算机设备(例如,安全工具)执行。车载诊断(OBD)系统120可以有助于与车辆系统102的进一步通信,所述系统提供引出线、电气和协议标准。

TCU 118控制车辆的跟踪并且配置为提供用于移动通信(例如,GSM、GPRS、Wi-Fi、WiMAX或LTE)的外部接口,所述外部接口经由网络106将跟踪的值提供给集中式地理信息系统(GIS)数据库服务器(未显示)。在一些实施方案中,TCU 118还可以使主ECU 116能够直接与安全子系统104通信,而不需要程序代码108。

如图所示,主ECU 116还与车载信息娱乐(IVI)系统122进行通信,车载信息娱乐(IVI)系统122配置为向车辆的乘员呈现音频和视频内容。IVI系统122还配置为经由与一个或更多个外部设备的通信连接(例如,Wi-Fi、USB或以太网),通过网络106与一个或更多个外部系统(例如,外部内容提供系统)进行通信。

在安全系统100的情况下,在每个ECU的生产过程中,对称密钥存储在每个ECU的安全存储组件或其他安全元件中(例如,存储在ECU上运行的进程或通过在ECU外部运行的任何进程不能访问的元件中)。此外,在每个ECU的生产过程中,后端根证书存储在每个ECU的不可修改的存储装置中。在车辆组装过程快要结束时,所有的组装ECU都只嵌入了提供最低限度功能的部分程序代码,但是仅有部分程序代码不能使车辆操作。例如,所述部分程序代码可以使ECU能够将唯一标识符(例如,公钥证书)传送给主ECU 116。每个ECU的唯一标识符可以在生产期间存储在相应ECU的不可修改的存储机制中。所述部分程序代码还可以有助于ECU之间的其他次要通信,以辅助认证ECU。

根据一些实施方案,执行程序代码108的设备或系统可以在车辆制造商的最终组装过程中连接至车辆的主ECU 116。执行程序代码108的设备或系统可以以至少两种方式中的一个连接到主ECU 116:1)可以基于共享机密(例如,对称密钥和非对称密钥)在程序代码108和主ECU 116之间建立可信通信;或者,2)不能建立安全连接,但是可以在汽车OEM所提供的完全受控且安全的环境中,在车辆组装的结束时实施此过程。

一旦(例如,经由OBD系统120)连接到主ECU 116,程序代码108就从主ECU 116获得车辆中所有的组装ECU的唯一标识符(例如,公钥证书)的列表。在事先知道车辆中的精确ECU的情况下,程序代码108在生成的列表和已知的列表(例如,清单)之间进行比较,以认证组装ECU的合法性。已知的列表可以,例如,由程序代码108从后端服务器112检索。在另一个示例中,已知的列表的至少一部分可以由每个ECU的生产者提供。

一旦已经验证了ECU,程序代码108就采用使车辆系统102的ECU之间能够进行安全通信的方式使所有ECU通信连接。程序代码108可以向主ECU 116发布命令,该命令使主ECU116可通信地连接ECU以实现ECU之间的安全通信。一旦接收到该命令,主ECU 116为每个ECU提供安全密钥集(例如,加密密钥),该安全密钥集通过使ECU能够与其他ECU安全地交换消息来连接ECU。主ECU 116还向每个ECU提供用于对从其他ECU接收到的消息进行认证的认证数据。在一些实施方案中,后端服务器112为所有ECU生成安全密钥,并通过程序代码108将它们提供给主ECU 116。在一些实施方案中,主ECU 116可以为每个ECU生成安全密钥对,或者每个单独的ECU可以产生其自己的安全密钥对。根据这些实施方案,利用每个ECU中嵌入的唯一标识符将每个ECU的公钥提供给后端服务器112。可以采用许多已知技术中的一种来生成和提供安全密钥。例如,安全密钥可以是利用已知的对称算法生成的“秘钥”,或者可以是利用已知的非对称算法生成的“公钥”。

关于ECU的连接,根据实施方案,所有ECU可以彼此连接,每个ECU可以与主ECU 116单独连接,或者一些ECU可以彼此连接,而其他ECU仅与主ECU 116连接。为了实现这种通信方案,可以向任何一个ECU提供多个安全密钥。最终,提供给每个ECU的安全密钥使得能够与其他ECU通信,因此,安全密钥指示任何给定ECU使得能够与哪些其他ECU通信。以这种方式,两个ECU之间的每个信道可以用唯一的密钥来保护。

一旦被提供了安全密钥,ECU便可以彼此安全地交换信息。取决于实施方案,该信息可以包括在利用各个提供的安全密钥加密的或加密签名的消息中。根据实施方案,在交换信息时,接收ECU检查签名是否是已知签名、或者ECU是否具有使得其能够加密在ECU之间协商的会话的密钥。

在建立了安全的车载通信链路之后,程序代码108随后将主ECU 116连接到后端服务器112,后端服务器112为主ECU 116提供每个ECU的数字证书(例如,公钥证书)。更具体地,后端服务器112向主ECU 116提供用后端根证书签名的中间证书,以描述信任证书链。ECU可以利用这些数字证书,例如通过FOTA平台或服务来接受新固件,所述新固件使程序代码完整并使车辆完全地可操作。这样可以确保车辆的网络在可操作之前是安全的。每个利用后端根证书签名的数字证书或后端信任链中的任何证书都存储在相应的ECU中。

当由原始设备制造商(OEM)、经销商或售后市场更换ECU中的一个时,在主ECU 116和程序代码108之间建立安全连接。程序代码108与安全子系统104建立安全连接。安全子系统104验证程序代码108,并通过后端服务器112提供数字证书。程序代码108标识替换ECU的唯一标识符,程序代码108或后端服务器112利用该标识符验证替换ECU的真实性,程序代码108利用安全连接将证书传递给替换ECU。然后,通过FOTA服务发送固件更新,以使替换ECU上的程序代码完整并使替换ECU可操作。

当ECU确定出另一个ECU已经受损时(例如,由于缺少密钥),ECU可以将这样的信息报告给主ECU 116、任何其他ECU或能够与安全子系统204通信的组件。可以设计主ECU 116用于确定采取什么动作来解决或化解受损或可能不安全的ECU。例如,尽管不限制车辆的安全机构(例如,制动系统),但是主ECU 116可以将车辆置于“安全”模式,在该“安全”模式下,车辆发动机操作受限。例如,“安全”模式可以将车辆限制为以每分钟转数(RPM)或每小时英里数(MPH)的阈值运行。作为另一示例,“安全”模式可以使得车辆在完全关闭之前能够以正常模式行驶有限的距离(例如,100英里)。一旦主ECU 116可以连接到安全子系统104,主ECU116便可以将受损ECU的报告提供给后端服务器112。

根据一些实施方案,安全系统100可以实施技术和基于嵌入式通用集成电路卡(eUICC)的用户身份模块(SIM)基础设施,以充当硬件信任根(RoT),以利用LTE/GSMA/全球平台框架实现车辆ECU之间的安全网络并管理安全性。安全系统100可以利用ECU的嵌入式RoT和外部安全元件。该RoT或安全元件可以存储在嵌入式预共享密钥中,这些密钥在组件生产过程中安全、秘密地存储在不可修改的存储机制中。ECU RoT或外部安全元件可以在组件生产期间将后端证书颁发机构(CA)证书和ECU唯一标识符以及其他数据存储在不可修改的存储机制中。

在图1所示的实施方案中,车辆系统102经由程序代码108通过网络106与安全子系统104通信。然而,在一些实施方案中,车辆系统102可以直接与安全子系统104通信以建立信任区域。例如,图2示出了根据一些替代实施方案的安全系统200,该安全系统200配置为将车辆ECU自动地安全包含到信任区域中。类似于安全系统100,安全系统200包括车辆系统202和安全子系统204,车辆系统202包括ECU、OBD系统220和IVI系统222;安全子系统204包括前端服务器210和后端服务器212。车辆系统202的ECU包括主ECU 216和TCU 218。车辆系统202和安全子系统204中的每一个均包括与安全系统100的车辆系统102和安全子系统104相同的相应组件,并提供相同的相应功能。

然而,与安全系统100不同,在安全系统200中,主ECU 216可以经由网络206与安全子系统204通信,而不需要程序代码。可以通过TCU 218或通过嵌入在主ECU 216中的通信组件来实现主ECU 216与安全子系统204之间的通信。在安全系统200的情况下,主ECU 216配置为执行以上关于图1所描述的程序代码108的功能。

虽然图1和图2示出了通过网络与基于服务器的安全服务直接或间接地通信的车辆系统,但是在其他实施方案中,或者安全系统的安全子系统可以包括直接连接到车辆系统的移动硬件设备(例如,加密锁)。例如,图3示出了安全系统300,其包括与基于加密锁的安全子系统304通信的车辆系统302。

类似于车辆系统102和202,车辆系统302包括ECU、OBD系统320和IVI系统322;ECU包括主ECU 316和TCU 318。车辆系统302的每个组件提供与安全系统100的车辆系统102中的相应组件相同的功能。

与安全系统100的安全子系统104和安全系统200的安全子系统204不同,安全子系统304仅包含加密锁312。加密锁312是小型移动硬件设备,其至少包括存储器、处理器以及用于至少与主ECU 316通信的装置。在一些实施方案中,加密锁312可以是或可以包括诸如智能电话的移动计算设备。

取决于实施方案,在具有或不具有OBD系统320的情况下,车辆系统302可以与基于加密锁的安全子系统304通信。如图所示,基于加密锁的安全子系统304可以直接连接至车辆系统302,并且基于加密锁的安全子系统304可以通过该连接直接与主ECU 316通信。取决于车辆系统302的能力,连接介质可以例如是无线的(例如,蓝牙或Wi-Fi)、有线的(例如,以太网电缆)、通用串行总线(USB)或数据总线。

因为基于加密锁的安全子系统304可以直接连接到车辆系统302,所以安全系统300可以在网络连接不可用的情况下(这通常是在ECU更换的情况下出现)找到应用。例如,在布置之前,具有适当安全措施的独立网络连接设备将下载限时凭证,以认证加密锁312。一旦加密锁312被认证,就可以将用于替换ECU的一个或更多个数字证书(例如,公钥证书)和固件下载到加密锁312的存储器中并加密存储。

一旦布置在字段中,加密锁312就模拟以上参照图1和图2描述的基于服务器的安全服务的功能。例如,加密锁312可以连接到车辆系统302,并且数字证书和固件都可以安装到替换ECU。此固件更新使替换ECU上的程序代码完整,以使替换ECU完全地可操作。与车辆的车辆识别号(VIN)关联的组件列表利用新的组件信息进行更新。

在一些实施方案中,由加密锁312提供给替换ECU的固件更新使程序代码完整,以使得替换ECU仅在有限的时间量内完全地可操作,直到可以将车辆引入网络连接可用并且可以将进一步的信息提供给替换ECU的设施为止。这样,由加密锁312提供的固件更新可以包括到期时间和/或日期。

实现安全通信

图4是示出了根据一些实施方案,在执行用于实现车辆(例如,车辆系统102)的ECU之间的安全通信的方法400时,安全系统(例如,安全系统100)的提供安全服务的安全子系统(例如,安全子系统104)、程序代码(例如,程序代码108)和主ECU(例如,主ECU 116)之间交互的交互图。方法400可以实施为计算机-可读指令,以用于由一个或更多个硬件组件(例如,处理器)执行。

如图4所示,方法400开始于安全子系统向程序代码提供已知ECU标识符的列表(操作402)。每个ECU标识符都是与相应ECU关联的唯一编号。这些唯一标识符可以例如对应于分配给ECU的公钥证书。已知ECU标识符的列表由程序代码接收(在操作404)。包括在已知ECU标识符列表中的每个ECU标识符对应于将要包括在进行配置(例如,组装过程)的具体车辆中的ECU。

程序代码向主ECU查询组装车辆中包括的组装ECU标识符的列表(操作406)。继而,主ECU编译来自车辆中的每个组装ECU的标识符(操作408)。例如,主ECU可以对每个ECU执行ping操作来请求标识符。与每个ECU相关联的唯一标识符存储在相应ECU的不可修改的存储机制中。如上所述,每个ECU最初仅包括部分程序代码,该部分程序代码提供最少的功能,例如将唯一标识符传达给主ECU的能力,但该部分程序代码不能使得车辆可操作。

一旦完整列表被编译,主ECU就将组装ECU的列表发送到程序代码(操作410)。在接收到组装ECU标识符的列表时(在操作412),程序代码通过将已知的ECU标识符的列表与组装ECU标识符的列表进行比较来验证组装ECU的真实性(操作414)。

在一些实施方案中,一旦已经验证了组装ECU的真实性,安全子系统就为每个组装ECU生成安全密钥以及认证数据(操作416),并且安全子系统将安全密钥和认证数据通过安全的(例如,加密的)信道提供给程序代码(操作418)。继而,程序代码通过安全信道将组装ECU的安全密钥和认证数据提供给主ECU(操作420),主ECU从程序代码接收安全密钥和认证数据(操作422)。

在其他实施方案中,主ECU生成安全密钥,而不是安全子系统生成安全密钥。在这些实施方案中,可以从方法400中省略操作416、418、420和422。此外,在这些实施方案中,主ECU通过程序代码通知安全子系统与每个ECU相对应的每个安全密钥,安全子系统可以相应地更新其记录。

返回参照图4,程序代码向主ECU发布连接命令(操作424),继而主ECU通信地连接组装ECU(操作426)。主ECU可以通过向每个ECU提供相应的安全密钥和认证数据来连接组装ECU。一旦被提供了安全密钥,ECU就可以根据如何提供安全密钥来与主ECU、其他ECU或以上两者的组合安全地交换信息。例如,根据实施方案,所有ECU可以彼此连接,每个ECU可以与主ECU单独连接,或者一些ECU可以彼此连接,而其他ECU仅与主ECU连接。为了实现这种通信方案,可以向任何一个或更多个ECU提供多个安全密钥。最终,提供给每个ECU的安全密钥使得能够与其他ECU通信,因此,安全密钥指示任何给定ECU允许与哪些其他ECU通信。当与另一个ECU交换消息时,发送ECU利用与另一个ECU的通信相关的安全密钥对消息进行签名。以这种方式,两个ECU之间的每个信道可以用唯一的密钥来保护。此外,每个ECU利用认证数据来认证从其他ECU接收到的消息。认证数据包括一个或更多个关于与其他ECU通信的属性,例如,时间属性、消息计数属性、操作属性或组件属性;时间属性定义具体安全密钥的时间窗或到期时间;消息计数属性定义具体安全密钥可以用于对消息进行签名的最大消息计数;操作属性定义ECU允许执行的具体操作;组件属性定义具体ECU允许与之通信的车辆系统内的具体组件。

安全地配置ECU固件

图5是示出了根据一些实施方案,在执行用于在车辆(例如,车辆系统102)的多个ECU上安全地配置固件的方法500时,安全系统(例如,安全系统100)的安全子系统(例如,安全子系统104)、程序代码(例如,程序代码108)和主ECU(例如,主ECU 116)之间交互的交互图。方法500可以实施为计算机-可读指令,以用于由一个或更多个硬件组件(例如,处理器)执行。方法500的操作可以例如在上述方法400的操作之后执行。

如图所示,方法500开始于主ECU向程序代码提供:已经向车辆系统的ECU提供安全密钥的指示(操作502)。响应于接收到该指示,程序代码将主ECU与安全子系统连接(操作504)。安全子系统为每个ECU生成数字证书(例如,公钥证书),并将数字证书提供给主ECU(操作506)。在接收到数字证书之后,主ECU可以利用每个ECU的数字证书从FOTA服务请求用于在每个ECU上配置固件的固件数据(操作508)。主ECU从FOTA服务接收固件数据(操作510),并利用该固件数据在每个ECU上配置相应的固件(操作512)。一旦配置完成,固件使嵌入在ECU中的原本部分的程序代码完整,从而使车辆完全地可操作。

在替换ECU上安全地配置固件

图6是示出了根据一些实施方案,在执行用于在替换ECU上安全地配置固件的方法600时,安全系统(例如,安全系统100)的安全子系统(例如,安全子系统104)、程序代码(例如,程序代码108)和主ECU(例如,主ECU 116)之间交互的交互图。方法600可以实施为计算机-可读指令,以用于由一个或更多个硬件组件(例如,处理器)执行。

如图所示,方法600开始于主ECU向程序代码提供ECU已被更换的指示(操作602)。该指示可以包括与替换ECU相关的唯一标识符(例如,公钥)。最初,替换ECU仅包含部分程序代码,仅此部分代码不能使得车辆可操作。

响应于从主ECU接收到指示,程序代码建立与安全子系统的安全连接(操作604)。在建立安全连接之后,安全子系统验证执行程序代码的设备或系统的真实性(操作606)。程序代码基于接收到的作为指示的一部分的标识符来验证替换ECU(操作608)。

一旦替换ECU已经被验证,安全子系统就通过程序代码生成用于替换ECU的一个或更多个安全密钥,并向主ECU提供用于替换ECU的一个或更多个安全密钥(操作610)。程序代码向主ECU发布连接命令(操作612),继而,主ECU通过向替换ECU提供一个或更多个安全密钥来将替换ECU与一个或更多个其他ECU连接(操作614)。一旦向替换ECU提供了一个或更多个安全密钥,替换ECU就可以与车辆系统的一个或更多个其他ECU安全地通信。例如,替换ECU可以利用一个或更多个安全密钥来对与另一ECU交换的加密消息进行签名。可以向替换ECU提供该替换ECU被授权与之通信的每个其他ECU的安全密钥。以这种方式,可以用唯一密钥来确保ECU与替换ECU之间的每个信道。

一旦替换ECU与车辆系统中的其他ECU连接,安全子系统就会生成替换ECU的数字证书(例如,公钥证书)并将其通过程序代码提供给主ECU(操作616)。主ECU 116向替换ECU提供数字证书(操作618),该数字证书可以存储在替换ECU的不可修改的存储机制中。然后,主ECU可以利用数字证书从FOTA平台或服务请求固件数据以用于配置替换ECU的固件(操作620)。在从FOTA平台或服务接收到固件数据之后,主ECU在替换ECU上配置固件(操作622)。一旦固件被配置,固件就使嵌入在替换ECU中的原本部分的程序代码完整,从而使车辆完全地可操作。

利用加密锁在更换ECU上安全地配置固件

图7是示出了根据一些实施方案,在执行用于在替换ECU上安全地配置固件的方法700时,加密锁(例如,加密锁312)和主ECU(例如,主ECU 316)之间交互的交互图。方法700可以实施为计算机-可读指令,以用于由一个或更多个硬件组件(例如,处理器)执行。

如图所示,方法700开始于加密锁获取用于替换ECU的数字证书和固件(操作702)。加密锁可以从基于服务器的安全服务(例如,安全子系统104)获得数字证书和固件,而加密锁可以访问使其能够与安全服务进行通信的网络连接。加密锁基于与替换ECU相关联的唯一标识符(例如,公钥)来验证替换ECU(操作704)。唯一标识符可以存储在替换ECU的不可修改的存储机制中,并且可以由主ECU提供给加密锁。在验证替换ECU之后,加密锁向主ECU提供用于替换ECU的数字证书和固件(操作706)。在操作706,加密锁还可以向主ECU发布连接命令。可以利用(例如,安全地存储在替换ECU中的)临时密钥来执行连接操作。当访问网络连接变得可用时,这可以使得有限的时间能够到达车间以终止更换过程。

响应于接收到连接命令,主ECU向替换ECU提供数字证书(操作708),并且在替换ECU上配置固件(操作710)。一旦固件被配置,固件就使嵌入在替换ECU中的原本部分的程序代码完整,从而使车辆完全地可操作。

ECU的功能组件

图8是示出根据一些实施方案的ECU 800的功能组件的系统图。ECU 800是图1至图3所示并在上面关于图4至图7讨论的ECU的示例。ECU 800被示为包括安全通信系统802,安全通信系统802包括接收器804、发送器806、认证组件808和存储器810。接收器804可以包括解密组件812,发送器806可以包括加密组件814。

安全通信系统802的功能组件使ECU 800能够与车辆中的其他ECU安全地交换消息。例如,存储器810存储安全密钥816,其使ECU 800能够向一个或更多个其他ECU发送安全(例如,加密的或加密签名的)消息,并解密从其他ECU接收的加密消息。此外,存储器810还存储用于对从其他ECU接收到的消息进行认证的认证数据818。认证数据818包括关于与一个或更多个其他ECU通信的一个或更多个属性。所述一个或更多个属性可以例如包括时间属性、消息计数属性、操作属性和组件属性中的一个或更多个;时间属性指定安全密钥的到期时间或时间窗;消息计数属性指定安全密钥的最大消息计数;操作属性指定允许ECU执行的一个或更多个操作;组件属性指定允许ECU与之通信的车辆的组件。如上所述,车辆系统的主ECU(例如,主ECU 116)可以向ECU 800提供安全密钥816和认证数据818。

接收器804负责从其他ECU接收安全(例如,加密的或加密签名的)消息,接收器804的解密组件812利用存储在存储器810中的安全密钥816中的一个来对加密的消息进行解密。发送器806负责利用存储在存储器810中的安全密钥816中的一个将由加密组件814加密和/或加密签名的消息发送到其他ECU。认证组件808对从其他ECU接收到的消息进行认证。认证组件808可以通过将用于另一个ECU的认证数据818与由ECU 800保持的认证信号进行比较来认证从另一个ECU接收到的消息。下面讨论有关消息验证的进一步的详细信息。

安全通信系统802的各种组件可以配置为彼此通信(例如,经由总线、共享存储器或交换机)。可以利用单独的硬件(例如,机器的一个或更多个处理器)或硬件和软件的组合来实现所描述的任何一个或更多个组件。例如,安全通信系统802的任何组件可以物理地包括一个或更多个处理器820(例如,机器的一个或更多个处理器的或之中的子集)的布置,该布置配置为执行本文对该组件描述的操作。作为另一示例,安全通信系统802的任何组件可以包括软件、硬件或以上两者,其配置(例如,机器的一个或更多个处理器之中的)一个或更多个处理器820的布置,以执行本文对该组件描述的操作。因此,安全通信系统802的不同组件可以在不同的时间点包括并配置这些处理器820的不同布置或这些处理器820的单个布置。此外,安全通信系统802的任何两个或更多个组件可以被组合为单个组件,并且本文针对单个组件所描述的功能可以被细分在多个组件之中。此外,根据各种示例性实施方案,本文描述为在单个机器、数据库或设备内实现的组件可以分布于多个机器、数据库或设备。

ECU之间的安全通信

图9是示出根据一些实施方案的在执行用于在车辆系统的ECU之间安全地交换消息的方法900时安全系统的组件之间的交互的概念图。具体地,图9示出了安全子系统(例如,安全子系统104)与四个ECU(ECU 1、ECU 2、ECU 3和ECU4)之间的交互。ECU 1、ECU 2、ECU3和ECU 4中的每一个都是ECU 800的示例。此外,ECU 1可以对应于主ECU(例如,主ECU 116、216或316)。

如图所示,在操作902,安全子系统为ECU 1(例如,主ECU 116)提供多个安全密钥集和相关联的认证数据,以用于认证在ECU之间交换的消息。所述多个安全密钥集包括与ECU 2相对应的第一安全密钥集、与ECU 3相对应的第二安全密钥集以及与ECU 4相对应的第三安全密钥集。

在操作904A,ECU 1向ECU 2提供第一安全密钥集和相关联的认证数据。在操作904B,ECU 1向ECU 3提供第二安全密钥集和相关联的认证数据。在操作904C,ECU 1向ECU 4提供第三安全密钥集和相关联的认证数据。ECU 2、ECU 3和ECU 4中的每一个可以将其各自的安全密钥集存储在安全存储器件(例如,存储器810)中。

在此示例中,允许ECU 2与ECU 3交换消息,但是不允许ECU 2与ECU 4交换消息。因此,第一安全密钥集包括一个或更多个安全密钥以使ECU 2能够与ECU 3安全地通信,第二安全密钥集包括一个或更多个安全密钥以使ECU 3能够与ECU 2安全地通信。例如,第一安全密钥集可以包括用于ECU 2加密和/或加密签名消息的私钥以及允许ECU 2解密由ECU 3签名(例如,利用提供给ECU 3的私钥)的消息的公钥。同样,第二安全密钥集可以包括用于ECU 3加密消息的私钥和允许ECU 3解密由ECU 2加密签名的消息的公钥。

此外,提供给ECU 2的认证数据使ECU 2能够认证来自ECU 3的消息,但是不能够认证来自ECU 4的消息。认证数据包括一个或更多个属性,所述一个或更多个属性可以例如包括时间属性、消息计数属性、操作属性和组件属性中的一个或更多个;时间属性指定公钥的到期时间或时间窗;消息计数属性指定公钥的最大消息计数;操作属性指定允许ECU 3执行的一个或更多个操作;组件属性指定允许ECU 3与之通信的车辆的组件。

在操作906,ECU 3将安全消息发送至ECU 2,该安全消息利用来自第二安全密钥集的安全密钥进行了加密签名。在接收到安全消息后,ECU 2利用提供给ECU 2的认证数据来成功地认证安全消息,并将该消息存储在安全存储区域中(操作908)。如下面将进一步讨论的,安全消息的认证可以包括将认证数据与认证信号进行比较。

在操作910,ECU 4将安全消息发送至ECU 2,该安全消息利用来自第三安全密钥集的安全密钥进行了加密签名。但是,如上所述,在该示例中,不允许ECU 2和ECU 4相互交换消息。因此,如操作912所示,从ECU 4接收的消息的认证失败。响应于不能认证从ECU 4接收到的消息,ECU 2可以丢弃该消息,并且可以进一步向ECU 1发送信号以通知ECU 1安全密钥认证失败。

图10和图11是示出根据一些实施方案的在执行用于安全地交换消息的方法1000时车辆的多个ECU之间交互的交互图。更具体地,图10和图11示出了在执行方法1000时ECU1、ECU 2和ECU 3之间的交互。方法1000可以实施为计算机-可读指令,以用于由一个或更多个硬件组件(例如,处理器)执行,从而方法1000的操作可以由ECU 1、ECU 2和ECU 3执行。如上所述,ECU 1、ECU 2和ECU 3是ECU 800的示例。此外,ECU 1可以对应于主ECU(例如,主ECU116、216或316)。

如图所示,方法1000开始于ECU 1(例如,主ECU 116)为ECU 3提供安全密钥集,以使ECU 3能够与至少包括ECU 2的一个或更多个ECU交换消息(操作1002)。在操作1004,ECU3接收密钥集。

ECU 1向ECU 2提供认证数据,以用于认证与ECU 3交换的消息(操作1006)。在操作1008,认证数据由ECU 2接收。认证数据包括基于安全密钥集的关于与ECU 3通信的一个或更多个属性。一个或更多个属性可以例如包括以下两个时间属性、消息计数属性、组件属性和操作属性中的一个或更多个:一个时间属性定义安全密钥的到期时间;一个时间属性定义用于发送利用安全密钥加密签名的消息的时间窗;消息计数属性定义用于安全密钥的最大消息计数;组件属性指定允许ECU 3与之通信的车辆的组件的标识符;操作属性指定ECU3能够执行的操作。在一些实施方案中,所述一个或更多个属性可以包括与认证的消息相对应的第一消息计数属性和与认证失败的消息相对应的第二消息计数属性。

ECU 3生成安全消息,该安全消息利用来自安全密钥集的安全密钥进行加密签名(操作1010),并且ECU 3将安全消息发送给ECU 2(操作1012)。ECU 2从ECU 3接收安全消息(操作1014),该安全消息利用来自提供给ECU 3的安全密钥集中的安全密钥进行加密签名。

ECU 2利用认证数据来认证从ECU 3接收到的安全消息(操作1016)。具体地,ECU 2通过将认证数据与认证信号进行比较来认证安全消息。认证信号可以由ECU 2保持。在一些实施方案中,认证信号可以由ECU 2和ECU 3两者保持。根据这些实施方案,ECU 3可以利用安全密钥和认证信号的组合来对安全消息进行加密签名。根据一些实施方案,在认证安全消息之前或作为认证安全消息的一部分,ECU 2可以利用提供给ECU 2的一个或更多个安全密钥来解密安全消息。

在第一示例中,一个或更多个属性包括定义安全密钥的到期时间的时间属性,并且认证信号包括时钟信号。在第一示例中,ECU 2通过将到期时间与时钟信号进行比较来验证来自ECU 3的安全消息,如果到期时间还没有过去,则ECU 2成功地认证该安全消息。另一方面,如果经过了到期时间,则认证失败,并且ECU 2可以向ECU 1发送指示关于ECU 3的安全密钥认证失败的消息。

在第二示例中,一个或更多个属性包括时间属性,该时间属性定义了时间窗,在该时间窗内可以发送利用安全密钥签名的消息,并且认证信号包括时钟信号。在第二示例中,ECU 2通过将时间窗与时钟信号进行比较来认证来自ECU 3的安全消息,如果该消息是在时间窗内发送的,则ECU 2成功地认证该安全消息。另一方面,如果消息是在时间窗之外发送的,则认证失败,并且ECU 2可以向ECU1发送指示关于ECU 3的安全密钥认证失败的信号。此外,在第一示例和第二示例的情况下,ECU 2可以基于与ECU 1通信的计算机系统(例如,后端服务器112)提供的一个或更多个时钟信号更新来保持时钟信号。

在第三示例中,一个或更多个属性包括消息计数属性,该消息计数属性定义最大消息计数,该最大消息计数限制了可以利用安全密钥签名的消息的数量,并且认证信号包括与利用安全密钥签名的消息的数量相对应的消息计数器值。在第三示例中,ECU 2通过在从ECU 3接收到安全消息之后增加消息计数器值并将消息计数器值与最大消息计数进行比较来对安全消息进行认证。如果消息计数器值未超过最大消息计数,则ECU 2成功地认证安全消息。如果消息计数器值超过最大消息计数,则认证失败,并且ECU 2可以向ECU 1发送指示关于ECU 3的安全密钥认证失败的信号。ECU 2保持的消息计数器值对应于利用提供给ECU 3的安全密钥集中的安全密钥进行加密签名的消息。最大消息计数可以对应于成功认证的消息或未成功认证的消息,因此,可以为成功认证的消息和未成功认证的消息保持单独的消息计数器值。

在第四示例中,一个或更多个属性包括指定允许ECU 3与之通信的车辆的组件的组件属性,并且ECU 2通过验证安全消息与允许ECU 3与之通信的车辆的组件的操作有关来认证来自ECU 3的安全消息。

在第五示例中,一个或更多个属性包括指定允许ECU 3执行的操作的操作属性,并且ECU 2通过验证安全消息对应于允许ECU 3执行的操作来认证安全消息。

如图11所示,在一些实施方案中,方法1000可以包括操作1016、1018、1020、1022、1024、1026、1028、1030和1032。根据一些实施方案,可以在ECU 2认证从ECU 3接收的安全消息的操作1014之后,执行操作1016、1018、1020、1022、1024、1026、1028、1030和1032。如上所述,在某些情况下,ECU 2在操作1014可能不能成功地认证安全消息。响应于ECU 2不能成功地认证安全消息,ECU 2向ECU 1发送指示关于ECU 3的安全密钥认证失败的信号(操作1016)。

在从ECU 2接收到信号时,ECU 1限制车辆的操作(操作1018)。ECU 1可以通过以受限操作模式将一个或更多个ECU放置在车辆中来限制车辆的操作,该受限操作模式限制一个或更多个ECU执行一个或更多个操作(例如,发送消息)。例如,响应于ECU 2不能成功地认证从ECU 3接收到的安全消息,ECU 1可以将ECU 3置于受限操作模式。

此外,ECU 1使关于ECU 3的认证失败的通知显示在显示设备上(操作1020)。该显示设备可以是车辆的显示设备(例如,仪表板显示设备)或与ECU 1通信的外部计算机系统(例如,诊断工具)的显示设备。该通知可以呈现在图形界面内,该图形界面提供车辆中每个ECU的认证和操作状态。这种图形界面的示例在图12中示出并在下面进行讨论。

响应于从ECU 2接收到信号,ECU 1还可以从安全子系统请求更新的认证数据(操作1022)。例如,更新的认证数据可以包括安全密钥的更新的到期时间。ECU 1向ECU 2提供更新的认证数据(操作1024),该更新的认证数据在操作1026由ECU 2接收。

在一些实施方案中,在操作1028,ECU 1可以另外请求ECU 3的新的安全密钥,以替换导致失败认证的安全密钥。在操作1030,ECU 1向ECU 3提供新的安全密钥,并且在操作1032,ECU 3接收新的安全密钥。

图形界面

图12是示出根据一些实施方案的由安全系统(例如,安全系统100、200或300)提供的图形界面1200的各方面的界面图。如图所示,图形界面1200包括车辆中的ECU的列表以及每个ECU的认证和操作状态。图形界面1200可以显示认证失败的通知。例如,在图12中,呈现了“ECU 4”的认证失败的通知以及“ECU 4”处于受限操作模式的通知。

计算机系统

图13示出了根据示例性实施方案的以计算机系统的形式表示机器1300的示意图,在机器中可以执行用于使机器1300执行本文所讨论的方法中的任何一种或更多种的指令集。具体地,图13示出以计算机系统的示例形式表示机器1300的示意图,在机器中可以执行用于使机器1300执行本文所讨论的方法中的任何一种或更多种的指令1316(例如,软件、程序、应用软件、小应用程序、应用程序或其他可执行代码)。例如,机器1300可以对应于前端服务器110和210、后端服务器112和212、OBD系统120、220和320、IVI系统122、222和322、加密锁312、ECU 800及以上的任何示例。此外,指令1316可以使机器1300执行方法400、500、600、700、900或1000中的任何一种。指令1316将通用的、未编程的机器1300转换为如下的特定机器1300,其编程为以这里描述的方式执行所描述和示出的功能。在替代实施方案中,机器1300作为独立设备操作,或者可以连接(例如,联网)到其他机器。在网络部署中,机器1300可以在服务器-客户端网络环境中以服务器机器或客户端机器的能力运行,或者在对等(或分布式)网络环境中作为对等机器运行。机器1300可以包括但不限于服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、膝上型计算机、上网本、智能电话、移动设备、网络路由器、网络交换机、网桥或能够依次或以指定了机器1300要采取的动作的其他方式执行指令1316的任何机器。此外,虽然仅示出了单个机器1300,但是术语“机器”也应理解为包括机器1300的集合,所述机器1300的集合单独地或共同地执行指令1316以执行本文讨论的方法中的任何一种或更多种。

机器1300可以包括处理器1310、存储器1330和I/O组件1350,所述处理器1310、存储器1330和I/O组件1350可以配置为例如经由总线1302彼此通信。在示例性实施方案中,处理器1310(例如,中央处理单元(CPU)、精简指令集计算(RISC)处理器、复杂指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、射频集成电路(RFIC)、另一处理器或以上的任何合适组合)可以包括例如可以执行指令1316的处理器1312和处理器1314。术语“处理器”旨在包括多核处理器1310,其可以包括可以同时执行指令的两个或更多个独立处理器(有时称为“核”)。虽然图13示出了多个处理器,但是机器1300可以包括具有单个核的单个处理器、具有多个核的单个处理器(例如,多核处理器)、具有单个核的多个处理器、具有多个核的多个处理器、或以上的任何组合。

存储器1330可以包括主存储器1332、静态存储器1334和存储单元1336,它们各自可以例如经由总线1302被处理器1310访问。主存储器1332、静态存储器1334和存储单元1336存储实现本文描述的方法或功能中的任何一个或更多个的指令1316。在由机器1300执行指令1316期间,指令1316还可以全部或部分地位于主存储器1332内、静态存储器1334内、存储单元1336内、处理器1310中的至少一个内(例如,在处理器的高速缓冲存储器内)、或以上的任何合适组合。

I/O组件1350可以包括各种组件,以接收输入、提供输出、产生输出、发送信息、交换信息、捕获测量等。包括在特定机器1300中的具体I/O组件1350将取决于机器的类型。例如,诸如移动电话的便携式机器很可能包括触摸输入设备或其他这样的输入机制,而无头服务器机器很可能不包括这种触摸输入设备。将理解的是,I/O组件1350可以包括在图13中未示出的许多其他组件。仅出于简化以下讨论的目的,根据功能对I/O组件1350进行分组,并且该分组不是限制性的。在各种示例性实施方案中,I/O组件1350可以包括输出组件1352和输入组件1354。输出组件1352可以包括:视觉组件(例如,显示器,诸如等离子体显示面板(PDP)、发光二极管(LED)显示器、液晶显示器(LCD),投影仪或阴极射线管(CRT))、声学组件(例如,扬声器)、其他信号发生器等。输入组件1354可以包括:字母数字输入组件(例如,键盘、配置为接收字母数字输入的触摸屏、光电键盘或其他字母数字输入组件)、基于点的输入组件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或其他指向工具)、触觉输入组件(例如,物理按钮、提供触摸或触摸手势的位置和/或力的触摸屏、或其他触觉输入组件)、音频输入组件(例如,麦克风)等。

可以利用多种技术来实现通信。I/O组件1350可以包括通信组件1364,通信组件1364可操作为分别经由连接1382和连接1372将机器1300连接到网络1380或设备1370。例如,通信组件1364可以包括网络接口组件或另一合适的设备以与网络1380对接。在进一步的示例中,通信组件1364可以包括有线通信组件、无线通信组件、蜂窝通信组件、近场通信组件、蓝牙通信组件和Wi-Fi通信组件。设备1370可以是另一个机器或各种***设备中的任何一个(例如,经由通用串行总线(USB)连接的***设备)。

可执行指令和机器存储介质

各种存储器(例如,1330、1332、1334和/或处理器1310的存储器)和/或存储单元1336可以存储由本文所述的方法或功能中的任何一个或更多个实现或利用的一个或更多个指令组和数据结构(例如软件)。这些指令在由处理器1310执行时,引起各种操作以实现所公开的实施方案。

如本文所使用的,术语“机器存储介质”,“设备存储介质”和“计算机存储介质”是相同的意思并且可以互换使用。所述术语指的是存储可执行指令1316和/或数据的单个或多个存储器件和/或介质(例如,集中式或分布式数据库、和/或相关联的高速缓存和服务器)。因此,应将这些术语理解为包括但不限于固态存储器以及光和磁介质,包括处理器1310内部或外部的存储器。机器存储介质、计算机存储介质和/或设备存储介质的具体示例包括非易失性存储器,包括例如半导体存储器件,例如,可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、现场可编程门阵列(FPGA)和闪存器件;磁盘,例如内部硬盘和可移动磁盘;磁光盘;以及CD-ROM和DVD-ROM磁盘。术语“机器存储介质”、“计算机存储介质”和“设备存储介质”具体地排除载波、调制数据信号和其他此类介质,在术语“传输介质”下涵盖的至少一些介质讨论如下。

传输介质

在各种示例性实施方案中,网络1380的一个或更多个部分可以是:自组织网络、内部网、外部网、虚拟专用网(VPN)、局域网(LAN)、无线LAN(WLAN)、广域网(WAN)、无线WAN(WWAN)、城域网(MAN)、互联网、互联网的一部分、公共交换电话网(PSTN)的一部分、普通老式电话服务(POTS)网络、蜂窝电话网络、无线网络、

Figure BDA0002603407820000181

网络、另一种类型的网络、或两个或更多个此类网络的组合。例如,网络1380或网络1380的一部分可以包括无线或蜂窝网络,并且连接1382可以是码分多址(CDMA)连接、全球移动通信系统(GSM)连接、或另一种类型的蜂窝或无线连接。在该示例中,连接1382可以实施多种类型的数据传输技术中的任何一种,诸如,单载波无线电传输技术(1xRTT)、演进数据优化(EVDO)技术、通用分组无线电服务(GPRS)技术、增强型数据速率GSM演进(EDGE)技术、包括3G的第三代合作伙伴计划(3GPP)、***无线(4G)网络、通用移动通信系统(UMTS)、高速分组接入(HSPA)、微波接入全球互操作性(WiMAX),长期演进(LTE)标准、由各种标准制定组织定义的其他标准、其他远程协议或其他数据传输技术。

指令1316可以通过网络接口设备(例如,通信组件1364中包括的网络接口组件)利用传输介质通过网络1380来发送或接收,并且可以利用多种众所周知的传输协议中的任何一种(例如,超文本传输协议(HTTP))。类似地,指令1316可以利用传输介质经由连接1372(例如,对等连接)被发送或接收到设备1370。术语“传输介质”和“信号介质”表示相同的事物,并且可以在本发明中互换使用。术语“传输介质”和“信号介质”应被认为包括能够存储、编码或携带由机器1300执行的指令1316的任何无形介质,并且包括数字或模拟通信信号或其他无形介质以便于此类软件的通信。因此,术语“传输介质”和“信号介质”应被认为包括任何形式的调制数据信号、载波等。术语“调制数据信号”是指具有以将信号中的信息编码的方式所设置或改变其一个或更多个特征的信号。

计算机可读介质

术语“机器可读介质”、“计算机可读介质”和“设备可读介质”表示相同的事物,并且可以在本发明中互换使用。所述术语定义为既包括机器存储介质又包括传输介质。因此,所述术语既包括存储器件/介质又包括载波/调制的数据信号。

本文中描述的示例性方法的各种操作可以至少部分地由临时配置(例如,通过软件)或永久配置为执行相关操作的一个或更多个处理器执行。类似地,本文中描述的方法可以至少部分地由处理器实现。例如,一种方法的至少一些操作可以由一个或更多个处理器执行。某些操作的性能可以分布在一个或更多个处理器之间,不仅位于单个机器内,而且可以跨多个计算机部署。在一些示例性实施方案中,一个或更多个处理器可以位于单个位置(例如,在家庭环境、办公室环境或服务器场内),而在其他实施方案中,处理器可以分布在多个位置。

尽管已经参考具体示例性实施方案描述了本发明的实施方案,但是显而易见的是,可以对这些实施方案进行各种修改和改变,而不脱离本主题的较宽范围。因此,说明书和附图应认为是说明性的而不是限制性的意义。形成说明书的一部分的附图通过说明而非限制地示出了可以实践本主题的具体实施方案。足够详细地描述了所示的实施方案,以使本领域技术人员能够实践本文公开的教导。可以使用其他实施方案并从中得出其他实施方案,使得可以在不脱离本发明的范围的情况下进行结构和逻辑上的替换和改变。因此,详细描述不应认为是限制意义,并且各种实施方案的范围仅由所附权利要求以及这些权利要求所赋予的等同形式的全部范围来限定。

尽管本文中已经图示和描述了具体的实施方案,但是应当理解,为实现相同目的而设计的任何布置都可以代替所示的具体实施方案。本发明意图覆盖各种实施方案的任何和所有修改或变化。在回顾以上描述之后,对于本领域技术人员而言,以上实施方案的组合以及本文中未具体描述的其他实施方案将是显而易见的。

在本文件中,在专利文件中很常见的术语“一个”或“一种”包括一个或多于一个,独立于“至少一个”或“一个或更多个”的任何其他情况或用法。在本文件中,除非另有说明,否则术语“或”用于表示非排他性的或,诸如,“A或B”包括“A,而不是B”、“B,而不是A”以及“A和B”。在所附权利要求中,术语“包括(including)”和“其中(in which)”被用作相应术语“包括(comprising)”和“其中(wherein)”的简明英语等同形式。此外,在所附权利要求中,术语“包括(including)”和“包括(comprising)”是开放式的;也就是说,除权利要求中在此术语之后列出的元件之外,还包括其他元件的系统、设备、物品或过程仍被认为属于该权利要求的范围。

34页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于分组数据转换的技术

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类