湯億則 徐志強 黃紅兵
【摘要】設(shè)計了一款應(yīng)用于移動設(shè)備音頻口的企業(yè)內(nèi)部專用身份認證設(shè)備,該設(shè)備可以通過移動設(shè)備經(jīng)過安全網(wǎng)閘訪問身份數(shù)據(jù)庫,實現(xiàn)生產(chǎn)用戶群的動態(tài)安全接入。獨立設(shè)備在生產(chǎn)時預(yù)置了綁定密鑰,確保一機一密的特性。身份認證設(shè)備經(jīng)過音頻口采用中斷的方式來交互移動設(shè)備的數(shù)據(jù),通過密文傳輸實現(xiàn)手機客戶端與服務(wù)器間的數(shù)據(jù)安全,采用雙向認證的方式實現(xiàn)相互信任且保證了認證碼的動態(tài)安全。
【關(guān)鍵詞】身份認證設(shè)備;動態(tài)口令;安全傳輸
1.引言
當(dāng)今社會,很多身份認證設(shè)備都被大家所熟悉和使用。自帶存儲空間,內(nèi)置安全芯片的USBKEY被廣泛地應(yīng)用于網(wǎng)上銀行等場景的身份認證設(shè)備中,通過USB接口進行通信,用戶可以將私鑰和數(shù)字證書存儲在內(nèi)置的存儲空間中,USB Key還內(nèi)置了標準的公鑰算法來實現(xiàn)對用戶身份的認證[1]。近期,用于互聯(lián)網(wǎng)的身份認證模型也被設(shè)計與應(yīng)用[2]。隨著生物測定技術(shù)的發(fā)展,用于身份認證設(shè)備的生物識別技術(shù)除指紋識別這一技術(shù)外,還有虹膜識別、簽名的動作等等基于身份特診的生物識別技術(shù)被廣泛應(yīng)用[3]。隨著移動設(shè)備和通信技術(shù)的發(fā)展,應(yīng)用于手機的身份認證設(shè)備也應(yīng)運而生,例如騰訊公司的手機令牌、卡拉卡手機刷卡器等等,這些身份認證設(shè)備一般通過互聯(lián)網(wǎng)鏈接,一般很少見有鏈接到專網(wǎng)的身份認證設(shè)備。
目前,各個企業(yè)內(nèi)部的營銷、ERP、PMS、協(xié)同辦公、電子郵件、視頻會議等應(yīng)用系統(tǒng)全面上線,整體信息化程度不斷提高。為了滿足專業(yè)工作者的實際業(yè)務(wù)需求,本文設(shè)計了一款應(yīng)用于移動設(shè)備音頻口的企業(yè)內(nèi)部專用身份認證設(shè)備,該設(shè)備可以通過移動設(shè)備進行身份認證動作來實現(xiàn)專業(yè)工作者用戶的動態(tài)安全接入。
2.系統(tǒng)介紹
整個業(yè)務(wù)系統(tǒng)的框圖如圖1所示,該系統(tǒng)由移動設(shè)備、服務(wù)器、身份認證設(shè)備組成,各個部分之間的通信都是雙向的。整個系統(tǒng)是在移動設(shè)備上安裝定制的APP軟件,在手機音頻口插上身份認證設(shè)備后,設(shè)備給手機發(fā)送生產(chǎn)時預(yù)錄的綁定密鑰,手機把密鑰和用戶編號發(fā)到身份認證數(shù)據(jù)庫進行身份匹配,匹配成功后手機再發(fā)應(yīng)答給移動設(shè)備,移動設(shè)備收到正確的應(yīng)答后通知移動設(shè)備允許連接。其中身份認證是整個通信過程的安全保障。
圖1 系統(tǒng)框圖
身份認證的過程是通信安全的重要保障,指的是對擁有特定身份的個體提供的驗證信息進行判斷的過程。為了保證操作者的信息不被非法用戶獲得和服務(wù)器內(nèi)數(shù)據(jù)庫中數(shù)據(jù)的安全,必須對每一位操作者的身份進行驗證,通過了安全的驗證,才能連接成功,才能擁有訪問的權(quán)限。而身份認證機制是整個系統(tǒng)的安全性的第一個保障,可以成功避免攻擊者的主動攻擊[4],確保了安全機制和訪問控制的有效性。在本文描述的身份認證設(shè)備設(shè)計中,如何實現(xiàn)綁定、如何實現(xiàn)動態(tài)碼、如何解決傳輸過程中加密是要重點解決的問題。
3.設(shè)計與結(jié)果
在硬件設(shè)計部分,采用的是MCU是如圖2所示的MSP430G系列的芯片,它自帶有模擬信號比較功能或者斜率模數(shù)(A/D)轉(zhuǎn)換的片載比較器,16位精簡指令集(RISC) 架構(gòu),從待機模式喚醒所需要的時間小于1μs,62.5ns 指令周期時間。芯片MSP430G2755在串行板上編程,內(nèi)部頻率高達16MHz,具有四種校準頻率。由于手機音頻口輸出的是模擬信號,經(jīng)過芯片的片載比較器即可轉(zhuǎn)換為數(shù)字信號,然后對其進行編碼。
圖2 單片機芯片圖
要實現(xiàn)動態(tài)碼,就要有實時的時鐘芯片,在本設(shè)備中,采用的實時日歷時鐘芯片是PCF8563,它是具有低功耗、自帶CMOS實時時鐘等特點的日歷型芯片,內(nèi)置一個掉電檢測器、一個中斷輸出以及可編程時鐘,地址和數(shù)據(jù)通過總線接口傳遞,額定工作電流和工作電壓分別為0.25uA、1.0~5.5V。PCF8563芯片的使用,有效確保了該設(shè)備在不插設(shè)備使用時也可以保持時鐘的準確性,是該設(shè)備實現(xiàn)時鐘同步的保障。
圖3 設(shè)備綁定過程圖
設(shè)備和操作者的一次綁定過程如圖3所示,身份認證設(shè)備第一次插入移動設(shè)備時,激活了移動設(shè)備中的客戶端APP,將設(shè)備RAM中的設(shè)備編碼和綁定密鑰KEY發(fā)到移動設(shè)備中的APP客戶端。這時APP會根據(jù)操作者的登入信息生成一個用戶編號USER_NO,客戶端把設(shè)備編碼、KEY和USER_NO一起發(fā)給服務(wù)器,服務(wù)器先判斷設(shè)備編碼是否有效,同時判斷KEY是否第一次發(fā)送,判斷成功后服務(wù)器將設(shè)備與用戶綁定,綁定成功后通知身份認證設(shè)備已和客戶端的用戶綁定成功。其中USER_NO與移動設(shè)備無關(guān),只有操作者的信息有關(guān),如果操作者更換移動設(shè)備,使用的身份認證設(shè)備也已經(jīng)成功綁定到服務(wù)器,這樣實現(xiàn)了設(shè)備的一次性綁定,由于沒有設(shè)定解綁定的密鑰,所以設(shè)備不能二次綁定。
圖4所示的是綁定成功之后用戶登入到客戶端是動態(tài)碼匹配的過程圖。當(dāng)用戶登錄在APP客戶端登入時,設(shè)備會根據(jù)客戶的操作時間與基礎(chǔ)的時間差生成一個身份認證碼1,同時客戶端給服務(wù)器發(fā)送客戶登入的命令和認證碼1,在服務(wù)器也會根據(jù)命令的產(chǎn)生時間與基礎(chǔ)的時間差生成一個身份認證碼2,之后服務(wù)器檢查認證碼1和2是否匹配,成功匹配則通知客戶端登入成功且更新設(shè)備和服務(wù)器的時間差,否則就退出客戶端。而設(shè)備也需要在一定的時間內(nèi)登入一次,這樣出現(xiàn)密碼匹配的錯誤率就可以控制在合理的范圍內(nèi)。由于客戶端發(fā)送命令到服務(wù)器的時間非常短,不會影響密碼的匹配,忽略不計。在這里也解釋了為什么需要設(shè)備和服務(wù)端之間需要進行時間的同步,時間越精確密碼匹配的錯誤率就越低。
圖4 動態(tài)碼匹配過程
圖5所示的是該設(shè)備的外觀圖。從圖中可以看出,外觀較簡潔明了,預(yù)留了一個音頻口,不占用移動設(shè)備的音頻口。
圖5 產(chǎn)品外觀圖
圖6 Manchester編碼構(gòu)成圖
為解決APP傳輸數(shù)據(jù)到認證服務(wù)器過程中的安全傳輸問題,我們設(shè)計了一套自定義加解密的安全算法。由于在設(shè)備中基礎(chǔ)編碼采用的是Manchester編碼,編碼的具體方法如圖6所示,前9位是數(shù)據(jù)頭,由9個1構(gòu)成,中間是10行數(shù)據(jù)區(qū),數(shù)據(jù)由4位二進制數(shù)加1位行校驗位組成。密文傳輸就是指將Manchester編碼里的數(shù)據(jù)區(qū)在提交到APP設(shè)備之前通過自定義算法加密產(chǎn)生密文,傳輸過程中保持密文傳輸,在身份認證服務(wù)器用相同自定義算法進行解密的過程,這里采用的是自定義對稱加密算法。具體生成密文的算法如下,把數(shù)據(jù)區(qū)視為一個50個byte的字符串,依次對字符串中各字節(jié)進行加密操作,各字節(jié)與秘鑰進行移位和異或來形成中間密文,然后把中間密文進行二次編碼,實際上將每一個中間密文按高低位字節(jié)再次拆開為2或4個隨機亂碼字符,此時形成最終密文。解碼的過程就是根據(jù)最終密文進行密文組合,還原為中間密文,然后按同樣的密鑰移位后才能得到原文。
通過以上的設(shè)計,該設(shè)備實現(xiàn)了綁定操作者身份且不可二次綁定、動態(tài)碼的驗證、傳輸過程全程密文,同時利用實時的低功耗時鐘芯片確保了設(shè)備的時間準確,進一步確保了動態(tài)碼的準確性。這樣就在整個密碼認證過程中基本保障了接入者的信息安全。
4.結(jié)束語
本文采用動態(tài)口令技術(shù)實現(xiàn)身份驗證,為提高系統(tǒng)的安全性,將用戶密鑰內(nèi)置于身份認證設(shè)備的RAM中,在身份認證設(shè)備中通過自定義加密算法產(chǎn)生密文,傳輸過程中保持密文傳輸。此外,在該系統(tǒng)中動態(tài)口令技術(shù)對服務(wù)端與客戶端之間的時鐘同步有很高的要求,若是時鐘芯片無法做到精確同步,則會出現(xiàn)登錄不穩(wěn)定的情況,目前采用的是鈕扣電池,這方面還有待做進一步的研究。
參考文獻
[1]鄭松杰.“網(wǎng)上銀行身份認證設(shè)備問題及防范措施”[N].企業(yè)導(dǎo)報,2011.05.15.
[2]郝輝,錢華林.“網(wǎng)絡(luò)服務(wù)系統(tǒng)統(tǒng)一身份認證模型的研究與設(shè)計”[J].計算機科學(xué),2005.10.23.
[3]Wilson CL,Canela GT,Watson Cl.Neural network and fingerpint classification[J].Artific Neural Networks,2003:45-50.
[4]Gaskell G,Looi M. Integrating smart cards into authentication systems[A].Advances in Cryptology -EUROCRYPT.1995 Proceedings[C].Berlin:Spring Verlag,1995:271-281.
[5]王宏健,邵佩英,張籍.“一次性口令身份驗證系統(tǒng)的設(shè)計與實現(xiàn)”[J].計算機應(yīng)用研究,2001.
作者簡介:湯億則,浙江杭州人,高級工程師,長期從事電力系統(tǒng)通信運維工作。