HN
Today

Signing TLS handshakes inside a TPM

This post dives into leveraging Trusted Platform Modules (TPMs) for securing TLS handshakes, promising hardware-backed key protection for machine identity. While the article text is brief, the author's engagement and the community's technical debate on performance, threat models, and the philosophical implications of hardware attestation highlight its relevance to security-conscious developers.

24
Score
30
Comments
#14
Highest Rank
7h
on Front Page
First Seen
Sep 7, 3:00 AM
Last Seen
Sep 7, 9:00 AM
Rank Over Time
20151416202526

The Lowdown

The original blog post is remarkably succinct, featuring little content beyond a title and a 'protected by Anubis' message. However, the title, 'Signing TLS handshakes inside a TPM,' and the author's extensive engagement in the comments section reveal the story's true focus: an exploration of using TPMs to secure the private key material involved in TLS handshakes. The core idea is to ensure that cryptographic keys for machine identity never leave the secure confines of a hardware module.

Key aspects discussed by the author and inferred from the discussion include:

  • Hardware-Backed Security: The primary goal is to use a TPM to provide a robust hardware root of trust, preventing TLS private keys from ever residing in potentially vulnerable software memory.
  • Attestation & Machine Identity: This approach is particularly relevant for scenarios requiring strong machine identity verification and attestation, where knowing a machine is untampered is crucial.
  • Performance Considerations: The author provides links to benchmarks (against vTPMs on GCP), indicating that modern TPM performance for signing operations is significantly improved compared to older implementations, though still slower than CPU-based TLS.
  • Specific Use Cases: This method is not intended for all TLS connections but rather for high-security services, such as secret stores or HSMs, where a machine's identity is paramount.
  • Go-TPM-TLS Library: The author mentions their go-tpm-tls library, which enables this functionality, and go-tpm-tls-bench for performance testing.

In essence, the article, through its title and the subsequent discussion, serves as a practical exploration of integrating hardware security modules into TLS for enhanced machine-to-machine authentication and integrity verification in critical systems.

The Gossip

Performance & Practicality Ponderings

Commenters extensively debated the performance implications of using TPMs for TLS handshakes. Many recalled earlier TPMs being prohibitively slow, while others questioned the benchmarks, noting that vTPMs in cloud environments (like GCP) might not reflect real-world physical TPM performance. The author clarified that while vTPMs were used for benchmarks, the intention is for high-security, low-volume scenarios, not general-purpose TLS, acknowledging that CPU-based TLS remains orders of magnitude faster for throughput.

Threat Models & Technical Trade-offs

The discussion delved into the specific threat models addressed by using TPMs. Users shared their own experiences with securing machines against tampering and discussed the benefits of binding keys to specific hardware for attestation. Comparisons were drawn between TPMs and dedicated Hardware Security Modules (HSMs), weighing the stronger key extraction resistance of HSMs against the TPM's ability to bind keys to a client device. The conversation also touched upon existing issues with OpenSSL's secure memory allocation and alternative attestation frameworks like TAS.

The Philosophical Quandary: General Computing vs. Locked-Down Systems

A recurring theme on Hacker News surfaced: the 'War Against General Purpose Computing.' Some users expressed concern that widespread adoption of hardware-backed client TLS certificates, while enhancing security, could lead to increased user tracking, identity verification mandates, and a general erosion of user freedom and the ability to control one's own devices. While client TLS is not widely used for consumer web browsing today, the potential for its evolution into a tracking mechanism was a significant worry.

Blog Post Brevity & LLM Suspicions

Initial comments pointed out the extreme brevity and somewhat generic phrasing of the blog post, leading some to suspect it was generated by an LLM. The author directly addressed these concerns, stating that English is not their first language and that the content, including the linked code and benchmarks, was entirely their own work, apologizing if the writing style came across as 'flat.' This prompted further discussion about distinguishing human-written content from AI-generated text.

Signing TLS handshakes inside a TPM - HN Today