![基于ARM开发板平台的嵌入式软件保护方案-技术方案_第1页](http://file4.renrendoc.com/view/d3f45de7f7224eccab96cb6de7ede1e0/d3f45de7f7224eccab96cb6de7ede1e01.gif)
![基于ARM开发板平台的嵌入式软件保护方案-技术方案_第2页](http://file4.renrendoc.com/view/d3f45de7f7224eccab96cb6de7ede1e0/d3f45de7f7224eccab96cb6de7ede1e02.gif)
![基于ARM开发板平台的嵌入式软件保护方案-技术方案_第3页](http://file4.renrendoc.com/view/d3f45de7f7224eccab96cb6de7ede1e0/d3f45de7f7224eccab96cb6de7ede1e03.gif)
![基于ARM开发板平台的嵌入式软件保护方案-技术方案_第4页](http://file4.renrendoc.com/view/d3f45de7f7224eccab96cb6de7ede1e0/d3f45de7f7224eccab96cb6de7ede1e04.gif)
![基于ARM开发板平台的嵌入式软件保护方案-技术方案_第5页](http://file4.renrendoc.com/view/d3f45de7f7224eccab96cb6de7ede1e0/d3f45de7f7224eccab96cb6de7ede1e05.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精品文档-下载后可编辑基于ARM开发板平台的嵌入式软件保护方案-技术方案
从软件到软硬件联合攻击给嵌入式系统造成严峻的安全威胁。安全性已成为嵌入式系统设计中必不可少的一部分,同时这又是一个折衷的过程,不能单靠软件来保证,而全硬件的解决方式很昂贵且不具有弹性。很多产品开始从设计之初就从系统架构上考虑了安全性,如ARM公司的TrustZone技术开辟了一片可信代码区,近年来。通过一个S比特来区分系统的安全状态,IBMPowerPC中使用了多核单元宽带引擎(BE进行安全引导和物理隔离。
嵌入式软件与嵌入式系统是密不可分的,嵌入式系统是“控制、监视或者辅助设备、机器和车间运行的装置”,就是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。而嵌入式软件就是基于嵌入式系统设计的软件,它也是计算机软件的一种,同样由程序及其文档组成,可细分成系统软件、支撑软件、应用软件三类,是嵌入式系统的重要组成部分。嵌入式软件广泛应用于国防、工控、家用、商用、办公、医疗等领域,如我们常见的移动电话、掌上电脑、数码相机、机顶盒、MP3等都是用嵌入式软件技术对传统产品进行智能化改造的结果。
1硬件结构
ARM通过总线方式对NorFlash进行访问,本方案的硬件处理器平台采用三星公司的S3C2442内核为ARM920T外置1块2MBNorFlash用以存放密文数据。该硬件结构中重要的部分是添加了1块安全协处理器:福华公司的嵌入式系统软件保护芯片FS8826该芯片可通过I2C或SPI总线与SOC连接,这里使用I2C方式。PC机能够对硬件平台中的每个芯片进行编程控制:通过JTAG端口、串口及网口与ARM进行通信,通过专门的烧录器对FS8826硬件密钥和安全存储区进行写入。
2软件实现
软件设计从两个主要方面考虑,一是代码加密,二是版权。前者主要通过AES(AdvancedEncryptiongStandard)加解密算法实现,其算法密钥的管理以及版权将依靠FS8826来实现,终达到安全启动嵌入式操作系统以及保护运行时的版权目的。安全启动方案基于Bootloader+Image的加载机制,也是ARM处理器通用的引导机制。首先采用AES加解密算法在PC机端将编译完成Image加密,利用FS8826安全存储区存放AES算法密钥,密文存储在片外存储器中,ARM启动时将密文加载入内存。然后在Bootloader启动过程时加入与FS8826的操作,通过则在该过程中使用AES解密算法解密Image,并用明文将原内存中的密文覆盖,系统正常运行中加入与FS8826的实时通信监测,确保在授权目标机上运行程序。软件实现流程如图2所示,相应的方案实现框图如图3所示。
2.1AES算法
目前对称加密领域内的主流算法。其数据分组固定为128bit,AES美国国家标准和技术研究所(NIST选定的加密标准。密钥分组可支持128bit/192bit/256bit过程为数据块矩阵的Nr10/12/14次轮操作。每轮操作都由S盒代换(SubByt行移位(ShiftRow列混淆(MixColumn和轮密钥加(AddRoundKei4个函数组成,第Nr次轮操作不包含MixColumn函数。密钥扩展为每一轮变换提供轮密钥[2]本方案中加密在PC机端离线完成,没有时间和运行效率的特别要求,但是解密在ARM9处理器中完成,其运行时间将作为系统启动的一部分,所以下面针对解密部分的算法程序结合其实现平台进行优化设计。
解密的轮变换中交换逆行移位和逆S盒代换,轮密钥加和逆列混淆的顺序,只需要调整密钥的编排方案即可。实现中等价解密过程可以将解密轮变换中的前3个步骤综合生成1张4KBT表用于查询,即可快速准确地完成解密。直接的解密算法是将加密过程的每一步求逆并倒置次序得到,然而这样并不利于优化。算法的创始人提出了一种等价解密过程。
如果变量长度与ARM内部寄存器长度不一致,1数据类型设置:ARM处理器内部是32bit寄存器。将会使得变量的存取都需要附加其他指令[3]AES算法中密钥及数据都是以字节为单位运算,优化时调整为32bit仅在输入输出时进行位数变换,可以带来很大的速度改进。
循环执行Nr-1次。等价解密算法融合了3个子函数形成T表查询,循环展开:ARM处理器中每循环少有4个周期的循环开销解密轮变换涉及4个子函数调用。于是可以把轮变换展开,不增加太多代码量的基础上,每一个数据分组解密减少4Nr-1个周期。当密钥位长、密文数据量大时节省的循环开销就比较可观。
应尽量限制函数内部循环所用局部变量的数目,控制变量数:为了高效执行1个函数。多不超过12个,确保重要的和经常用到变量都被分配在寄存器里。
2.2FS8826功能实现
具有不可回读、不可在总线上传输的特点,FS8826芯片自带24B硬件密钥。主要用于芯片内部的模块运算(HASH3DES和安全数据传输。芯片内部开辟了1块安全存储区(96BEEPROM读写都受硬件密钥的保护,且具有CRC校验功能。本方案中该芯片主要实现两方面功能:SoC版权确认和AES密钥管理。前者通过实现,具体流程如图5所示。总线上发送的数据为硬件密钥与用户设置的区数据通过HASH运算得出的数组,并加入了8B随机数,能够有效地防止重放攻击(repliattack该项功能能够提供代码完整性验证[4]一定程度上抵抗反汇编攻击。后者通过将AES密钥烧入FS8826安全存储区,由其硬件密钥进行保护实现,通过后发送加密的读取命令,算法密钥以密文形式在总线上传递。
2.3Vxworks启动、运行
并在其调用的初始化文件(bootConfig.c中加入与FS8826安全、密钥传输以及解密运算。bootrom_uncmp由仿真器烧入到目标板的norflash中,VxWork操作系统的映像包括两大类:VxWork类型和Boorom类型[5]本文对RAM中运行的VxWork映像在PC机端进行AES加密。选择执行格式的未压缩Bootrom映像—bootrom_uncmp作为启动映像。上电后,bootrom_uncmp把自身拷贝到RAM_HIGH_ADRS地址上运行引导程序。之后,把VxWork映像装入到起始地址为RAM_LOW_ADRSRAM中,接着跳转到VxWork映像装入点运行[5]如果通过,引导程序将从FS8826安全存储区获取AES算法密钥,进行解密,否则在RAM_LOW_ADRS处的VxWork映像将仍然为密文,无法正常启动。
加载的明文映像开始运行,同时,系统安全启动后。隐藏在映像中程序也将开始运行,并定时与FS8826通信,确保持有正确硬件密钥的芯片运行正常,以防黑客移植代码非法使用。
3实现结果及分析
通过ADSDebuggInternal工具从速度和内存占用量两方面衡量实现效率[2]如表1所示为在ARM9处理器中2种算法所耗的汇编指令数和指令周期数。表2为两者占用的内存资源对比。按照ARM平台下的优化原则,AES解密算法通过直接解密和等价解密2种形式进行实现。
等价解密算法中使用了T表,从表中结果可以看出。且将循环展开造成了代码量的增加。所以在实际使用时,对内存资源的要求高于速度要求时建议采用直接解密算法,反之则可采用等价解密算法。这里所用的ARM9有足够的内存空间,所以采用128bit密钥的等价解密算法,以1MBVxwork密文映像为对象进行启动测试。
然后通过NandFlash加载文件。实际测试中对1MB密文的读取耗时1.4s可以对密文读取方式进行优化,正常启动中先由NorFlash建立文件系统。将密文烧入片外NorFlash中,系统上电后,内存从NorFlash中获取密文的读取方式,时间为0.03s这种差别的原因主要有2点:1文件系统访问方式下用fopen和fread函数打开密文,解密后的数据还需写回到文件中重新读取,且会受时钟频率及总线速度的限制。而后者属于内存直接读取,解密后直接从内存启动;2NorFlash读取速度本身就比NandFlash要快。
保证主映像运行在授权目标机上。过程中的运算都在FS8826芯片内进行,不会对主映像的运行速度造成影响,经过测试每次耗时0.16s如果安全级别要求不是很高,也可以选择采用复位芯片的方式进行监测,每次仅耗时0.01s系统启动后进行的定时,可以监测与FS8826正常通信。
ARM为客户提供16/32位嵌入式RISC微控制器方案,将其RISC处理器授权给电子公司使用,在便携式通讯,手持计算设备,消费类和数字化多媒体方案中,ARM正有一种成为标准的趋势。ARM7、ARM9是ARM系列中的两个分支系列,ARM9功能更强些,它还有其他分支系列。ARM公司是一个只做设计不生产的公司,它提供各种不同性能的ARM核,如果象Motorola这样的公司就可以用它提供的ARM核,再加上相关的I/O资源、存储器、可编程部件就形成自己的32位RISC嵌入式单片处理器。Motorola近要在其龙珠处理器中采用ARM,Atmel公司的AT91系列也
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年二手教练车销售合同格式
- 2025年乳制品代理销售合同
- 2025年阻沙固沙网项目立项申请报告模板
- 2025年不动产权购房合同范本
- 2025年家禽购销合同协议
- 2025年陶瓷基体项目申请报告模范
- 2025年健身器材购置合同
- 2025年合伙型股权分配合同
- 2025年度制造业租赁协议样式
- 2025年产品研发合作协议范本
- 食品安全管理员考试题库298题(含标准答案)
- 非ST段抬高型急性冠脉综合征诊断和治疗指南(2024)解读
- 2024年山东济宁初中学业水平考试地理试卷真题(含答案详解)
- 抚恤金丧葬费协议书模板
- 准备单元 雪地上的“足迹”(教学设计)-2023-2024学年五年级下册科学大象版
- 信息技术必修一《数据与计算》三章第二节《数据分析与可视化》教案
- NB-T32042-2018光伏发电工程建设监理规范
- 中国电信入职流程
- 音乐学科阅读方案
- 2024-2030年中国医药设备市场发展分析及市场趋势与投资方向研究报告
- 泪道狭窄与阻塞的护理
评论
0/150
提交评论