This repo implements the PUF-based group key agreement proposed by:
M. Barbareschi, V. Casola, A. Emmanuele and D. Lombardi, "A Lightweight PUF-Based Protocol for Dynamic and Secure Group Key Management in IoT," in IEEE Internet of Things Journal, vol. 11, no. 20, pp. 32969-32984, 15 Oct.15, 2024, doi: 10.1109/JIOT.2024.3418207.
We provide a demo script to showcase the hierarchical key agreement and periodic broadcasting. For ease of testing, the device time epoch is manually controlled: press ENTER to simulate a new time epoch.
# 1. Install the package
pip3 install .
# 2. Run the demo
run-demoFeatures included in the Demo:
- PUF-based Registration: Initial synchronization between the Authentication Server (AS), the Local Verifiers (LVs), and Nodes.
- Hierarchical Key Agreement: Derivation of local (
K_SG) and global (K_G) group keys. - Simulated Epochs to visualize the advancements of the protocols.