基于USBKey和BSP嵌入式系统安全方案.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于USBKey和BSP嵌入式系统安全方案

基于USBKey和BSP嵌入式系统安全方案   摘要:针对目前嵌入式系统安全机制多采用单一口令的不足,提出了一种在VxWorks环境下基于USBKey和BSP的安全解决方案。该方案通过分析VxWorksBSP的功能及启动机制,在BSP中实现了基于USBKey的身份认证,同时使用USBKey实现对系统正常运行期间的安全保护。??   关键词:USBKey; 板级支持包; VxWorks; 身份认证   中图分类号:TP309.1文献标志码:A   文章编号:1001-3695(2007)08-0176-02      目前,针对PC系统的安全访问控制机制比较完善,已经从基于单一的口令设置发展到基于双因子身份认证和系统运行时的访问控制,从在CMOS中实现发展到在BIOS中实现。但对于嵌入式系统下的安全访问控制机制研究得较少,这主要是由于嵌入式系统代码小、实时性和可靠性要求较高,若安全方案设计不好,易影响整个系统的性能乃至造成整个系统的崩溃。目前针对嵌入式系统的安全访问机制,主要是在系统应用层中设置口令,已不能适应安全性要求较高的系统。??      1背景知识??      1.1嵌入式实时操作系统VxWorks及其BSP??   VxWorks操作系统是美国风河公司开发的一款高性能、可裁剪的嵌入式实时操作系统。其支持所有主流的处理器系统,并提供了丰富的可供用户裁减的BSP。它以良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空航天等高精尖技术及实时性要求极高的领域中。??   板级支持包(BSP)通常是指针对具体的硬件平台,用户所编写的启动代码和部分设备驱动程序的集合,主要实现初始化、驱动部分设备等功能。BSP的概念只是针对嵌入式操作系统而言的,而像Windows、UNIX等信赖BIOS引导的操作系统是无BSP可言的。对于同一个系统言,不同操作系统的BSP在本质上是一样的。在VxWorks系统中,将BSP描述为介于底层硬件环境和VxWorks之间的一个软件接口,其主要功能是系统加电后初始化目标机硬件、初始化操作系统及集成硬件驱动程序。??   1.2安全电子钥匙USBKey??   USBKey是一种USB接口的硬件设备,它内置单片机或智能卡芯片,可以实现数据加密和数据存储的功能,内置有密码算法。USBKey具有体积小、功能强大、兼容性好、价格便宜的特点,近几年来在身份认证领域中得到了广泛的应用。??   在本系统中USBKey主要由控制芯片、flash存储器构成。内置的密码算法采用单向散列函数MD5。控制芯片采用ATMEL公司的AT90SC6464C??USB芯片,具有随机数发生器、密码协处理器功能;内嵌的flash存储器可以存储随机数和算法。在flash中存储的数据为随机数??R及哈希值H??。在对USBKey进行初始配置时,随机数发生器生成随机数??R??并存于flash中,然后系统使用MD5算法对用户的PIN码和随机数??R进行哈希运算,运算结果作为H??的值,PIN码由用户自己掌握,不存储在USBKey中,在进行身份认证时由用户输入。??      2安全方案的研究设计??      2.1VxWorks驱动机制及预内核初始化[ 3]??   在VxWorks中,硬件驱动程序被分为两类,即通用的和BSP专用的。通用的驱动程序管理可以在不同的目标环境之间移动的设备,如网卡;而BSP驱动程序管理专用于在某种目标环境之间移动的设备,如中断控制器。本系统中所使用的USBKey驱动程序属于通用的驱动程序。在开发BSP时,不仅要对BSP专用的驱动程序提供完全的支持,还需要将通用的设备驱动程序集成在BSP中。??   在基于VxWorks的嵌入式系统中,系统的启动过程分为三种。本文仅以其中的可加载型映像来描述整个系统的启动过程(图1)。系统加电后首先执行引导代码,加载VxWorks映像,然后处理器跳转到VxWorks映像的加载地址(即函数sysInit( )的首地址)开始执行。函数sysInit( )复位处理器,执行最少而必要的硬件初始化,但是并不初始化内存。之后转到usrInit( )执行,完成内核启动之前的初始化。这两个子程序都被静态地链接在可加载的VxWorks映像中。usrInit( )是一个通用子程序,它负责关闭所有硬件中断,将硬件初始化到一种已知的静止状态,然后调用子程序激活VxWorks内核。其中:子程序sysHwInit( )将硬件置于初始的静止状态;之后,子程序kernelInit( )激活VxWorks内核,生成多任务环境,并产生一个任务来安装驱动程序以及创建设备、初始化VxWorks库、调用应用程序启动代码。用来生成这个任务的子程序是usrRoot( )。由此可

文档评论(0)

189****7685 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档