next up previous
Next: Concurrent TESLA instances Up: Our Extensions Previous: Our Extensions

Immediate Authentication

 

A drawback of the original TESLA protocol is that the receiver needs to buffer packets during one disclosure delay before it can authenticate them. This might not be practical for certain applications if the receivers cannot afford much buffer space and bursty traffic might cause the receivers to drop packets due to insufficient buffer space. Moreover, as we show later in section 4.2, the requirement of receiver buffering introduces a vulnerability to a denial-of-service attack. To solve these problems caused by receiver-buffering, we propose a new method to support immediate authentication, which allows the receiver to authenticate packets as soon as they arrive.

The basic observation of this method is that we can replace receiver buffering with sender buffering. If the sender can buffer packets during one disclosure delay, then it could store the hash value of the data of a later packet in an earlier packet and hence as soon as the earlier packet is authenticated, the data in the later packet is authenticated through the hash value as well.

In the new scheme, the sender buffers packets for the duration of one disclosure delay. For simplicity of illustration, we assume that the sender sends out a constant number v of packets per time interval. To construct the packet for the message chunk Mj in time interval Ti, the sender appends the hash value of the message chunk Mj+vd to Mj and then computes the MAC value also over H(Mj+vd) with the key Ki. Figure 2 illustrates how the packet Pj is constructed by appending H(Mj+vd), MAC(Ki, Mj | H(Mj+vd)), along with the disclosed key Ki-d. (Note that the | stands for message concatenation). When the packet Pj+vd arrives at the receiver which discloses the key Ki it allows authentication of packet Pj sent in interval Ii. Pj carries a hash of the data Mj+vd in Pj+vd. If Pj is authentic, H(Mj+vd) is also authentic and therefore the data Mj+vd is immediately authenticated. Also note that if Pj is lost or dropped due to violation of the security condition, Pj+vd will not be immediately authenticated and can still be authenticated later using the MAC value.

HMjpkdH(Mj+vd) MACKiHMjMAC(K'i,Dj) KimdKi-d DjDj DjpkdDj+vd MjpkdMj+vd HMjp2kdH(Mj+2vd) MACKipdHMjMAC(K'i+d,Dj+vd)

 figure337
Figure 2: Immediate authentication packet example. Dj = H(Mj+vd) | Mj and Dj+vd = H(Mj+2vd) | Mj+vd. 

Iip3Ii+3 Pjp7Pj+7 Pjp8Pj+8

If each packet can only carry the hash of one other packet, it is clear that the sending rate needs to remain constant. Also it is clear that if a packet is lost, the corresponding packet cannot be immediately authenticated. To achieve flexibility for dynamic sending rate and robustness to packet loss, the sender can add the hash values of multiple future packets to a packet, similar to the EMSS scheme [25].


next up previous
Next: Concurrent TESLA instances Up: Our Extensions Previous: Our Extensions

Adrian Perrig
Sun Nov 5 19:29:44 PST 2000