一種側(cè)信道分析評(píng)估基準(zhǔn)板的制作方法
【技術(shù)領(lǐng)域】
[0001] 本實(shí)用新型涉及一種側(cè)信道分析評(píng)估基準(zhǔn)板SCREEDV2. 0,此基準(zhǔn)板是一種基于FPGA硬件平臺(tái)的開(kāi)發(fā)板。使用該基準(zhǔn)板可以對(duì)任意算法進(jìn)行差分能量分析(DPA),電磁能 量分析(EM),錯(cuò)誤注入攻擊(FA)等,同時(shí)也可以利用此基準(zhǔn)板進(jìn)行算法的FPGA實(shí)現(xiàn)。本 實(shí)用新型評(píng)估板為側(cè)信道分析提供了實(shí)現(xiàn)以及測(cè)量平臺(tái),屬于信息安全技術(shù)領(lǐng)域。
【背景技術(shù)】
[0002] 自20世紀(jì)中期以來(lái),側(cè)信道分析在密碼學(xué)界引起了相當(dāng)大的重視。與傳統(tǒng)的密碼 分析通常將算法及其實(shí)現(xiàn)視為黑盒子,僅利用算法的輸入、輸出(即明文/密文)實(shí)施密鑰 破解相比不同的是,側(cè)信道分析利用了密碼實(shí)現(xiàn)執(zhí)行密碼操作的側(cè)信息(如執(zhí)行時(shí)間、能 量消耗、電磁輻射等)泄露,以及密碼實(shí)現(xiàn)所執(zhí)行的操作以及所處理的數(shù)據(jù)之間的相關(guān)性。 側(cè)信道攻擊指"攻擊者通過(guò)算法執(zhí)行過(guò)程中產(chǎn)生的額外信息泄露對(duì)算法實(shí)現(xiàn)進(jìn)行破解的攻 擊方式"。由于側(cè)信道分析是利用執(zhí)行密碼實(shí)現(xiàn)的物理設(shè)備上所泄露的信息而非密碼方案 固有的缺陷以達(dá)到恢復(fù)秘密信息的目的,因而從側(cè)信道分析這個(gè)領(lǐng)域看來(lái),在理論上被證 明安全的密碼方案仍然有可能是不安全的。學(xué)術(shù)界和產(chǎn)業(yè)界的相關(guān)研宄和觀察表明,與傳 統(tǒng)的黑盒子模型相比,側(cè)信息泄露模型能夠更好地刻畫(huà)密碼設(shè)備的實(shí)際場(chǎng)景,因而對(duì)密碼 實(shí)現(xiàn)的安全造成了更加現(xiàn)實(shí)和嚴(yán)重的威脅。
[0003]自提出到現(xiàn)在,側(cè)信道分析已經(jīng)成為對(duì)密碼設(shè)備安全性評(píng)估的一個(gè)不可回避的問(wèn) 題。
[0004] 為了采集側(cè)信息中的動(dòng)態(tài)能量消耗,研發(fā)了SCREEDV2. 0基準(zhǔn)板,使用該基準(zhǔn)板可 以采集任意FPGA實(shí)現(xiàn)的算法的能量泄露,從而為側(cè)信道分析提供足夠的實(shí)驗(yàn)數(shù)據(jù),為了算 法的安全性分析提供依據(jù)。 【實(shí)用新型內(nèi)容】
[0005]針對(duì)現(xiàn)有技術(shù)中存在的技術(shù)問(wèn)題,本實(shí)用新型的目的是提供一種側(cè)信道分析評(píng)估 基準(zhǔn)板,為準(zhǔn)確測(cè)量FPGA芯片在執(zhí)行算法過(guò)程中的側(cè)信息提供了測(cè)量平臺(tái)。使用該基準(zhǔn) 板可以實(shí)現(xiàn)測(cè)量能量值(即基準(zhǔn)板中計(jì)算單元的電壓值)的功能,從而實(shí)現(xiàn)側(cè)信道的差分 能量分析;基準(zhǔn)板在工作過(guò)程中,會(huì)泄露電磁信息,可以實(shí)現(xiàn)側(cè)信道的電磁分析;在工作過(guò) 程中,進(jìn)行錯(cuò)誤注入(如激光,電磁,溫度等,使得內(nèi)部運(yùn)算信息改變,從而改變輸出的密文 值),可以實(shí)現(xiàn)側(cè)信道的錯(cuò)誤注入分析。SCREED基準(zhǔn)板是一種用來(lái)進(jìn)行側(cè)信道分析的開(kāi)發(fā) 板?,F(xiàn)對(duì)本實(shí)用新型的各個(gè)功能模塊的技術(shù)設(shè)計(jì)進(jìn)行說(shuō)明。
[0006]本實(shí)用新型的技術(shù)方案為:
[0007]-種側(cè)信道分析評(píng)估基準(zhǔn)板,其特征在于,包括:電源模塊,以及與所述電源模塊 電連接的FPGA控制單元,F(xiàn)PGA計(jì)算單元,USB芯片單元,通用輸入輸出接口,存儲(chǔ)單元和測(cè) 量電路;所述FPGA計(jì)算單元、所述FPGA控制單元分別與所述USB芯片單元、通用輸入輸出 接口以及一時(shí)鐘模塊連接,所述FPGA計(jì)算單元分別與所述通用輸入輸出接口以及所述存 儲(chǔ)單元連接,所述FPGA計(jì)算單元的測(cè)量信號(hào)輸出端與所述測(cè)量電路連接;所述FPGA控制單 元與FPGA計(jì)算單元連接。
[0008] 進(jìn)一步的,包括一存放所述FPGA控制單元的固化程序的串行閃存模塊,其與所述 FPGA控制單元連接。
[0009] 進(jìn)一步的,包括一存放所述FPGA計(jì)算單元的固化程序的串行閃存模塊,其與所述 FPGA計(jì)算單元連接。
[0010] 進(jìn)一步的,所述存儲(chǔ)單元為同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器,其分別與一系統(tǒng)時(shí)鐘模塊、一參 考時(shí)鐘模塊連接。
[0011] 進(jìn)一步的,所述存儲(chǔ)單元為DDR3芯片。
[0012] 進(jìn)一步的,所述時(shí)鐘t吳塊為有源貼片晶振。
[0013] 進(jìn)一步的,包括一USB接口,其一端與所述USB芯片單元連接,另一端用于連接PC。
[0014] 進(jìn)一步的,包括一用于為所述FPGA控制單元接入外部參考時(shí)鐘的SM接口,一用 于為所述FPGA接入外部參考時(shí)鐘的SM接口。
[0015] 本實(shí)用新型設(shè)備可以支持多種算法的FPGA實(shí)現(xiàn)(小于325萬(wàn)邏輯門(mén))。
[0016] 一、側(cè)信道數(shù)據(jù)分析基準(zhǔn)評(píng)估板概述:
[0017]SCREEDV2. 0搭載兩顆Xilinx公司生產(chǎn)的FPGA芯片,一顆FPGA芯片用于控制管 理,一顆FPGA用于算法實(shí)現(xiàn)。SCREEDV2.0還包含一個(gè)USB2.0接口,用于與PC機(jī)進(jìn)行通 信,一片DDR3芯片,用于存儲(chǔ)運(yùn)算數(shù)據(jù)結(jié)果。
[0018] 具體規(guī)格如下:
[0019] 1?硬件電路板尺寸為16(tomX13(tomX2. 0謹(jǐn),包含10層PCB板。
[0020] 2. 2 顆XiIinx的FPGA芯片,F(xiàn)PGA計(jì)算單元(XC7K325T-2FFG900C,簡(jiǎn)稱K7)和FPGA 控制單元(XC5VLX50-1FFG676C,簡(jiǎn)稱V5)。
[0021] 3. 1顆2Gb鎂光MT41J128M16DDR3SDRAM芯片,為計(jì)算FPGA提供高速內(nèi)存。
[0022] 4.板載電源穩(wěn)壓器,可以接收USB供電或者外部直流5V電源供電。
[0023] 5.PC機(jī)通過(guò)USB接口與SCREEDV2.0連接,完成數(shù)據(jù)傳送和配置功能。
[0024]SCREEDV2.0的硬件模塊圍繞FPGA控制單元(U6)和FPGA計(jì)算單元(U5)設(shè)計(jì)了 周圍模塊主要包括電源模塊、時(shí)鐘模塊、USB接口模塊、DDR3SDRAM模塊、SPI-FLASH模塊、 加載電路模塊設(shè)計(jì)以及功耗采集測(cè)量電路模塊等。
[0025] 1)電源模塊
[0026]SCREEDV2. 0電源輸入為5V/6A的直流電源,可供選擇的供電方式有兩種,包括 USB供電和外部直流電源供電。SCREEDV2. 0正常電壓有3. 3V、2. 5V、1.8V、1.5V、1.2V、 V5_l. 0V、K7_l.OVO工作電壓,并要求這些電壓穩(wěn)定,波動(dòng)范圍小于3%。
[0027] 每個(gè)電源配置有電源穩(wěn)定輸出指示燈,每個(gè)電源正常輸出時(shí),對(duì)應(yīng)電源指示燈點(diǎn) 亮,各電源指示燈對(duì)應(yīng)位號(hào)如表1所示。
[0028] 表1電源指示燈
[0030] SCREEDV2.0的功能模塊使用的電壓種類較多,各個(gè)電壓供電說(shuō)明如表2所示。表 2中說(shuō)明了各個(gè)電源模塊與各部分的連接關(guān)系,即供給SCREED各個(gè)部分不同的電壓值來(lái)保 證整個(gè)芯片的正常工作。
[0031] 表2電壓使用說(shuō)明
[0032]
[0033] 2)時(shí)鐘模塊
[0034] FPGA控制單元和FPGA計(jì)算單元分別配有一個(gè)20MHz的有源貼片晶振。其中,20MHz 有源晶振(U28)為FPGA控制單元(U6)提供20M時(shí)鐘輸入;20MHz有源晶振(U29)為FPGA 計(jì)算單元(U5)提供20M時(shí)鐘輸入。FPGA的時(shí)鐘可以任意選擇,在基準(zhǔn)板設(shè)計(jì)中選擇20MHz 的原因?yàn)榛鶞?zhǔn)板設(shè)計(jì)的重點(diǎn)是對(duì)FPGA實(shí)現(xiàn)的側(cè)信息分析,在高頻下,對(duì)FPGA的設(shè)計(jì)有很多 要求,因此選擇低頻的20MHz,對(duì)于絕大多數(shù)設(shè)計(jì)都可以使用20MHz的時(shí)鐘。當(dāng)需要高頻的 時(shí)鐘信號(hào)時(shí),SCREEDV2. 0有2個(gè)SMA接頭分別作為FPGA控制單元(U6)和FPGA計(jì)算單元 (U5)的外部參考時(shí)鐘輸入,與外部晶振單元相連,作為高速數(shù)據(jù)傳輸和專用時(shí)鐘輸入通道 此處設(shè)計(jì)可以使得FPGA選擇任意頻率的外部時(shí)鐘,增加了設(shè)計(jì)的靈活性。200MHz有源晶 振(U30和U33)為同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器(SDRAM)提供200M的參考有源時(shí)鐘,其中U33作 為SDRAM的系統(tǒng)時(shí)鐘,U30作為參考時(shí)鐘。此時(shí)鐘的選擇是由SDRAM來(lái)決定的。
[0035] 3)USB芯片單元
[0036]USB是英文UniversalSerialBus(通用串行總線)的縮寫(xiě),是一個(gè)外部總線標(biāo) 準(zhǔn),用于規(guī)范電腦與外部設(shè)備的連接和通訊。USB是應(yīng)用在PC領(lǐng)域的接口技術(shù),它支持設(shè)備 的即插即用和熱插拔功能。USB系統(tǒng)用主控制器管理主機(jī)與USB設(shè)備間的數(shù)據(jù)傳輸。它與 主控制器間的接口依賴于主控制器的硬件定義。
[0037]SCREEDV2. 0基準(zhǔn)評(píng)估板采用了CYPRESS公司CY7C68013-56PVC型號(hào)的USB控制 芯片,此款芯片有56個(gè)管腳,它的功能把PC傳給USB接口的串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)發(fā) 送,或者把控制單元(Virtex-5)的并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù)發(fā)送給PC。在使用SCREED板