CN118020270A - 计算***中的安全通信 - Google Patents
计算***中的安全通信 Download PDFInfo
- Publication number
- CN118020270A CN118020270A CN202280061777.1A CN202280061777A CN118020270A CN 118020270 A CN118020270 A CN 118020270A CN 202280061777 A CN202280061777 A CN 202280061777A CN 118020270 A CN118020270 A CN 118020270A
- Authority
- CN
- China
- Prior art keywords
- ecu
- ecus
- group
- key
- manifest
- 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
Links
- 238000004891 communication Methods 0.000 title description 27
- 238000000034 method Methods 0.000 claims description 29
- 230000004044 response Effects 0.000 claims description 19
- 238000009795 derivation Methods 0.000 claims description 4
- 238000012795 verification Methods 0.000 claims description 4
- 230000000977 initiatory effect Effects 0.000 claims 2
- 230000008901 benefit Effects 0.000 description 17
- 238000003860 storage Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 230000001419 dependent effect Effects 0.000 description 7
- 238000009826 distribution Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 6
- 230000008439 repair process Effects 0.000 description 5
- 230000001010 compromised effect Effects 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000002441 reversible effect Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 150000003839 salts Chemical class 0.000 description 1
- 229920000638 styrene acrylonitrile Polymers 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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 involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/065—Network architectures or network communication protocols for network security for supporting key management in a packet data network for group communications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/083—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
- H04L9/0833—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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/3242—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
- H04W12/043—Key management, e.g. using generic bootstrapping architecture [GBA] using a trusted network node as an anchor
- H04W12/0431—Key distribution or pre-distribution; Key agreement
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
- H04W12/069—Authentication using certificates or pre-shared keys
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
- H04W4/48—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for in-vehicle communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/84—Vehicles
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Power Engineering (AREA)
- Small-Scale Networks (AREA)
Abstract
本公开涉及在通过网络互连的控制单元之间安全地传送流量。电子控制单元(ECU)接收已签名清单,该已签名清单标识用于被授权通过网络进行通信的一组ECU的公钥。该ECU执行与该组中的ECU的认证交换。该认证交换使用在清单中标识的公钥。基于认证交换,ECU将组密钥分发给ECU中的经认证的ECU,该经认证的ECU传送使用组密钥认证的消息。
Description
技术领域
本公开整体上涉及网络安全,并且更具体地涉及认证计算***的部件。
背景技术
在设计计算机网络时,网络安全是经常要关注的问题。这可以适用于大型企业网络以及小型网络诸如局域网,在这些网络中,个体单元可能缺乏足够的安全级别并且对它们彼此通信的方式的限制相对较少。例如,现代车辆可依赖于分散式计算***,该分散式计算***包括通过内部车辆网络互连的专用控制单元。由于传统车辆网络可能缺乏安全保护,因此个别控制单元可能被不法分子入侵。例如,不法分子可篡改被入侵的控制单元的操作,并且还向其他互连的控制单元发送恶意命令,这可能导致车辆的不可预测的或不安全的操作。
附图说明
图1是示出根据一些实施方案的安全网络的示例的框图,该安全网络具有在彼此之间传送经认证消息的多个互连部件。
图2是示出根据一些实施方案的用于认证网络的合法部件并促进密钥分发的清单的供应和生成的示例的框图。
图3是示出根据一些实施方案的实现各种部件之间的相互认证的示例的框图。
图4是示出根据一些实施方案的实现用于在所定义的通信组的成员之间分发组密钥的方案的示例的框图。
图5是示出根据一些实施方案的网络流量使用经认证消息在网络的部件之间流动的示例的框图。
图6是示出根据一些实施方案的实现认证方案以使得能够在网络的各种部件之间进行安全通信的示例性方法的流程图。
图7是示出根据一些实施方案的可用于实现网络的一个或多个部件的示例性计算机***的框图。
具体实施方式
装置(例如,电器、机器、机器人、工业***、医疗***、车辆等)内的通信***可由于各种因素中的任何因素而受到威胁或损害。例如,可执行非法维修操作,其中装置的电子控制单元(ECU)被未知的或未经授权的ECU替换,该ECU可能无法正确地或可靠地运行。作为另一示例,恶意命令可被发送以通过入侵ECU(例如,通过端口或接口)来获得对该装置的控制。另选地,具有无线网络接口的ECU(例如,车辆的娱乐单元)可被远程损害并且导致向该装置的其他ECU发出恶意命令。在其中对装置的操作失去控制的可能性是重要问题的情况下,ECU之间的通信安全性可能是很重要的。
本公开描述了用于通过多阶段认证方案来增强计算***中的安全性的各种技术。如下面将讨论的,该方案可通过使用已签名清单来实现装置的各ECU之间的认证通信,从而力图将合法ECU绑定到特定装置。在各种实施方案中,引领ECU可接收已签名清单,该已签名清单标识用于被授权彼此通信的一组ECU的公钥。该清单可例如由制造商或另一可信实体提供。在操作会话(例如,车辆驾驶会话、机器操作会话等)开始时,引领ECU可使用在清单中标识的公钥来执行与该组中的ECU的认证交换。响应于成功地认证该组中的ECU,引领ECU可向ECU分发组密钥,以便使得它们能够传送使用组密钥认证的消息。例如,在下面讨论的一些实施方案中,ECU可使用组密钥来生成消息认证码(MAC),该消息认证码在被发送到另一ECU之前被追加到消息,该另一ECU可使用该MAC来验证该消息的完整性并且确认该消息来自另一个组成员。在许多情况下,以这种方式认证ECU可防止安装不合规的非OEM ECU以及限制受损的ECU与其他非组成员通信的能力。
本公开以相对于图1的安全网络的部件的描述开始。在图2中描述了清单的供应和生成,该清单提供网络的合法部件的列表。相对于图3至图5描述了本公开的多步骤认证方案的三个阶段。在图6中描述了实现本公开的认证方案的示例性方法。最后,以图7来讨论可用于实现网络的一个或多个部件的示例性计算机***。
现在转向图1,描绘了安全网络100的框图。在所示的实施方案中,网络100包括多个ECU,该多个ECU包括耦接到多个其他ECU 120A-C的引领ECU 110。在所示的实施方案中,ECU 120A-C被示出为分别包括私钥122A-C。图1还描绘了引领ECU 110可访问的清单102。在各种实施方案中,清单102包括对应于ECU 120A-C的私钥122A-C的公钥104A-C,以及引领ECU 110的公钥。清单102还包括可信签名106。在各种实施方案中,网络100可与所示不同地进行实现。因此,在一些实施方案中,可存在更多(或更少)的ECU 120,引领ECU 110可以是一个或多个通信组130的一部分,ECU 120中的任一ECU可被指定为引领ECU,所有ECU 120或ECU 120的子集可访问清单102(除了可访问清单102的引领ECU 110之外),等等。在一些实施方案中,虽然引领ECU 110可以是具有清单102的唯一ECU,但是跟随ECU 120可被供应引领ECU 110的公钥(以及可能关于引领ECU的其他信息,诸如其序列号),该公钥可被签署到清单102中。虽然组130A和130B被描绘为仅包括两个ECU 120,但是在一些实施方案中,组130可包括多于两个ECU 120和110,例如,当使用多播来在组成员之间传送流量时,可能是这种情况。
在一些实施方案中,安全网络100是被配置为促进网络流量以安全方式在ECU 110和120之间传送的局域网(LAN)。在一些实施方案中,安全网络100被包括在装置(例如,电子设备、电器、机器、机器人、工业***、医疗***、车辆等)中;然而,在其他实施方案中,网络100可位于其他地方。在一些实施方案中,ECU 120根据IEEE 802.3在以太网帧中传送网络流量;然而,在其他实施方案中,可支持其他联网协议,诸如控制局域网(CAN)。在一些实施方案中,网络100可包括除ECU之外的部件。例如,网络100可包括网关设备,以促进将ECU耦接到外部服务器、外部网络(例如,因特网)等。
如本文所用,术语“电子控制单元(ECU)”应根据其在本领域中所理解的含义来解释,并且包括嵌入式***(例如,微控制器)。针对ECU 110和120A-C的示例可包括:传送扭矩控制消息和轮速消息以便控制马达操作的马达ECU、传送制动控制消息以便进行制动的制动***ECU、传送视频的倒车摄像头ECU、传送方向盘角度消息以便控制转向的转向ECU,等等。在一些情况下,ECU可由第三方制造并且在装置被构建时由制造商作为OEM部件安装到该装置中。随着时间的推移,ECU可能由于特定装置维修而需要更换,这可由制造商以外的人来处理。如上所述,当使用非OEM部件时或当以未经授权的方式执行维修时,装置的安全性也可能受到不利影响。
在一些情况下,装置也可能不总是实现足够的安全级别。当ECU正常运行时,然而,它们的通信可以是确定的/可预测的。例如,与倒车摄像头相关联的ECU通常可与导航ECU通信,以便向驾驶员呈现来自倒车摄像头的视频。相反,导航ECU很可能不向制动控制ECU发出命令来进行制动。在图1中描绘的示例中,组130A和130B呈现假设在正常操作期间彼此通信的ECU。因此,在该示例中,虽然ECU 120A可与ECU 120B正常地通信,但可不与ECU 120C正常地通信。如下面将更详细地讨论的,在各种实施方案中,ECU 110和120执行认证方案,该认证方案用于辨别被授权成为网络100的一部分的ECU并且将它们的通信限制于仅属于同一组(或多个组)130的那些经授权的ECU。
在各种实施方案中,该认证方案使用清单102中的信息作为基础来标识属于该装置的合法(或经授权)ECU。如图所示,清单102包括属于ECU 120A-C的公钥104A-C,因为它们可对应于私钥122A-C(即,公钥104和私钥122属于相同公钥对)。如下面将与图2一起更详细地描述的,每个ECU 120可生成相应的公钥对并且提供该对的公钥104以供包括在清单102中,同时在内部维持该对的私钥122。可信实体(诸如制造商)可收集这些公钥104并且将它们包括在清单102中,该清单用可信实体的可信签名106进行签署。然后,该已签名清单102可用作基础来在认证方案中建立信任。
在所示的实施方案中,虽然清单102可由引领ECU 110访问,但在一些实施方案中也可由ECU 120访问。在各种实施方案中,引领ECU 110的任务是协调认证方案的执行。在一些实施方案中,可预先确定引领ECU——例如,可选择具有最大计算能力的ECU作为引领ECU110。在其他实施方案中,引领ECU 110可以是如通过在认证方案开始时的选择所确定的ECU120中的选定ECU。虽然ECU 110在图1中被示出为处于组130外部,但是ECU 110也可属于一个或多个通信组130。尽管在图1中描绘了单个引领ECU 110,但是在一些实施方案中,ECU110也可以是多个引领ECU中的一个引领ECU,每个引领ECU执行对相应的一组或多组ECU120的认证。在一个此类实施方案中,安全网络100可包括多个ECU群集,其中每个群集包括相应的引领ECU 110和一个或多个跟随ECU 120,这些ECU可存在于多于一个群集中。例如,网络100可包括两个群集:1)ECU A、B和C,和2)C、D和E。在该示例中,由于ECU C是两个群集共有的,因此在一些实施方案中,ECU C可以是两个群集的引领ECU 110、一个群集的引领ECU 110和另一个群集的跟随ECU 120、或者两个群集的跟随ECU 120。
如将与随后的图3至图5一起更详细地讨论的,在一些实施方案中,本文所描述的认证方案可包括三个阶段。在与图3一起讨论的认证方案的第一阶段中,引领ECU 110执行与清单102中列出的每个成员ECU 120A-C的相互认证112。作为执行该认证112的一部分,可在引领ECU 110与成员ECU 120A-C中的每个成员ECU之间建立相应的秘密共享密钥。在与图4一起讨论的认证方案的第二阶段中,引领ECU 110为通信组130A-B中的每个通信组生成共享组密钥114A-B并且然后通过使用先前生成的共享密钥来分发该共享组密钥。在与图5一起讨论的认证方案的第三阶段中,通信组130内的ECU 120使用该组的密钥114来彼此传送经认证的消息132。例如,如图1所示,ECU 120A可向属于同一通信组130A的ECU 120B传送使用组密钥114A认证的消息132。然而,在各种实施方案中,引领ECU 110不将组密钥114分发给不是这些组130的成员的ECU 120。例如,如图1所示,由于ECU 120A不是组130B的成员,因此ECU 120A不从引领110接收组密钥114B。通过不进行该接收,引领110可防止ECU 120A将利用组密钥114B认证的消息传送到ECU 120C,在一些实施方案中,该ECU 120C可被配置为拒绝不能被正确认证的消息。
限制ECU 120在所定义的通信组130内进行传送可极大地提高网络100的整体安全性。例如,如果非法ECU被***网络100中,则该ECU可不会拥有对应于清单102中的公钥104之一的私钥122。结果,该ECU可能无法执行认证112以便接收用于传送经认证消息132的任何组密钥114。因此,可防止非法ECU与其他合法ECU 120通信。而且,因为在各种实施方案中ECU 120被限制为在其自己的组130内进行通信,所以受损的ECU无法开始与不是该ECU的组130的成员的ECU 120进行通信,因为其缺少组密钥114来这样做。因此,如果图1中所描绘的示例中的ECU 120A变得受损并且尝试与ECU 120C通信,则ECU 120C可能不响应这些通信,因为ECU 120A缺少组密钥114B。现在将参考图2更详细地讨论清单102的来源以及如何将其提供给引领ECU 110。
现在转向图2,描绘了用于获得清单102的清单生成200的框图。在所示的实施方案中,生成200包括外部可信服务器210与ECU 110和120之间的交换。在一些实施方案中,生成200可与所示不同地进行实现。
在各种实施方案中,外部可信服务器210是计算***,该计算***处于装置(其包括网络)外部但接收与ECU 110和120有关的信息以便生成清单102。在一些实施方案中,外部可信服务器210由装置的制造商操作,并且因此被认为具有一些信任标记。在一些实施方案中,外部可信服务器210可在装置的制造期间与装置并置,并且可经由LAN接口访问。在其他实施方案中,外部可信服务器210可由ECU 110和120经由广域网(WAN)接口(例如,通过因特网)访问。
在各种实施方案中,生成200可开始于ECU 110和120生成包括私钥122和公钥104的公钥对。然后,ECU 110和120可向外部可信服务器210提供它们的公钥104。在一些实施方案中,这些提供的公钥104可被包括在相应的证书内,这些证书可以是自签署的或由单独的可信的证书授权机构签署。ECU 110和120还可提供其他标识信息,诸如它们的序列号202(如图所示)、***或产品的实例ID(例如,车辆ID)等,以便将它们绑定到特定***或产品。在一些实施方案中,该交换可在装置的制造期间当ECU被***装置中(例如,耦接到装置的物理接口)时执行。然后,外部可信服务器210可创建被示出为清单102的文件,该清单被供应有关于ECU 110和120的该接收到的信息以便用作该信息的储存库。为了保持该信息的完整性,外部可信服务器210可用服务器私钥212A来签署清单102的内容以产生可信签名106,该可信签名被包括在清单102中。在一些实施方案中,外部可信服务器210可向引领ECU 110提供清单102以供在ECU的后续认证期间使用。引领ECU 110还可被供应有服务器210的对应公钥212B,以便在使用清单102的任何内容之前针对可信签名106来验证清单102。在接收到清单102时,引领ECU 110可将清单102的内容存储在非易失性存储器中以用于持久存储。尽管未描绘,但在一些实施方案中,清单102可被提供给其他ECU 120。
在一些实施方案中,外部可信服务器210也可在制造之后生成清单102。例如,装置的授权维修者可在装置的维修期间更换ECU 110和/或120。作为该维修的一部分,新添加的ECU可向外部可信服务器210提供公钥104和序列号202。在一些实施方案中,每当在维修期间添加或移除关于ECU的供应信息时,外部可信服务器210可生成新清单102,使得清单102准确地反映关于网络100的合法ECU的当前信息。为了便于获得新清单102,经授权的维修者或服务人员可能需要将外部可信服务器210连接到一个或多个ECU,使得ECU 110和120可与服务器210通信。
在各种实施方案中,清单102中的信息为ECU之间的安全通信提供基础,如接下来与图3至图5一起描述的技术所解释的。
现在转向图3,描绘了用于实现认证112的认证交换300。在各种实施方案中,认证交换300是上述认证方案的第一阶段,以在引领ECU 110与ECU 120A-C中的每个ECU之间建立相互认证。如图所示,交换300可包括初始椭圆曲线迪菲-赫尔曼(ECDH)交换310,随后是已签名的秘密使用交换320。在其他实施方案中,交换300可与所示不同地进行实现。
在各种实施方案中,执行ECDH交换310以在引领ECU 110与ECU 120A-C中的每个ECI之间建立共享秘密314。如图所示,交换310可开始于引领ECU 110生成包括公钥302A和私钥304A的临时公钥对并且ECU 120生成包括公钥302B和私钥304B的临时公钥对。ECU 120可将其临时公钥302B提供给ECU 110,而ECU 110将其临时公钥302B提供给ECU 120。然后,引领ECU 110可使用ECU 120的临时公钥302B以及其临时私钥304A来执行密钥导出函数(KDF)312A以产生共享秘密314。ECU 120还可使用ECU 110的临时公钥302A以及其临时私钥304B来执行KDF 312B以产生相同的共享秘密314。虽然KDF 312可以以任何合适的方式来实现,但是在所示的实施方案中,KDF 312A和312B可使用ECDH来实现。在一些实施方案中,KDF312可接收附加输入,诸如salt、padding等,以便增加用于生成秘密314的熵。
为了相互认证彼此,使用在清单102中标识的已建立的共享秘密314、私钥122和公钥104来执行双向签署的秘密使用交换320,以证明ECU 110和120彼此的身份。在所示的实施方案中,已签名的秘密使用交换320包括ECU 110生成消息306A并且使用加密操作322A用共享秘密314来加密消息306A以生成经加密消息306A1,这可使用高级加密标准(AES)来实现。ECU 110还可使用其私钥122A(对应于其在清单102中的公钥104)来签署消息306A以生成消息签名306A2,这在一些实施方案中可使用椭圆曲线数字签名算法(ECDSA)324A来执行。然后,ECU 110将经加密消息306A1和消息签名306A2两者发送到ECU 120。ECU 120类似地可生成消息306B并且使用加密操作322B用共享秘密314来加密消息306B以生成经加密消息306B1,这也可使用AES来实现。ECU 120还可使用其私钥122B(对应于其在清单102中的公钥104)来签署消息306B,以使用ECDSA 324B来生成消息签名306B2。然后,ECU 120可将经加密消息306B1和消息签名306B2两者发送到ECU 110。最后,ECU 110和120可对消息306A1和306B1进行解密并且使用对应于私钥122A和122B的公钥104来验证签名306A2和306B2,因为ECU 110和120两者的成功解密和验证会证明可信度,因为双方均已证明知晓先前建立的共享秘密314并且能够生成绑定到清单102中的公钥104的有效签名。
在已签名的秘密使用交换320结束时,ECU 110和120两者将彼此辨别为有效ECU,并且已经建立了用于分发组密钥的共享秘密314,如接下来相对于图4所讨论的。
现在转向图4,描绘了组密钥分发400的示例。密钥分发400是其中引领ECU 110将组密钥114分发给成员ECU(例如,ECU 120)以促进成员ECU之间的安全通信的交换。如所提及的,密钥分发400可实现本公开中所描述的认证方案的第二阶段。
如图4所示,密钥分发400可在成员ECU 120向引领ECU 110发送经加密的组密钥请求402时开始。在各种实施方案中,经加密的组密钥请求402的内容可由共享秘密314加密以增强安全性。在各种实施方案中,该请求402可在ECU 120(或更一般地,装置)通电时并且结合新操作会话(例如,车辆驾驶会话)的开始而被发送。在一些实施方案中,新操作会话的开始可响应于以下操作而发生:操作员(例如,驾驶员)打开装置的门、操作员向装置呈现物理密钥、按下装置的开始按钮等。在一些实施方案中,成员ECU 120还可更频繁地(或更不频繁地)向引领ECU 110发送经加密的组密钥请求402,诸如在给定驾驶会话内周期性地(例如,在可配置的时间量期满之后)发送,以便刷新密钥114。在一些实施方案中,成员ECU 120向引领ECU 110发送单个经加密的组密钥请求402,其中该引领ECU包括其自己的序列号(例如,ECU 120的序列号202)以便于确定其相关组130。在其他实施方案中,成员ECU 120可在经加密的组密钥请求402中包括其他信息,诸如标识ECU 120所属的所有通信组。
在接收到经加密的组密钥请求402后,引领ECU 110可通过查找一组组分配404中的序列号202来标识ECU 120的所有通信组130。在所示的实施方案中,组分配404被示出为被包括在清单102中。然而,在一些其他实施方案中,组分配404可被包含在另一个已签名数据结构(例如,由服务器210签署)中,可被编码到由ECU 110和/或120(例如,其也可以是已签名服务器210)执行的程序指令中,等等。在一些实施方案中,组分配404可在以下时间被确定:在由ECU 110和120执行的程序指令的编译时间、在配置包递送期间(例如,在软件更新时)、在安全网络100的构建期间,等等。在标识成员ECU 120所属的每个通信组之后,引领ECU 110可为每个通信组130生成相应的组密钥(例如,使用随机数发生器)或者响应于较早的请求402确定其是否已经生成此类密钥。然后,引领ECU 110可利用先前由ECU 120建立的共享秘密314来加密相关组密钥114,并且将它们分发给ECU 120。在一些实施方案中,由于共享秘密314对于特定ECU 120是唯一的,因此仅该特定ECU 120能够针对其通信组130中的每一者对其经加密的组密钥114进行解密。因此,未经授权的ECU(例如尚未被正确认证并且不拥有共享秘密314的ECU)可能无法对任何经加密的组密钥114进行解密,并且因此不能参与与通信组130中的其他ECU的通信,如下面接下来将相对于图5讨论的。
现在转向图5,描绘了经认证的消息交换500的框图。如将讨论的,经认证的消息交换500可实现认证方案的第三阶段,其中发送ECU 120A会使用组密钥114来证明消息132的真实性,并且接收ECU 120B会使用组密钥114来确认该真实性以及消息132的完整性。在所示的实施方案中,交换500使用加密钥的消息认证码(MAC);然而,在其他实施方案中,可使用其他技术,诸如数字签名、可验证随机函数(VRF)、加密等。
在一些实施方案中,在执行交换500之前,ECU 120A可将其组密钥114(或多个密钥114)与唯一地标识ECU 120A的信息纠缠在一起,以便证明其是特定消息132的源。在所示的实施方案中,ECU 120A通过使用接收到的组密钥114以及其序列号504执行密钥导出函数(KDF)510以产生经导出密钥512来实现这一点。在一些实施方案中,执行KDF 510可包括使用其序列号504经由AES操作或另一加密算法来加密其组密钥114。在一些实施方案中,组密钥114可与其他信息(例如,随机生成的随机数)纠缠在一起——或者在没有任何纠缠的情况下进行使用。
在各种实施方案中,交换500可开始于ECU 120A生成其想要发送到ECU 120B的消息M 502并且确定包括ECU 120B的相关组130。然后,ECU 120A可为该组130选择对应的经导出密钥512,并且使用所选择的密钥512对消息502执行密码操作C 520。在所示的实施方案中,该密码操作C 520产生MAC 522,然后,ECU 120A经由追加操作530将该MAC附接到消息502以产生经认证的消息132。然后,ECU 120A可将该经认证的消息132传输到ECU 120B。
在接收器侧,ECU 120B还可使用KDF 510以类似方式为其组130中的其他ECU 120产生经导出密钥512。在一些实施方案中,ECU 120B可访问清单102以标识包括ECU 120A的ECU的相关序列号。然后,当ECU 120B接收经认证的消息132时,ECU 120B可最初检查消息内容以便标识所声称的源并且确定用于与所声称的源相关联的组130的相关经导出密钥512。在所示的实施方案中,ECU 120B然后通过以下方式来验证所追加的MAC 522:经由密码操作C 520的执行利用相关密钥512来生成MAC的本地副本,并且执行本地生成的MAC与所追加的MAC 522的比较540。如果比较540的结果是匹配,则ECU 120B可确定消息132已被正确认证(并且其完整性被保留),因为发送ECU 120A已成功证明对组密钥114以及在一些实施方案中对其序列号504的知晓。然而,如果比较540由于不匹配(或不能标识相关密钥512)而失败,则ECU 120B可因消息132无效而将其丢弃。例如,如果消息132在传输之后被篡改,如果ECU 120试图与其组130中的非成员通信,或者如果ECU 120从一开始就从未在清单102中被标识,则可能出现这种结果。
现在转向图6,描绘了用于通过网络传送消息的方法600的流程图。方法600是可由装置中的ECU(诸如引领ECU 110)执行的方法的一个实施方案。在一些情况下,方法600的执行可允许ECU之间的通信更安全。在一些实施方案中,步骤605-615可并行执行或者可按与所示不同的顺序执行。
在步骤605中,ECU(例如,引领ECU)接收已签名清单(例如,清单102),该清单标识被授权通过网络(例如,安全网络100)进行通信的一组ECU(例如,ECU 120A-C)的公钥(例如,公钥104A-C)。在一些实施方案中,该清单包括用于公钥的多个证书,标识(例如,经由组分配404来标识)属于该组的ECU的序列号(例如,序列号504),并且由包括该ECU的装置的制造商签署(例如,经由可信签名106来签署)。在一些实施方案中,网络是控制器局域网(CAN)总线。在一些实施方案中,ECU包括制造商的公钥。在一些实施方案中,在使用清单102的任何内容之前,ECU使用制造商的公钥来验证该清单。在一些实施方案中,响应于验证该清单,ECU将该清单的内容存储在非易失性存储器中以用于持久存储。在一些实施方案中,如果ECU不能使用制造商的公钥来验证清单,则ECU阻止清单的使用(例如,限制对清单的访问、放弃清单的存储、删除清单等)。在一些实施方案中,ECU响应于装置的启动而接收已签名清单。在一些实施方案中,ECU响应于装置维修操作而接收已签名清单。在一些实施方案中,ECU响应于由装置向外部***(例如,制造商的服务器)提供的对清单的请求而接收已签名清单。在一些实施方案中,ECU响应于在装置内检测到新ECU而提供对清单的请求。在一些实施方案中,ECU响应于对更新的检查而提供对清单的请求。在一些实施方案中,ECU响应于用于在装置内的ECU之间进行通信的通信操作而提供对清单的请求。在一些实施方案中,ECU响应于确定ECU不能访问有效清单(例如,ECU不包括任何清单、ECU不包括任何有效清单等)来提供对清单的请求。然而,ECU可响应于任何合适的触发或事件来接收已签名的装置。在一些实施方案中,如果清单的验证失败,则ECU可中断方法600的执行,诸如不执行步骤610和615。在一些实施方案中,如果结合装置的启动来执行方法600,则ECU可停止启动(并且提供错误消息)。
在步骤610中,ECU(例如,引领ECU 110)使用在清单中标识的公钥经由网络接口来执行与组(例如,组130)中的ECU的认证交换(例如,认证交换300)。在一些实施方案中,该认证交换包括:建立与该组中的另一ECU的共享密钥(例如,秘密314),以及验证从该另一ECU接收到的并且使用与针对该另一ECU在清单中标识的公钥相对应的私钥来签署的签名(例如,签名302B2)。
在步骤615中,ECU基于认证交换来(例如,经由密钥分发400)将组密钥(例如,组密钥114)分发给经认证的ECU,该经认证的ECU传送使用组密钥认证的消息。在一些实施方案中,该分发包括:从另一ECU接收对与包括该另一ECU作为成员的一个或多个组相关联的一个或多个组密钥的请求(例如,请求402),以及提供使用所建立的共享密钥加密的所请求的一个或多个组密钥。在一些实施方案中,该分发包括:在提供所请求的一个或多个组密钥之前,确认清单标识(例如,组分配404)另一ECU。在各种实施方案中,ECU被配置为针对包括ECU的装置的每个操作会话(例如,车辆的驾驶会话)执行认证交换和分发。
在一些实施方案中,ECU是该组的成员(例如,引领110也在组130中)。在此类实施方案中,方法600还包括:将组密钥存储在ECU的存储器中,从该组中的另一ECU接收使用所分发的组密钥认证的消息(例如,经认证的消息132),以及使用所存储的组密钥来验证该消息。在一些实施方案中,该验证包括:使用所存储的组密钥来根据消息生成消息认证码(MAC),以及将所生成的MAC与由另一ECU包括在该消息中的MAC(例如,MAC 522)进行比较(例如,经由比较540进行)。在一些实施方案中,消息是使用密码密钥(例如,经导出密钥512)来认证,该密码密钥将组密钥与对另一ECU唯一的序列号(例如,序列号504)纠缠在一起,并且该验证包括:通过使用组密钥将密钥导出函数(例如,KDF 510)应用于序列号来导出该密码密钥。
示例性计算机***
现在转向图7,描绘了示例性计算机***700的框图。计算机***700是计算机***的一个实施方案,该计算机***可用于实现安全网络100的一个或多个部件。在所示的实施方案中,计算机***700包括处理器子***720,该处理器子***经由互连件780(例如,***总线)耦接到***存储器740和I/O接口760。I/O接口760耦接到一个或多个I/O设备770。计算机***700可以是各种类型的设备中的任一者,包括但不限于服务器***、个人计算机***、网络计算机、嵌入式***等。尽管为了方便起见在图7中示出了单个计算机***700,但是***700也可被实现成一起操作的两个或更多个计算机***。
处理器子***720可包括一个或多个处理器或处理单元,该一个或多个处理器或处理单元被配置为执行程序指令以执行本文所描述的功能性。在计算机***700的各种实施方案中,处理器子***720的多个实例可耦接到互连件780。在各种实施方案中,处理器子***720(或720内的每个处理器单元)可包含高速缓存或其他形式的板上存储器。
***存储器740是非暂态计算机可读介质,其能够用于存储能够由处理器子***720执行以使***700执行本文所述的各种操作的程序指令。例如,存储器740可存储程序指令以实现与ECU 110、ECU 120A、ECU 120B或ECU 120C相关联的功能性。***存储器740可利用不同的物理非暂态存储器介质来实现,诸如硬盘存储装置、软盘存储装置、可移动磁盘存储装置、闪存存储器、随机存取存储器(RAM—SRAM、EDO RAM、SDRAM、DDR SDRAM、RAMBUS RAM等)、只读存储器(PROM、EEPROM等),等等。计算机***700中的存储器不限于主存储装置,诸如存储器740。相反,计算机***700也可包括其他形式的存储装置,诸如处理器子***720中的高速缓存存储器和I/O设备770上的辅助存储装置(例如,硬盘驱动器、存储阵列等)。在一些实施方案中,这些其他形式的存储装置也可存储能够由处理器子***720执行以执行本文所述的操作的程序指令。
根据各种实施方案,I/O接口760可以是被配置为耦接到其他设备和与其他设备进行通信的各种类型的接口中的任一者。在一个实施方案中,I/O接口760是从前端总线到一个或多个后端总线的桥接芯片(例如,南桥)。I/O接口760可经由一个或多个对应总线或其他接口耦接到一个或多个I/O设备770。I/O设备770的示例包括存储设备(硬盘驱动器、光盘驱动器、可移除闪存驱动器、存储阵列、SAN、或其相关联控制器)、网络接口设备(例如,到局域网或广域网)或其他设备(例如,图形、用户接口设备等)。在一个实施方案中,计算机***700经由(例如,被配置为通过Wi-Fi、蓝牙、以太网等进行通信的)网络接口设备770耦接到网络。
***
尽管上文已经描述了具体实施方案,但这些实施方案并非要限制本公开的范围,即使仅相对于特定特征描述单个实施方案的情况下也是如此。本公开中提供的特征示例意在进行例示,而非限制,除非做出不同表述。上述说明书意在涵盖此类替代形式、修改形式和等价形式,这对知晓本公开有效效果的本领域技术人员将是显而易见的。
本公开的范围包括本文(明确或暗示)公开的任意特征或特征的组合或其任意概括,而无论其是否减轻本文解决的任何或所有问题。因此,在本专利申请(或要求享有其优先权的专利申请)进行期间可针对特征的任何此类组合作出新的权利要求。具体地,参考所附权利要求书,可将从属权利要求的特征与独立权利要求的特征进行组合,并可通过任何适当的方式而不是仅通过所附权利要求书中所列举的特定组合来组合来自相应独立权利要求的特征。
***
本公开包括对“实施方案”或“实施方案”的组(例如,“一些实施方案”或“各种实施方案”)的引用。实施方案是所公开概念的不同具体实施或实例。对“实施方案”、“一个实施方案”、“特定实施方案”等的引用并不一定是指相同的实施方案。设想了大量可能的实施方案,包括具体公开的那些,以及落入本公开的实质或范围内的修改或替代。
本公开可讨论可由所公开的实施方案产生的潜在优点。并非所有这些实施方案的具体实施都将必然表现出任何或所有潜在优点。特定具体实施是否实现了优点取决于许多因素,其中一些因素在本公开的范围之外。事实上,存在许多原因导致落入权利要求范围内的具体实施可能不表现出任何所公开的优点中的一些或全部。例如,特定具体实施可包括在本公开的范围之外的其他电路,结合所公开的实施方案中的一个实施方案,该其他电路否定或减弱一个或多个所公开的优点。此外,特定具体实施(例如,具体实施技术或工具)的次优设计执行也可能否定或减弱所公开的优点。即使假设有技术的具体实施,优点的实现仍可取决于其他因素,诸如部署具体实施的环境情况。例如,提供给特定具体实施的输入可防止本公开中解决的一个或多个问题在特定场合发生,结果可能无法实现其解决方案的益处。考虑到本公开外部的可能因素的存在,本文所述的任何潜在优点都不应理解为是为了证明侵权行为而必须满足的权利要求限制。相反,此类潜在优点的识别旨在示出受益于本公开的设计者可用的一种或多种改进类型。永久性地描述此类优点(例如,陈述特定优点“可能出现”)并非旨在传达关于此类优点实际上是否可被实现的疑问,而是认识到此类优点的实现通常取决于附加因素的技术现实。
除非另行指出,否则实施方案是非限制性的。也就是说,所公开的实施方案并非旨在限制基于本公开起草的权利要求的范围,即使仅针对特定特征描述单个示例的情况下也是如此。本发明所公开的实施方案旨在为示例性的而非限制性的,而无需在本公开中进行任何相反的陈述。因此本申请意在允许涵盖所公开实施方案的权利要求、以及此类替代形式、修改形式和等价形式,这对知晓本公开有效效果的本领域技术人员将是显而易见的。
例如,本申请中的特征可以任何合适的方式组合。因此,在本专利申请(或要求享有其优先权的专利申请)进行期间可针对特征的任何此类组合作出新的权利要求。具体地讲,参照所附权利要求,从属权利要求的特征在适当的情况下可与其他从属权利要求的特征组合,包括从属于其他独立权利要求的权利要求。类似地,在适当的情况下,可组合来自相应独立权利要求的特征。
因此,虽然所附从属权利要求可撰写成使得每个从属权利要求从属于单个其他权利要求,但也可设想附加从属关系。可设想符合本公开的从属特征的任何组合,并且这些组合可在本专利申请或另一专利申请中受权利要求书保护。简而言之,组合不限于所附权利要求中具体列举的那些。
在适当的情况下,还设想以一种格式或法定类型(例如,装置)起草的权利要求旨在支持另一种格式或法定类型(例如,方法)的对应权利要求。
***
因为本公开是法律文件,所以各种术语和短语可受到管理和司法解释的约束。特此给出公告,以下段落以及贯穿本公开提供的定义将用于确定如何解释基于本公开起草的权利要求。
除非上下文另有明确规定,否则对单数形式的项目的引用(即,前面有“一个”、“一种”或“该”的名词或名词短语)旨在表示“一个或多个”。因此,在不伴随上下文的情况下,对权利要求中的“项目”的引用并不排除该项目的附加实例。“多个”项目是指两个或更多个项目的集合。
词语“可”在本文中在允许的意义上(即,具有潜在可能的,能够的)进行使用,而不是在强制意义上(即,必须)进行使用。
术语“包含”和“包括”及其形式是开放式的,并且意指“包括但不限于”。
当在本公开中相对于选项列表使用术语“或”时,除非上下文另有提供,否则一般将理解为以包含性意义使用。因此,表述“x或y”等同于“x或y,或两者”,因此涵盖1)x但不是y,2)y但不是x,以及3)x和y两者。另一方面,短语诸如“x或y中的任一者,但不是两者都”使得清楚“或”以排他性意义使用。
表述“w、x、y或z,或它们的任何组合”或“……w、x、y和z中的至少一者”旨在涵盖涉及最多至该集合中元件总数的单个元件的所有可能性。例如,给定集合[w,x,y,z],这些短语涵盖集合中的任何单个元素(例如,w但不是x、y或z)、任何两个元素(例如,w和x,但不是y或z)、任何三个元素(例如,w、x和y,但不是z)以及所有四个元素。短语“……w、x、y和z中的至少一者”因此是指集合[w,x,y,z]中的至少一个元素,从而涵盖该元素列表中的所有可能的组合。该短语不应被解释为要求存在w的至少一个实例、x的至少一个实例、y的至少一个实例和z的至少一个实例。
在本公开中,各种“标签”可先于名词或名词短语。除非上下文另有提供,否则用于特征(例如,“第一电路”、“第二电路”、“特定电路”、“给定电路”等)的不同标签是指特征的不同实例。除此之外,除非另有说明,否则标签“第一”、“第二”和“第三”在应用于特征时并不暗示任何类型的排序(例如,空间、时间、逻辑等)。
短语“基于”或用于描述影响确定的一个或多个因素。此术语不排除可能有附加因素可影响确定。也就是说,确定可仅基于指定的因素或基于所指定的因素及其他未指定的因素。考虑短语“基于B确定A”。此短语指定B是用于确定A的因素或者B影响A的确定。此短语并不排除A的确定也可基于某个其他因素诸如C。此短语也旨在覆盖A仅基于B来确定的实施方案。如本文所用,短语“基于”与短语“至少部分地基于”是同义的。
短语“响应于”和“响应”描述了触发效应的一个或多个因素。该短语不排除附加因素可影响或以其他方式触发效应的可能性,这些因素与指定因素联合使用或独立于指定因素。也就是说,效果可以仅仅响应于这些因素,或者可以响应于指定的因素以及其他未指定的因素。考虑短语“响应于B执行A”。该短语指定B是触发A的执行或触发A的特定结果的因素。该短语不排除执行A也可能响应于某些其他因素,诸如C。该短语也不排除执行A可响应于B和C而联合执行。此短语也旨在覆盖A仅响应于B而执行的实施方案。如本文所用,短语“响应”与短语“至少部分地响应于”是同义的。类似地,短语“响应于”与短语“至少部分地响应于”是同义的。
***
在本公开内,不同实体(其可被不同地称为“单元”、“电路”、其他部件等)可被描述或声称成“被配置为”执行一个或多个任务或操作。此表达方式—被配置为[执行一个或多个任务]的[实体]—在本文中用于指代结构(即,物理的事物)。更具体地,此表达方式用于指示此结构被布置成在操作期间执行一个或多个任务。结构可被说成“被配置为”执行某个任务,即使该结构当前并非正***作。因此,被描述或表述为“被配置为”执行某个任务的实体指代用于实施该任务的物理的事物,诸如设备、电路、具有处理器单元的***和存储有可执行程序指令的存储器等。此短语在本文中不被用于指代无形的事物。
在一些情况下,各种单元/电路/部件在本文中可被描述为执行一组任务或操作。应当理解,这些实体“被配置为”执行那些任务/操作,即使没有具体指出。
术语“被配置为”并不旨在意指“可配置为”。例如,未编程的FPGA不会被认为是“被配置为”执行特定功能。然而,该未编程的FPGA可以“可配置为”执行该功能。在适当编程之后,FPGA然后可认为“被配置为”执行特定功能。
出于基于本公开的美国专利申请的目的,在权利要求中陈述结构“被配置为”执行一个或多个任务明确地旨在对该权利要求要素不援引35U.S.C.§112(f)。如果申请人在基于本公开的美国专利申请的申请过程中想要援引112(f)部分,则其将使用“用于[执行功能]的装置”结构来表述权利要求的要素。
在本公开中可描述不同的“电路”。这些电路或“电路”构成硬件,该硬件包括各种类型的电路元件,诸如组合逻辑、时钟存储设备(例如,触发器、寄存器、锁存器等)、有限状态机、存储器(例如,随机存取存储器、嵌入式动态随机存取存储器)、可编程逻辑阵列等。电路可以是定制设计的,或取自标准库。在各种具体实施中,电路可以视情况包括数字部件、模拟部件或两者的组合。某些类型的电路可通常被称为“单元”(例如,解码单元、算术逻辑单元(ALU)、功能单元、存储器管理单元(MMU)等)。此类单元也指电路或电路***。
因此,在附图中示出并在本文中描述的所公开的电路/单元/部件和其他元件包括硬件元件,诸如前面段落中描述的那些硬件元件。在许多情况下,硬件元件在特定电路中的内部布置可通过描述该电路的功能来指定。例如,特定的“解码单元”可被描述为执行“处理指令的操作码并将该指令路由到多个功能单元中的一个或多个”的功能,这意味着解码单元“被配置为”执行该功能。对于计算机领域的技术人员而言,该功能规范足以暗示用于电路的一组可能的结构。
在各种实施方案中,如前面段落中所述,电路、单元和其他元件可由其被配置为实施的功能或操作来限定。相对于彼此的布置和此类电路/单元/部件以及它们进行交互的方式形成硬件的微架构定义,该硬件最终在集成电路中制造或被编程到FPGA中以形成微架构定义的物理具体实施。因此,微架构定义被本领域的技术人员认为是可导出许多物理具体实施的结构,所有这些物理具体实施均落入由微架构定义所描述的更广泛的结构中。即,具有根据本公开提供的微架构定义的技术人员可在没有过度实验的情况下并且利用普通技术人员的应用,通过以硬件描述语言(HDL)诸如Verilog或VHDL编码电路/单元/部件的描述来实现该结构。HDL描述常常以可显现为功能性的方式来表达。但是对于本领域的技术人员而言,该HDL描述是用于将电路、单元或部件的结构转换为下一级具体实施细节的方式。此类HDL描述可采用以下形式:行为代码(其通常为不可合成的)、寄存器传输语言(RTL)代码(其与行为代码相比通常为可合成的)、或结构代码(例如,指定逻辑门及其连接性的网表)。可针对为给定集成电路制造技术设计的单元库来顺序地合成HDL描述,并可出于定时、功率和其他原因而被修改,以获得被传输到工厂以生成掩模并最终产生集成电路的最终的设计数据库。一些硬件电路或其部分也可在示意图编辑器中被定制设计并且与合成电路***一起被捕获到集成电路设计中。该集成电路可包括晶体管和其他电路元件(例如,无源元件,诸如电容器、电阻器、电感器等),以及晶体管和电路元件之间的互连件。一些实施方案可实现耦接在一起的多个集成电路,以实现硬件电路,和/或可在一些实施方案中使用离散元件。另选地,HDL设计可被合成为可编程逻辑阵列诸如现场可编程门阵列(FPGA),并且可在FPGA中实现。一组电路的设计与这些电路的后续低级具体实施之间的这种解耦通常导致这样的情形:其中电路或逻辑设计者从来不指定超出对电路被配置为做什么的描述的用于低级具体实施的一组特定结构,因为该过程是在电路实施过程的不同阶段执行的。
可使用电路元件的许多不同低级组合来实现电路的相同规格的事实导致该电路的大量等效结构。如所指出的那样,这些低级电路具体实施可根据制造技术、被选择用于制造集成电路的铸造厂、为特定项目提供的单元库等的变化而变化。在许多情况下,通过不同设计工具或方法进行的产生这些不同具体实施的选择可以是任意的。
此外,对于给定实施方案,电路的特定功能规范的单个具体实施通常包括大量设备(例如,数百万个晶体管)。因此,该信息的剪切体积使得提供用于实现单个实施方案的低级结构的完整叙述是不切实际的,更不用说大量等同的可能具体实施。为此,本公开描述了使用工业中常用的功能简写的电路的结构。
Claims (20)
1.一种装置,所述装置包括:
多个电子控制单元ECU;
其中所述多个ECU中的第一ECU被配置为:
访问已签名清单,所述已签名清单包括对应于所述多个ECU的公钥,其中所述已签名清单包括所述装置的制造商的可信签名;
使用所述制造商的公钥来验证所述可信签名;
使用所述公钥来执行所述多个ECU的认证;以及
基于所述认证,将组密钥分发给属于一组的所述多个ECU的子集。
2.根据权利要求1所述的装置,其中所述第一ECU被配置为:响应于所述装置的操作会话的发起,使用所述公钥来执行所述多个ECU的所述认证,并且将所述组密钥分发给属于所述组的所述多个ECU的所述子集。
3.根据权利要求1所述的装置,其中所述第一ECU被配置为响应于所述可信签名的验证而使用所述公钥来执行所述多个ECU的认证。
4.根据权利要求1所述的装置,
其中使用所述制造商的公钥来验证所述可信签名包括:响应于所述可信签名的验证,存储所述清单中包括的所述公钥,并且
其中使用所述公钥来执行所述多个ECU的所述认证包括:访问所存储的公钥。
5.根据权利要求1所述的装置,
其中所述组的第二ECU被配置为:
向所述组的第三ECU传送使用所分发的组密钥认证的消息。
6.根据权利要求5所述的装置,其中所述认证包括:所述第一ECU执行椭圆曲线迪菲-赫尔曼交换以建立与所述第二ECU的共享密钥。
7.根据权利要求6所述的装置,其中将所述组密钥分发给所述第二ECU包括:使用所述共享密钥来加密所述组密钥。
8.根据权利要求7所述的装置,其中所述第二ECU被配置为:
通过使用所述组密钥将密钥导出函数应用于对所述第二ECU唯一的序列号来导出密钥;以及
使用所导出的密钥来对所述消息执行密码操作以向所述第三ECU认证所述消息。
9.根据权利要求1所述的装置,其中所述装置是车辆,其中所述多个ECU经由控制器局域网CAN总线耦接在一起,并且其中所述清单将所述ECU的所述子集标识为属于所述装置。
10.根据权利要求1所述的装置,其中所述多个ECU中的所述第一ECU被配置为:
访问第二已签名清单,所述第二已签名清单包括对应于第二多个ECU的公钥,其中所述第二已签名清单包括所述装置的所述制造商的第二可信签名;
使用所述制造商的所述公钥来验证所述第二可信签名;
使用包括在所述第二已签名清单中的所述公钥来执行所述第二多个ECU的认证;以及
基于所述认证,将第二组密钥分发给所述第二多个ECU的子集。
11.一种方法,所述方法包括:
由装置中的多个电子控制单元ECU中的第一ECU访问已签名清单,所述已签名清单包括对应于所述多个ECU的公钥,其中所述已签名清单包括所述装置的制造商的可信签名;
由所述第一ECU使用所述制造商的公钥来验证所述可信签名;
由所述第一ECU使用所述公钥来执行所述多个ECU的认证;以及
基于所述认证,所述第一ECU将组密钥分发给所述装置中属于一组的所述多个ECU的子集,其中所述多个ECU经由控制器局域网CAN总线耦接在一起,并且其中所述清单将所述ECU的所述子集标识为属于所述装置。
12.根据权利要求11所述的方法,所述方法还包括:
由所述组的第二ECU向所述组的第三ECU传送使用所分发的组密钥认证的消息。
13.根据权利要求12所述的方法,使用所分发的组密钥包括:
使用所分发的组密钥来根据所述消息生成消息认证码MAC;以及
将所生成的MAC与包括在所述消息中的MAC进行比较。
14.根据权利要求11所述的方法,其中所述使用和所述分发是响应于所述装置的操作会话的发起而进行的。
15.根据权利要求11所述的方法,其中所述认证包括:
建立与所述组中的另一ECU的共享密钥;以及
对从所述另一ECU接收到的并且使用与包括在所述清单中的针对所述另一ECU的公钥相对应的私钥而签署的签名进行验证。
16.根据权利要求15所述的方法,所述分发包括:
从所述另一ECU接收对与包括所述另一ECU作为成员的一个或多个组相关联的一个或多个组密钥的请求;以及
提供所请求的一个或多个组密钥,其中所提供的一个或多个组密钥是使用所建立的共享密钥来加密的。
17.根据权利要求11所述的方法,其中所述装置是车辆。
18.一种非暂态计算机可读介质,所述非暂态计算机可读介质具有存储于其中的程序指令,所述程序指令能够由装置中的多个电子控制单元ECU中的第一ECU执行以使得所述第一ECU执行包括以下项的操作:
访问已签名清单,所述已签名清单包括对应于所述多个ECU的公钥,其中所述已签名清单包括所述装置的制造商的可信签名;
使用所述制造商的公钥来验证所述可信签名;
使用所述公钥来执行所述多个ECU的认证;以及
基于所述认证,将组密钥分发给所述装置中属于一组的所述多个ECU的子集,
其中所述多个ECU经由控制器局域网CAN总线耦接在一起,并且
其中所述清单将所述ECU的所述子集标识为属于所述装置。
19.根据权利要求18所述的计算机可读介质,其中所述操作还包括:
向所述组的另一ECU传送使用所分发的组密钥认证的消息。
20.根据权利要求18所述的计算机可读介质,其中所述操作还包括:
建立与所述组中的另一ECU的共享密钥;以及
使用所述共享密钥来加密分发给所述另一ECU的所述组密钥。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163247975P | 2021-09-24 | 2021-09-24 | |
US63/247,975 | 2021-09-24 | ||
PCT/US2022/044572 WO2023049372A1 (en) | 2021-09-24 | 2022-09-23 | Secure communication in a computing system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118020270A true CN118020270A (zh) | 2024-05-10 |
Family
ID=83902761
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280061777.1A Pending CN118020270A (zh) | 2021-09-24 | 2022-09-23 | 计算***中的安全通信 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230093992A1 (zh) |
CN (1) | CN118020270A (zh) |
DE (1) | DE112022004542T5 (zh) |
WO (1) | WO2023049372A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230396417A1 (en) * | 2022-06-03 | 2023-12-07 | GM Global Technology Operations LLC | Method and system for public key infrastructure for serviceable electronic components in software defined vehicles |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7298851B1 (en) * | 1992-12-09 | 2007-11-20 | Discovery Communications, Inc. | Electronic book security and copyright protection system |
US9003492B2 (en) * | 2011-06-21 | 2015-04-07 | Qualcomm Incorporated | Secure client authentication and service authorization in a shared communication network |
CA2982244C (en) * | 2015-04-14 | 2024-01-23 | Gigavation, Inc. | Paravirtualized security threat protection of a computer-driven system with networked devices |
US11296935B2 (en) * | 2016-12-30 | 2022-04-05 | Intel Corporation | Service provision to IoT devices |
US10991175B2 (en) * | 2018-12-27 | 2021-04-27 | Beijing Voyager Technology Co., Ltd. | Repair management system for autonomous vehicle in a trusted platform |
-
2022
- 2022-09-23 US US17/934,642 patent/US20230093992A1/en active Pending
- 2022-09-23 CN CN202280061777.1A patent/CN118020270A/zh active Pending
- 2022-09-23 WO PCT/US2022/044572 patent/WO2023049372A1/en active Application Filing
- 2022-09-23 DE DE112022004542.6T patent/DE112022004542T5/de active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230093992A1 (en) | 2023-03-30 |
DE112022004542T5 (de) | 2024-08-01 |
WO2023049372A1 (en) | 2023-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11416415B2 (en) | Technologies for secure device configuration and management | |
Dorri et al. | Blockchain: A distributed solution to automotive security and privacy | |
CN111010410B (zh) | 一种基于证书身份认证的拟态防御***及证书签发方法 | |
JP7037550B2 (ja) | ネットワークトラフィックのセキュア通信 | |
CN108496322B (zh) | 车载计算机***、车辆、密钥生成装置、管理方法、密钥生成方法以及计算机可读取的记录介质 | |
US9286481B2 (en) | System and method for secure and distributed physical access control using smart cards | |
TW201810990A (zh) | 塊鏈實施之方法及系統 | |
US20160057134A1 (en) | Updating of a Digital Device Certificate of an Automation Device | |
CN109600350A (zh) | 用于车辆网络中的控制器间的安全通信的***和方法 | |
US8145917B2 (en) | Security bootstrapping for distributed architecture devices | |
WO2016043962A1 (en) | Managing privileges of different entities for an integrated circuit | |
EP3284000A1 (en) | Secure software authentication and verification | |
EP3292495B1 (en) | Cryptographic data | |
US11516194B2 (en) | Apparatus and method for in-vehicle network communication | |
CN111327618B (zh) | 一种基于区块链的精准访问控制方法、装置及*** | |
JP2019517228A (ja) | モノのインターネット(IoT)セキュリティ及び管理システム及び方法 | |
CN113785549B (zh) | 使用some/ip通信协议改进车载数据或消息的传输 | |
CN112865959A (zh) | 分布式节点设备的共识方法、节点设备及分布式网络 | |
CN118020270A (zh) | 计算***中的安全通信 | |
Schleiffer et al. | Secure key management-a key feature for modern vehicle electronics | |
Larsen et al. | Direct anonymous attestation on the road: Efficient and privacy-preserving revocation in c-its | |
CN111869165B (zh) | 用于控制和/或监控装置的方法和控制*** | |
CN106992978A (zh) | 网络安全管理方法及服务器 | |
JP6997260B2 (ja) | 通信装置およびメッセージを認証するための方法 | |
US20240126886A1 (en) | Trusted Computing for Digital Devices |
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 |