trusted platform modules building a trusted software stack and remote attestation n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Trusted Platform Modules: Building a Trusted Software Stack and Remote Attestation PowerPoint Presentation
Download Presentation
Trusted Platform Modules: Building a Trusted Software Stack and Remote Attestation

Loading in 2 Seconds...

play fullscreen
1 / 29

Trusted Platform Modules: Building a Trusted Software Stack and Remote Attestation - PowerPoint PPT Presentation


  • 121 Views
  • Uploaded on

Trusted Platform Modules: Building a Trusted Software Stack and Remote Attestation. Dane Brandon, Hardeep Uppal CSE551 University of Washington. Overview. Motivation Trusted Computing and Trusted Platform Modules (TPM) Trusted Software Stacks Attestation Measurements

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Trusted Platform Modules: Building a Trusted Software Stack and Remote Attestation' - agalia


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
trusted platform modules building a trusted software stack and remote attestation

Trusted Platform Modules: Building a Trusted Software Stack and Remote Attestation

Dane Brandon, HardeepUppal

CSE551

University of Washington

overview
Overview
  • Motivation
  • Trusted Computing and Trusted Platform Modules (TPM)
  • Trusted Software Stacks
  • Attestation
  • Measurements
  • Future Work and Conclusion
motivation
Motivation
  • An End to the Middle
    • Our ongoing research.
    • Networked computers and trust.
    • How can we validate a computer?
    • Even with a password, can we trust they are who they say they are?

Hardware offers a potential solution…

trusted computing and tpms
Trusted Computing and TPMs
  • Trusted Computing Group
    • Spec for TPM and trusted software stack.
  • TPM - Hardware chip on most new business laptops and some other PCs.
    • Dell Latitude, Lenovo ThinkPad, etc…
  • Offers some help that software can’t.
  • NOT protection against physical attacks.
tpm functionality1
TPM Functionality
  • Persistent memory
    • Endorsement key (EK)
      • Permanent private unique key
    • Storage Root Key (SRK)
      • Encrypts other keys, data with pub key out to disk.
  • Volatile memory
    • Platform Configuration Registers (PCR)
    • Attestation identity keys
    • Storage keys
tpm functionality2
TPM Functionality
  • Crypto-processor
    • RSA key generator
    • Random number generator
    • Encryption / decryption
    • SHA-1 hash and append
      • PCRs are append only.
      • PCR[i] = SHA-1(PCR[i] | new value)
trusted software stacks
Trusted Software Stacks
  • Core root of trust for measurement (CRTM).
    • Boot block in BIOS. Never changes.
  • Chain of trust.
    • Each software component measures the next.
    • Append measurements to PCRs. TrustedGRUB
  • TrouSerS (TSS API)
attestation
Attestation
  • We have a snapshot of state which can be signed.
  • How do we deliver it?
  • We can’t just send it over…
    • Replay attacks
attestation1
Attestation
  • We have a snapshot of state which can be signed.
  • How do we deliver it?
  • We can’t just send it over…
    • Replay attacks
attestation2
Attestation
  • Use a nonce
    • When request to join comes, challenge with a random number.
    • Append to PCRs and sign. Funky fresh.
  • Note: Measurements only represent state immediately after boot.
    • No guarantees of events after boot!
  • Still need to prove that the TPM is a TPM
  • Certificate Authority
    • Validate TPM
attestation3
Attestation

Manf.Cert.

PCA Cert.

Privacy CA

New Node

AIK

AIK

AIK

EK

EK

EK

Trusted Nodes

attestation4
Attestation

Manf.Cert.

PCA Cert.

Privacy CA

New Node

AIK

AIK

AIK

EK

EK

EK

Trusted Nodes

attestation5
Attestation

Manf.Cert.

PCA Cert.

Privacy CA

New Node

AIK

AIK

AIK

EK

EK

EK

Trusted Nodes

attestation6
Attestation

Manf.Cert.

PCA Cert.

Privacy CA

New Node

AIK

AIK

AIK

EK

EK

Trusted Nodes

attestation7
Attestation

Manf.Cert.

PCA Cert.

Privacy CA

New Node

AIK

AIK

AIK

EK

EK

Trusted Nodes

attestation8
Attestation

Manf.Cert.

PCA Cert.

Privacy CA

Challenge!

?

New Node

AIK

AIK

AIK

EK

EK

Trusted Nodes

attestation9
Attestation

Manf.Cert.

PCA Cert.

Privacy CA

02895…

New Node

AIK

AIK

AIK

EK

EK

Trusted Nodes

attestation10
Attestation

Manf.Cert.

PCA Cert.

Privacy CA

Append nonce and sign PCRs with priv_AIK

10110…

New Node

AIK

AIK

AIK

EK

EK

Trusted Nodes

attestation11
Attestation

Manf.Cert.

PCA Cert.

Privacy CA

10110…

New Node

AIK

AIK

AIK

AIK

EK

EK

Trusted Nodes

attestation12
Attestation

Manf.Cert.

PCA Cert.

Privacy CA

10110…

New Node

AIK

AIK

AIK

AIK

EK

EK

Trusted Nodes

attestation13
Attestation

Manf.Cert.

PCA Cert.

Privacy CA

10110…

New Node

AIK

AIK

AIK

AIK

EK

EK

Trusted Nodes

attestation14
Attestation

Manf.Cert.

PCA Cert.

Privacy CA

SUCCESS!

Verify bits match:

SHA-1(expected PCRs | nonce)

10110…

New Node

AIK

AIK

AIK

AIK

EK

EK

Trusted Nodes

measurements
Measurements

Verify PCRvalues change

measurements1
Measurements
  • Time in seconds
  • Extends are fast
  • Creating keys is very slow
  • Load and sign, not too bad…
future work
Future Work
  • Create a privacy CA.
  • Implement complete attestation process and benchmark major components.
  • Put Xen in the middle of the chain of trust.
  • Add trusted software stack to ETTM project.
conclusion
Conclusion
  • TPMs show promise.
  • Building a trusted software stack is possible with open-source software.
  • Time cost not negligible, but reasonable.
  • Hardware should get better.
  • Need more software support.
other thoughts
Other Thoughts
  • Lots of laptops have TPMs, no one uses them.
  • TrustedGRUB has 5400+ extra lines of code. We didn’t write them.
  • The Dell Latitude e5400 is garbage.
    • Two thumbs down!