After reading that the timeline for post-quantum cryptography is bumped closer to today I started looking into the standards and protocols that are going away and the ones that are coming. Then I started to look at the ESP32 chip: can it run post-quantum crypto?
Since there is no official PQC in the official SDK, to test that I needed to go a bit lower and find the building blocks of TLS. The conclusion: yes, it's powerful enough.
But I bumped into a separate problem: checking whether the TLS certificate is valid requires the device to know the time. How can the device know the time without TLS?
It turned out that it's a known problem: it's called the time bootstrap problem. It's about the circular requirements: secure communication needs the knowledge of time, but knowing the time needs communication when the device does not have an always-on clock.
This article is what I learned looking into the different technologies and how they shape the best practices. My conclusion is a bit anti-climatic: it's nice to use some protocols that have some security built-in, but for most cases I believe even the unencrypted, decades-old plain NTP is good enough.
Read it on my blog: https://advancedweb.hu/esp32-time-bootstrap-problem/
#iot #ntp #nts #tls