Heartbeat Key Generation Demonstration
You may have used fingerprint authentication or face recognition with your smartphone. But do you know that you can use your heartbeat signals to encrypt your wireless communications?
In this demonstration, we will present a heartbeat-based key generation technique developed at Advanced Networks Research Group, University of Liverpool.
Overview
This demonstration uses PPG sensors to collect heartbeat signals and extract cryptographic keys from the collected signals. A full key generation protocol has been implemented by the Python.
Key Generation Protocol
Heartbeat Measurement
Any sensor that can measure heartbeat signals will work, e.g., ECG and PPG sensors. This demonstration uses PPG sensors as example. PPG sensors are very easy to use.
IPI Extraction:
- Peak Detection: Detect the peaks of the heartbeat signals. Multiple level wavelet transform is used to denoise the heartbeat signals.
- IPI Alignment: Calculate the interpulse interval (IPI) between any adjacent peaks. Align the common IPIs between Alice and Bob.
Key Establishment
- Quantization: IPI trend-based quantization
- Information Reconciliation: BCH-based secure sketch
- Privacy amplification: hash function SHA256
- Randomness test: NIST randomness test suite
Setup
Please refer to this link for the hardware and software setup.
Hardware
- Pulse Sensorx2
- Arduino board for AD conversion x2
- Raspberry Pi with touchscreen x2
Software
- Arduino
- GUI and signal processing: Python
Demo Video
Click the image below to watch the video.
Acknowledgement
We would like to thank Mr Yushi Zheng for his hard work on completing this excellent demo.