嵌入式软件代码保护系统的设计方案.docxVIP

嵌入式软件代码保护系统的设计方案.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE 1 PAGE 1 嵌入式软件代码保护系统的设计方案 如何保护核心的嵌入式软件代码,对于保护公司的学问产权、延长产品的寿命,提高公司的利润有着特别重要的意义。目前的嵌入式系统中,软件代码一般存储在诸如EEPROM、Flash等存储器中,但其中存储的程序代码易被读取,非法拷贝,是其致命弱点。本文提出了一种全新的嵌入式产品软件代码保护系统,该系统适用于目前通用的基于I2C、SPI总线的EEPROM和Flash;以及主流厂商的NAND-Flash。 嵌入式产品由于其独特的稳定性、低廉的成本优势以及优良的可移植性,已经在互联网、科学研究、军事技术、工业掌握、通讯以及人们的日常生活中得到了广泛的应用。在嵌入式系统中,如何保护核心的嵌入式软件代码,对于保护公司的学问产权、延长产品的寿命,提高公司的利润有着特别重要的意义。目前的嵌入式系统中,软件代码一般存储在诸如EEPROM、Flash等存储器中,但其中存储的程序代码易被读取,非法拷贝,是其致命弱点。 目前为止,有些厂商采取先预先加密软件代码,写入存储器中,执行时,通过软件解码来实现对代码的保护,但是这种方法效率低,成本高,实用性比较低;现有的一些硬件加解密系统,只能保护有限类型的NAND-Flash存储器中的代码,并且系统中的密匙一旦固化就无法转变。针对这些局限性,本文提出了一种全新的嵌入式产品软件代码保护系统,该系统适用于目前通用的基于I2C、SPI总线的EEPROM和Flash;以及主流厂商的NAND-Flash。 1嵌入式软件代码保护系统构成 嵌入式软件代码保护系统由两部分组成:PC机上运行的TDES加密软件和硬件电路中隔离处理器与软件代码存储器直接通路的代码保护芯片组成,如图1所示。PC机上的TDES程序对嵌入式软件代码进行加密,生成密文形式的数据,并写入软件代码存储器中CONTROLENGINEERINGChina版权全部,供嵌入式系统使用;同时通过GPIO口模拟I2C或者SPI通信协议,对代码保护芯片中,存放相关重要数据的EERPOM区域进行配置:达到诸如更改代码保护芯片中TDES的密匙的目的。 代码保护芯片内嵌于嵌入式系统的硬件电路中,用户可以选择隔离处理器和指令代码存储器之间的通路:全部写入存储器的数据将被加密后才写入其中;全部从存储器中读出的数据将被解密后才送回给CPU执行;用户也可以选择不隔离处理器和存储器之间的通路:读写操作将不会进行任何加密和解密。 图1嵌入式软件代码保护系统 2代码保护芯片设计 2.1内部结构简介 代码保护芯片隔断了原有嵌入式系统处理器和软件代码存储器之间的直接通路,如图2所示。该系统主要分成主从I2C总线接口模块、主从SPI总线接口模块、Nand-Flash通信模块以及核心掌握模块。 假如用户选择I2C接口,芯片将通过I2C总线和存储器进行通信,假如用户选择SPI接口,芯片将通过SPI总线和存储器进行通信,否则芯片将通过NAND-Flash模块和存储器进行通信。 假如用户选择加密模式,那么处理器和存储器之间的通路将被隔断,全部预备写入存储器的数据经过TDES加密后才写入其中,全部从存储器读入的数据经过TDES解密后才送回至处理器执行;假如用户选择不加密模式,那么处理器将直接和存储器进行通信,代码保护芯片将不启动任何加密/解密操作。这种设计方式,使得芯片可以适用于更多的嵌入式系统,同时也赐予用户最大限度的敏捷性。 图2代码保护芯片架构 2.2核心处理模块 核心处理模块是整个系统的核心部分,如图3所示:主要完成指令译码、掌握FIFO的读写、掌握TDES加密/解密的运行,掌握I2C、SPI、通用Nand-Flash模块和外界的数据接收和传送以及对内部EEPROM进行操作。当代码保护芯片接收处处理器发出的读数据命令后,将从存储器中预取64字节的数据,然后进行TDES解密。解密的同时,芯片再次从存储器预取64字节的数据,写入内部的另外的64字节FIFO中:乒乓FIFO架构的设计以及采用流水线技术的TDES加密/解密,大大提高了代码保护芯片的效率。 图3核心处理模块框图 2.3芯片内部EEPROM存储数据内容介绍 由于存储器出自不同的厂商,因此对于存储器的读写等命令存在着一定的差异,为了满意系统对不同厂商芯片的适用性,该代码保护芯片内部内嵌了一个64字节的可读写EEPROM,用来存放一些特别的数据,用户可以通过特别的命令,达到对相关地址的写操作。相关地址存放数据如下所示: 地址0x00至0x05:分别代表SPI读操作指令代码、SPI写操作指令代码、SPI写状态寄存器指令代

文档评论(0)

185****9607 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档