软件提供商开发的复杂中间件解决方案 (知识产权 (IP) 代码)需要进行保护。 这种 IP 代码必须能够以终端用户应用程序插件的形式来构建完整的解决方案。
全局保护机制会通过专用的应用程序编程接口 (API) 限制对该代码的访问,同时会防止任何读访问。
本应用笔记概括介绍了用于防止专有代码被终端用户代码、调试器工具或 RAM 木马代码读出的机制。
该机制提供了全面的 API,因此 IP 代码可由终端用户应用程序轻松调用,并且仍可防止直接访问 IP 代码本身。
建议使用的解决方案基于 MPU 功能以及终端用户应用程序和 IP 代码中的特殊存储器和外设管理机制。
在 STM32 专有代码保护方法中,会使用两种保护级别:
全局读出保护(全局 ROP):通过 STM32 ROP 防止 IP 代码和终端用户代码(被调试器工具或 RAM 木马代码)直接读取。
IP 代码读出保护 (IP ROP):通过 MPU 防止 IP 代码被终端用户代码(可能是木马代码)读取。
因为一旦激活了全局 ROP,用户就不再能够完全控制 Flash 编程,因此主应用程序 (IP 代码)必须嵌入 IAP 层。
该 IAP 可在不破坏受保护代码区域的同时加载终端用户应用程序。
|