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