999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于USBKey和BSP的嵌入式系統安全方案

2007-12-31 00:00:00鄭學軍王晉東姜增良
計算機應用研究 2007年8期

摘要:針對目前嵌入式系統安全機制多采用單一口令的不足,提出了一種在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( )。由此可見,BSP專用的設備驅動程序則位于子程序sysHwInit( )中,而通用的設備驅動程序可位于usrRoot( )[4]。

2.2安全方案的可行性分析

由VxWorks系統的啟動過程可以看出,系統從加電到啟動應用程序代碼是一個順序固定的單一鏈式過程,各個函數執行的順序相對固定,因此在此過程中實現的認證比較可信[2]。要實現身份認證,系統首先要在身份認證模塊前加載USBKey驅動程序,在將USBKey驅動程序集成到BSP中時同時將其放置在usrRoot( )中,這樣身份認證模塊才能對USBKey進行操作。

在基于VxWorks的嵌入式系統中,可以實現在發生外部中斷時掛起所有任務的功能,同時可以通過另一個中斷將任務激活。基于此,可以在本系統中將USBKey的插拔作為一個外部中斷,從而實現系統運行時的安全保護。

整個安全方案的流程如圖2所示。

2.3安全方案的設計

2.3.1雙因子身份認證的設計

在傳統的單因子身份認證中,秘密值就是口令,由用戶自己掌握;而在采用的雙因子身份認證當中,秘密值則存于USB ̄Key中,訪問者除了要掌握自己USBKey的PIN碼,還必須持有硬件設備USBKey才能夠通過身份認證,雙因子身份認證技術彌補了傳統密碼認證方法的很多弊端。在系統啟動中實現的身份認證有如下原則:從系統加電起,要保證正常工作必須始終插入正確USBKey;BSP初始化過程中必須插入正確USBKey。

為了在BSP中實現身份認證,本系統的身份認證模塊與USBKey驅動程序一樣,嵌入在子程序usrRoot( )中。由于該模塊需要對USBKey進行操作,認證在加載USBKey驅動程序后進行,要求認證模塊代碼盡量優化,以適應嵌入式系統特點。為了實現“我所有”(即USBKey)與“我所知”(即PIN碼)的緊密結合,同時也為了實現強身份認證,在系統加電前要將USBKey插入系統中。

整個身份認證過程如下:

a)在系統啟動過程進行到UsrRoot( )時,首先加載USB ̄Key驅動程序,使系統能夠對USBKey進行操作。

b)加載身份認證模塊,系統彈出對話框,要求用戶輸入USBKey的PIN碼。

c)用戶輸入PIN碼,由USBKey中內置的MD5算法對PIN碼與USBKey中的隨機數R進行運算。

d)將運算結果與USBKey flash中存儲的哈希值H進行比較,若相同,轉入e);若不同,轉入f)。

e)USBKey中的隨機數發生器產生新的隨機數替代原有的隨機數,并與PIN碼進行哈希運算得到新的哈希值,替代原有的哈希值,完成身份認證后系統啟動應用程序代碼。

f)可以給用戶三次機會,若連續三次全部錯誤,則鎖定系統。

2.3.2系統運行時的安全保護

通常的系統安全解決方案,只是在身份認證階段實現,而對于系統運行時的安全保護則較少。由于實際項目中嵌入式系統終端機需要進行移動通信,系統運行時的安全保護相對于PC機系統更為重要。根據上述的安全可行性分析,可以通過插撥USBKey來實現對系統的安全保護。

在系統正常運行期間,用戶因某種原因需暫時離開該終端機時,可以將USBKey撥下,終端機將系統的全部任務掛起;用戶返回后將USBKey插入終端機中,此時無須輸入口令,系統利用MD5算法對暫存在終端機中的PIN碼與USBKey中的隨機數R進行哈希運算,將運算結果與USBKey中的哈希值H比較,相同則恢復任務的運行。

3方案的安全性分析

在以往的嵌入式系統中,由于受到嵌入式系統代碼量小、可靠性和實時性要求高的限制,多采用基于單一靜態口令的認證方案,弱口令成為系統的不安全因素,而對于系統運行期間基本沒有進行安全保護。本文實現了安全性較高的基于USBKey的雙因子認證,并對運行期間的系統實行了安全保護。

與基于口令的安全方案相比,在安全性方面,本安全方案具有較為明顯的優勢:

a)雙因子認證是信賴外部實物USBKey和PIN碼實現的,可行性高,用戶必須同時滿足“所有”(USBKey)和“所知”(PIN碼)才能通過身份認證;

b)由于密碼算法采用單向散列哈希函數MD5,即使非法用戶獲得了USBKey,知道哈希值H,也無法計算出PIN碼;

c)在系統的底層就開始對系統進行安全保護,如果不能通過相關認證,用戶無法進入應用系統;

d)啟動過程實現的身份認證與系統運行時的安全保護構成一個整體,從開機到使用提供一個完整的安全解決方案。

4結束語

本方案針對嵌入式系統的特點和項目實際需求,在BSP中實現基于USBKey的雙因子身份認證,在系統運行期間利用USBKey實現對系統的安全保護,已經在實際中得到應用。對同一個系統而言,不同操作系統的BSP在本質上是一樣的,所以本方案對于其他嵌入式系統也具有借鑒意義。

參考文獻:

[1]孫勇,楊義先.基于BIOS和USB盤實現對PC機的安全訪問[J].計算機應用研究,2006,23(5):113114,136.

[2]方艷湘,黃濤.Linux可信啟動的設計與實現[J].計算機工程,2006,32(9):51-53.

[3]RIVER W. VxWorks BSP developer’s[K].Guide 5.5 ed. USA:Wind River Systems Inc,2002:223-230.

[4]李捷,王汝傳. 基于VxWorks的設備驅動程序實現技術[J].微型機與應用,2002,21(11):7-8.

[5]徐寧,趙彬.基于USBKey的BIOS與系統安全解決方案[EB/OL].[200510-01].http://www.eetchina.com/ARTR_8800378389_480101.HTM.

注:“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”

主站蜘蛛池模板: 国产午夜看片| 91亚洲免费视频| 国产美女无遮挡免费视频| 欧美激情视频在线观看一区| 干中文字幕| 欧美三级自拍| 国产乱人伦精品一区二区| 国产三级毛片| 久久不卡精品| 波多野结衣无码视频在线观看| 欧美专区在线观看| julia中文字幕久久亚洲| 国产swag在线观看| 亚洲一级毛片免费看| 波多野结衣中文字幕一区| 欧美黄色a| 亚洲免费人成影院| 亚洲精品视频免费看| 免费播放毛片| 在线观看91精品国产剧情免费| 女人一级毛片| 人人91人人澡人人妻人人爽 | 国产美女主播一级成人毛片| 最新亚洲人成无码网站欣赏网| 97国产一区二区精品久久呦| 黄色不卡视频| 中文字幕va| 国产极品美女在线| 2020最新国产精品视频| 亚洲国产在一区二区三区| 72种姿势欧美久久久大黄蕉| 中字无码精油按摩中出视频| 国产精品开放后亚洲| 亚洲人成在线精品| 亚洲人成网址| 日韩大片免费观看视频播放| 亚洲欧美日韩久久精品| 亚洲无码视频一区二区三区| 亚洲欧美日韩动漫| 免费高清a毛片| 色偷偷男人的天堂亚洲av| 国产精品污视频| 高潮爽到爆的喷水女主播视频 | 麻豆国产在线观看一区二区| 亚洲天堂网站在线| 日本午夜影院| 一区二区自拍| 国产成人综合日韩精品无码首页| 国内精品视频区在线2021| 国产成人综合久久精品尤物| 日本一区高清| 亚洲第一页在线观看| 日韩A∨精品日韩精品无码| 亚洲国产综合自在线另类| 天天躁狠狠躁| 亚洲第一成网站| 综合色区亚洲熟妇在线| 国产欧美成人不卡视频| 在线一级毛片| 欧美综合一区二区三区| 久久久久国产精品嫩草影院| 无码AV动漫| 精品欧美日韩国产日漫一区不卡| 亚洲国产亚综合在线区| 色综合久久综合网| 免费看美女自慰的网站| 亚洲无限乱码| 98精品全国免费观看视频| 91在线视频福利| 亚洲国产成人精品一二区 | 国产白浆在线观看| 精品久久高清| 欧美精品啪啪| 91精品国产自产91精品资源| 国产精品自在拍首页视频8| 国产第一页第二页| 成人久久精品一区二区三区| 亚洲啪啪网| 女人18毛片久久| 综合亚洲网| 爱色欧美亚洲综合图区| 久久精品国产精品青草app|