How to Ring a Swan
Adding tamper resistant authentication to Linux IPSec

Bastiaan Bakker
Delft University of Technology / LifeLine Networks BV

<Bastiaan.Bakker@lifeline.nl>

Co-authors:
Ruediger Weis (University of Mannheim)
Stefan Lucks (University of Mannheim)

FreeS/WAN is an open source implementation of IPSec and IKE protocols for the GNU/Linux operating system. It provides protection of traffic between hosts by using strong cryptography for encryption and authentication of the data.

FreeS/WAN implements the Internet Key Exchange (IKE) protocol for the negotiation of the session keys. However the current implementation is limited to performing key negotiation based on preshared secrets that are stored in configuration files. If an attacker can read these files the security of the related IPSec tunnels would be compromised.

A better alternative is to lock long term keys like these in a tamper resistant environment which they never leave. The iButton from Dallas Semiconductor is a JavaCard compliant device in an unusual form factor: a wearable finger ring. It provides a portable progammable environment with improved tamper resistance compared to conventional smart cards.

We will compare and implement different protocols in which the secret keys are stored in an iButton. Besides authentication only methods (like a simple challenge/response) also schemes using Remotely Keyed Encryption (RKE) will be investigated. These allow the encryption and decryption of entire sessions to be controlled by the iButton rather than just the session keys.

Intended Audience:
Users and developers of IPSec or interested people with some understaning of it (Hugh Daniels IPSec tutorial may be a good starting point). Basic knowledge of cryptography is assumed.

Bastiaan Bakker is studying computer engineering at the Delft University of Technology. His main research interests are computer and network security and cryptography. Bastiaans graduation thesis was the design and implemtation of an authentication protocol based on smartcards, of which the results have been presented at the SANE98 conference and USENIX Smartcard99 workshop. Since spring 1998 he is also working at Lifeline Networks as a software engineer.


Last modified: December 27, 1999 (mk)