Phoenix Security Architecture and DevID July 2005 Karen Zelenko Phoenix Technologies Confidential Objectives for DevID Provide strong means to identify and authenticate the identity of “devices” in.
Download
Report
Transcript Phoenix Security Architecture and DevID July 2005 Karen Zelenko Phoenix Technologies Confidential Objectives for DevID Provide strong means to identify and authenticate the identity of “devices” in.
Phoenix Security
Architecture and DevID
July 2005
Karen Zelenko
Phoenix Technologies
Confidential
1
Objectives for DevID
Provide strong means to identify and
authenticate the identity of “devices”
in a network – including during initial
provisioning (possibly remotely)
Identity is permanently bound to
device
Each identity is unique
Centralized infrastructure not required
for DevID to be usable
© Copyright 2004 Phoenix Technologies Ltd
2
Phoenix Security Architecture
Security Architecture provides secure
cryptographic operations and the
ability to bind applications and data to
a specific device
Operations done in Secure SMI
Environment
Caller Validation provides extra
protection
Binding to device via Secure Storage
© Copyright 2004 Phoenix Technologies Ltd
3
Phoenix Security Framework
Caller
Validation
Power-on
Core System Software
Application Application Application
‘Ring 3’
Application
privilege
OS Kernel
‘Ring 0’
OS
privilege
Security
Driver
System Management Mode
(Highest privilege on the CPU)
‘SMM’
CSS
privilege
Device Key in
Secure Silicon
© Copyright 2004 Phoenix Technologies Ltd
4
Secure Storage
Nonvolatile memory
Hardware-Based
OAR-Locking (Open at Reset)
Offline storage of Device Key (DK)
• 20 Bytes = 16 byte DK + 4 byte status
Retrieved at BIOS reset
Contents transferred to SMRAM
Locked until next reset
Examples – CMOS, FWH, EC, …
© Copyright 2004 Phoenix Technologies Ltd
5
Device Key (DK)
128-bit Advanced Encryption
Standard (AES)
Systems typically ship with no DK
DK randomly generated on first use of
a cME Security application
DK unique to that specific device
(motherboard)
Never exposed outside of SMI for
StrongROM
© Copyright 2004 Phoenix Technologies Ltd
6
Device Key Handling
© Copyright 2004 Phoenix Technologies Ltd
7
StrongROM
Embedded Crypto Engine
StrongROM provides:
• Secure Storage and DK access
• General Crypto
• Caller Validation
Runs in SMM (System Management Mode)
SMRAM (Locked, Paged in by hardware)
Time-slicing for compute-intensive
operations
© Copyright 2004 Phoenix Technologies Ltd
8
StrongROM Algorithms
SHA-1
• 160-bit
AES
• 128-bit
HMAC-SHA
RSA
• 1024-2048-bit
PRNG
• SHA-1 Based NIST Approved
© Copyright 2004 Phoenix Technologies Ltd
9
Caller Validation
Inter-module communication involves
checking caller against a signature
• driver-to-StrongROM
• application-to-driver
Requires that calling applications are
• Signed
• Authorized
• Undamaged
Protects against debug attacks
© Copyright 2004 Phoenix Technologies Ltd
10
Caller Validation (cont.)
Portion of executable’s in-memory
image is hashed into an Owner’s Code
Digest (OCD)
OCD is signed by Phoenix
Phoenix maintains hierarchy of keys
in a secure location with root key
protected by Verisign
Caller validation compares in-memory
image of calling application against
signature
© Copyright 2004 Phoenix Technologies Ltd
11
Caller Validation
© Copyright 2004 Phoenix Technologies Ltd
12
Security Services
Data Protection and Binding to Device
• Seal / Unseal AppContainer using Device
Key
• Data accessed by authorized application
on authorized platform
RSA Key Protection and Binding to
Device
• Special AppContainer storing keys
• Private Keys are not exposed outside of
SMM
Platform Identifier
• Platform ID = HMAC (DK, OCD || Usage
Flags)
© Copyright 2004 Phoenix Technologies Ltd
13
Phoenix Security Strengths
Unique DK – limits class attacks
DK Handled in a secure environment
Secure Storage variety (as opposed to
homogenous storage)
Caller validation
Privacy – Limited exposure of the DK
Basic building blocks for applications
(ex. Client-server application)
© Copyright 2004 Phoenix Technologies Ltd
14
DevID with Phoenix Framework
Use the Platform ID as a DevID
• Statistically unique credential bound to
the device
Derive a new credential unique to
DevID, unrelated to the Device Key
except by platform association
• presumably stored as a protected BLOB
outside of StrongROM
© Copyright 2004 Phoenix Technologies Ltd
15
Summary
Phoenix Security Framework provides
the necessary components to
implement DevID
• strong asymmetric crypto
• secure hashing
• integrated secure storage
Platform ID by itself meets the needs
of DevID
Phoenix Security Framework could be
optimized for variety device classes
© Copyright 2004 Phoenix Technologies Ltd
16