Attestation and Authentication Protocols Using the TPM



Similar documents
Using the TPM: Data Protection and Storage

TPM Key Backup and Recovery. For Trusted Platforms

Client Server Registration Protocol

Module 8. Network Security. Version 2 CSE IIT, Kharagpur

Contents. Identity Assurance (Scott Rea Dartmouth College) IdM Workshop, Brisbane Australia, August 19, 2008

Chapter 15 User Authentication

How To Use Kerberos

CMSC 421, Operating Systems. Fall Security. URL: Dr. Kalpakis

SECURITY ANALYSIS OF A SINGLE SIGN-ON MECHANISM FOR DISTRIBUTED COMPUTER NETWORKS

Kerberos. Public domain image of Heracles and Cerberus. From an Attic bilingual amphora, BC. From Italy (?).

Kerberos. Guilin Wang. School of Computer Science, University of Birmingham

Modeling and verification of security protocols

Bypassing Local Windows Authentication to Defeat Full Disk Encryption. Ian Haken

Patterns for Secure Boot and Secure Storage in Computer Systems

Web Application Entity Session Management using the eid Card Frank Cornelis 03/03/2010. Fedict All rights reserved

Implementation of a Trusted Ticket System

William Hery Research Professor, Computer Science and Engineering NYU-Poly

Entrust Managed Services PKI. Getting started with digital certificates and Entrust Managed Services PKI. Document issue: 1.0

Authentication Types. Password-based Authentication. Off-Line Password Guessing

Payment Systems for E-Commerce. Shengyu Jin 4/27/2005

Applying Cryptography as a Service to Mobile Applications

Secure Sockets Layer (SSL) / Transport Layer Security (TLS)

Key Management (Distribution and Certification) (1)

vtpm: Virtualizing the Trusted Platform Module

2.4: Authentication Authentication types Authentication schemes: RSA, Lamport s Hash Mutual Authentication Session Keys Trusted Intermediaries

Network Security Protocols

Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 15.1

Property Based TPM Virtualization

Enabling Active Directory Authentication with ESX Server 1

Authentication Applications

Chapter 1: Introduction

Device-Centric Authentication and WebCrypto

Public Key Infrastructure (PKI)

A Framework for Secure and Verifiable Logging in Public Communication Networks

The DoD Public Key Infrastructure And Public Key-Enabling Frequently Asked Questions

NIST E-Authentication Guidance SP and Biometrics

CS 356 Lecture 28 Internet Authentication. Spring 2013

A Survey on Untransferable Anonymous Credentials

FIDO Trust Requirements

Using etoken for SSL Web Authentication. SSL V3.0 Overview

Secure Data Management in Trusted Computing

TOPIC HIERARCHY. Distributed Environment. Security. Kerberos

SY system so that an unauthorized individual can take over an authorized session, or to disrupt service to authorized users.

CRYPTOGRAPHY AS A SERVICE

Part I. Universität Klagenfurt - IWAS Multimedia Kommunikation (VK) M. Euchner; Mai Siemens AG 2001, ICN M NT

Information Security Basic Concepts

Index. BIOS rootkit, 119 Broad network access, 107

Q: Why security protocols?

Opal SSDs Integrated with TPMs

Best Practices for the Use of RF-Enabled Technology in Identity Management. January Developed by: Smart Card Alliance Identity Council

Security Digital Certificate Manager

Key Management. CSC 490 Special Topics Computer and Network Security. Dr. Xiao Qin. Auburn University

Kerberos-Based Authentication for OpenStack Cloud Infrastructure as a Service

VICTORIA UNIVERSITY OF WELLINGTON Te Whare Wānanga o te Ūpoko o te Ika a Māui

Using BroadSAFE TM Technology 07/18/05

Recipe for Mobile Data Security: TPM, Bitlocker, Windows Vista and Active Directory

OPC UA vs OPC Classic

Secure Login Issues & Solutions

Cornerstones of Security

End-to-End Security in Wireless Sensor Networks (WSNs) Talk by Claudio Anliker Supervised by Dr. Corinna Schmitt University of Zurich

Authentication Application

Start building a trusted environment now... (before it s too late) IT Decision Makers

Enova X-Wall LX Frequently Asked Questions

Understanding Digital Certificates and Wireless Transport Layer Security (WTLS)

Chapter 17. Transport-Level Security

Standards for Identity & Authentication. Catherine J. Tilton 17 September 2014

Technical Brief Distributed Trusted Computing

CHAPTER 1 INTRODUCTION

Kerberos authentication made easy on OpenVMS

Acronym Term Description

Security: Focus of Control. Authentication

Security (II) ISO : Security Architecture of OSI Reference Model. Outline. Course Outline: Fundamental Topics. EE5723/EE4723 Spring 2012

Scalable Authentication

ERserver. iseries. Secure Sockets Layer (SSL)

Global Identity Management of Virtual Machines Based on Remote Secure Elements

Multi-factor authentication

Key Management and Distribution

Plain English Guide To Common Criteria Requirements In The. Field Device Protection Profile Version 0.75

Web Payment Security. A discussion of methods providing secure communication on the Internet. Zhao Huang Shahid Kahn

Chapter 3. Network Domain Security

Review On Incremental Encrypted Backup For Cloud

Lecture 10 - Authentication

Security Digital Certificate Manager

Public Key Infrastructure. A Brief Overview by Tim Sigmon

Authentication Applications

Chapter 10. Network Security

Protecting Data with Short- Lived Encryption Keys and Hardware Root of Trust. Dan Griffin DefCon 2013

Computer Security. Draft Exam with Answers

Transcription:

Attestation and Authentication Protocols Using the TPM Ariel Segall June 21, 2011 Approved for Public Release: 11-2876. Distribution Unlimited. c 2011. All Rights Reserved. (1/28)

Motivation Almost all TPM interactions can be thought of as cryptographic protocols. Many real-world scenarios need attestation and machine authentication protocols. The TPM gives us the necessary building blocks to create protocols that accomplish complex, real-world goals. Far more than just network access control! Us includes you! Approved for Public Release: 11-2876. Distribution Unlimited. c 2011. All Rights Reserved. (2/28)

What is a Cryptographic Protocol? For this talk: A sequence of messages between participants All cryptography abstract Local assumptions about secret & fresh values Goal: each participant can prove their security goals met Exact goals vary based on protocol Looking to prevent structural flaws (For the interested: Strand Space method, Dolev-Yao adversary.) Approved for Public Release: 11-2876. Distribution Unlimited. c 2011. All Rights Reserved. (3/28)

What is a Cryptographic Protocol? For this talk: A sequence of messages between participants All cryptography abstract Local assumptions about secret & fresh values Goal: each participant can prove their security goals met Exact goals vary based on protocol Looking to prevent structural flaws (For the interested: Strand Space method, Dolev-Yao adversary.) Notation: {M} K indicates that M is encrypted with key K { M } K indicates that K has signed M Approved for Public Release: 11-2876. Distribution Unlimited. c 2011. All Rights Reserved. (3/28)

Attestation vs. Authentication For this discussion: Attestation: Providing evidence about a target to an appraiser Used for predicting future target behavior Authentication: Identification of a machine or user Usually, another partner in a protocol Approved for Public Release: 11-2876. Distribution Unlimited. c 2011. All Rights Reserved. (4/28)

A Motivating Scenario A financial server contains sensitive financial and personal data. We wish to limit access to: authorized users on authorized machines running authorized software Approved for Public Release: 11-2876. Distribution Unlimited. c 2011. All Rights Reserved. (5/28)

A Motivating Scenario A financial server contains sensitive financial and personal data. We wish to limit access to: authorized users Authentication on authorized machines Authentication running authorized software Attestation Approved for Public Release: 11-2876. Distribution Unlimited. c 2011. All Rights Reserved. (5/28)

Basic Authentication Mechanisms Signature A s private key signed this message, so the message must have come from A Decryption Only A s private key could have decrypted this data, so if the data is used, A must have received it...assuming key secrecy, A associated with key Approved for Public Release: 11-2876. Distribution Unlimited. c 2011. All Rights Reserved. (6/28)

Attestation Goal: Predict behavior of a particular target Anything that provides evidence about a machine can qualify User attestation could exist, but outside today s talk To be trustworthy: Evidence provider must be authenticated Target must be verifiable from evidence Example: TPM Quote attests to values in PCRs Not all attestation is signature based! CertifyKey allows decryption-based attestation as well Certifies PCR values that must be present to use a key Approved for Public Release: 11-2876. Distribution Unlimited. c 2011. All Rights Reserved. (7/28)

A Straightforward Guess Let s say the server already uses TLS to authenticate the client and server, and would like to integrate the TPM for attestation and machine authentication. Client Server Initial Handshake Certificate Exchange Establish Shared Secret K Approved for Public Release: 11-2876. Distribution Unlimited. c 2011. All Rights Reserved. (8/28)

A Straightforward Guess Let s say the server already uses TLS to authenticate the client and server, and would like to integrate the TPM for attestation and machine authentication. Client Server Initial Handshake Certificate Exchange Establish Shared Secret K {Quote Request, Nonce, Mask} K { { Quote, Nonce, PCRs } } AIK K Approved for Public Release: 11-2876. Distribution Unlimited. c 2011. All Rights Reserved. (8/28)

The Attack Authorized Machine Client Server {Quote Request, Nonce, Mask} K Quote Request, Nonce, Mask { Quote, Nonce, PCRs } AIK { { Quote, Nonce, PCRs } } AIK K Approved for Public Release: 11-2876. Distribution Unlimited. c 2011. All Rights Reserved. (9/28)

The Attack Authorized Machine Client Server {Quote Request, Nonce, Mask} K Quote Request, Nonce, Mask { Quote, Nonce, PCRs } AIK { { Quote, Nonce, PCRs } } AIK K By themselves, TPM quotes provide attestation, not meaningful machine authentication. Approved for Public Release: 11-2876. Distribution Unlimited. c 2011. All Rights Reserved. (9/28)

Basic Machine Authentication using a TPM Use a binding key to encrypt a session key Sign messages with an AIK, signing key Integrate protocol data into TPM Quote Nonce (if you re careful) Extended PCR (usually resettable) Approved for Public Release: 11-2876. Distribution Unlimited. c 2011. All Rights Reserved. (10/28)

Basic Machine Authentication using a TPM Use a binding key to encrypt a session key Sign messages with an AIK, signing key Integrate protocol data into TPM Quote Nonce (if you re careful) Extended PCR (usually resettable) All of these assume that local software will only use TPM appropriately... Approved for Public Release: 11-2876. Distribution Unlimited. c 2011. All Rights Reserved. (10/28)

Basic Machine Authentication using a TPM Use a binding key to encrypt a session key Sign messages with an AIK, signing key Integrate protocol data into TPM Quote Nonce (if you re careful) Extended PCR (usually resettable) All of these assume that local software will only use TPM appropriately... and therefore, we ll usually want attestation too. Approved for Public Release: 11-2876. Distribution Unlimited. c 2011. All Rights Reserved. (10/28)

Detour: Network-Accessible TPMs Systems can allow remote access to some TPM commands. Network-accessible commands cannot safely be used for machine authentication. These commands potentially allow remote parties to masquerade as the TPM s machine If a network-accessible TPM violates a protocol s security assumptions, you have a potential problem. Even if your TPMs don t provide access, communications partners may be less constrained. Attestation can reduce this risk Verify software stack, remote access configuration Note: Hard today! Approved for Public Release: 11-2876. Distribution Unlimited. c 2011. All Rights Reserved. (11/28)

EVA: An Alternate Approach Client Server Connect, C, S {Nonce, Mask, S} C {K, S, Mask, { Quote, hash(c, S, Nonce), PCRs } } AIK S {Valid, K} C This substitutes for TLS in our scenario. The new session key can be used to run a user-authentication protocol, once machine has passed attestation. Approved for Public Release: 11-2876. Distribution Unlimited. c 2011. All Rights Reserved. (12/28)

EVA Features Client Server Connect, C, S {Nonce, Mask, S} C {K, S, Mask, { Quote, hash(c, S, Nonce), PCRs } } AIK S {Valid, K} C Encrypted nonce authenticates C to S Encrypted session key authenticates S to C Fresh nonce guarantees fresh quote for S Session key secret, shared by S and C Approved for Public Release: 11-2876. Distribution Unlimited. c 2011. All Rights Reserved. (13/28)

Safer Ways of Using Standards Could we still use TLS? Standard protocols can often be extended to use attestation if the protocol issues a certificate, ticket, or other token. Change only the certificate issuance portion Can provide incremental upgrade path Kerberos: Add machine auth + attestation to original ticket granting User, machine auth, attestation tied together using EVA-like protocol TLS: Add attestation to certificate issuance, use short-lived certs Tradeoff: Frequency of reissuance vs. accuracy. Approved for Public Release: 11-2876. Distribution Unlimited. c 2011. All Rights Reserved. (14/28)

Kerberos from 50,000 Feet Resource on S? (Credentials) Ticket Resource? Here s my ticket. Okay, here you go. Approved for Public Release: 11-2876. Distribution Unlimited. c 2011. All Rights Reserved. (15/28)

Kerberos With Attestation (KAT) TPM User Kerberos Ticket Granting Server Server Password Evidence request Quote Ticket request Extended Ticket Resource request, Ticket Resource User ticket now implies verification of client machine. Services that accept Kerberos tickets require no modification! Approved for Public Release: 11-2876. Distribution Unlimited. c 2011. All Rights Reserved. (16/28)

Why We Won t Discuss KAT Details E V ATS A C AS TGS S Approved for Public Release: 11-2876. Distribution Unlimited. c 2011. All Rights Reserved. (17/28)

Mutual Attestation Protocols where multiple parties verify each other Very common, highly varied! Critical for scenarios handling high-security data Authorized users connecting to sites providing trusted data Upload of sensitive software updates to remote devices Establishing trusted communication among a variety of parties May involve trusted third parties May need to take privacy into account Approved for Public Release: 11-2876. Distribution Unlimited. c 2011. All Rights Reserved. (18/28)

Secure Code Upgrade Scenario A company with a distributed network of servers wishes to upgrade their proprietary software. Servers should only accept software from legitimate central repositories Servers should never accept old software Proprietary code should only be released to legitimate servers All code should be encrypted in transit Approved for Public Release: 11-2876. Distribution Unlimited. c 2011. All Rights Reserved. (19/28)

Authenticated Code Update Protocol Code Repository Server Update, C, S {Nonce, S, C} C {Code} {SymmetricKey, Nonce} SymmetricKey S { Hash(Code) } S Approved for Public Release: 11-2876. Distribution Unlimited. c 2011. All Rights Reserved. (20/28)

Authenticated Code Update Protocol Code Repository Server Update, C, S {Nonce, S, C} C {Code} {SymmetricKey, Nonce} SymmetricKey S { Hash(Code) } S Here, TPM used for authentication only C decryption (binding) key S actually two: one binding, one signing Fresh symmetric key used for large-scale encryption Approved for Public Release: 11-2876. Distribution Unlimited. c 2011. All Rights Reserved. (21/28)

Attesting Code Update Protocol What if we wanted to also attest to the state of one or both machines? Authenticating protocols using TPM keys can become attesting protocols easily CertifyKey can be used to remotely verify PCR bindings on any key Sealed data can have PCR constraints To decrypt, TPM must contain correct PCR values However, PCR-constraining methods require predictable values If there is a range of acceptable values, use quote-based protocol Remember, tying quotes to machine auth requires work Approved for Public Release: 11-2876. Distribution Unlimited. c 2011. All Rights Reserved. (22/28)

A Few Other Interesting Problems Combined hardware user + TPM machine auth Smartcards? Biometric readers? Common challenge: Limited interface Trustworthy kiosks: Can I safely use this airport machine to check my e-mail? Trustworthy clouds: Can I load my data or trust my results? What am I actually connecting to? E-cash and electronic purchases: Do I have control over my virtual wallet?... Common theme: Need a good architecture to trust, need protocols to verify Approved for Public Release: 11-2876. Distribution Unlimited. c 2011. All Rights Reserved. (23/28)

Looks Easy, Right? Protocols can go wrong in many ways. Man in the middle Message replay Message swapping between multiple protocol instances Message modification Message swapping between multiple protocols!... Any structural flaw will allow failure regardless of the perfection of the implementation. A protocol designed for a particular purpose may have flaws when used out of context. Approved for Public Release: 11-2876. Distribution Unlimited. c 2011. All Rights Reserved. (24/28)

Know Your Goals When evaluating a protocol, consider: What information do you need? What information needs to be current? What information needs to be correlated? What needs to be kept secret? What does each participant need to know when the protocol completes? Normally, we discourage grow-your-own protocols. However, there is a shortage of protocols that fully utilize the TPM! Approved for Public Release: 11-2876. Distribution Unlimited. c 2011. All Rights Reserved. (25/28)

Doing This At Home Cryptographic Protocol Shapes Analyzer (CPSA) Tool from MITRE for analyzing structural properties of protocols Discovers all possible executions of a protocol (shapes) using the strand space method What we used to design and analyze these examples Implementation being formally proved correct Note: Does not support every possible cryptographic feature Publicly available: http://hackage.haskell.org/package/cpsa Approved for Public Release: 11-2876. Distribution Unlimited. c 2011. All Rights Reserved. (26/28)

Conclusion The TPM, particularly its key infrastructure, provides essential support for cryptographic protocols Real-world scenarios require a variety of attestation and authentication protocols It s easy to make mistakes that cause security failure; however: We can design reliable protocols that meet the needs of many important scenarios with today s TPM. Approved for Public Release: 11-2876. Distribution Unlimited. c 2011. All Rights Reserved. (27/28)

Questions? asegall@mitre.org CPSA: http://hackage.haskell.org/package/cpsa For more information on learning protocol design and analysis, contact me. Approved for Public Release: 11-2876. Distribution Unlimited. c 2011. All Rights Reserved. (28/28)