Summary
An application-layer mutual authentication handshake, using P-256 ECDSA X.509 certificate chains, runs over BLE GATT between a Python/BlueZ hub on a Raspberry Pi Zero 2 W and two ESP32-C3 nodes. All defined rejection cases are refused, latency averages 7.394 s over 35 runs, and the firmware uses 54.7 % of its partition. LE Secure Connections fails on the hub's onboard adapter and was removed, leaving the link unencrypted. A 41.36 h unattended run lost none of 1649 events through 471 disconnects, which is not yet enough to show the < 0.1 % loss target. A board swap traced one node's instability to the board.
Key findings
- Authentication. Every defined rejection case is refused and an authorized central completes on one connection. Criteria R1, R2 and R4 to R6 are met. R3 (time-token rejection) passed, but the clock check it relies on was made log-only on 2026-10-15 and has not been re-tested as a blocking check.
- Latency. 7.394 ± 0.521 s (mean, k = 2), p95 10.303 s, n = 35, measured on an earlier lab central, not on the installed Raspberry Pi hub.
- Transport. 0 of 1649 events lost over 41.36 h. With zero losses in 1649 events, the 95 % upper bound on the loss rate is 0.18 %, above the 0.1 % target. About 2995 loss-free events are needed to show < 0.1 %.
- Security gap. The BLE link carries no encryption, so payloads are readable by any BLE sniffer in range. Certificate authentication still stops an unauthorized central from operating a node.
- Per-board instability. After the two nodes swapped places, C5DA's disconnect rate rose 71 % while 6D1A's stayed within 3 %. The problem follows the C5DA board, not its location.
- Readiness. TRL 4, technology validated in the lab.
Inside the paper
6 of the paper's 11 figures. Open any of them full size to zoom in.
About this paper
- Version
- v1.1, published 20 October 2026, updated 21 October 2026
- Written by
- Nanupatruni Mahesh Kumar
- Reviewed by
- Ravi Kumar Chintalapudi
- Readiness
- TRL 4: technology validated in the lab
- Tested on
- A Raspberry Pi Zero 2 W hub (BlueZ 5.82) and two ESP32-C3-SuperMini nodes (NimBLE-Arduino 2.x, mbedTLS 3.x); the 35 latency runs used a laptop as the lab central
- Standards
- Bluetooth Core Specification 4.2, RFC 5280, ETSI EN 303 645 provision 5.1 and NISTIR 8259A, method only; no accredited testing
- The paper
- 26 pages, 2.9 MB, PDF
The full paper has the method, every table, the defects found along the way and what is still needed for the next readiness level.
Read the paperA question about this paper, or a result you would check differently?
Write to us