2020-12-02 –, Main Stage
Adding a Trusted Execution Environment (TEE) to OpenBMC will allow for a
variety of useful features in the realm of security. One current feature the
BMC suffers from is the ability to securely store any information. A glaring
example of this is that IPMI user passwords are required (by the specification)
to be available as plain-text to be used in RMCP+ authentication. But because
the BMC currently has no method of securing any secrets, it is impossible to
securely encrypt those passwords. Adding a TEE using the ARM TrustZone
extensions will allow this exact scenario to be fixed. But adding a TEE isn't
so simple as just adding a new package to the OpenBMC Yocto build. This talk
dives into the details of what hardware requirements, boot requirements, and
other prerequisites are necessary to be able to securely store secrets on the
BMC. In addition, it looks to future work that can be done with a TEE besides
simply keeping secrets.
U-Boot, Linux, OpenBMC
Vernon has been working on BMC firmware for Intel for nearly 10 years. Proprietary firmware at first, and now OpenBMC. His main areas of focus are crypto, security, and bootloaders, but he also dabbles in Linux kernel, and other parts of OpenBMC as well. He is also one of the maintainers for the OpenBMC IPMI stack.
BMC Firmware engineer