AT32 F435简介1/N Security Library

2023-12-17 15:04

本文主要是介绍AT32 F435简介1/N Security Library,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

AT32 F435简介1/N Security Library

  • 1. 源由
  • 2. Security Library
  • 3. 总结
  • 4. 参考资料

1. 源由

  1. 对比STM32 F405进行AT32 F435 MCU的资料研读,期望获取更多差异化信息;
  2. 配合ChibiOS的porting工作,有理有据;
  3. 寻找AT32 F435的一些亮点功能和特性;

2. Security Library

随着越来越多的MCU应用程序需要复杂的算法和中间件解决方案,如何保护软件解决方案提供商开发的IP代码(如核心算法)已成为一个重要问题。

为了满足这一需求,AT32F435/437系列设计了一个安全库(sLib),用于保护重要的IP代码不被最终用户程序更改或读取。

  • 安全库(sLib)是由主内存中受到保护的代码定义区域。软件解决方案提供商将核心算法存储在sLib中以进行保护。

Security library (sLib) is a defined area protected by a code in the main memory. Software solution providers store core algorithms in sLib for protection. The rest of the area can be used for secondary development by end users.

  • 安全库包括只读区(SLIB_READ_ONLY)和指令区(SLIB_INSTRUCTION),可以部分或全部用作只读区或指令区。

Security library includes the read-only area (SLIB_READ_ONLY) and instruction area ((SLIB_INSTRUCTION), and it can be partially or completely used as the read-only area or instruction area.

  • 只读区域(SLIB_READ_ONLY)的数据可以通过I-Code和D-Code总线读取,但不能写入。

Data of the read-only area (SLIB_READ_ONLY) can be read by I-Code and D-Code buses but cannot be written.

  • 指令区中的程序代码(SLIB_instruction)只能由MCU通过I-Code总线获取(仅可执行),而不能通过DCode总线读取访问(包括ISP/ICP/调试模式或从内部RAM引导)来读取,通过读取数据来访问SLIB_ESTRUCTION操作将返回所有0xFF。

Program codes in the instruction area (SLIB_INSTRUCTION) can only be fetched by MCU through I-Code bus (only executable), and cannot be read by reading access through DCode bus (including ISP/ICP/debug mode or boot from internal RAM), for accessing SLIB_INSTRUCTION by reading data operation will return all 0xFF.

  • 除非键入了正确的代码,否则无法擦除安全库中的程序代码和数据。如果键入了错误的代码,在尝试写入或删除安全库代码时,FLASH_STS寄存器中的EPERR=1将发出警告消息。

Program codes and data in security library cannot be erased unless the correct code is keyed in. If a wrong code is keyed in, in an attempt of writing or deleting security library code, a warning message will be issued by EPPERR=1 in the FLASH_STS register.

  • 最终用户对主闪存的大规模擦除操作不会擦除安全库中的代码和数据。

Mass erase operation to the main Flash memory by end users will not erase the codes and data in security library.

  • 启用sLib后,用户还可以通过将先前定义的密码写入sLib_PWD_CLR寄存器来解锁sLib保护。禁用安全库保护后,MCU将擦除整个主存储器,包括sLib。因此,即使由软件解决方案提供商定义的代码被泄露,程序代码也受到保护以防止泄露。

After sLib is enabled, users can also unlock the sLib protection by writing the previously defined password in the SLIB_PWD_CLR register. After the security library protection is disabled, the MCU will erase the whole main memory, including the sLib. Therefore, the program codes are protected against leakage even if the code defined by the software solution provider is leaked.

注:具体使用方法,详见:AN0081_AT32F435_437_Security_Library_Application_Note

3. 总结

这是一个非常好的功能,该方法可以非常好的管控知识产权,前提条件是智能生产产线的建立和质量管控。

4. 参考资料

【1】Ardupilot开源飞控之ChibiOS简介
【2】ARTERY AT32F435
【3】ST STM32F405/415

这篇关于AT32 F435简介1/N Security Library的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/504816

相关文章

Spring Boot基于 JWT 优化 Spring Security 无状态登录实战指南

《SpringBoot基于JWT优化SpringSecurity无状态登录实战指南》本文介绍如何使用JWT优化SpringSecurity实现无状态登录,提高接口安全性,并通过实际操作步骤... 目录Spring Boot 实战:基于 JWT 优化 Spring Security 无状态登录一、先搞懂:为什

springboot依靠security实现digest认证的实践

《springboot依靠security实现digest认证的实践》HTTP摘要认证通过加密参数(如nonce、response)验证身份,避免明文传输,但存在密码存储风险,相比基本认证更安全,却因... 目录概述参数Demopom.XML依赖Digest1Application.JavaMyPasswo

Java Docx4j类库简介及使用示例详解

《JavaDocx4j类库简介及使用示例详解》Docx4j是一个强大而灵活的Java库,非常适合需要自动化生成、处理、转换MicrosoftOffice文档的服务器端或后端应用,本文给大家介绍Jav... 目录1.简介2.安装与依赖3.基础用法示例3.1 创建一个新 DOCX 并添加内容3.2 读取一个已存

Java中最全最基础的IO流概述和简介案例分析

《Java中最全最基础的IO流概述和简介案例分析》JavaIO流用于程序与外部设备的数据交互,分为字节流(InputStream/OutputStream)和字符流(Reader/Writer),处理... 目录IO流简介IO是什么应用场景IO流的分类流的超类类型字节文件流应用简介核心API文件输出流应用文

Spring Security简介、使用与最佳实践

《SpringSecurity简介、使用与最佳实践》SpringSecurity是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架,本文给大家介绍SpringSec... 目录一、如何理解 Spring Security?—— 核心思想二、如何在 Java 项目中使用?——

Java Stream 并行流简介、使用与注意事项小结

《JavaStream并行流简介、使用与注意事项小结》Java8并行流基于StreamAPI,利用多核CPU提升计算密集型任务效率,但需注意线程安全、顺序不确定及线程池管理,可通过自定义线程池与C... 目录1. 并行流简介​特点:​2. 并行流的简单使用​示例:并行流的基本使用​3. 配合自定义线程池​示

PostgreSQL简介及实战应用

《PostgreSQL简介及实战应用》PostgreSQL是一种功能强大的开源关系型数据库管理系统,以其稳定性、高性能、扩展性和复杂查询能力在众多项目中得到广泛应用,本文将从基础概念讲起,逐步深入到高... 目录前言1. PostgreSQL基础1.1 PostgreSQL简介1.2 基础语法1.3 数据库

Spring Security 前后端分离场景下的会话并发管理

《SpringSecurity前后端分离场景下的会话并发管理》本文介绍了在前后端分离架构下实现SpringSecurity会话并发管理的问题,传统Web开发中只需简单配置sessionManage... 目录背景分析传统 web 开发中的 sessionManagement 入口ConcurrentSess

Python库 Django 的简介、安装、用法入门教程

《Python库Django的简介、安装、用法入门教程》Django是Python最流行的Web框架之一,它帮助开发者快速、高效地构建功能强大的Web应用程序,接下来我们将从简介、安装到用法详解,... 目录一、Django 简介 二、Django 的安装教程 1. 创建虚拟环境2. 安装Django三、创

Spring Security重写AuthenticationManager实现账号密码登录或者手机号码登录

《SpringSecurity重写AuthenticationManager实现账号密码登录或者手机号码登录》本文主要介绍了SpringSecurity重写AuthenticationManage... 目录一、创建自定义认证提供者CustomAuthenticationProvider二、创建认证业务Us