To improve the accessibility of our content, please find the audio version of this blog post.
ST recently published a new MOOC covering STM32 security in practice in embedded systems. A few weeks ago, we first looked at symmetric and asymmetric encryption schemes to better understand the fundamentals of cryptography. The coursework served as the foundation for the next chapter on the security features present in STM32 microcontrollers. It looked at new trends, such as on the fly decryption, and essential mechanisms like proprietary code readout protection. Thanks to our expansion packages and software libraries, taking advantage of the STM32 security features is relatively straightforward. This last course serves as the culmination of the two previous chapters by offering concrete examples that will speak to developers working on embedded systems. The coursework focuses primarily on firmware integrity, authenticity, and the use of a secure boot loader.
STM32 Security in Practice: Securing a Firmware with ReadOut Protection
One of the first sections of the new MOOC is on firmware confidentiality. Since this particular piece of code targets the system at such a low-level, securing it is paramount. The coursework starts by looking at read protection levels available in STM32 MCUs. Very often, using these features can offer excellent security without requiring the use of a more expensive secure element. One of the main advantages of this new MOOC is that it simplifies a developers’ approach to security. The subject matter is famous for its complexity, which can feel overwhelming. However, by adopting a product-centric strategy, the MOOC demystifies a lot of concepts and enables engineers to implement strong protections without necessitating an extravagant investment.
STM32 Security in Practice: Source Code and Video Demos
Each notion of this course offers a hands-on section to show how to take advantage of the concepts introduced. The coursework also comes with zip files containing example projects that users can import into their IDE, including STM32CubeIDE, ST’s free IDE with STM32CubeMX built-in. The beauty of such an approach is that it enables users to test the concepts taught in the previous video rapidly. They can check out the source code and load it, hence immediately reinforcing the notions presented. And for those that may be less familiar with ST’s implementation, the video goes over the major sections from drivers and pinout initialization to the main loop, thus ensuring the LED light on the development board is blinking. The curriculum recommends the use of a NUCLEO-G071RB for those who wish to replicate the labs as efficiently as possible.