This lecture explores the landscape of hardware cryptography devices, examining their history, current applications, and inherent limitations. The speaker, Elfi, offers a critical perspective on solutions like Trusted Platform Modules (TPMs), smart cards, USB tokens (e.g., UB Key, Nitro Key), and Hardware Security Modules (HSMs). While these devices promise enhanced security and ease of use by keeping private keys on-device and offering features like user presence and manipulation detection, the presentation highlights significant drawbacks. These include widespread reliance on closed-source hardware and software, limited storage capacity for credentials, and challenging backup procedures. A live demonstration showcases the creation and use of Passkeys (resident credentials) with a USB token, simultaneously revealing a critical vulnerability: the ability to factory reset tokens without a PIN, emphasizing the need for backups and careful handling. The speaker advocates for a holistic security approach, asserting that hardware alone is not a panacea, as vulnerabilities often arise from surrounding processes, human error, and implementation flaws rather than the cryptography itself. The lecture also touches upon nascent open-source hardware initiatives and their current challenges in offering a truly complete and usable solution.
Exploring Hardware Cryptography: History, Devices, and Realities
0:00 Introduction: Elfi introduces a lecture on hardware cryptography devices, focusing on practical applications and criticisms, aiming to provide guidance for informed decisions rather than product recommendations.
0:01:50 Hardware Era: Early cryptography relied on specialized hardware (e.g., Enigma), which performed specific algorithms.
0:02:28 Software Era: The advent of general-purpose computers led to software-based cryptography (e.g., PGP), offering advantages like lower cost, flexibility, expandability, and democratizing access to encryption previously controlled by state actors.
0:03:28 Modern Renaissance: Today's cryptography often combines hardware and software, leading to new challenges and criticisms.
0:04:06 TPM (Trusted Platform Module): Integrated into computers, used for storing encryption keys (Bitlocker), secure boot, and key management. Advantages: often built-in. Disadvantages: manufacturer-dependent, often non-replaceable, and almost always closed source.
0:05:33 Smart Cards: Evolved from payment cards, now used in ID cards, SIM cards, and bank cards. They are flat computers that can run applications (e.g., Java Cards with PGP apps). Advantages: flexible. Disadvantages: typically closed source hardware and software, making replacement difficult if crypto is compromised.
0:06:59 USB Tokens (e.g., UB Key, Nitro Key): Most common for tech-savvy users. Relatively inexpensive but often require two for backup. Run various applications like U2F, Fido, Passkeys, GPG, and OTP. Advantages: portable, flexible. Disadvantages: largely closed source, despite some open firmware efforts.
0:08:46 HSMs (Hardware Security Modules): Large, expensive (five to six-figure range) units primarily used in enterprise environments (PKI, banks). Highly closed-source, generally over-engineered for private use.
0:09:44 The Promise of Hardware Security: Manufacturers claim hardware is inherently secure and simplifies usage (e.g., "plug-and-play" security). Conceptually, private key material never leaves the device. Features include rate limiting, user presence (PIN, physical touch), manipulation detection (e.g., FIPS 140 certification for voltage drops or case opening), and hardware attestation for verification.
0:12:11 TPM Practical Example (Systemd-Credentials): Demonstrates using TPM to encrypt files on disk, where the encryption key is held by the TPM. This allows services to access sensitive data (like SSH host keys or database passwords) at runtime without manual password entry, making it suitable for servers. However, if the TPM breaks, data becomes inaccessible.
0:18:22 USB Tokens & Passkeys: Passkeys are "WebAuthn Resident Credentials" on Fido2 authenticators. They live on the device, and the private key ideally never leaves. This enables "discoverable" authentication (no username needed). Non-resident credentials involve key-wrapping, where an encrypted key is stored off-device.
0:23:21 SSH Key Creation with Nitro Key: A live demo shows generating an SSH key on a Nitro Key, requiring a PIN and physical touch. Crucially, the speaker advises setting a passphrase for resident keys, as the PIN alone could allow a thief to use all keys on a stolen token.
0:31:11 Web Authentication with Passkeys: A browser-based demonstration shows easy registration and login using a Passkey, highlighting the convenience of not needing a username. Passkeys use asymmetric keys, currently elliptic curves.
0:34:35 Critical Vulnerability: Token Reset: Demonstrates that many USB tokens can be factory reset without a PIN if unplugged for about 10 seconds. This action irrevocably deletes all resident keys, emphasizing the critical need for backups and not leaving tokens unattended.
Pros: Simple for users, leverages existing hardware (TPMs, phones), diverse functions beyond Fido, low technical effort for increased security, integrated phishing resistance, good interoperability.
Cons: Annoying backup process (keys cannot be exported), cost for dedicated tokens, functions defined by manufacturers, limited storage space (e.g., Nitro Key stores only 10 Passkeys), heavy reliance on proprietary closed-source components (e.g., Secure Elements from Infineon, NXP), lack of firmware updates for some devices (problematic for future vulnerabilities like post-quantum cryptography).
0:44:19 Hardware is "Software in Expensive Packaging": The speaker argues that hardware security devices ultimately run software and are thus susceptible to software vulnerabilities. Closed-source designs hinder independent verification (violating Kerkhoff's principle) and allow manufacturers to control vulnerability disclosures.
0:46:01 Open Source Alternatives: Some alternatives like Nitro Keys and Solo Keys offer open-source firmware/hardware designs, but often still rely on closed-source secure elements or have limited functionality. The fully open-source Tilitis Tek (RISC-V based) is in early development. A truly complete, usable open-source secure element solution is still years away.
0:50:06 Conclusion: Holistic Security: Hardware is not a complete security solution. Vulnerabilities often stem from surrounding processes, human error, social engineering, and implementation flaws (e.g., weak PINs, plaintext passwords in configs). A holistic approach is crucial, focusing on what specifically needs protection and against whom.
0:54:22 Limited Passkey Storage: The low number of Passkeys on tokens is due to the limited storage capacity of the underlying secure elements (e.g., 145 KB on smart cards), and larger-capacity secure elements are not currently available from manufacturers.
0:55:46 Tropico & Open Titan: Tropico is an implementation based on Google's Open Titan reference design, a RISC-V based open-source project for secure hardware.