optee-dispatcher.rst 1.5 KB

12345678910111213141516171819202122232425262728293031
  1. OP-TEE Dispatcher
  2. =================
  3. `OP-TEE OS`_ is a Trusted OS running as Secure EL1.
  4. To build and execute OP-TEE follow the instructions at
  5. `OP-TEE build.git`_
  6. There are two different modes for loading the OP-TEE OS. The default mode will
  7. load it as the BL32 payload during boot, and is the recommended technique for
  8. platforms to use. There is also another technique that will load OP-TEE OS after
  9. boot via an SMC call by enabling the option for OPTEE_ALLOW_SMC_LOAD that was
  10. specifically added for ChromeOS. Loading OP-TEE via an SMC call may be insecure
  11. depending upon the platform configuration. If using that option, be sure to
  12. understand the risks involved with allowing the Trusted OS to be loaded this
  13. way. ChromeOS uses a boot flow where it verifies the signature of the firmware
  14. before executing it, and then only if the signature is valid will the 'secrets'
  15. used by the TEE become accessible. The firmware then verifies the signature of
  16. the kernel using depthcharge, and the kernel verifies the rootfs using
  17. dm-verity. The SMC call to load OP-TEE is then invoked immediately after the
  18. kernel finishes loading and before any attack vectors can be opened up by
  19. mounting writable filesystems or opening network/device connections. this
  20. ensures the platform is 'closed' and running signed code through the point where
  21. OP-TEE is loaded.
  22. --------------
  23. *Copyright (c) 2014-2023, Arm Limited and Contributors. All rights reserved.*
  24. .. _OP-TEE OS: https://github.com/OP-TEE/build
  25. .. _OP-TEE build.git: https://github.com/OP-TEE/build