next up previous
Next: Security Condition Up: BiBa Broadcast Authentication Protocol Previous: BiBa Broadcast Authentication Protocol

One-way SEAL Chains

For our authentication protocol, we need a method such that the receiver can instantly authenticate the SEALs when it receives them, and that the SEALs are automatically replenished. We use one-way chains to achieve the self-authenticating property of SEALs and for replenishment. One-way chains are used in many schemes, for example by Lamport in a one-time password system [11], and the S/Key one-time password system [8]. We use the the PRF F to generate the one-way SEAL chains, and the PRF F' to generate a one-way salt chain. The sender first generates the one-way salt chain of length l, {Ki}1il, using the PRF F' as follows: the sender randomly selects Kl (of length m1 bits): Kl R ← {0,1}m1, and then recursively computes all other salts: Ki = F'Ki+1(0) (1≤i < l).

The sender then generates a set of one-way SEAL chains, {Si, j}1it, 1jl, where Si, _ forms a one-way chain as Figure 3 shows. The SEAL chains are constructed as follows. The sender first randomly selects all the seed SEAL values S_, l of length m2 bits: Si, l R ← {0,1}899m2 (1≤i≤t). The sender then computes all other SEAL values recursively: Si, j = F901Si, j+1(Kj+1) (1≤j < l). Note the way we use the salts of the one-way salt chain to derive the SEAL values, such that an attacker first would need to find a pre-image of the salt of the one-way salt chain before it can try to find pre-images for the SEAL chains. We chose this specific construction to allow for relatively compact SEALs, while the longer salts mitigate attacks to find other pre-images for the SEALs by pre-computation. However, if the SEALs are long enough to prevent such attacks, the one-way salt chain may not be necessary.

   figure257
Figure 4: Using one-way chains to construct SEAL

The sender divides the time up into time periods of equal duration Td. In each time period i, the SEALs S_, i and the salt Ki are active. Figure 3 shows the time periods and the corresponding active SEALs and active salt. As time advances an entire row of SEALs expires and a new row becomes active. The sender publishes each salt at the beginning of the time period when it becomes active, but the sender only discloses the active SEALs of a time period that are part of a BiBa signature.

To bootstrap a new receiver we assume for now that the sender sends it all the SEALs and the salt of a previous time period over an authenticated channel. We present extensions that provide more efficient receiver bootstrapping in Section 5. It is clear that a receiver who knows all the authenticated SEALs and salt of a time period can authenticate SEALs and salts of later time periods. For example, assume the receiver knows the authentic salt Ki of time period i. When the receiver receives Ki+1 of the following time period the receiver authenticates it by verifying Ki ? = F'Ki+1(0). The receiver authenticates SEALs by following the one-way SEAL chain back to a SEAL that it knows is authentic.


next up previous
Next: Security Condition Up: BiBa Broadcast Authentication Protocol Previous: BiBa Broadcast Authentication Protocol

Adrian Perrig
Mon Nov 26 15:18:51 PST 2001