首页 理论教育提高效率的定时流法:TESLA容忍损耗认证

提高效率的定时流法:TESLA容忍损耗认证

【摘要】:自动门一般分为微波自动门、踏板式自动门和光电感应自动门3 种。玻璃自动门由固定玻璃和活动门扇两部分组成,如图7.22 所示。其造型简洁,构造简单;另一种是通过横框或小门框连接,如图7.23 和图7.24 所示。图9-14 发送认证包TESLA最初为广播认证设计,需要发送者和接收者之间的松散时钟同步。因为它需要数字签名认证初始数据包、需要在内存中存储密钥链,所以应用在节点只有有限资源的传感器网络中是不实际的。第13章会介绍μTESLA。

广播认证协议使接收者能验证收到的数据包确实是由声称的发送者发送的。换言之,这种协议应该防止发送者假冒,使得任一接收者容易验证数据是合法发送者发出的。通过消息认证码对每一数据包进行简单关联,用共享的密钥计算校验和,可用于两方通信中的认证。但这并没有提供安全广播认证。这是因为广播网络中每个接收者拥有密钥,可用它伪造数据、假冒发送者。包括数字签名在内的非对称密码学,对满足广播认证的需求,提供有前景的功能。但是由于非对称密码学相关的计算负载、相对长的时间和高带宽需求,在实践中它并不是好的解决方案

一个替代方法是仍用消息认证码和对称密码学为消息广播提供认证,但由发送者延迟泄漏密钥。在Perrig et al.(2000a)、Perrig and Tygar(2003)文献中,定时高效流容忍损耗认证(TESLA)属于这类方案。进一步,它被提交作为多播源认证技术的因特网工程任务组(IETF)草案(Perrig et al.,2000b;2003)。

TESLA方法中,发送方广播的每个消息包附带一个消息认证码,MAC用私钥k生成,k最初只有发送方知道。在一定的时间延迟d后,发送方会泄漏密钥k给接收方。接收方缓存收到的数据包,直到收到密钥才能对它进行认证。在特定时间延迟d后,发送方泄漏k,接收方能够用k认证缓存的数据包。每个数据包附带一个单独的消息认证码而足够提供认证。这种方法需要发送方和接收方时钟同步。

TESLA中,单向密钥链用于提供认证。单向密钥链通过对一个初始密钥重复使用相同的单向哈希函数生成。例如,在图9-13中,发送者随机选择kn,并重复应用单向哈希函数h生成密钥链;然后,发送者提交k0给接收者。通过初始密钥k0,以相反的顺序泄漏值,发送者可以验证密钥链中任一元素。

978-7-111-34574-9-Part02-23.jpg

图9-13 单向哈希密钥链的生成和使用

TESLA包括四个阶段:发送者创建、接收者创建、消息广播、接收者消息认证。

发送者创建阶段,发送者首先划分时间为时间间隔,从单向哈希链中给每个时间间隔赋予一个密钥。通过下式计算单向密钥链:

Kn=FKn+1) (9-3)

式中,F是单向函数。单向密钥链发送到网络,按生成时的逆序方式使用。发送者定义泄漏时间间隔d,在间隔时间d后,值会被发布。

接收者创建阶段,接收者与发送者保持松散的时钟同步。通过认证信道,接收者从发送方获得密钥泄漏时间表。密钥泄漏时间表包括间隔持续时间、开始时间、间隔索引、单向密钥链长度、密钥泄漏延迟d和发给密钥链Ki的密钥。

在发送者和接收者创建阶段后,发送者广播消息。其步骤如图9-14所示。通过密钥Ki,利用单向函数F′得到生成MAC的密钥978-7-111-34574-9-Part02-24.jpg。发送者每次广播消息时,附加上由与消息广播的时间段对应的密钥生成的MAC。时间延迟d之后,发送者广播相关的单向链值。消息应该包括以下字段:

Pj={Mj||MAC(K′iMj)||Ki-d} (9-4)

当接收者收到包时,通过比较收到包的时间和发送者泄漏密钥的时间,接收者首先检查用于计算MAC的密钥仍是秘密的。若MAC密钥仍是秘密的,接收者给包缓存。当接收者收到包的密钥时,首先验证密钥,接着用密钥验证在泄漏密钥时间间隔中发送的缓存包。若MAC值正确,接收者接受包。

978-7-111-34574-9-Part02-25.jpg

图9-14 发送认证包

TESLA最初为广播认证设计,需要发送者和接收者之间的松散时钟同步。因为它需要数字签名认证初始数据包、需要在内存中存储密钥链,所以应用在节点只有有限资源的传感器网络中是不实际的。第13章会介绍μTESLA。