保护嵌入式设备中的敏感数据?

rtu*_*tur 6 security encryption embedded

在嵌入式设备上存储敏感数据最安全的方法是什么?

在我的工作中,我正在为消费者市场开发一种产品,它将有一张eMMC卡,其中包含非常有价值的数据.我想知道保护这些数据的最佳方法是什么,即让某人无法理解其内容.(ps:这不是代码,这是一个实际的数据集)

我想象设计的方法是将数据放在eMMC上,用AES加密它(128位密钥就够了吗?).密钥将存储在MCU的闪存中.我使用的MCU提供了防止闪存读出和闪存覆盖的功能.但是,如果eMMC只是将eMMC硬连接到计算机,那么带有数据(但没有加密密钥)的eMMC将可供黑客使用.因此,解密的数据将仅暂时存在于系统的RAM中.

因此,如果我正确使用我的MCU的功能来锁定闪存,它会安全吗?或者,如果受到保护,是否有其他方法可以获取闪存内容(嵌入到MCU中)?像硬件模块或类似的东西.或者即使我成功地将密钥隐藏在闪存中,也可以制作一些数据?

请避免像"...... 应该没问题"这样的答案.我想知道最糟糕的情况.

作为参考,这里是我们使用的MCU的读出/写保护功能,但我的问题有一个通用的目的,不一定与一个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:内容/翻译/ en.DM00186528.pdf

Mah*_*our 2

这完全取决于您设备的功能(或您的安全信息)。一般来说,AES-128 位加密足以满足嵌入式设备的合理安全等级。但是将密钥存储在不受保护的存储器(处理器的闪存)中会导致严重的安全问题,有许多物理/逻辑方法可以从非易失性存储器中提取数据。

您可以将密钥存储在通用 SRAM 存储器中并通过篡改检测密钥来保护系统,或使用具有内置加密协处理器和安全密钥存储的 MCU(例如 lpc18s、lpc43s 等)或使用外部加密芯片,如 TPM 或SAM 用于提高您的安全级别。但正如之前所说,首先您必须决定如何以及何时需要加密/解密数据,是否需要在不安全的数据线路中传输纯数据(解密信息)?您可以在我不久前询问过的以下链接中收到更多信息: https :// electronics.stackexchange.com/questions/198274/storing-a-secure-key-in-an-embedded-devices-memory