福华先进FS88x6加密芯片解决嵌入式应用安全难题
扫描二维码
随时随地手机看文章
在半导体行业中,嵌入式系统应用有着举足轻重的份量,不管是行业内的嵌入式应用还是风头日盛的消费类嵌入式应用。例如,在消费类市场中,PC正日益面临着其他消费类电子设备的竞争,早期的PDA和今天的黑莓(Black Berry)手机取代了收发电子邮件的功能,MP3/MP4播放器取代了音视频多媒体欣赏功能,PS2/Wii将游戏带到了世界各个角落的各种人群,iPod/iPhone的影响就更不用说了。
不过,对于嵌入式行业而言,无论是从产业链的最高端IP提供商,还是生产各种产品的OEM,都无法给这个产业拟定一个标准,也就是说,这个行业是相对来说更开放、更具潜力。这个市场的机会很多,只要你拥有足够吸引人的“杀手级”应用产品。但问题往往出现在这里,机会多了,就会有人想尽办法地去破解别人的产品,偷窃别人的劳动成果。从长远来说,这样必定会危害整个行业的发展。为促进整个市场的健康发展,我们应该尽可能地阻止这种“盗版”现象的发生,为你的产品加上一把“锁”。
当前市场上存在的加密产品可分为几大类:
第一类是所谓的加密存储产品。这类产品的大致原理是将普通的EEPROM进行某种算法的加密,以保护存储在其中的资料。但是通常这类产品的加密算法都是不公开的,是没有得到国际公认的算法,因此其加密等级也是没有任何标准的。且这种产品与系统中主MCU的H/W接口(Interface)是独立的,这也就意味着,如果你的系统中有相同接口的其他器件,那么这些器件是不能与这种加密芯片同时存在的。
另一类则具有更简单算法和更简单H/W接口,通常是通过一个根线缆与主MCU进行通讯。这样存在的问题的,若系统需要加密的数据量较大时,则加密数据的速率会比较低。且这种通讯协议是不常用的,也是不能与其他器件共用的。
还有一些其他的加密方法,例如用户自己使用一些单片机,并开发一些简单算法,以达到与主CPU通讯时数据加密的效果。采用这种方法用户可以完全掌握技术细节,但是需要花费较大的精力和财力才能完成。
FS88x6是福华先进微电子有限公司推出的系列加密芯片,包括FS8806、FS8816、FS8826三种型号。FS88x6系列加密芯片在很大程度上解决了上述各种问题。
首先在H/W接口上:FS88x6采用I2C (图1)或SPI(图2)的通讯方式,这两种都是很常用的协议,开发起来非常简单方便,用户可以根据自己系统的特点选择使用I2C还是SPI的通讯方式,且不论是使用系统硬件上的I2C/SPI模块,或是使用GPIO模拟I2C/SPI协议,都可以与FS88x6进行通讯。加密等级:FS88x6采用国际公认的3DES加密算法,密钥的长度为192位。加密方式:FS88x6可以加密几乎嵌入式系统中的任何数据,包括存储在系统FLASH中的Firmware。加密过程中:在I2C/SPI总线上的数据,每次都是加密的,且加入了随机数,也就是说,对于同样的数据,在不同时间去测量,会有不同的结果。
图1:I2C通讯方式
图2:SPI通讯方式
用户使用FS88x6芯片的流程如下:
1. 选择I2C或SPI通讯方式,与FS88x6进行通讯,将硬件上的简单通讯调试通过。
2. 为客户提供定制的FS88x6 library。该library的作用在于提供给用户可以在其使用的平台上运行的、并且与FS88x6加密芯片相对应的软件算法。该library可支持几乎所有嵌入式平台。目前支持比较多的平台及编译器在表1中列出。
3. 使用Code Generator工具(由福华公司提供),让用户将其原始bin文件或其他格式二进制文件转换成加密后的二进制文件Concerto bin。将此加密后的二进制文件烧录至用户系统中。
所有步骤完成后,系统架构如图3所示,其中Concerto SW组成如图4所示。
图3:采用FS88x6系列加密芯片的系统架构图
图4:Concerto SW组成框图
当系统程序受到外部非法修改时(哪怕是修改1位),该方案也能自动识别并做出相应的处理,这就保证了整个系统代码的完整性。在系统的代码区域实际包含3部分内容:用户嵌入式应用软件ESW、FS88x6Lib以及通过Code Generator加密目标文件时产生的加密信息Digest,Digest是ESW经过Hash运算的结果,即ESW和Digest是一一对应的,如果ESW中有1位code被修改,而Digest没有发生对应的改变,则FS88x6将会检测出问题并报错。
目前FS88x6已成功应用于各种嵌入式系统中,包括机顶盒、PMP、游戏机、蓝牙耳机、PDA、网络应用及IP摄像头等。
表1:FS88x6加密芯片可支持的嵌入式平台及编译器