欢迎来到天天文库
浏览记录
ID:5994287
大小:39.00 KB
页数:15页
时间:2017-12-30
《基于ck-core安全芯片bootloader开发和应用》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于CK?Core安全芯片Bootloader开发和应用 摘要:随着嵌入式技术的快速发展,多接口和多功能的Bootloader得到越来越多的应用,但其设计开发过程却非常复杂。为了实现定制安全芯片的软硬件初始化,并成功下载其片内操作系统(COS),设计并实现了一种支持多接口和多功能的Bootloader。该Bootloader根据安全芯片及其CK?CoreCPU的结构特点开发,程序结构简洁高效,对Bootloader的设计和开发提供了有力参考。关键词:嵌入式系统;Bootloader;COS;安全芯片;CK?Core中图分类号:TN9
2、11?34文献标识码:A文章编号:1004?373X(2013)22?0137?060引言15随着IT技术的迅猛发展,人们对信息安全的要求越来越高。如何有效保障信息在交互过程中的安全性,成为一个日益重要的问题。安全芯片作为信息安全嵌入式产品的核心部分,能够独立进行密钥生成、加解密。其内部拥有独立的处理器和存储单元,可存储密钥和特征数据,为实际应用提供加密和安全认证服务。在国家开展的“新一代宽带无线移动通信网”科技重大专项中,如何保证宽带多媒体集群系统的安全性是项目的重要研究部分,而由我国自主研发的新一代安全加密芯片便是该重大专项中安全
3、加密子系统的核心。该定制芯片采用具有自主知识产权的32位RISC安全CPU核——CK?Core,对于我国信息安全事业,尤其是警用信息安全技术的发展具有重要的意义。在嵌入式系统软件开发中,引导加载程序(Bootloader)的开发是第一个环节,它对整个系统的正常运行起着关键作用。Bootloader的实现取决于对应硬件环境及整个嵌入式系统的功能需求,例如ARM通过U?Boot来引导,而DSP可以直接从EPROM或其他的处理器加载操作系统到DSP运行。本文的安全芯片Bootloader根据安全芯片及其CK?CoreCPU的结构特点设计开发
4、,具有多接口、多功能、程序结构简洁高效的特点。本文即从设计方案、软件实现、软件功能测试及应用等角度详细论述了该引导加载程序(Bootloder)的开发过程,从而为Bootloader的设计开发人员提供了一定的参考。1开发系统总述15本文提出的引导/装载程序(Bootloader)是基于定制安全芯片进行设计开发的。本芯片属于我国自主设计研发的新一代安全芯片,是国家十二五科技重大专项“新一代宽带无线移动通信网”相关课题的研究成果,适用于集群终端设备、基站设备等多用途高速安全加密领域。该芯片为项目中安全加密子系统的建立奠定了基础,安全加密子
5、系统的示意图如图1所示。其中安全密码芯片是终端、基站、安全服务器实现信息安全要求的基本设备,能够提供身份信息、密钥信息等敏感信息的安全存储;并能够完成通信信息加解密,以实现鉴权、空口加密和端到端加密功能。本安全芯片采用CK?Core作为CPU核。CK?Core是面向嵌入式系统和SoC应用领域的32位高性能低功耗嵌入式CPU核,采用了具有自身安全保护逻辑的16/32位混合编码RISC指令集[1]。其采用自主设计的体系结构和微体系结构并具有可扩展指令、可配置硬件资源、可重新综合、易于集成等优点。本芯片采用国内先进的0.18μm工艺生产,硬
6、件实现了所有主流的密码算法,包括国产密码算法SM1,SM2,SM3等,与同类安全芯片相比,加解密功能更加强大,性能更加优越;芯片支持USB2.0,UART,SPI、高速SPI(SSPI)等多种I/O接口,极大拓展了芯片的应用领域及生命周期;为使芯片的应用更为灵活,芯片内置了多种类型存储器(SRAM,FLASH,ROM)。其中Bootloader存放在芯片16KB的ROM里,代码密度高,在保证空间资源充足的前提下充分缩减了芯片成本,并且具有保存稳定、读取方便的特点。15在结构上,本定制安全芯片采用更加高效的多总线结构,芯片的架构图如图2
7、所示。传统的基于共享总线结构的单层AHB总线已经不能满足多处理器系统高带宽和低延时的要求。本安全芯片采用的多层AHB总线结构代表了一种更先进的片上总线互连策略,既可以减少多Master系统的访问延时,也可以增加总线带宽。在安全性方面,首先,本芯片所有数字逻辑全部采用离散电路,即使攻击者重构版图也无法得到芯片结构与IP信息,从而有效抑制破坏性攻击及反向工程;另外,本安全芯片含有多种保护机制,如过流及频率保护、环境失效保护(EnvironmentalFailureProtection,EFP)等,有效抑制了非破坏性攻击。本文所述Bootl
8、oader的开发即基于上文所述的硬件环境。软件开发方面,Bootloader通过C语言及汇编指令实现,开发环境为专门适用于CK?Core的集成开发环境C?SkyDevelopmentSuit(CDS)。CDS是一个基于E
此文档下载收益归作者所有