用于防止待经由总线系统传输的有效数据包被操纵的方法与流程

文档序号:12486179阅读:224来源:国知局
用于防止待经由总线系统传输的有效数据包被操纵的方法与流程

本发明涉及一种用于防止待经由总线系统在至少两个系统组件之间传输的有效数据包被操纵的方法,其中所述系统组件分别包括签名和签名检验单元,借助所述签名和签名检验单元(Signierungs-und Signierungsprüfungseinheit)能够生成和检验用于有效数据包(Nutzdatenpakete)的数据包。



背景技术:

一段时间以来有越来越多的黑客攻击针对机动车的总线系统,其中将任意的数据或数据包加载到机动车的总线系统、尤其CAN-总线系统上,这造成了或可能造成车辆性能异常。这种黑客攻击可导致机动车的损坏或机动车组件的损坏。

因此在现有技术中已经存在设计用于保护总线系统的系统组件之间的通信的若干途径。例如,DE 10 2009 002 396 A1公开了一种用于防止传感器和传感器的传感器数据被操纵的方法,其中在认证传感器数据的框架中给传感器发送来自控制器的随机数,其中为了识别传感器数据的操纵,从传感器到控制器的传感器数据设有加密完整性保护。另外,为了防止重放攻击,给传感器数据增加额外的随时间变化的参数。DE 10 2009 045 133 A1公开了很相似的方法。

DE 10 2004 036 810 A1另外公开了用于机动车总线系统的至少两个系统组件的通信方法。在该通信方法中,这些系统组件分别提供预定的固定数目的仅它们知道的验证码。基于两个系统组件都能访问的随时间变化的信号,在车辆启动时由两个系统组件通过在此设计为哈希函数的映射函数选出其中一个验证码并且用该验证码编码待传输的有效数据。另外在现有技术中存在多种多样的用来为信息加密的方法和标准,其中作为其中一个实例要提及的是AUTOSAR标准。

然而,所有这些方法和标准都具有关于其安全性或关于其可操作性的缺 陷。因此,例如通过CAN-总线系统仅能传输有限的预定比特长度的数据包,该比特长度对于大多数前述和现有技术中已知的加密方法和加密标准都太低。另外,所述加密方法和系统通常关于其他方面也不是针对机动车中使用的总线系统设计的,提供的安全级别不够或者需要大幅修改待传输的消息。大多数所述方法和标准都未考虑或未充分考虑尤其是混合总线系统,如CAN-总线系统、CAN-FD-总线系统或者以太网。



技术实现要素:

现在本发明要解决的技术问题在于,提供一种用于防止待经由总线系统在至少两个系统组件之间传输的有效数据包被操纵的方法,该方法相对于现有技术而言更好地适合于在机动车中使用的总线系统并且不受借助所述总线系统可传输的数据包的最大比特长度的约束。

提供了一种用于防止待经由总线系统在至少两个系统组件之间传输的有效数据包被操纵的方法,其中,所述系统组件分别包括签名和签名检验单元,借助所述签名和签名检验单元能够生成和检验数据包。在该方法的范围内,所述系统组件中的第一系统组件为待经由总线系统传输的有效数据包生成独立的、带有保护信息的保护数据包,该保护数据包不取决于、但是仍然能够明确地对应于该有效数据包。接下来将所生成的保护数据包与所关联的有效数据包分离地通过总线系统发送给所述系统组件中的第二系统组件。另外还通过所述系统组件中的第二系统组件根据所发送的保护数据包对所传输的有效数据包进行真实性验证。

在这样的方法中,除了要保护的信息外,即除了要保护的有效数据包外,还通过总线系统传输另外的含保护信息的信息、即保护数据包,保护数据包的保护信息是以加密方式生成的并且可以由进行接收的系统组件验证。由此使得上述黑客攻击不能实现。

优选地,数据包包含至少一个关于至少一个比特的值的信息。

优选地,在发送保护数据包后,将与保护数据包可对应的有效数据包从第一系统组件传送给第二系统组件。进一步优选地,同时发送有效数据包和可对应于该有效数据包的保护数据包。

在优选实施方式中,向所述至少两个系统组件的签名和签名检验单元中分别存入至少一个完全相同的密钥,借助该密钥加密和解密所发送的保护数 据包。在这样的实施方式中,可以以简单但是还安全的方式用同一密钥加密和解密该保护数据包。

优选地,每个有效数据包(为该有效数据包生成了保护数据包)还包括比特长度为N比特的计数器,该计数器在每次传送相应的有效数据包时都增加。特别优选地,有效数据包的计数器在每次传送该有效数据包时都增加1。进一步优选地,计数器在溢出时复位至初始值零。这有助于安全地防止所谓的重放攻击并且能够实现将保护数据包简单地对应于它们各自的有效数据包。另外优选地,分别可对应于有效数据包的保护数据包还包括有效数据包所带有的计数器。特别优选地,该方法被设计用于发送所谓的有关ASIL的信息,也就是说用于那些对于所谓的汽车安全完整性等级(Automotive Safety Integrity Level)相关的有效数据包。更准确地说,所谓的分级ASIL数据包自身已然包含了计数器。通过在AUTOSAR中确定的方法来确保计数器在ASIL数据包中的实施。在所谓的AUTOSAR中,即在所谓的汽车开放系统架构(AUTomotive Open System ARchitecture)中,所涉及的是发源于机动车制造商、控制器制造商以及开发工具、控制器基础软件和微控制器制造商的开发伙伴关系的软件架构。汽车安全完整性等级是由ISO 26262定义的风险分类方案。

优选地,计数器具有4-比特的比特长度。尤其是当总线系统(根据本发明的方法,通过该总线系统发送有效数据包)是CAN-总线系统时,这样的短的计数器是适合的或者采用这种计数器。

在优选实施方式中,每个保护数据包和每个有效数据包分别具有决定各个数据包所对应的优先级的消息标识符,其中保护数据包的消息标识符的值被选成与可对应于该保护数据包的有效数据包的消息标识符的值接近为使得有效数据包和可对应的保护数据包被对应给同一优先级或者直接相邻的优先级。换言之,有效数据包和对应于该有效数据包的保护数据包二者在总线系统内部都具有相同或紧挨着的优先级。由此避免了例如在总线系统高负荷的情况下两个数据包中的仅一个数据包到达各接收系统组件。

优选地,不通过保护数据包验证的有效数据包也经由同一总线系统在至少两个系统组件之间传送,对于这些有效数据包而言不生成和发送保护数据包。由此可以避免总线系统的不必要的多次加载,因为所传输的有效数据包的认证只有在这真的有必要的情况下才进行。优选地,根据本发明的方法另 外包括划分和确定待经由总线系统传送的有效数据包的步骤,在该步骤中所有可经由总线系统传送的有效数据包均根据功能判断标准被划分成功能群组,并且对于每个这样得到的群组均确认,对于被计入该群组的有效数据包是否都生成并传送了保护数据包。优选地,在划分和确认步骤中预先确定所述选择和确定或者可由使用者个人实施。在该方法的这样的实施方式中,总线系统的使用者可以决定,对于哪些有效数据包或对于有效数据包的哪些功能群组生成可对应的保护数据包。功能群组例如可以包括所有如下的有效数据包,所述有效数据包具有关于机动车在系统内部存储的路径的信息或数据。

优选地,至少两个系统组件具有与一个共同的系统时间同步的时间单元。在根据本发明的方法的一个可能备选实施方式中,这能够实现以简单的方式防止对总线系统的所谓的重放攻击。

在优选实施方式中,保护数据包通过系统时间并通过与保护数据包可对应的、待传输的有效数据包的至少一部分有效数据来形成。在这样的实施方式中,保护数据包包括通过经同步的时间单元提供的时间信息,以使保护数据包的内容可由进行接收的系统组件进行校准和验证。优选地,当前的系统时间相当于时间戳。

优选地,根据本发明的方法确保有效数据包的计数器在特定时间戳生效期间不重复。否则就不会确保防止重放攻击。另外优选地,时间戳的增加频率相应地被选成这样与有效数据包的发送频率相匹配,使得有效数据包的计数器在特定时间戳生效期间不重复。如果例如以100Hz发出信息并且计数器4比特长,即包含16个值,则计数器每160毫秒溢出一次:每10ms发送一个信息(参见100Hz的发送频率),因此在计数器有16个不同值的情况下,在16个信息后、即每160ms发生一次溢出。如果这时即时间戳仅升高1Hz节拍(Takt),在信息计数器的该时间窗内就会多次重复。出于该原因,时间戳的增加频率如上建议地进行选择。

优选地,该方法还包括在至少两个系统组件之间实施挑战-应答式认证的步骤,其中,将至少两个系统组件中的一个系统组件所生成的随机数传送给至少两个系统组件中的另一个系统组件,并且将对此的应答用于认证。在这样的实施方式中,保护数据包尤其通过所生成的随机数、即通过所生成的挑战形成并用于认证。保护数据包在这里用作对该挑战的应答。进一步优选 地,在实施挑战-应答式认证的步骤中,将nonce、即只使用一次的数从所述至少两个系统组件中的一个系统组件传送给所述至少两个系统组件中的另一个系统组件并且将对此的应答用于认证。进一步优选地,在实施挑战-应答式认证的步骤中,将任意挑战从所述至少两个系统组件中的一个系统组件传送给所述至少两个系统组件中的另一个系统组件并且将对此的应答用于认证。这样的挑战-应答式认证满足了高的安全标准并且有利于总线系统的系统组件之间更安全的和良好防止黑客攻击的通信。在这样的实施方式中,随机数可以取代时间戳来用于实现重放保护,从而能够免去经同步的时间单元。

优选地,保护数据包通过生成的随机数和通过与保护数据包可对应的、待传输的有效数据包的至少一部分有效数据形成。另外优选地,保护数据包通过nonce、即通过只使用一次的数并且通过与保护数据包可对应的待传输的有效数据包的至少一部分有效数据形成。另外优选地,保护数据包通过挑战和通过与保护数据包可对应的待传输的有效数据包的至少一部分有效数据形成。在根据本发明的方法的这些替代实施方案中,同样保护总线系统免受重放攻击,由此进一步提高了所保护的信息的安全性。

在优选实施方式中,保护数据包另外通过计数器以及通过与保护数据包可对应的有效数据包的消息标识符形成。

另外优选地,保护数据包另外通过计数器和通过保护数据包的消息标识符形成。在该方法的这种扩展方案中,不仅保护了所传送的数据的安全,而且还验证了传输通道。

优选地,为待保护的有效数据包计算出消息认证码,在该消息认证码中传输可对应于有效数据包的保护数据包。消息认证码是用同一密钥计算出的并且逐字传输的签名。通过该计算这样的MAC、即消息认证码,能够以有效和安全的方式保护数据的完整性。特别优选地,在计算消息认证码时,计算出EMAC或者OMAC、即所谓的加密的MAC(EMAC)或者单钥(One-Key)MAC(OMAC)。

另外优选地,在所述至少两个系统组件的签名和签名检验单元中此外分别存入至少一个相同的密钥,该密钥用于计算消息认证码。

优选地,丢弃那些其真实性不能借助分别可对应于它们的保护数据包来验证的有效数据包。以该方式仅允许和利用具有实际存在权限的有效数据 包,由此正好确保了防止黑客攻击。

在优选实施方式中,消息认证码的比特长度为60比特。这形成了相对于现有技术的显著区别。对于现有技术中存在的系统,保护数据始终在相同的信息中传送,在该信息中也输送有效数据。为了能够确保这一点,现有的格式必须要定期地适配,以在所述信息或有效数据包内为额外的保护数据提供所需的空间。因此,在现有技术中通常需要强烈改变待传输的信息或有效数据包,而根据本发明的方法使得已传送或待传送的信息或有效数据包能够要么完全地保留要么至少在很大程度上未改动。例如,在前述实施例的情况下可以简单地发送一个新消息、即保护数据包,而原始消息仅需要4比特的计数器。该原始消息具有这样的4比特的计数器,只要涉及的是ASIL数据包,要么本来就这样,要么该数据包仅用较少的努力就可被附加到该原始消息中。

优选地,总线系统是CAN-总线系统。CAN-总线系统、即控制器局域网络(Controller Area Network)-总线系统是成本低廉的、串行的总线系统,该总线系统稳健、易于构造且可扩展并且具有自动故障识别。

优选地,经签名的数据也可通过额外的流密码加密。在此,必须首先给这些数据签名并随后加密。另外,含N比特的时间戳的至少一部分或者含N-比特的随机数/挑战的一部分和含N-比特的消息认证码(MAC)的至少一部分用作该流密码的初始化向量,其中特别优选地,该信息的56-比特时间戳和56-比特消息认证码(MAC)用作该流密码的初始化向量。

从另外的在从属权利要求中提及的特征中得到本发明的其它优选设计方式。

本申请中提及的本发明的不同实施方式有利地能够相互组合,除非另外说明。

附图说明

接下来根据附图在实施例中阐述本发明。其中:

图1示意性示出了根据本发明的方法的第一实施例,总线系统的两个系统组件之间的有效数据包N的交换;

图2是根据本发明的方法的第二实施例的流程图;

图3示意性示出了根据本发明的方法的第一或第二实施例中可生成和 可传送的数据包的消息结构;和

图4示出了针对本发明方法的两个不同实施例的消息认证码的两种不同计算基础。

具体实施方式

图1示出了根据本发明的方法的第一实施例,在总线系统50的两个系统组件1、2之间交换有效数据包N的示意图。在该第一实施例中,针对总线系统50实施该方法,该总线系统50具有多个系统组件1、2,然而在图1中仅展示出其中三个。总线系统50的其它系统组件在图1中用三个点表示。在图1中示出的总线系统50例如是机动车的CAN-总线系统,其包括所谓的CAN高导线4和CAN低导线6,在它们的端部处分别通过所谓的终端电阻7封端,以避免在导线端部处的信号反射。在图1中,数据包N,S示意性地作为文件标识示出,它们通过CAN导线4,6发出,这在图1中通过在CAN导线4,6上的箭头示出。

在该方法的第一实施例中,第一和第二系统组件1,2通过CAN-总线系统50相互通信,其中第一系统组件1将有效数据包N传送给第二系统组件2。在该第一实施例中,第一系统组件1纯粹示例性地为机动车控制器,而第二系统组件2是机动车内的执行器,该执行器通过CAN-总线系统50与控制器导电连接。但是该方法也可以设计用于任意其它系统组件之间的通信,这些其它系统组件也可通过完全不同的其它总线系统50相互连接。通过总线系统50从控制器传送给执行器的有效数据包N在该第一实施例中纯粹示例性地包括用于执行器的运行数据作为有效数据。

第一和第二系统组件1,2二者分别都具有签名和签名检验单元10,借助签名和签名检验单元10能够生成和检验数据包。任选地,第一和第二系统组件1,2都分别具有签名单元和/或验证单元。换言之,两个系统组件1,2都提供加密功能和解密功能,借助所述加密功能和解密功能,数据包能够被加密和解密或能够被生成和检验。在根据本发明的方法的第一步骤中,从第一系统组件1,这里纯粹示例性地从控制器,为待通过总线系统50传输的有效数据包N生成带有保护信息(也称作所谓的签名数据)的独立的保护数据包S,该保护数据包S不取决于该有效数据包N,然而仍然可明确地对应于该有效数据包N。换言之,第一系统组件1或控制器为待通过总线系 统50发送的有效数据包N生成签名,即生成保护数据包S。

在该方法的接下来的步骤中,将所生成的保护数据包S与所关联的有效数据包N分离地通过总线系统50发送给第二系统组件2,即在该第一实施例中纯粹示例性地发送给执行器。保护数据包S即不与有效数据包N相连,并且可以完全与其分开地发送和接收。第二系统组件2,即执行器,接收到保护数据包S,随后将保护数据包S所对应的有效数据包N从第一系统组件1传送给第二系统组件2,并且在第三方法步骤中由第二系统组件2借助已发送的保护数据包S进行对所传输的有效数据包N的真实性验证。在该第一实施例中,向至少两个系统组件1,2的签名和签名检验单元10中分别存入密钥,使用该密钥来加密和解密或者生成和检验所发送的、要保护的数据包。即,第二系统组件2使用与第一系统组件1加密数据包所用的密钥同样的密钥来解密该数据包。换言之,第二系统组件2用密钥来解密数据包,该密钥对应于被第一系统组件1用以加密该数据包的密钥。

在该方法的第一实施例中,每个针对有效数据包N生成并通过总线系统50发送的保护数据包S均可以明确地对应于相应的有效数据包N。这通过使每个有效数据包N(为该有效数据包N生成保护数据包S)均包括比特长度为N比特的计数器Z实现,该计数器Z在每次传送相应的有效数据包N时都增加。在本实施例中,保护数据包S纯粹示例性地还包括含在所关联的有效数据包N中的计数器Z,从而通过在两个数据包中完全相同的计数器Z实现明确对应。在该第一实施例中,另外通常也称作计数器(Counter)的计数器Z在每次通过总线系统50发送相应的有效数据包N或保护数据包S时都升高1。因为保护数据包S通过有效数据包N形成并且计数器Z也含在保护数据包S中,所以保护数据包S能够通过计数器Z的状态直接、明确地对应于有效数据包N。在该第一实施例中计数器Z纯粹示例性地具有4比特的比特长度。然而也可使用具有其它比特长度的其它计数器。另外,根据本发明的方法可以这样实施,其中计数器Z不是完全显示在有效数据包N中,而是通过涉及的系统组件1,2分别计算出。另外,计数器Z的应用也有助于防止黑客攻击的重放。在该第一实施例中,计数器Z纯粹示例性地在溢出时复位至零。

另外,在根据本发明的方法中确保了,接收的系统组件1,2也接收保护数据包S以及相关联的有效数据包N并且该通信因此通过总线系统50可 靠地运行。在根据本发明的方法的范围中,这如下确保,即,每个保护数据包S和每个有效数据包N都分别具有决定相应的数据包S,N向优先级 的对应的消息标识符IDS、IDN,其中保护数据包S的消息标识符IDS的值被选成这样接近于其可对应的有效数据包N的消息标识符IDN的值,使得有效数据包N和可对应的保护数据包S被对应完全相同的或直接相邻的优先级。在该第一实施例中,通常也称为对象识别码的消息标识符IDS,IDN相当于所谓的签名CAN-ID,即保护数据包S的CAN-ID或有效数据包N的CAN-ID。这些CAN-ID构成了通过CAN-总线系统50传送的数据包S,N的消息标识符。这两个较后提及的CAN-ID的值被选成这样彼此接近,使得保护数据包S和有效数据包N对应于相同的优先级或者替选地保护数据包S和有效数据包N对应于直接相邻的、总线系统内部的优先级。

在该方法的第一实施例中,不是所有的待经由总线系统50传送或可由总线系统50传送的有效数据包N都通过生成和发送保护数据包S来保护。在根据本发明的方法的范围内,也可以经由总线系统50发送这样的有效数据包N,对于所述有效数据包N而言不生成和不发送保护数据包S并且对于所述有效数据包N而言不借助保护数据包S验证其真实性。在此,通过有效数据包N的消息标识符IDN确定,是否为相应的有效数据包N生成了保护数据包S。因此,仅针对具有从有效数据包N到有效数据包N完全相同的特定消息标识符IDN的有效数据包N才生成保护数据包S。如果对于特定消息标识符IDN,例如对于计数器值为5的消息标识符IDN,生成了保护数据包S,则对于具有这样的计数器值的所有有效数据包N总是生成保护数据包S。不过,对于具有其它的、例如不同于计数器值5的消息标识符IDN的有效数据包N可以确定,对于这些有效数据包N而言不生成保护数据包S。在此是指消息计数器。优选地,在该方法的特定实施变型方案中,只有对于计数器Z为2,4,6等的消息也发送保护数据包。

在该第一实施例中,所有可由总线系统传送的有效数据包N都根据功能判断标准分成功能群组。对于每个这样得到的功能群组都确定,是否为包含在其中的有效数据包N生成和传送保护数据包S。在该第一实施例中,功能群组的确定是纯粹示例性地预定的。但是在根据本发明的方法的其它实施例中这也可以设计成由使用者个人实施。在根据本发明的方法的这种实施方 式中,总线系统50的使用者可以事先决定,为哪些有效数据包N或者为有效数据包N的哪些功能群组生成可对应的保护数据包S。在本实施例中,一个功能群组纯粹示例性地包括所有这样的有效数据包N,这些有效数据包N包括关于存储在系统内部的路径的信息或数据或者用于确定这样的路径的信息或数据。在本实施例中,另一功能群组纯粹示例性地包括所有这样的有效数据包N,这些有效数据包N包括用于机动车自动行驶的信息或数据。如果生成和发送来自这些先前提及的功能群组之一的有效数据包N,则总是也生成和发送可对应于这些有效数据包N的保护数据包S。这些数据的认证仅在这些功能群组内部通过群组密钥实现。另外,这些有效数据包N在根据本发明的方法的其它实施方式中也可以分成非功能群组,这些非功能群组根据与上述判断标准不同的判断标准而形成。

在根据本发明的方法的第一实施例中,系统组件1,2之间的通信被保护免受重放攻击。一般而言,这在本发明方法的范围内尤其可通过所谓的全局时间戳或者通过实施挑战-应答式方法来进行。在该方法的第一实施例中,两个系统组件1,2分别具有与通用系统时间T同步的时间单元8。在本发明方法的第一实施例中,在形成保护数据包S时考虑全局系统时间T。对形成保护数据包S的更准确描述尤其可从还接下来的关于图3和4的描述中获得。

作为全局时间戳的替代,在根据本发明的方法的其它实施例的范围内,正如已然提及的那样也可以在至少两个系统组件1,2之间进行挑战-应答式认证。在该挑战-应答式认证的范围内,在两个系统组件1,2之间交换生成的随机数CH,使用对所述随机数CH的答复来验证真伪。该随机数CH通常也被称作挑战、询问或者nonce(只使用一次的数)。

图2示出了根据本发明的方法的第二实施例的流程图。在本实施例中,该流程图纯粹示例性地包括总共三个始终执行的方法步骤S1至S3,以及根据不同情况而实施的方法步骤S4或S5。

在此,该方法基本上与前述方法相同。再一次地,该方法用于防止待经由总线系统50在至少两个系统组件1,2之间传输的有效数据包N被操纵,其中,系统组件1,2分别包括签名和签名检验单元10,借助它们可以生成和检验数据包(参见上文和图1)。

在该第二实施例中,该方法的第一步骤S1中如前文已然描述的那样, 第一系统组件1为待经由总线系统50传输的有效数据包N生成带有保护信息的独立的保护数据包S,该保护数据包S不取决于该有效数据包N,然而仍然可明确地对应于该有效数据包N。在该方法的第二步骤S2中,将所生成的保护数据包S与所关联的有效数据包N分离地通过总线系统50发送给第二系统组件2。随后将有效数据包N(保护数据包S可对应于所述有效数据包N)从第一系统组件1传送给第二系统组件2。这可以要么在第二方法步骤S2的范围内要么作为该方法的独立步骤(图2中未示出)进行。在第三方法步骤S3中,由第二系统组件2借助已发送的保护数据包S对所传输的有效数据包N进行真实性验证。为此,使保护数据包S与同样被第二系统组件2接收的有效数据包N相比较。

在该第二实施例中,关于该方法的这些阶段,应视情况而定。如果在该方法的第三方法步骤S3中借助保护数据包S验证有效数据包N的结果是可对应于保护数据包S的有效数据包N是真的,即确实是由有权限的第一系统组件1发送的,则第二系统组件2接收并(如果提供)运行有效数据包N。有效数据包N例如包含用于执行器的控制数据,因此所述控制数据在第四方法步骤S4中成功验证后实施或运行。如果在该方法的第三方法步骤S3中借助保护数据包S验证的结果相反,即,可对应于保护数据包S的有效数据包N不是真的,即不是由第一系统组件1发送的,则第二系统组件2丢弃该有效数据包N而不进一步考虑。尤其是——如果提供——不实施包含在当前的有效数据包N中的控制信息。

图3示出了根据本发明的方法的第一或第二实施例中可生成和可传送的数据包的消息结构。更准确地说,图3中示出了数据包的三个不同的消息结构。特定数据包的特定消息结构的设计方式特别是取决于数据包所涉及的内容或者取决于数据包所针对的意图。一般来说,每个数据包均包含用于数据包之间的对应和用于重放保护的计数器Z。也称作有效载荷(Payload)的有效数据Nd是待借助保护数据包S来保护和加密的数据。在之前描述的实施例中,保护数据包S的加密纯粹示例性地通过计算消息认证码MAC来进行。在该情况下,进一步在下文中示出(参见图4)已然提及的数据或数据包组成部分中的哪些纳入所述消息认证码MAC的计算中。以上提及的密钥被用来为第一系统组件1的数据包加密并且通过第二系统组件2解密,使用所述密钥生成消息认证码MAC。另外,为了加密还可以存储其它的、单 独的密钥。

图3中最上方示出的消息结构示出了通过总线系统50可传输的有效数据包N的消息结构并且该消息结构由有效数据Nd、即有效载荷,和计数器Z1组成。根据本发明的方法,有效数据包N在本发明的范围内以有利的方式可以不变地或者仅仅以微小变化被第一系统组件1传送给总线系统50的第二系统组件2。如果通过总线系统50传送可对应于ASIL、即汽车安全完整性等级的有效数据包N,则有效数据包N的计数器Z1相当于所谓的ASIL-计数器,该ASIL-计数器始终设置在所谓的ASIL消息或ASIL消息包中。对于这样的有效数据包N,该ASIL-计数器可以完全不变地传送。如果执行挑战-应答式方法,则通过接收所述有效数据的系统组件2预定计数器Z1。对于其它待传输的有效数据包N或消息,计数器Z1相当于比特长度为4比特的随机数。有效数据Nd尤其可以占据60比特(例如对于CAN信息)至252比特(例如对于CAN-FD信息)的比特长度。但是原则上对于其它总线系统50,有效数据Nd也可以占据其它的、即更小或更大的比特长度。在本发明方法的该实施例中,计数器Z1始终具有4比特的比特长度。

图3中部呈现的消息结构示出了配置有计数器Z2的随机数CH的消息结构,该消息结构在根据本发明的方法的实施方式的范围内执行的挑战-应答式认证过程中由第一系统组件1发送给第二系统组件2。该消息结构也具有计数器Z2,该计数器Z2在该实施例中包含4比特和4个空比特(Null-比特s)。在本发明方法的该实施例中,随机数CH本身可以纯粹示例性地包含60比特。对于每个待传输的有效数据包N均崭新地、随机地生成随机数CH。

图3左下方呈现的消息结构相当于同样具有计数器Z3的保护数据包S的消息结构。保护数据包S的计数器Z3具有这样的比特长度,该比特长度在该实施例中纯粹示例性地对应于字节值,即可对应于保护数据包S的有效数据包N的可占据字节数。如果可对应于保护数据包S的有效数据包N例如具有64比特的比特长度,则该64比特正好等于8字节,所以保护数据包S的计数器Z3具有8比特的比特长度,其中在该实施例中纯粹示例性地,该8比特中的4比特设计为空比特,而余留的4个比特用作实际计数器。换言之,保护数据包S的计数器Z3具有X比特的比特长度,其中X等于可对应于保护数据包S的有效数据包N的字节数,其中也考虑了有效 数据包N的计数器Z1。保护数据包S的主要对象是针对待保护的有效数据包N计算出的消息认证码MAC,该消息认证码MAC在该实施例中纯粹示例性地包含56比特并且下面关于图4来说明其计算基础。换言之,计数器在该实施例中纯粹示例性地同样具有4比特的比特长度,该值被采纳用于有效数据包N和保护数据包S的计数器。

图4中针对根据本发明的方法的两个不同实施例示出了消息认证码MAC的两个不同的计算基础。换言之,图4中示出的图示涉及在根据本发明的方法的不同实施例的范围内用来形成保护数据包S的数据。在此,应区别开形成保护数据包S的不同可能性。更准确地说,尤其是根据是否为了重放保护而使用全局时间戳或者实施挑战-应答方法(参见上文),存在两个不同的计算基础。

在根据本发明的方法的一些设计变型方案中,保护数据包S是通过系统时间T并通过待传输的有效数据包N的至少一部分的有效数据Nd形成的,保护数据包S可对应给所述有效数据包N。这在将全局时间戳用于重放保护时成立。在根据本发明的方法的、其中通过实施挑战-应答式验证来实现防止重放攻击的其它实施例中,保护数据包S是通过生成的随机数CH和通过可对应于保护数据包S的待传输的有效数据包N的至少一部分有效数据Nd形成的。不过,在前述变型方案中,另外通过其它的数据包组成部分来形成保护数据包S。在图4的上图中示出了所有那些数据包组成部分,通过所述数据包组成部分在根据本发明的方法的使用全局时间戳的变型中形成保护数据包S。这里,消息认证码MAC纯粹示例性地通过时间戳、即通过系统时间T,通过有效数据的比特长度INdI,通过对应于保护数据包S的消息标识符IDS,通过待保护的有效数据包N的消息标识符IDN以及通过待保护的有效数据包N的至少一部分有效数据Nd自身形成。在这种情况下,系统时间T采用7字节的比特长度,有效数据的比特长度INdI采用1字节的比特长度,两个所谓的消息标识符IDS和IDN采用分别4字节的比特长度,所考虑的有效数据Nd采取最大32字节的比特长度,因此在本发明方法的该实施例中纯粹示例性地从总共48字节的输入数据中得到了消息认证码MAC。然而,随后作为保护数据包S发送的该计算的输出数据短得多。例如,MAC计算的输出数据可以是128比特的CMAC,其被缩短至56比特的比特长度,因此,所述CMAC与CAN信息中的计数器Z一起,符合 保护数据包S。

然而,根据本发明的方法也可以这样实施,其中通过更少的数据包组成部分来形成保护数据包S。例如,根据本发明的方法可以这样实施,其中保护数据包S纯粹示例性地是仅通过系统时间T和通过可对应于保护数据包S的、待传输的有效数据包N的一部分有效数据Nd形成的。然而也可以生成并发送与前述完全不同的保护数据包S。

图4下方示出的用于消息认证码MAC的计算基础与图4上方示出的基本相同。该计算基础可以不同于前述变型方案地应用在根据本发明的方法的实施方式中,在这些实施方式中不采用全局时间戳,而是进行挑战-应答式验证。与之相应地,图4下方示出的计算基础与图4上方示出的计算基础的唯一区别在于,不是使用时间戳或系统时间T,而是使用在挑战-应答式验证的范围内生成的随机数CH来计算消息认证码MAC。在这种情况下,随机数CH在该实施例中纯粹示例性地也包括7字节的比特长度。其余的消息结构与前述的完全相同。用于MAC计算的密钥的安全级别为128比特。因此,对该密钥的暴力攻击是不可能的。

对56比特MAC的暴力攻击在理论上是可能的,然而在实践中不可应用。因此,完全耗尽可能的MAC对于基本的CAN-FD-总线系统,例如在20,000次尝试/秒和例如在CAN-FD-总线系统的满负荷~2M比特/s的情况下持续多于100,000年。即使1%的成功几率就需要多于1000年。

根据本发明的方法还特别适合于在系统组件之间通过以太网进行的通信。这里,100M比特/s下的黑客攻击就1%的成功几率而言为成功操纵需要多于20年或者在1G比特/s的传输速率下就1%的成功几率而言需要多于2年。另外,根据本发明的方法与CAN-总线系统或与CAN-FD-总线系统特别兼容。额外生成的随机数CH和MAC消息符合于普通的CAN框架。MAC消息可以如上已经介绍的那样只是任选的,也就是说,签名可以按需进行,以降低总线系统的工作负载。另外对已有的信息存在高的后兼容性 因为关联的计数器Z已然存在(参见上文),所以根据本发明的方法可在不适配有效消息的情况下设计用于ASIL消息。其它的、非ASIL消息额外地仅需4比特用于计数器Z,并且无需高侵入性的介入到已有的消息中。另外,经签名的数据也可通过额外的流密码(Stromchiffre)加密。含N比特的时间戳的至少一部分或者含N-比特的随机数/挑战的一部 分和含N-比特的消息认证码(MAC)的至少一部分在该实施例中纯粹示例性地用作该流密码的初始化向量,其中具体地在该实施例中,该消息的56-比特时间戳和56-比特MAC用作流密码的初始化向量。在该情况下,这些数据必须首先签名并随后加密。

另外,根据本发明的方法可以这样实施,其中全局时间戳,即系统时间T不是一起传输的,而是仅仅隐含的。在这样的实施方式中,总线系统50的主机按至少一个系统组件1,2的需求来传输为其功能群组认证过的时间。随后系统组件1,2将其独立地累加。另外,总线系统50的主机将未经认证的时间戳置于CAN上。这仅用作所述系统组件的用于识别抖动(Jitter)的基准值。初始时间由总线系统的主机在Kl.30的情况下作为随机数生成。作为时间戳递增的频率,例如可使用或者调整100ms。

附图标记单

1 第一系统组件

2 第二系统组件

4 CAN高导线

6 CAN低导线

7 终端电阻

8 经同步的时间单元

10 签名和签名检验单元

50 总线系统

CH 随机数

N 有效数据包

Nd 有效数据

INdI 有效数据的长度

S 保护数据包

T 系统时间

Z 计数器

Z1 有效数据包的计数器

Z2 随机数的计数器

Z3 保护数据包的计数器。

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