目前,dsp以其卓越的性能、独有的特点,已经成为通信、计算机、消费类电子产品等领域的基础器件。同时,随着对知识产权的重视,在利用dsp进行产品设计时,如何保护自己的成果,防止破译者窃取,也成为设计者工作在一个重要方面。如果产品大批量生产,那么可以利用掩膜技术等工艺将操作程序及数据写入芯片,使它们不能被读出,达到保护的效果。对于还没有形成规模的产品,使用这样的方法就会使成本大大增加。因此,本文提出一种方法,利用3des、geff发生器和md5等算法,构造一种加密体制,来保护dsp程序。
1 加密原理及硬件结构
1.1 加密原理
该体制的加密原理可分为2个层次。首先是对程序的初始保护,就是把程序写入dsp芯片之前,对源代码进行加密处理,然后将密文写放入芯片。这样芯片中就不存在明文形式的源代码。当要运行该程序时,就从微狗中取出密钥进行解密,再继续运行。第2个层次就是在dsp程序运行过程中的连续保护。它的处理对象是一些重要参数或变时,通过“加锁”,让它们一直以密文形式存在于程序中。只有需要使用这些数据时,才从微狗内取出密钥进行解密。使用结束后,仍旧“加锁”保护,使之仍然是密文形式。
1.2 硬件结构
在这种加密体制中,需要1片微狗实现密钥管理。如果原来的dsp系统中已经存在带有加密位的epld、cpld或单片机,就可以利用以有资源进行设计,把它们作为微狗,完全不需要额外的硬件支持。否则,不妨用1片单片机完成微狗功能。这是由其良好的性价比决定的。
2 工作过程和密钥管理
根据加密原理,该体制的工作过程同样分为2个层次。首先,是初始程序保护,它以程序整体为处理对象。然后,是基于数据的连续保护。保护对象是一些重要参数事变量。它保证了加密贯穿程序运行的整个过程。在工作过程中,密钥管理非常关键,可以说,该体制的安全与否就体现在密钥管理上。
2.1 初始程序保护
初始程序保护使用的加密算法是3des算法,加密结束后,销毁密钥,同时将密文写入芯片。这样芯片内就不存在程序的明文形式,可以防止别人通过简单的反汇编得到程序源代码。开始运行dsp程序时,就在dsp监控程序的控制下,从微狗内取出相应的密钥,解密恢复出源代码。
微狗主要实现密钥管理功能。内部密钥的生成机制和主程序完全相同。把主程序以密文形式写入dsp芯片时,通过监控程序告知微狗,微狗内部同时生成对应密钥k0;主程序开始运行时,再在监控程序控制下,从微狗内取出密钥k0,解密,得到明文形式源代码。
可是,由于只有1个密钥,破译者完全可以通过截取dsp和微狗之间的通信数据,很容易地得到密钥。一旦得到密钥,这种保护体制也就形同虚设了。因此,我们又采取了基于数据驱动的连续保护。
2.2 基于数据驱动的连续保护
所谓基于数据驱动的连续保护,即是对程序中重要的参数或变量进行加密处理。由于这些参数或变量在程序运行时需要反复使用。故而通过对它们的保护,就可以使加密贯空程序的整个运行过程。
譬如对滤波器系数ap的保护,将其加密,即“加锁”,同时销毁密钥。在求ap+1时,需要用到ap,就向监控程序发出申请,在它的控制下,从微狗中取出对应密钥,开销,恢复ap,进行运算。运算结束后,再将ap和ap+1“加锁,保存,继续执行dsp主程序。这样不停地“加锁”、“*”,使得在同一时刻dsp主程序中都存在密文。
此时微狗中密钥的生成必须和dsp主程序中的加密处理“同步”,即主程序的加密密钥要和微狗内生成的对应密钥相同。这个可以由dsp监控程序利用dsp内部的中断程序协调实现。使用密钥ki对某参数或变量加密结束后,通过中断告诉监控程序加密完成,然后锁毁该密钥。继续执行dsp程序时,若需要使用该参数或变量,就向监控程序发出要求,在监控程序的控制下,从微狗中取出对应密钥ki,解密。其具体过程如图1所示。
其中,a、b为主程序和dsp监控程序之间的数据交换,包括彼此呼叫与应答;c为dsp监控程序对微狗的控制,发出某种命令;d是主程序在dsp监控程序的控制下,从微狗内取出相应的密钥。
微狗将生成的密钥依次排列,然后等待主程序取密钥。不论是初始程序保护还是基于数据的连续保护,都只受监控程序的控制。这样可以保证主程序获得正确密钥。
加入连续保护后,破译者要想得到源代码,必须跟踪程序的整个运行过程。这样,对于破译者而言,所花费的代价等于自己独立写一套程序,显然也失去了破译的必要。
2.3 细节处理
除了上述保护措施,还可以使用一些编程技巧,在细节上小心谨慎,写出让人“眼花缭乱”的程序,否则,破译者很可能不必完全跟踪,就能够获取源程序。因为目的是要迷惑别人,所以就得尽量破坏程序的可读性。譬如打乱程序的正常顺序,使其显得杂乱无章;适时适地插入无用代码,增强干扰;使参数变量的命名晦涩难懂,绝对不能有key、digest等诸如此类可以望文生义的名称。总之,要让破译者对获取的内容不知所云,以增加其还原源程序的难度。
3 相关算法及密钥生成机制
该体制的加密算法是3des,是个对称算法。其安全性可以说完全体现在密钥上。因此,如何产生一个“安全”的密钥至为关键。在密钥的生成机制中,用到了geffe发生器和md5算法。
3.1 相关算法
(1)3des算法
数据加密标准des(data encryption standard)产生于20世纪70年代。经过20多年的使用,目前仍是一个世界内的加密标准。这说明它的安全性相当高。它是一个分组加密算法,以64位分组对数据加密。密钥k的长度也是64位,可以是任意数。des算法是对称的,加密与解密使用相同的算法与密钥(除了密钥的编排顺序不同)。因而可以说,des算法的保密性完全依赖于密钥k。
目前对des的破译,最有效的是穷举功击。之所以说des已经不太安全,是因为其密钥短。以现今的运算技术来说,计算量已经不算很大。不过,如果增加密钥的长度,其安全性也可以相应地增强。3des正是基于这样的原理。加密时,使用2个不同的密钥k1和密钥k2对1个分组进行3次加密。也就是说,先用密钥k1加密,然后用密钥k2解密,最后用密钥k1加密;解密时则先用密钥k1解密,然后用密钥k2加密,最后用密钥k1解密。
计算式如下:
c=e1(d2(e1(p))) (1)
p=d1(e1(d1(c))) (2)
其中,p为明文,c为密文。ei()为加密函数,di()为解密函数。
(2)geffe发生器
geffe发生器是一种密钥序列发生器,利用线性反馈移位寄存器lfsr(linear feedback shift register)产生序列密码。lfsr的输出就是m序列,是一个伪随机序列。geffe发生器使用了3个lfsr,以非线生方式组合。其中,2个lfsr作为复合器的输入,第3个lfsr控制复合器的输出。使用相关攻击,geffe发生器的破译并不难,故而不能直接将它作为3des算法的密钥,因此这里对其作取摘要处理。
(3)md5算法
md5(message digest)算法是由mit的密码专家,rsa算法的发明人之一ron rivest设计发明的一种认证算法标准。md5算法完成于1992年,它可以对任意长的报文输入,得到1个128位的输出。该算法可以保证2条不同的报文产生相同的摘要的可能性很小,并且由给定的摘要反向求其对应的报文极端困难。因此将摘要作为密钥既可以保证随机性,安全性也能提高了不少。
3.2 密钥的生成机制
无论从3des算法本身,还是从该体制的加密原理来讲,密钥的生成机制都至关重要。因此,必须保证使用的密钥是安全的。其安全性体现为两个方面:一是密钥本身是随机的;一是密钥的管理机制。
密钥的生成过程如下:先由geffe发生器得到一随机序列,然后通过md5算法取摘要,得到的128比特数据就是密钥k1和密钥k2组合。由geffe发生器及md5算法原理可以看出,这样产生的密钥是随机的。
由该体制的工作过程可以看出,密钥的管理是安全的。这是由于在主程序内,加密结束后,随即将密钥销毁,主程序内不保留密钥;使用密钥时,通过监控程序从微狗内获取。微狗和dsp是物理分开的,保证了密钥存放的安全。
4 结果分析
严格地说,这种方法并不属于加密,只是一种保护手段——利用几个简单的,结合dsp和单片机的特点,构造一种保护体制。甚至其效果究竟如何,可以从2个方面分析。
4.1 安全性分析
既然是一种保护方法,那么安全性是最重要的指标。由这种体制的加密原理及工作过程,可以看出安全性可以保护。3des算法,无论从理论上还是实践上,都是一种相当好的加密算法。虽然利用穷举攻击,该算法最终可以破译,但需要2 112次穷举,所花费的代价实在太大,可以说得不偿失。因此,只要保证密钥的安全,可以认为这种保护体制是完全的。而从密钥的生成过程和管理机制来讲,密钥是安全的。
4.2 性能分析
这种保护方法的速度很快,因为3des算法要是混乱和扩散的组合,只使用了标准的算术和逻辑运算。geffe发生器和md5算法用到的也主要是逻辑运算,用dsp或者单片机实现非常方便。譬如对于tms320vc5402来说,geffe发生器产生64字的伪随机序列需要296 544个周期,md5处理64个字长的消息需要用3400个周期,所花费的时间分别为2965ms和0.003ms。
因此,我们只是利用了一些简单的算法,结合dsp和1片微狗,构造出1个dsp程序保护体制,以小代价获得了好的效果,还是很值得的。
LTM8054 14.4V、3A 铅酸电池充电器输入电流限制为 2A
Pico.1虚拟现实头盔评测 整机状态表现不俗
交流直流电源之间如何进行变换,变压器、整流器、逆变器、DC-DC变换器的区别
无线智能照明控制系统的“无线”是如何实现的
5G共建的时候为何不见中国移动
利用掩膜技术实现DSP程序加密保护体制的设计
BAT争相入局自动驾驶 百度的野心最大而腾讯紧随其后
红外甲烷传感器工作原理
供电0-1小时的定时交流电源电路
数字监控的核心技术解析
RFID在物流中的应用
可燃气体检测仪使用注意事项
MEMS陀螺仪技术原理_三轴陀螺仪技术原理
2024年DRAM投片量:一季度微增,下半年剧增
大尺寸导电滑环市场的应用强度怎么样
移动通信基站辐射的妥善设计方案
调光恒流控制IC新版本升级方案SM2212EK替换长运通调色方案
马斯克入华远不仅在汽车行业的重要意义,他还扮演着重要政治角色
碳化硅与碳化硅(SiC)功率器件
关于塑磁转子特性 哪里有 报价 你想知道的在这里