Hardware Security Modules and Kerberos Asanka Herath Secure Endpoints Inc.

31
Hardware Security Modules and Kerberos Asanka Herath Secure Endpoints Inc.

Transcript of Hardware Security Modules and Kerberos Asanka Herath Secure Endpoints Inc.

Page 1: Hardware Security Modules and Kerberos Asanka Herath Secure Endpoints Inc.

Hardware Security Modules and Kerberos

Asanka Herath

Secure Endpoints Inc.

Page 2: Hardware Security Modules and Kerberos Asanka Herath Secure Endpoints Inc.

WHY HSMS?Advantages of integrating HSMs into the Kerberos infrastructure

Page 3: Hardware Security Modules and Kerberos Asanka Herath Secure Endpoints Inc.

Why HSMs?

Compromise containment Reliable Auditing Performance Compliance (FIPS 140)

Page 4: Hardware Security Modules and Kerberos Asanka Herath Secure Endpoints Inc.

KEY MANAGEMENT WITH AN HSM

Changes to key management when integrating an HSM

Page 5: Hardware Security Modules and Kerberos Asanka Herath Secure Endpoints Inc.

For example…

Page 6: Hardware Security Modules and Kerberos Asanka Herath Secure Endpoints Inc.

nCipher nShield

Page 7: Hardware Security Modules and Kerberos Asanka Herath Secure Endpoints Inc.

NCIPHER SECURITY WORLDS

Page 8: Hardware Security Modules and Kerberos Asanka Herath Secure Endpoints Inc.

Properties of a Security World

Key management• Managed key usage

Key encapsulation• Keys generated and live inside the security

world and (ideally) never leave Secure code execution

• Secure Execution Environment (SEE)

Page 9: Hardware Security Modules and Kerberos Asanka Herath Secure Endpoints Inc.

A Security World Consists of …

Hardware modules Administrator card set Operator card sets and/or softcards Encrypted key data or certificate data

Page 10: Hardware Security Modules and Kerberos Asanka Herath Secure Endpoints Inc.

The Security World Key

• Contained in …• The administrator card set

• Protects …• Key recovery information

Page 11: Hardware Security Modules and Kerberos Asanka Herath Secure Endpoints Inc.

Module Key

Contained in …• The hardware module

Protects …• Application keys

Page 12: Hardware Security Modules and Kerberos Asanka Herath Secure Endpoints Inc.

Operator Keys

Contained in …• Operator card sets

Protects …• Application keys

Page 13: Hardware Security Modules and Kerberos Asanka Herath Secure Endpoints Inc.

Application Keys

Contained in …• Key blobs

Protects …• Other applications keys• Data

Page 14: Hardware Security Modules and Kerberos Asanka Herath Secure Endpoints Inc.

A Security World Consists of …

Keys that protect other keys

Page 15: Hardware Security Modules and Kerberos Asanka Herath Secure Endpoints Inc.

A Hierarchy of Keys

Application Key A

Operator Key A

Operator Card Set

Application Key B

Data

Page 16: Hardware Security Modules and Kerberos Asanka Herath Secure Endpoints Inc.

A Hierarchy of Keys

Application Key A

Module Key

Application Key B

Data

Page 17: Hardware Security Modules and Kerberos Asanka Herath Secure Endpoints Inc.

Privilege Separation

Ability to use a key gives the ability to use child keys

But not vice-versa Facilitates privilege separation

Page 18: Hardware Security Modules and Kerberos Asanka Herath Secure Endpoints Inc.

Key Tickets

Can be issued for any loaded key Can be redeemed for the use of a

specific key• Necessary for delegating use of keys across

application boundaries Transient

• Per session

Page 19: Hardware Security Modules and Kerberos Asanka Herath Secure Endpoints Inc.

Working With Key Tickets

Application Key A

Application Key B

Application Key B Ticket

Application Key B

Application Key B Ticket

Data

Process 1 Process 2

Page 20: Hardware Security Modules and Kerberos Asanka Herath Secure Endpoints Inc.

HEIMDALIntegrating HSMs with Kerberos infrastructure

Page 21: Hardware Security Modules and Kerberos Asanka Herath Secure Endpoints Inc.

Key Usage Model in Heimdal

Application has access to plaintext key

Page 22: Hardware Security Modules and Kerberos Asanka Herath Secure Endpoints Inc.

New Key Usage Model

Separate key usage from key material• An application doesn’t need the plaintext key in order

to use it Ability to specify a key without knowing the

plaintext key• Key tickets• Key blobs• Key identifiers

Ability to load and unload keys• Using already loaded keys

Page 23: Hardware Security Modules and Kerberos Asanka Herath Secure Endpoints Inc.

KERBEROS API AND LIBRARY

What’s involved in integrating the use of HSMs into code

Page 24: Hardware Security Modules and Kerberos Asanka Herath Secure Endpoints Inc.

Key Encoding

Current …• Assumes knowledge of the physical key

• Key length is fixed• No need to prepare/clean up keys. Stateless.

(exceptions: derived keys, key schedules)

Need …• Backwards compatibility• Support key references

• Key tokens• Key blobs• Key identifiers

Page 25: Hardware Security Modules and Kerberos Asanka Herath Secure Endpoints Inc.

Key Blob

Contains (encrypted with parent key)• Key• Access control list• Usage constraints

• Time limits• Use limits

• Issuance certificate• Security world and module information

• Timestamps

Page 26: Hardware Security Modules and Kerberos Asanka Herath Secure Endpoints Inc.

Key Types and Encryption Types

A new “Key Type”? A new “Encryption Type”? Must distinguish between a plaintext key

and a key reference

Page 27: Hardware Security Modules and Kerberos Asanka Herath Secure Endpoints Inc.

Something like …

Plain text (fixed)

Header

Key blob (variable)

Header

Key reference (variable)

Page 28: Hardware Security Modules and Kerberos Asanka Herath Secure Endpoints Inc.

Key “Lifetimes”

Loading a key requires a parent/authorization key to be already loaded

“Lifetime” refers to the time between loading and unloading a key

Page 29: Hardware Security Modules and Kerberos Asanka Herath Secure Endpoints Inc.

Connection to Hardware Devices

Connections must be established first• Can be somewhat expensive• Lazy connections

Connections should be avoided if unnecessary• Specially for client libraries where we may or

may not have access to the security world and access to security world is not necessary

Page 30: Hardware Security Modules and Kerberos Asanka Herath Secure Endpoints Inc.

Privilege Separated Processes

Break into privilege separates processes Move privileged code into SEE