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 Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

Security OAuth2 单点登录流程

单点登录(英语:Single sign-on,缩写为 SSO),又译为单一签入,一种对于许多相互关连,但是又是各自独立的软件系统,提供访问控制的属性。当拥有这项属性时,当用户登录时,就可以获取所有系统的访问权限,不用对每个单一系统都逐一登录。这项功能通常是以轻型目录访问协议(LDAP)来实现,在服务器上会将用户信息存储到LDAP数据库中。相同的,单一注销(single sign-off)就是指

浅析Spring Security认证过程

类图 为了方便理解Spring Security认证流程,特意画了如下的类图,包含相关的核心认证类 概述 核心验证器 AuthenticationManager 该对象提供了认证方法的入口,接收一个Authentiaton对象作为参数; public interface AuthenticationManager {Authentication authenticate(Authenti

Spring Security--Architecture Overview

1 核心组件 这一节主要介绍一些在Spring Security中常见且核心的Java类,它们之间的依赖,构建起了整个框架。想要理解整个架构,最起码得对这些类眼熟。 1.1 SecurityContextHolder SecurityContextHolder用于存储安全上下文(security context)的信息。当前操作的用户是谁,该用户是否已经被认证,他拥有哪些角色权限…这些都被保

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

ASIO网络调试助手之一:简介

多年前,写过几篇《Boost.Asio C++网络编程》的学习文章,一直没机会实践。最近项目中用到了Asio,于是抽空写了个网络调试助手。 开发环境: Win10 Qt5.12.6 + Asio(standalone) + spdlog 支持协议: UDP + TCP Client + TCP Server 独立的Asio(http://www.think-async.com)只包含了头文件,不依

业务协同平台--简介

一、使用场景         1.多个系统统一在业务协同平台定义协同策略,由业务协同平台代替人工完成一系列的单据录入         2.同时业务协同平台将执行任务推送给pda、pad等执行终端,通知各人员、设备进行作业执行         3.作业过程中,可设置完成时间预警、作业节点通知,时刻了解作业进程         4.做完再给你做过程分析,给出优化建议         就问你这一套下

容器编排平台Kubernetes简介

目录 什么是K8s 为什么需要K8s 什么是容器(Contianer) K8s能做什么? K8s的架构原理  控制平面(Control plane)         kube-apiserver         etcd         kube-scheduler         kube-controller-manager         cloud-controlle

【Tools】AutoML简介

摇来摇去摇碎点点的金黄 伸手牵来一片梦的霞光 南方的小巷推开多情的门窗 年轻和我们歌唱 摇来摇去摇着温柔的阳光 轻轻托起一件梦的衣裳 古老的都市每天都改变模样                      🎵 方芳《摇太阳》 AutoML(自动机器学习)是一种使用机器学习技术来自动化机器学习任务的方法。在大模型中的AutoML是指在大型数据集上使用自动化机器学习技术进行模型训练和优化。