具有安全而有效的签名的数据发送器的制作方法

文档序号:8004347阅读:232来源:国知局
专利名称:具有安全而有效的签名的数据发送器的制作方法
技术领域
本发明的实施例涉及数据发送器,尤其是发送具有安全而有效的签名的前后相继的有效数据块的数据发送器。
背景技术
在汽车工业中所采用的用于在传感器和控制设备之间的通信的通信协议不包含防黑客操控传输数据的预防措施。属于这种攻击的例如有发动机调谐和停车机构破坏。发动机调谐例如可导致汽车制造商方面的显著的经济损失。另外,将来在街电车(E-car,)及其联网中,通信伙伴的认证、例如传感器和控制设备之间的认证以及传输数据的完整性保护占据重要的位置。在汽车工业中,为了例如传感器和控制设备的联网,不仅使用单向协议,而且使用双向协议。汽车工业中的已知协议例如是SENT协议(SENT=单边半字节传输(single edge nibble transmission))和PSI5协议(PSI5 =外围传感器接口 5,传感器的数字接口)。 SENT协议是单向协议,其在标准SAE J2716中被标准化并且作为数字传感器接口例如用于将例如检测阀门或踏板位置的发动机压力传感器或霍尔传感器连接至E⑶(EOT =发动机控制设备)。PSI5协议是双向协议,其例如可以用于气囊传感器的连接。一般,已知在汽车工业中使用的协议具有CRC保护(CRC =循环冗余校验),以便探测传输差错,所述传输差错尤其是可能出现在发动机的强电磁消噪环境中。但是,对传输数据的例如防黑客恶意攻击的保护不具有已知在汽车工业中使用的协议。例如,黑客可以操控压力传感器的传输数据,以便借助在发动机控制设备的输入端处所操控的或伪造的数据来操控在发动机控制设备的输出端处的数据,由此例如可以实现发动机的功率提升(发动机的调谐)。但是,已知在汽车工业中使用的CRC保护如已经提到的那样不具有对传输数据的防操控的保护,因为容易计算出用于所伪造数据的正确CRC位。汽车领域中的标准化协议——属于所述标准化协议的除了 SENT协议和PSI5协议外还有协议SEC、CAN (CAN =控制器局域网,用于汽车应用的ISO标准协议)和FlexRay (用在汽车中的串行、确定性以及容差的现场总线系统)一不能通过已知的用于完整性保护的措施来扩展。例如MAC(MAC=消息认证码)不能挂靠到在传输协议框架中的数据,或者也不能在数据之后发送在自身框架中的总的MAC,一方面是因为协议框架出于需要用于完整性保护的已知措施的兼容性原因不能再在程度上扩展,另一方面是因为由于实时性而不能在该所需程度上传输或插入附加框架。

发明内容
因此,本发明所基于的任务是,提供一种构想,该构想提供在数据发送器和数据接收器之间的安全而有效的通信。该任务通过根据权利要求1的数据发送器、根据权利要求15的数据接收器、根据权利要求21的用于发送的方法、根据权利要求22的用于接收的方法或者根据权利要求23的计算机程序来解决。本发明提供一种用于发送前后相继的有效数据块的数据发送器,该数据发送器被构造用于将第一有效数据块编码以获得第一编码结果,并且用于在使用第一编码结构的一部分的情况下将第二有效数据块编码以获得第二编码结果,其中该数据发送器被构造用于将第一编码结果的小于该第一编码结果的一部分用作第一有效数据块的签名,并且用于将第二编码结果的小于该第二编码结果的一部分用作第二有效数据块的签名,并且用于产生具有第一有效数据块和第一签名的第一发送分组和用于产生具有第二有效数据块和第二签名的第二发送分组。本发明还提供一种用于接收第一发送分组和第二发送分组的数据接收器,其中接收的第一和第二发送分组分别具有接收的有效数据块和接收的签名,并且其中该数据接收器被构造用于将接收的第一有效数据块编码以获得第一编码结果和用于在使用第一编码结果的情况下将接收的第二有效数据块编码以获得第二编码结果,其中该数据接收器被构造用于将第一编码结果的小于该第一编码结果的一部分用作接收的第一有效数据块的参考签名和用于将第二编码结果的小于该第二编码结果的一部分用作第二有效数据块的参考签名,其中该数据接收器如此构造,即在有效的接收的第一发送分组情况下,第一参考签名等于接收的第一有效数据块的接收的签名,而在有效的接收的第二发送分组情况下,第二参考签名等于接收的第二有效数据块的接收的签名。


以下参照附图来详细说明本发明的实施例。图1示出用于发送前后相继的有效数据块的数据发送器的方案;图2示出用于接收前后相继的发送分组的数据接收器的方案;图3示出SENT协议的较高协议层的通信框架;图4示出用于在数据发送器和数据接收器之间建立安全连接的两个所需步骤;图5示出用于相对于数据接收器对数据发送器认证的双路请求-应答检查;图6示出用于获得前后相继的有效数据块的安全而有效的签名的编码装置的方案;图7a示出发送分组从数据发送器经由通信信道至数据接收器的传输;图7b示出发送分组从数据发送器经由通信信道至数据接收器的传输,其中攻击者在传输期间操控发送分组;图8示出用于数据发送器和数据接收器之间的相互认证的三路请求-应答检查;图9示出用于获得安全而有效的签名的编码装置的另一方案,所述签名还相对于侧信道攻击(Seitenkanalangriff)而受到保护。
具体实施例方式在以下对本发明实施例的描述中,在附图中相同的或作用相同的元件配备相同的附图标记。图1示出了用于发送前后相继的有效数据块Bi的数据发送器100的方案。编码装置104被构造用于对第一有效数据块B1编码以获得第一编码结果VE1,并且用于对跟随在第一有效数据块B1之后的第二有效数据块4编码以获得第二编码结果VE2,其中编码装置104被构造用于在对第二有效数据块B2编码时使用第一编码结果VE115为此,数据发送器100例如可以具有延迟装置106,该延迟装置被构造用于存储和延迟输出在先的有效数据块B"的在先编码事件VEg,以为后续有效数据块Bi的编码提供编码装置104的所存储的在先编码结果VEg,以获得编码结果VEitl因此,例如第三有效数据块 的第三编码结果被延迟装置106存储和延迟输出,从而编码装置104可以将第三编码结果犯3用于第四有效数据块B4的编码,以获得第四编码事件VE4。数据发送器100还具有提取器108,该提取器被构造用于提取出编码结果VEi的一部分,其中编码结果VEi的提取部分小于编码结果VEitl该提取器还可以被构造用于将编码结果VEi的所提取部分作为有效数据块Bi的签名Si输出。因此,提取器108例如可以提取出第一编码结果VE1的小于该第一编码结果VE1的一部分并将该部分作为第一有效数据块 B1的签名S1输出,并且提取出第二编码结果VE2的小于该第二编码结果VE2的一部分并将该部分作为第二有效数据块4的签名&输出。此外,数据发送器100具有用于将有效数据块Bi和签名Si组合的消息格式化器, 以产生发送分因此,消息格式化器可以例如将第一有效数据块B1与第一编码结果 VE1的作为签名S1提取出的部分组合,以产生第一发送分组B1S1,并将第二有效数据块化与第二编码结果VE2的作为签名&提取出的部分组合,以产生第二发送分组化&。数据发送器100因此为每个有效数据块Bi产生一个安全而有效的签名Si,其中每个具有相应签名Si的有效数据块Bi作为发送分组BiSi被发送。签名Si —方面是有效的, 因为只有相应编码结果VEi的一部分作为签名Si使用,并且另一方面是安全的,因为使用在先的有效数据块Bg的在先编码结果VEp1来对有效数据块Bi编码。如果编码结果VEi的所提取部分例如包括一位并且该签名因此只有该一位,则有效数据块Bi的操控保持不被察觉的概率P为P = 2_N,其中N是传输有效数据块Bi的数量。在例如12个传输的有效数据块Bi之后,只4. 096个攻击中的一个攻击还保持不被察觉。识别对有效数据块Bi的操控的概率随着传输的发送分组BiSi的数量N而升高。出于该原因,可以对跟随在第二有效数据块4之后的10个或更多的有效数据块Bi编码,以获得另外的编码结果,其中根据在先编码结果VEi对每个另外的有效数据块Bi编码。此外,作为签名SiH用的编码结果VEi的所提取部分当然可以长于1位,其中对于有效签名Si,如此选择所提取的位的数量N,即编码结果VEi的所提取部分小于编码结果VEi的位的1/8。此外,数据发送器100可以具有例如用于执行请求-应答检查的可选的请求-应答装置112和/或例如用于编码装置的复位的可选的再同步装置114。请求-应答装置112 和再同步装置114的准确描述在图5或图6的描述中进行,因而在此处放弃具体的描述。图2示出用于接收前后相继的发送分组Bi' Si'的数据接收器120的方案。数据接收器120具有用于接收发送分组Bi' Si'的接收装置122,例如用于接收第一发送分组B/和第二发送分组化‘,其中每个发送分组Bi' Si'具有接收的有效数据块Bi'和该接收的有效数据块Bi'的接收的签名Si'。此外,数据接收器120具有用于提取接收的发送分组Bi' Si'的消息提取器124,以获得接收的有效数据块Bi'和该接收的有效数据块 Bi'的接收的签名Si'。因此,可以获得例如接收的第一有效数据和接收的第一签名S/以及接收的第二有效数据块化‘和接收的第二签名。
为检查接收的签名Si,数据接收器120具有编码装置126、提取器1 和比较装置130。编码装置1 被构造用于对接收的第一有效数据块B1'编码以获得第一编码结果 VE1*,和用于对接收的第二有效数据块化‘编码以获得第二编码结果VE2*,其中编码装置 126被构造用于在对接收的第二有效数据块化编码时使用第一编码结果VE1I为此,数据接收器120例如可以具有延迟装置132,该延迟装置被构造用于例如存储并且延迟输出在先有效数据块B"‘的在先编码结果VEh*,以为后续的有效数据块Bi的编码提供编码装置 126的所存储的在先编码结果VEh*,以获得后续的编码结果VEj。因此,可以由延迟装置 132存储并且延迟输出例如接收的第四有效数据块B4'的第四编码结果VE4*,从而编码装置1 可将第四编码结果VE4*用于对接收的第五有效数据块B5'的编码,以获得第五编码结果犯5*。提取器1 被构造用于提取编码结果VEi*的一部分以获得参考签名Si*,其中编码装置1 和提取器1 被构造为使得在有效的发送分组Bi' Si'情况下,参考签名Si*等于接收的有效数据块Bi的接收的签名S”数据接收器120还可以具有可选的输出装置134,该输出装置被构造用于如果接收的有效数据块Bi'的接收的签名Si'等于参考签名Si*,则输出接收的有效数据块Bi', 并且如果接收的有效数据块Bi'的接收的签名Si'不等于参考签名Si*,则抛弃该接收的有效数据块Bi'并触发再同步事件。为此,数据发送器120例如可以具有再同步装置138。 利用数据发送器100的再同步的工作方式将在对图6的描述中更详细地描述,从而在此处放弃具体描述。此外,数据接收器120可以具有可选的请求-应答装置136,以例如执行请求-应答检查。对请求-应答装置136的详细描述同样在对图6的描述中进行,因而在此处放弃具体描述。数据发送器100和数据接收器120例如可以被用于建立双向协议。因此,以下将描述例如在使用已知的SENT协议的扩展情况下的数据发送器100和数据接收器120的工作方式。在替代方案中,数据发送器100和数据接收器被构造用于以双向协议、如PSI5协议工作。图3示出SENT协议的较高协议层的通信框架150。从应用层角度看,SENT协议的通信框架150具有M位的有效数据152和4位的状态和控制信息,所述状态和控制信息汇总在一个状态块(status中。状态块巧4具有两个未使用的位。从这两个自由位,例如可以将一位或两位用于传输签名Si或完整性保护信息。在图3中,例如使用状态块巧4的第一位来传送签名S”为了对SENT协议进行密码扩展,随后例如考虑第i个通信框架150,该第i个通信框架150具有长度为m = 24+3 = 27位的有效数据块Bi和长度为1位的签名S”在发送分组BiSi从数据发送器100至数据接收器120的传输开始之前, 例如可以执行请求-应答检查,以提高有效数据块Bi的防操控保护。图4示出用于在数据发送器100和数据接收器120之间建立安全连接的两个必需步骤。第一步骤180包括作为建立安全通信或连接的前提条件的对数据发送器120的认证。 此外,如果需要这样做时,则例如可以相对于数据接收器来认证数据接收器。对此,数据发送器和/或数据接收器可以例如具有请求-应答装置112或者126。在第二步骤182中,如果认证成功,则可以开始在例如传感器的数据发送器100和例如发动机控制设备的数据接收器120之间的发送分组BiSi的数据传输或传输。如果认证失败,则例如数据发送器100或数据接收器120可以中断连接,因为假定有攻击者试图例如操控或者伪造数据发送器100 和/或数据接收器120。例如如果认证失败,则发动机控制单元可以假定攻击者已操控传感器,使得不再给出可靠发送分组BiSi的接收。数据发送器100和数据接收器120及第一步骤180和第二步骤182因而将已知的SENT协议扩展成安全的消息协议。此外,在第一步骤180中,可以产生密钥k和随机数R的编码版r,该编码版对于在数据发送器100和数据接收器120之间建立安全通信信道并且因而对于发送分组BiSi的传输的第二步骤182是必需的。下面说明产生密钥k和随机数R的编码版r的前提条件。成功认证和随后传输发送分组BiSi的第一前提条件是,数据发送器100和数据接收器120具有共同的密钥kID。该共同的密钥kID例如可以具有1 位长度。另外假定,该密钥可以被视为独立的并且一体考虑的随机变量。此外,该密钥必须在数据发送器100和数据接收器120中以及在密钥的任意逻辑处理期间被保护以防读取。这意味着,该密钥在每种情况下必须被保护以防读取,例如在制作过程期间,在数据发送器100和数据接收器120 中传输密钥时,或者在更换数据发送器100或数据接收器120时,并且需要对密钥更新。第二前提条件是,每个数据发送器100和数据接收器120具有自己的和单独的密钥。这意味着,没有任何一个或多个数据发送器100和/或数据接收器120可以具有相同的密钥。这是一个原则性的前提条件,以保证当攻击者例如破解数据发送器100或数据接收器120的唯一密钥时不会破解整个系统。由攻击者破解的唯一密钥因此没有威及到整个系统,例如机动车的多个传感器和数据总线的控制设备。第三前提条件是,数据发送器100和/或数据接收器120具有真实的随机数发生器(TRNG)或密码的伪随机数发生器(PRNG)。所产生的随机数例如随后可以被数据发送器 100或数据接收器120的请求-应答装置112或1 用于执行请求-应答检查。此外,数据发送器100或数据接收器120的请求-应答装置112或136例如可以具有随机数发生器, 以产生所需要的随机数。第四前提条件是,数据发送器100和数据接收器120的编码装置被构造用于执行相同的编码。对此,编码装置104或1 例如可以被构造用于执行AES块编码(AES =高级密码标准)。在AES块编码的情况下,可以使用例如1 位长的密钥来编码1 位长的有效数据块4。而解密装置是不需要的。AES块编码的实施可以根据功率要求以硬件或软件来实现。利用密钥k的编码在下面用c = AES (密钥=k,d)给出,其中d是未编码数据并且 c是编码数据。图5示出用于相对数据接收器120来认证数据发送器100的双路请求-应答检查。该请求-应答检查因此展示了图4中认证的第一步骤180的方案。R是随机的请求随机数,其中该请求随机数R具有长度t。请求随机数R的长度t不应小于t = 72位,其中 t可被视为可定标的(skalierbar)安全参数,该安全参数在需要的情况下可被提高。在第一消息190中,数据接收器120给数据发送器100传送随机的请求随机数R。接着,数据发送器100以及数据接收器120都用共同的密钥kID确定随机数R的编码版r = AES (密钥= kID,R)或者r' = AES(密钥=kID,R),其中数据发送器100获得随机数R的接收的编码版 r',并且数据接收器120获得随机数R的编码版r。现在,数据发送器100在第二消息192 中给数据接收器120传送随机数R的编码版r',其中数据接收器120在接收了第二消息后将数据发送器100的随机数R的编码版r'与随机数R的固有编码版r进行比较。如果随机数R的这两个编码版r'和r 一致(r' = r),则数据发送器100相对于数据接收器120 认证并且数据接收器120因而接受数据发送器100。如果随机数R的这两个编码版r'和 r不一致(r' Φ r),则认证失败并且数据接收器120不接受数据发送器100。替代地,可以检查认证的有效性,所通过的方式是数据发送器100直接转入到数据传输阶段,而不是在第二消息192中将随机数R的编码版r'传送给数据接收器120。该认证在此可以例如直接通过签名Si来进行。在第一步骤180或者双路请求-应答检查之后,数据接收器120可以是安全的,从而该数据发送器100是原数据发送器100,前提是,该密钥不是从数据发送器100中提取的并且攻击者用该提取的密钥来模拟数据发送器100。随机的请求-应答检查或者随机的请求-应答协议阻止了可重复的攻击,例如涉及事先录制或记录下的会话的重复的攻击。在认证后,数据发送器100和数据接收器120可以在发送分组BiSi传输的第二步骤182中使用共同的信息、密钥kID和随机数的编码版r或r'。在此,随机数R的编码版r或r'例如可以具有1 位长度。图6示出获得用于前后相继的有效数据块&的安全而有效签名Si的编码装置104 和126的方案。在此为获得签名Si而首先示例性地使用CBC-MAC结构(CBC =密码块链接)。通过@符号表示两个输入参量之间的组合。该组合例如可通过XOR加法或XNOR加法、例如通过M)R门或XNOR门来实现,其中例如可以使用两个128位长的矢量作为输入参量。然而,CBC-MAC没有按照常规方式实施,即没有在每个传输的有效数据块Bi之后传输一个总的MAC,而是更确切地说产生增量签名Si,所通过的方式是在每次编码后、例如在AES 编码后,提取出编码结果VEi的小于该编码结果VEi的一部分并挂靠到未编码的有效数据块Bi上,以获得发送分组BiSi,其中在对后续的有效数据块Bw编码时使用在先的编码结果 VEi0在使用SENT协议的情况下,编码结果VEi的提取部分例如可以包括1位,借此完整性保护信息具有一连串的位S = Si, Si+1,Si+2,... , Si+N。有效数据块&因此被未编码地传输并且能例如被任何人看到。但从攻击者侧对有效数据块A的操控以很高概率被探测到。尤其在汽车传感机构领域中,在一连串传输的发送分组BiSi后延迟地识别出操控就足够了。但是,必须在一定数量的传输的发送分组BiSi后、例如在50-100个传输的发送分组BiSi后以非常高的安全性保证该识别。数据发送器100和/或数据接收器120正好允许这种情况并且此外还实现了到现有传输协议中——如到SENT、SENT/SPC、SEC、PSI5、CAN 或FlexRay中——的实施,由此在同时获得高度安全性时实施的费用是最小的。在图6中,例如可以将初始矢量IV用于第一有效数据块B1的编码,该初始矢量IV 例如具有1 位长度。对于初始矢量IV,可以使用例如随机数R的编码版r,也就是例如IV =r。由此保证了,在每次认证后计算出的签名S = Si;Si+1,Si+2,.. .,Si+N的顺序不相同,即便应发送相同顺序的有效数据块Bit5这意味着,签名Si的序列S是kID和r的函数,也就是例如S = S(kID,r)。对于攻击者,该序列S看起来是随机顺序位。也就是借助强大的密码元,签名Si的序列或顺序S或者在使用如SENT协议的情况下根据密钥k、随机数r和有效数据块Bi的顺序迭代地产生并通过数据信道传输一连串的位。在此可如此选择计算函数,即攻击者无法从对随机数R、所有迄今的有效数据块Bi和所有迄今的签名Si的了解中以可行的费用预先计算出下个签名Si+1。
数据发送器100和数据接收器120的编码装置104和122此外可具有块填充器 200,该块填充器被构造用于在编码前填充待编码的有效数据块Bi,以获得经过填充的有效数据块,其中编码装置104或122、如AES编码装置被构造用于在使用经过填充的有效数据块的情况下获得编码结果VEi,其中提取器被构造为提取有效数据块Bi的一部分,该部分小于编码结果VEitl在使用SENT协议的情况下,所提取的部分包括例如1位。该1位在SENT 协议的情况下被用作为签名Si或者完整性保护位。在此可将例如AES编码和密钥k = kID 用于编码。消息格式化器110随后将确定的签名Si挂靠到未编码的有效数据块Bi,以获得发送分组BA。该发送分组BiSi例如可被发送到数据接收器120。数据接收器120在此在使用相同初始值的情况下——例如利用密钥kID和随机数R的编码版r——执行与数据发送器100完全一样的步骤。也就是,数据接收器120的编码装置1 被构造用于对接收的有效数据块Bi'编码以获得编码结果VEi*。随后从该编码结果VEi*中提取与在数据发送器 100中时相同的部分,以获得参考签名Si*,以便将参考签名Si*与接收的签名Si'比较。图7a示出发送分组BiSi从数据发送器100经由通信信道204到数据接收器120 的传输,其中数据接收器接收发送分组Bi' Si'。在对发送分组BiSi的不受干扰的或者正确的传输中,数据接收器接收发送分组(B/ Si' ) = (BiSi),其中接收的签名Si'等于参考签名Si*,并且因此也等于发送的签名Si。图7b示出发送分组BiSi从数据发送器100经由通信信道204至数据接收器120 的传输,其中攻击者206在传输期间操控发送分组BiSitl如果攻击者已经修改了传输的有效数据块Bi',则数据接收器120接收到发送分组(BPO=(BiSi) 4,而不是(Bi' S/ )= (BiSi),其中Ai表示由攻击者进行的修改。因而在使用SENT协议的情况下,所有后续签名对(Si+/,Si+1*),(Si+2' Si+2*), ... , (Si+N',Si+N*)以 ρ = 1/2 的概率不一致,该概率由例如可具有CBC-MAC结构的编码装置的块编码链的雪崩效应(差错传播效应)决定。这意味着,在恶意修改后和在数据接收器120已经接收到N个发送分组Bi' Si'后,攻击保持不被察觉的概率为P = 2Λ因而在例如N = 20个传输的发送分组Bi' Si'之后,攻击保持不被察觉的概率为1 1000000。因此,通过数据发送器100和数据接收器120实现了数据保护所需要的传输信息量是最少的且是稳定不变的。因此,一方面保证了所用协议的实时能力。另一方面,随着传输的签名Si的数量N的增加,识别攻击的可靠性呈指数地增大。也就是,可以实现可靠的差错识别,但该差错识别只是延迟地出现。许多现有的协议标准——例如SENT、SENT/SPC、 SEC、PSI5、CAN和FlexRay——因此可以被扩展以数据完整性安全,而不会丧失向下兼容性。在发送分组BiSi从数据发送器100至数据接收器120的传输时,可能出现传输差错,该传输差错可能例如在技术上由强电磁噪音引起。如果在传输的有效数据块Bi'中出现传输差错,则例如具有CBC-MAC结构的编码装置的差错传播特性可能导致所有后续传输的有效数据块Bi'不与给定概率一致。该概率在例如以例如具有1位长度的签名Si发送 SENT协议的情况下为ρ = 1/2,正如在由攻击者进行修改时一样。处于该原因,数据发送器 100和数据接收器120可以具有再同步装置,该再同步装置被构造用于根据至少一个再同步事件来控制编码装置104或126,使得第一编码结果VE1与时间上在先的编码结果VEw 无关,并且用于对第一有效数据块B1编码的输入只与预定数据相关并且至少第二编码结果VE2与第一编码结果VE1相关,其中该预定数据包括存储在存储器中的初始矢量IV、由请求-应答装置112或者136新获得的随机数或随机数的编码版或者有效数据块B”此外, 数据接收器120的再同步装置138例如可被构造用于将再同步事件触发为使得该再同步事件可被数据发送器100检测到。攻击和技术传输差错之间的区分在此可以如下进行。如果接收到具有无效签名 Si'的发送分组Bi' Si',则所接收的发送分组Bi' Si'被抛弃并且不被用于进一步计算。 另外,数据接收器120可以具有差错计数器140,该差错计数器被构造用于计数每个传输差错或者每个被抛弃的发送分组Bi' Si',以获得差错率,其中该差错计数器140被构造用于只将预定数量的最新接收的和前后相继的发送分组(Bi' Si')用于确定差错率。随后,数据接收器120触发再同步事件,该再同步事件将数据发送器100的固有的编码装置1 和编码装置104复位,其中例如将编码链的内部变量(例如AES编码的输出和例如XOR加法的输入)置位为初始矢量IV。接着,继续以经过再同步的编码装置104的签名Si进行发送分组BiSi的传输。数据接收器随后借助差错计数器140来检查差错率、例如出现的差错数量就传输的发送分组A' Si'的数量而言是否超过预定值。如果差错率等于或小于预定值,则由此假定这是随机的技术传输差错。但如果超出该预定值,则假定出现攻击。在此情况下,例如可以抛弃所有后续接收到的发送分组4' Si'并且还可以例如执行进一步测量。为了保护在数据发送器100和数据接收器120之间的发送分组BiSi的传输免受侧信道攻击、例如免受DPA (DPA =差分功率分析)和DFA (DFA =差分故障分析),必须一方面扩展第一步骤180以建立通信连接,也就是认证。图8示出用于数据发送器100和数据接收器120之间的相互认证的三路请求-应答检查。在该三路请求-应答检查中传输另一信息,其中数据发送器100和数据接收器120 的请求-应答装置112和136分别具有随机数发生器或密码的伪随机数发生器,它们被构造用于产生真实的或伪随机的随机数。首先,数据发送器100产生两个随机数,一个请求随机数&和一个可以具有48位长度的附加随机数rP。因此,数据接收器120产生两个随机数,即一个请求随机数RT和一个随机的随机数rT,该随机的随机数例如可以具有与随机数rP相同的长度,例如48位。请求随机数&和&可以分别具有例如72位的预定长度。共同的密钥kID和两个公开的随机数rP和rT随后可以被用来通过会话密钥推导函数SK计算出会话密钥1 k0 = SK(kID, rP, rT)。为此在图8中,例如首先将第一消息210从数据发送器100传输至数据接收器 120,其中第一消息210具有请求随机数和公开的随机数rP。随后,数据接收器120确定会话密钥h并在使用该会话密钥1 的情况下确定数据发送器100的请求随机数&的编码版 Cp = AES (密钥=kQ,RP)。在第二消息212中,数据接收器120向数据发送器100传输数据发送器100的随机数&的编码版cP、请求随机数&和公开的随机数rT。接着,数据发送器100首先确定会话密钥h并借助该会话密钥1 确定固有请求随机数&的固有编码版C/ = AES(密钥= ‘。。如果固有请求随机数&的固有编码版Cp'与固有请求随机数&的由数据接收器 120获得的编码版Cp —致(Cp' = Cp),则数据接收器120已经相对于数据发送器100得到认证,据此数据发送器100接受数据接收器120。如果认证成功,则数据发送器100还利用会话密钥1 确定数据接收器120的请求随机数&的编码版cT = AES (密钥=k0, Rt)。在第三消息214中,数据接收器120的请求随机数&的编码版cT被传送。数据接收器120确定同有请求随机数&的固有编码版c/ =AES (密钥=I^Rt)并随后检查利用第三消息214获得的固有随机数&的编码版cT是否与随机数&的固有编码版c/ 一致。 如果固有请求随机数&的固有编码版c/与所获得的随机变量&的编码版cT 一致(cT = cT'),则数据发送器100已经相对于数据接收器得到认证,据此数据接收器120接受数据发送器100。否则(cT兴c/ ),中断连接建立。替代地,可以检查认证的有效性,所通过的方式是数据发送器100直接转入到数据传输阶段,而不是在第三信息214中将固有随机数&的编码版cT传送给数据接收器120。 认证在此可以例如直接通过签名Si来进行。会话密钥推导函数SK在图5所示方案中具有AES密码和有限域运算,其被称为非泄漏地址表(NLM,Non-Leaking Map)。因此获得的会话密钥随后被用于图4的第二步骤 182,也就是被用于发送分组^Si的传输。图9示出用于获得安全而有效的、还受保护免受侧信道攻击的签名的编码装置 106和124的另一个方案。MAC链的建立在此情况下基于HMAC (HMAC密钥散列消息认证码, 一种基于密码哈希函数计算的MAC),其中Matyas-Meyer-Oseas结构被用作基本构造块。有效数据块Bi在编码前被块填充器200填充,以获得经过填充的有效数据块。经过填充的有效数据块随后被编码,其中例如可采用AES编码。如图9所示,针对MAC计算链的每个编码使用新的密钥k1; k2, k3,. . .,kN。该密钥从在先密钥中迭代产生。例如有效数据块Bi用密钥h编码以获得编码结果VEitl用于后续有效数据块Bw的编码的后续密钥可例如从编码结果VEi和有效数据块Bi的组合中获得。该组合在此可例如通过XOR加法或XNOR加法进行。计算链的第一密钥h从会话密钥1 和请求随机数&和&中推导。代替共同密钥 kID而使用可变的密钥Ici来编码是前提条件,由此保护在数据发送器100和数据接收器120 之间的发送分组BiSi的传输免受侧信道攻击。在图9所示的方案中,编码结果VEi的被提取出的作为签名Si的部分也小于相应的有效数据块B”数据发送器100和数据接收器120 因此例如在汽车传感结构领域中开创了迄今未知的防攻击安全水平,例如防协议攻击和防物理攻击以及尤其是防有差异的侧信道攻击。另外,在高的或者极端的实时请求的情况下可能需要的是,例如可以在数据发送器100和数据接收器120之间的认证成功执行之前数据接收器120就需要数据发送器100 的数据。在此情况下,数据发送器100和数据接收器例如可被构造用于在数据传输开始时传输发送分组BiSi,该发送分组(首先)未被认证或者无法被认证。该认证可以随后例如延迟地切换。随发送分组BiSi传输的签名Si例如可以首先是未被分析或者不能被用于认证的伪签名(Dummy-Signature)。因此可能有两个状态,即第一状态和第二状态,在第一状态中传输未被认证的发送分组ASi,在第二状态中传输已认证的发送分组BA。例如可以确保从第一状态至第二状态的过渡,所通过的方式是数据接收器120被构造用于在第一状态期间只接收有限数量的例如可在前区域中被确定或预定的发送分组BiSp数据接收器还可以被构造用于在第一状态期间将如图5所示的随机数R传输给数据发送器100。数据发送器100还可以被构造用于在第一状态期间传输作为签名Si具有例如已知数据模式的发送分组 BA。数据接收器120在此可以例如将在数据发送器100侧的已知数据模式的变化解译为从第一状态至第二状态的过渡,其中可以随后在第二状态中认证发送分组BiSi的传输。如果从第一状态至第二状态的过渡例如没有在预定的时间窗或时间间隔内进行或者没有在预定数量的传输的发送分组BiSi之后进行,则数据接收器120例如可以被构造用于将这解译为攻击并且例如中断传输。替代地,数据发送器100和数据接收器120例如可以被构造用于计数发送分组ASi的数量,其中从第一状态至第二状态的过渡可以在预定 (固定)数量的发送分组ASi之后进行。可选地,从第一状态至第二状态的过渡可以在预定时间、例如等候时间后进行。此外,可检查认证的有效性,所通过的方式是直接转入数据传输阶段,而不是借助 r'(随机数R的编码版)、cP(随机数&的编码版)或4(随机数&的编码版)的回送检查认证有效性。该认证于是例如直接通过签名Si得出。数据发送器100和数据接收器120的完整性保护的方案可被实施到另外的协议中、例如实施到另外的低成本的双向协议中、例如PSI5协议中。当不需要在发送分组BiSi 的每次传输后马上识别到差错时,也就是当不需要实时识别时,所述方案总是有利的。此夕卜,当取决于现有的带宽和/或要遵守的最大延迟时间而无法在每个有效数据块Bi后或在多个有效数据块后插入整个MAC时,所述方案总是有利的。所示的方案因此可被用于现有协议的扩展,因为对于传输只需要很少的位,甚至根据实施方式的不同,只需要唯一一位, 其中安全性随着每次传输的有效数据块Bi提升,因为对于从第二有效数据块化起的签名Si 的计算分别使用了在先编码结果VEitl
权利要求
1.一种用于发送前后相继的有效数据块的数据发送器(100),具有以下特征编码装置(104),用于对第一有效数据块(Bi)编码以获得第一编码结果(VE1)和用于对跟随第一有效数据块(B1)的第二有效数据块(B2)编码以获得第二编码结果(VE2),其中该编码装置(104)被构造用于在第二有效数据块(B2)的编码中使用第一编码结果(VE1);提取器(108),用于提取第一编码结果(VE1)的小于该第一编码结果(VE1)的一部分和第二编码结果(VE2)的小于该第二编码结果(VE2)的一部分;以及消息格式化器(110),用于将第一有效数据块(B1)和第一有效数据块(B1)的作为签名 (S1)的第一部分组合以产生第一发送分组(B1S1),和用于将第二有效数据块(B2)和第二有效数据块(B2)的作为签名(S2)的第二部分组合以产生第二发送分组(B2S2)。
2.根据权利要求1所述的数据发送器(100),其中所述编码装置(104)被构造用于利用密钥(kID)来对第一有效数据块(B1)和第二有效数据块(B2)编码,以获得第一编码结果 (VE1)和第二编码结果(VE2)。
3.根据权利要求1所述的数据发送器(100),其中所述编码装置(104)被构造用于利用第一密钥GO对第一有效数据块(B1)编码和利用第二密钥(k2)对第二有效数据块(B2) 编码,其中所述编码装置(104)被构造用于从第一编码结果(VE1)、第一有效数据块(B1)或第一密钥GO的组合中获得第二密钥(k2)。
4.根据权利要求3所述的数据发送器,其中所述编码装置具有XOR门或者XNOR门,第一编码结果(VE1)、第一有效数据块(B1)或第一密钥GO能施加到所述M)R门或者XNOR门上。
5.根据权利要求1至4之一所述的数据发送器(100),其中所述编码装置(104)被构造用于在编码前将第二有效数据块(B2)与第一编码结果(VE1)组合。
6.根据权利要求1至5之一所述的数据发送器(100),其中所述编码装置(104)被构造用于在编码前将第一有效数据块(B1)与初始矢量(IV)组合。
7.根据权利要求6所述的数据发送器,该数据发送器还具有请求-应答装置(112),该请求-应答装置被构造用于获得随机数(R;RT,Rp, rT, rP),该随机数是真实的或伪随机的, 其中所述编码装置(104)被构造用于将所述随机数(R;I T,I P,rT,rp)或所述随机数(R;I T, Rp, rT,rP)的编码版(r,r',cP, cP',cT, cT')用作为初始矢量(IV)。
8.根据权利要求7所述的数据发送器(100),其中所述编码装置(104)被构造用于在使用所述随机数(R ;RT, Rp, rT,rP)或所述随机数(R ;RT, Rp, rT,rP)的编码版(r,r',cP, Cp',cT,c/ )的情况下执行请求-应答检查,其中所述编码装置(104)被构造用于当所述请求-应答检查成功时将所述随机数(R ;RT, Rp, rT,rP)或所述随机数(R ;RT, Rp, rT,rP)的编码版(r,r',Cp, Cp',cT, ct')用作初始矢量(IV)。
9.根据权利要求8所述的数据发送器(100),其中所述请求-应答装置(11 还被构造用于在执行请求-应答检查之前已提供伪签名,并且所述消息格式化器还被构造用于将至少所述第一有效数据块(B1)与所述伪签名组合以产生至少第一发送分组(B1S1)15
10.根据权利要求1至9之一所述的数据发送器(100),其中所述编码装置具有块填充器000),所述块填充气被构造用于填充第一有效数据块(B1)和第二有效数据块(B2)以获得经过填充的有效数据块,其中所述编码装置(104)被构造用于在使用所述经过填充的有效数据块的情况下获得第一编码结果(VE1)和第二编码结果(VE2);其中所述提取器(108)被构造用于如此提取出第一编码结果(VE1)的部分和第二编码结果(VE2)的部分,即第一部分小于第一有效数据块(B1)并且第二部分小于第二有效数据块(B2);并且其中消息格式化器(110)被构造用于将填充前的第一有效数据块(B1)和填充前的第二有效数据块(B2)用于产生第一发送分组(B2S1)和第二发送分组(Bj2)。
11.根据权利要求1至10之一所述的数据发送器(100),其中所述编码装置(104)被构造用于将第一编码结果(VE1)用作用于第二有效数据块(B2)的编码的密钥。
12.根据权利要求1至11之一所述的数据发送器(100),其中所述提取器(108)被构造用于作为第一编码结果(VE1)的部分和第二编码结果(VE2)的部分提取出一定数量的位, 这些位小于第一编码结果(VE1)和第二编码结果(VE2)的位的1/8。
13.根据权利要求12所述的数据发送器(100),其中所述提取器(108)被构造用于作为第一编码结果(VE1)的部分和第二编码结果(VE2)的部分提取出最低值的位。
14.根据权利要求1至13之一所述的数据发送器(100),其中所述编码装置被构造用于对至少十个跟随第二有效数据块(B2)的有效数据块(Bi)编码以获得另外的编码结果 (VEi),其中每个另外的有效数据块(Bi)依据在先的编码结果(VEp1)被编码;其中所述提取器(108)还被构造用于提取每个另外的编码结果(VEi)的一部分,其中所提取的部分分别小于相应的编码结果(VEi)的位的1/8 ;其中所述消息格式化器(110)还被构造用于将所述另外的有效数据块(Bi)与所述另外的部分组合以产生另外的发送分组(BiSi)15
15.根据权利要求1至14之一所述的数据发送器(100),该数据发送器具有以下特征 再同步装置(114),该再同步装置被构造用于依据至少一个再同步事件来如此控制所述编码装置(104),即第一编码结果不取决于时间上在先的编码结果并且用于第一有效数据块(B1)的编码的输入只取决于预定数据,并且至少第二编码结果(VE2)取决于第一编码结果(VE1),其中所述预定数据包括存储在存储器中的初始矢量(IV)、由请求-应答装置 (112)新获得的随机数(R;RT,RP,rT,rP)或者随机数(R ;&,&,rT,rP)的编码版(r,r',cP, Cp' , CT, Ct')或有效数据块。
16.一种数据接收器(120),具有以下特征接收装置(122),用于接收发送分组(Bi' Si'),其中每个接收的发送分组(Bi' Si') 具有接收的有效数据块(Bi')和接收的签名(Si');消息提取器(IM),用于提取接收的发送分组(Bi' Si')以获得接收的有效数据块 (Bi')和接收的签名(Si');编码装置(1 ),用于对接收的有效数据块(Bi')编码以获得编码结果(VEi*); 提取器(1 ),用于提取编码结果(VEi*)的一部分以获得参考签名(Si*);以及比较装置(130),用于将接收的签名(Si*)和参考签名(Si*)比较, 其中所述编码装置(126)和所述提取器(128)被构造成,使得在有效的发送分组 (Bi' Si')的情况下,所述接收的签名(Si')等于所述参考签名(Si*)。
17.根据权利要求16所述的数据接收器(120),该数据接收器还具有请求-应答装置 (136),该请求-应答装置被构造用于获得随机数(R ;RT, Rp, rT, rP),该随机数是真是的或伪随机的,其中所述编码装置(126)被构造用于将所述随机数(R;I T,I P,rT,rp)或所述随机变量(R ;RT,Rp, rT,rP)的编码版(r,r',cP, cP',cT, cT')用作初始矢量(IV)或密钥。
18.根据权利要求17所述的数据接收器(120),其中所述请求-应答装置(136)被构造用于执行请求-应答检查,其中所述编码装置(126)被构造用于当请求-应答检查成功时将所述随机数(R ;RT, Rp, rT,rP)或所述随机数(R ;RT, Rp, rT,rP)的编码版(r,r',cP, cP', cT,cT‘)用作初始矢量(IV)或密钥。
19.根据权利要求16至18之一所述的数据接收器(120),该数据接收器还具有输出装置(134),该输出装置被构造用于在有效的发送分组(Bi' Si')的情况下输出接收的有效数据块(Bi')和在无效的发送分组(Bi' Si')的情况下抛弃接收的有效数据块(Bi')。
20.根据权利要求16至19之一所述的数据接收器(120),该数据接收器还具有再同步装置(138),该再同步装置被构造用于在有效的发送分组(Bi' Si')的情况下输出再同步事件并如此控制所述编码装置(1 ),即第一编码结果(VEi*)与时间上在先的编码结果 (VEp1*)无关,并且用于编码第一有效数据块(B/ )的输入只与预定数据相关,并且至少第二编码结果(VE2*)与第一编码结果(VE1*)相关,其中该预定数据包括存储在存储器中的初始矢量(IV)或密钥、由请求-应答装置(136)新获得的随机数(R ;RT,Rp, rT,rP)或所述随机数(R ;RT, Rp, rT,rP)的编码版(r,r',cP, cP',cT, cT')或有效数据块(B/ )。
21.根据权利要求16至20之一所述的数据接收器(120),该数据接收器还具有差错计数器(140),该差错计数器被构造用于计数每个接收的发送分组(Bi' Si')和每个无效的发送分组(Bi' Si')以确定差错率,其中所述差错计数器(140)被构造用于只将预定数量的最后接收的和前后相继的发送分组(Bi' Si')用于确定差错率,其中所述输出装置 (134)被构造用于如果所述差错率超过预定值则抛弃接收的有效数据块(Bi')和所有后续的有效数据块(Bi+1')。
22.一种用于发送前后相继的有效数据块的方法,具有以下步骤对第一有效数据块编码以获得第一编码结果并且对跟随第一有效数据块的第二有效数据块编码以获得第二编码结果,其中在对第二有效数据块编码时使用第一编码结果;提取第一编码结果的小于该第一编码结果的一部分和第二编码结果的小于该第二编码结果的一部分;并且将第一有效数据块和作为第一有效数据部分的签名的第一部分组合以产生第一发送分组,并且将第二有效数据块和作为第二有效数据块的签名的第二部分组合以产生第二发送分组。
23.一种用于接收分别具有有效数据块和签名的发送分组的方法,具有以下特征提取接收的发送分组以获得收到的有效数据块和接收的签名;对接收的有效数据块编码以获得编码结果;提取编码结果的一部分以获得参考签名;并且将接收的签名与参考签名比较,其中在有效的发送分组的情况下,接收的签名等于参考签名。
24.一种计算机程序,用于在该计算机程序在计算机或微处理器上运行时执行根据权利要求22或23所述的方法。
全文摘要
本发明提供用于发送前后相继的有效数据块的数据发送器(100),具有以下特征编码装置(104),用于编码第一有效数据块(B1)以获得第一编码结果(VE1)并用于编码跟随第一有效数据块(B1)的第二有效数据块(B2)以获得第二编码结果(VE2),其中编码装置(104)被构造用于在编码第二有效数据块(B2)时使用第一编码结果(VE1);提取器(108),用于提取第一编码结果(VE1)的小于第一编码结果(VE1)的一部分和第二编码结果(VE2)的小于第二编码结果(VE2)的一部分;以及消息格式化器(110),用于将第一有效数据块(B1)和作为第一有效数据块(B1)的签名(S1)的第一部分组合以产生第一发送分组(B1S1)并用于将第二有效数据块(B2)和作为第二有效数据块(B2)的签名(S2)的第二部分组合以产生第二发送分组(B2S2)。
文档编号H04L9/18GK102457380SQ201110403270
公开日2012年5月16日 申请日期2011年10月14日 优先权日2010年10月15日
发明者B·加梅尔, L·博勒诺, M·布劳尔 申请人:英飞凌科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1