周志堅
摘要:近年來互聯(lián)網技術快速發(fā)展,帶動各行各業(yè)的飛速發(fā)展、相互聯(lián)通,多網絡視頻會議的廣泛應用就是一個重要體現(xiàn)。隨著視頻會議廣泛應用于醫(yī)療、教育、IT企業(yè)等各個領域的同時,對視頻會議的身份認證機制的要求也日益增強。本文針對視頻會議的身份認證技術進行研究探討,借鑒國內外相關先進的技術,設計并實現(xiàn)一個安全、可靠的用戶身份認證系統(tǒng),該系統(tǒng)采用指紋識別技術和ECC算法產生動態(tài)口令的雙因子組合的認證機制,同時采用AES加解密算法保證網絡傳輸?shù)陌踩?,較好地解決了通信雙方的雙向認證問題,以及用戶活體指紋特征等認證信息的傳輸安全性和存儲完整性等問題。
關鍵詞:身份認證;指紋識別;網絡安全;視頻會議
中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2017)01-0187-03
隨著互聯(lián)網技術的快速發(fā)展,全球互聯(lián)化已經成為世界發(fā)展的大趨勢。但由于計算機網絡具有聯(lián)結形式多樣性、終端分布不均勻性和網絡的開放性、互連性等特征,致使網絡易受黑客、惡意軟件和其他不軌行為的攻擊,所以信息安全已經成為互聯(lián)網建設的核心問題[1,2]。對于遠程視頻會議的多網絡系統(tǒng)而言,保障參會人員的合法性,確保視頻會議的安全性和保密性是非常重要的。筆者通過對現(xiàn)有網絡安全、身份認證等相關技術的綜合應用,開發(fā)出基于雙重身份認證的多網絡視頻會議系統(tǒng),主要通過兩個方面來保障視頻會議的安全性和保密性:一部分是用戶身份的雙重驗證,采用指紋識別和ECC算法產生動態(tài)口令的雙因子組合的用戶驗證機制;另一部分是確保網絡傳輸過程中的安全性,采用AES算法混合加密的網絡數(shù)據傳輸方案。
在復雜的網絡環(huán)境下,身份認證是視頻會議安全的第一道關口,認證機制是安全系統(tǒng)的第一道防線,用來確保安全機制的有效性和訪問控制的有效性,也是避免攻擊者主動攻擊的有效手段。身份認證是指驗證一個最終用戶或設備所聲明身份的過程[2]。為了保證網絡能夠安全地工作,為了保證視頻會議不被非法用戶入侵,那么對每位來訪者進行身份認證是非常必要的,只對通過身份認證的用戶,系統(tǒng)才能授權相應的訪問權限。
身份認證方式可分為以下三類[4],認證方式可以是以下三種方式的一種,也可以是幾種方式的結合。
(1) 根據你所知道的信息來證明你的身份(what you know,你知道什么) ,如口令、PIN、密碼等;
(2) 根據你所擁有的東西來證明你的身份(what you have,你有什么),如護照、駕駛證、身份證或鑰匙等 ;
(3) 直接根據獨一無二的身體特征來證明你的身份(who you are,你是誰),比如指紋、虹膜、面貌等。
以上三種方式分別稱為基于秘密信息的身份認證、基于信物的用戶身份認證、基于生物特征的身份認證,基于秘密的身份認證明顯受制于諸多因素的影響:口令、密碼可能丟失、被竊、遺忘,PIN可能被授權用戶遺忘或被暴力枚舉猜出?;诿孛苄畔⒌臄?shù)據,在驗證過程中 在計算機內存中和傳輸過程可能會被木馬程序或網絡中截獲,全性上講,用戶名/密碼方式一種是不安全的身份認證方式?;谛盼锏挠脩羯矸菡J證,同樣受到諸多因素的影響:用于認證的信物可能丟失、被竊、遺忘等干擾因素。這兩種方法都不能區(qū)別授權用戶和欺騙性得到了授權用戶的密碼或證件的不合法者,并不能很好滿足網絡安全的要求。基于生物特征的身份認證,以人體的唯一性、可靠性、穩(wěn)定性的生物特征為依據,采用計算機強大的圖像處理技術和模式識別技術,記錄人體生物特征,用于鑒別用戶身份。由于人體生物特征各不相同,而且不會丟失和遺忘,也難以復制,在區(qū)分授權人和不合法者比基于秘密信息和信物的身份認證更為可靠。
橢圓曲線密碼算法(ECC),由Neil Koblitz和Victor Miller于1985年分別提出。橢圓曲線密碼算法是一種新的密碼算法思想,與傳統(tǒng)的密碼算法不同的是它需要人為構造有限域和定義域中的運算,并將信息通過編碼嵌入自構造的有限域中。橢圓曲線密碼體制的安全性由橢圓曲線上的離散對數(shù)問題確保,這是一個完全問題,解決這個問題的時間復雜度為指數(shù)級,遠遠超過了其它公鑰密碼算法的復雜程度[4][5]。2000年10月,NIST選中了Rijndael算法作為AES密碼。Rijndael算法具有運算速度快、適應性強、可靠性強、抗攻擊性強、靈活性好、簡易性好等特點[6][7][8][9]。本文采用基于ECC身份認證以及基于AES的數(shù)據加解密,綜合這兩個算法的優(yōu)點,較好地保障數(shù)據在網絡傳輸過程中的安全性和保密性。
1 相關工作
1.1 基于ECC身份認證
作為視頻會議身份認證的首道防線,基于ECC的一次性口令身份認證,實現(xiàn)了用戶和服務器間的相互認證,較好的保護了用戶的身份,也較好提高了應用系統(tǒng)的安全性。用戶在首次使用ECC身份認證之前必須在服務器上進行注冊,完成初始化。初始化過后,用戶再次進入系統(tǒng)時必須使用應答方式執(zhí)行一次身份驗證。
1.1.1 注冊過程
具體的注冊過程如下:
1) 用戶通過客戶端向服務器發(fā)送注冊請求;
2) 服務器選擇一條獨有的、安全的橢圓曲線,然后生成自己的公鑰和私鑰(),并把公鑰傳輸送給用戶;
3) 客戶端用加密ID,并傳輸給服務器;
4) 服務器解密,檢查是否在列表中,若存在提示客戶端重新輸入,否則提示客戶端輸入認證數(shù)據;
5) 客戶端在[1,n-1]上選取隨機數(shù)k,計算,再計算,檢驗是否有K0,否則需要重新選擇隨機數(shù);然后輸入自己的ID和密碼,再生成一個隨機數(shù),計算,H表示一個安全的單向散列函數(shù);
6) 客戶端用將ID,及A加密,即及傳輸給服務器;
7) 服務器計算,然后用解密a,將得到的ID,A及()保存在本方數(shù)據庫中,提供認證時使用[11,12]。
圖1,圖2分別是注冊過程中客戶端和服務端的流程圖:
1.1.2 認證過程
用戶進行系統(tǒng)之前,首先必須經過一次使用應答方式的身份認證過程,具體的認證過程如下:
1) 用戶輸入ID,在[1,n-1]之間產生隨機數(shù)k,計算,用將ID加密后即及發(fā)送給服務器,并向服務器提出認證請求。
2) 服務器計算,然后用解密,判斷ID是否存在于信任用戶列表中,若存在說明此ID合法,接著計算,取出存放的隨機數(shù),并將用共同會話密鑰加密后傳送給客戶端。否則說明ID不合法,終止與客戶端的會話。
3) 客戶端用解密a,分解出和M,并根據本身存儲的ID和密鑰計算將它與傳送來的M相比較,若相等則說明服務器合法,繼續(xù)執(zhí)行4;否則終止與服務器的通信。
4) 客戶端根據接收的,計算,生成隨機數(shù),利用計算,作為下一次身份驗證的校驗標識。接著客戶端計算出,X和Y,并將X,Y,用公用的密鑰加密后傳輸給服務器。
5) 服務器接收X,Y,然后根據已存儲的校驗符A對客戶端進行驗證。若驗證通過,則根據相應的計算規(guī)則更新服務器上的校驗符A和隨機數(shù),提供下一次身份驗證使用。
1.2 基于生物特征的身份認證
由于本文采用雙重身份認證方式,因此用戶通過基于ECC的身份認證之后,需要再次進行基于生物特征身份認證,本文采用指紋特征進行身份認證。基于指紋識別的身份認證,也主要分為注冊階段和識別階段[10]。用戶要進行生物特征的身份認證時,必須先將自己的生物特征存儲至服務器,用于身份驗證時的識別和驗證,即是注冊階段。用戶通過指紋傳感器讀取自己的指紋以獲取獨特的數(shù)字描述,同時為了提高速度和減小存儲空間,數(shù)字描述將進一步進行特征提取,生成較小的但具有特征描述的數(shù)據,然后采用AES算法進行數(shù)據加密,通過網絡傳輸?shù)椒掌?,解密后存儲至?shù)據庫。圖3是指紋特征的注冊流程圖。
用戶的指紋特征保存至數(shù)據庫后,即基于指紋識別的身份認證的注冊階段完成,接下來就是指紋特征識別階段。用戶通過口令認證之后,再進行指紋特征身份認證,若想通過第二階段的認證,需要提供自己相應的指紋信息,通過網絡傳輸,與服務器中的指紋特征進行匹配,判斷用戶的身份是否合法。圖4是指紋特征的識別流程圖。
1.3 基于AES的數(shù)據加解密
本文采用的AES算法進行數(shù)據加密是本系統(tǒng)中關鍵的防線,它涉及兩次身份認證的網絡傳輸中的數(shù)據加密,確保數(shù)據在網絡傳輸過程的安全性。AES算法是一種對稱密鑰迭代型分組密碼算法,其分組長度和密鑰長度是可變的,可以根據需要獨立地指定為128比特、192比特、256比特。AES加密過程涉及4種操作:字節(jié)替代(SubBytes)、行移位(ShiftRows)、列混淆(MixColumns)和輪密鑰加(AddRoundKey)。 解密過程分別為對應的逆操作。由于每一步操作都是可逆的,按照相反的順序進行解密即可恢復明文。加解密中每輪的密鑰分別由初始密鑰擴展得到。算法中16字節(jié)的明文、密文和輪密鑰都以一個4x4的矩陣表示。圖5表示AES算法的加密和解密過程。
2 設計實現(xiàn)
2.1 系統(tǒng)結構
本文研究與實現(xiàn)的基于多網絡的視頻會議身份認證系統(tǒng),主要包括身份認證和網絡安全傳輸兩大部分。首先,身份認證部分有兩大模塊組成,用戶密碼驗證和指紋識別認證,第一次使用本視頻會議身份認證系統(tǒng)的用戶,必須先通過客戶端進行注冊,在服務器上能保留下用于身份認證的特征信息,包括用戶ID注冊和指紋特征注冊。用戶ID注冊時,系統(tǒng)會采用ECC算法加密,并將信息保存至服務器,用于下一次用戶登錄時,客戶端和服務端之間相互驗證。指紋特征注冊時,指紋傳感器會獲取用戶的指紋信息,然后經過一系列的信息處理和特征提取,通過網絡傳輸保存至遠程服務器,最終指紋特征保存至數(shù)據庫,用于下一次用戶登錄時,用戶能夠通過指紋識別認證。
用戶ID和指紋特征注冊之后,即在遠程服務器保留了相關的特征信息。用戶才可以進行身份認證,包括用戶ID、密碼以及指紋特征的驗證。首先,用戶進行ID和密碼認證時,系統(tǒng)會利用ECC算法,對用戶ID和密碼進行處理,產生校驗信息,經過網絡傳輸?shù)椒掌髦?,服務端使用上次保存的校驗信息與之匹配,若匹配成功,則對本次客戶端發(fā)送的校驗信息與本地保留的信息進行處理,產生校驗信息,返回給客戶端,客戶端在進行驗證,若雙方的驗證均有效,則本次ID和密碼認證成功。然后,用戶進行指紋特征認證,指紋傳感器獲取用戶的指紋信息,客戶端系統(tǒng)對指紋信息進行處理和特征提取,傳輸?shù)椒斩诉M行匹配,服務端獲取傳送過來的指紋特征,并從數(shù)據庫讀取指紋信息與之匹配,若匹配成功,則返回信息給客戶端,否則終止通信。
本系統(tǒng)另外一大部分是網絡安全傳輸,這個部分是本系統(tǒng)關鍵部分,它保證整個系統(tǒng)在客戶端與服務端之間數(shù)據傳遞的安全性和保密性。本文采用AES算法對網絡數(shù)據進行加密,本文采用AES-128(密鑰長度為比特),它把輸入明文分組映射為4行、4列的狀態(tài)矩陣,以此狀態(tài)矩陣上進行若干次迭代,實現(xiàn)了對明文數(shù)據的混亂和擴散,從而達到數(shù)據加密的目的,每次迭代變換稱為一輪,共需進行輪。同時,AES算法的解密過程就是把各輪函數(shù)的變換轉換為對應的逆變換,并用相反的順序把密文映射得到狀態(tài)矩陣進行變換即可。圖6則是整個系統(tǒng)的架構圖。
2.2 實現(xiàn)方案
本系統(tǒng)所面向的操作用戶主要包括相關應用系統(tǒng)的終端用戶和系統(tǒng)管理員,對于終端用戶,需要提供用戶登錄的界面以及提示用戶按壓指紋傳感器的對話框;對于系統(tǒng)管理員,則需要提供配置服務器IP地址和端口號的對話框。本系統(tǒng)所依賴的指紋傳感器通過UBS接口與本系統(tǒng)的運行平臺相連。本系統(tǒng)的網絡通訊協(xié)議采用TCPI/P協(xié)議Socket套接字,不直接與任何網絡通訊硬件設備進行交互。
2.2.1 軟件需求
編程語言:Java程序設計語言
操作系統(tǒng):Windows2007/Windows2008、Windows 2007 Server
數(shù)據庫:Mysql數(shù)據庫
開發(fā)環(huán)境:MyEclipse Enterprise Workbench 8.5
2.2.2 硬件需求
指紋識別器、通用PC機、通用服務器。
3 結束語
本文設計實現(xiàn)的視頻會議身份認證機制,結合基于靜態(tài)密碼的身份認證和基于生物特征的身份認證,利用兩者的優(yōu)點,雙重保證視頻會議系統(tǒng)的用戶的合法性?;陟o態(tài)密碼的身份認證,使用和部署均非常簡單,指紋特征識別具有獨到的安全性,而且也具有很高的實用性、可行性。隨著固體傳感器技術的發(fā)展,指紋傳感器的價格正逐漸下降,在許多應用中,基于指紋的生物認證系統(tǒng)的成本是可以承受的。同時采用ECC和AES雙重數(shù)據加解密機制,較好地保證數(shù)據傳輸?shù)陌踩屯暾?/p>
參考文獻:
[1] 張小斌,嚴望佳.黑客分析與防范技術[M].北京:清華大學出版社,1999.
[2] Metiko Kaeo.網絡安全性設計[M].北京:人民郵電出版社,2000.
[3] 黃允聰,嚴望佳.網絡安全基礎[M].北京:清華大學出版社,1999.
[4] 宋震.密碼學[M].北京:中國水利出版社,2002.
[5] 張煥國,劉玉珍.密碼學引論[M].武漢:武漢大學出版社,2003.
[6] 郎榮玲,夏熠.高級加密標準(AES)算法的研究[J].小型微型計算機系統(tǒng),2003,5(24):905-908.
[7] 何明星,范平志.新一代私鑰加密標準AES進展與評述[J].計算機應用研究,2001,18(10):4-6.
[8] 黃智穎,馮新喜.高級加密AES標準及其實現(xiàn)技巧[J].計算機工程與應用,2002,38(9):112-115.
[9] 秦志光.密碼算法的現(xiàn)狀和發(fā)展研究[J].計算機應用,2004,24(2):1-4.
[10] Anti Jain,Lin Hong,Sharath Pankanti.Biometic Identification[J].Communication of the ACM, 2000:43(2):90-98.
[11] 肖牧安.橢圓曲線密碼體系研究[M].武漢:華中科技大學出版社,2006.
[12] 楊志.淺析橢圓曲線加密體制[J].中國學校教育研究,2007(3):31-32.