A Guideline on Pseudorandom Number Generation (PRNG) in the IoT

  title={A Guideline on Pseudorandom Number Generation (PRNG) in the IoT},
  author={Peter Kietzmann and Thomas C. Schmidt and Matthias W{\"a}hlisch},
  journal={ACM Computing Surveys (CSUR)},
  pages={1 - 38}
Random numbers are an essential input to many functions on the Internet of Things (IoT). Common use cases of randomness range from low-level packet transmission to advanced algorithms of artificial intelligence as well as security and trust, which heavily rely on unpredictable random sources. In the constrained IoT, though, unpredictable random sources are a challenging desire due to limited resources, deterministic real-time operations, and frequent lack of a user interface. In this article… Expand
A Performance Study of Crypto-Hardware in the Low-end IoT
Comprehensive resource analysis for widely used cryptographic primitives across different off-the-shelf IoT platforms, and evaluations show that hardware-based crypto outperforms software by considerably over 100 %, which is crucial for nodal lifetime. Expand
TRNGs from Pre-Formed ReRAM Arrays
Various implementations of the TRNGs with ReRAM arrays are presented, and the natural stochastic properties of the ReRAM cells in the pre‐forming range, at low currents, have been analyzed and demonstrated by measuring a statistically significant number of cells. Expand
Binarization Methods for Motor-Imagery Brain–Computer Interface Classification
This method replaces the fully connected layer of CNNs with a binary augmented memory using bipolar random projection, or learned projection, and proposes to use memory-augmented neural networks (MANNs) for MI-BCI such that the augmented memory is binarized. Expand
PHiLIP on the HiL: Automated Multi-Platform OS Testing With External Reference Devices
PHiLIP (Primitive Hardware in the Loop Integration Product) is presented, an open-source external reference device together with tools that validate the system software while it controls hardware and interprets physical signals and allows for easy extension of low-cost, adaptive testing infrastructures. Expand
TPM-Based Post-Quantum Cryptography: A Case Study on Quantum-Resistant and Mutually Authenticated TLS for IoT Environments
The results show that the integration of PQC into mTLS is generally feasible, thus ensuring additional post-quantum client authentication and offloading the generation of random numbers to TPMs in the authors' integrated post-Quantum schemes proves to be efficient, ultimately enhancing overall system security. Expand
Testing and selecting lightweight pseudo-random number generators for IoT devices
This paper selected some random number generators and presented a simple description of how to run them against well-known statistical test suites TestU01 and PractRand, and results obtained indicate a set of generators with the potential to be used for cryptographic purposes. Expand


Lightweight Protocols and Applications for Memory-Based Intrinsic Physically Unclonable Functions on Commercial Off-The-Shelve Devices
This work leverages the concept of Physically Unclonable Functions (PUFs), to create hardware-based security anchors in standard hardware components, and presents various software- based security solutions which are specially tailored towards to the characteristic properties of embedded devices. Expand
Firmware Insider: Bluetooth Randomness is Mostly Random
While the Broadcom and Cypress HRNGs pass advanced tests, it remains indistinguishable for users if a Bluetooth chip implements a secure RNG without an extensive analysis as in this paper. Expand
A PUF Seed Generator for RIOT: Introducing Crypto-Fundamentals to the Wild
Physically unclonable functions (PUFs) are a promising class of solutions to this problem that extract unique or reconfigurable output from individual hardware properties and have been identified as a feasible entropy source. Expand
Security analysis of pseudo-random number generators with input: /dev/random is not robust
This work extends the BH model to include a new security property capturing how it should accumulate the entropy of the input data into the internal state after state compromise, and proposes a simple PRNG construction that is provably robust in the authors' new and stronger adversarial model. Expand
Secure self-seeding with power-up SRAM states
A new method for extracting uniformly distributed seeds from power-up SRAM states is proposed, which is information-theoretically secure, practical, and freezing attack-resistant rolled into one. Expand
Attacking the Linux PRNG On Android: Weaknesses in Seeding of Entropic Pools and Low Boot-Time Entropy
It is shown that a practical, inexpensive attack against the LPRNG internal state in early boot is feasible and the version of the Linux kernel vulnerable to such an attack is used in the majority of Android-based mobile devices in circulation. Expand
An IoT Endpoint System-on-Chip for Secure and Energy-Efficient Near-Sensor Analytics
Fulmine, a system-on-chip (SoC) based on a tightly-coupled multi-core cluster augmented with specialized blocks for compute-intensive data processing and encryption functions, supporting software programmability for regular computing tasks is proposed. Expand
Randomness Requirements for Security
This document recommends the use of truly random hardware techniques and shows that the existing hardware on many systems can be used for this purpose and provides suggestions to ameliorate the problem when a hardware solution is not available. Expand
Software Generation of Practically Strong Random Numbers
The performance of the generator on a variety of systems is analysed, and measures which can make recovery of the accumulator/generator state information more difficult for an attacker are presented. Expand
Cryptanalysis of the windows random number generator
The pseudo-random number generator used by the Windows operating system is reconstructed, for the first time, and a on-trivial attack is found: given the internal state of the generator, the previous state can be computed in O(223) work, which can then be used to predict all random values used by a process in all its past and future operation. Expand