Authentication
What is authentication and why is it important?
Authentication is a process that occurs between two parties located in different places, which allows each of the parties to gain confidence that “they are who they say they are”. You authenticate all the time without realizing it, e.g., when you meet someone for dinner, you see your friend and recognize him or her visually. Unless it is a blind date, your brain authenticates their face with your stored image of that person. Authentication between remotely located microelectronic devices is more difficult, and the device, e.g., on your credit card, is vulnerable to being ‘spoofed’. This occurs when a remote malicious device successfully masquerades as the genuine remote party, e.g., your Bank. Similarly, and perhaps worse, your Bank can be fooled into thinking it is communicating with your credit card’s device.
Bilateral (two-way) authentication is conventionally done using software-based cryptographic primitives, with secret keys negotiated in advance and stored in non-volatile memory on your credit card. PUF-based authentication, on the other hand, uses hardware-generated secret keys which are never stored. This feature of PUFs, by itself, represents a major departure from software-based approaches, and significantly increases the difficulty for adversaries to spoof the Bank or your device.
IC-Safety’s PUF-Based Authentication Protocols
Authentication between IoT devices is important for maintaining security, trust and data integrity in an edge device ecosystem. The low-power, reduced computing capacity of the IoT device makes public-private, certificate-based forms of authentication impractical, while other lighter-weight, symmetric cryptography-based approaches, such as message authentication codes, are easy to spoof in unsupervised environments where adversaries have direct physical access to the device. Such environments are better served by security primitives rooted in the hardware with capabilities exceeding those available in cryptography-only frameworks.
A key foundational hardware security primitive is the physical unclonable function or PUF. PUFs are well known for removing the need to store secrets in secure non-volatile memories, and for providing very large sets of authentication credentials. IC-Safety has commercialized two PUF-based mutual authentication protocols, which are rooted in the entropy (randomness) provided by a strong PUF. The authentication protocols, called COBRA and PARCE, are described here and demonstrated on SoC-based FPGAs. The security properties of Correlation-Based Robust Authentication (COBRA) and PUF-based Authentication in Resource-Constrainted Environments (PARCE) are shown to remain robust even under extended industrial-standard operating conditions. A codesign-based system architecture is constructed in which IC-Safety’s shift-register reconvergent-fanout (SiRF) strong PUF along with the COBRA and PARCE authentication functions are implemented in the programmable logic as a hardware-obfuscated secure enclave (HOSE), while security insensitive network and database operations are implemented in software on an embedded microprocessor.