现在的位置: 首页资讯>正文
基于GD32F450的程序软保护——RAM区运行
2017年06月12日 作者: 暂无评论 122+ 0

GD32

1.核心主题

本文提出了一种基于GD32F450为代表的ARM Cortex-M系列处理器上的软保护的安全性探究,核心是将用户程序预先以加密的方式存储在片内FLASH中,运行时再解密至RAM。因为RAM的掉电易丢失,实现程序的保护。

.背景瞎扯

软件的保护通常分为软保护和硬保护两种,软保护从程序着手,通过加密变化等方式,确保使用者的合法性,实现源代码的反拷贝、反静态分析、防动态追踪。硬保护则需要额外的硬件加密手段,软件通过访问特定的外围硬件,完成预先的数据交换,确认用户合法后,才会执行。硬保护拥有独立的硬件,所以相较于软保护更加安全,但是也会导致成本过高、占用部分硬件空间等问题。

硬保护引入安全器件的同时,加大了硬件成本。而软保护一般会引入芯片唯一身份识别码作为密钥,这就导致不得不对每个芯片进行单独编译烧写程序,软件加密加大了算法的复杂性、增加了程序的存储占用空间,还增加了批量生产时的难度。总的说来,软保护和硬保护各有利弊。 

IAP

IAP(In-Application Programming),在应用程序中编程,指的是芯片通过已有的程序,利用串口、以太网、SD卡等外设接口,接收新的程序文件,覆盖旧有的程序,实现升级更新,也就是可以用程序来改变程序。

IAP

3.方案设计
[1].利用IAP代码将加密好的程序bin文件,通过UART写入FLASH中
[2].复位后,IAP程序先将FLASH中的加密bin文件,解密至指定区域的RAM位置
[3].解密完成后,校验加密程序初始入口地址范围是否正确(密钥不对,数据不对)
[4].如果校验正确,IAP程序执行CPU寄存器指针跳转代码,跳转至加密程序初始入口,执行被加密代码。
[5].如果校验错误,清除加密区域FLASH代码
[6].GD32提供的芯片FLASH保护使能

详情可参考:[GD32F450方案分享] 基于GD32F450的程序软保护——RAM区运行 

原文链接:http://www.eeboard.com/news/gd32f450-2/

搜索"爱板网"加关注,每日最新的开发板、智能硬件、开源硬件、活动等信息可以让你一手全掌握。推荐关注!

【微信扫描下图可直接关注】

toaal

  

相关文章

屏占比升到新高度! 三星Note8屏幕曝光
Note7-2

至于背面,知名数码博主@i冰宇宙 在其微博发了几张Note8的保护壳图片。从图中可以知道,Note8将搭载双摄像头,心率传感器和指纹识别区域位于双摄右侧,之前爆出的屏下指纹识别可能会被砍的消...

基于GD32F450的机智云功能板应用
小电机

机智云功能板是一个功能较强的开发板,将它与GD32F450相配合可以达到优势互补的效果,受时间的限制,目前先探索到这里,后面若有时间可添加PWM电机调速、DHT11温湿度检测与显示控制等。

你喜欢这样的三星Galaxy C10吗?:骁龙660加持 中国特供
Galaxy -1

图片显示,Galaxy C10除了双摄像头,我们还能看到其延续了C9系列的MSA微缝天线,其它与前代并没有太大区别,整机采用了全金属机身,配备正面指纹识别。

基于GD32F450的红外解码—上位机解决方案
GD32F450的红外解码

上位机使用C#语言编写,因为C#有强大的类库,可以处理好多东西。而且使用GDI+也比较方便。

你不可不知的——基于GD32F450的红外解码解决方案!
解码

要红外分析仪,那必须要有红外的接收头,这个在网上买的HS0038一体化接收头塑封红外接收头红外接收管,这东西很便宜。

给我留言

您必须 [ 登录 ] 才能发表留言!