洪家平,高美珍
(1.湖北师范学院 计算机科学与技术学院,湖北 黄石 435002;2.湖北师范学院 物理与电子科学学院,湖北 黄石 435002)
据统计,全球每三款嵌入式应用系统中就有一款应用软件被非法拷贝或盗版,而面对种类众多的解密公司,单纯的软件保护已无济于事, 且其保护力度也远远不能经受市场的考验,如果用特定的硬件来保护这些嵌入式系统应用软件,或使用软硬件相结合的保护技术,这样就有可能有效地加大对盗版和破解的难度。针对这种MCU加密易被破解的局面,防抄版嵌入式加密芯片DM2016能有效地解决上述问题。
DM2016的内部结构如图1所示,在结构上内嵌了1024bits的E2PROM,采用明文随机数产生方式、密钥OTP写入、数据线自动熔断不可读等多种保护措施。嵌入式加密芯片DM2016广泛应用于GPS、DVD、DVR、DVB以及大部分嵌入式应用系统中。
DM2016还有如下特性,如表1所示:
表1 DM2016的特性
DM2016是一款基于嵌入式系统的专业防抄版加密与解密芯片,如图2所示,是CPU与DM2016在进行加、解密时数据传递关系原理图。DM2016通过I2C总线与主控器芯片CPU相连,通过在主程序中嵌入加密程序,当加密程序被调用运行时,即从RAM里面随机调用一组数据作为明文,与程序里面的密钥混合后产生一组暗文,暗文再通过I2C总线传送到加密芯片,按反算法与加密芯片中密钥产生明文,再与RAM中的明文进行比较,两者一致则资格认证通过,程序继续运行, 如果两者不一致则程序中断退出,从而保护用户程序。如图3是DM2016加密与解密系统流程图。
图1 DM2016的内部结构图 图2 CPU与DM2016加、解密数据传递关系原理图
图3 DM2016加密与解密流程图
如图4所示,是DM2016加密芯片在嵌入式系统加密领域中的应用结构原理示意图。从图中可以看出,DM2016是通过I2C总线与微处理器(Processor)相连的。DM2016与微处理器之间的数据传输与通信完全遵守I2C总线的通信协议。
微处理器对DM2016的读写操作分两种情况:
首先看微处理器对DM2016的E2PROM执行写操作,只能使用I2C总线的单字节写,不能使用I2C总线的多字节写方式,E2PROM写一个字节大约需要5ms的时间。但处理器对DM2016的E2PROM执行读操作时,则既可以使用I2C总线的多字节读,也可以使用I2C总线的单字节读方式。
另外,微处理器往DM2016中写密文时,要使用I2C总线的多字节写方式,一次写8个字节,立即读明文。处理器从DM2016中读明文时要使用I2C总线的多字节读方式,也是一次读8个字节。
下面是一个实际数据输入的例子:
{
......
unsigned char srcData[8]; //存放原始数据(随机数)
unsigned char decData[8]; //存放需加密的运算数据(随机数)或运算结果(密文)
......
//在具体的开发平台上产生一组随机数共64位,假设数据为0x01、0x23、0x45、0x67、0x89、0xab、0xcd、0xef
SrcData [0]=0x01;
SrcData [1]=0x23;
SrcData [2]=0x45;
SrcData [3]=0x67;
SrcData [4]=0x89;
SrcData [5]=0xab;
SrcData [6]=0xcd;
SrcData [7]=0xef;
DecData [0]=0x01;
DecData [1]=0x23;
DecData [2]=0x45;
DecData [3]=0x67;
DecData [4]=0x89;
DecData [5]=0xab;
DecData [6]=0xcd;
DecData [7]=0xef;
.....
//用户自定一个128位的Key1,该值与芯片中烧入的值一样,这里假设定义的值如下:
unsigned char Key [16]=
{ 0x01,0x23,0x45,0x67,0x89,0xab,0xcd0xef,
0xfe,0xdc,0xba,0x98,0x76,0x54,0x32,0x10};
unsigned char result=EDesEn_Crypt (decData, Key);
If (result! =0)
{
//进行出错处理
}
//此时在decData数组中存放着密文,值为0xf7、0x73、0x72、0xb7、0xba、0xdf、0x2f、0x81
//将产生的decData数组中存放着的这8个字节密文通过I2C 总线送给DM2016芯片进行解密。
图4 DM2016与嵌入式芯片连接原理图
本文介绍了嵌入式防抄版加密解密系统加密芯片DM2016的结构、特点,同时给出了DM2016在嵌入式系统中的加密方法及应用。随着嵌入式系统越来越广泛的应用,嵌入式系统的安全保密问题也越来越受到广泛的重视。而嵌入式防抄版芯片DM2016为防止嵌入式系统开发成果被仿制或剽窃提供了更为强有力的保障。
[1]洪家平.基于嵌入式系统的数字视频加密技术[J] 电子技术应用,2009,5:141~144.
[2]洪家平.加密芯片DM2016在数字电视加密中的应用[J]. 单片机与嵌入式系统应用,2008,8:38~40.
[3]洪家平.AES在嵌入式系统起动加载程序中的应用[J]. 信息安全与通信保密,2007,2:54~56.
[4]李桂满,李 国.加解密算法BlowFish在单片机上的应用 [J].单片机与嵌入式系统应用,2007,10:12~14.
[5]洪家平,董武世.基于嵌入式系统的时分多址通信协议的实现 [J].微计算机信息,2005,7:31~33.
[6]宋 凯,严丽平,甘 岚. 嵌入式图像处理系统的设计与实现[J]. 计算机工程与设计,2009,(19) :4368~4370.
[7]郭协潮.遗传算法在信息安全中的应用研究[J]. 计算机工程与应用,2012,(3):127~131.
[8]郑更生,方 勇,肖 婧. 嵌入式无线视频监控系统的设计与实现[J]. 武汉工程大学学报,2012(10):66~68.