0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何对GD32 MCU进行加密?

聚沃科技 2024-01-20 09:30 次阅读

GD32 MCU有哪些加密方法呢?大家在平时项目开发的过程中,最后都可能会面临如何对出厂产品的MCU代码进行加密,避免产品流向市场被别人读取复制。

下面为大家介绍GD32 MCU所支持的几种常用的加密方法:

  • 首先GD32 MCU本身支持防硬开盖破解的功能,GD32 MCU内部Flash直接硬开盖破解读取的数据无法在同型号的产品上运行,因为GD32 MCU内部Flash物理地址和逻辑地址是随机加密的,因而可以有效防止硬破解读取代码的可能,这是GD32 MCU本身支持的,无需使用者进行配置;
  • 可以设置读保护,GD32 MCU支持读保护设置,有些MCU支持低保护等级,设置读保护后,通过ISP出厂BOOTLOADER或者SWD端口均无法读取内部Flash数据,如果去除低保护等级,芯片将会执行全片擦除操作;有些MCU可以支持高保护等级,高保护等级下ISP和SWD均无法读取内部Flash数据,且高保护等级不可逆,相当于内部熔丝熔断,因而具有较高的保护效果;
  • 可以进行软件加密,比如读取UID进行加密,UID为96位全球唯一ID,相当于芯片的身份证号码,可以通过UID进行芯片加密,下图为一种简单的通过UID加密方法,芯片外部可以通过自定义加密算法生成密钥,并将密钥保存到芯片或者外部存储中,MCU内部上电运行后,可以软件读取UID并通过加密算法计算当前芯片对应的密钥,然后和存储的密钥进行对比判断,如果一致,就继续运行,如果不一致,可以擦除固件或者其他处理。
wKgaomWrIiuAVLtZAARtQPfa9Go302.png

实际使用中,大家可以选择多种加密方式共用,以达到更好的加密效果。

MCU代码的加密和解密是一个永恒的话题,对于一个成熟的产品芯片加密也是一个必须要考虑的问题,大家如果有其他好的MCU加密方法,也欢迎大家在评论区留言。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6036

    文章

    44554

    浏览量

    634935
  • mcu
    mcu
    +关注

    关注

    146

    文章

    17141

    浏览量

    351093
  • GD32
    +关注

    关注

    7

    文章

    403

    浏览量

    24341
收藏 人收藏

    评论

    相关推荐

    GD32 MCU入门教程】GD32 MCU GPIO 结构与使用注意事项

    本文是专门为基于GD32 MCU开发的工程设计人员提供,主要介绍了GPIO的功能配置、内部结构以及在不同场景使用时的注意事项,旨在帮助GD32 MCU开发者优化对通用型输入输出端口(G
    的头像 发表于 09-07 10:34 732次阅读
    【<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b>入门教程】<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> GPIO 结构与使用注意事项

    GD32 MCU 入门教程】GD32 MCU FPU 使用方法

    GD32 MCU FPU 使用方法
    的头像 发表于 08-25 09:24 591次阅读
    【<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 入门教程】<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> FPU 使用方法

    GD32 MCU 入门教程】GD32 MCU 常见外设介绍(14)RTC 模块介绍

    GD32 MCU内部提供了一个RTC(实时时钟)模块,通过RTC可以实现日历时钟、闹钟等功能。RTC也可以用于深度睡眠或待机模式的低功耗唤醒。不同系列的GD32 MCU在RTC设计和功
    的头像 发表于 08-23 09:18 464次阅读
    【<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 入门教程】<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 常见外设介绍(14)RTC 模块介绍

    GD32 MCU 入门教程】GD32 MCU 常见外设介绍(12)FMC 模块介绍

    闪存控制器(FMC),提供了片上闪存需要的所有功能。FMC 也提供了页擦除,整片擦除,以及32 位整字或 16 位半字编程闪存等操作。 GD32 MCU 支持不同类型编程的具体说明如下表 GD32
    的头像 发表于 08-21 09:56 1113次阅读
    <b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 入门教程】<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 常见外设介绍(12)FMC 模块介绍

    GD32 MCU 入门教程】二、GD32 MCU 烧录说明(1)ISP 烧录

    ISP:In System Programing,在系统编程,通过MCU片内的引导程序进行Flash编程。 GD32片内有一个只读信息块,用于存放引导装载程序,引导程序在MCU出厂前就
    的头像 发表于 08-08 16:20 895次阅读
    【<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 入门教程】二、<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 烧录说明(1)ISP 烧录

    GD32 MCU 入门教程】一、GD32 MCU 开发环境搭建(3)使用 Embedded Builder 开发 GD32

    GD32系列为通用型MCU,所以开发环境也可以使用通用型的IDE,目前使用较多的是KEIL、IAR、 GCC和Embedded Builder,客户可以根据个人喜好来选择相应的开发环境。
    的头像 发表于 08-08 16:03 960次阅读
    【<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 入门教程】一、<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 开发环境搭建(3)使用 Embedded Builder 开发 <b class='flag-5'>GD32</b>

    GD32 MCU 入门教程】一、GD32 MCU 开发环境搭建(2)使用 IAR 开发 GD32

    GD32系列为通用型MCU,所以开发环境也可以使用通用型的IDE,目前使用较多的是KEIL、IAR、 GCC和Embedded Builder,客户可以根据个人喜好来选择相应的开发环境。
    的头像 发表于 08-08 15:40 691次阅读
    【<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 入门教程】一、<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 开发环境搭建(2)使用 IAR 开发 <b class='flag-5'>GD32</b>

    GD32 MCU 入门教程】一、GD32 MCU 开发环境搭建(1)使用Keil开发GD32

    GD32系列为通用型MCU,所以开发环境也可以使用通用型的IDE,目前使用较多的是KEIL、IAR、 GCC和Embedded Builder,客户可以根据个人喜好来选择相应的开发环境。
    的头像 发表于 08-08 15:01 1182次阅读
    【<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 入门教程】一、<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 开发环境搭建(1)使用Keil开发<b class='flag-5'>GD32</b>

    GD32 MCU ISP失败的原因

    玩过GD32的小伙伴们都知道,GD32 MCU支持ISP,即在系统编程,前面的常见问题也给大家讲过什么是ISP,什么是IAP?那有没有小伙伴遇到过ISP失败的情况,失败的原因是什么呢?
    的头像 发表于 02-28 09:23 1464次阅读
    <b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> ISP失败的原因

    如何排查GD32 MCU复位是由哪个复位源导致的?

    上期为大家讲解了GD32 MCU复位包括电源复位和系统复位,其中系统复位还包括独立看门狗复位、内核软复位、窗口看门狗复位等,在一个GD32系统中,如果莫名其妙产生了MCU复位,如何排查
    的头像 发表于 02-03 09:46 1734次阅读
    如何排查<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b>复位是由哪个复位源导致的?

    你了解GD32 MCU上下电要求吗

    你了解GD32 MCU的上下电要求吗?MCU的上下电对于系统的稳定运行非常重要。
    的头像 发表于 02-02 09:36 1022次阅读
    你了解<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b>上下电要求吗

    不同型号的GD32 MCU如何区分?

    大家是否碰到过以下应用场景:同一套软件代码希望跑在不同型号的GD32 MCU中,但有些地方需要根据MCU型号进行调整?或者上位机或其他MCU
    的头像 发表于 01-27 09:32 996次阅读
    不同型号的<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b>如何区分?

    如何对GD32 MCU进行加密?#MCU #单片机 #GD32 #嵌入式

    单片机mcugd32f303
    聚沃科技
    发布于 :2024年01月22日 10:01:50

    GD32 MCU的选项字节是什么?

    GD32 MCU的选项字节是什么,有什么功能呢?选项字节被误篡改如何回复?
    的头像 发表于 01-17 09:42 1374次阅读
    <b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b>的选项字节是什么?

    你了解GD32 MCU的命名规则吗

    下面为大家介绍GD32 MCU的通用命名规则,以GD32F303ZGT6为例,其中,GD32代表GD32
    的头像 发表于 01-13 09:38 3637次阅读
    你了解<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b>的命名规则吗