Securing Near Field Communication

Near Field Communication (NFC) specifies a standard for a wireless communication protocol enabling data transfer by keeping two devices close together, about 10 cm maximum. NFC is designed for integration with mobile phones, which can communicate with other NFC phones (peer-to-peer) or read information on tags and cards (reader). An NFC device can also be put in card emulation mode, to offer compatibility with other contactless smart card standards. This enables NFC devices to replace traditional contactless plastic cards used in public transport ticketing, access control, ATMs and other similar applications. At the beginning of my work, there seemed to be no available security protocol for NFC. I therefore formed a hypothesis stating that NFC communication can be eavesdropped, with intention to present methods to secure the channel if needed. It should however turn out that ECMA has been working with a security protocol called NFC-SEC-01, which specifies a key agreement and secure channel protocol for NFC in peer-to-peer mode. My work does mainly focus on reader mode and card emulation mode, as I expect these to be the most interesting from a commercial point of view. This Master’s thesis proves that it is possible to eavesdrop on NFC communication, and gives a thorough description of how this can be done using simple equipment and methods. The performed experiments show that the communication protocol does not offer any security in itself, and that transferred data can be picked up at a distance of approximately 20-30cm using an improvised antenna without any signal amplification or filtering circuitry. Using a proper radio receiver, this distance should increase significantly. As NFC in active communication mode has a far greater eavesdropping range than the passive mode, the latter should be preferred in typical banking and payment applications. A layered security model is presented to counterfeit the possible attacks against applications using NFC technology. This solution is meant to be an idea for a public NFC security framework. A publicly available security library would ease implementation of the desired security level when developing applications, and hopefully attract more applications to start using this technology instead of traditional plastic cards. This may save both cost and the environment, as plastic cards will be replaced by software implemented tokens. By introducing a common security protocol, cryptographic co processors can be implemented while manufacturing the devices. This will be more effective than implementing special software encryption for each application. The cryptographic mechanisms presented in my solution shall however work efficiently also for software implementations, which opens for a smooth transition period with coexisting applications using traditional contact based and contactless smart cards.