APP下载

基于通用存储器的低成本加密应用方案

2017-06-16满佳喜

科技创新与应用 2017年17期
关键词:存储器加密

满佳喜

摘 要:在电子技术飞速发展的今天,存储器在电子系统中被大量使用,EEPROM(Electrically Erasable Programmable Read-Only Memory电可擦除可编程只读存储器)作为一种通用非挥发存储器件被广泛的应用在各类电子系统中,复旦微电子提供的24系列串行EEPROM在消费电子领域被大量的应用。电子系统中一般都有应用软件,且常常将该软件存放在EEPROM存储器中,为避免软件设计产权轻易的被复制,在电子系统设计中对于应用软件的防复制保护也越来越受关注。文章介绍一种基于复旦微电子新型通用24系列串行EEPROM的加密解决方案,在不额外增加硬件成本的情况下达到保护软件产权的目的。

关键词:存储器;EEPROM;加密;软件保护

1 系统方案

在电子系统设计中,常常将系统软件存放在EEPROM中,上电后处理器自动将EEPROM中的软件数据读出载入到控制器内部的RAM(Random Access Memory)执行,传统的EEPROM只具有单一的主存储空间,该空间存储的软件数据可通过IIC(Inter-Integrated Circuit)总线接口直接读出,没有任何的加密措施,因此存储在EEPROM中的软件数据可以轻易的被读出并写入到另一套完全复制的电子系統中。开发一套新的电子系统产品一般要付出市场调研、系统设计、硬件设计、软件设计等多个环节,设计开发成本不菲,而由于存放软件的外部存储器不具有任何加密措施,一旦产品投放到市场后,整个系统很容易就会被他人复制,且由于复制者不用付出产品的开发成本,其复制后的产品在市场上会更有价格竞争力,这样的话很可能会使得一套新设计的电子系统产品以失败而告终。

在已经使用了EEPROM的电子系统中,只需要将EEPROM存储芯片更换为复旦微电子的新型通用24系列串行EEPROM产品,利用该系列产品中具有的UID(Unique ID)和OTP(One Time Program)存储空间特性,就可达到软件加密的目的。UID和OTP存储空间都是在原有的主存储空间以外,额外设计增加的存储空间,其中UID是每颗EEPROM芯片的识别号,类似于芯片的身份证,只能读取无法改写,且每颗芯片都是唯一不可复制的,一般为8字节或16字节数据长度,OTP空间是一块用户可读写的数据空间,一般为16字节或32字节数据长度,对OTP空间写入数据后用户可通过对OTP空间进行锁定操作,使得写入OTP空间的数据变为只能读取无法改写。在电子系统产品的生产过程中,用户可设置一个密钥,通过每颗EEPROM产品具有的唯一UID,配合密钥经过一定的加密算法的计算生成一段密文,并将密文存储在OTP空间,电子系统上电后,处理器通过同样的密钥对密文和UID进行解密认证的操作,只有UID和密文匹配并顺利通过认证后系统软件才继续执行,这样的话即使主存储空间的软件数据和OTP空间的密文被他人完全的复制,由于每颗EEPROM芯片的UID都是唯一不可复制的,且密钥和加密算法他人一般难以破解,因此一套复制的电子系统产品UID是无法和OTP空间中的密文匹配的,从而无法顺利通过上电后的解密认证操作,也就无法成功运行。通过以上举措,可在不额外增加系统硬件成本的情况下,达到系统软件防复制的目的。

1.1 存储器介绍

存储器是信息技术中用来存储和保存用户信息的记忆体,宽泛来讲,只要能保存二进制数据的都称为存储器。按照系统掉电后所存储的数据是否能保持不丢失,存储器分为挥发性存储器和非挥发性存储器,EEPROM产品是一种非挥发性存储器,可通过电进行擦除和编程操作,是一种掉电后数据不丢失的存储器芯片,复旦微电子的新型通用24系列串行EEPROM产品具有IIC接口,可工作在1.7V~5.5V宽电压范围,具有100万次擦写寿命和40年的数据保存能力,除主存储空间外,额外具有UID和OTP存储空间,UID为芯片的身份标识,每颗芯片的UID是唯一不可复制的,OTP空间是一块可多次进行读写操作的存储空间,用户如果希望OTP空间数据不再被改写,可对该块空间进行锁定操作,锁定后OTP空间的数据只能读出,无法再被改写,详细的芯片信息本文不做详述。

1.2 加密算法介绍

数据加密是指将原始数据配合密钥经过某种特殊的算法计算后改变原来的数据内容,这样即使用户获得了已经加密的信息,由于不知道密钥和加密算法,仍然无法清楚加密过程。数据的加密方式有很多种,如常见的校验和、CRC(Cyclic Redundancy Check循环冗余校验)、DES(Data Encryption Standard数据加密标准)等,因本文的实现验证以DES算法为例,因此此处仅介绍DES加密算法。

美国国家标准局1973年开始研究除国防部外的其他部门的计算机系统的数据加密标准,1977年1月,美国政府决定采纳IBM公司设计的方案作为非机密数据的正式数据加密标准,称为DES。目前国内DES算法在POS、ATM、智能卡、高速公路收费站等领域被广泛使用,以此来实现关键数据的加密。

DES算法的入口参数有三个:Key、Data、Mode。其中Key为8个字节,是密钥,Data为8个字节,是要被加密或被解密的数据,Mode为工作方式,有加密和解密两种。DES算法的加密操作是将Mode设置为加密,用密钥Key 去把数据Data进行加密,生成Data的密文(8字节)作为DES的输出结果,DES算法的解密操作是将Mode设置为解密,用密钥Key去把密文数据Data(8字节)解密,还原为Data的明码形式作为DES的输出结果。

详细的DES算法加解密过程本文不做详述,DES算法计算密文示例:明码为0000000000000000,密钥为1122334455667788时,DES生成的密文为6FB23EAD0534752B。

2 实现验证

为确认该方案是确实可行的,采用该方案进行实际的电子系统验证,控制器选用Silicon Lab的C8051F340,该控制器为51系列单片机,EEPROM存储产品选用复旦微电子的新型通用FM24C64D,该产品具有64Kbit主存储空间,16字节的UID,32字节的OTP空间,算法选用DES加解密算法,开发基于Keil编译环境。采用UID数据和DES算法进行软件加解密计算,增加加解密操作后处理器需要的占用的程序空间和数据空间很少,示例程序经过Keil编译后实际占用程序空间2729字节,占用数据缓存78字节。

3 结束语

在电子系统产品设计中,基于复旦微电子的新型通用24系列串行EEPROM存储产品,选择合适的加解密算法,可以在不增加系统额外硬件成本情况下,实现良好的软件加密效果,达到较好的软件知识产权保护的目的,该低成本加密应用方案已经在蓝牙、WIFI等领域有具体的客户应用,取得了较好的效果,得到了用户的高度认可。

参考文献

[1]复旦微电子FM24C64D技术手册[Z].http://www.fmsh.com/ea78de

2e-2f5a-e700-2221-7101cff37d8d/.

[2]芯科实验室.Silicon Labs C8051F340技术手册[Z].http://www.sila

bs.com/products/mcu/8-bit/c8051f32x-f34x.

猜你喜欢

存储器加密
Flash存储器W25Q16JVSNIQ替换M25P16的可行性研究
保护数据按需创建多种加密磁盘
谷歌禁止加密货币应用程序
如何驯服加密货币?
当数据抢救遇到BitLocker加密
加密与解密
独立拼装手机
存储器——安格尔(墨西哥)▲
Buffalo推出四硬盘网络存储器 主打Soho一族
容器