劉 勇,慕曉蕾,魏 瑋
(1.河北省科學(xué)院應(yīng)用數(shù)學(xué)研究所河北石家莊050081;2.河北工業(yè)大學(xué)天津 300401)
保密柜是存放重要物品和文件的常用辦公設(shè)備,在各部門的文檔和設(shè)備管理工作中發(fā)揮了重要作用。隨著世情、國情、黨情發(fā)生深刻變化,各級(jí)黨政機(jī)關(guān)對(duì)保密工作的要求不斷深化、規(guī)范,涉密部門對(duì)保密柜的使用管理提出了更高的要求。傳統(tǒng)的保險(xiǎn)柜大多為機(jī)械式結(jié)構(gòu),只是在其柜門開關(guān)結(jié)構(gòu)上采用更為復(fù)雜的鎖芯技術(shù),這種保險(xiǎn)柜結(jié)構(gòu)單一、管理獨(dú)立[1],不能分辨開鎖人特征,上級(jí)部門對(duì)保密柜的使用、狀態(tài)和開啟方式不具備管理基礎(chǔ)。在一些重要保密部門,為了最大限度的保證保密柜中物品安全取用,采取的是集中管理的模式,所有重要物品統(tǒng)一交由上級(jí)部門管理,下級(jí)部門如需取用,需派專人專門前往上級(jí)單位,這樣的管理方式既耗時(shí)又耗力[2]。隨著信息化進(jìn)程和工作節(jié)奏速度的加快,集中統(tǒng)一管理的模式受到極大的挑戰(zhàn)。
基于以上原因,研發(fā)電子保密柜系統(tǒng)是非常必要的。本文針對(duì)以上問題設(shè)計(jì)了一個(gè)基于USB-Key身份認(rèn)證開柜的電子保密柜系統(tǒng),該系統(tǒng)基于計(jì)算機(jī)網(wǎng)絡(luò)和嵌入式系統(tǒng),應(yīng)用微處理技術(shù)、數(shù)據(jù)加密技術(shù)、數(shù)據(jù)庫技術(shù)、數(shù)字證書認(rèn)證技術(shù)配合國密局審核通過的商用密碼硬件設(shè)備和批準(zhǔn)認(rèn)可的密碼算法,完成電子保密柜的身份認(rèn)證開柜和遠(yuǎn)程管控,保證電子保密柜開啟或關(guān)閉的安全性,使用者身份的真實(shí)性、不可偽造性和不可抵賴性。該系統(tǒng)的實(shí)現(xiàn)對(duì)電子保密柜集中在線管理的適用性、安全性、整體性和實(shí)時(shí)性等方面具有重要意義。
身份認(rèn)證技術(shù)的基礎(chǔ)是信息安全,其目的是為了保護(hù)用戶的合法權(quán)益,通過PKI、數(shù)字證書、USBKey等各種手段來檢測用戶的身份[3]。本文涉及的電子保密柜系統(tǒng),首先需要解決的就是用戶身份如何被識(shí)別和認(rèn)證的問題。對(duì)于一個(gè)使用者,要想開啟電子保密柜必須通過身份認(rèn)證,根據(jù)用戶權(quán)限不同,系統(tǒng)會(huì)控制哪些資源能夠被訪問。
身份認(rèn)證是指系統(tǒng)對(duì)登錄用戶身份進(jìn)行驗(yàn)證的過程,驗(yàn)證用戶的身份是否合法,是否具有訪問及使用某種資源的權(quán)限[4]。它一般經(jīng)常用來在通信時(shí)確定身份,當(dāng)需要驗(yàn)證的屬性真實(shí)有效時(shí),我們就認(rèn)為本次通信是安全、可靠的。驗(yàn)證方式即可以是指口令、數(shù)字簽名等數(shù)據(jù)型的特征信息,也可是指指紋、聲音、視網(wǎng)膜等用戶的生理特征信息[5]。身份認(rèn)證方式在各領(lǐng)域的應(yīng)用最為廣泛的主要有5種:用戶名密碼認(rèn)證、IC卡認(rèn)證、動(dòng)態(tài)口令卡認(rèn)證、USB-Key認(rèn)證和生物特征認(rèn)證[6]。實(shí)際應(yīng)用中,人們通常會(huì)將這些認(rèn)證方式互相配合使用以便我們的系統(tǒng)更為安全、可靠[7]。
1)用戶名與密碼認(rèn)證方式
用戶名與密碼的認(rèn)證方式使用簡單,應(yīng)用廣泛,容易被客戶接受,對(duì)于一般的身份認(rèn)證需求也已經(jīng)能夠滿足。主要缺陷是單因子認(rèn)證其安全性依賴于口令的保密性,口令一般較短且是靜態(tài)數(shù)據(jù),容易猜測,且易被攻擊。由于是單向的系統(tǒng)來認(rèn)證用戶,容易被攻擊者偽裝系統(tǒng)騙取或采用窺探、字典攻擊、窮舉嘗試、網(wǎng)絡(luò)數(shù)據(jù)流竊聽、重放攻擊等獲取用戶口令[8]。
2)智能卡(IC卡)認(rèn)證方式
智能卡(IC卡)認(rèn)證是通過智能卡和讀寫設(shè)備雙方同時(shí)對(duì)相同隨機(jī)數(shù)進(jìn)行某種相同的加密運(yùn)算,然后判斷雙方運(yùn)算結(jié)果的一致性來對(duì)智能卡的合法性進(jìn)行驗(yàn)證[9]。由于常用算法3DES被破解,攻擊者可采用此算法斷電方式窮舉嘗試破解,導(dǎo)致此種方式身份認(rèn)證安全性降低[10]。
3)動(dòng)態(tài)口令認(rèn)證技術(shù)
動(dòng)態(tài)口令即不斷變化的口令,其變化來源于產(chǎn)生口令的運(yùn)算因子是變化的[11]。安全性有很大的提高,但是用戶每次登錄時(shí)都需要通過鍵盤輸入一長串無規(guī)律的密碼,而且每次都變化,一旦輸錯(cuò)就要重新操作,降低了工作效率。如果客戶端與服務(wù)器端的時(shí)間或次數(shù)不能保持良好的同步,就可能發(fā)生合法用戶無法登錄的問題。同時(shí),沒有數(shù)字簽名技術(shù),無法保證業(yè)務(wù)的不可抵賴性。
4)USB-Key認(rèn)證技術(shù)
該項(xiàng)認(rèn)證技術(shù)使用USB-Key[12]作為數(shù)字證書載體,采用軟硬件結(jié)合的方式進(jìn)行身份認(rèn)證。USBKey大小與U盤相似,采用USB通訊接口,它內(nèi)置單片機(jī)或智能卡芯片,可存儲(chǔ)用戶的密鑰或數(shù)字證書,利用USB Key內(nèi)置的密碼算法實(shí)現(xiàn)對(duì)用戶身份的認(rèn)證,可以實(shí)現(xiàn)強(qiáng)身份認(rèn)證,支持單向/雙向認(rèn)證模式,安全性高[13]。采用基于PKI體系的身份認(rèn)證方式,使用USB-Key作為證書載體,確保證書無法被復(fù)制,從而確保證書的唯一性,對(duì)用戶的密鑰提供高強(qiáng)度安全保護(hù)。
5)生物特征認(rèn)證技術(shù)
生物特征一般是指人的生理特征或是行為特征。其中生理特征如指紋、人臉、虹膜、掌紋、聲音等,行為特征主要有步態(tài)、簽名和擊鍵等[14]。認(rèn)證過程采用自動(dòng)技術(shù)測量人的生理或行為特征,并將這些特征與數(shù)據(jù)庫的模板數(shù)據(jù)進(jìn)行比對(duì),從而完成認(rèn)證[15]。從理論上說,生物特征認(rèn)證是最可靠的身份認(rèn)證方式,因?yàn)槊總€(gè)人的生物特征都不會(huì)完全相同,采用這一特征來標(biāo)識(shí)每個(gè)人的身份,幾乎不可能被仿冒。但是,該認(rèn)證將用戶的生物特征與個(gè)人綁定,如果用戶該部分生物特征收損,就可能造成用戶無法登錄。而且由于生物認(rèn)證技術(shù)的復(fù)雜度高,研發(fā)和應(yīng)用成本高,所以沒能成為身份識(shí)別技術(shù)的主流,無法廣泛推廣應(yīng)用。
1)電子保密柜設(shè)計(jì)以太網(wǎng)絡(luò)接口,支持IEEE802.3標(biāo)準(zhǔn)以太網(wǎng)協(xié)議,支持局域網(wǎng)部署和廣域網(wǎng)部署,按照不同權(quán)限對(duì)電子保密柜進(jìn)行分級(jí)管理。通過網(wǎng)絡(luò),系統(tǒng)中心可對(duì)電子保密柜進(jìn)行遠(yuǎn)程程序更新。
2)電子保密柜設(shè)計(jì)電子控制鎖具。電子控制鎖具提供USB接口,硬件電路具有驗(yàn)證數(shù)字證書功能,進(jìn)行電子控制鎖具的身份識(shí)別。
3)電子保密柜設(shè)計(jì)單人開柜、多人開柜、授權(quán)開柜、遠(yuǎn)程開柜和應(yīng)急開柜多種組合開柜方式。網(wǎng)絡(luò)斷開情況下,操作日志臨時(shí)記錄在本地保密柜中,網(wǎng)絡(luò)恢復(fù)連接后,自動(dòng)提交并保存到服務(wù)器。
4)電子保密柜設(shè)計(jì)斷電、斷網(wǎng)、非正常開柜和開柜超時(shí)報(bào)警功能。系統(tǒng)通過管理中心和終端保密柜的聲音、燈光和文字提示等多種報(bào)警方式,及時(shí)提醒管理人員了解保密柜狀況,盡快采取措施排除問題。
5)電子保密柜采用多種供電方式。通常情況,電子保密柜通過POE供電。當(dāng)出現(xiàn)意外斷電時(shí),系統(tǒng)可自動(dòng)切換至內(nèi)部蓄電池供電模式,內(nèi)部供電充電模塊提供自我充電及過充保護(hù)功能。如果斷電時(shí)間較長,內(nèi)部蓄電池供電不足時(shí),根據(jù)實(shí)際情況采用外接應(yīng)急干電池組的方式為系統(tǒng)供電。
6)電子保密柜提供軟重啟和硬重啟按鈕,系統(tǒng)啟動(dòng)時(shí)間低于3S。同時(shí),提供備用鍵盤和鍵盤接口,提高系統(tǒng)可靠性。
針對(duì)電子保密柜運(yùn)行需要達(dá)到的可靠、穩(wěn)定和安全性要求,本文提出基于ARM Cortex-M4的STM32F407芯片和NuttX實(shí)時(shí)操作系統(tǒng)的電子保密柜控制系統(tǒng)。該系統(tǒng)充分發(fā)揮了ARM微處理器標(biāo)準(zhǔn)兼容、核心任務(wù)管理、模塊化設(shè)計(jì)及高度可配置的優(yōu)點(diǎn)和實(shí)時(shí)操作系統(tǒng)NuttX的多復(fù)雜任務(wù)程序控制優(yōu)點(diǎn)。相比初代產(chǎn)品,具有集成度更高、穩(wěn)定性更強(qiáng)、運(yùn)算速度更快的優(yōu)點(diǎn)。硬件設(shè)計(jì)如圖1所示。
圖1 硬件支撐平臺(tái)設(shè)計(jì)示意圖
STM32F407芯片具有最高168 MHz頻率,高達(dá)1 MB的閃存(Flash),以及以太網(wǎng)MAC和照相機(jī)接口,具有動(dòng)態(tài)功耗調(diào)整功能,能夠在運(yùn)行模式下和從Flash存儲(chǔ)器執(zhí)行時(shí)實(shí)現(xiàn)低至238 μA/MHz的電流消耗,非常適用于本文中電子保密柜需要的可靠、穩(wěn)定和安全性要求。該主控芯片具備多個(gè)高精度定時(shí)器和多種通信接口,滿足電子保密柜對(duì)光感、震動(dòng)、位移和鎖具狀態(tài)傳感器的采集要求。NuttX實(shí)時(shí)操作系統(tǒng)主要遵循Posix和ANSI標(biāo)準(zhǔn),強(qiáng)調(diào)標(biāo)準(zhǔn)兼容和小型封裝,高度可配置性和擴(kuò)展性能良好,采用核心任務(wù)管理、模塊化設(shè)計(jì)和完全可搶占式內(nèi)核非常適用于電子保密柜的可靠運(yùn)行和管控的實(shí)現(xiàn)。
系統(tǒng)采用冀科安全鎖作為身份認(rèn)證介質(zhì),通過STM32F407主控芯片將冀科安全鎖通訊協(xié)議封裝成CBW(Command Block Wrapper)和 CSW(Command Status Wrapper)數(shù)據(jù)包,通過USB底層標(biāo)準(zhǔn)協(xié)議進(jìn)行處理,實(shí)現(xiàn)身份認(rèn)證。
系統(tǒng)設(shè)計(jì)開柜身份認(rèn)證功能。首先將冀科安全鎖初始化,再將使用者與冀科安全鎖關(guān)聯(lián),同時(shí)安全鎖中存儲(chǔ)的數(shù)字證書與保密柜綁定,使用者需要使用綁定的安全鎖開啟保密柜。
1)開柜用戶插入U(xiǎn)SB-Key,輸入密碼并按#號(hào)結(jié)束,提出開柜請(qǐng)求;
2)系統(tǒng)收到開柜請(qǐng)求,發(fā)出指令要求驗(yàn)證用戶身份,通過指令請(qǐng)求讀取保存在USB-Key中的數(shù)字證書即RSA公鑰,將證書與存儲(chǔ)在系統(tǒng)中允許開柜的證書進(jìn)行對(duì)比,確認(rèn)該USB-Key是否具備開柜權(quán)限;
3)系統(tǒng)發(fā)出指令驗(yàn)證用戶PIN碼,通過后向USB-Key發(fā)送隨機(jī)數(shù)N1;
4)USB-Key通過私鑰加密隨機(jī)數(shù)N1生成密文,將此密文發(fā)回系統(tǒng)用對(duì)應(yīng)的公鑰進(jìn)行解密,還原隨機(jī)數(shù)進(jìn)行比對(duì),如果驗(yàn)證成功,則身份認(rèn)證通過,允許下一步操作,否則驗(yàn)證失敗,退出驗(yàn)證。
電子保密柜對(duì)所有的驗(yàn)證開柜過程均生成日志記錄,通過網(wǎng)絡(luò)發(fā)送給中心數(shù)據(jù)庫。身份認(rèn)證過程如圖2所示。
該系統(tǒng)設(shè)計(jì)基于標(biāo)準(zhǔn)規(guī)范體系、安全保障體系、組織管理體系和運(yùn)行維護(hù)體系,通過基礎(chǔ)設(shè)施、數(shù)據(jù)資源、系統(tǒng)支撐及中間件和應(yīng)用層實(shí)現(xiàn)應(yīng)用整合。
基于USB-Key認(rèn)證電子保密柜系統(tǒng)的用戶包括系統(tǒng)管理員、管理員和電子保密柜使用者,通過證書管理子系統(tǒng)、保密柜控制管理子系統(tǒng)和系統(tǒng)管理子系統(tǒng)提供管理平臺(tái)和電子保密柜客戶端所需的服務(wù)。網(wǎng)絡(luò)通信及安全設(shè)備、服務(wù)器和數(shù)據(jù)存儲(chǔ)設(shè)備作為數(shù)據(jù)傳輸載體、服務(wù)載體和數(shù)據(jù)存儲(chǔ)載體完成數(shù)據(jù)與信息的流轉(zhuǎn)和交互,通過與系統(tǒng)支撐及中間件配合為平臺(tái)運(yùn)行提供支持。
圖2 數(shù)字簽名方法進(jìn)行身份認(rèn)證
1)證書管理子系統(tǒng)
證書管理中心按照《證書認(rèn)證系統(tǒng)密碼及其相關(guān)安全技術(shù)規(guī)范》要求,完成根證書(也是本機(jī)構(gòu)證書)的制作和生命周期內(nèi)的加密證書密鑰對(duì)、用戶簽名證書密鑰對(duì)的全過程管理功能,包括生成、存儲(chǔ)、分發(fā)、撤銷、更新以及安全管理等[16-19]。密鑰對(duì)由CA中心和冀科安全鎖生成,簽名證書直接存儲(chǔ)在Key中,保證其唯一性,不會(huì)被再次復(fù)制。另外,安全鎖中存儲(chǔ)使用者的基本信息。
USB-Key由系統(tǒng)管理員完成證書的簽發(fā),管理員對(duì)安全鎖和使用者的操作以日志形式詳細(xì)記錄,并對(duì)關(guān)鍵數(shù)據(jù)定時(shí)備份。證書管理子系統(tǒng)組成框圖如圖3所示。
2)保密柜控制管理子系統(tǒng)
保密柜控制管理子系統(tǒng)基于密碼和證書驗(yàn)證服務(wù),主要設(shè)計(jì)功能包括電子保密柜的開柜管理(單、多人認(rèn)證開柜,遠(yuǎn)程認(rèn)證開柜、授權(quán)認(rèn)證開柜、應(yīng)急開柜等)、電子保密柜的初始化設(shè)置、存儲(chǔ)物品管理、電子保密柜狀態(tài)及運(yùn)行狀態(tài)信息。保密柜控制管理子系統(tǒng)框圖如圖4所示。
圖3 證書管理子系統(tǒng)組成框圖
圖4 保密柜控制管理子系統(tǒng)框圖
為了保證離線保密柜在特殊情況下能夠開啟使用,系統(tǒng)設(shè)計(jì)了動(dòng)態(tài)口令應(yīng)急開柜。采用HOTP(HMAC-base On-Time Password)即事件同步的一次性動(dòng)態(tài)密碼??诹罟灿?1位,包含電子保密柜編號(hào),開柜次數(shù)和校驗(yàn)值??诹钣砷_柜人員向具有應(yīng)急開柜權(quán)限的管理員申請(qǐng)獲取,口令在規(guī)定時(shí)間內(nèi)一次有效。HOTP工作原理:
HOTP(K,C)=Truncate(HMAC-SHA-1(K,C))
電子保密柜和中心服務(wù)器事先協(xié)商好一個(gè)密鑰K,用于一次性密碼的生成過程。此外,電子保密柜和中心服務(wù)器各有一個(gè)計(jì)數(shù)器C,并且事先將計(jì)數(shù)值同步。而Truncate是為了獲得一個(gè)符合HTOP要求的值。動(dòng)態(tài)口令開柜流程如圖5所示。
3)系統(tǒng)管理子系統(tǒng)
系統(tǒng)管理子系統(tǒng)基于密碼和證書驗(yàn)證服務(wù),主要設(shè)計(jì)功能包括用戶信息管理、單位信息管理、USB-Key掛失、區(qū)域信息管理、各種日志信息的查詢和審計(jì)。組成框圖如圖6所示。
該系統(tǒng)基于計(jì)算機(jī)網(wǎng)絡(luò),通過將數(shù)字證書認(rèn)證技術(shù)與嵌入式系統(tǒng)相結(jié)合,實(shí)現(xiàn)電子保密柜的開啟認(rèn)證和網(wǎng)絡(luò)遠(yuǎn)程管控,具有可靠、安全、智能化的特點(diǎn)。通過該系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),可滿足多個(gè)行業(yè)或部門在保密柜使用及管控上的要求,提高工作效率,保證對(duì)重要物品和保密柜可管、可控的客觀需求。
圖5 動(dòng)態(tài)口令開柜流程圖
圖6 系統(tǒng)管理子系統(tǒng)組成框圖
由于客觀條件和時(shí)間上的限制,本系統(tǒng)還有進(jìn)一步需要完善和深入研究的地方。比如對(duì)于存儲(chǔ)物品的自動(dòng)記錄以及與監(jiān)控系統(tǒng)、環(huán)境采集系統(tǒng)的聯(lián)動(dòng)報(bào)警等方面都有待進(jìn)一步提高。
保密柜作為日常工作中存儲(chǔ)重要文件和物品的載體,其認(rèn)證開柜的過程是否安全可靠,管理是否方便直觀對(duì)眾多管理部門將產(chǎn)生直接影響。隨著數(shù)字認(rèn)證技術(shù)和計(jì)算機(jī)技術(shù)的不斷發(fā)展,市場的需求日益增加,對(duì)電子保密柜的管理和控制是不斷改進(jìn)和發(fā)展的一個(gè)重要研究方向。
參考文獻(xiàn):
[1]劉義才.RFID技術(shù)在分布式集中控制保密柜中的應(yīng)用[J].物聯(lián)網(wǎng)技術(shù),2012(10):26-28.
[2]林娜.遠(yuǎn)程智能保險(xiǎn)柜系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].鄭州:鄭州大學(xué),2011.
[3]汪濤.基于USB Key的遠(yuǎn)程身份認(rèn)證系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].武漢:武漢科技大學(xué),2012.
[4]王帥,常朝穩(wěn),魏彥芬.基于云計(jì)算的USB Key身份認(rèn)證方案[J].計(jì)算機(jī)應(yīng)用研究,2014,31(7):2130-2134.
[5]李楠.基于用戶行為特征的智能終端安全認(rèn)證研究[D].西安:西安電子科技大學(xué),2014.
[6]張鑫.USB Key在PKI體系中的應(yīng)用研究[J].軟件導(dǎo)刊,2013,12(3):39-41.
[7]馬蕾,楊洪雪,朱青松.基于改進(jìn)身份認(rèn)證協(xié)議的單點(diǎn)登錄系統(tǒng)研究[J].微電子學(xué)與計(jì)算機(jī),2012,29(7):182-183.
[8]楊桓.基于USB KEY的身份認(rèn)證技術(shù)的相關(guān)研究[J].軟件導(dǎo)刊,2011(3):154-156.
[9]付青琴,昂正全,徐平江.一種改進(jìn)的智能卡認(rèn)證方法的實(shí)現(xiàn)[J].計(jì)算機(jī)工程與科學(xué),2014,36(1):94-98.
[10]張利華,沈友進(jìn).基于ECC和指紋USB Key的身份認(rèn)證協(xié)議[J].華東交通大學(xué)學(xué)報(bào),2014,31(2):95-98.
[11]趙銘偉,于曉晨.一種在不安全信道上的動(dòng)態(tài)口令遠(yuǎn)程用戶認(rèn)證方案[J].計(jì)算機(jī)應(yīng)用與軟件,2015,32(10):320-323.
[12]Cao Z,Wang Y.Researching and implementing identity authentication mechanism based on USBKEY[J].JisuanjiYingyongyu Ruanjian,2011,28(2):284-286.
[13]馬偉強(qiáng).我國網(wǎng)上銀行身份認(rèn)證技術(shù)分析[J].計(jì)算機(jī)安全,2012(3):50-52.
[14]張寧,臧亞麗,田捷.生物特征與密碼技術(shù)的融合—一種新的安全身份認(rèn)證方案[J].密碼學(xué)報(bào),2015,2(2):159-176.
[15]趙秀萍.生物特征識(shí)別技術(shù)發(fā)展綜述[J].刑事技術(shù),2011(6):44-48.
[16]楊宇.基于PKI身份認(rèn)證系統(tǒng)的研究和實(shí)現(xiàn)[D].成都:電子科技大學(xué),2009.
[17]胡曉曄.統(tǒng)一身份認(rèn)證系統(tǒng)用戶信息遠(yuǎn)程調(diào)用與管理[J].西安工業(yè)大學(xué)學(xué)報(bào),2015(9):715-719.
[18]張娟榮,屈昕鵬.基于ARM的空調(diào)遠(yuǎn)程控制系統(tǒng)設(shè)計(jì)[J].自動(dòng)化與儀器儀表,2017(10):99-100.
[19]馬蓉,李云紅,王晨昊,等.基于ARM的遠(yuǎn)程智能環(huán)境監(jiān)控系統(tǒng)設(shè)計(jì)[J].西安工程大學(xué)學(xué)報(bào),201(3):346-350.