电子产业
数字化服务平台

扫码下载
手机洽洽

  • 微信小程序

    让找料更便捷

  • 扫码下载手机洽洽

    随时找料

    即刻洽谈

    点击下载PC版
  • 华强电子网公众号

    电子元器件

    采购信息平台

  • 华强电子网移动端

    生意随身带

    随时随地找货

  • 华强商城公众号

    一站式电子元器件

    采购平台

  • 芯八哥公众号

    半导体行业观察第一站

FS8806在嵌入式软件及数据保护中的应用

来源:华强电子网 作者:华仔 浏览:231

标签:

摘要: 随着集成电路芯片技术的飞速发展、电子产品设计业也越来越开放,很多硬件解决方案已经成为公开的资料,产品设计者的核心技术往往集中在嵌入式软件内。然而,在行业竞争日益激烈的今天,很多公司发现自己的产品投放市场后不久就被克隆,对公司造成巨大的损失,因此如何保护自己的产品已经成为嵌入式产品领域一个迫切需要解决的问题。 一般人们比较容易想到用软件实现加密系统对自身进行保护。这种方法成本较低、也比较容易实现,

随着集成电路芯片技术的飞速发展、电子产品设计业也越来越开放,很多硬件解决方案已经成为公开的资料,产品设计者的核心技术往往集中在嵌入式软件内。然而,在行业竞争日益激烈的今天,很多公司发现自己的产品投放市场后不久就被克隆,对公司造成巨大的损失,因此如何保护自己的产品已经成为嵌入式产品领域一个迫切需要解决的问题。
一般人们比较容易想到用软件实现加密系统对自身进行保护。这种方法成本较低、也比较容易实现,但是具有占用主机系统资源较多,核心模块容易被跟踪和替换、密钥管理难度较大等缺点;再加上嵌入式系统空间有限、资源宝贵,用纯软件办法对产品进行保护对于大部分嵌入式系统来讲并不实用。
针对嵌入式系统的特殊性,还有一种保护机制,即在产品设计上嵌入一种特殊的安全芯片,应用软件通过和该硬件芯片密钥认证的方式来控制程序的流程,从而达到保护的目的。由于这种系统将大部分工作放在安全芯片内部,不影响系统的整体性能,而且对密钥的管理更加隐蔽,所以更适合于嵌入式软件的保护。福华先进微电子最近推出的FS8806正是这样一种芯片。
除了代码的安全性以外,有些用户数据也是非常机密的,产品设计者往往需要特定的芯片去实现安全数据存储。现在应用FS8806,用户不用增加多余的成本,在保护代码的同时就可以保护机密数据。
芯片内部结构主要由时钟模块、复位模块、I2C/SPI控制模块、加解密认证单元、CRC校验单元、数据缓冲区和EEPROM等几部分组成。其中复位模块主要对芯片进行供电、提供复位管理和掉电保护等功能;I2C/SPI控制模块用于控制在不同通信方式下数据的传输;加解密认证单元实现DES算法加解密及数据访问的安全管理;CRC校验用于数据传输的正确性;EEPROM则保存重要数据和代码。


图1:FS8806的内核结构。

FS8806芯片内置了一个64位的DES加密算法模块对数据进行加解密,保证数据的安全性。DES算法是美国IBM公司在20世纪70年代提出的一种标准加密算法,其保密性仅取决于对密钥的保密,而算法是公开的。尽管人们在破译DES方面取得了许多进展,但至今仍未能找到比穷举搜索密钥更有效的方法,然而64位长的密钥意味着共有264/种可能的密钥,换而言之,共约有1.8×1019种密钥。假设一台计算1us可执行一次DES加密,同时假定平均只需搜索密钥空间的一半即可找到密钥,那么破译DES要超过1,000年。
为了保证数据的正确性,FS8806内置了一个CRC校验I2C/SPI串行通信中数据传输有效性进行确认,为通信提供了安全保障。FS8806内置三组密钥,可以实现多层次的软件保护,客户可以根据不同的保护需求采用不同的保护措施。
基于FS8806的软件保护方案
利用FS8806的三组密钥可以实现全方位的软件保护,防止软件被抄袭、篡改。在此方案中,用户先对需要保护的代码段进行计算,生Digest(我们提供专用的PC端应用软件生成指定信息,无需用户开发),将其放入软件中空闲位置。程序执行时,将待保护的代码段分批送给FS8806计算,最后发送原有的Digest给FS8806。FS8806会将最后的认证结果反馈给SoC。如果计算值与原值不匹配,认证就无法通过。


图2:基于FS8806的全面软件保护方案。

在这种方案中,脱离了FS8806,盗版者无法正常运行系统程序;即使盗版者加上了FS8806,但是没有正确的与软件相匹配的密钥系统程序仍将无法正常运行。用户只需要保护192位的密钥即可实现整个软件的保护。除了用于软件保护外,FS8806内置的EEPROM还可以更安全地存放机密数据。
基于FS8806的安全数据存储方案
FS8806内嵌768比特的EEPROM,可以存储用户数据。与普通的EEPROM不同的是,FS8806的所有读取操作需要密钥的支持,所以可以保护用户数据不被非法窃取。基于FS8806的安全数据存储方案如图3所示。


图3:基于FS8806的安全数据存储方案。

如果SoC持有的密码与FS8806所持有的密码不匹配,SoC就无法对FS8806内置的EEPROM进行读写操作。由于SoC与FS8806通信线路上的数据流是经过加密的,故而可以防止盗版者从通信线路上捕获数据。用户只需要保护好64位的密钥就可以保护最大768比特的机密数据。
应用实现
FS8806采用SPI或I2C模式与MCU进行通信。因此与微处理器的硬件接口相对容易。在嵌入式系统中,FS8806只要与相应的I2C接口引脚直接相连即可。若系统的SoC没有专用I2C接口引脚,可使用一般的I/O引脚(GPIO)与FS8806的时钟线和数据线相连,采用I2C模拟方式就可以正常工作。但无论是否进行I2C的模拟,其总线上一定要保证符合I2
型号 厂商 价格
EPCOS 爱普科斯 /
STM32F103RCT6 ST ¥461.23
STM32F103C8T6 ST ¥84
STM32F103VET6 ST ¥426.57
STM32F103RET6 ST ¥780.82
STM8S003F3P6 ST ¥10.62
STM32F103VCT6 ST ¥275.84
STM32F103CBT6 ST ¥130.66
STM32F030C8T6 ST ¥18.11
N76E003AT20 NUVOTON ¥9.67