采用ST72F651實現(xiàn)的安全U盤
引言
隨著網(wǎng)絡技術(shù)和安全電子交易的不斷發(fā)展,使用者身份認證和數(shù)據(jù)安全的問題日益受到人們的重視。其中,USB KEY以其安全性、便攜性和安全策略的靈活性,在眾多安全方案中脫穎而出,成為安全令牌中的佼佼者。
基于系統(tǒng)安全需求以及對成本的要求兩方面考慮,USB KEY(以下簡稱KEY)通常分為高、中、低檔產(chǎn)品。其中多嵌入智能卡模塊用于實現(xiàn)密鑰以及其他敏感數(shù)據(jù)的安全存儲、可靠使用和算法的安全實現(xiàn)。由于密鑰和安全運算不出卡,因而系統(tǒng)的安全性得到了充分的保障。
U盤是近年來發(fā)展起來的另一類設(shè)備,由于其容量大,便于攜帶,且成本較低,得到了迅速的普及和發(fā)展。但是,U盤的使用是透明的,一旦丟失,存儲的所有數(shù)據(jù)和文件都將被任意讀出。這就限制了其在特殊的或者有安全要求的領(lǐng)域(如稅務信息的電子申報,社保體系的數(shù)據(jù)采集和上傳等)中的使用。
市場的需求就是技術(shù)發(fā)展的動力,在上述兩個方向產(chǎn)品的不斷發(fā)展以及市場對安全存儲的需求日益不斷增高的共同驅(qū)動下,一種新型產(chǎn)品――安全U盤應運而生,并得到了較快的發(fā)展。
1 安全U盤的種類及實現(xiàn)方式
安全U盤的安全功能主要是由KEY來實現(xiàn)的。因此,對于不同安全需求的系統(tǒng),可以通過選擇不同的KEY來實現(xiàn)。例如,根據(jù)KEY對DES/3DES等分組算法、RC2/RC4/RC5等流算法、RSA/ECC等非對稱算法,以及MD5/SHA1等摘要算法支持的不同組合,可以獲得不同安全級別和靈活安全策略的安全U盤。
本文不討論KEY的具體內(nèi)容和實現(xiàn),而只是針對安全U盤的整體進行分析和論述。
1.1 基本型安全U盤
安全U盤的最直觀實現(xiàn)形式,即安全U盤的基本型,是KEY與U盤的物理整合。其結(jié)構(gòu)如圖1所示。
圖1 基本型安全U盤結(jié)構(gòu)
基本型安全U盤使用透明的USB HUB與主機進行通信,主機相當于同時插入了KEY和U盤兩個設(shè)備。由主機軟件分別對USB KEY和U盤進行操作。一般情況下,U盤與PC采用大容量存儲設(shè)備接口,而KEY則采用人機交互設(shè)備接口,兩者均無需驅(qū)動(但在Win98系統(tǒng)下可能需要驅(qū)動)。
其優(yōu)點是結(jié)構(gòu)簡單,易于實現(xiàn),軟件無需任何調(diào)整,硬件改動也較小。安全功能的調(diào)用以及對U盤的數(shù)據(jù)保護全部由上層軟件實現(xiàn),但是由此帶來的問題是安全性受到影響。其安全性完全依賴于PC軟件的調(diào)用,而對U盤的操作(由于在PC側(cè)是透明的),雖然可以通過在文件系統(tǒng)的驅(qū)動程序上改進,使存入U盤的數(shù)據(jù)為加密文件系統(tǒng);但是這只能限制對U盤數(shù)據(jù)的讀操作,不能有效阻止對U盤的錯誤寫(將U盤拿到未安裝加密文件系統(tǒng)的機器上,可對其進行格式化或其他寫入操作),從而造成對U盤數(shù)據(jù)的破壞。也容易將病毒帶入數(shù)據(jù)采集系統(tǒng),從而對整個系統(tǒng)的安全造成威脅。
1.2 增強型安全U盤
從上述分析可以看出,在一些對安全性和數(shù)據(jù)可靠性要求較高的領(lǐng)域,基本型安全U盤無法滿足要求;即使采用高性能的KEY產(chǎn)品,也無法獲得期望的效果。這就需要增強型安全U盤了。
增強型安全U盤也是USB KEY與U盤組合而成的。其不同之處在于,增強型安全U盤的文件訪問系統(tǒng)接口不是直接對PC透明的,而是要通過KEY進行控制。其結(jié)構(gòu)如圖2所示。
圖2 增強型安全U盤結(jié)構(gòu)
圖2只是一個原理性框圖。根據(jù)選擇的控制器的不同,其主控制器與KEY及U盤的控制器可以各自獨立,也可能合為一體。
從圖2中可以看出,PC通過主控制器對U盤的訪問,需要通過KEY的身份認證或數(shù)據(jù)加/解密操作,而不是直接存儲。通過這種方式,既可以實現(xiàn)通過身份認證后才能使用U盤,也可實現(xiàn)數(shù)據(jù)加密傳輸、簽名認證及授權(quán)刪除等高安全性的操作,從而實現(xiàn)安全U盤的增強安全功能。
◆ 32 KB高密度Flash程序區(qū),可讀/寫保護,并可實現(xiàn)在線編程;
◆ 5 KB RAM區(qū),其中256字節(jié)可用于堆棧;
◆ 外接12 MHz晶振,內(nèi)部鎖相環(huán)可產(chǎn)生48 MHz USB時鐘;
◆ 雙電源管理,可在USB總線供電和電池供電之間自動切換;
◆ 可編程的內(nèi)部電壓調(diào)整器可適應不同電壓要求的卡;
◆ 47個可編程I/O口;
◆ 支持DMA的12 Mbps全速USB接口;
◆ 具有DTC(Data Transfer Coprocessor)的海量存儲接口(Mass Storage Interface),可支持各種存儲設(shè)備,包括Compact Flash、Multimedia Card、Secure Digital Card、SmartMedia Card、Sony Memory Stick、NAND Flash以及ATA外設(shè)等;
◆ 支持SPI及I2C等通信接口;
◆ 有看門狗及2個具有輸出功能的16位定時器;
◆ 支持智能卡ISO/IEC78163接口。
從ST72F651的特點可以看出,這是一款專門為安全U盤功能而設(shè)計的芯片。采用ST72F65實現(xiàn)安全U盤,可以在相同的硬件設(shè)計基礎(chǔ)上,通過控制器芯片的嵌入式軟件的不同設(shè)計,實現(xiàn)基本型或增強型的安全U盤。
3.1 硬件原理
采用ST72F651實現(xiàn)安全U盤,基本型和增強型的硬件原理相同。如果系統(tǒng)沒有附加的需求,則可以采用相同的硬件形式。基本型KEY部分采用HID(Human Interface Device,人機接口設(shè)備)接口協(xié)議,U盤部分采用Mass Storage設(shè)備的BOT(Bulk Only Transport)協(xié)議。其主要硬件原理如圖3所示。
圖3 采用ST72F651的安全U盤主要硬件原理
其中,U盤為Windows標準外設(shè),容量由所使用的NAND Flash大小決定。本系統(tǒng)最多支持到4片NAND FLASH,每片容量最大為256 MB。
智能卡接口由軟件模擬仿真ISO/IEC78163接口,T=0或T=1協(xié)議的支持由軟件實現(xiàn)。
除上述基本功能外,由于ST7F651芯片具有豐富的I/O接口資源,因此對于某些有特殊需求的領(lǐng)域,也可以方便地增加實時時鐘功能模塊、后備電池及其充電管理模塊,以及其他SPI及I2C專用功能模塊。
3.2 軟件原理
(1) 基本型
基本型相當于PC上同時插入KEY和U盤兩個設(shè)備,因此其軟件流程對兩部分的操作是相對獨立的。其中PC上軟件流程如圖4所示。
圖4 基本型安全U盤上層軟件流程
采用ST72F651實現(xiàn)的基本型安全U盤的底層軟件流程如圖5所示。
圖5 基本型安全U盤底層軟件流程
(2) 增強型
增強型安全U盤的上層軟件的KEY通道可保留部分功能,仍通過HID接口實現(xiàn),即安全U盤中保留部分通用KEY功能(如簽名/認證等)。具體的實現(xiàn)方式和用法可參照一般USB KEY,這里不予討論。
安全U盤部分的功能根據(jù)安全需要的不同,可選擇以下幾種方式:
?、?通過通用接口調(diào)用KEY函數(shù),ST72F651內(nèi)存中保留相關(guān)的安全狀態(tài)(如認證結(jié)果等)和操作標志。調(diào)用Mass Storage函數(shù)操作U盤時,根據(jù)預先設(shè)定好的文件安全屬性,自動檢查內(nèi)存中的安全狀態(tài)和操作標志,只有滿足安全要求的操作才允許執(zhí)行。
?、?除①中的認證外,還須加密存儲的安全U盤;除檢查內(nèi)存中的安全狀態(tài)外,還需在數(shù)據(jù)讀出/寫入時,自動調(diào)用智能卡函數(shù)執(zhí)行相應的數(shù)據(jù)加/解密操作。由于智能卡的通信速度和執(zhí)行速度的局限性,一般大容量數(shù)據(jù)的加/解密工作都采用PC軟件與KEY功能結(jié)合的方式。其軟件流程與圖4中的基本型軟件流程相似,只是在微軟Mass Storage函數(shù)DLL與設(shè)備驅(qū)動之間,再加入一層用戶自己的DLL,以便在具體的文件操作命令執(zhí)行過程中,由用戶DLL自動調(diào)用必要的KEY功能(如口令認證等),以滿足安全性的需要。這一層操作對用戶是透明的,無須用戶干預,因此這種方式非常實用。
其中涉及的數(shù)據(jù)加/解密以及文件校驗等操作,在底層自動實現(xiàn),以獲得更高的系統(tǒng)安全性(由于安全操作嵌入底層的不可屏蔽性)和更高的運行速度(通過減少PC與底層的通信次數(shù))。其底層軟件流程與基本型的區(qū)別在于接收到BOT數(shù)據(jù)的命令處理分支部分,即圖5中的A部分。其執(zhí)行流程如圖6所示。
圖6 增強型安全U盤數(shù)據(jù)存取操作特殊流程
當然,在一些對數(shù)據(jù)安全性和可靠性要求更高的場合,還可以采用擴展專用命令集的方式,將所有功能全部預先定制好;只有通過專用命令接口,獲得必需的安全操作權(quán)限才可進行某種操作。這種方式可將各種數(shù)據(jù)操作的條件和屬性進行細化設(shè)計,以獲得不同的效果。目前國家稅務總局網(wǎng)上公布的《運輸發(fā)票稅控盤/傳輸盤技術(shù)規(guī)范》就是這種方式的一個良好實踐。
4 應用前景
目前,電子商務和電子政務方興未艾,數(shù)據(jù)安全性日益成為人們關(guān)注的重點。通過安全U盤的方式,可方便地實現(xiàn)以下安全功能:
◇ 身份認證及安全登錄;
◇ 數(shù)據(jù)加密存儲和文件系統(tǒng)安全保護;
◇ 數(shù)據(jù)及文件的完整性校驗;
◇ 授權(quán)的數(shù)據(jù)訪問和數(shù)據(jù)整理;
◇ 盤內(nèi)數(shù)據(jù)通過KEY的功能實現(xiàn)網(wǎng)上安全傳遞,保證數(shù)據(jù)的私密性、完整性、可靠性和不可否認性。上述特點,使得安全U盤在數(shù)據(jù)保密存儲領(lǐng)域、電子政務中基層數(shù)據(jù)保存及采集上傳、稅務電子申報領(lǐng)域、網(wǎng)絡安全登錄和網(wǎng)頁加密管理,以及技術(shù)人員保密資料的保護等方面具有廣闊的應用前景。
5 結(jié)論
本文在一般性分析、論述安全U盤的基礎(chǔ)上,具體介紹了采用ST72F65芯片實現(xiàn)安全U盤的軟硬件實現(xiàn)方式,分析了市場前景。根據(jù)以上設(shè)計思想,多款不同檔次的安全U盤產(chǎn)品已在市場中得到了應用,成為安全存儲領(lǐng)域的一個重要發(fā)展方向。
評論