Tolga Acar 24 Feb. 2011 1 Distributed Key Management and Cryptographic Agility.

Slides:



Advertisements
Similar presentations
Authentication Applications The Kerberos Protocol Standard
Advertisements

Kerberos 1 Public domain image of Heracles and Cerberus. From an Attic bilingual amphora, 530–520 BC. From Italy (?).
ECE454/CS594 Computer and Network Security Dr. Jinyuan (Stella) Sun Dept. of Electrical Engineering and Computer Science University of Tennessee Fall 2011.
Security Definitions in Computational Cryptography
11 Provable Security. 22 Given a ciphertext, find the corresponding plaintext.
1 Introduction CSE 5351: Introduction to cryptography Reading assignment: Chapter 1 of Katz & Lindell.
Rennes, 23/10/2014 Cristina Onete Putting it all together: using multiple primitives together.
Public Key Infrastructure (PKI) Providing secure communications and authentication over an open network.
CS555Spring 2012/Topic 161 Cryptography CS 555 Topic 16: Key Management and The Need for Public Key Cryptography.
CMSC 414 Computer and Network Security Lecture 6 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 21 Jonathan Katz.
Practical Techniques for Searches on Encrypted Data Author: Dawn Xiaodong Song, David Wagner, Adrian Perrig Presenter: 紀銘偉.
Asymmetric Cryptography part 1 & 2 Haya Shulman Many thanks to Amir Herzberg who donated some of the slides from
1 How to securely outsource cryptographic computations Susan Hohenberger and Anna Lysyanskaya TCC2005.
CMSC 414 Computer and Network Security Lecture 16 Jonathan Katz.
Overview of Cryptography Anupam Datta CMU Fall A: Foundations of Security and Privacy.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 1: Introduction to Windows Server 2003.
CMSC 414 Computer and Network Security Lecture 22 Jonathan Katz.
Use of Kerberos-Issued Certificates at Fermilab Kerberos  PKI Translation Matt Crawford & Dane Skow Fermilab.
Practical Techniques for Searches on Encrypted Data Author:Dawn Xiaodong Song, David Wagner, Adrian Perrig Presenter: 紀汶承.
Hands-On Microsoft Windows Server 2003 Administration Chapter 5 Administering File Resources.
CMSC 414 Computer and Network Security Lecture 6 Jonathan Katz.
1 CIS 5371 Cryptography 9. Data Integrity Techniques.
Computer Science CSC 774Dr. Peng Ning1 CSC 774 Advanced Network Security Topic 2. Review of Cryptographic Techniques.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 1: Introduction to Windows Server 2003.
CMSC 414 Computer and Network Security Lecture 13 Jonathan Katz.
Dan Boneh Public Key Encryption from trapdoor permutations Public key encryption: definitions and security Online Cryptography Course Dan Boneh.
Practical Techniques for Searches on Encrypted Data Yongdae Kim Written by Song, Wagner, Perrig.
Session 6 Windows Platform Dina Alkhoudari. Learning Objectives What is Active Directory Logical components of active directory Physical components of.
CIS 5371 Cryptography Introduction.
Key Management with the Voltage Data Protection Server Luther Martin IEEE P May 7, 2007.
Authentication Applications Unit 6. Kerberos In Greek and Roman mythology, is a multi-headed (usually three-headed) dog, or "hellhound” with a serpent's.
Ryan Henry I 538 /B 609 : Introduction to Cryptography.
1 Lect. 13 : Public Key Encryption RSA ElGamal. 2 Shamir Rivest Adleman RSA Public Key Systems  RSA is the first public key cryptosystem  Proposed in.
Lecture 3.4: Public Key Cryptography IV CS 436/636/736 Spring 2013 Nitesh Saxena.
Basic Cryptography 1. What is cryptography? Cryptography is a mathematical method of protecting information –Cryptography is part of, but not equal to,
Honey Encryption: Security Beyond the Brute-Force Bound
CS555Spring 2012/Topic 111 Cryptography CS 555 Topic 11: Encryption Modes and CCA Security.
IND-CPA and IND-CCA Concepts Summary  Basic Encryption Security Definition: IND-CPA  Strong Encryption Security Definition: IND-CCA  IND-CPA, IND-CCA.
1. 2 Overview In Exchange security is managed by assigning permissions in Active Directory Exchange objects are secured with DACL and ACEs Permissions.
Page 1 Active Directory and DNS Lecture 2 Hassan Shuja 09/14/2004.
1 Network Security Lecture 7 Overview of Authentication Systems Waleed Ejaz
Core 3: Communication Systems. Network software includes the Network Operating Software (NOS) and also network based applications such as those running.
CS555Spring 2012/Topic 71 Cryptography CS 555 Topic 7: Stream Ciphers and CPA Security.
Tae-Joon Kim Jong yun Jun
Introduction to Active Directory
KMIP - Hardware Security Modules Meta-Data-Only (MDO) Keys Saikat Saha & Denis Pochuev Feb 2012.
Active Directory. Computers in organizations Computers are linked together for communication and sharing of resources There is always a need to administer.
The Hierarchical Trust Model. PGP Certificate Server details Fast, efficient key repository –LDAP, HTTP interfaces Secure remote administration –“Pending”
CS555Spring 2012/Topic 81 Cryptography CS 555 Topic 8: Pseudorandom Functions and CPA Security.
TLS PRF Considered Harmful Issues with implementing Hardware Security Module Support for TLS.
C Copyright © 2007, Oracle. All rights reserved. Security New Features.
Lesson Introduction ●Authentication protocols ●Key exchange protocols ●Kerberos Security Protocols.
1 Example security systems n Kerberos n Secure shell.
1 CIS 5371 Cryptography 1.Introduction. 2 Prerequisites for this course  Basic Mathematics, in particular Number Theory  Basic Probability Theory 
Boneh-Franklin Identity Based Encryption Scheme
CMSC 414 Computer and Network Security Lecture 15
Radius, LDAP, Radius used in Authenticating Users
Authenticated encryption
Modern symmetric-key Encryption
CS691 M2009 Semester Project PHILIP HUYNH
Cryptography Lecture 9.
Topic 11: Authenticated Encryption + CCA-Security
Cryptography Lecture 12.
CS691 M2009 Semester Project PHILIP HUYNH
Topic 7: Pseudorandom Functions and CPA-Security
Cryptography Lecture 11.
Cryptography Lecture 9.
Cryptography Lecture 11.
Cryptography Lecture 23.
Presentation transcript:

Tolga Acar 24 Feb Distributed Key Management and Cryptographic Agility

Overview Distributed Key Lifecycle – Problem statement and status quo – Distributed Key Manager – Typical application scenario and architecture Hardware Rooted Key Management – How to use TPMs for key management – TPM Key hierarchy Diving into Cryptographic Theory – Security Definitions – Cryptographic Agility 2

Distributed Key Management 3 Where is the correct key? How is it protected?

Key Lifecycle Model Creation. A key object is created on at least one replica, but its attributes (e.g., key value) are not set. Initialization. The key object has all its core key attributes set on at least one replica. Full Distribution. An initialized key is available on all replicas. Active. An initialized key is available for cryptographic operations on at least one replica. Inactive. An initialized key is available for some cryptographic operations on all replicas (e.g., decrypt, only). Termination. An initialized key is permanently deleted from all replicas. 4

Key State Transitions 5 Cryptographic operations Create and initialize a key

DKM Problem Statement No cross-user and cross-machine data protection – Windows Data Protection API (DPAPI) is single-user, single-machine. – KeyCzar and PKCS#11 uses local keys; no distribution mechanism. Engineering problem – Ad-hoc key management groups (protection siloes) – Scalability & Availability (10Ks of machines) – Geo-redundancy (multiple data centers) – Key lifecycle management (automation) Cryptography problem – Protect arbitrary data (broad applicability) – Use existing algorithms (e.g. AES, HMAC-SHA2) – Automatically update group keys (key rollover) – Crypto agile (algorithm and key length changes) 6

DKM Architecture 7

DKM Approach Active Directory Approach – Key storage is straightforward Store group keys in AD objects Protect keys with AD object ACLs AD security groups correspond to principals / groups – Rely on Active Directory replication for high availability – Network transport is secure (LDAP with Kerberos) DKM provides – Auto key update mechanism – Multiple groups and multiple keys per group – Cryptographic policy per domain and per group – Crypto agility 8

Walkthrough: DKM in Hosted Scenario: – Hosting mail for multiple tenants in a datacenter – Product supports message aggregation from other providers for users with multiple accounts User signs in once Server fetches and aggregates mail – Tenant Admins must be able to perform Administrative tasks But should NOT be able to read user credentials 9

Walkthrough: DKM in Hosted 10

DKM in Hosted 11

DKM-TPM Motivation Secret Protection Technology: Approach sits between a pure HSM solution and a full software solution. ExpensiveModerateInexpensive Cost: Very SecureMore Secure Moderate (OS-Dependent) Security: HardEasierEasy Deployment: HSM Hardware Security Module HSM Hardware Security Module TPM -b ased Crypto TPM -b ased Crypto Software Crypto No Hardware Software Crypto No Hardware

DKM-TPM Key Hierarchy

DKM-TPM Roles 1.Master (Root of Trust) Root of Trust for TPM public keys Role assignment to TPM public keys Push to Stores 2.Store (Repositories) DKM repository (keys, policies, and metadata) DKM Responder Responds to requests from Masters, Stores, and Nodes 3.Node (Application servers) Cryptographic operations with DKM keys Client API Sends requests to Stores

DKM-TPM Roles Master Master PK List Store PK List Node PK List Configuration Store DKM Keys Policies Master PK List Store PK List Node PK List Configuration Node Master PK List Store PK List Node PK List Configuration CommServerCommClient TPM KM & CryptoRepository TPM KM & CryptoRepository TPM KM & CryptoRepository Node Logic & APIStore Logic & APIMaster Logic & API

Cryptosystem Security Definitions Probabilistic Polynomial-Time (PPT) adversaries – Probabilistic randomized algorithm that gives the correct answer with > ½ probability. Random Oracle Model (RO or ROM) – Black box with a stateful uniform random response 16 y  {0, 1}* If (x in A)y  Fetch(A,x) ElseStore(x,y) in A Return y Random Oracle x y

Attack Game Encryption scheme security definitions – IND-R: Indistinguishability from Random – IND-CPA: Indistinguishability under Chosen Plaintext Attack (a.k.a. semantic security) – IND-CCA: Indistinguishability under Chosen Ciphertext Attack IND-CPA ⊂ IND-CCA 17 b  {0, 1} C = Enc(K, m b ) Return C Left-Right Oracle m 0, m 1 C Guess b? IND-CPA Game

Ciphertext Attacks IND-CCA2: Indistinguishability under adaptive chosen ciphertext attack – Decryption Oracle access (non-trivial) Non-adaptive – Query the decryption oracle till the challenge ciphertext is received Adaptive – Continuous queries to the oracle (max q queries) IND-CPA ⊂ IND-CCA ⊂ IND-CCA2 18

IND-CCA/CCA2 Game 19 m = Dec(K, C) Decrypt m 0, m 1 C Queries {m,C} Responses {C,m} C = Enc(K, m) Encrypt b  {0, 1} C = Enc(K, m b ) Left-Right Oracle C m m = Dec(K, C) Decrypt Guess b? Challenge Adaptive (CCA2) Adversary Free Oracle Access

Cryptographic Agility Cryptographic primitives as sets: – PRF = {F : F is a secure pseudorandom function} – AE = {F : F is a secure authenticated encryption scheme} Assume F 1 and F 2 have the same key space and length Informal Definition: A primitive Π is agile if any F 1, F 2 ∈ Π can securely use the same key. 20 F1F1 F2F2 K

Pseudo Random Function Agility Facts PRF: F is a PRF if no efficient adversary can distinguish F(K,.) from a random function. F 1 (K 1,x) and F 2 (K 2,x) are not distinguishable from a pair of random functions. 21 x F 1 (K,x) F1F1 F2F2 x F 2 (K,x) K Definition: A set {F 1,F 2 } is agile if F 1 (K,x) and F 2 (K,x) are not distinguishable from a pair of random functions. Question: Are PRFs agile? – Yes, if every {F 1,F 2 } is agile. Answer: No. – Example: F 2 (K,x) = NOT (F 1 (K,x)) Now, what?

Agility in Practice Certain primitives are agile: collision-resistant hash functions Strong agility is achievable in practice: Authenticated Encryption – Don’t use the key directly in the encryption algorithm – Use a derived subkey in 22 ⊥ (x,F 1 (K,x)) F1F1 F2F2 K PRF-based security for Authenticated Encryption: CCM, GCM, etc. – Pick a PRF from a small agile set Encryption of M with K, with PRF – K ae = PRF(K, ) – C = E(K ae, M) Decryption – K ae = PRF(K, ) – M = D(K ae, C)

Two provably secure methods for authenticated encryption Encrypt(Key, Msg) R := random IV := random K* := KDF(Key, Enc:AlgID, MAC:AlgID, R) sig := MAC(K*.MacKey, Msg) ctext := Encrypt(K*.EncKey, IV, Msg || sig) return R || ctext Encrypt(Key, Msg) R := random IV := random K* := KDF(Key, Enc:AlgID, MAC:AlgID, R) ctext := Encrypt(K*.EncKey, IV, Msg) sig := MAC(K*.MacKey, ctext) return R || ctext || sig Finally resolving the MAC-then-encrypt vs encrypt-then-MAC debate ….both are now secure with the help of a KDF!