隨著信息量的急劇增長,信息安全日益受到人們重視。一個完整的數(shù)據(jù)加解密系統(tǒng)應(yīng)該具備安全可靠的密碼認(rèn)證機(jī)制和加解密算法。本文基于MEMS 強(qiáng)鏈、USB控制器和FPGA設(shè)計了一種USB接口的高效數(shù)據(jù)加解密系統(tǒng),采用AES加密算法。普通IDE硬盤掛接該系統(tǒng)后成為安全性極高的加密USB 移動硬盤,其平均數(shù)據(jù)吞吐率接近普通U 盤,達(dá)到10MB/s.
1. 系統(tǒng)結(jié)構(gòu)布局
該系統(tǒng)由CypressCY7C68013USB2.0 控制器、Altera EP2C35 FPGA 和MEMS 強(qiáng)鏈構(gòu)成, 圖1 描述了整個系統(tǒng)的硬件布局。
MEMS 強(qiáng)鏈負(fù)責(zé)對用戶輸入的密碼進(jìn)行驗證。CY7C68013 USB 控制器內(nèi)含增強(qiáng)型51核,它不 但能高效處理USB 協(xié)議事務(wù),而且是整個系統(tǒng)的控制中心。EP2C35 FPGA 一端連接USB 控制 芯片的GPIF 接口,一端連接IDE 硬盤,它負(fù)責(zé)從IDE 總線中區(qū)分出控制信號、讀寫硬盤寄存器的數(shù)據(jù)信號和讀寫硬盤扇區(qū)的數(shù)據(jù)信號,然后僅對寫入硬盤扇區(qū)的數(shù)據(jù)作加密處理,對讀出 硬盤扇區(qū)的數(shù)據(jù)作解密處理。
2. MEMS 強(qiáng)鏈
MEMS 強(qiáng)鏈的棘爪能卡住棘輪,從而能精確定位到固定的位置,棘爪裝有電磁驅(qū)動型電機(jī), 使其具有誤碼鑒別與自復(fù)位功能,因而可用于信息安全,實現(xiàn)密碼鎖的功能。鑒碼機(jī)構(gòu)由兩組 電磁型微步進(jìn)電機(jī)驅(qū)動反干涉齒輪集A 和B,反干涉碼輪集中機(jī)械固化了密碼。反干涉齒輪集 在正確解碼時,碼齒之間互相沒有接觸;當(dāng)出現(xiàn)錯碼時,碼齒相互干涉,反干涉齒輪集卡死。 使用光電耦合機(jī)構(gòu),在正確接收到24位密碼時光電能量耦合,系統(tǒng)開啟。圖2 是MSMS 強(qiáng)鏈 結(jié)構(gòu)圖。
3. 物理密鑰與密碼認(rèn)證
物理密鑰是相對于邏輯密鑰而言的,邏輯密鑰通常以二進(jìn)制形式存在于芯片內(nèi)部ROM 區(qū),容易被**。而物理密鑰固化在機(jī)械結(jié)構(gòu)內(nèi)部。本設(shè)計采用的反向嚙合齒輪集鑒碼機(jī)構(gòu)所蘊(yùn)含 的密鑰就屬于物理密鑰。它的結(jié)構(gòu)相當(dāng)隱含,不是專業(yè)人士即使知道了鑒碼機(jī)構(gòu),也很難推出其密碼。
密碼認(rèn)證開始時,USB 控制器把接收到的來自PC 的24 位待驗證二進(jìn)制密碼以脈沖的形 式傳遞給強(qiáng)鏈。強(qiáng)鏈的電機(jī)會根據(jù)脈沖驅(qū)動碼輪。若密碼正確,反干涉齒輪*無摩擦的走通 一周回到原位;只要有一位密碼錯誤,反干涉齒輪*在該位卡死。USB 控制器根據(jù)強(qiáng)鏈的反 饋信號作出判斷,如果驗證通過,則將該系統(tǒng)枚舉成一個可移動磁盤,并把該正確密碼傳遞給 FPGA,作為AES 加密算法的密鑰;否則向PC 機(jī)返回驗證失敗的信息。
4. ATA 協(xié)議控制器的實現(xiàn)
從密碼認(rèn)證通過,枚舉開始的那一刻起,USB 控制器得到了對硬盤的訪問權(quán)。 根據(jù) ATA 協(xié)議,對支持UltraDMA傳輸方式的IDE 硬盤而言,操作歸結(jié)為兩種,對硬盤接 口寄存器讀寫以及對硬盤扇區(qū)進(jìn)行Ultra DMA 批量扇區(qū)。為了對硬盤數(shù)據(jù)進(jìn)行加解密,我們把 FPGA 插入連接GPIF 接口和硬盤接口的IDE 總線,這樣所有控制信號和數(shù)據(jù)信號都要通過 FPGA,受到FPGA 的監(jiān)視和控制。