李珊 梁策 肖禹 吳毓煒
北方工業(yè)大學
基于移動終端的二維碼準入身份鑒別技術研究
李珊 梁策 肖禹 吳毓煒
北方工業(yè)大學
針對涉密區(qū)域、重點區(qū)域的身份鑒別安全問題,對基于移動終端的二維碼準入身份鑒別技術進行研究,以解決傳統(tǒng)身份卡易丟失、易復制、易被仿冒等問題,實現(xiàn)低成本高效率更安全的身份鑒別。根據(jù)柯克霍夫原則和香農(nóng)的“一次一密”原則,設計了“一次一碼”方案保證下發(fā)的以二維碼為載體的準入憑證每次都是不同的且只使用一次的隨機字符串,并采用了數(shù)字信封、數(shù)字簽名等技術保證傳輸安全。
身份鑒別 密碼學技術 二維碼技術
涉密區(qū)域的安全保護工作向來是嚴謹嚴格的,涉密區(qū)域秘密泄露事件一般情況下與無資格人員進入竊取資料有著些許的聯(lián)系。然而當前使用的身份鑒別系統(tǒng)極易產(chǎn)生冒認問題,造成了各種機密、秘密文件泄露事故的發(fā)生,因而增加了涉密區(qū)域的不安定因素。近年來,隨著信息技術的發(fā)展,準入鑒別機制也越來越普遍。各大高校、公司、銀行等涉密區(qū)域都會設置準入鑒別機制。其中準入身份鑒別系統(tǒng)是指能通過特定方式來檢驗用戶身份,防止身份欺詐,保護合法用戶安全的新興身份鑒別方法。
放眼古今,“準入身份鑒別”都是控制進出特定區(qū)域的重要手段。從古代的官兵人眼鑒別,到現(xiàn)代的電子鑒別都標志著準入身份鑒別的重要性。在保護特定區(qū)域的內(nèi)部人員具有重要意義。
目前市場上的準入身份鑒別系統(tǒng)多以身份卡識別準入為主,這種方式管理不便,并且易復制,安全性不高,且無法鑒別用戶身份。
以最為貼近生活的小區(qū)準入機制來說,安置閘機,價格昂貴;而門禁卡是唯一的鑒別工具,可能會出現(xiàn)破損、遺忘、遺失等情況,而且遺失幾率大,一旦丟失就失去了進入小區(qū)的權限;相對的,當其他人撿到門禁卡,就可以頂替卡主的身份,從而進入小區(qū)。因此可以反映出在重點區(qū)域使用刷卡等工具鑒別身份是不可靠的。
基于移動終端的二維碼準入身份鑒別系統(tǒng)全面解決了傳統(tǒng)身份鑒別系統(tǒng)的一些弊病,彌補了傳統(tǒng)ID卡易被偽造、指紋驗證方式的過高成本、“人臉識別”技術上些許不確定不穩(wěn)定因素,二維碼身份鑒別技術較之其他同類新興身份鑒別技術更為實用、更為穩(wěn)定。
二維碼具有信息存儲量大、保密性高、追蹤性強、誤碼率低等特性,廣泛應用于追根溯源,證照信息等領域,因此二維碼也可以代替?zhèn)鹘y(tǒng)的身份鑰匙作為電子鑰匙傳遞保密信息。
隨著移動互聯(lián)網(wǎng)的快速發(fā)展,移動終端的二維碼鑒別系統(tǒng)越來越受到大眾青睞。但由于二維碼可識別性高、沒有信息審核機制,很容易被不法分子竊取,給用戶帶來安全隱患。因此,需要采取一系列安全技術措施(如:數(shù)字簽名、數(shù)字信封等)對移動終端的二維碼準入身份鑒別系統(tǒng)進行保護。
2.1 香農(nóng)理論的“一次一密”原則
“一次一密”指在流密碼當中使用與消息長度等長的隨機密鑰,密鑰本身只使用一次。
具體而言,首先選擇一個隨機位串作為密鑰,然后將明文轉(zhuǎn)變成一個位串,比如使用明文的ASCII表示法。最后,逐位計算這兩個串的異或值,結(jié)果得到的密文不可能被破解,因為即使有了足夠數(shù)量的密文樣本,每個字符的出現(xiàn)概率都是相等的,每任意個字母組合出現(xiàn)的概率也是相等的。
密鑰K=(K0,K1,…,KN-1)是一個隨機序列。
密鑰只能使用一次。
密鑰長度要等于明文長度,即|K|=|M|。
由于使用與消息等長的隨機密鑰,產(chǎn)生與原文沒有任何統(tǒng)計關系的隨機輸出,因此“一次一密”方案不可破解。本系統(tǒng)根據(jù)香農(nóng)的“一次一密”原則,設計了“一次一碼”的方案。在本系統(tǒng)中,準入用戶每次進入涉密區(qū)域后會自動更新準入密鑰,所以每次準入用戶進入涉密區(qū)的二維碼都不相同,防止二維碼被復制。即使二維碼在中途被截獲,也不可能繼續(xù)使用截獲的二維碼通過身份鑒別端,確保了身份鑒別系統(tǒng)的安全性。
2.2 數(shù)字簽名
數(shù)字簽名由兩部分組成,簽名算法和驗證算法。簽名算法是產(chǎn)生數(shù)字簽名的算法,而驗證算法是檢驗一個數(shù)字簽名是否有效的算法。它是非對稱密鑰加密技術與數(shù)字摘要技術的應用。只有信息的發(fā)送者才能產(chǎn)生的別人無法偽造的一段數(shù)字串,這段數(shù)字串同時也是對信息的發(fā)送者發(fā)送信息真實性的一個有效證明。本作品用數(shù)字簽名是作為三層加密的其中比較重要的一層。
數(shù)字簽名主要經(jīng)過以下幾個過程:
1)信息發(fā)送者使用一單向散列函數(shù)對信息生成信息摘要;
2)信息發(fā)送者使用自己的私鑰簽名信息摘要;
3 )信息發(fā)送者把信息本身和已簽名的信息摘要一起發(fā)送出去;
4 )信息接收者通過使用與信息發(fā)送者使用的同一個單向散列函數(shù)(HASH函數(shù))對接收的信息本身生成新的信息摘要;
5)信息接收者再使用信息發(fā)送者的公鑰對信息摘要進行驗證,以確認信息發(fā)送者的身份和信息是否被修改過。
本系統(tǒng)主要通過數(shù)字簽名技術驗證注冊準入用戶身份的有效性,在密鑰分發(fā)過程中用于確認管理服務端的身份,以保證密鑰的真實性。
2.3 密鑰管理
密鑰管理是密碼系統(tǒng)不可或缺的重要組成部分,是整個系統(tǒng)的密鑰命脈。
本系統(tǒng)采用“一次一碼”的方式產(chǎn)生準入密鑰,實現(xiàn)準入密鑰的安全保護?,F(xiàn)代密碼體制要求密碼算法公開,整個系統(tǒng)的安全性并不取決于對準入密鑰算法的保密或者密碼設備的的保護,而取決于密鑰的保密。
準入密鑰采用的是一個常用的三級簡化密鑰管理的層次結(jié)構(gòu)。其中,在新用戶注冊時,用戶手機APP端自動生成公私鑰并將公鑰上傳至密鑰管理系統(tǒng)存儲、管理。密鑰的分級系統(tǒng)優(yōu)點在于,它使密鑰管理自動化成為可能。在分級系統(tǒng)中,各級密鑰均可以由密鑰管理系統(tǒng)按照協(xié)議來進行自動的分配、更換、撤銷等。這既提高了準入密鑰傳輸?shù)墓ぷ餍?,也提高了安全性,保障了私鑰與傳送過程的安全。
功能設計主要分為系統(tǒng)功能設計和功能流程設計兩部分。系統(tǒng)功能設計通過系統(tǒng)的三個組成部分進行分別講述;功能流程設計根據(jù)用戶體驗流程進行線性展開。下圖1為應用拓補圖。
圖1 應用拓撲圖
3.1 系統(tǒng)功能設計
圖2 系統(tǒng)組成圖
如圖2所示,二維碼準入身份鑒別系統(tǒng)由管理服務端、身份鑒別端和手機APP端組成。管理服務端負責對用戶信息進行審核、管理,只有管理員才具備管理服務端的權限;手機APP端由用戶下載使用,準入用戶可以通過其實現(xiàn)注冊、訪客審核、修改信息等;身份鑒別端負責掃描二維碼并識別二維碼信息。
系統(tǒng)三部分進行交互,實現(xiàn)用戶安全進出涉密區(qū)的目的。如下圖3所示。
圖3 系統(tǒng)交互圖
3.1.1 管理服務端
通過安全定制的Linux系統(tǒng)、密碼服務及管理等模塊,實現(xiàn)對新用戶的注冊管理,準入用戶二維碼的校驗,并控制門的開關。
在新用戶注冊完畢后,系統(tǒng)審核信息并分發(fā)密鑰,接受訪客申請并推送至準入用戶(受訪用戶),接收受訪用戶的反饋信息,判斷是否準入。
3.1.2 身份鑒別端
手機端APP生成的二維碼交由身份鑒別端的攝像頭進行掃描,對用戶的二維碼進行解析,并將解析出來的信息與識別庫進行驗證。
3.1.3 手機APP端
完成準入用戶注冊以及初始化工作,生成二維碼,提交準入驗證,處理訪客申請。
3.2 功能流程設計
系統(tǒng)主要功能分為五個部分:新用戶注冊、密鑰分發(fā)、手機APP端更新密鑰、二維碼生成、訪客管理。
3.2.1 新用戶注冊
新用戶到管理員辦理注冊時,首先下載APP,填寫個人信息并提交,管理員經(jīng)核實身份后,親自將每個用戶所私有的私鑰,以及系統(tǒng)公鑰注入到手機中。
管理員完成注密后會給用戶下發(fā)準入密鑰,用來生成二維碼。下圖4為新用戶注冊流程圖。
圖4 新用戶注冊流程
3.2.2 密鑰分發(fā)
每次準入用戶在進入涉密區(qū)域后管理服務端會利用隨機數(shù)生成一組密鑰作為新的準入密鑰,同時更新本地存儲的該準入用戶的密鑰信息,將此密鑰利用隨機生成的密鑰保護密鑰加密,并對準入密鑰進行簽名,最后利用手機端的公鑰對密鑰保護密鑰進行加密,形成數(shù)字信封,下發(fā)至手機端。
密鑰分發(fā)分為兩部分:數(shù)字信封和數(shù)字簽名。其中,數(shù)字信封包括準入密鑰加密以及保護密鑰加密。準入密鑰加密部分作用是將系統(tǒng)隨機生成的準入密鑰用保護密鑰進行DES加密。保護密鑰加密是由將密鑰加密中用到的保護密鑰進行RSA加密。隨后,對準入密鑰進行數(shù)字簽名。下圖5為密鑰分發(fā)流程圖。
圖5 密鑰分發(fā)流程圖
3.2.3 手機APP端準入密鑰接收
手機APP端接收到管理服務端發(fā)來的信息后,首先對發(fā)來的信息用管理服務端的公鑰進行驗簽,驗證通過后使用準入用戶的私鑰將保護密鑰進行解密,得到保護密鑰,再使用得到的保護密鑰將準入密鑰加密部分進行解密,得到需要用到的準入密鑰。如圖6所示。
圖6 身份鑒別系統(tǒng)APP密鑰接收流程圖
3.2.4 二維碼生成
本系統(tǒng)采用二維碼為載體進行信息傳遞。手機APP端生成的二位碼包含驗證用戶身份的重要信息。手機將收到的系統(tǒng)用準入用戶公鑰加密的密鑰進行解密,與手機IMEI碼綁定,用系統(tǒng)的公鑰再加密生成字節(jié)串,并將自身手機號附在字節(jié)串后,一起生成二維碼。下圖7、8分別為二維碼組成圖和解析圖。
圖7 二維碼組成圖
圖8 二維碼解析圖
3.2.5 訪客管理
訪客申請功能由管理服務端管理實現(xiàn)運行,采用與受訪用戶(這里指準入用戶)交互的方式,即由受訪用戶確認是否允許訪客進入。訪客向管理服務端提出申請后填寫訪客申請,主要包括訪客姓名、手機號,及要訪問的受訪用戶信息,如訪問人姓名、手機號等。填寫完畢后管理服務端向受訪用戶發(fā)送確認請求,受訪用戶確認之后,管理員根據(jù)受訪用戶反饋的結(jié)果,判斷是否允許訪客進入。在這一過程中訪客與受訪用戶進行交互式交流,更方便快捷,而且能夠確保訪客身份真實性。
本次系統(tǒng)設計成功地將密碼學原理應用到身份鑒別系統(tǒng)中,成功地實現(xiàn)了實踐與理論結(jié)合、技術方面與實用方面互補。創(chuàng)新性地將二位碼應用到身份鑒別系統(tǒng)中去,并且采用密碼學中的很多核心理論,例如數(shù)字簽名、數(shù)字信封以及哈希函數(shù)等保證準入二維碼的安全性和可靠性。在對系統(tǒng)經(jīng)過全方位的測試后,確認了本系統(tǒng)的實用性。
因此,有理由相信基于移動終端的二維碼準入身份鑒別系統(tǒng)在經(jīng)過更好的完善后,一定會有很好的前景,進而被社會廣泛接受。
[1]孫永道、王勇、張嵐.一種基于加密型二維碼的手機身份驗證系統(tǒng)的設計與實現(xiàn).科技通報.2014,167
[2]Douglas R.Stinson著.馮登國譯.密碼學原理與實踐(第3版).電子工業(yè)出版社,2009.7
[3]谷利澤、鄭世慧、楊義先.現(xiàn)代密碼學教程.北京郵電大學出版社.2009.7
[4]張煥國.王張宜.密碼學引論(第2版).武漢大學出版社,2009.3
李珊(1995-),女,北方工業(yè)大學信息安全本科生。