I'm using an MPS3 evaluation board, and I'm trying to understand how it works. I understand that it requires that the provided MCC BIOS (mbb_version_.ebf) be present on the SD Card, and that it's encrypted, but I don't understand why. What does this BIOS do specifically, and why does ARM encrypt it? Where is the encryption key, and what is the mechanism that decrypts it and where does it go after it's decrypted?
The MPS3 board is majorly designed for our partners to develop the software platform.
The encrypted MCC BIOS is used to protect Arm IPs so that we don't expect the reverse engineering to decrypt the MCC BIOS.
Thank you for your reply!
So, to be clear, this protects Arm IP on the MPS3 itself, or some third party components on the board, such as the Xilinx FPGA part?
And are there any details Arm is willing to share about how this firmware is encrypted, such as:
What is the encryption algorithm and key length, etc?
Where is the key stored?
Is it signed with a common Root of Trust?
Once decrypted, where does the firmware "live" on the machine?
Is it a part of Arm's Trusted Firmware (Arm-TF) solution?
As I mentioned above, we don't expect the MPS3 encrypted MCC to be reverse engineering and attacked.