A WiFi-based key generation demonstration has been developed using WARP boards. A full key generation protocol has been implemented by the Python.
Our wireless communications are protected by the symmetric encryption, e.g., WiFi is secured by WPA2, which implements AES. However, the secure and efficient provision of keys for the symmetric encryption is very challenging for Internet of Things (IoT). We have been working on key generation from wireless channels and demonstrated this technique is very suitable for IoT.
Key Generation Protocol
- Channel Probing:
- using the Data packet and its corresponding ACK packet to serve as the bidirectional probing packets, implemented based on 802.11 Reference Design: Experiments Framework . The sampling delay between the Data and ACK is in the order of 10 us therefore a high correlated channel measurements can be obtained.
- Packet Match: Because the demo is carried out in the office environment, there are many transmissions in the air from other wifi access points. The MAC address is used to filter out the useful packets.
- Quantization: Mean and standard deviation-based quantization
- Information Reconciliation: BCH-based secure sketch
- Privacy amplification: hash function SHA256
- Randomness test: NIST randomness test suite
- 802.11 Reference Design: Experiments Framework
- GUI and signal processing: Python
We would like to thank Mango Communications for their technical support on WARP and Mr Yan Wang for his hard work on completing this excellent demo.