《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于ARM平臺的嵌入式軟件保護方案
基于ARM平臺的嵌入式軟件保護方案
袁 苑, 劉小匯, 鄭 彬, 王飛雪
國防科技大學 電子科學與工程學院衛星導航定位研發中心, 湖南 長沙 410073
摘要: 基于ARM平臺提出了一種軟硬件結合的嵌入式系統軟件保護方案。利用加密算法AES和FS8826安全芯片,以嵌入式實時操作系統VxWorks為例,在啟動過程中加入認證、密鑰讀取和解密操作以保證系統的安全啟動,并進行周期性定時認證。
Abstract:
Key words :

摘  要: 基于ARM平臺提出了一種軟硬件結合的嵌入式系統軟件保護方案。利用加密算法AESFS8826安全芯片,以嵌入式實時操作系統VxWorks為例,在啟動過程中加入認證、密鑰讀取和解密操作以保證系統的安全啟動,并進行周期性定時認證。
關鍵詞: ARM平臺; AES; FS8826安全芯片; Vxworks

  近年來,從軟件到軟硬件聯合攻擊給嵌入式系統造成嚴峻的安全威脅。安全性已成為嵌入式系統設計中必不可少的一部分,同時這又是一個折衷的過程,不能單靠軟件來保證,而全硬件的解決方式很昂貴且不具有彈性[1]。很多產品開始從設計之初就從系統架構上考慮了安全性,如ARM公司的Trust Zone技術開辟了一片可信代碼區,通過一個S比特來區分系統的安全狀態,IBM的PowerPC中使用了多核單元寬帶引擎(BE)進行安全引導和物理隔離。
  需要注意的是目前使用的很多嵌入式系統都是基于沒有特別設計安全機制的硬件平臺。本文以原ARM處理器平臺為例,通過增加1塊安全協處理器,就可以實現低成本、有實效的安全保護,并且能夠抵御兩類比較寬泛的攻擊:一類是在系統的啟動過程中的攻擊,如果系統啟動過程中沒有安全保護措施,很可能被非法用戶使用非授權的軟件。另一類是外部存儲器及總線攻擊,當程序代碼保存在外部非易失存儲器上時,可以輕易被黑客拷貝。另外,片外存儲器與片上系統(SoC)之間的總線傳輸也容易受到攻擊。
1 硬件結構
  本方案的硬件結構如圖1所示。處理器平臺采用三星公司的S3C2442,內核為ARM920T,外置1塊2 MB的NorFlash用以存放密文數據,ARM通過總線方式對NorFlash進行訪問,該硬件結構中最重要的部分是添加了1塊安全協處理器:福華公司的嵌入式系統軟件保護芯片FS8826。該芯片可通過I2C或SPI總線與SOC連接,這里使用I2C方式。PC機能夠對硬件平臺中的每個芯片進行編程控制:通過JTAG端口、串口及網口與ARM進行通信,通過專門的燒錄器對FS8826的硬件密鑰和安全存儲區進行寫入。

2 軟件實現
  軟件設計從兩個主要方面考慮,一是代碼加密,二是版權認證。前者主要通過AES(Advanced Encryptiong Standard)加解密算法實現,其算法密鑰的管理以及版權認證將依靠FS8826來實現,最終達到安全啟動嵌入式操作系統以及保護運行時的版權目的。安全啟動方案基于Bootloader+Image的加載機制,也是ARM處理器通用的引導機制。首先采用AES加解密算法在PC機端將編譯完成Image加密,利用FS8826安全存儲區存放AES算法密鑰,密文存儲在片外存儲器中,ARM啟動時將密文加載入內存。然后在Bootloader啟動過程時加入與FS8826的認證操作,認證通過則在該過程中使用AES解密算法解密Image,并用明文將原內存中的密文覆蓋,系統正常運行中加入與FS8826的實時通信監測,確保在授權目標機上運行程序。軟件實現流程如圖2所示,相應的方案實現框圖如圖3所示。


2.1 AES算法
  AES是美國國家標準和技術研究所(NIST)選定的高級加密標準,是目前對稱加密領域內的主流算法。其數據分組固定為128 bit,密鑰分組可支持128 bit/192 bit/256 bit。核心過程為數據塊矩陣的Nr(10/12/14)次輪操作。每一次輪操作都由S盒代換(SubBytes)、行移位(ShiftRows)、列混淆(MixColumns)和輪密鑰加(AddRoundKey)4個函數組成,第Nr次輪操作不包含MixColumns 函數。密鑰擴展為每一輪變換提供輪密鑰[2]。本方案中加密在PC機端離線完成,沒有時間和運行效率的特別要求,但是解密在ARM9處理器中完成,其運行時間將作為系統啟動的一部分,所以下面針對解密部分的算法程序結合其實現平臺進行優化設計。
  直接的解密算法是將加密過程的每一步求逆并倒置次序得到,然而這樣并不利于優化。算法的創始人提出了一種等價解密過程,在解密的輪變換中交換逆行移位和逆S盒代換,輪密鑰加和逆列混淆的順序,只需要調整密鑰的編排方案即可。在實現中等價解密過程可以將解密輪變換中的前3個步驟綜合生成1張4 KB的T表用于查詢,即可快速準確地完成解密[2]。具體流程如圖4所示。

  加解密過程使用電碼本模式(ECB)運行,即將消息段逐個分別加解密。實現采用移植性較好的標準C編程。針對ARM處理器的特點,C語言具有以下優化的實現方式[3]:
  (1) 數據類型設置:ARM處理器內部是32 bit寄存器,如果變量長度與ARM內部寄存器長度不一致,將會使得變量的存取都需要附加其他指令[3]。AES算法中密鑰及數據都是以字節為單位運算,優化時調整為32 bit,僅在輸入輸出時進行位數變換,可以帶來很大的速度改進。
  (2) 循環展開:ARM處理器中每一次循環最少有4個周期的循環開銷[3]。解密輪變換涉及4個子函數調用,循環執行Nr-1次。在等價解密算法融合了3個子函數形成T表查詢,于是可以把輪變換展開,在不增加太多代碼量的基礎上,每一個數據分組解密減少4(Nr-1)個周期。當密鑰位長、密文數據量大時節省的循環開銷就比較可觀。
  (3) 控制變量數:為了高效執行1個函數,應盡量限制函數內部循環所用局部變量的數目,最多不超過12個,確保最重要的和經常用到的變量都被分配在寄存器里[3]。
  (4) 宏定義函數實現:有些簡單函數可以通過宏定義的方式實現,如域內乘法等。此種方式可以減少函數調用開銷。
2.2 FS8826功能實現
  FS8826芯片自帶24 B硬件密鑰,具有不可回讀、不可在總線上傳輸的特點,主要用于芯片內部的認證模塊運算(HASH&3DES)和安全數據傳輸。芯片內部開辟了1塊安全存儲區(96 B EEPROM),讀寫都受硬件密鑰的保護,且具有CRC校驗功能。在本方案中該芯片主要實現兩方面功能: SoC版權確認和AES密鑰管理。前者通過認證實現,具體流程如圖5 所示??偩€上發送的數據為硬件密鑰與用戶設置的認證區數據通過HASH運算得出的數組,并加入了8 B隨機數,能夠有效地防止重放攻擊(reply attack)。該項功能能夠提供代碼完整性驗證[4],在一定程度上抵抗反匯編攻擊。后者通過將AES密鑰燒入FS8826的安全存儲區,由其硬件密鑰進行保護實現,認證通過后發送加密的讀取命令,算法密鑰以密文形式在總線上傳遞[4]。

2.3 Vxworks啟動、運行
  以上所述的加解密和認證過程將運行在嵌入式實時操作系統的啟動和監測上,實現上以Vxworks為例,該系統為風河系統公司(Wind River System)在業界最早推出的一款嵌入式實時多任務操作系統,開發環境為Tornado。
  VxWorks操作系統的映像包括兩大類:VxWorks類型和Boorom類型[5]。本文對RAM中運行的VxWorks映像在PC機端進行AES加密。選擇執行格式的未壓縮Bootrom映像——bootrom_uncmp作為啟動映像,并在其調用的初始化文件(bootConfig.c)中加入與FS8826的安全認證、密鑰傳輸以及解密運算。bootrom_uncmp由仿真器燒入到目標板的norflash中,上電后,bootrom_uncmp把自身拷貝到RAM_HIGH_ADRS地址上運行引導程序。之后,把VxWorks映像裝入到起始地址為RAM_LOW_ ADRS的RAM 中,接著跳轉到VxWorks映像裝入點運行[5]。如果認證通過,引導程序將從FS8826的安全存儲區獲取AES算法密鑰,進行解密,否則在RAM_LOW_ADRS處的VxWorks映像將仍然為密文,無法正常啟動。如圖6所示。

  在系統安全啟動后,加載的明文映像開始運行,同時,隱藏在映像中認證程序也將開始運行,并定時與FS8826通信,確保持有正確硬件密鑰的芯片運行正常,以防黑客移植代碼非法使用。
3 實現結果及分析
  按照ARM平臺下的優化原則,AES解密算法通過直接解密和等價解密2種形式進行實現,并通過ADS的Debugger Internals工具從速度和內存占用量兩方面衡量實現效率[2]。如表1所示為在ARM9處理器中2種算法所耗的匯編指令數和指令周期數。表 2為兩者占用的內存資源對比。

  從表中結果可以看出,采用查表運算的等價解密過程具有速度上的優勢,且隨著密鑰位的增加其改進越明顯。然而,速度與內存占用是相互矛盾的兩方面,運行速度越快的算法必然會以占用一部分資源占用為代價。等價解密算法中使用了T表,且將循環展開造成了代碼量的增加。所以在實際使用時,對內存資源的要求高于速度要求時建議采用直接解密算法,反之則可采用等價解密算法。這里所用的ARM9有足夠的內存空間,所以采用128 bit密鑰的等價解密算法,以1 MB的Vxworks密文映像為對象進行啟動測試。
  正常啟動中先由NorFlash建立文件系統,然后通過NandFlash加載文件。實際測試中對1 MB密文的讀取耗時1.4 s??梢詫γ芪淖x取方式進行優化,將密文燒入片外NorFlash中,系統上電后,內存從NorFlash中獲取密文的讀取方式,時間為0.03 s。這種差別的原因主要有2點:(1)文件系統訪問方式下用fopen和fread函數打開密文,解密后的數據還需寫回到文件中重新讀取,且會受時鐘頻率及總線速度的限制。而后者屬于內存直接讀取,解密后直接從內存啟動;(2)NorFlash的讀取速度本身就比NandFlash要快。
啟動過程各部分時間如表3所示。

  需要注意的是,在啟動過程中只開啟了指令cache,且沒有MMU的支持,所以解密的執行速度較之系統啟動后要慢很多。經測試,在系統加載起來后1 MB的密文解密操作只需1.7 s。對啟動速度有特殊要求的應用可以對MMU和cache的使用進行進一步的調整設計。
  系統啟動后進行的定時認證,可以監測與FS8826的正常通信,保證主映像運行在授權目標機上。認證過程中的運算都在FS8826芯片內進行,不會對主映像的運行速度造成影響,經過測試每次認證耗時0.16 s,如果安全級別要求不是很高,也可以選擇采用復位芯片的方式進行監測,每次僅耗時0.01 s。
  本文的主要創新點是基于ARM9處理器平臺,針對其軟件安全提出了一套可行的解決方案。本方案可以抵御兩類攻擊:(1)本文構建的安全啟動過程,如果脫離了FS8826的支持,將無法獲取密鑰,無法通過認證。并且可以設置不止一次的認證操作隱藏在啟動過程中,將其中的一部分用作FS8826的驗證區數據,即使黑客通過反匯編的手段,找到認證代碼并予以忽略,也會因為篡改使其他部分的認證無法通過,從而達到防止軟件盜版的目的;(2)關鍵的代碼一開始就是以加密狀態存放在NorFlash中,密鑰則存儲在FS8826的安全存儲區內,合法用戶運行時將獲取密鑰,把密文解密到內存中,掉電數據丟失。同時,FS8826與SOC之間的總線通信已經過加密,能夠防止黑客從總線竊取。該方案成本低,效果好,其成果具有一定的推廣性。

參考文獻
[1]  ALTSCHULER F,ZOPPIS B.嵌入式系統安全性(下)對攻擊狀況和防衛策略的概述和分析.電子產品世界[J],2008(7):102-105.
[2]  DAEMEN J,RIJMEN V.高級加密標準(AES)算法——Rijndael的設計[M].谷大武,徐勝波譯.北京:清華大學出版社,2003.
[3]  ANDREW N S, SYMES D, WRIGHT C. ARM嵌入式系統開發——軟件設計與優化[M]. 沈建華譯. 北京:
 北京航空航天大學出版社,2005.
[4]  FS8806&FASP-8806 Introduction,Version 2.14. www.FameG.com.2006-10-18.
[5]  陳智育,溫彥軍,陳琪.Vxworks程序開發實踐[M].北京:人民郵電出版社, 2004.
 

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          午夜一区在线| 欧美久久电影| 狠狠狠色丁香婷婷综合久久五月| 精品成人a区在线观看| 国产精品入口麻豆原神| 国产精品久久久久一区二区| 欧美日韩在线观看一区二区| 亚洲精品久久久蜜桃| 国产精品久久久久久久久搜平片| 国产日产精品一区二区三区四区的观看方式| 国产午夜一区二区三区| 亚洲在线不卡| 国产精品xxx在线观看www| 99视频有精品| 久久精品中文字幕一区二区三区| 午夜精品在线| 欧美日韩一区二区三区免费| 香蕉久久夜色精品国产| 欧美精品在线一区| 亚洲精品久久久一区二区三区| 欧美日本韩国一区二区三区| 亚洲激情女人| 久久婷婷国产综合尤物精品| 欧美成人一区二免费视频软件| 亚洲一区二区三区高清| 久久综合精品国产一区二区三区| 欧美日韩精品欧美日韩精品| 男女激情视频一区| 亚洲免费视频网站| 国产精品美女视频网站| 母乳一区在线观看| 亚洲黄色视屏| 国产一区免费视频| 亚洲综合精品自拍| 国产精品乱码一区二三区小蝌蚪| 欧美手机在线视频| 久久爱另类一区二区小说| 国户精品久久久久久久久久久不卡| 国产精品久久久久aaaa九色| 久久久久久久精| 欧美日韩在线亚洲一区蜜芽| 亚洲国产另类久久精品| 欧美精品一线| 午夜精品美女久久久久av福利| 久久大香伊蕉在人线观看热2| 国产亚洲精品久久久| 伊甸园精品99久久久久久| 久久久久综合一区二区三区| 一区二区三区视频观看| 在线观看日韩专区| 国产精品女人久久久久久| 国产一二三精品| 国产欧美一区在线| 亚洲乱亚洲高清| 欧美精品少妇一区二区三区| 亚洲精品视频在线观看网站| 影音先锋欧美精品| 亚洲夜晚福利在线观看| 欧美国产91| 久久精品国产69国产精品亚洲| 欧美另类高清视频在线| 国产精品久久久久久久久久三级| 久久se精品一区精品二区| 国产日产亚洲精品| 久久精品盗摄| 在线看国产一区| 日韩亚洲一区在线播放| 国产区二精品视| 欧美日韩91| 国产精品igao视频网网址不卡日韩| 欧美日韩中文字幕综合视频| 欧美亚洲一级| 国产农村妇女毛片精品久久莱园子| 亚洲欧洲精品一区二区三区波多野1战4| 欧美在线网站| 欧美第一黄网免费网站| 另类酷文…触手系列精品集v1小说| 久久影视三级福利片| 欧美另类69精品久久久久9999| 亚洲一区在线免费观看| 久久综合狠狠综合久久激情| 国产专区欧美专区| 一区二区在线免费观看| 欧美日韩亚洲一区二区三区在线观看| 国产亚洲一区在线播放| 亚洲美女av在线播放| 亚洲日韩欧美视频| 亚洲欧美日韩国产一区| 欧美精品二区三区四区免费看视频| 免费短视频成人日韩| 亚洲欧美在线免费| 午夜精品久久久久99热蜜桃导演| 久久成人综合网| 亚洲第一在线综合网站| 国产精品久久久久久久午夜| 最近中文字幕mv在线一区二区三区四区| 欧美激情视频一区二区三区免费| 欧美日韩综合| 国内成人精品一区| 国产亚洲精品成人av久久ww| 亚洲欧美日韩精品一区二区| 这里只有精品视频在线| 麻豆国产精品一区二区三区| 久久久久久亚洲精品不卡4k岛国| 欧美成人精品激情在线观看| 欧美国产精品人人做人人爱| 亚洲一二三区视频在线观看| 午夜国产精品视频免费体验区| 精品动漫3d一区二区三区免费| 狂野欧美激情性xxxx欧美| 99视频在线精品国自产拍免费观看| 国产日韩欧美一区二区三区四区| 99精品国产高清一区二区| 欧美精品在线观看| 亚洲欧美日韩中文播放| 亚洲精品国产日韩| 国产精品草莓在线免费观看| 亚洲激情一区| 国产精品久久久久久久久久三级| 国产精品国产自产拍高清av王其| 免费亚洲婷婷| 欧美一级午夜免费电影| 久久久久久电影| 国产亚洲欧洲一区高清在线观看| 久久久五月婷婷| 狠狠噜噜久久| 日韩亚洲精品视频| 欧美精品一区二区三区视频| 激情av一区| 黄色综合网站| 久久av一区二区三区亚洲| 亚洲免费视频成人| 欧美日韩精品一区| 亚洲午夜小视频| 欧美性大战xxxxx久久久| 毛片精品免费在线观看| 欧美日韩黄色大片| 亚洲一级黄色av| 国产日韩免费| 亚洲午夜免费福利视频| 久久久噜噜噜久久人人看| 亚洲人成精品久久久久| 一区二区三区精品久久久| 尤物九九久久国产精品的分类| 欧美日韩国产不卡在线看| 亚洲电影在线观看| 国产精品对白刺激久久久| 国产综合精品| 日韩视频第一页| 黑人巨大精品欧美一区二区| 欧美视频一区二区| 亚洲激情精品| 精久久久久久| 亚洲午夜视频在线| 欧美日韩一区在线观看| 99在线观看免费视频精品观看| 欧美四级伦理在线| 欧美天天影院| 欧美精品一区二区三区一线天视频| 日韩亚洲不卡在线| 欧美日韩在线亚洲一区蜜芽| 久久婷婷亚洲| 欧美三级网页| 日韩一级黄色大片| 亚洲激情一区二区| 麻豆91精品| 麻豆av一区二区三区久久| 欧美性大战xxxxx久久久| 国产一区二区无遮挡| 午夜天堂精品久久久久| 亚洲无亚洲人成网站77777| 亚洲视频在线二区| 含羞草久久爱69一区| 亚洲第一区中文99精品| 性娇小13――14欧美| 国产精品高清免费在线观看| 午夜国产精品视频免费体验区| 久久久久久久97| 国产精品美女久久久| 亚洲乱码视频| 午夜免费久久久久| 欧美日韩在线播放一区二区| 狠狠狠色丁香婷婷综合激情| 欧美美女操人视频| 久久久国产精品亚洲一区| 欧美日韩一区二区高清| 欧美成年视频| 午夜精品福利电影| 欧美片第1页综合| 亚洲欧美精品伊人久久| 欧美成人免费观看| 亚洲欧美一区二区在线观看| 久久99在线观看| 日韩视频精品在线观看| 国产精品综合网站| 一区二区在线观看视频在线观看| 国产欧美高清| 国产精品羞羞答答| 欧美一级视频一区二区| 亚洲一二三区在线| 欧美三级电影一区| 欧美日韩午夜在线| 久久国产天堂福利天堂| 国产精品国产亚洲精品看不卡15| 欧美日本国产在线| 亚洲精品视频一区二区三区| 亚洲视频一区二区| 国产一区二区三区奇米久涩| 99视频国产精品免费观看| 国产精品久久久久毛片软件| 亚洲成人在线视频播放| 国产一区av在线| 欧美成人首页| 亚洲黄色小视频| 亚洲精品一二三| 美国三级日本三级久久99| 国产伦精品一区二区三| 国产情人节一区| 国产精品拍天天在线| 国产午夜精品全部视频在线播放| 久久xxxx| 午夜日韩福利| 亚洲视频一二三| 欧美一级黄色网| 久久久精品国产一区二区三区| 欧美成人在线网站| 亚洲性图久久| 亚洲欧洲偷拍精品| 欧美有码视频| 一本不卡影院| 欧美激情导航| 国产午夜精品福利| 日韩视频在线免费观看| 一区三区视频| 激情综合久久| 免费日本视频一区| 国语自产在线不卡| 久久深夜福利免费观看| 欧美福利电影在线观看| 一区二区三区**美女毛片| 欧美视频一区二区三区在线观看| 国产精品理论片在线观看| 久久久久久久精| 欧美涩涩网站| 亚洲国产综合在线| 亚洲激情国产精品| 久久久亚洲欧洲日产国码αv| 久久嫩草精品久久久久| 国产精品色一区二区三区| 久久免费视频这里只有精品| 中文亚洲免费| 亚洲精品123区| **性色生活片久久毛片| 亚洲国产另类久久久精品极度| 欧美精品久久99久久在免费线| 欧美顶级少妇做爰| 久久免费观看视频| 国产精品一区免费视频| 在线亚洲一区二区| 欧美精品粉嫩高潮一区二区| 欧美不卡视频| 亚洲青涩在线| 狠狠色丁香婷婷综合影院| 欧美在线视频观看免费网站| 国产欧美精品国产国产专区| 一区二区三区国产精华| 国产精品乱人伦一区二区| 亚洲美女在线看| 欧美天天影院| 国产一区在线视频| 国产精品久久久久久久午夜| 欧美在线不卡视频| 国产乱码精品一区二区三区不卡| 欧美大片一区二区三区| 亚洲专区一二三| 国产欧美在线观看一区| 亚洲综合欧美日韩| 久久精品国产精品亚洲| 亚洲精品一区在线观看香蕉| 亚洲欧美激情视频| 99精品欧美一区二区蜜桃免费| 国产精品日产欧美久久久久| 国产精品久久久久久妇女6080| 欧美二区视频| 夜夜爽夜夜爽精品视频| 亚洲成色精品| 久久久久久一区二区| 国产视频精品va久久久久久| 亚洲人成在线免费观看| 国产午夜精品一区理论片飘花| 久久手机精品视频| 亚洲区一区二区三区| 在线不卡a资源高清| 欧美激情一二三区| 亚洲天堂免费在线观看视频| 国产精品九色蝌蚪自拍| 久久香蕉国产线看观看av| 欧美成人自拍视频| 欧美四级伦理在线| 亚洲欧洲综合另类在线| 国产精品99久久久久久人| 免费短视频成人日韩| 欧美—级高清免费播放| 日韩写真视频在线观看| 在线亚洲高清视频| 极品中文字幕一区| 欧美一区二粉嫩精品国产一线天| 最近中文字幕日韩精品| 狠狠色伊人亚洲综合成人| 欧美亚洲系列| 国产精品99久久不卡二区| 国产精品免费视频xxxx| 亚洲毛片视频| 久久只精品国产| 久久精品国产精品亚洲综合| 在线精品观看| 亚洲精品一区二| 国产精品久久久久久av下载红粉| 另类酷文…触手系列精品集v1小说| 亚洲免费在线视频一区 二区| 日韩视频欧美视频| 在线观看日韩av先锋影音电影院| 亚洲一区日韩在线| 国产亚洲激情视频在线| 在线亚洲激情| 欧美日韩亚洲综合一区| 国内精品久久久久久久影视蜜臀| 欧美日韩一卡二卡|