一种适用于dsp环境的可信引导设计方法

文档序号:9787714阅读:211来源:国知局
一种适用于dsp环境的可信引导设计方法
【技术领域】
[0001]本发明属于一种嵌入式信息安全技术领域,具体涉及一种嵌入式可信计算和固件安全引导(bootloader)方法,应用于在DSP环境下用户软件对安全性要求较高的场景。
【背景技术】
[0002]随着数字信号处理技术的发展,越来越多的DSP芯片应用于各个领域。DSP在嵌入式实时处理中强大的数据能力,良好的系统稳定性,软件的可扩展性和可移植性使得DSP在一些安全性要求较高的领域如航空、航天等产品中的应用也日益广泛,DSP软件的安全性也越来越受到重视,如何更好的保证DSP软件安全,成为人们关注的问题。
[0003]目前DSP主要以TI公司和ADI公司为主,TI公司DSP引导方式有主机接口引导、并行存储器引导、I/O引导、串口引导等模式,ADI公司DSP提供了四种加载方式=EPROM引导方式,链路口引导方式、主机引导方式和非引导方式。TI DSP以CCS为集成开发环境,ADI DSP以Visual DSP++为集成开发环境,两者生成的下载文件均可提取出相应的二进制代码。
[0004]在以DSP环境为平台开发的技术产品中,多数是将用户开发的程序下载存储在非易失性器件中,在产品上电启动后,将代码加载到内存中运行。这些通用的存储器件,其接口时序、读写操作均可在器件手册中查询,这就造成技术人员花精力开发的软件,很容易就被别人得到,得到存储的二进制代码后,完全可以下载到同样的仿制硬件设备中去运行,也可以使用相应的集成开发环境去反汇编得到代码,分析产品的工作原理,插入调试语句,截获关键的中间参数,分析软件流程,最终得到产品软件的核心技术。

【发明内容】

[0005]本发明的目的是提供一种适用于DSP环境的可信引导设计方法,在不增加硬件的情况下,解决DSP环境下用户软件安全问题,有效提高软件的安全性。
[0006]本发明是这样实现的,一种适用于DSP环境的可信引导设计方法,它包括如下步骤,
[0007]步骤1:分析DSP下载文件中的有效的二进制码数据;
[0008]步骤2:生成的二进制代码进行HMAC认证码,SHA2是单向散列算法,用于生成HMAC认证码;
[0009]步骤3:对生成的二进制代码进行加密;
[0010]步骤4:将包含密文数据、二进制代码代码长度tlen、完整性校验基准值的文件放到集成开发环境中;
[0011]步骤5:在集成开发环境中完成数据解密操作,生成HMAC认证码,完成软件的安全引导。
[0012]所述的步骤2为根据步骤I解析的二进制数据的长度tlen,进行补充k比特0,使得数长度满足tlen+k = 448mod512,对填充后的消息进行处理,生成256比特的认证码,作为软件完整性校验基准值。
[0013]所述的步骤3为将步骤I生成的二进制码填充km比特0,使的tlen+km = Omodl28,对填充后的消息进行加密处理,生成tlen+km比特的密文数据。
[0014]本发明的优点是,对DSP环境的下载文件进行格式解析,获取下载文件中有效代码的二进制数据,采用分组算法AES对其进行加密,同时根据嵌入式可信计算设计思想,采用SHA2生成有效代码二进制数据的HMAC认证码作为完整性校验基准值,DSP集成开发环境中完成数据解密,并对解密后的数据生成HMAC认证码,并与完整性校验基准值比较,完成软件的安全引导。
【具体实施方式】
[0015]下面结合实施例对本发明进行详细介绍:
[0016]一种适用于DSP环境的可信引导设计方法,它包括如下步骤:
[0017]步骤1:根据DSP集成开发环境的不同,生成的下载文件格式也不同,以bin文件和Idr格式文件为主,bin是标准的二进制文件,而Idr文件也是Intel标准的文件格式,因此完全可以分析出文件中的有效的二进制码数据;
[0018]步骤2:生成的二进制代码进行HMAC认证码,SHA2是单向散列算法,用于生成HMAC认证码;
[0019]根据步骤I解析的二进制数据的长度tlen,进行补充k比特0,使得数长度满足tlen+k ^ 448mod512,对填充后的消息进行处理,生成256比特的认证码,作为软件完整性校验基准值。
[0020]步骤3:对生成的二进制代码进行加密,AES (高级加密标准)是NIST (美国国家标准与技术研究所)2001年公布的算法,具有较高的安全性。
[0021]将步骤I生成的二进制码填充km比特0,使的tlen+km = 0modl28。对填充后的消息进行加密处理,生成tlen+km比特的密文数据。
[0022]步骤4:将包含密文数据、二进制代码代码长度tlen、完整性校验基准值的文件放到集成开发环境中。
[0023]步骤5:在集成开发环境中完成数据解密操作,生成HMAC认证码,完成软件的安全引导。
[0024]首先,使用AES解密算法解密tlen+km比特的密文数据,根据tlen参数截获解密后的数据,得到明文的原始的二进制代码,并将代码搬运到指定的位置。按照步骤2的方式,生成解密后数据的HMAC认证码,与完整性校验基准值比较,如果两者一致,则完成可信引导,否则认证失败,退出程序引导过程。
[0025]采用本文提供的设计方法后,在不增加硬件的资源下,有效的保护了 DSP环境下的代码,增加软件的安全性。
【主权项】
1.一种适用于DSP环境的可信引导设计方法,其特征在于:它包括如下步骤, 步骤1:分析DSP下载文件中的有效的二进制码数据; 步骤2:生成的二进制代码进行HMAC认证码,SHA2是单向散列算法,用于生成HMAC认证码; 步骤3:对生成的二进制代码进行加密; 步骤4:将包含密文数据、二进制代码代码长度tlen、完整性校验基准值的文件放到集成开发环境中; 步骤5:在集成开发环境中完成数据解密操作,生成HMAC认证码,完成软件的安全引B寸ο2.如权利要求1所述的一种适用于DSP环境的可信引导设计方法,其特征在于:所述的步骤2为根据步骤I解析的二进制数据的长度tlen,进行补充k比特O,使得数长度满足tlen+k ^ 448mod512,对填充后的消息进行处理,生成256比特的认证码,作为软件完整性校验基准值。3.如权利要求1所述的一种适用于DSP环境的可信引导设计方法,其特征在于:所述的步骤3为将步骤I生成的二进制码填充km比特O,使的tlen+km = 0modl28,对填充后的消息进行加密处理,生成tlen+km比特的密文数据。
【专利摘要】本发明属于一种嵌入式信息安全技术领域,具体涉及一种适用于DSP环境的可信引导方法。它包括如下步骤,步骤1:分析DSP下载文件中的有效的二进制码数据;步骤2:生成的二进制代码进行HMAC认证码,SHA2是单向散列算法,用于生成HMAC认证码;步骤3:对生成的二进制代码进行加密;步骤4:将包含密文数据、二进制代码代码长度tlen、完整性校验基准值的文件放到集成开发环境中;步骤5:在集成开发环境中完成数据解密操作,生成HMAC认证码,完成软件的安全引导。其优点是:在不增加硬件的情况下,解决DSP环境下用户软件安全问题,有效提高软件的安全性。
【IPC分类】G06F21/57
【公开号】CN105550586
【申请号】CN201410592879
【发明人】李宁, 李昆, 王颖, 刘军
【申请人】北京京航计算通讯研究所
【公开日】2016年5月4日
【申请日】2014年10月30日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1