为DSP程序的构造的加密体制

时间:2023-03-18 16:49:58 理工毕业论文 我要投稿
  • 相关推荐

为DSP程序的构造的加密体制

摘要:提出一种DSP程序保护方法,利用3DES、Geffe发生器和MD5等算法,构造一种加密体制。在DSP程序运行的同时,对其进行加密处理,让加密贯穿程序的整个运行过程,以此实现对DSP程序的保护。

目前,DSP以其卓越的性能、独有的特点,已经成为通信、计算机、消费类电子产品等领域的基础器件。同时,随着对知识产权的重视,在利用DSP进行产品设计时,如何保护自己的成果,防止破译者窃取,也成为设计者工作在一个重要方面[1,2]。如果产品大批量生产,那么可以利用掩膜技术等工艺将操作程序及数据写入芯片,使它们不能被读出,达到保护的效果。对于还没有形成规模的产品,使用这样的方法就会使成本大大增加。因此,本文提出一种方法,利用3DES、Geffe发生器和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 相关算法[3]

(1)3DES算法

数据加密标准DES(Data Encryption Standard)产生于20世纪70年代。经过20多年的使用,目前仍是一个世界内的加密标准。这说明它的安全性相当高。它是一个分组加密算法,以64位分组对数据加密。密钥K的长度也是64位,可以是任意数。DES算法是对称的,加密与解密使用相同的算法与密钥(除了密钥的编排顺序不同)。因而可以说,DES算法的保密性完全依赖于密钥K。

目前对DES的破译,最有效

【为DSP程序的构造的加密体制】相关文章:

乡镇自治:根据和路径-以20世纪乡镇体制变迁为视野05-24

从程序本位到程序自治06-04

现行城乡规划治理体制(精选5篇)05-11

交通运输司法的体制理工论文05-03

高校行政管理体制的优化与创新06-11

关于创建新型教学模式以完善教育体制08-09

开题会的程序03-07

基于dsp三相变流器滑模变结构控制(c)06-03

在乡镇体制改革中建立现代乡镇制度06-02

不动产制度与物权法的理论和立法构造05-29