嵌入式 > 技术百科 > 详情

选择专用芯片构建嵌入式软件保护模块

发布时间:2023-06-12 发布时间:
|
软件盗版率高居不下已成为众所周知的现实。根据BSA(美国软件企业联盟)的调查, 2005年全球平均软件盗版率为36%,为此开发商要损失约290亿美元。针对这一前提,软件开发商可以主动地采取技术手段,保护软件不被盗版。

对嵌入式系统产品而言,由于其应用针对性强、更强调系统软硬件的紧密耦合等特点而不同于普通的PC系统,尤其在一些小型的嵌入式系统中,它不具备PC的丰富资源。因此,PC行业中常用的软件加密狗不能适用在这些系统中,进而需要一种全新的思想和方案来保护嵌入式系统的软件。

目前,有许多嵌入式系统中也加入由专用芯片构成的软件保护模块,这类芯片多为第三代E2PROM存储型产品,缺点是在端口进行数据分析就容易被破解。为适应市场需求,福华先进微电子(上海)有限公司推出了一款嵌入式系统软件的安全保护方案——嵌入式软件安全卫士,其所用芯片FS88x6具有应用面广、功耗小、安全性高、无需带CPU等特点,潜在市场巨大。

该解决方案具有以下特点:

安全、采用国际公认的加密算法、多层保护机制;认证性:Authentica-tion;完整性:检测Code 的完整性;保密性:存取User 自订的

保密资料;便利:易于加入已开发系统中, 达到系统保护的作用;实用:不需再开发额外的MCU, 就能保护系统

整个方案由嵌入到用户程序中的库文件FS88x6Lib和硬件芯片FS88x6两部分构成,FS88x6与系统CPU通过I2C总线相连,如图1所示:

将FS88x6Lib整合到用户程序并编译连接生成目标文件(通常为hex或bin文件),然后通过FameG提供的Code Generator工具软件将该目标文件加密后再下载到用户嵌入式系统的Code Memory区(如外接的Nor Flash等),FS88x6Lib负责整个系统与FS88x6芯片之间的通信和认证工作,通信数据都是经过加密的。

方案的认证功能是通过多方面表现出来的,下面介绍其主要的两个原理特性:

(1) 代码、数据移植保护

由于FS88x6中有96Byte加密的E2PROM区域,用户可自定义使用,因此,它具有类似上面加密锁的功能,即把系统中重要的数据或代码放在FS88x6中,系统脱离FS88x6将无法运行。

(2) 对嵌入式系统软件完整性的保护

当系统程序受到外部非法修改时(哪怕是修改1bit),方案能自动识别并做出相应的处理,这就保证了整个系统代码的完整性。在系统的代码区域实际包含3部分内容:用户嵌入式应用软件ESW、FS88x6Lib以及通过Code Generator加密目标文件时产生的加密信息Digest,Digest是ESW经过Hash运算的结果,即ESW和Digest是一一对应的,如果ESW中有1bit code被修改,而Digest没有跟着对应的改变,FS88x6将会检测出问题并报错。如图2所示:

在运行过程中,系统CPU将ESW和Digest根据设定的要求分批的送入FS88x6,FS88x6将根据对应的算法以及预存的密钥,对送进来的代码进行计算校验并反馈认证结果,以达到保护系统的目的。

目前,FameG的该嵌入式软件保护解决方案已广泛应用于机顶盒、PDA、GPS、PMP、Bluetooth headset等系统中,其对应芯片FS88x6也已量产出货。


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
光纤通道的实时数字图像存储