  This paper provides a proof of concept for using SRAM based Physically
Unclonable Functions (PUFs) to generate private keys for IoT devices. PUFs are
utilized, as there is inadequate protection for secret keys stored in the
memory of the IoT devices. We utilize a custom-made Arduino mega shield to
extract the fingerprint from SRAM chip on demand. We utilize the concepts of
ternary states to exclude the cells which are easily prone to flip, allowing us
to extract stable bits from the fingerprint of the SRAM. Using the custom-made
software for our SRAM device, we can control the error rate of the PUF to
achieve an adjustable memory-based PUF for key generation. We utilize several
fuzzy extractor techniques based on using different error correction coding
methods to generate secret keys from the SRAM PUF, and study the trade-off
between the false authentication rate and false rejection rate of the PUF.
