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

嵌入式處理器片外訪存加密機制設計與實現

2014-08-04 02:37:56劉根賢王海霞劉振宇汪東升
計算機工程與應用 2014年22期
關鍵詞:頁面嵌入式系統

劉根賢,王海霞,劉振宇,汪東升

1.清華大學計算機科學與技術系,北京 100084

2.清華大學信息科學技術國家實驗室(籌),北京 100084

嵌入式處理器片外訪存加密機制設計與實現

劉根賢1,2,王海霞2,劉振宇2,汪東升2

1.清華大學計算機科學與技術系,北京 100084

2.清華大學信息科學技術國家實驗室(籌),北京 100084

1 引言

應用在電子商務、軍事通訊等高安全敏感領域的嵌入式系統往往面臨各種惡意攻擊。這些攻擊給嵌入式系統的安全帶來巨大威脅,一旦得逞將給用戶造成重大的損失。嵌入式系統由以微處理器為核心的硬件及其配套的固件構成。硬件系統可以劃分為電路系統和芯片兩個層次。惡意攻擊者可以從一個或多個層次對嵌入式系統進行攻擊,從而達到竊取或篡改高價值信息等非法目的。

在嵌入式系統的硬件設計中,設計者以微處理器為核心,根據功能需要設計數據采集處理,通訊等外設電路,往往需要設計SRAM或DRAM存儲器以滿足數據處理的需要,而后將相應的程序代碼寫入處理器集成的或電路板上的非易失性存儲器中,從而構成整個系統。惡意攻擊者在破解嵌入式系統時,可以在電路系統層次上進行多種方式攻擊。這些攻擊都是通過在系統的電路板上增加少量的硬件改動,并配合適當的底層手工代碼,來達到監聽總線、竊取機密信息的目的[1]。在這類攻擊中,具有代表性的有:總線監聽、數據篡改以及存儲器復制等攻擊方式。

對以總線監聽以及數據篡改攻擊為代表的外部攻擊方式,根據目前嵌入式系統的實際狀態,可以假設系統中僅微處理器本身是安全可信的,攻擊者無法獲取處理器內部的寄存器以及片內集成的SRAM或DRAM數據,而所有外部器件都是不可信任的,系統設計者無法確保來自這些器件的數據是否被監聽或篡改。在這種前提下,嵌入式系統的攻擊主要來自板載總線和板載存儲器[2]。圖1為嵌入式系統的硬件攻擊模型。目前大部分微處理器都可以集成SRAM或FLASH甚至DRAM存儲器,因此部分或整個軟件系統可以固話在處理器內部的FLASH存儲器中(即為固件)。因此可以假設攻擊者無法獲取嵌入式系統軟件進行分析。

圖1 常規嵌入式系統攻擊

2 嵌入式系統片外訪存加密機制設計

為了對抗這類外部攻擊,嵌入式系統在設計時必須對此予以考慮。在已知攻擊方式的情況下,若在設計時就有相關的安全機制,則可以有效地提高嵌入式系統的安全性。

2.1 嵌入式系統安全設計

根據已有的攻擊行為特征,為嵌入式系統總結出了兩項基本安全設計準則:

(1)敏感信息的機密性設計。嵌入式系統的安全機制應當能確保片外存儲器中保存的敏感數據信息的機密性。即所有片外存儲的數據都是經過加密操作的,難以分析的密文[3]。攻擊者可以通過外部硬件工具完全讀取片外存儲器中的內容,或者捕獲片外訪存時處理器外部總線的所有信號,在沒有密鑰的情況下攻擊者仍然無法即時獲取其中的信息。這樣才能保證攻擊者不能通過這種攻擊手段破解系統[4]。

(2)敏感信息的完整性。對于惡意攻擊者的總線篡改行為,僅僅加密數據還是不夠。攻擊者可以通過控制處理器外部總線信號,篡改數據,分析微處理器的響應行為,了解處理器的內部運行機制,通過重復嘗試探測敏感數據。因此,為了能夠對抗總線篡改偽造的外部存儲器數據,嵌入式系統在使用外部存儲器中數據之前需要先通過認證操作確保外部存儲器中數據信息的完整性[5-6]。完整的具有外部訪存加密認證的嵌入式系統如圖2所示。

圖2 嵌入式系統片外內存加密

此外嵌入式系統設計時還需要確保敏感信息的時效性[7]。諸如密鑰等敏感信息保存的時間越長,被分析出的可能性就越高。根據程序流程或者運行周期,定期更換密鑰,則嵌入式系統中保存的敏感信息具有時效性,就可以有效地防止攻擊者對系統的暴力攻擊,確保整體系統的安全性。

器件選型和軟件設計時盡可能選擇使用片內集成RAM和片內集成程序存儲器,減少片外敏感數據的傳輸[8]。如果微處理器的讀指令和數據操作都可以在微處理器片內進行,則意味著更少的敏感信息暴露在電路板的外部總線上,從而減小總線監聽的信息泄露風險;此外減少片外數據傳輸可以避免攻擊者篡改總線信號,增加攻擊者通過總線監聽分析敏感數據的難度。相反如果程序存儲器和內存都需要集成在在電路板上,則無法保證程序不被直接逆向工程分析,更無法保證敏感數據的安全性。

通過以上的安全機制,嵌入式系統可以對系統中敏感信息的機密性、完整性提供完善的保護,從而有效地避免攻擊者通過總線監聽、篡改等攻擊方式,分析系統響應,探測系統的設計漏洞,獲取敏感信息。

2.2 數據加密和完整性認證算法

要實現外部敏感信息的機密性和完整性設計,就需要采用加密和認證算法。常用的加密算法有DES、3DES、AES等,常用于數據完整性認證的HASH算法有MD5、SHA-1等。可以根據系統加密強度需要選擇相應的算法,以軟件實現算法運算,此外也有不少微處理器已經集成了密碼算法加速引擎和真實隨機數發生器,以提高算法性能。

根據高安全敏感領域的嵌入式系統的強安全性要求,選擇高級加密標準的Galois/計數器模式(AES-GCM)作為加密算法和數據完整性算法[9-10]。AES-GCM是一種使用分組密碼進行加密并在伽羅華域(GF(2128))上計算認證碼的加密認證算法。此伽羅華域由多項式x128+x7+x2+x+1定義。

AES-GCM算法分兩個部分:一個用于數據加解密的AES,另一個用于計算認證碼的伽羅華域乘法器。AES-GCM一次運算即可以加密并產生HASH認證碼,或者解密并認證數據完整性。

AES-GCM算法數學描述如下:

最后一組數據長度為u,其他分組長度均為128位,其中||表示串連接,len表述數據位長度,E(K,Y)表示用密鑰K對Y做AES加密。上面描述中所用的GHASH函數定義如下:AES-GCM通過分組加密算法AES以計數器模式將輸入的數據幀以128位長度為單位進行分組,當最后一個分組不是128位時,將會添加0使分組達到128位。每個分組通過AES讀數器模式加密為密文,密文與散列密鑰進行循環相乘,當最后一個分組與散列密鑰相乘完畢后,附加認證數據與密文的長度信息與相乘的結果進行異或,最終得到128位的認證碼,如圖3所示。

圖3 AES-GCM算法加密流程

AES-GCM解密認證時,由密文與附加認證數據生成一個新的認證碼,將它與加密時產生的認證碼進行比較,如果兩個認證碼不一致,說明數據完整性被破壞,數據已經被篡改。嵌入式系統軟件可以對這種攻擊行為進行相應處理。

2.3 嵌入式系統的片外訪存安全機制

采用AES-GCM算法設計嵌入式系統的片外訪存加密認證機制。綜合考慮微處理器的訪存局部性以及片外存儲器的組織結構,選擇AES-GCM的加密數據幀長度為1 024字節,產生的認證碼長度為16字節。這種條件下,片外存儲器被劃分為一組1 KB大小頁面,存儲加密的敏感數據,而每個頁面產生的16字節認證碼,以及加解密所需密鑰需要存放到可信存儲空間[11-12]。

圖4 多級認證碼存儲結構

當片外存儲器的容量比較適中,可以將所有頁面的認證碼存儲到微處理器片內SRAM,典型的嵌入式系統片外存儲器往往不超過1 MB,以片外存儲器1 MB為例,片外存儲器劃分為1 024頁面,需要16 KB的片內存儲器存放認證碼,16字節用于密鑰。

而當片外存儲器遠大于1 MB時,片內SRAM已經無法滿足存儲認證碼的需求,可以采用多級頁表模式,將認證碼也作為敏感數據加密后保存到片外存儲器。而片內SRAM存儲保存末級認證碼的片外存儲器頁面的認證碼[13]。

此外雖然每個頁面都可以使用不同的密鑰,但這樣將需要花費較大的可信存儲空間代價。因此方案設計中,采用二次密鑰進行加解密。

其中Addr為頁地址,S為置亂操作,原始密碼和頁地址進行一次置亂運算,這樣雖然原始密鑰相同,而每個頁面的實際密鑰完全不同,在沒有增加存儲代價的情況下,提高了系統的整體安全性。

3 基于STM32微處理器的實現及評估

為了驗證片外訪存加密機制的可行性,以及評估加密機制帶來的性能影響,選擇較為典型的STM32系列嵌入式處理器系統實現片外訪存加密機制。STM32微處理器是ST公司基于ARM公司授權的CORTEX-M系列內核開發的面向嵌入式實時系統應用處理器。

STM32系列處理器通過FSMC擴展外部SRAM存儲器,容量不超過1 MB,采用1級TAG表方式,外部SRAM存儲器頁面的TAG直接存放到STM32處理器片內,如圖5所示。

圖5 STM32嵌入式系統片外訪存加密

STM32訪問外部SRAM存儲器時,頁面大小為1 KB,而STM32F40x的Cache line為16字節,由于處理器硬件目前并不支持片外加密訪存,因此當處理器需要訪問片外存儲器中存儲的數據時,必須先解密到片內SRAM,再進行操作,為了提高明文利用率,軟件設計Cache進行緩存管理。

軟件Cache用來提高加密片外存儲器的訪存效率。Cache替換算法常見的有FIFO(first in first out)和LRU(least recently used),FIFO算法對CPU的指令序列非常有效,但對于Memory或者磁盤文件的這種數據,LRU算法更有效。因此選擇LRU算法設計緩存管理[14]。

從微處理器片內SRAM存儲空間劃分一塊用于軟件LRU cache,占用16 KB,分成16個緩存頁面,每一塊對應片外存儲器的一個頁面,只是存放的是對應的明文數據,形成這種映射關系。當Cache中的存儲塊被用完,而需要把新的頁面解密緩存進Cache的時候,就需要LRU算法來完成緩存塊的替換,選擇再次訪問概率最小的緩存塊,如果該緩存已被修改則加密寫出到對應的片外存儲器頁面,如果沒有修改則無需操作。LRU算法是基于最近用到的數據被重用的概率比較早用到的數據被重用的概率大得多的規律來實現的[15]。

Cache中的所有緩存塊位置都用雙向鏈表鏈接起來,數據結構如圖6,Ex_Page_Addr為片外存儲器頁面索引,In_Page_Addr為片內緩存頁面索引,refs用于性能統計的命中次數計數,next指向下一個緩存節點,prev指向前一個緩存節點。當一個緩存被命中后,就將通過調整鏈表的指向將該緩存節點調整到鏈表的頭位置。新緩存的頁面直接放在鏈表的頭上。在系統軟件運行中,最近被命中過的緩存節點就向鏈表的頭移動,而沒有被命中的緩存節點就向鏈表的后面移動。當需要緩存新頁面時,鏈表最后的節點指向的頁面就是最近最少被命中的頁面,只需要淘汰鏈表最后的節點指向的緩存,將新的內容放在鏈表前面節點就可以。

圖6 軟件LRU cache數據結構

使用雙向鏈表軟件實現LRU cache是因為Cache中塊的命中可能是隨機的,和系統軟件訪存局部性有關,和解密緩存進來的順序無關,而采用雙向鏈表這種結構來保存位置隊列,使得其可以靈活地調整相互間的次序。此外雙向鏈表可以快速訪問前后節點,時間復雜度為O(1)。

為了評估加密機制性能,基于STM32系列微處理器硬件平臺對比試驗,軟件實現DES和TDES的ECM和CBC模式加密算法,MD5、SHA-1、SHA-224和SHA-256四種HASH算法,AES算法的ECB,CBC,CTR,CCM和GCM五種模式加密算法。AES-CCM和AES-GCM是加密和認證一體的算法,對于其他則是單純的加解密算法和HASH算法,可以根據加密強度需要選擇響應的加密算法和HASH算法組合實現片外訪存的加密和認證。算法均可以通過軟件實現,而硬件加速則依賴特定型號器件。

表1 STM32微處理器平臺片外訪存加密認證

為了評估加密機制性能,通過FSMC接口擴展1 MB SRAM存儲器,軟件存儲器按1 KB劃分頁面,內存壓力測試隨機選擇頁面,頁面中隨機寫入、隨機讀出256字節數據。測試中AES算法選擇AES-128位,可選AES-196或AES-256滿足更高加密強度需要。

4 結論

本文以嵌入式系統安全機制為研究目標,從片外訪存的機密性、數據完整性出發,構建安全機制,探索嵌入式系統面臨的外部攻擊的對抗方法,并對典型硬件平臺的實現展開可行性評估。在假設嵌入式處理器本身是安全可信的條件下,采用AES-GCM算法對片外存儲器加密認證,可以有效地保證嵌入式系統的安全性,在STM32F103微處理器平臺以軟件實現了該加密機制,在內存壓力測試中其片外訪存平均性能降低了40%,驗證其可行性。通過一次密鑰和頁面地址置亂,使得不同頁面具有完全不同的密鑰,確保了加密強度。通過軟件設計LRUcache緩存明文,較好地優化了系統性能,降低采用加密和認證帶來的性能損失,片外訪存性能僅下降了9%。

[1]Huang A.Hacking the Xbox:an introduction to reverse engineering[M].San Francisco,CA:No Starch Press,2003.

[2]Yan C,Rogers B,Englender D,et al.Improving cost,performance,and security of memory encryption and authentication[C]//Proc of the International Symposium on Computer Architecture,2006:1-12.

[3]Gassend B,Suh G,Clarke D,et al.Caches and hash trees for efficient memory integrity verification[C]//Proc of the 9th International Symposium on High Performance Computer Architecture(HPCA-9),2003:1-14.

[4]Suh G E,Clarke D,Gassend B,et al.Hardware mechanisms for memory integrity checking,Technical Report MIT-LCSTR-872[R].2002:1-17.

[5]Durahim A O,Savas E,Sunar B,et al.Transparent code authenticationattheprocessorlevel[J].IETComputers and Digital Techniques,2009,3(4):354-372.

[6]Hu Yin,Hammouri G,Sunar B.A fast real-time memory authentication protocol[C]//Proceedings of the 3rd ACM WorkshoponScalableTrustedComputing,NewYork,NY,USA,2008:1-10.

[7]Clarke S D,Gassend B,van Dijk M,et al.Efficient memory integrity verification and encryption for secure processors[C]//The 36th International Symposium on Microarchitecture,2003:339-350.

[8]Recommendation for block cipher modes of operation:Galois/Counter Mode(GCM)and(GMAC)[Z].Inst Standards Technol,Special Publication 800-38D,2007.

[9]McGrew D A,Viega J.The Galois/counter mode of operation(GCM)[Z].Nat.Inst Standards Technol,Updated Submission to Modes of Operation Process,2005.

[10]Elbaz R,Champagne D,Lee R B,et al.TEC-Tree:a lowcost,parallelizabletreeforefficientdefenseagainst memory replay attacks[C]//Cryptographic Hardware and Embedded Systems(CHES),2007:289-302.

[11]Clarke D,Edward Suh G,Gassend B,et al.Towards constant bandwidth overhead integrity checking of untrusted data[C]//2005 IEEE Symposium on Security and Privacy,2005:1-19.

[12]Vaslin R,Gogniat G,Diguet J P,et al.A security approach for off-chip memory in embedded microprocessor systems[J].Microprocessors and Microsystems,2009:37-45.

[13]Vaslin R.Hardware core for off-chip memory security management in embedded systems[D].Univ South Brittany,Morbihan,France,2008.

[14]Dybdahl H,Stenstrom P,Natvig L.An LRU-based re-placement algorithm augmented with frequency of access in shared chip-multiprocessor caches[C]//MEDEA.06.USA:New York,2007,35(4):46-47.

[15]Jeong J,Dubios J,Dubois M.Cost-sensitive cache re-placement algorithms[C]//ProceedingsoftheNinthInternational Symposium on High-Performance Computer Architecture(HPCA-9.03).[S.l.]:IEEE Computer Society,2002:1-4.

LIU Genxian1,2,WANG Haixia2,LIU Zhenyu2,WANG Dongsheng2

1.Department of Computer Science and Technology,Tsinghua University,Beijing 100084,China
2.Tsinghua Laboratory for Information Science and Technology,Beijing 100084,China

Embedded systems in high security-sensitive areas are susceptible to various types of attacks,including stealing passwords,tampering data and offline analysis.Especially,the hardware-level attacks often result in significant losses to the users.In order to defend the above attacks,the off-chip memory is encrypted and authenticated through AES-GCM algorithm.This scheme writes data after encryption,decrypt and authenticate after read data.In addition,a function is built that scrambling password with page address to ensure the encryption strength.Finally LRU cache is introduced to improve its performance.The scheme is implemented on STM32F103 microprocessor platform in software and the feasibility of the system design is proved.The memory stress experiment shows that the system security is strengthened with 9%performance degradation.

embedded;microprocessor;off-chip memory;encryption and authentication

高安全敏感領域的嵌入式系統面臨總線監聽、數據篡改、離線分析等類型的惡意攻擊,試圖竊取密碼、篡改信息等。特別是配合硬件電路的攻擊,給用戶造成重大的損失。為了從根本上解決系統外部電路系統攻擊威脅,提出片外訪存加密認證機制,選擇AES-GCM算法,對所有片外寫數據進行加密,對讀數據進行解密并認證。同時設計一次密碼與頁地址置亂函數產生二次密鑰,保障了加密強度。進一步通過軟件實現LRU Cache優化性能,在STM32系列微處理器硬件平臺上,軟件實現片外訪存加密認證機制。在內存壓力測試中,加密片外訪存性能平均降低了9%。

嵌入式;微處理器;片外訪存;加密認證

A

TP309

10.3778/j.issn.1002-8331.1403-0022

LIU Genxian,WANG Haixia,LIU Zhenyu,et al.Encryption scheme design and implementation of embedded processor off-chip memory access.Computer Engineering and Applications,2014,50(22):92-96.

國家高技術研究發展計劃(863)(No.2012AA012609,No.2012AA0100905);國家自然科學基金(No.61373025,No.61303002)。

劉根賢(1974—),男,博士研究生,研究領域為嵌入式系統,信息安全;王海霞(1977—),女,博士,副教授,研究領域為高性能計算,形式驗證;劉振宇(1974—),男,博士,副教授,研究領域為視頻編碼,VLSI設計;汪東升(1966—),男,博導,教授,研究領域為計算機體系結構,高性能計算和存儲系統。E-mail:liugx08@mails.tsinghua.edu.cn

2014-03-05

2014-04-24

1002-8331(2014)22-0092-05

CNKI網絡優先出版:2014-07-11,http://www.cnki.net/kcms/doi/10.3778/j.issn.1002-8331.1403-0022.html

猜你喜歡
頁面嵌入式系統
大狗熊在睡覺
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
刷新生活的頁面
保健醫苑(2022年1期)2022-08-30 08:39:14
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
搭建基于Qt的嵌入式開發平臺
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
Altera加入嵌入式視覺聯盟
倍福 CX8091嵌入式控制器
自動化博覽(2014年4期)2014-02-28 22:31:15
主站蜘蛛池模板: av色爱 天堂网| 亚洲无码熟妇人妻AV在线| 另类重口100页在线播放| 欧美日韩激情| 思思热在线视频精品| 97se综合| 日韩无码视频专区| 国产在线八区| 欧美成人免费一区在线播放| 国产成人三级在线观看视频| 亚洲黄色成人| 欧美va亚洲va香蕉在线| 久久亚洲日本不卡一区二区| 免费看久久精品99| 国产成人精品18| 亚洲熟女中文字幕男人总站| 最新日本中文字幕| 免费看的一级毛片| 久久亚洲国产最新网站| 国产综合网站| 日韩精品欧美国产在线| 在线免费不卡视频| 亚洲成a人片| 一级毛片免费不卡在线| 高清不卡毛片| 91尤物国产尤物福利在线| 国产黄网永久免费| 亚洲三级片在线看| 亚洲一区二区三区在线视频| 99er这里只有精品| 无码综合天天久久综合网| 国产91av在线| 91色国产在线| 亚洲欧美日韩中文字幕在线| 热99精品视频| 中文字幕久久精品波多野结| 亚洲一区国色天香| 久久久久久久久亚洲精品| 国产精品女主播| 久草中文网| 欧美日韩国产系列在线观看| 久久毛片网| 国产第一页免费浮力影院| 久久精品日日躁夜夜躁欧美| 日韩无码视频专区| 亚洲男人在线天堂| 中文字幕永久在线看| 欧美在线视频a| 黄色在线不卡| 手机看片1024久久精品你懂的| 精品国产一区二区三区在线观看 | a毛片免费在线观看| 黄色网页在线播放| 福利一区在线| 亚洲乱码精品久久久久..| 最新国产你懂的在线网址| 精品国产乱码久久久久久一区二区| 国产一级二级在线观看| 女高中生自慰污污网站| 亚洲欧美成aⅴ人在线观看| 国产又黄又硬又粗| 久久国产高清视频| 亚洲日韩精品伊甸| 亚洲最新在线| 亚洲男人的天堂在线| 91啦中文字幕| 麻豆国产在线观看一区二区| 国产一区二区免费播放| 免费a级毛片视频| 欧美色亚洲| 男人天堂亚洲天堂| 国产精品视频猛进猛出| 日韩成人午夜| 亚洲中文字幕在线精品一区| 日本人真淫视频一区二区三区 | 成人午夜久久| 日本少妇又色又爽又高潮| 91青青视频| 久久久无码人妻精品无码| 视频一区视频二区日韩专区| 人人妻人人澡人人爽欧美一区| 国产成人精品视频一区二区电影 |