• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種Flash 安全存儲控制器的設計與實現(xiàn)*

      2020-06-08 10:09:20何衛(wèi)國黃金金李雨勵饒金濤
      通信技術 2020年5期
      關鍵詞:加解密存儲器嵌入式

      何衛(wèi)國,黃金金,李 軍,李雨勵,饒金濤

      (成都三零嘉微電子有限公司,四川 成都 610041)

      0 引 言

      目前,嵌入式系統(tǒng)中廣泛使用Flash 存儲器存儲系統(tǒng)啟動引導文件等重要數(shù)據(jù)[1]。Flash 存儲器具有不易失、功耗低、可靠性好以及容量大等優(yōu)勢,但很容易受到攻擊被竊取敏感信息或被惡意篡改,如冷啟動攻擊和側信道攻擊等,造成系統(tǒng)的安全可靠性降低,關鍵信息泄露。因此,如何有效應對外部的安全攻擊至關重要。

      在軟件層面,文獻[2]基于JFFS2 設計了符合Flash 物理特性的加密文件系統(tǒng),完成數(shù)據(jù)的加密任務。常用的加密文件系統(tǒng)包括CFS、EFS 等,都工作在Linux 平臺或Windows 平臺,而不是針對嵌入式系統(tǒng)設計。如果直接移植到嵌入式系統(tǒng),會大大降低嵌入式系統(tǒng)的性能。根據(jù)NAND Flash 的物理特性,該文基于JFFS2 設計了一種EJFFS 加密文件系統(tǒng),在確保數(shù)據(jù)安全的同時,保證NAND Flash的讀寫速率。

      在硬件層面,文獻[3]使用CPLD 實現(xiàn)了Flash存儲器的加密,在處理器和Flash 總線之間串聯(lián)了一塊CPLD,對Flash 地址、數(shù)據(jù)進行處理。CPLD是可編程器件,非常適合完成各類算法和組合邏輯,通過在線編程功能可以靈活使用不同算法。文獻[4]在嵌入式系統(tǒng)存儲器數(shù)據(jù)加密技術的基礎上,提出了一種地址加擾安全防護措施,通過使用比特置換網(wǎng)絡實現(xiàn)地址加擾,保證了地址加擾的實時性。由于處理器的初始化代碼與處理器型號相關,特定型號的處理器其初始化代碼相對固定,因此很容易被攻擊者探知。通過對系統(tǒng)初始化過程中寫入存儲器的地址進行加擾,可以有效保護系統(tǒng)程序的安全。文獻[5]使用AES-GCM 實現(xiàn)加密算法和數(shù)據(jù)完整性算法,建立了一種片外訪存加密認證機制,將存儲器劃分為1 kB 大小的頁面,每個頁面生成一個128 bit 的認證碼。嵌入式系統(tǒng)讀取外部存儲器時,會將讀出密文生成的認證碼與保存的認證碼對比,如果不一致,說明數(shù)據(jù)被篡改。還有一些文獻使用其他的加密算法如LBlock、KLEIN 等實現(xiàn)安全存儲[6-7]。AMD 為了抵御冷啟動、Bus Snooping 等攻擊,也提出了硬件內存加密機制SME 與SEV[8],基于原有的內存控制器,將密鑰放在內存控制器上,對內存進行寫操作、讀操作時,內存控制器對數(shù)據(jù)進行加解密。

      本文設計實現(xiàn)了一種Flash 安全存儲控制器,以數(shù)據(jù)加密和混亂地址映射來防止攻擊者從存儲器入手攻擊關鍵信息,并對Flash 存儲器進行分區(qū),通過認證機制控制用戶訪問Flash 存儲器。

      1 控制器結構

      1.1 總體結構

      圖1 為Flash 安全存儲控制器的總體結構,主要包括流控模塊、加解密模塊、地址加擾模塊及訪問控制模塊。

      各個模塊的功能如下。

      (1)流控模塊:接收總線信號,判斷操作區(qū)域的訪問權限,完成數(shù)據(jù)在各個模塊之間的流動 控制。

      (2)加解密模塊:對Flash 中的存儲數(shù)據(jù)提供加密服務,保證Flash 存儲數(shù)據(jù)的保密性。這樣即使攻擊者讀取Flash 存儲器的內容,在沒有密鑰的情況下也無法獲取存儲數(shù)據(jù)的信息。

      (3)地址加擾模塊:對讀、寫操作的地址進行加擾,混亂數(shù)據(jù)的存儲位置,進一步提升存儲數(shù)據(jù)的保密性。

      (4)訪問控制模塊:對Flash 存儲器進行分區(qū),控制不同等級用戶的訪問范圍;對Flash 中的受保護區(qū)域實行認證保護機制,用戶只有認證通過才能對受保護區(qū)域進行讀、寫操作。

      圖1 Flash 安全存儲控制器總體結構

      1.2 數(shù)據(jù)安全存儲

      為了保證Flash 的訪問速率,本文的加解密模塊由國密SM4 算法實現(xiàn)。SM4 算法是一種分組算法,加解密速度快且邏輯簡單較易實現(xiàn),非常適合作為Flash 存儲數(shù)據(jù)的加解密算法。SM4 的運算流程是先輸入密鑰進行密鑰擴展,后輸入數(shù)據(jù)進行加解密處理。本文在一次密鑰擴展后會將擴展結果保存,后續(xù)如果密鑰不更換則不需要密鑰擴展過程。這樣可以將SM4 運算時間縮短一半,進一步提升Flash的訪問速率。

      讀、寫操作流程分別如圖2、圖3 所示。

      圖2 寫操作流程

      圖3 讀操作流程

      當流控模塊識別到總線發(fā)出寫操作時,首先判斷寫操作地址所在區(qū)域是否開放訪問權限,如果開放,將寫地址送入地址加擾模塊,將寫數(shù)據(jù)送入加解密模塊進行加密,之后將處理好的地址和數(shù)據(jù)按照Flash 接口協(xié)議送入Flash 存儲器。當流控模塊識別到總線發(fā)出讀操作,也要首先判斷讀操作地址所在區(qū)域是否具有訪問權限。如果有,則將加擾后的地址送入Flash 存儲器,等待Flash 發(fā)出讀回的數(shù)據(jù),然后將數(shù)據(jù)送入加解密模塊進行解密,再送回總線接口。

      1.3 分區(qū)訪問控制

      在一些應用場景中,F(xiàn)lash 中存儲的數(shù)據(jù)具有不同的密級。不同等級的用戶可訪問的數(shù)據(jù)范圍不同。為了實現(xiàn)不同等級用戶的訪問控制,本文在Flash 控制器中加入了分區(qū)訪問控制邏輯。將Flash存儲器空間劃分為多個區(qū)域,并將用戶分成兩級,包括普通用戶和管理員用戶。普通用戶針對某一區(qū)域進行認證,如果認證通過,則獲得該區(qū)域的訪問權限。管理員用戶通過認證,則獲得所有區(qū)域的訪問權限。

      如圖4 所示,F(xiàn)lash 空間被劃分為認證數(shù)據(jù)區(qū)和多個主存儲區(qū)。認證數(shù)據(jù)區(qū)用來保存所有主存儲區(qū)的相關信息,包括認證值、當前錯誤認證的次數(shù)、被允許的錯誤認證次數(shù)等。如果普通用戶針對某一區(qū)域的錯誤認證次數(shù)超過被允許的錯誤認證次數(shù),則該區(qū)域的訪問權限會被鎖死,用戶無法再通過認證獲得訪問權限,需要通過管理員認證來解鎖。如果管理員用戶的錯誤認證次數(shù)超過被允許的錯誤認證次數(shù),則全片鎖死。

      圖4 Flash 分區(qū)

      普通用戶的認證過程描述如下。

      (1)用戶發(fā)出口令后,首先判斷當前錯誤認證的次數(shù)是否超過被允許的錯誤認證次數(shù),如果不超過則進入流程(2),如果超過則當前區(qū)域的訪問權限鎖死,用戶無法操作當前區(qū)域;

      (2)將用戶口令與認證值進行比較,如果完全一致,則獲得當前區(qū)域的訪問權限,如果不一致則進入流程(3);

      (3)錯誤認證的次數(shù)增加,獲取當前區(qū)域的訪問權限失敗。

      首次認證時,用戶使用設定好的認證初始值作為口令進行認證。認證成功后,用戶可以將認證初始值改成僅用戶知曉的值,從而有效保護用戶的數(shù)據(jù)安全。

      2 測試結果與分析

      2.1 測試環(huán)境

      測試環(huán)境基于某嵌入式SoC 芯片原型系統(tǒng),模擬用戶的認證流程和對Flash 的讀寫流程來驗證Flash 安全存儲控制器的功能。實驗環(huán)境如圖5 所示。

      2.2 實測結果

      (1)未認證情況下向主存儲區(qū)發(fā)送寫請求,控制器拒接了此次寫請求,數(shù)據(jù)未被寫入Flash;向主存儲區(qū)發(fā)送讀請求,控制器拒接了此次讀請求。

      (2)認證失敗后向主存儲區(qū)發(fā)送寫請求,控制器拒接了此次寫請求,數(shù)據(jù)未被寫入Flash;向主存儲區(qū)發(fā)送讀請求,控制器拒接了此次讀請求。

      (3)認證成功后向主存儲區(qū)發(fā)送寫請求,控制器允許了此次寫請求,密文數(shù)據(jù)被寫入Flash,且寫入地址為加擾后地址;向主存儲區(qū)發(fā)送讀請求,控制器允許了此次讀請求,讀出數(shù)據(jù)為正確的明文。

      (4)認證失敗超過限定次數(shù)后,管理員發(fā)送口令且認證成功,向主存儲區(qū)發(fā)送寫請求,控制器允許了此次寫請求,密文數(shù)據(jù)被寫入Flash,且寫入地址為加擾后地址;向主存儲區(qū)發(fā)送讀請求,控制器允許了此次讀請求,讀出數(shù)據(jù)為正確的明文。

      測試結果表明,F(xiàn)lash 安全存儲控制器能夠實現(xiàn)分區(qū)訪問控制,且數(shù)據(jù)在Flash 存儲區(qū)中以加擾加密狀態(tài)存儲。可以根據(jù)用戶制定的用戶策略設定部分主存儲區(qū)不需認證即可訪問,形成開放區(qū)和敏感區(qū),使應用范圍更加靈活。目前,本設計已經(jīng)應用于實際產品中并流片完成,證明了本設計的可用性和實用性。

      圖5 實驗環(huán)境

      3 結 語

      本文設計實現(xiàn)了一種Flash 安全存儲控制器,在通用Flash 控制器工作原理的基礎上添加加解密模塊和加擾模塊,將Flash 存儲空間劃分為多個分區(qū),實現(xiàn)對不同等級用戶的訪問權限的控制,最后通過實際測試驗證了控制器功能。該Flash 安全存儲控制器完全由硬件實現(xiàn),對Flash 訪問速率影響相對較小,且訪問過程安全可靠,提高了系統(tǒng)的安全防護能力,可在很多平臺推廣應用。

      猜你喜歡
      加解密存儲器嵌入式
      靜態(tài)隨機存儲器在軌自檢算法
      搭建基于Qt的嵌入式開發(fā)平臺
      PDF中隱私數(shù)據(jù)的保護方法
      軟件導刊(2017年4期)2017-06-20 20:35:24
      嵌入式軟PLC在電鍍生產流程控制系統(tǒng)中的應用
      電子取證中常見數(shù)據(jù)加解密理論與方法研究
      基于FPGA的LFSR異步加解密系統(tǒng)
      網(wǎng)絡數(shù)據(jù)傳輸?shù)募咏饷芟到y(tǒng)研究
      軟件工程(2014年11期)2014-11-15 20:02:46
      存儲器——安格爾(墨西哥)▲
      Altera加入嵌入式視覺聯(lián)盟
      倍福 CX8091嵌入式控制器
      自動化博覽(2014年4期)2014-02-28 22:31:15
      淳安县| 青河县| 安泽县| 卢龙县| 青河县| 沙湾县| 松桃| 文成县| 文山县| 都安| 黄大仙区| 大方县| 广汉市| 揭东县| 泗洪县| 克什克腾旗| 宿迁市| 象州县| 呼伦贝尔市| 凤翔县| 茌平县| 兴仁县| 陵川县| 平江县| 泾川县| 昌乐县| 勐海县| 宜丰县| 万山特区| 永州市| 法库县| 灵璧县| 东海县| 安乡县| 上虞市| 嘉鱼县| 鄂伦春自治旗| 大宁县| 柘城县| 镇安县| 吉水县|