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

时间:2007-11-27
   软件盗版率高居不下已成为众所周知的现实。根据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也已量产出货。



  
上一篇:嵌入式LINUX系统的静/动态集成调试模式
下一篇:基于DM642的嵌入式双目机器视觉平台

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料