亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種Flash 安全存儲(chǔ)控制器的設(shè)計(jì)與實(shí)現(xiàn)*

        2020-06-08 10:09:20何衛(wèi)國(guó)黃金金李雨勵(lì)饒金濤
        通信技術(shù) 2020年5期
        關(guān)鍵詞:嵌入式用戶

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

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

        0 引 言

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

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

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

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

        1 控制器結(jié)構(gòu)

        1.1 總體結(jié)構(gòu)

        圖1 為Flash 安全存儲(chǔ)控制器的總體結(jié)構(gòu),主要包括流控模塊、加解密模塊、地址加擾模塊及訪問(wèn)控制模塊。

        各個(gè)模塊的功能如下。

        (1)流控模塊:接收總線信號(hào),判斷操作區(qū)域的訪問(wèn)權(quán)限,完成數(shù)據(jù)在各個(gè)模塊之間的流動(dòng) 控制。

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

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

        (4)訪問(wèn)控制模塊:對(duì)Flash 存儲(chǔ)器進(jìn)行分區(qū),控制不同等級(jí)用戶的訪問(wèn)范圍;對(duì)Flash 中的受保護(hù)區(qū)域?qū)嵭姓J(rèn)證保護(hù)機(jī)制,用戶只有認(rèn)證通過(guò)才能對(duì)受保護(hù)區(qū)域進(jìn)行讀、寫(xiě)操作。

        圖1 Flash 安全存儲(chǔ)控制器總體結(jié)構(gòu)

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

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

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

        圖2 寫(xiě)操作流程

        圖3 讀操作流程

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

        1.3 分區(qū)訪問(wèn)控制

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

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

        圖4 Flash 分區(qū)

        普通用戶的認(rèn)證過(guò)程描述如下。

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

        (2)將用戶口令與認(rèn)證值進(jìn)行比較,如果完全一致,則獲得當(dāng)前區(qū)域的訪問(wèn)權(quán)限,如果不一致則進(jìn)入流程(3);

        (3)錯(cuò)誤認(rèn)證的次數(shù)增加,獲取當(dāng)前區(qū)域的訪問(wèn)權(quán)限失敗。

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

        2 測(cè)試結(jié)果與分析

        2.1 測(cè)試環(huán)境

        測(cè)試環(huán)境基于某嵌入式SoC 芯片原型系統(tǒng),模擬用戶的認(rèn)證流程和對(duì)Flash 的讀寫(xiě)流程來(lái)驗(yàn)證Flash 安全存儲(chǔ)控制器的功能。實(shí)驗(yàn)環(huán)境如圖5 所示。

        2.2 實(shí)測(cè)結(jié)果

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

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

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

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

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

        圖5 實(shí)驗(yàn)環(huán)境

        3 結(jié) 語(yǔ)

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

        猜你喜歡
        嵌入式用戶
        TS系列紅外傳感器在嵌入式控制系統(tǒng)中的應(yīng)用
        電子制作(2019年7期)2019-04-25 13:17:14
        嵌入式系統(tǒng)通信技術(shù)的應(yīng)用
        電子制作(2018年18期)2018-11-14 01:48:16
        搭建基于Qt的嵌入式開(kāi)發(fā)平臺(tái)
        嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
        關(guān)注用戶
        商用汽車(2016年11期)2016-12-19 01:20:16
        關(guān)注用戶
        商用汽車(2016年6期)2016-06-29 09:18:54
        關(guān)注用戶
        商用汽車(2016年4期)2016-05-09 01:23:12
        Camera360:拍出5億用戶
        100萬(wàn)用戶
        如何獲取一億海外用戶
        国产一起色一起爱| 日韩无码专区| 免费看av在线网站网址| 中文字幕亚洲无线码| 无码专区亚洲avl| 亚洲av日韩综合一区尤物| 东京热人妻系列无码专区| 国产嫖妓一区二区三区无码| 啪啪网站免费观看| 三级网站亚洲三级一区| 亚洲av无码一区二区一二区| 亚洲欧洲巨乳清纯| 国产亚洲欧洲三级片A级| 亚洲综合一区二区三区在线观看| 国内精品久久久久久99| 熟妇人妻中文av无码| 欧洲乱码伦视频免费| 在线成人影院国产av| 久久久久久久综合综合狠狠| 免费人成毛片乱码| 国产精品一区二区久久精品蜜臀| 日本一区二区在线高清观看 | 人妻精品一区二区三区蜜桃| 欧美老妇多毛xxxxx极瑞视频| 成人免费视频在线观看| 中文字幕麻豆一区二区| 国产精品熟女一区二区三区| 无码人妻精品一区二区| 亚洲男女免费视频| 亚洲二区精品婷婷久久精品| 色狠狠色狠狠综合天天| 粗了大了 整进去好爽视频 | 熟妇人妻无乱码中文字幕真矢织江| 久久精品无码中文字幕| 国产成人精品人人做人人爽| 亚洲av综合色区一区二区| 亚洲欧美综合区自拍另类| 丝袜美女污污免费观看的网站| 久久青青草原一区网站| 亚洲欧美日韩另类精品一区| 亚洲成人中文|