Tolga Acar
24 Feb. 2011
1
Distributed Key Management and Cryptographic Agility Tolga Acar - - PowerPoint PPT Presentation
Distributed Key Management and Cryptographic Agility Tolga Acar 24 Feb. 2011 1 Overview Distributed Key Lifecycle Problem statement and status quo Distributed Key Manager Typical application scenario and architecture
Tolga Acar
24 Feb. 2011
1
2
3 Node 1 Node 2 Node N Storage (Replica)
C1=E(K,M1) C2=E(K’,M2) M1=D(K,C1)
Storage (Replica)
Save ciphertext C1 Read ciphertext Encrypt M1 Decrypt C1
Replication Protocol
4
5 Initialization Full Distribution Active Inactive Termination Creation
Cryptographic
Create and initialize a key
– Windows Data Protection API (DPAPI) is single-user, single-machine. – KeyCzar and PKCS#11 uses local keys; no distribution mechanism.
– Ad-hoc key management groups (protection siloes) – Scalability & Availability (10Ks of machines) – Geo-redundancy (multiple data centers) – Key lifecycle management (automation)
– 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
Untrusted Storage (DKM-protected data) DKM Repository
ACL DKM Group A
Protect Unprotect API S e c u r e c
n e c t i
DKM Container
Group B ACL
Client 1 Client 2 Client 3 Protect Unprotect API Protect Unprotect API DKM Group Container KA KB KB KA KA
7
– Key storage is straightforward
– Rely on Active Directory replication for high availability – Network transport is secure (LDAP with Kerberos)
– Auto key update mechanism – Multiple groups and multiple keys per group – Cryptographic policy per domain and per group – Crypto agility
8
9
Hosted E-Mail
Tenant 2 Tenant 1 Mailbox Stores User Settings User’s Mailbox
User’s DKM encrypted ISP password
DKM Keys User’s Mailbox
User’s DKM encrypted ISP password
User’s ISP Internet
E-Mail Servers DKM ISP Mail Server (Hotmail, Yahoo, Gmail, etc)
Tenant “2”
Admin 2 User 2
Tenant “1”
User 1 Admin 1 User Settings Active Directory Tenant Admin can administer Exchange Tenant Admin can NOT access DKM keys
10
Hosted E-Mail
Tenant 2 Tenant 1 Mailbox Stores User Settings User’s Mailbox
User’s DKM encrypted ISP password
DKM Keys User’s Mailbox
User’s DKM encrypted ISP password
User’s ISP Internet
E-Mail Servers DKM ISP Mail Server (Hotmail, Yahoo, Gmail, etc)
Tenant “2”
Admin 2 User 2
Tenant “1”
User 1 Admin 1 User Settings Active Directory E-Mail Servers can retrieve mail from the ISP on behalf
1 2 3
11
Secret Protection Technology:
Expensive Moderate Inexpensive
Cost:
Very Secure More Secure Moderate (OS-Dependent)
Security:
Hard Easier Easy
Deployment:
HSM
Hardware Security Module
TPM-based Crypto Software Crypto
No Hardware
Keys Storage: External Processing: Memory Protection: TPM Keys Storage: External Processing: TPM Protection: TPM Keys Storage: TPM Processing: TPM Protection: TPM EK (Endorsement Key) SRK (Storage Root Key) AIK (Attestation Identity Key) WK (Wrapping Key) TLSK (TLS Key) SK (Signing Key) DKMK (DKM Key)* * There are one or more DKM Keys. Seal
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
CommServer CommClient CommClient CommClient TPM KM & Crypto Repository TPM KM & Crypto Repository TPM KM & Crypto Repository Node Logic & API Store Logic & API Master Logic & API
16
y {0, 1}* If (x in A) y Fetch(A,x) Else Store(x,y) in A Return y
Random Oracle x y
– IND-R: Indistinguishability from Random – IND-CPA: Indistinguishability under Chosen Plaintext Attack (a.k.a. semantic security) – IND-CCA: Indistinguishability under Chosen Ciphertext Attack
17
b {0, 1} C = Enc(K, mb) Return C
Left-Right Oracle m0, m1 C Guess b?
IND-CPA Game
18
19
m = Dec(K, C)
Decrypt m0, m1 C Queries {m,C} Responses {C,m}
C = Enc(K, m)
Encrypt
b {0, 1} C = Enc(K, mb)
Left-Right Oracle C m
m = Dec(K, C)
Decrypt Guess b? Challenge Adaptive (CCA2) Adversary Free Oracle Access
20
Facts
function.
21
and F2(K,x) are not distinguishable from a pair of random functions.
– Yes, if every {F1,F2} is agile.
– Example: F2(K,x) = NOT (F1(K,x))
– Don’t use the key directly in the encryption algorithm <ae> – Use a derived subkey in <ae>
22
Encryption: CCM, GCM, etc.
– Pick a PRF from a small agile set
– Kae = PRF(K,<ae>) – C = E(Kae, M)
– Kae = PRF(K,<ae>) – M = D(Kae, C)