理论教育 使用代码安全功能的优点与方法

使用代码安全功能的优点与方法

时间:2023-06-15 理论教育 版权反馈
【摘要】:一般情况下,在开发阶段并不需要代码安全保护,只有当软件开发完成后才需要。表2-7 代码安全模块CSM寄存器CSM状态和控制寄存器的格式为●位15,FORCESEC:写1可以清零KEY寄存器,并使DSP安全。1 DSP安全,CSM锁定。Flash烧写软件可以在没有密码的情况下使一个新DSP中的安全逻辑失效,因为新DSP中的Flash是擦除过的,其内容是全l。建议一般不要这样做,因为从外部程序中提交密码会降低安全性。例2-1 解除DSP对L0和L1 SARAM安全保护的C语言程序。

使用代码安全功能的优点与方法

一般情况下,在开发阶段并不需要代码安全保护,只有当软件开发完成后才需要。在代码烧进Flash存储器前(或烧进ROM前),可选择一个密码来保护自己的代码。一旦密码烧进PWL后,复位DSP或令CSMSCR寄存器中的FORCESEC位为1,DSP就处于安全状态。在安全存储器外面运行程序不需要密码,但调试时若访问安全存储器就需要密码。

CSM的寄存器见表2-7。

2-7 代码安全模块CSM寄存器

978-7-111-57271-8-Chapter02-32.jpg

CSM状态和控制寄存器(CSMSCR)的格式为

978-7-111-57271-8-Chapter02-33.jpg

●位15,FORCESEC:写1可以清零KEY寄存器,并使DSP安全(Security)。

●位14~1,保留。

●位0,SECURE:只读位,反映了DSP目前的状态。

1 DSP安全,CSM锁定。

0 DSP不安全,CSM被解锁。

在很多情况下需要使DSP不安全,下面是一些典型情况:

1)通过调试器(例如CCS)进行代码开发时。

2)用TI公司的烧写软件进行Flash烧写编程时。一旦用户提供了密码,烧写软件就使DSP中的安全逻辑失效,并开始对Flash编程。Flash烧写软件可以在没有密码的情况下使一个新DSP中的安全逻辑失效,因为新DSP中的Flash是擦除过的,其内容是全l。然而,对一个包含用户密码的DSP重新编程时则需要密码。

3)由应用程序确定的环境。例如,用片内的导引加载器编程Flash,或者需要在外部存储器或片内没有安全保护的存储器中执行代码,同时又需要对受保护的存储器进行查表操作时。建议一般不要这样做,因为从外部程序中提交密码会降低安全性。

为了使模块不安全,所有上述提到场合的操作方法都是一样的,此过程称为密码匹配流程(PMF),图2-6描述了该操作流程。PWF本质上就是一个从PWL中进行8次虚读(Dummy Read)并对KEY寄存器进行8次写的过程。

978-7-111-57271-8-Chapter02-34.jpg

图2-6 密码匹配流程PMF

PMF在进行解除DSP的安全性操作时可能遇到两种情况:

【情况1】如果DSP在PWL处有密码,则须进行如下操作来解除安全保护。

①从PWL处进行8次虚读。

②写密码到KEY寄存器。

③如果密码正确,DSP就不安全了,否则DSP仍保持安全。(www.daowen.com)

【情况2】如果DSP没有密码保护,那么在PWL处应该是全1,那么须进行如下操作。

①从PWL处进行虚读。

②上面的操作完成后,DSP立刻就不安全了,可以随意对存储器进行操作。

说明:如果要解除存储器的安全保护,对存储器进行读写或编程前,不管DSP是否受到密码保护,一定要先进行虚读操作。虚读就是PWL中的内容实际上是不能读出的,执行读操作后读出的数据与PWL中真正的内容并不一致(全1和全0除外)。

例2-1 解除DSP对L0和L1 SARAM安全保护的C语言程序。

inti5,i;

volatileint ∗PWL; //PWL指针

PWL=&CsmPwl.PSWD0; //指向PSWD0处,即0x3F 7FF8处

for(i5=0;i5<8;i5++)i=∗PWL++; //进行8次虚读

//如果PWL=全1,以下代码对未保护的CSM是不必要的

//向关键字寄存器写密码

//asm(“EALLOW”); //密码寄存器受EALLOW保护,解除访问保护

//CsmReg.KEY0=PASSWORD0;

//CsmReg.KEY7=PASSWORD7;

//asm(“EDIS”); //恢复访问保护

重新保护的C代码为,

volatile int ∗PWL=0x0AE0; //CSM寄存器文件,设置FORCESEC位

asm(“EALLOW”); //CSMSCR寄存器受EALLOW保护

∗PWL=0x8000;

asm(“EDIS”);

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈