版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
基于FPGA技術(shù)實(shí)現(xiàn)安全封裝雙向認(rèn)證方案的設(shè)計(jì)在深入分析基于FPGA的安全封裝結(jié)構(gòu)的基礎(chǔ)上,針對(duì)其實(shí)際應(yīng)用中身份認(rèn)證的安全性要求,重點(diǎn)研究并設(shè)計(jì)了一種適用于FPGA安全封裝結(jié)構(gòu)的身份認(rèn)證模型。該模型通過利用RSA公鑰密碼算法和SHA-1算法,實(shí)現(xiàn)了對(duì)用戶及FPGA的雙向認(rèn)證。該模型具備良好的可移植性和安全性,能夠有效抵御多種攻擊,為基于FPGA的安全封裝應(yīng)用提供了強(qiáng)有力的用戶權(quán)限認(rèn)證。隨著嵌入式技術(shù)的推廣,F(xiàn)PGA在各種嵌入式系統(tǒng)中得到了廣泛應(yīng)用。在各種嵌入式系統(tǒng)應(yīng)用中,F(xiàn)PGA往往用于實(shí)現(xiàn)整個(gè)系統(tǒng)的核心功能。因此,如何保證FPGA內(nèi)部功能構(gòu)造的安全性成為保護(hù)整個(gè)嵌入式系統(tǒng)核心知識(shí)產(chǎn)權(quán)的關(guān)鍵性問題。針對(duì)FPGA內(nèi)部構(gòu)造碼安全性的問題,各FPGA廠家推出了多種具有特殊安全功能的產(chǎn)品。但是,先進(jìn)的數(shù)據(jù)分析技術(shù)及工具使得攻擊者可以很容易地對(duì)芯片管腳的輸出信號(hào)(如地址總線、數(shù)據(jù)總線)進(jìn)行行為探測(cè)或數(shù)據(jù)竊取,并且根據(jù)探測(cè)結(jié)果推導(dǎo)出FPGA內(nèi)部功能模塊的實(shí)現(xiàn)機(jī)理?;贔PGA的安全封裝技術(shù)正是為了解決對(duì)芯片管腳輸出信號(hào)的攻擊而產(chǎn)生的一種安全防護(hù)技術(shù),通過在FPGA芯片內(nèi)的功能模塊外加上一層安全封裝,保證功能模塊運(yùn)行時(shí)的不可探測(cè)性。而作為整個(gè)安全防護(hù)機(jī)制的啟用入口,身份認(rèn)證機(jī)制關(guān)系整個(gè)安全封裝結(jié)構(gòu)的有效性,必須保證認(rèn)證信息在靜態(tài)存儲(chǔ)及認(rèn)證過程中的有效性及安全性。本文通過對(duì)FPGA安全封裝進(jìn)行剖析,重點(diǎn)研究并設(shè)計(jì)了一種基于FPGA安全封裝的身份認(rèn)證機(jī)制。該身份認(rèn)證機(jī)制能夠保證認(rèn)證過程的有效性及認(rèn)證信息的安全性,具有良好的可移植性,能夠集成到各種安全封裝結(jié)構(gòu)中。1FPGA安全封裝技術(shù)如圖1所示,基于FPGA的安全封裝結(jié)構(gòu)可以看作是在功能模塊外加上一層保護(hù)層,功能模塊所有與外界的I/O端口通信都必須通過安全封裝結(jié)構(gòu)。當(dāng)功能模塊需要對(duì)外部器件進(jìn)行通信時(shí),所有功能模塊接收/發(fā)送的數(shù)據(jù)均被安全封裝模塊進(jìn)行加/脫密處理。通過這種方法,攻擊者在FPGA管腳上所截獲的信息均為密文信息,從而達(dá)到保護(hù)FPGA內(nèi)部功能模塊的目的。安全封裝結(jié)構(gòu)主要由三個(gè)功能單元組成,分別為FPGA功能模塊單元、身份認(rèn)證單元和加密單元。其中,功能模塊單元為具體實(shí)現(xiàn)系統(tǒng)中FPGA功能的部分,是實(shí)現(xiàn)FPGA芯片應(yīng)用的核心單元;身份認(rèn)證單元主要負(fù)責(zé)對(duì)用戶的合法身份進(jìn)行認(rèn)證并啟用安全封裝;加密單元負(fù)責(zé)對(duì)功能單元的輸入/輸出數(shù)據(jù)進(jìn)行加/脫密處理,保證FPGA輸入/輸出數(shù)據(jù)的安全性。用戶接口便于用戶插入智能卡等設(shè)備,進(jìn)行身份認(rèn)證。安全封裝組成結(jié)構(gòu)如圖2所示。安全封裝未啟用前,F(xiàn)PGA芯片內(nèi)的功能模塊單元處于等待狀態(tài)。當(dāng)用戶需要啟用FPGA內(nèi)部的安全封裝時(shí),利用智能卡與FPGA芯片進(jìn)行身份認(rèn)證。如果認(rèn)證失敗,則芯片拒絕該用戶的訪問,如果認(rèn)證成功,身份認(rèn)證單元會(huì)將用戶ID發(fā)送給加密單元。接收到用戶ID后,加密單元將啟動(dòng)功能模塊單元。當(dāng)功能模塊單元對(duì)外部進(jìn)行寫/讀操作時(shí),加密單元從功能模塊單元獲得數(shù)據(jù)的地址信息,結(jié)合用戶ID,作為產(chǎn)生加/解密密鑰的根向量,并利用所產(chǎn)生的密鑰對(duì)功能模塊單元輸入/輸出的數(shù)據(jù)進(jìn)行加/解密。2基于FPGA安全封裝的身份認(rèn)證2.1基于FPGA安全封裝的雙向認(rèn)證方案身份認(rèn)證是通過將一個(gè)證據(jù)與實(shí)體身份綁定實(shí)現(xiàn)的。在FPGA安全封裝應(yīng)用中,實(shí)體為智能卡及FPGA。為了確保安全封裝應(yīng)用的安全性,在認(rèn)證過程中,一方面智能卡必須向FPGA提供證據(jù)證明自己的合法身份;另一方面,F(xiàn)PGA芯片也必須向智能卡提供證據(jù)證明自己的合法性。因此,基于FPGA安全封裝的身份認(rèn)證機(jī)制必須是雙向的。為了降低身份認(rèn)證機(jī)制實(shí)現(xiàn)的復(fù)雜度并節(jié)省FPGA內(nèi)部資源,選擇了RSA密碼算法并輔助以SHA-1算法作為實(shí)現(xiàn)雙向認(rèn)證方案的密碼學(xué)基礎(chǔ)。RSA密碼的安全性基于大合數(shù)因子分解的困難性,當(dāng)大合數(shù)取1024位或2048位時(shí),破譯RSA密碼的代價(jià)將是非常巨大的。SHA-1算法是一種單向的Hash函數(shù),通過輸入一組小于264位的報(bào)文,得到一組160位的報(bào)文摘要,并且算法滿足下面兩條性質(zhì):(1)通過報(bào)文摘要推算出原報(bào)文在計(jì)算上是不可行的,即算法具備不可逆性;(2)不同的兩段報(bào)文所產(chǎn)生的報(bào)文摘要是不相同的,即算法具備抗沖擊性。雙向認(rèn)證方案的密鑰配置如表1所示。假設(shè)ef和eu分別為智能卡和FPGA的RSA私鑰,df和du分別為智能卡和FPGA的RSA公鑰,nf和nu分別為智能卡和FPGA所使用的RSA大合數(shù)。FPGA擁有自己的私鑰eu和智能卡的公鑰df及雙方所使用的大合數(shù)nf、nu;同樣智能卡也擁有自己的私鑰ef和FPGA的公鑰du及雙方所使用的大合數(shù)nf、nu,則雙向認(rèn)證過程可分為以下幾個(gè)步驟:(1)用戶將記錄有用戶ID信息的智能卡插入用戶接口。(2)FPGA芯片探測(cè)到智能卡的插入,啟動(dòng)身份認(rèn)證單元。(3)智能卡產(chǎn)生一個(gè)隨機(jī)數(shù)mu,并用ef和nf對(duì)其進(jìn)行加密,然后將加密后的結(jié)果發(fā)給FPGA芯片中的身份認(rèn)證單元。(4)身份認(rèn)證單元使用df和nf對(duì)cu進(jìn)行解密,得到解密結(jié)果mu′。(5)身份認(rèn)證單元使用eu和nu對(duì)mu′進(jìn)行加密,并將加密結(jié)果cf′回傳給智能卡。(6)智能卡使用du和nu對(duì)cf′進(jìn)行解密,并將解密結(jié)果與mu進(jìn)行對(duì)比。若正確,則確認(rèn)FPGA芯片對(duì)于用戶的合法性,并繼續(xù)下一步的操作;若不正確,智能卡將與FPGA芯片斷開連接。(7)身份認(rèn)證單元產(chǎn)生一隨機(jī)數(shù)mf,并使用eu和nu對(duì)其進(jìn)行加密,并將加密結(jié)果cf傳遞給智能卡。(8)智能卡使用du和nu對(duì)cf進(jìn)行解密,得到解密結(jié)果mf。(9)智能卡使用ef和nf對(duì)(ID+mu+mf)進(jìn)行加密,得到加密結(jié)果cID,并將cID發(fā)送給身份認(rèn)證單元。(10)身份認(rèn)證單元使用df和nf對(duì)cID進(jìn)行解密,并將解密結(jié)果減去mu和mf得到ID。(11)身份認(rèn)證單元使用SHA-1算法對(duì)ID進(jìn)行Hash運(yùn)算,得到chash。(12)身份認(rèn)證單元將與IDHash表寄存器中的值進(jìn)行匹配,若匹配成功,則證明智能卡對(duì)于FPGA芯片的合法性,IDHash將作為根向量的一部分參與到加密單元的加解密操作中去,若匹配不成功,F(xiàn)PGA芯片將斷開與智能卡的連接。2.2身份認(rèn)證單元模型設(shè)計(jì)在FPGA安全封裝結(jié)構(gòu)中,身份認(rèn)證單元的一端與加密單元相連,另一端與用戶接口相連。為了滿足雙向認(rèn)證過程中智能卡RSA運(yùn)算及用戶ID存儲(chǔ)安全性的要求,選用DS1957B實(shí)現(xiàn)智能卡。DS1957B使用防止物理探測(cè)的封裝方式,內(nèi)置Java處理器、1024位密碼加速器、隨機(jī)數(shù)發(fā)生器及134KB的非易失性RAM,能夠非常方便地實(shí)現(xiàn)RSA運(yùn)算,并且能夠?qū)▋?nèi)保存的密鑰及用戶ID信息實(shí)施密封存儲(chǔ)。為了實(shí)現(xiàn)雙向認(rèn)證過程,F(xiàn)PGA安全封裝中的身份認(rèn)證單元模型由一個(gè)xemodn計(jì)算器、隨機(jī)數(shù)發(fā)生器、RSA引擎、RSA密鑰寄存器、SHA-1計(jì)算器及IDHash表寄存器組成。其中,xemodn計(jì)算器負(fù)責(zé)RSA密碼的模冪運(yùn)算,隨機(jī)數(shù)發(fā)生器負(fù)責(zé)產(chǎn)生隨機(jī)數(shù),RSA引擎負(fù)責(zé)FPGA端的RSA運(yùn)算,RSA密鑰寄存器存儲(chǔ)RSA密碼的密鑰,SHA-1計(jì)算器負(fù)責(zé)對(duì)用戶ID信息進(jìn)行單向Hash運(yùn)算,IDHash表寄存器存儲(chǔ)合法的用戶ID的Hash值。身份認(rèn)證單元模型如圖3所示。3安全性分析身份認(rèn)證單元模型的安全性主要基于三點(diǎn):(1)密鑰及用戶ID靜態(tài)存放的安全性;(2)所使用的加密算法的安全性;(3)認(rèn)證方案抵御各種攻擊的能力。其中第二點(diǎn)不屬于本文討論的范圍。假定所使用的算法總是安全的,以下將具體分析第一點(diǎn)和第三點(diǎn)。(1)針對(duì)于密鑰和用戶ID的靜態(tài)存放,一方面由于智能卡采用了防止物理探測(cè)的封裝形式,并對(duì)智能卡內(nèi)的數(shù)據(jù)進(jìn)行密封存儲(chǔ)的方式進(jìn)行保存,攻擊者難以通過物理探測(cè)或軟件探測(cè)盜取存儲(chǔ)在智能卡上的密鑰及用戶ID信息[7-8]。另一方面,F(xiàn)PGA內(nèi)部由大規(guī)模邏輯門陣列組成,要從中單獨(dú)提取出密鑰等敏感數(shù)據(jù)非常困難。此外,大部分FPGA已經(jīng)具備對(duì)比特流及其內(nèi)部結(jié)構(gòu)的保護(hù)功能。因此,能夠確保身份認(rèn)證過程中所使用密鑰及用戶ID的靜態(tài)安全性。(2)在認(rèn)證過程中,最有可能遭受到的攻擊手段有冒充實(shí)體攻擊、重放攻擊、唯密文攻擊。針對(duì)這些攻擊,認(rèn)證方案都具備相應(yīng)的防范策略。3.1冒充實(shí)體攻擊假設(shè)攻擊者盜取了用戶的智能卡,為了獲得智能卡上的ID信息,利用一個(gè)設(shè)備冒充合法的FPGA與智能卡連接。但由于在認(rèn)證過程中,該冒充的設(shè)備無法成功地向智能卡證明其身份的合法性,使智能卡不會(huì)向該設(shè)備發(fā)送包含用戶ID的相關(guān)信息,所以該安全封裝結(jié)構(gòu)能夠抵抗“冒充實(shí)體攻擊”。3.2重放攻擊假設(shè)攻擊者截獲了身份認(rèn)證單元發(fā)送的認(rèn)證信息cf′和cf,并對(duì)智能卡發(fā)動(dòng)重發(fā)攻擊。(1)在認(rèn)證過程的步驟(3)中,智能卡產(chǎn)生一個(gè)新的隨機(jī)數(shù)mu2,并用ef和nf對(duì)其進(jìn)行加密,然后將加密后的結(jié)果cu2發(fā)給FPGA芯片中的身份認(rèn)證單元。(2)攻擊者將cf′發(fā)回給智能卡。(3)智能卡使用du和nu對(duì)cf′進(jìn)行解密,得到mu,由于mu≠mu2,認(rèn)證失敗。假設(shè)攻擊者截獲了智能卡發(fā)送的認(rèn)證信息cu和cID,并對(duì)FPGA發(fā)動(dòng)重發(fā)攻擊:(1)在認(rèn)證過程步驟(7)中,身份認(rèn)證單元產(chǎn)生了一個(gè)新的隨機(jī)數(shù)mf2,并使用eu和nu對(duì)其進(jìn)行加密,并將加密結(jié)果cf2傳遞給智能卡;(2)攻擊者將cID發(fā)回給FPGA;(3)身份認(rèn)證單元使用df和nf對(duì)cID進(jìn)行解密,并將解密結(jié)果減去mu和mf2得到ID2;(4)身份認(rèn)證單元使用SHA-1算法對(duì)ID2進(jìn)行Hash運(yùn)算,得到chash′;(5)由于chash′顯然不能與IDHash表寄存器中的值匹配成功,認(rèn)證失敗。因此該安全封裝結(jié)構(gòu)能夠抵抗“重放攻擊”。3.3唯密文攻擊假設(shè)攻擊者通過信道竊聽截獲了雙方傳遞的所有認(rèn)證信息,由于認(rèn)證信息都是基于隨機(jī)數(shù)產(chǎn)生的,所以每次傳遞的認(rèn)證信息都不相同,這極大增加了攻擊者分析密文的難度。而在認(rèn)證過程的步驟(9)中,由于CID是通過對(duì)(ID+mu+mf)加密
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 達(dá)飛培訓(xùn)課件
- 邊框縮小技術(shù)
- 食品生產(chǎn)衛(wèi)生規(guī)范試題及答案
- 辭退員工的技巧培訓(xùn)課件
- 車隊(duì)長(zhǎng)崗位安全培訓(xùn)課件
- 車隊(duì)安全培訓(xùn)教育內(nèi)容課件
- 草原的利用和保護(hù)試題
- 2026年人體感覺器官的結(jié)構(gòu)及生理功能知識(shí)考核試題與答案
- 車間級(jí)安全培訓(xùn)簽到表課件
- 酒店客房預(yù)訂與客戶關(guān)系管理規(guī)范制度
- 雅思2025年閱讀真題解析試卷(含答案)
- 餐飲員工服務(wù)溝通技巧指導(dǎo)書
- 黑色三分鐘1-12部事故類型及直接原因分析(新)
- 化學(xué)史簡(jiǎn)明教程 課件 第5-7章 有機(jī)化學(xué)的興起 -現(xiàn)代化學(xué)的發(fā)展趨勢(shì)
- 2025年高考真題-化學(xué)(四川卷) 含答案
- 學(xué)堂在線 雨課堂 學(xué)堂云 大數(shù)據(jù)機(jī)器學(xué)習(xí) 章節(jié)測(cè)試答案
- 2025年中國奢侈女鞋行業(yè)市場(chǎng)全景分析及前景機(jī)遇研判報(bào)告
- 七年級(jí)英語上冊(cè)新教材解讀課件(譯林版2024)
- 煤礦機(jī)電設(shè)備檢修標(biāo)準(zhǔn)及安全技術(shù)措施
- 工貿(mào)行業(yè)安全管理和企業(yè)現(xiàn)場(chǎng)常見隱患排查解讀(1)精
- 中藥鑒定學(xué)習(xí)題集全文檔
評(píng)論
0/150
提交評(píng)論