《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 面向移動安全存儲的密碼SoC設計與實現
面向移動安全存儲的密碼SoC設計與實現
來源:電子技術應用2012年第4期
王雪瑞1,何永強1,公 鑫2
1.河南工程學院,河南 鄭州450001; 2.解放軍信息工程大學,河南 鄭州451191
摘要: 針對目前移動存儲設備大量的失泄密事件,提出了一種適用于移動安全存儲設備的密碼SoC設計方案,并在FPGA開發板上進行了驗證。該SoC集成自主設計的安全協處理器,能夠支持多種密碼算法。介紹了NAND Flash控制器的設計方案,并在此基礎上提出了高速存取技術。基于FPGA的測試結果表明,該SoC能夠有效完成多種密碼操作,具有較高的數據吞吐率。基于SMIC 0.18 μm工藝綜合后的結果顯示,工作頻率能夠達到100 MHz,面積約為250萬門。
中圖分類號: TP343
文獻標識碼: A
文章編號: 0258-7998(2012)04-0010-03
Design and implementation of a cipher SoC for removable secure storage devices
Wang Xuerui1,He Yongqiang1,Gong Xin2
1.Henan Institute of Engineering,Zhengzhou 450001,China; 2.PLA Information Engineering University, Zhengzhou 451191,China
Abstract: Aiming at the vast secret leak event of removable storage devices, this paper proposed a cipher SoC design for removable secure storage devices,and verified it on FPGA platform.Special-designed cipher coprocessor is integrated to realize kinds of cryptographic algorithms.Then this paper introduces the architecture of the NAND Flash controller,based on which the high-speed access technology is proposed.The verification results based on FPGA platform show that this design can realize kinds of cryptographic algorithms and has high data throughput. Based on SMIC 0.18 μm standard CMOS technology, the area of our SoC is 250 million gates and can work at the frequency of 100 MHz.
Key words : SoC;NAND Flash;coprocessor;secure storage;cryptographic

    移動存儲產品已廣泛應用于各行各業,是不可或缺的信息交換載體,特別在日常辦公系統中,以U盤、固態移動硬盤為代表的存儲介質的使用日益普遍。而在實際應用中,移動存儲設備易丟失、易損壞、易染病毒、不可控的特性也使數據安全無法得到充分保證。因遺失、暴力破解、主動泄密、木馬攻擊等方式導致的泄密事件也在逐漸上升[1]。為了解決這一問題,國內外已經研制出多款相關安全產品,但是這些安全產品大多采用單一算法或固定的幾種算法,其靈活性和安全性都不夠高,無法滿足不同設計的安全需求[2]。

    針對現有安全SoC存在的問題,本文基于高性能嵌入式CPU構建并設計了一款密碼SoC平臺。該SoC平臺采用自主設計的安全協處理器執行密碼操作,經驗證可適用于三類主要的密碼算法[3]:對稱密鑰加密算法、散列算法和公開密鑰加密算法。此外,設計了高性能NAND Flash控制器,支持外接多種類型的NAND Flash芯片(SLC、MLC 和TLC),最大支持容量為160 GB。本設計可應用于加密U盤、加密U盤KEY、加密移動硬盤、高速加密流轉接器等設備中。
1 硬件設計
1.1 系統架構

    本文提出的密碼SoC架構如圖1所示。其中集成了兩種處理器核,分別是通用處理器(LEON2)和4個安全協處理器(Security ASIP),兩者通過系統總線相連。所有涉及加解密的運算都被映射到安全協處理器中執行。DMA控制器負責把將要執行的加解密任務按照CPU的配置分配到各安全處理器中,CPU只承擔控制和部分數據傳輸任務,絕大部分的運算由安全協處理器完成,CPU在大部分時間處于掛起(suspend)狀態,直到有中斷將其喚醒。片上存儲器主要包括EFlash/SRAM,用于存儲操作系統引導程序、用戶程序等;物理噪聲源主要用于產生真隨機數,生成密碼運算時的消息密鑰;兩個USB-OTG 接口可根據應用需求設置成Host、Device 或OTG,支持多達6 個端點,可設置成多重復合設備,最大限度地滿足用戶的設計需求;NAND Flash控制器負責產生符合NAND Flash接口操作規范的時序信號,帶有ECC校驗模塊,每512 B可修正位數為1 bit或8 bit,支持外接8片NAND Flash。另外還包含有低速通信接口、定時器、中斷控制器、存儲保護單元、功耗管理單元等輔助模塊,用于完成平臺的其他功能。

1.2 安全協處理器結構
    分析現有的安全存儲設備[4]可以發現,在使用存儲設備之前,必須對使用者進行身份驗證;文件讀寫時,必須對數據進行加解密操作;為了保證數據的完整性,必須對數據進行完整性驗證操作。所以,密碼SoC必須能夠靈活處理對稱、公鑰和雜湊三類算法,這個任務主要由安全協處理器完成。在進行安全協處理器的設計之前,必須對各類密碼的執行特點進行分析。由專門的工具[5]分析可以得出各種密碼算法的執行特點。部分AES算法的計算特征分析結果如表1所示。

    對各類密碼算法的特點進行分析后,本文提出了如圖2所示的安全協處理器架構。該安全協處理器基于傳統的RISC處理器結構所設計,分為取指令(IF)級、譯碼(ID)級、執行(EXE)級/memory訪存級和寫回(write)級四級,能支持標準的RISC指令,并且還能執行一些專門設計的特殊指令。在執行級,不僅有處理正常RISC標準指令的ALU單元,還有專用的硬件功能單元、PTLU(Parallel Table Look-Up)和MHU(Mul/Div unit&Hash Unit),用來對算法中比較耗時的運算(如查找表、模乘等操作)進行加速。為了加快安全協處理器的指令和數據的存取速度,在協處理器內部分別嵌入1 KB大小的指令RAM和數據RAM,用來存放協處理器的指令和數據。該協處理器指令集不僅包括標準的算術和邏輯運算指令,還包括專用的密碼運算指令,如PTAES、 PTW、MOD_MUL等。

 

 


1.3 NAND Flash控制器設計
    本文設計的NAND Flash控制器[7]結構如圖3所示。NAND Flash控制器包含總線接口模塊、DMA握手接口模塊、控制狀態機轉換的主控邏輯模塊,用以緩沖數據、收發命令和狀態字的緩沖器(buffer);提供ECC校驗糾錯功能的ECC模塊和直接控制NAND Flash存儲體的接口模塊。

    總線接口模塊負責接收CPU發送的指令,將收發數據送至相應數據寄存器和指令寄存器,并將狀態寄存器內容返回給CPU核;主控邏輯模塊負責整個Flash控制器的控制工作,包含指令、狀態、配置、數據、頁交換使能、錯誤地址等寄存器,是控制器的核心。
    ECC模塊主要負責對存入NAND Flash中的數據進行糾錯編碼并對從NAND Flash中讀出的數據進行糾錯譯碼的工作。DMA握手接口模塊在系統DMA參與數據傳輸的情況下,負責DMA與NAND Flash控制器之間的硬件握手功能。相比與直接由CPU核發送命令字給NAND Flash,然后直接從I/O 口讀寫數據的工作方式,通過DMA方式的傳輸效率明顯要高。特別在連續讀取大批量數據的情況下,這種工作方式的優點能更好地體現出來。在實際產品應用中(如數碼照片的存取),讀寫數據量一般都是頁大小的上千倍,所以這樣的設計有助于提高產品的實用性。
    該NAND Flash控制器支持外接8片NAND Flash芯片。為了提高數據的讀寫速度,實現對并行數據讀寫的支持,控制器的數據線位寬設置為16 bit,可以支持對兩片數據線位寬為8 bit的NAND Flash的并行讀寫操作;同時,本設計對控制器的結構進行了優化,使其能夠支持對多片NAND Flash芯片的流水線讀寫操作。為了更好地支持SLC、MLC和TLC NAND Flash器件,還設計了基于漢明碼的1 bit ECC糾錯模塊和可糾正8 bit隨機錯誤的BCH編/譯碼器,用戶可以根據需要選擇相應的ECC操作。
2 高速存儲技術
    NAND Flash器件屬于低速設備。以K9WBG08U1M為例,芯片的寫入時間分為加載時間和編程時間兩部分,寫滿一頁所需的命令、地址和數據的加載時間約為102.5 ?滋s,最大編程時間約為700 μs。在寫入過程中,因還要進行BCH編碼等操作,也會消耗一些時間,所以設計中,使用最大的編程時間進行計算,而單片Flash其寫入速度最高也只有5.1 MB/s,NAND Flash的讀寫速度也會成為系統性能的瓶頸。為了解決這個問題,可以采用如下技術。
2.1 數據并行處理技術
    因Flash的數據位寬一般為8 bit,如果按傳統的操作方法對Flash進行讀寫,即寫完一片NAND Flash之后再寫下一片,其最高的存儲速度只有5.1 MB/s,無法適用于高速數據傳輸的要求。為此,本文設計的NAND Flash控制器將I/O數據線設為16 bit,主控制可以通過配置來選擇數據線的位數。當需要對數據進行并行處理時,將兩片低速Flash芯片并聯起來,使用相同的控制線、片選和讀寫信號線,組成一個多位寬的Flash組;兩片Flash并行工作時,一片存儲數據的高8 bit,一片存儲數據的低8 bit,這樣,存儲容量和存儲速度都是單片Flash的2倍。
2.2 流水線技術
    流水線技術在計算機領域得到廣泛運用,它是提高硬件資源利用率和執行效率的有效手段,該技術可以有效提高存儲系統的性能。本文設計的NAND Flash控制器中只有一個讀數據FIFO和一個寫數據FIFO,大小均為4 KB。當對一片NAND Flash進行操作時,在命令或數據加載完成后,該片NAND Flash會處于忙狀態,此時讀或寫數據FIFO由于處于空閑或等待狀態未被使用,因此控制器可以繼續對處于空閑狀態的NAND Flash進行操作,如此便形成流水線操作。還可以把兩片NAND Flash作為一組進行數據并行處理,共4組進行流水線操作,以達到最大的數據吞吐率。其流水寫操作時序如圖4所示。

3 功能驗證與性能分析
    本文采用兩塊FPGA開發板完成SoC平臺的驗證,FPGA型號均為Xilinx Virtex5-xc5vlx85,兩者之間通過自制的電路板進行通信驗證流程:首先通過JTAG接口向EFlash中下載一個boot-loader程序,用于SoC系統的啟動和測試向量的下載;SoC系統的硬件驅動和安全協處理器程序通過UART接口下載到系統中;PC端通過UART接口給出控制命令,選擇NAND Flash控制器和安全協處理的工作模式;PC端通過USB接口對NAND Flash進行數據讀寫的測試。系統工作時鐘為80 MHz,選擇K9WBG08U1M作為實體NAND Flash器件對SoC進行測試。單片K9WBG08U1M的情況下,讀速度可以達到19.3 MB/s,寫速度可以達到9.6 MB/s;兩片K9F1208UOB并行連接時,讀速度可達37.5 MB/s,寫速度可達18.4 MB/s。
    安全協處理器性能、面積與參考文獻中的設計比較結果如表2所示。

    經過SMIC 0.18 μm工藝庫的綜合,整個平臺的面積約為250萬門,最高工作頻率為100 MHz。
    本文設計的面向大安全存儲的密碼SoC集成了多個高性能安全協處理器,極大地提高了系統的密碼處理性能。設計的NAND Flash可支持外接多種類型(如SLC、MLC和TLC)的NAND Flash芯片,并且支持多片NAND Flash的并行讀寫和流水線讀寫操作,最大支持160 GB存儲容量。基于FPGA的驗證表明,其能夠靈活支持多種密碼算法的實現,具有較高的NAND Flash訪問速度。
該設計可應用于加密U盤、加密U盤KEY、加密移動硬盤、高速加密流轉接器等設備中。
參考文獻
[1] Chen Hanlin.The single-chip solution of embedded USB encryptor[C].Information Theory and Information Security,2010:42-45.
[2] 寧超.基于SOC存儲控制器的研究與開發[D].西安:電子科技大學,2008:50-53.
[3] Huang Wei,Han Jun,Wang Shuai.The design and implement of a mobile security SoC[C].Conference on Solid-State and Integrated Circuit Technology,2010:96-98.
[4] 胡偉,慕德俊,劉航,等.移動硬盤硬件加密的設計與實現[J].計算機工程與應用,2010,46(22).
[5] 沈弼龍.基于應用程序特征分析的SoC任務分配技術研究與實現[D].長沙:國防科學技術大學,2009:31-33.
[6] AIGNER G,DIWAN A,HEINE D L,et al.An over- view  of the SUIF2 compiler infrastructure[R].Computer Systems  Laboratory,Stanford University,1999.
[7] 李璐,周海燕.一種含BCH編解碼器的SLC/MLC NAND Flash控制器的VLSI設計[J].現代電子技術,2009,32(7).
[8] Wang Chenhsing,YEH J C,HUANG C T,et al.Scalable  security processor design and its implementation[C].ASSCC,2005:513-516.
[9] SREEDHARAN D,AKOGLU A.A hybrid processing element based reconfigurable architecture for hashing  algorithms[C].Parallel and Distributed Processing,2008:1-8.
[10] BERTONI G B,VENTURI L.ECC hardware coprocessor  for 8-bit systems and power consumption considerations[C].  ITNG,2006:573-574.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲国产精品999| 一区二区日韩欧美| 亚洲精品一区在线| 国产在线播放一区二区三区| 欧美日韩成人综合| 老司机精品导航| 翔田千里一区二区| 中文在线资源观看网站视频免费不卡 | 91久久午夜| 先锋影音国产精品| 亚洲一级电影| 夜色激情一区二区| 亚洲人成7777| 亚洲盗摄视频| 伊伊综合在线| 国产综合色在线| 国产精品一区二区三区久久久| 欧美另类人妖| 欧美激情亚洲一区| 欧美二区在线播放| 欧美va亚洲va香蕉在线| 久久久久免费观看| 久久精品国产一区二区三区| 欧美一区成人| 性欧美xxxx视频在线观看| 亚洲尤物在线视频观看| 一区二区三区日韩欧美| 一本色道久久综合亚洲精品按摩 | 欧美午夜精品久久久| 欧美精品一区在线| 欧美成人免费全部观看天天性色| 久久亚洲私人国产精品va| 亚洲尤物视频网| 欧美视频在线观看视频极品| 欧美理论在线播放| 欧美全黄视频| 欧美日韩国产综合在线| 欧美日韩一区成人| 欧美午夜不卡视频| 欧美性视频网站| 国产精品久久一区主播| 国产精品日韩欧美大师| 国产精品一区二区三区观看| 欧美精品福利视频| 欧美日韩亚洲网| 欧美精品三级日韩久久| 欧美日韩国产综合新一区| 欧美视频在线观看免费网址| 国产精品久久久91| 国产精品区二区三区日本| 国产精品中文字幕欧美| 国产三级精品三级| 国产精品一级| 国产精品视频一二三| 欧美日韩一区二区在线| 欧美国产日韩xxxxx| 久久精品久久综合| 久久久久久久综合| 欧美成人性生活| 欧美大片免费久久精品三p| 欧美v日韩v国产v| 欧美激情第8页| 欧美电影打屁股sp| 欧美日韩成人综合在线一区二区| 国产精品白丝黑袜喷水久久久| 国产精品视频不卡| 精品盗摄一区二区三区| 在线观看的日韩av| 亚洲美女在线一区| 9国产精品视频| 亚洲欧美另类中文字幕| 久久国产手机看片| 久久er精品视频| 国产精品网曝门| 激情国产一区| 亚洲第一网站免费视频| 亚洲黄色一区二区三区| 在线亚洲欧美视频| 亚洲综合电影| 久久成人精品一区二区三区| 亚洲免费成人| 欧美亚洲三级| 欧美成人首页| 欧美日韩一区在线视频| 国产精品久久看| 亚洲电影第1页| 99re6这里只有精品视频在线观看| 亚洲午夜精品网| 91久久久久久| 午夜日韩福利| 欧美成人精品h版在线观看| 欧美日韩国产999| 国产亚洲综合性久久久影院| 亚洲日本电影在线| 亚洲一区在线播放| 久久成人免费电影| 在线视频一区观看| 久久精品二区三区| 欧美私人啪啪vps| 在线观看亚洲一区| 亚洲一级黄色| 亚洲美女毛片| 久久久久九九九| 欧美视频在线观看免费| 亚洲缚视频在线观看| 午夜精品一区二区三区在线视| 99热免费精品在线观看| 久久精品在线视频| 欧美视频不卡中文| 1204国产成人精品视频| 亚洲欧美国产高清va在线播| 亚洲精品孕妇| 久久亚洲一区二区| 国产精品亚洲片夜色在线| 亚洲日本国产| 91久久久一线二线三线品牌| 久久精品国产v日韩v亚洲| 欧美视频在线一区| 亚洲品质自拍| 亚洲国产成人av好男人在线观看| 亚洲欧美在线免费| 欧美另类人妖| 亚洲国内高清视频| 亚洲国产精品成人综合| 久久国产婷婷国产香蕉| 国产精品xnxxcom| 99精品免费视频| 日韩视频在线一区二区| 欧美成人激情视频免费观看| 国内视频一区| 欧美主播一区二区三区| 欧美在线网址| 国产精品乱码久久久久久| 9久re热视频在线精品| 妖精成人www高清在线观看| 欧美国产日韩a欧美在线观看| 尤妮丝一区二区裸体视频| 欧美一区免费视频| 久久国内精品自在自线400部| 国产精品区免费视频| 亚洲一区二区三区高清| 亚洲欧美日韩精品在线| 国产精品福利在线观看| 宅男66日本亚洲欧美视频| 中国亚洲黄色| 欧美日韩午夜在线| 日韩视频在线一区| 一区二区三区不卡视频在线观看| 欧美精品系列| 99re视频这里只有精品| 国产精品99久久久久久久久久久久 | 欧美激情一区在线| 亚洲欧洲一区二区三区在线观看| 亚洲精品国产精品国产自| 欧美不卡在线视频| 亚洲高清在线观看一区| 亚洲精品视频免费观看| 亚洲男人第一av网站| 欧美一区二区三区免费视频| 国产视频亚洲精品| 亚洲国产精品成人一区二区| 欧美h视频在线| 亚洲精选一区二区| 亚洲免费人成在线视频观看| 国产精品一区二区在线| 欧美一二三区在线观看| 久久综合中文色婷婷| 亚洲国产精品va| 在线综合欧美| 国产精品三级久久久久久电影| 午夜日韩在线观看| 免费观看欧美在线视频的网站| 亚洲精品视频在线| 亚洲欧美一区二区三区在线| 国产日韩在线不卡| 亚洲国产精品久久91精品| 欧美精品七区| 亚洲一区成人| 久久综合色8888| 亚洲精品一区二区在线| 欧美一区二区三区精品| 黄色欧美成人| 一区二区精品| 国产网站欧美日韩免费精品在线观看| 亚洲韩国青草视频| 欧美视频免费看| 欧美伊人久久久久久久久影院 | 国产精品亚洲综合色区韩国| 亚洲第一狼人社区| 欧美日韩精品三区| 欧美一区二区国产| 欧美高清视频一区二区| 亚洲一级黄色片| 久久精品视频免费播放| 亚洲激情在线视频| 久久久久久久久一区二区| 亚洲先锋成人| 欧美日韩在线一区二区| 亚洲精品1234| 国产在线视频欧美|