next up previous
Next: Related Work Up: Applications Previous: Authenticated Routing

Full paper: Postscript, PS.GZ, PDF


Node-to-Node Key Agreement

 

A convenient method to bootstrap secure connections is public-key cryptography protocols for symmetric-key setup [2, 15]. Unfortunately, our resource-constrained sensor nodes prevent us from using computationally expensive public-key cryptography. Therefore, we need to construct our protocols solely from symmetric-key algorithms. Hence we design a symmetric protocol that uses the base station as a trusted agent for key setup.

Assume that the node A wants to establish a shared secret session key SKAB with node B. Since A and B do not share any secrets, they need to use a trusted third party S, which is the base station in our case. In our trust setup, both A and B share a secret key with the base station, KAS and KBS, respectively. The following protocol achieves secure key agreement as well as strong key freshness:

AB:NA,A BS:NA,NB,A,B,MAC(KBS,NA|NB|A|B) SA:{SKAB}994KAS,MAC(K'AS,NA|B|{SKAB}1KAS) SB:{SKAB}1KBS,MAC(K'BS,NB|A|{SKAB}1KBS)

The protocol uses our SNEPprotocol with strong freshness. The nonces NA and NB ensure strong key freshness to both A and B. The SNEPprotocol is responsible to ensure confidentiality (through encryption with the keys KAS and KBS) of the established session key SKAB, as well as message authentication (through the MAC using keys K'AS and K'BS) to make sure that the key was really generated by the base station. Note that the MAC in the second protocol message helps defend the base station from denial-of-service attacks, so the base station only sends two messages to A and B if it received a legitimate request from one of the nodes.

A nice feature of the above protocol is that the base station performs most of the transmission work. Other protocols usually involve a ticket that the server sends to one of the parties which forwards it to the other node, which requires more energy for the nodes to forward the message.

The Kerberos key agreement protocol achieves similar properties, except that it does not provide strong key freshness [19, 23]. However, it would be straightforward to implement it with strong key freshness by using SNEPwith strong freshness.


next up previous
Next: Related Work Up: Applications Previous: Authenticated Routing

Adrian Perrig
Fri Jun 1 22:51:44 PDT 2001