https://www.pengutronix.de
Building a Product with OP-TEE
Possible pitfalls while deploying OP-TEE in production Rouven Czerwinski– r.czerwinski@pengutronix.de
Building a Product with OP-TEE Possible pitfalls while deploying - - PowerPoint PPT Presentation
Building a Product with OP-TEE Possible pitfalls while deploying OP-TEE in production Rouven Czerwinski r.czerwinski@pengutronix.de https://www.pengutronix.de About me Rouven Czerwinski Pengutronix e.K. Emantor rcz@pengutronix.de
https://www.pengutronix.de
Possible pitfalls while deploying OP-TEE in production Rouven Czerwinski– r.czerwinski@pengutronix.de
2/21
OP-TEE
T
3/21
Introduction Motivation Problems Solutions Conclusion Outlook
4/21
5/21
Open Portable T
Open source (BSD-2 clause)
Support for various ARM platforms
My focus is on i.MX6 platforms
6/21
Secure the OP-TEE and TAs for production
Ensure that upstream OP-TEE can be used
Provide guidance which parts may be
7/21
Which components do I need to secure
Which part of the confjguration is already
Which part needs to be managed by
8/21
RAM protection/Pager Hardware Unique Key (HUK) RNG Seeding Peripheral Access Confjguration Ensure trusted OP-TEE bootup Optional: storage rollback protection
9/21
Confjgure the DDR fjrewall Protects part of RAM for secure world i.e. TZC380 with multiple regions For i.MX6:
TZC380 from ARM Upstream driver already within OP-TEE
10/21
TZC380 auto confjguration upstream Correctly confjgures TZC380 for generic
11/21
Run small part of OP-TEE in SRAM Encrypt other memory pages live in DRAM Does not require a DDR fjrewall For i.MX6:
Chosen i.MX6UL may not have enough SRAM Bigger variants may use SRAM for other use
12/21
Used to derive other keys for OP-TEE Should be unique per device Should not be accessible from normal
For i.MX6:
Use CAAM Master Key Verifjcation Blob
13/21
Needs rebase on i.MX6/7 CAAM driver Will be done soon™
14/21
OP-TEE uses FORTUNA PRNG Requires RNG seed Default seed for dev is zero For i.MX6:
Retrieve RNG from CAAM TRNG on bootup Not implemented yet
15/21
SoCs have DMA masters beside CPU Those masters may be default secure and
For i.MX6:
Access policies confjgurable via Central
16/21
Upstream confjgures correctly for i.MX6UL Other i.MX6/7 SoCs trivial to add (given
17/21
Use platform verifjed/secure boot Verifjes OP-TEE version to prevent
For i.MX6:
Implement High Assurance Boot (HAB), also
Not implementable upstream, needs to be
18/21
T
Simple FAT fjlesystem For all platforms:
Enable with CFG_RPMB_FS=1 Deploy during manufacturing with
Ensure to disable emulation in TEE Supplicant
Support upstream
19/21
No platform is currently ready to deploy
i.MX6 is slowly getting there
Vendor implementations may include the
Still requires code review and cross reference
20/21
Clock and access coordination between
Deeper device tree integration for OP-TEE CI infrastructure to test each commit to
https://www.pengutronix.de