《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于國產SOC的數據加密存儲系統設計
基于國產SOC的數據加密存儲系統設計
2015年電子技術應用第11期
王善明,嚴迎建,郭朋飛,馬征宇
(解放軍信息工程大學,河南 鄭州450001)
摘要: 針對數據信息面臨的越來越嚴重的安全問題,提出了基于本單位自主研發的專用SOC芯片HX6801,以SD卡作為存儲器,由DS3231提供實時時鐘,采用FatFs作為文件系統的數據加密存儲系統設計方案,通過對HX6801內部集成的密碼協處理器和國產嵌入式CPU的編程實現數據的加密和存儲。該系統充分利用了HX6801的密碼處理能力及外圍擴展能力,系統整體結構簡單,效率比較高。
中圖分類號: TP311
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2015.11.009

中文引用格式: 王善明,嚴迎建,郭朋飛,等. 基于國產SOC的數據加密存儲系統設計[J].電子技術應用,2015,41(11):34-37.
英文引用格式: Wang Shanming,Yan Yingjian,Guo Pengfei,et al. Design of data encryption and storage system based on domestic SOC[J].Application of Electronic Technique,2015,41(11):34-37.
Design of data encryption and storage system based on domestic SOC
Wang Shanming,Yan Yingjian,Guo Pengfei,Ma Zhengyu
PLA Information Engineering University,Zhengzhou 450001,China
Abstract: Refering to more and more serious security problems of data and information,this paper proposes a file encryption system as follows: the SOC chip HX6801 developed by our unit as core; the SD card as storage; the DS3231 chip as RTC provider; the FatFs as file system. Achieving data encryption and storage by programming integrated cryptographic coprocessors and domestic embedded CPU. The system takes full advantage of HX6801 cryptographic processing capability and peripheral expansion capability, this system architecture is simple and efficiency.
Key words : domestic SOC;SD card;FafFs;DS3231;encryption/decryption

  

0 引言

  現在市面上有很多的數據加密產品,按照加密方式主要分為軟件加密和硬件加密。軟件加密的特點是:成本低、效率低、安全性低。硬件加密的特點是:成本高、效率高、安全性高。但是很多硬件加密產品的可擴展性比較差、沒有豐富的外圍接口。另外,如果要將數據加密產品應用于軍事、政府等敏感部門,國外的產品不可信,而國內產品可選擇范圍又比較小。

  由于經濟和政治等多方面數據安全的重要性,最近幾年國家大力支持國產IC的研發與推廣。在此背景下,本單位研發了一款具有自主知識產權的密碼SOC(System On Chip)芯片HX680。該芯片最主要的特點是內部集成了一個具有完全自主知識產權的協處理器,具有對稱和非對稱密碼服務功能。該芯片還有相對比較豐富的外圍接口,可以進行擴展和外部通信。

  SD卡作為存儲設備,具備很多其他存儲設備沒有的特點,如體積小、功耗低、容量大等[1],其應用范圍日益擴展,因此在本設計中使用SD卡作為存儲設備。FatFs是一個為小型嵌入式系統設計的通用FAT系統模塊,具有開源、不依賴于平臺、易于移植、代碼和工作空間非常小等特點,作為本設計的文件系統是一個很好的選擇[2]。

  主控芯片內部沒有集成實時時鐘(Real-Time Clock,RTL),需通過外掛時鐘芯片DS3231來解決文件系統獲取時間信息的問題。主控芯片沒有時鐘芯片DS3231需要的I2C通信接口,需通過GPIO口的模擬來實現。

1 系統硬件設計

  HX6801具有完全的自主知識產權,集成了國產32 位RISC結構嵌入式處理器CK520[3],具有專用軟件集成開發環境和可擴展指令。協處理器具有硬件資源可配置、功能單元可重構、高性能、二次開發簡便靈活等特點,HX6801適用于數字簽名與身份認證、存儲保護、數據傳輸、嵌入式控制等多種領域。系統采用HX6801作為主控芯片,SD作為存儲設備,由DS3231提供文件系統需要的時間信息。HX6801芯片總體架構如圖1所示。

001.jpg

  1.1 DS3231接口電路

  DS3231是一款高精度I2C RTC器件,具有集成的溫度補償晶體振蕩器(TCXO)。該器件包含電池輸入端,斷開主電源時仍可保持精確計時。集成的晶體振蕩器可提高器件的長期精確度。DS3231的寄存器能保存秒、分、時、星期、日期、月、年和鬧鐘設置等信息。少于31天的月份,可自動調整月末日期,包括閏年補償。時鐘的工作格式為24小時或帶AM/PM指示的12小時格式。DS3231與主控芯片通過I2C雙向串行總線傳輸地址與數據。DS3231的年誤差小于1分鐘[4]。

003.jpg

  主控芯片HX6801沒有I2C接口,所以使用GPIO口模擬I2C的時序,DS3231接口電路如圖2所示,圖中工作電壓VCC的工作范圍是2.3 V~5.5 V,典型的工作電壓為3.3 V,TR表示信號SDA和SCL的上升時間,CB表示總線負載電容。

  1.2 SD卡接口電路

  SD卡支持SD模式和SPI模式兩種通信模式。在綜合考慮速度和設計復雜度的基礎上,本設計選用SPI通信模式。SPI通信模式只需要將片選引腳、數據輸入引腳、數據輸出引腳、時鐘引腳與主控芯片上對應的引腳連接即可[5]。

2 軟件設計

  軟件部分采用了分層設計。主要包括4個部分:應用層、加/解密層、文件系統層、硬件驅動層(包括DS3231驅動程序和SD卡驅動程序)。應用層用來產生需要加密及解密的數據;加/解密層主要依據密碼算法編程手冊及編程工具,采用專用的密碼指令編寫相應的密碼算法并配置協處理器;文件系統層主要實現FatFs文件系統的移植;硬件驅動層主要實現對最底層硬件的控制。層次結構如圖3所示。

004.jpg

  2.1 加解密

  可重構安全算法協處理器遵循了超長指令字的計算機體系結構,針對密碼運算,提取了密碼算法共性邏輯,提出并設計具有指令級可重構能力的專用指令系統和具有指令級并行處理能力的協處理器體系結構。該協處理器具有對稱和非對稱密碼服務功能;具有專用密碼處理指令,支持密碼算法軟件編程,能夠靈活實現分組密碼、序列密碼與對稱密碼算法;可動態加載算法程序、參數,實現密碼算法的重構與更換。下面以高級加密標準(Advanced Encryption Standard,AES)算法為例,介紹完整的算法處理流程,如圖4所示。

005.jpg

  2.2 文件系統層

  FatFs是一個專門為小型嵌入式系統而設計的Fat文件系統,完全兼容ANSIC,而且不依賴于任何的平臺。 FatFs的設計像很多軟件一樣采用了分層設計[6],最頂層的應用層為用戶提供了操作底層硬件的API接口函數;中間層實現FatFs文件系統的協議;最底層是和具體的硬件相關的模塊,需要用戶編寫代碼。

  FatFs移植包括SD卡disk I/O編寫,RTC時鐘函數編寫,interger.h文件中數據類型和工程中數據類型的匹配,ff.h中條件編譯的配置[6]。

  FatFs支持Fat12、Fat16、Fat32文件系統。Fat32文件系統將SD卡劃分為4個連續的邏輯結構:主引導記錄、磁盤操作系統引導記錄、文件分配表、數據區。

  主引導記錄(Master Boot Record,MBR)讓硬盤具備可以引導的功能。

  分區表(Disk Partition Table,DPT)用來表示磁盤可以分多少個分區。DPT部分共有64 B,DPT1~DPT4代表4個分區,每個分區16 B。

  磁盤操作系統引導記錄(DOS Boot Record,DBR)包含了文件系統相關的詳細信息。

  磁盤分區的數據區空間是以簇為單位尋址的。簇的大小一般是2N個扇區(本設計中N=3),一個文件可以占用多個簇,有可能同一個文件占用的簇是不連續的,這就體現了FAT的價值。FAT就是用于存儲文件占用的所有簇的序號。Fat32和Fat12、Fat16的一個重要區別就是根目錄(File Directory Fable,FDT)是數據區的一個子集,被當成文件對待[7]。

006.jpg

  DPT、DBR、FAT及數據區四個區域首地址之間存在一定的邏輯關系,如圖5所示。邏輯推導過程如下:

  DBR_ADDR=135sector*512byte/sector=0x10e00

  FAT_ADDR= DBR_ADDR +38sector*512

  byte/sector=0x15a00byte

  DATA_ADDR=FAT_ADDR+2*3761sector/FAT*512byte/

  sector=0x3c1e00byte

  數據區第3簇首地址

  DATA_CLUSTER_ADDR=DATA_ADDR+(3-2)*8sector/cluster*512byte/sector=0x3c2e00byte

  文件、文件分配表、文件目錄、數據區的簇之間的關系決定了文件的存儲方式。如圖6所示,兩個文件對應FAT表中兩個鏈表0x00000004-0x00000007-0x00000001-0xFFFFFFFF(file1)和0x00000005-0x00000003-0x00000008-0xFFFFFFFF(file2)。

007.jpg

  2.3 DS3231驅動

  DS3231芯片采用I2C作為通信接口,設計中用GPIO口模擬I2C時序。I2C總線上傳輸的地址幀長度為9位,它包括7個地址位、1個R/W位和1個應答位。如果R/W為1,則執行讀操作,如果R/W為0,則執行寫操作。I2C總線上傳輸的數據幀長度為9位,它包括8個數據位,1個應答位。

  DS3231寄存器地址為00H~12H,數據在寄存器中的存儲格式為BCD碼,每個存儲單元大小為1 B。DS3231的寄存器00H~06H存儲時間信息[8],存儲格式如表1所示。DS3231的操作主要包括時間的讀和寫如圖7所示。

010.jpg

008.jpg

  FatFs系統中時間對應的數據結構存儲在一個32位的無符號整數當中,數據存儲格式如表2。時間信息從DS3231存儲格式到FatFs存儲格式要經過從BCD碼到十進制數的轉換。

011.jpg

  2.4 SD卡驅動

  SD卡經過多年的發展,經歷了好幾次升級,如果驅動程序要兼容各個版本,就要考慮到各個版本的特殊性,從初始化流程圖可以看出版本1.x和2.0在初始化階段的不同點。SD卡根據容量的大小可分為不同的等級,2 GB以內(包括2 GB)稱為標準卡,大于2 GB小于等于32 GB稱為大容量卡,不同等級的卡操作細節也不盡相同。SD卡在初始化階段會判斷是否支持大容量卡[4]。

  SD卡的驅動主要包括SD卡的初始化及數據塊的讀寫等幾個部分。SD卡的SPI模式初始化流程如圖8所示。

009.jpg

  從流程圖可以看出,該設計對SD卡2.0版本向上兼容,同時支持大容量SD卡。SD卡上電的時候默認的是SD模式,當主控芯片發送復位命令(CMD0)的時候,保持片選信號足夠的時鐘周期(74個以上),SD卡可以進入SPI模式。CMD8命令向SD卡發送接口狀態(主控芯片提供的電壓是否滿足SD卡的需求),ACMD41向SD卡發送主控芯片支持的SD卡容量并獲取相應的回復。CMD58命令獲取SD卡操作狀態寄存器(Operating Condition Register,OCR)的值并讀取CCS位(Card Capacity Status)判斷是否支持大容量的SD卡。

  SPI模式支持塊讀(CMD17)和多塊讀(CMD18)操作。SD卡接受到有效的讀取命令后,要回復一個應答信號和相應的數據。需要注意的是,標準容量的卡讀取的數據長度可以通過CMD16來設定(大小為1 B到512 B之間),大容量卡的數據長度固定為512 B。SPI模式同樣支持塊寫(CMD24)和多塊寫(CMD25)操作,數據長度要求同讀要求相同。每個數據塊開始都應該有1個塊起始位(大小為1位)。其中讀操作采用的是命令(主機)-應答(SD卡)-數據(SD卡)的模式讀取數據。寫操作采用的是命令(主機)-應答(SD卡)-數據(主機)-應答(SD卡)的模式。

3 測試結果

  協處理器的性能及接口的速度是影響本設計的關鍵,鑒于各種密碼算法自身的特點,處理器表現的性能有所差別,經測試以下幾種算法性能如表3所示。

001.jpg

  在將主控芯片的外設總線(Advanced Peripheral Bus,APB)設為40 M的情況下,加密并存儲10 MB的數據需要的時間為3.4 s,讀取并解密10 MB的數據需要的時間為3.9 s。

4 結論

  經過多方面的理論分析和實驗驗證,本設計可以很好的實現數據的加/解密及數據的存儲。在試驗中可注意到,系統在處理大批量數據的時候效率不是太理想。所以為了進一步優化性能,下一步將研究如何優化加密算法,在SD卡及主控芯片允許頻率范圍內,盡可能提高APB時鐘頻率。

參考文獻

  [1] 蘇義鑫,程敏,何力.基于AT89C52單片機的SD卡讀寫設計[J].世界電子元器件,2008(5):65-68.

  [2] 陳祖爵,蔣仕俊.智能遙控器SD卡文件系統的設計與實現[J].計算機工程與設計,2007(10):4716-4718.

  [3] 陽曄.面向嵌入式處理器的代碼壓縮研究[D].杭州:浙江大學,2007.

  [4] DS3231 Extremely Accurate I2C-IntegratedRTC/TCXO/.[DB/OL].http://www.Maximintegrated.com/cn/prod-ucts/digital/real-time-clocks/DS3231.html#popuppdf.

  [5] 葛建,董浩斌,鄭海兵.嵌入式SD卡存儲器的設計[J].電子技術應用,2010(5):139-142.

  [6] 程小燕.嵌入式STM32F107VCT6微處理器接口模塊開發及應用研究[D].合肥:合肥工業大學,2012.

  [7] 劉思伽.基于SD卡的數據恢復技術研究[D].成都:電子科技大學,2010.

  [8] Secure digital card product manual revision 1.7 9/2003[DB/OL].http://wenku.baidu.com/view/9d1fb307cc175527072208e7.html.


此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产日韩欧美高清免费| 在线成人黄色| 久久免费精品视频| 午夜精品一区二区三区在线视| 亚洲精品乱码久久久久久日本蜜臀 | 六月天综合网| 久久国产福利国产秒拍| 亚洲欧美日韩国产中文| 亚洲视频免费观看| 亚洲午夜一区二区| 亚洲一级黄色| 亚洲一区二区日本| 亚洲欧美日韩直播| 欧美在线播放| 久久久蜜桃一区二区人| 久久人91精品久久久久久不卡| 久久久久九九九九| 久久一区二区三区四区五区| 欧美11—12娇小xxxx| 欧美成人免费全部观看天天性色| 蜜臀av一级做a爰片久久| 欧美成ee人免费视频| 欧美精品久久久久久久久久| 欧美日韩1234| 欧美三区在线| 国产欧美日本| 韩日在线一区| 亚洲人成高清| 一区二区三区国产精品| 亚洲欧美另类在线| 欧美在线短视频| 亚洲精品1234| 亚洲天堂黄色| 久久成人18免费网站| 老司机免费视频一区二区| 欧美精品在线观看一区二区| 国产精品电影观看| 国产亚洲日本欧美韩国| 亚洲电影av在线| 在线视频欧美日韩| 午夜精品久久久久久久久久久久久| 欧美一区二区三区的| 亚洲精品欧美日韩专区| 亚洲自拍偷拍一区| 久久久久综合网| 欧美日韩久久精品| 国产美女诱惑一区二区| 亚洲成人在线视频播放| 99精品欧美一区二区蜜桃免费| 亚洲性xxxx| 亚洲国产高清一区| 一区二区三区四区五区精品视频| 亚洲欧美制服另类日韩| 快she精品国产999| 国产精品v日韩精品| 国产原创一区二区| 亚洲日本乱码在线观看| 亚洲欧美日韩人成在线播放| 亚洲精品在线免费| 欧美一级视频一区二区| 欧美成人情趣视频| 国产精品一区二区三区成人| 亚洲福利专区| 亚洲永久视频| 欧美人妖在线观看| 欧美激情国产高清| 国产精品网站一区| 精品不卡在线| 亚洲伊人一本大道中文字幕| 亚洲国产精品激情在线观看| 亚洲自拍偷拍视频| 欧美高清视频一区二区| 国产三级精品在线不卡| 亚洲精品欧美日韩专区| 久久福利精品| 亚洲欧美日韩爽爽影院| 欧美国产视频在线观看| 国产丝袜美腿一区二区三区| 99国内精品久久| 亚洲国产视频a| 欧美一级专区免费大片| 欧美日韩国产综合新一区| 国产一区二区三区最好精华液| 一区二区三区高清视频在线观看| 亚洲欧洲日韩在线| 久久av一区二区三区| 欧美色综合网| 亚洲欧洲综合另类| 亚洲成人在线免费| 亚洲亚洲精品三区日韩精品在线视频| 亚洲国产午夜| 久久精品伊人| 国产精品系列在线| 一本一本久久a久久精品牛牛影视| 亚洲国产欧美一区二区三区丁香婷| 亚洲欧美成人一区二区在线电影 | 欧美日韩情趣电影| 亚洲国产精品毛片| 亚洲高清av| 久久激情网站| 国产欧美日韩| 亚洲一区国产精品| 亚洲综合欧美日韩| 欧美午夜片欧美片在线观看| 亚洲免费福利视频| 日韩手机在线导航| 欧美大片在线观看一区二区| 狠狠色丁香久久婷婷综合丁香 | 欧美日韩亚洲高清一区二区| 91久久国产综合久久| 亚洲日本久久| 欧美a级在线| 亚洲国产精品成人va在线观看| 亚洲国产日韩一区| 欧美ed2k| 亚洲欧洲日产国产综合网| 日韩午夜剧场| 欧美日韩成人综合| 日韩一本二本av| 中文日韩电影网站| 欧美天堂亚洲电影院在线播放| 日韩亚洲成人av在线| 中国成人亚色综合网站| 欧美日韩在线亚洲一区蜜芽| 日韩一级精品| 亚洲欧美在线看| 国产日韩欧美在线看| 欧美一级视频一区二区| 欧美在线首页| 狠狠色丁香久久婷婷综合_中| 亚洲国产精品成人| 欧美成人精品1314www| 亚洲国产精品一区二区三区| 99av国产精品欲麻豆| 国产精品99一区| 亚洲欧美日韩综合| 久久久久久成人| 在线观看视频一区二区| 亚洲伦理在线| 国产精品高潮呻吟| 欧美一区二区三区四区高清 | 国产麻豆精品theporn| 销魂美女一区二区三区视频在线| 久久久综合网站| 亚洲国产一区二区三区高清| 亚洲小少妇裸体bbw| 国产精品一区久久| 亚洲电影欧美电影有声小说| 欧美激情视频在线播放| 一区二区三区精品| 欧美中文字幕不卡| 精品91视频| 一级日韩一区在线观看| 国产精品久久二区二区| 欧美一区1区三区3区公司| 欧美成人69| 亚洲午夜激情| 久久亚洲国产精品日日av夜夜| 亚洲人被黑人高潮完整版| 亚洲一区成人| 国产一区二区三区高清在线观看| 亚洲开发第一视频在线播放| 国产精品免费网站在线观看| 欧美亚洲专区| 欧美精品免费视频| 亚洲欧美日本伦理| 欧美xxx成人| 亚洲永久免费观看| 欧美1区2区视频| 亚洲综合99| 欧美国产视频一区二区| 亚洲影视在线| 欧美chengren| 午夜在线a亚洲v天堂网2018| 欧美多人爱爱视频网站| 亚洲一区精品在线| 欧美成人国产| 亚久久调教视频| 欧美日韩一区二区三区在线看| 欧美中文日韩| 欧美日韩一级黄| 亚洲黄色有码视频| 国产精品视频不卡| 亚洲精品国产精品久久清纯直播| 国产精品一二一区| 亚洲三级免费| 国产欧美日韩专区发布| 99国产精品视频免费观看| 国内精品伊人久久久久av一坑| 亚洲特级毛片| 亚洲国产成人久久综合| 欧美一级专区| 亚洲美女中出| 欧美成人精品三级在线观看| 欧美一级播放| 国产精品免费视频xxxx| 99国产精品国产精品久久| 国内综合精品午夜久久资源| 亚洲欧美日韩成人高清在线一区| 亚洲激情二区|