你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32 专有代码保护概述

[复制链接]
STMCU小助手 发布时间:2022-7-23 22:27
前言
软件提供商开发的复杂中间件解决方案 (知识产权 (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 可在不破坏受保护代码区域的同时加载终端用户应用程序。
若需完整解决方案的更详细信息,请联系您本地的 ST 销售代表。


1代码保护概述
Flash 存储器分为两个主要区域:
主应用程序代码:包含 IP 存储器保护代码、需要保护的 IP 代码以及启用终端用户应用程序加载的 IAP 代码。
用户代码:包含终端用户应用程序,使用 IP 存储器保护代码提供的主系统应用程序 API在保护模式下提供对 IP 代码的访问。
1 举例说明了 Flash 存储器映射 (STM32F2 系列)

1[15OTV(`SD]BAH5O_Y3B~R.png

IP 代码的起始地址为 0x0801 0000,在链接器文件中的定义如下:
define region IP_CODE_region = mem:[from 0x08010000 size 0x10000];
place in IP_CODE_region { section IP_Code };
在本例中,会通过 IAR 使用以下编译指示将要保护的函数强制加载到 IP 代码段:
#pragma location="IP_Code"
(函数定义)
终端用户项目会使用包含终端用户应用程序使用的函数 IP 代码 API 的 exported_api.h


完整版请查看:附件


DM00033344_ZHV1.pdf

下载

180.69 KB, 下载次数: 0

收藏 评论0 发布时间:2022-7-23 22:27

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版