What is the secure way to store sensitive data on an embedded device?
At my work, I develop a product for the consumer market, he will have an eMMC card, in which there will be very valuable data. I want to know what is the best way to protect this data, i.e. Does not allow someone to understand its contents. (ps: this is not code, this is the actual data set)
It seems to me that the design is to put data in an eMMC, encrypt it using AES (is a 128-bit key enough?). The keys will be stored in the MCU flash memory. The MCU I use provides functionality to prevent reading flash memory and overwriting flash memory. However, an eMMC with data (but without an encryption key) will be available to the hacker if he simply installs eMMC on his computer. Therefore, the decrypted data will be temporarily located in the system’s RAM.
So, if I use the functions of my MCU correctly to block flash memory, will it be safe? Or are there any other ways to extract the contents of flash memory (built-in to the MCU) each, if it is protected? Like hardware mods or the like. Or can I do something from the data, even if I hide the key in the flash?
Please avoid answers like "... should be fine." I would like to have an idea of the worst case scenarios.
For reference, here we use the read / write protection functions of the MCU that we use, but my question has a common purpose, not necessarily related to one MCU. http://www.st.com/content/ccc/resource/technical/document/application_note/89/12/c5/e2/0d/0e/45/7f/DM00186528.pdf/files/DM00186528.pdf/jcr: content / translations / en.DM00186528.pdf
source share