Understanding Processor Security Technologies and How To Apply Them
Understanding Processor Security Technologies and How To Apply Them
Processor
Encryption (e.g. TLS) Process isolation
technologies
Provisioning Data protection
Authentication Firmware protection
Debug authentication
Life Cycle State (LCS) management
Anti-tampering
• Secure world
Trusted software
• Access to secure and non-secure resources Trusted hardware
secure secure
crypto TRNG
Keys aspects system storage
Payment
Apps
DRM Trusted_Apps
Global platform
Device drivers Secure device drivers standardization
EL1
Rich OS Trusted OS TrustZone-based
EL2 Hypervisor TEE
Arm SMCCC PSCI Payload Dispatcher
Trusted Common foundation
Firmware Trusted Boot
Hardware Interfaces
• DRM RNG
• Payment Crypto Accelerators
IoT services
Device management Trusted environment (Secure) Normal applications
Secure firmware update (Non-secure)
Flash Secure storage
API gateways
programming (certificates) App Middleware
Authentication Cryptography
App App App
& Provisioning (library & HW)
Secure IoT
cloud services Secure boot Health check RTOS
Hardware
Attacker
IoT services
Device management Trusted environment (Secure) Normal applications
Secure firmware update (Non-secure)
Flash Secure storage
API gateways
programming (certificates) App Middleware
Authentication Cryptography
App App App
& Provisioning (library & HW)
Secure IoT
cloud services Secure boot Health check RTOS
Hardware
%#!?*@!?
Cannot reprogram flash memory Attacker
Cannot steal certificates/keys
Cannot clone device
Cannot stop Secure services
11 © 2017 Arm Limited
IoT end points deployment with TrustZone System health
detected abnormal
activities – trigger
system recovery
IoT services
Device management Trusted environment (Secure) Normal applications
Secure firmware update (Non-secure)
Flash Secure storage
API gateways
programming (certificates) App Middleware
Authentication Cryptography
App App App
& Provisioning (library & HW)
Secure IoT
cloud services Secure boot Health check RTOS
Hardware
%#!?*@!?
Cannot reprogram flash memory Attacker
Cannot steal certificates/keys
Cannot clone device
Cannot stop Secure services
12 © 2017 Arm Limited
IoT end points deployment with TrustZone
System recovered
IoT services
Device management Trusted environment (Secure) Normal applications
Secure firmware update (Non-secure)
Flash Secure storage
API gateways
programming (certificates) App Middleware
Authentication Cryptography
App App App
& Provisioning (library & HW)
Secure IoT
cloud services Secure boot Health check RTOS
Hardware
• Multiple guest OS
App1 App2 App3 App4 Unprivileged
Dashboard
Guest OS Guest OS
Privileged
#1 #2
Hypervisor (Virtualization) Privileged
Non-secure
Non-secure Secure address space
address address Secure
space space address
space
Address Address
__attribute__((cmse_nonsecure_entry))
21 © 2017 Arm Limited
TrustZone interrupt handling
Both support Secure and Non-secure interrupts
High availability
• Handling of system safety events
• Safe and Secure Monitor can monitor and restart RTOS if necessary
• A failure in one VM does not affect timings in other VM
Memory mapped
Cortex-R52 with multiple guests have Interrupt GIC virtual
virtualized interrupts routing CPU interface
GIC CPU interface
• Managed by hypervisor
IRQ FIQ vIRQ vFIQ
Secure Non-secure
Isolation
Applications Applications
Secure
Applications
Firmware OS OS
OS/OS API OS Hypervisor
Processor hardware Processor hardware
30 © 2017 Arm Limited
Software development
Cortex-R processors
• Hypervisor software available from multiple vendors
Cortex-M processors
• Secure software development with Cortex-M Security Extension (CMSE)
• Supported by CMSIS, MbedOS (Armv8-M support in development) and 3rd parties
• Platform Security Architecture (PSA) in development
Software
systems
isolation Security Data & IP
protection
Debug
protection
TrustZone and
Virtualization on
Cortex-A processors
37 © 2017 Arm Limited
For further information…
Find demos and more information at the Arm booth (402) and Mbed booth (712)
www.arm.com/company/policies/trademarks