用于提供适合用于短消息的消息认证码的方法和设备技术

技术编号:29802971 阅读:26 留言:0更新日期:2021-08-24 18:25
本申请涉及认证在传送器与接收器之间在网络上交换的消息的设备和方法,所述方法包括:在传送器侧,为了传送消息,通过从消息认证码(MAC)中选择或生成预定位来生成截短的MAC码,所述消息认证码是在所述消息的预定部分与先前传送的消息的至少一个预定部分的级联上计算的;其中,截短的MAC码的位长小于所述消息认证码(MAC)的位长,将所述截短的MAC码附加到用于传送的所述消息;在接收器侧,为了认证消息,接收先前传送的消息、所述消息和所述截短的MAC码;通过从消息认证码(MAC)中选择或生成预定位来生成预期的截短的MAC码,所述消息认证码是在所述消息的预定部分与先前传送的消息的至少一个预定部分的级联上计算的;如果接收到的截短的MAC码与所述预期的截短的MAC码相同,则对所述消息和所述先前传送的消息给予认证。

【技术实现步骤摘要】
【国外来华专利技术】用于提供适合用于短消息的消息认证码的方法和设备
本专利技术涉及用于提供适合用于认证短消息的消息认证码的方法和设备。具体地,本专利技术涉及用于传送消息和对应的认证码的传送器设备和方法以及用于认证接收到的消息的对应的接收设备和方法。本专利技术涉及对在网络(例如,移动网络、Wi-Fi网络、蓝牙网络)上传送的消息的认证的领域。
技术介绍
物联网(IoT)设备领域变得无处不在。预期许多这些设备(例如,传感器设备)会定期发送非常短的消息,例如,32位用户或传感器ID、32位时间戳和8位传感器值。所有这些廉价设备的已知问题是与之相关联的相对较弱的安全性。相关的安全问题之一是恶意消息被插入网络,因此需要对来自这样的IoT设备的传送进行完整性保护。进行该操作的众所周知的技术是向消息添加消息认证码(MAC)。针对MAC计算的输入是发送方和接收方已知的秘密密钥以及需要保护的消息的位。MAC计算的输出是看起来随机的n位。如果消息中只有一位发生变化,那么对于不知道该密钥的某人来说,MAC计算的输出会以不可预测的方式迥然不同。对于良好的MAC,就像对于良好的加密散列,如果输入中只有一位发生变化,那么约一半的输出位将会发生变化。能够用于计算MAC的一类示例函数是HMAC算法类(密钥散列消息认证码或基于散列的消息认证码,参见例如[RFC2104])。HMAC的示例是HMAC-SHA256,参见[RFC4868]。HMAC-SHA256的输出是256位的数字。当不知道该密钥时,猜出正确的HMAC-SHA256输出的概率是2^-256,这个概率太低以至于实际上根本不可能正确猜出。然而,必须添加256位来保护72位消息,如上例所示,这会给消息增加巨大的开销。当然能够减少MAC的位数,但是这样攻击者就更容易猜出消息的正确MAC,从而使攻击者更容易伪造消息。因此,为了加强保护,期望更长的MAC大小。避免大开销的潜在解决方案是将若干条消息级联在一起,从而扩大一条消息的大小,并且利用常规大小的MAC为级联的消息提供消息认证。然而,在接收器侧对要传送的第一个测量结果的处理或显示被延迟。这并不吸引人,因为一些传送可能是时间敏感的,并且等待用于级联的其他消息可能会影响系统的功能。
技术实现思路
本专利技术的目的是提供用于提供适合用于短消息的消息认证码的方法,该方法至少缓解了上述问题之一。通过根据权利要求1所述的方法实现了该目的。基本上,该解决方案利用了传送器(例如,IoT设备)通常会发送一个以上的消息这一事实。当传送器(例如,IoT设备)发送消息时,至少一个较早消息中的大部分或所有要保护的位也用于MAC计算的输入以用于第二条消息的完整性保护。这能够通过将第一条消息的要保护的位与第二条消息的要保护的位级联(例如,前置或附加)并使用该结果作为针对MAC计算的输入来完成。结果得到的MAC被截短到N位,以产生针对第二条消息的截短的MAC。例如,N可以是一个字节,即,8位。在传送了第二条消息之后,攻击者有2^(2*N)分之一的概率伪造前一条消息,并且有2^N分之1的概率伪造后一条消息。因此,当使用根据本专利技术的方法时,针对后一条消息的MAC保护提高了较早消息中的置信水平。当组合预定数量的消息(M)时,攻击者伪造最早消息的概率将降低到2^(M*N)分之1。可以考虑这样一种系统,其中,在没有任何MAC保护的情况下发送第一M-1条消息,然后利用在先前的M条消息上计算出的正常长度(即,长度为M*N)的MAC保护和消息编号M来发送该消息编号M。与该系统相比,所要求保护的方法有两个优点。首先,较早的消息已经具有显著的完整性保护,这在必须存在对数据的信任并且数据的使用对时间敏感的系统中是相关的。其次,所有消息都具有相同大小的截短的MAC。对于许多系统来说,具有固定的消息长度是有利的。在所附的从属权利要求中给出了根据本专利技术的设备和方法的另外的优选实施例,通过引用将其公开内容并入本文。在本专利技术的实施例中,传送器(例如,IoT设备)向其发送的第一条消息添加截短的MAC,而不依赖于先前的消息。有利地,可以利用特定标识符来标记这样的第一条消息以允许接收器知道必须在该单条消息上计算MAC。在本专利技术的实施例中,定义了要在新消息的完整性保护中包括的消息的数量。这能够通过将该数字添加到消息中来完成(并且作为要进行完整性保护的消息的部分),因此,例如针对要发送的第一条消息为0(“使用0条先前发送的消息来计算针对该消息的截短的MAC”)。该值也能够预先确定或者在标准中指定。在本专利技术的另外的实施例中,为了节省消息位长,能够只用一个位来指示这是用于完整性保护的第一条消息,还是所有先前发送的直到并包括第一条消息的消息都具有以下指示:在对当前消息计算截短的MAC中都必须包括第一条消息。需要注意,具有强加密属性的散列函数需要混合所有输入位,使得输入位发生任何变化时一个位翻转的概率为0.5,并且任何输出位中的任一个的翻转与其他输出位中的任一个的翻转都不相关。因此,如果期望的保护强度是N位完整性保护(即,通过使用N/L个较短散列得到的猜出概率为2^(-N),则需要大散列的输入混合属性。例如,在SHA256中,消息被打碎成512位块。位处理算法被应用64次(“轮次”)以获得针对块值的输出。在内部,每轮使用2048位的状态。组合不同块的输出以计算在整条消息上的散列。组合是简单的exor,因此这里能够减少一点计算次数,只计算最终结果的前8位。因此,通过从在对消息的预定部分与先前发送的消息的至少一个预定部分的级联上计算的消息认证码(MAC)中选择或生成预定位,这意味着根据相应算法执行所有需要的计算以获得所期望的位,而独立于计算未使用的位所需的最终操作。关于从消息到认证方法的输入,应当使用完整的消息或其预定位(例如不包括可能具有已知结构/值的报头位)。由于某种未知原因,必须定义要在新消息的完整性保护中包括的消息的数量。这能够通过将该数字添加到消息中来完成(并且作为要进行完整性保护的消息的部分),因此,例如针对要发送的第一条消息为0(“使用0条先前发送的消息来计算针对该消息的截短的MAC”)。该值也能够在标准中指定。为了节省空间,能够只用一个位来指示这是用于完整性保护的第一条消息,还是所有先前发送的直到并包括第一条消息的消息都具有以下指示:在对当前消息计算截短的MAC中都必须包括第一条消息。在该应用中,术语消息指示以通信栈中的任何级别从一方发送到一个(单播)或多个(多播、广播)接收器的任何位集合。较低级别消息的示例可以是PHY层数据包或MAC数据包(媒体访问控制;由于MAC可能同时表示媒体访问控制和消息认证码这一事实,因此一些规范使用术语消息完整性码而不是消息认证码)或MAC帧,在这种情况下能够具有链路安全性。较高级别消息的示例可以是IP数据包、UDP数据包、TCP-IP数据包、IPsec数据包等,在这种情况下,在发送器与接收者之间具有安全性,该安全性可以在若干链路上扩展。消息的其他示例是MPEG传输流数据包、MPEG程序流数据包、在MPEGTS数据包或MP本文档来自技高网
...

【技术保护点】
1.一种认证在传送器与接收器之间在网络上交换的消息的方法,/n所述方法包括:/n在传送器侧,为了传送消息,/n-通过从消息认证码(MAC)中选择或生成预定位来生成截短的MAC码,所述消息认证码是在所述消息的预定部分与先前传送的消息的至少一个预定部分的级联上计算的;/n其中,截短的MAC码的位长小于所述消息认证码(MAC)的位长,/n-将所述截短的MAC码附加到用于传送的所述消息;/n在接收器侧,为了认证消息,/n-接收先前传送的消息、所述消息和所述截短的MAC码;/n-通过从消息认证码(MAC)中选择或生成预定位来生成预期的截短的MAC码,所述消息认证码是在所述消息的预定部分与先前传送的消息的至少一个预定部分的级联上计算的;/n-如果接收到的截短的MAC码与所述预期的截短的MAC码相同,则对所述消息和所述先前传送的消息给予认证。/n

【技术特征摘要】
【国外来华专利技术】20181113 EP 18205989.9;20190423 EP 19170456.81.一种认证在传送器与接收器之间在网络上交换的消息的方法,
所述方法包括:
在传送器侧,为了传送消息,
-通过从消息认证码(MAC)中选择或生成预定位来生成截短的MAC码,所述消息认证码是在所述消息的预定部分与先前传送的消息的至少一个预定部分的级联上计算的;
其中,截短的MAC码的位长小于所述消息认证码(MAC)的位长,
-将所述截短的MAC码附加到用于传送的所述消息;
在接收器侧,为了认证消息,
-接收先前传送的消息、所述消息和所述截短的MAC码;
-通过从消息认证码(MAC)中选择或生成预定位来生成预期的截短的MAC码,所述消息认证码是在所述消息的预定部分与先前传送的消息的至少一个预定部分的级联上计算的;
-如果接收到的截短的MAC码与所述预期的截短的MAC码相同,则对所述消息和所述先前传送的消息给予认证。


2.根据权利要求1所述的方法,其中,针对传送的第一条消息,所述消息认证码(MAC)是在没有与先前传送的消息的至少一个预定部分级联的情况下在所述第一条消息的预定部分上计算的。


3.根据权利要求2所述的方法,其中,取决于究竟以下哪个序列更短,所述消息认证码(MAC)是在以下两项中的任意一项上计算的:
所述消息的预定部分与先前传送的消息的第二预定数量的部分的序列的级联;或者
所述消息的预定部分与从所述传送的第一条消息开始的每个前面的消息的预定部分的序列的级联。


4.根据权利要求2或3所述的方法,其中,所述消息被提供有以下各项中的至少一项:
-第一标识符,其标识所述消息认证码(MAC)是在没有与先前传送的消息的至少一个预定部分级联的情况下在所述第一条消息的预定部分上计算的;
-第二标识符,其标识所述消息认证码(MAC)是在所述消息的预定部分与先前传送的消息的至少一个预定部分的级联上计算的。


5.根据权利要求1至4所述的方法,其中,所述消息被提供有以下各项中的至少一项:
-第三标识符,其标识所述消息认证码(MAC)被截短;
-第四标识符,其标识所述消息认证码(MAC)被截短到n位。


6.根据权利要求1至4所述的方法,其中,所述消息被提供有以下各项中的至少一项:
-第三标识符,其标识所述消息认证码(MAC)被截短;
-第四标识符,其标识所述消息认证码(MAC)未被截短。


7.根据权利要求3所述的方法,其中,在接收器侧,为了认证消息,
-如果接收到的截短的MAC码与所述预期的截短的MAC码不同,则不对所述消息和所述先前传送的消息给予认证,覆盖对所述先前传送的消息的认证。


8.根据权利要求4所述的方法,其中,所述第一标识符或第二标识符中的至少一项具有1位的位长。


9.根据权利要求8所述的方法,其中,所述第一标识符或所述第二标识符中的至少一项要么被提供在数据包报头中,要么与所述截短的MAC码级联。


10.一种由传送器在网络上传送消息和认证码的方法,所述方法包括:
-通过从消息认证码(MAC)中选择或生成预定位来生成截短的MAC码;所述消息认证码是在所述消息的预定部分与先前传送的消息的至少一个预定部分的级联上计算的;
其中,截短的MAC码的位长小于所述消息认证码(MAC)的位长,
-将所述截短的MAC码附加到用于传送的所述消息。


11.根据权利要求10所述的方法,其中,针对传送的第一条消息,所述消息认证码(MAC)是在没有与先前传送的消息的至少一个预定部分级联的情况下在所述第一条消息的预定部分上计算的。


12.根据权利要求10或11所述的方法,其中,取决于究竟以下哪个序列更短,所述消息认证码(MAC)是在以下两项中的任意一项上计算的:
所述消息的预定部分与先前传送的消息的第二...

【专利技术属性】
技术研发人员:J·A·C·伯恩森
申请(专利权)人:皇家飞利浦有限公司
类型:发明
国别省市:荷兰;NL

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1