


摘 要:隨著科學技術的發展,U盤作為一種大容量存儲設備,已成為人們移動存儲的首選。然而在U盤發揮著越來越重要作用的同時,其數據安全問題也日益突出。為了提高U盤安全性,防止重要數據被他人竊取或篡改,設計并實現了一種雙鑰模式加密U盤。采用雙鑰模式,可以支持指紋和PIN碼解鎖U盤中存儲的數據。使用INIC3861主控芯片對存儲芯片中的數據進行硬件加密,結合指紋管理軟件,可實現對用戶身份的唯一認證以及數據安全性管理。同時設計了身份綁定認證機制,以保障各模塊之間的通信安全,從而實現了對數據加密密鑰的保護。
關鍵詞:雙鑰模式;安全存儲;硬件加密;身份認證;指紋識別
DOI:10. 11907/rjdk. 182752 開放科學(資源服務)標識碼(OSID):
中圖分類號:TP309 文獻標識碼:A 文章編號:1672-7800(2019)007-0186-04
An Double Secret Key Mode Security USB Disk Design
JIANG Yi-zhi
(Institute of Communication Engineering,Hangzhou Dianzi University, Hangzhou 310018,China)
Abstract: With the development of science and technology, U disk as a mass storage device has become the first choice of people's mobile storage devices. However, as it plays an increasingly important role, the impact of its data security issues are also increasing. In order to improve the security performance of USB disk and prevent someone from stealing or tampering important data, an double secret key mode security USB disk is proposed and implemented in this paper. The fingerprint and PIN code are used as double key to unlock the data stored in the USB disk. The data of memory chip is encrypted with hardware security engine from INIC3861 controller. The unique authentication of the user identity and the security management of the data are achieved by combining fingerprint management software and INIC3861 controller. And the identity binding authentication mechanism is designed to ensure the communication security between the modules and achieve the protection of the data encryption key.
Key Words: double key mode; secure storage; hardware encryption; authentication; fingerprint recognition
作者簡介:江釔幟(1994-),男,杭州電子科技大學通信工程學院碩士研究生,研究方向為安全移動存儲。
0 引言
如今移動存儲設備已成為信息交流中不可或缺的介質,數據的存儲與交換日益頻繁,人們對數據安全的重視程度不斷提高。近幾年商業機密被竊、個人資料泄露事件時有發生,給人們帶來了慘痛教訓,也同時給人們敲響了警鐘。因此,數據存儲安全,尤其是移動數據存儲安全是至關重要的。近年來隨著指紋識別技術的快速發展,指紋傳感器的體積越來越小,使得在移動存儲設備上使用指紋認證用戶身份成為可能。同時其成本也越來越低,低廉的成本也為指紋認證移動存儲設備的市場推廣奠定了良好基礎。目前市場上流行的指紋U盤大致分為兩種:第一種指紋U盤雖然實現了通過指紋解鎖U盤使用權限的功能,但并未對指紋模組設計管理軟件進行高效管理,用戶體驗不佳[1];第二種指紋U盤實現了對指紋模組的管理,但并未對存儲區域進行分區設置,用戶使用U盤時必須進行解鎖操作,在日常應用中不夠便捷[2]。且上述兩種設計方案采用的加密算法[3-5]均為國際通用算法而不是國密算法,國際通用算法由于為國外研發,且發布時間較早,可能存在一定危險。
基于上述背景,本文提出一種雙鑰模式加密U盤[6-8]設計方案。本設計使用INIC3861主控芯片對存儲芯片中的數據通過SM4國密算法進行硬件加密[9-10],并結合指紋識別技術設計了一個由PIN碼解鎖的指紋管理系統軟件。雙鑰模式加密U盤采用雙鑰模式對數據進行管理,從而極大地提升了移動數據存儲的安全性。
1 總體設計
雙鑰模式加密指紋U盤主要由USB3.0主控芯片INIC3861、存儲芯片、指紋識別模組組成,其系統框架如圖1所示。
圖1 雙鑰模式加密指紋U盤系統框架
其中,INIC3861主控芯片是加密U盤的核心控制芯片,可支持USB協議,包括USB設備描述、USB端口配置及各種SCSI命令處理,同時還負責數據的加解密讀寫,以及加密傳輸上位機與指紋模組間的通信指令。
指紋識別模組由指紋傳感器和指紋算法芯片構成,用于指紋錄入、指紋存儲與指紋比對。本設計采用按壓式指紋傳感器,用戶只需將手指放置到指紋識別區域,即可完成對指紋的錄入。指紋算法芯片負責用戶注冊指紋模板的生成、保存與加解密,并對錄入指紋進行圖像處理,與已注冊指紋模板進行對比后,將對比結果傳輸至主控芯片。為了保證存儲數據的安全性,還在指紋算法芯片中存放了用于數據硬件加密的數據密鑰和加密算法。
本設計將存儲芯片劃分為3個區域:光盤區、公開區與安全區。光盤區用于存儲指紋管理軟件,該分區對用戶保持可見,用戶可在分區中打開指紋管理軟件對指紋信息或PIN碼信息進行管理,但用戶只能讀不能寫;公開區是普通用戶可以進行正常讀寫操作的區域,主控芯片不會對該區域數據進行加解密,用戶可在該分區中存放不重要與不私密的文件;安全區需要待用戶身份認證成功后才能正常使用,該存儲區對于未經過身份認證的用戶是不可見的,讀寫該分區中的數據需要利用主控芯片進行加解密。加密多分區設備應用流程如圖2所示。
圖2 加密多分區設備應用流程
2 通信安全
2.1 身份綁定認證
產品在出廠前第一次上電時,主控芯片通過量產工具將授權序列號傳輸給未授權的指紋芯片,該指紋芯片接收并保存序列號之后,應答成功指令。如果指紋芯片已經授權,則應答失敗指令,也即是說指紋芯片在出廠之后只能接受一次授權序列號。用該唯一的授權序列號與隨機數進行運算操作,得到的根密鑰用于主控芯片與指紋算法芯片之間的身份綁定認證。
出廠后的每次系統上電,主控芯片與指紋算法芯片首先需要進行互相身份綁定認證,只有當身份綁定認證成功后才能進入下一步。身份綁定認證過程是將主控芯片與指紋算法芯片中根密鑰生成的認證數據進行對比,對比成功才能完成認證。該設計可使指紋算法芯片與主控芯片相互進行唯一的身份綁定認證,從而排除了非法用戶通過置換指紋算法芯片獲取主控芯片數據的可能性。目前市面上大部分指紋U盤在主控芯片與指紋識別模組之間采用明文方式進行通信,非法用戶可模擬主控芯片與指紋算法模塊進行通信。為保證數據安全,需要添加安全通信機制對兩者之間的通信進行加密。
圖3 指紋模組與主控芯片安全通信框架
主控芯片與指紋算法芯片間的身份綁定認證過程如下:
(1)發送隨機數。主控芯片發送16Byte隨機數RN1到指紋算法芯片,指紋算法芯片發送16Byte隨機數RN2到主控芯片。
(2)獲取認證數據。指紋算法芯片將隨機數RN1與根密鑰進行異或運算操作得到的數值作為密鑰,對根密鑰進行SM4[11-12]加密運算得到認證數據,之后指紋算法芯片將認證數據發送到主控芯片進行校驗對比;主控芯片將隨機數RN2與根密鑰進行異或運算操作得到的數值作為密鑰,對根密鑰進行SM4加密運算[13]得到認證數據,之后主控芯片將認證數據發送到指紋算法芯片進行校驗對比。
(3)對比認證數據。主控芯片和指紋算法芯片均對自身計算出的認證數據與收到的認證數據進行對比。相同則認證通過,不同則認證失敗,認證通過后開始生成會話密鑰用于主控芯片與指紋算法芯片間的通信。
(4)會話密鑰生成。指紋算法芯片與主控芯片都將隨機數RN1與隨機數RN2進行異或運算操作得到的數值作為密鑰,對隨機數RN2再進行SM4加密運算得到會話密鑰。
主控芯片與指紋算法芯片間的指令都要使用會話密鑰并經過SM4加密傳輸,因每次上電后的會話密鑰均由不同隨機數運算生成。會話密鑰存儲在RAM中,當指紋芯片掉電時,會話密鑰隨之丟失,故在最大程度上降低了通信指令被非法用戶截取并破解的可能性,增強了加密通信的可靠性與抗攻擊能力,提升了通信安全性。
2.2 硬件加密密鑰獲取
為了防止非法用戶采用特殊手段對存儲芯片中安全區的數據進行盜取,安全區中的數據均通過主控芯片,使用數據密鑰進行AES加密后再存儲。硬件加密使用的數據密鑰是出廠量產時由主控芯片發送命令、指紋算法芯片產生的隨機數。該數據密鑰存儲在指紋算法芯片中,只有當用戶指紋或PIN碼比對成功后,主控芯片才能發送命令獲取數據密鑰,并以該數據密鑰對安全區數據進行加解密。
3 管理軟件設計
3.1 功能模塊介紹
為了讓用戶方便、安全地管理指紋信息,本文還設計了一個指紋管理軟件。該軟件保存在存儲芯片光盤區中,并具有以下功能:①指紋錄入功能:控制指紋模組,錄入新的指紋模板;②指紋比對功能:檢閱指紋庫中是否已存儲指紋模板;③密碼管理功能:修改PIN碼;④解鎖磁盤功能:通過PIN碼直接解鎖安全區;⑤恢復出廠設置功能:清除安全盤內所有數據,恢復出廠設置。以上所有功能都需要輸入正確的PIN碼后才能執行,且PIN碼加密保存在存儲芯片中,即使非法用戶通過某些手段強行獲取了數據,也無法得到明文,因此可很大程度上保護存儲數據的安全性。
3.2 指紋注冊與對比
在完成主控芯片與指紋算法芯片[14]間的身份綁定認證后,用戶通過指紋管理軟件透傳加密并發送注冊命令到指紋模組,對傳感器循環進行N次按壓以采集完整的指紋信息,完成指紋注冊。單次指紋注冊具體流程為:指紋管理軟件發送采集命令給指紋算法芯片,指紋算法芯片發送指紋采集命令給指紋傳感器,指紋傳感器采集指紋圖像,并傳輸給指紋算法芯片;指紋算法芯片對采集到的指紋圖像進行處理,提取指紋模板,對指紋模板進行加密并保存在指紋算法芯片內。軟件界面在指紋采集過程中不斷給予用戶指紋圖像采集進度的提示,在用戶采集成功或失敗時也會給予提示。
圖5 指紋管理軟件功能框架
在身份綁定認證通過且指紋注冊成功后,指紋U盤的指紋比對[15]過程為:上電后主控芯片對指紋模組發送比對命令,指紋傳感器開始采集指紋圖像并傳輸給指紋算法芯片;指紋算法芯片對加密的指紋模板進行解密,并對采集的指紋圖像進行處理;將處理后的指紋圖像數據與解密后的指紋模板進行比對,最后指紋算法芯片通過密文[16-18]將比對結果傳輸給主控芯片。
3.3 透傳數據加密傳輸
指紋管理軟件命令包的執行速度將在一定程度上影響用戶體驗。故對指紋管理軟件發送至指紋算法芯片的命令包,采用透傳數據加密傳輸方式進行傳輸。此后在通信過程中,主控芯片將不再對指紋管理軟件下發的命令包進行解析,只需進行加解密操作即可。其中每次加解密所用密鑰正是前文介紹的會話密鑰,每次上電后的通信均通過不同密鑰進行加密,從而極大提升了非法用戶破解信息的難度。透傳數據加密傳輸在提升傳輸速度的同時,還提高了傳輸安全性。
4 安全性分析
本文設計的雙鑰模式加密U盤從以下幾個方面提升了加密U盤的安全性:
(1)采用指紋識別技術對安全區的訪問權限加以控制,并設計了指紋管理軟件,通過PIN碼對指紋模板進行管理。
(2)在指紋算法芯片與主控芯片之間設計了身份綁定認證機制,從而排除了非法用戶通過置換指紋算法芯片獲取主控芯片數據的可能[19],并設計了通信安全機制對U盤內各模塊間的通信進行加密處理。
(3)將安全區中的數據以硬件加密方式保存在存儲芯片中,而主控芯片只能在芯片間的身份綁定認證及用戶身份認證通過后,才能獲取用于硬件加密的數據密鑰。
5 結語
本文概述了雙鑰模式U盤工作原理以及各模塊設計方案[20]。該U盤以INIC3861芯片作為主控芯片,并在主控芯片與指紋算法芯片之間添加通信安全機制,通過指紋識別驗證完成對數據密鑰的解鎖,并以該密鑰實現對U盤硬件的加解密,同時設計了指紋管理軟件以對指紋模組和PIN碼進行方便、有效的管理。該設計可對用戶信息進行更有效的保護與更高效的管理[21],但本設計中的生物特征并未與數據加密密鑰綁定,如果能將與真實生物特征及數據加密密鑰綁定的生物密鑰技術應用到U盤中,U盤安全等級將會進一步提高。
參考文獻:
[1] 孫賀. 一種指紋識別移動硬盤的設計與實現[D]. 蘇州:蘇州大學,2009.
[2] 張忠國. 安全加密指紋U盤的設計與實現[D]. 濟南:山東大學,2016.
[3] 張文錦,周榮,高燕,等. 基于AES算法的文件加密[J]. 軟件導刊,2017,16(6):180-182.
[4] 平偉,賈文麗,孫月馳,等. 基于DES算法與RSA算法的數據加密技術在電子商務中的應用[J]. 軟件導刊,2018,17(5):198-200.
[5] 王劍,宋陽,韓紹程. 基于國密SM4算法的ACARS數據鏈信息加密[J]. 中國民航大學學報,2018,36(1):6-10.
[6] 郝光燁. 淺析專網安全U盤技術和應用管理[J]. 信息安全與通信保密,2012(6):50-52.
[7] 朱征宇,周發貴,于春雷.? 一種基于計算機指紋的U盤文檔監控與保護方法[J]. 重慶理工大學學報:自然科學版,2011,25(3):62-68.
[8] 石曉磊. 基于FAT32的保護加密U盤的軟件設計[D]. 大連:大連理工大學,2013.
[9] 胡偉,慕德俊,劉航,等. 移動硬盤硬件加密的設計與實現[J].? 計算機工程與應用,2010,46(22):62-64.
[10] 黃卡爾. AES加密算法的FPGA實現[D]. 太原:中北大學,2011.
[11] 伍娟. 基于國密SM4和SM2的混合密碼算法研究與實現[J].? 軟件導刊,2013,12(8):127-130.
[12] 張建,吳文玲. 基于SM4輪函數設計的認證加密算法[J]. 電子學報,2018,46(6):1294-1299.
[13] 趙廷彬,丁岳偉. 云存儲安全交叉加密算法研究[J]. 軟件導刊,2018,17(10):204-208.
[14] 畢雪芹,蘇艷娟,王琪. 嵌入式指紋識別系統的設計及試驗研究[J]. 國外電子測量技術,2015,34(2):50-53,81.
[15] 趙啟鵬. 基于NAND閃存的安全U盤FTL算法研究[J]. 軟件導刊,2017,16(4):38-41.
[16] 占楊林. 基于FPGA的USB3.0HUB的設計與實現[D]. 北京:北方工業大學,2011.
[17] 陳永府,周峰,王啟富,等. 基于虛擬卷的U盤安全技術研究[J]. 計算機工程與科學,2014,36(1):68-72.
[18] DESHPANDE S. Symmetric key management: a new approach[J].? International Journal of Engineering & Computer Science, 2012.
[19] USHMAEV O S,NOVIKOV S O. Effectiveness of consideration of deformations in problems of fingerprint identification[J].? Pattern Recognition and Image Analysis, 2008, 18(1):151-155.
[20] WANG A,LI Z,YANG X,et al. New attacks and security model of the secure flash disk[J]. Mathematical and Computer Modelling, 2013,57:2605-2612.
[21] HUACHUN X,ZHENGSHENG L,ZENGHONG W. Study on hardware protection technique of flash disk[C]. International Conference on Electronic Measurement & Instruments. IEEE, 2007.
(責任編輯:黃 健)