You are on page 1of 11

Security-Related Hardware Adaptation

Input to SHAI Working Group


January 2010

Craig Heath, Symbian Foundation


Recap of Proposals from October
 cryptography
 hardware accelerators, hardware random number generation
 use of embedded device keys
 hardware “root of trust”
 software and data integrity checking
 potentially including IMEI protection and subsidy lock
 secure execution environment
 e.g. TrustZone, SIM Application Tool Kit

 biometric authentication
 e.g. fingerprint matching
 debug / service state functions
 e.g. JTAG access, reflashing

Copyright © 2010 Symbian Foundation 2


Cryptography – Candidate APIs
 Some APIs already exist, although at perhaps too high a level:
 Crypto Token Framework for hardware certificate and key stores
 well established (introduced in Symbian OS v7.0?)
 standardise interfaces to specific token types?

 CryptoSPI for algorithm acceleration (in S^3)


 further details provided in this slide set

 DRM device key abstraction (in S^2)


 possible refactor in terms of Crypto Token Framework or CryptoSPI?

 Some APIs are potential contributions “on the radar”:


 Improved random number generation (not currently in backlog)
 better management of the entropy pool

Copyright © 2010 Symbian Foundation 3


Integrity Checking – Phased Approach
 Today: boot loader responsible for checking Core OS image and ROFS
 S^2: ESTART includes (software) checks on TCB / DRM executables
 Future: enable hardware checking of TCB / DRM executables
 Future: extend “root of trust” to verify critical data files with secure store
 Future: verification of paged executables (any hardware impact?)

Copyright © 2010 Symbian Foundation 4


Biometric Hardware
 S^3 includes framework for authentication plug-ins
 Are there classes of peripheral, such as fingerprint scanners,
that should have a defined adaptation interface under this?
 operations such as template registration and fuzzy matching

Copyright © 2010 Symbian Foundation 5


Other Areas
 Are there any potential candidate APIs for these areas:
 secure execution environment?
 debug / service state access?
 Are there any other areas in which we should aim to provide
hardware adaptation interfaces?

Copyright © 2010 Symbian Foundation 6


CryptoSPI – Design Overview
 A unified way to integrate additional crypto algorithm
implementations into the OS using a plug-in mechanism. The
caller can select between implementations based on their
properties (e.g. speed, latency).
 Maintains backward compatibility with the legacy crypto APIs
using shim classes which use the CryptoSPI to perform the
cryptographic operations.
 Use Cases:
 Crypto acceleration can be used automatically by applications
 Alternate implementations of existing algorithms can be provided
 Implementations of new algorithms can be provided

Copyright © 2010 Symbian Foundation 7


CryptoSPI – Plug-in Architecture

CryptoSPI CryptoSPI Setup

Plug-in Selector

Configuration

Plug-in Plug-in Plug-in Plug-in

Copyright © 2010 Symbian Foundation 8


CryptoSPI – Component Diagram
Legacy Application
Application

Generic crypto factories


hash.dll

plug-in module configuration file


random.dll cryptospi.dll

strong/weak
cryptography.dll

strong/weak hardwarecrypto.dll any number of plug-ins


softwarecrypto.dll can be implemented
Big Integer and here
Padding Support

randsvr.exe

Copyright © 2010 Symbian Foundation 9


CryptoSPI – Next Steps
 If this is seen as useful, a formal proposal can be made to
adopt the CryptoSPI as part of SHAI:
 use case justification
 high level design
 detailed API documentation (from Doxygen tags)
 Subsequent review and voting on “fit for purpose”
 bearing in mind this is already implemented, tested and
contributed so there are considerable practical advantages in
keeping the APIs as they are
 Proposals for future enhancements to CryptoSPI
 SHAI v2?

Copyright © 2010 Symbian Foundation 10


Other Areas – Next Steps
 What are the priorities among the following:
 hardware random number generation
 use of embedded device keys
 software and data integrity checking
 secure execution environment
 biometric authentication
 debug / service state functions
 anything else?

Copyright © 2010 Symbian Foundation 11

You might also like