Open TEE Intro
Open TEE Intro
Execution Environment
2
What is a TEE?
Processor, memory,
storage, peripherals
4
Why do most mobile devices today have TEEs?
A LOOK BACK
Platform security for mobile devices
Mobile network operators
Regulators
1. Subsidy locks immutable ID
1. RF type approval secure storage
2. Copy protection device
2. Theft deterrence immutable ID
authentication, app separation
3. …
3. …
End users
1. Reliability app separation Closed open
2. Theft deterrence immutable ID
3. Privacy app separation
Different expectations
4. … compared to PCs
6
Early adoption of platform security
GSM 02.09, 1993
Old, new, borrowed, blue --: a perspective on the evolution of mobile platform security
architectures. CODASPY 2011: 13-24
7
TEE system architecture
Device
Rich execution
environment (REE) Architectures with single TEE
• ARM TrustZone
Trusted execution
App App • TI M-Shield
environment (TEE)
• Smart card
TEE API
• Crypto co-processor
Trusted Trusted
app app • Trusted Platform Module
Device OS (TPM)
TEE management layer
Architectures with multiple TEEs
• Intel SGX
TEE entry • TPM (and “Late Launch”)
• Hypervisor
Device hardware and firmware with TEE support
8
Figure adapted from: Global Platform. TEE system architecture. 2011.
Legend:
SoC : system-on-chip
OTP: one-time programmable
On-chip Security
Subsystem
External Security
Co-processor
Trusted Trusted
app app
Mobile OS
Trusted OS
TEE entry
Smartphone hardware
10
Android Key Store API
Android Key Store example
Android device
• Issues
– Application installation (provisioning) model not yet defined
– Access to TEE typically controlled by the manufacturer
– User interaction
• Open TEE
– Virtual TEE platform for prototyping and testing
– Implements GP TEE interfaces
– https://github.com/Open-TEE
Open-TEE - An Open Virtual Trusted Execution
Environment. TrustCom/BigDataSE/ISPA (1) 2015: 400-407
http://www.theregister.co.uk/2015/06/30/opentee_an_open_virtual_trusted_execution_environment/
Extra slides