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

        ?

        異構(gòu)緊耦合可重構(gòu)密碼芯片關(guān)鍵技術(shù)研究

        2020-07-15 05:01:28崔廣財(cái)拾以娟

        崔廣財(cái),拾以娟,孟 濤

        (江南計(jì)算技術(shù)研究所,江蘇 無錫 214000)

        0 引 言

        數(shù)據(jù)安全[1]在任何時(shí)候都不可或缺,如今經(jīng)常出現(xiàn)信息泄露和網(wǎng)絡(luò)安全事件。2013年,美國的棱鏡門事件值得警醒,表明數(shù)據(jù)安全與每個(gè)人、每個(gè)企業(yè)、每個(gè)國家都息息相關(guān);2017年,美國陸軍及NSA情報(bào)平臺(tái)有超過100 GB的數(shù)據(jù)暴露在可公開訪問的AWS S3存儲(chǔ)服務(wù)器上,其中包含高度敏感、機(jī)密性的國家安全數(shù)據(jù);2018年,F(xiàn)acebook公司超過5 000萬用戶的信息泄露事件被曝光。

        密碼作為最重要的安全工具,在數(shù)據(jù)安全保護(hù)方面起著關(guān)鍵作用。

        隨著大數(shù)據(jù)時(shí)代以及5G時(shí)代的到來,數(shù)據(jù)呈指數(shù)級增長,海量數(shù)據(jù)的處理需要大量的計(jì)算資源,利用專用集成電路去做加速處理是一個(gè)發(fā)展趨勢,對于數(shù)據(jù)密集型的密碼運(yùn)算,也越來越多地采用專用密碼算法芯片。但專用密碼算法芯片的靈活性較差,如果需要替換或升級密碼算法,只能重新設(shè)計(jì)、流片,周期很長,而且風(fēng)險(xiǎn)較大。

        因此,結(jié)合FPGA及可重構(gòu)計(jì)算技術(shù)[2-6]的發(fā)展,很多研究致力于構(gòu)建一個(gè)具有靈活性、可擴(kuò)展性和高效能的可重構(gòu)密碼體系結(jié)構(gòu),用戶根據(jù)應(yīng)用需求配置可重構(gòu)的計(jì)算單元以實(shí)現(xiàn)特定的密碼算法??芍貥?gòu)計(jì)算單元按照粒度可分為細(xì)粒度和粗粒度可重構(gòu)單元,細(xì)粒度可重構(gòu)單元的重構(gòu)粒度小于4比特,重構(gòu)粒度超過4比特的稱為粗粒度可重構(gòu)單元,F(xiàn)PGA是一種典型的細(xì)粒度可重構(gòu)器件,其重構(gòu)粒度為1比特。2001年,Yukio等[7]設(shè)計(jì)的粗粒度可重構(gòu)密碼芯片,可動(dòng)態(tài)配置子密鑰,在移動(dòng)通信方面具有較好的復(fù)雜性和靈活性。2004年,姜晶菲在其博士論文中提出了一種可重構(gòu)密碼處理框架[8](RCPF),該框架能夠合理支持各種分組密碼和公鑰密碼算法。2009年,楊曉輝等[9]提出了一種可重構(gòu)分組密碼處理結(jié)構(gòu)(RCPA),該結(jié)構(gòu)針對分組密碼算法擁有較高的性能和靈活性。同年,孟濤等[10]提出了基于專用指令集處理器的可重構(gòu)分簇式分組密碼處理架構(gòu)(RCBCP),在指令集的控制下,各種分簇結(jié)構(gòu)可以被動(dòng)態(tài)重構(gòu)。2014年,李校南等[11]提出了基于Crossbar互連的可重構(gòu)分簇式分組密碼處理架構(gòu)(RCCPA),同年,陳韜等[12]提出了一種基于流處理框架的可重構(gòu)分簇式分組密碼處理結(jié)構(gòu)(S-RCCPA),該結(jié)構(gòu)可通過擴(kuò)展電路規(guī)模獲得很好的性能收益。

        為了進(jìn)一步綜合提高可重構(gòu)密碼處理架構(gòu)的靈活性和處理性能,文中提出了一種由細(xì)粒度的FPGA和粗粒度的ASIC電路組成的異構(gòu)緊耦合硬件架構(gòu),基于該架構(gòu)不僅能夠靈活實(shí)現(xiàn)多種密碼算法,而且可以提高密碼算法的處理性能。

        1 可重構(gòu)密碼芯片架構(gòu)

        傳統(tǒng)的密碼算法實(shí)現(xiàn)方式有兩種:一種是基于通用處理器芯片的,通過CPU的軟件編程,可以靈活實(shí)現(xiàn)各種密碼算法,但這種方式的處理速度慢,且占用大量的CPU計(jì)算資源;另一種是基于專用密碼芯片的,通過ASIC設(shè)計(jì)定制實(shí)現(xiàn)所需密碼算法,這種方式的處理速度快,但是由于電路結(jié)構(gòu)固定,所以靈活性差。另外,從安全角度考慮,以上兩種方式均存在較大的安全隱患,容易受到軟件攻擊和物理攻擊。因此,很多研究者為了結(jié)合CPU和ASIC兩種方式的優(yōu)勢,設(shè)計(jì)出基于CPU+ASIC的可重構(gòu)密碼芯片架構(gòu),其基本架構(gòu)如圖1所示。

        可重構(gòu)密碼處理陣列是用于加速密碼運(yùn)算的可配置ASIC電路,通過CPU的專用指令進(jìn)行調(diào)度和配置ASIC陣列,以完成相應(yīng)的密碼算法處理過程。

        隨著FPGA技術(shù)的快速發(fā)展,其應(yīng)用領(lǐng)域已經(jīng)遍及信號(hào)處理、網(wǎng)絡(luò)多媒體、航天、軍事和硬件加速等各個(gè)方面。FPGA為實(shí)現(xiàn)可重構(gòu)密碼芯片提供了一種相對低成本、高性能的計(jì)算平臺(tái),尤其在硬件邏輯出現(xiàn)錯(cuò)誤、故障時(shí),或者需要升級、更換硬件邏輯時(shí),只需對FPGA芯片重新燒錄配置文件。但是FPGA芯片存在大量冗余電路和功耗較高等缺點(diǎn),為了結(jié)合FPGA和ASIC的優(yōu)勢,文中提出了基于FPGA+ASIC的異構(gòu)緊耦合密碼芯片架構(gòu)。

        圖1 基于CPU+ASIC的可重構(gòu)密碼芯片基本架構(gòu)

        設(shè)計(jì)的基于FPGA+ASIC的異構(gòu)緊耦合可重構(gòu)密碼芯片架構(gòu)——RCHA(reconfigurable cipher heterogeneous architecture),包含了細(xì)粒度的FPGA IP和粗粒度的可重構(gòu)密碼處理陣列ASIC電路,如圖2所示。FPGA IP主要用于實(shí)現(xiàn)數(shù)據(jù)包的解析和算法控制邏輯,可重構(gòu)密碼處理陣列ASIC電路主要完成相應(yīng)的密碼運(yùn)算。

        RCHA處理架構(gòu)的可重構(gòu)密碼處理陣列由可重構(gòu)模塊、互連網(wǎng)絡(luò)和配置模塊組成,其中可重構(gòu)模塊和互連網(wǎng)絡(luò)負(fù)責(zé)密碼運(yùn)算的硬件加速,配置模塊從外部接收靜態(tài)配置包,在芯片初始化時(shí)完成可重構(gòu)模塊和互連網(wǎng)絡(luò)的參數(shù)配置。FPGA控制電路包括數(shù)據(jù)包解析模塊、密鑰擴(kuò)展控制邏輯模塊和加解密控制邏輯模塊,從外部接收到數(shù)據(jù)包后,先進(jìn)行數(shù)據(jù)包的解析工作,然后控制實(shí)現(xiàn)密鑰擴(kuò)展算法和加解密算法。在FPGA控制電路與ASIC可重構(gòu)密碼處理陣列之間,設(shè)計(jì)了專用的數(shù)據(jù)通道、配置通道和控制通道,可高效并行地完成兩者之間的交互,其中數(shù)據(jù)通道用于傳輸需要加解密處理的數(shù)據(jù)分組,配置通道用于傳輸FPGA的動(dòng)態(tài)配置信息,控制通道用于傳輸兩者之間的啟動(dòng)、結(jié)束及握手響應(yīng)等信號(hào)。

        該芯片架構(gòu)在算法重構(gòu)方面有很強(qiáng)的靈活性,一方面是因?yàn)榭芍貥?gòu)模塊具有較強(qiáng)的重構(gòu)能力,能夠支持較多的分組密碼算法,另一方面,F(xiàn)PGA的冗余資源可用于實(shí)現(xiàn)ASIC密碼處理陣列支持不了的密碼運(yùn)算邏輯,解決了算法層面存在的框架重構(gòu)局限性問題。對于ASIC密碼處理陣列的配置,采用靜態(tài)配置和動(dòng)態(tài)配置相結(jié)合的方式,這樣可以有效降低FPGA與ASIC密碼處理陣列頻繁交互帶來的性能損耗。完成配置后,數(shù)據(jù)包先進(jìn)入FPGA,待解析處理后發(fā)給ASIC密碼處理陣列,該陣列由m行n列可重構(gòu)模塊組成,每一行有n個(gè)可重構(gòu)模塊和1個(gè)互連網(wǎng)絡(luò),數(shù)據(jù)流在ASIC密碼處理陣列中是自上而下的,通過流水線設(shè)計(jì)可實(shí)現(xiàn)多級流水和高吞吐率的需求。

        圖2 基于FPGA+ASIC的異構(gòu)緊耦合可重構(gòu)密碼芯片架構(gòu)—RCHA

        2 異構(gòu)緊耦合可重構(gòu)密碼芯片實(shí)現(xiàn)的關(guān)鍵技術(shù)

        2.1 可重構(gòu)密碼處理陣列設(shè)計(jì)

        文中通過分析常見的分組密碼算法如AES、SMS4和IDEA等,歸納總結(jié)出六種常用的密碼運(yùn)算單元:移位、置換、查S盒、模加、模乘、有限域乘法,針對這些密碼運(yùn)算設(shè)計(jì)出可重構(gòu)的運(yùn)算單元,通過配置改變各個(gè)運(yùn)算單元的操作參數(shù),可以實(shí)現(xiàn)特定算法的密碼運(yùn)算。不同分組算法的分組位寬并非一樣,有64比特、128比特、192比特和256比特的,因此,文中設(shè)計(jì)的可重構(gòu)置換單元采用256比特的互連網(wǎng)絡(luò)實(shí)現(xiàn)。該互連網(wǎng)絡(luò)可以實(shí)現(xiàn)256比特輸入與256比特輸出之間的任意比特置換,綜合考慮模塊設(shè)計(jì)的復(fù)雜度和面積成本,該模塊采用BENES網(wǎng)絡(luò)[13]構(gòu)成,其余可重構(gòu)運(yùn)算單元的操作粒度是32比特的,并組合成可重構(gòu)模塊,其結(jié)構(gòu)如圖3所示。

        圖3 可重構(gòu)模塊結(jié)構(gòu)

        圖4 可重構(gòu)密碼處理陣列結(jié)構(gòu)

        在可重構(gòu)模塊的入口和出口都有異或電路,因?yàn)楹芏喾纸M算法在進(jìn)行混淆和擴(kuò)散變換之前或之后,通常會(huì)和輪密鑰或常數(shù)進(jìn)行異或操作,同步單元主要針對Feistel結(jié)構(gòu)[14]密碼算法過程中分組左右兩半進(jìn)行不同密碼運(yùn)算設(shè)計(jì),用于同步分組的輸出結(jié)果。除了異或和同步單元,其他的可重構(gòu)單元采用全互連的方式進(jìn)行連接,即任意可重構(gòu)單元的輸出可以連接到其他任意可重構(gòu)單元的輸入。

        為了實(shí)現(xiàn)多級流水,減少FPGA的動(dòng)態(tài)配置次數(shù),提高加解密數(shù)據(jù)的吞吐率,文中設(shè)計(jì)了一個(gè)4行8列的可重構(gòu)密碼處理陣列,如圖4所示。

        該陣列可支持最大256比特的分組,對于不同位寬分組的密碼算法,可靈活設(shè)計(jì)流水線深度,以最大化可重構(gòu)密碼處理陣列的使用效率。

        2.2 FPGA主控邏輯設(shè)計(jì)

        FPGA主控邏輯主要分為數(shù)據(jù)包解析、密鑰擴(kuò)展控制和加解密控制三個(gè)模塊,其中,數(shù)據(jù)包解析模塊完成待加解密數(shù)據(jù)包的解析,從中提取初始密鑰和待加解密數(shù)據(jù),分別發(fā)給密鑰擴(kuò)展控制模塊和加解密控制模塊。密鑰擴(kuò)展控制模塊主要通過調(diào)度和動(dòng)態(tài)配置可重構(gòu)密碼處理陣列完成相應(yīng)的密鑰擴(kuò)展算法,獲得加解密算法所需的輪密鑰,該模塊可通過有限狀態(tài)機(jī)實(shí)現(xiàn),如圖5所示。

        圖5 密鑰擴(kuò)展控制狀態(tài)機(jī)

        在空閑狀態(tài)下,當(dāng)收到初始密鑰時(shí),跳入到動(dòng)態(tài)配置狀態(tài),完成可重構(gòu)密碼處理陣列的相應(yīng)配置,然后將初始密鑰發(fā)給密碼處理陣列進(jìn)行運(yùn)算,同時(shí)進(jìn)入密鑰擴(kuò)展運(yùn)算狀態(tài),等待陣列的輸出結(jié)果,當(dāng)收到陣列的返回?cái)?shù)據(jù)時(shí),判斷是否完成密鑰擴(kuò)展運(yùn)算,若完成了則返回空閑狀態(tài),若沒有則先判斷是否還需要?jiǎng)討B(tài)配置,若不需要?jiǎng)t繼續(xù)進(jìn)行密鑰擴(kuò)展運(yùn)算,否則先進(jìn)行動(dòng)態(tài)配置后再進(jìn)行密鑰擴(kuò)展運(yùn)算。

        加解密控制模塊在得到輪密鑰之后,通過調(diào)度和動(dòng)態(tài)配置可重構(gòu)密碼處理陣列完成相應(yīng)的加解密算法,該模塊與密鑰擴(kuò)展控制模塊相似,依然用有限狀態(tài)機(jī)實(shí)現(xiàn),只是將其中的密鑰擴(kuò)展運(yùn)算狀態(tài)替換成加解密運(yùn)算狀態(tài)。

        加解密控制模塊在空閑狀態(tài)下收到輪密鑰后,進(jìn)入動(dòng)態(tài)配置狀態(tài),完成輪密鑰等參數(shù)的動(dòng)態(tài)配置,然后將待加解密數(shù)據(jù)發(fā)給可重構(gòu)密碼處理陣列,并進(jìn)入加解密運(yùn)算狀態(tài),等待陣列的輸出結(jié)果,當(dāng)收到陣列的返回?cái)?shù)據(jù)時(shí),判斷是否完成加解密運(yùn)算,若完成了則返回空閑狀態(tài),若沒有則先判斷是否還需要?jiǎng)討B(tài)配置,若不需要?jiǎng)t繼續(xù)進(jìn)行加解密運(yùn)算,否則先進(jìn)行動(dòng)態(tài)配置后再進(jìn)行加解密運(yùn)算。

        2.3 異構(gòu)緊耦合的接口設(shè)計(jì)

        文中設(shè)計(jì)的異構(gòu)緊耦合可重構(gòu)密碼芯片架構(gòu)的主要?jiǎng)?chuàng)新點(diǎn)在于將FPGA IP與ASIC電路通過邏輯信號(hào)緊耦合的方式進(jìn)行連接,而不是簡單地將FPGA芯片與ASIC芯片通過板級互連或通過MCM技術(shù)[15]封裝在一起,按照芯片的物理結(jié)構(gòu),如圖6所示,從芯片管腳經(jīng)過IO PAD到芯片內(nèi)部邏輯模塊的路徑延時(shí),再加上芯片與芯片之間的線延時(shí),這將導(dǎo)致芯片的工作頻率很難提高,芯片也很難獲得理想的處理性能。

        圖6 芯片物理結(jié)構(gòu)

        文中設(shè)計(jì)的異構(gòu)緊耦合架構(gòu)將FPGA IP與ASIC可重構(gòu)密碼處理陣列之間通過邏輯信號(hào)直接互連,按照類型分為三個(gè)通道:數(shù)據(jù)通道、配置通道和控制通道。其中,數(shù)據(jù)通道用于待加解密數(shù)據(jù)的傳輸,分進(jìn)入和外出兩個(gè)方向,為防止數(shù)據(jù)溢出,采用帶反壓的數(shù)據(jù)接口,時(shí)序圖如圖7所示。

        圖7 帶反壓的數(shù)據(jù)通道接口時(shí)序圖

        wr_en為寫使能信號(hào),高電平有效,wr_data為寫數(shù)據(jù)信號(hào),Afull為將滿信號(hào),用于反壓寫使能和寫數(shù)據(jù),當(dāng)Afull信號(hào)拉高后,寫使能信號(hào)拉低,寫數(shù)據(jù)保持,當(dāng)Afull信號(hào)拉低后再繼續(xù)寫入數(shù)據(jù)。配置通道是單向的,F(xiàn)PGA IP通過該通道給ASIC密碼處理陣列發(fā)送動(dòng)態(tài)配置數(shù)據(jù)??刂仆ǖ烙糜趥鬏擣PGA與ASIC密碼處理陣列之間的啟動(dòng)、結(jié)束等控制信號(hào)。

        3 仿真驗(yàn)證

        基于FPGA+ASIC的異構(gòu)緊耦合可重構(gòu)密碼芯片設(shè)計(jì)模型采用Verilog語言實(shí)現(xiàn),使用Synopsys公司的DC工具在130 nm CMOS工藝下對設(shè)計(jì)模型進(jìn)行了綜合,利用UVM驗(yàn)證方法學(xué)[16]和Cadence的ncsim工具進(jìn)行仿真驗(yàn)證。

        為了分析所設(shè)計(jì)的RCHA架構(gòu)芯片模型的性能,通過在RCHA架構(gòu)上映射AES算法,并與其他不同密碼芯片結(jié)構(gòu)的實(shí)現(xiàn)性能進(jìn)行對比,結(jié)果如表1所示。

        表1 不同結(jié)構(gòu)上的AES算法實(shí)現(xiàn)性能對比

        通過橫向?qū)Ρ龋贔PGA+ASIC的異構(gòu)緊耦合可重構(gòu)密碼芯片架構(gòu)可以取得優(yōu)于其他架構(gòu)的處理性能,另外,不同結(jié)構(gòu)的算法適配靈活性對比如表2所示。

        表2 不同結(jié)構(gòu)的算法適配靈活性對比

        從表2中可以看出,設(shè)計(jì)的RCHA架構(gòu)可以靈活適配多種密碼算法,而且憑借著FPGA的可編程邏輯資源,RCHA架構(gòu)可支持實(shí)現(xiàn)更多已知或未知的密碼算法。

        4 結(jié)束語

        基于對可重構(gòu)密碼芯片的研究,創(chuàng)新地提出了基于FPGA+ASIC的可重構(gòu)密碼芯片設(shè)計(jì)模型,采用靜態(tài)配置和動(dòng)態(tài)配置相結(jié)合的方式,有效縮減了動(dòng)態(tài)重構(gòu)的時(shí)間;可重構(gòu)密碼處理陣列支持最大分組位寬為256比特的分組算法,結(jié)合FPGA的可編程特性,在算法適配方面具有很強(qiáng)的靈活性。仿真結(jié)果表明,異構(gòu)緊耦合可重構(gòu)密碼芯片在200 MHz工作頻率下,能夠獲得較高的處理性能。從安全角度看,該架構(gòu)密碼芯片需要FPGA與可重構(gòu)密碼處理陣列配合完成所需的密碼算法,單純擁有FPGA配置文件或芯片的物理版圖,并不能得到完整的算法,與專用密碼芯片相比,具有更高的安全性。

        国产精品免费大片| 桃色一区一区三区蜜桃视频| 国产高清成人在线观看视频| 午夜视频在线在免费| 免费观看国产精品| 久久一区av蜜桃人妻| 99久久精品人妻少妇一| 国产无套粉嫩白浆在线观看| 国产麻无矿码直接观看| 中文字幕人妻系列一区尤物视频| 国产毛片视频一区二区三区在线| 久久婷婷五月综合色丁香| 毛片在线播放a| 亚洲AV秘 片一区二区三区| 高清少妇二区三区视频在线观看| 乱中年女人伦| 国产精品久久久久免费a∨| 国产在线一区二区视频免费观看| 亚洲国产中文字幕无线乱码| 一区二区三区av波多野结衣| 欧美色欧美亚洲另类二区不卡| 亚洲最黄视频一区二区| 不卡的av网站在线观看| 国产熟妇高潮呻吟喷水| 老熟女熟妇嗷嗷叫91| 国产夫妻自偷自拍第一页| av无码一区二区三区| 欧美性猛交xxxx黑人| 五码人妻少妇久久五码| 亚洲av无一区二区三区久久蜜桃| 48沈阳熟女高潮嗷嗷叫| 久久精品国产6699国产精| 国产洗浴会所三级av| 亚洲av无码专区在线观看下载| 秋霞午夜无码鲁丝片午夜精品| 精品午夜一区二区三区| av中文字幕一区不卡| 无码人妻丰满熟妇区毛片| 尤物蜜芽福利国产污在线观看| 日本一区二区三区视频免费在线 | 真实国产乱视频国语|