鞏建平,胥亞娟,鞏炳辰
(1.太原理工大學(xué)信息工程學(xué)院,山西 太原 030024;2.浙江大學(xué)竺可幀學(xué)院,浙江 杭州 310027)
利用智能手機控制主機安全登錄系統(tǒng)的研究
鞏建平1,胥亞娟1,鞏炳辰2
(1.太原理工大學(xué)信息工程學(xué)院,山西 太原 030024;2.浙江大學(xué)竺可幀學(xué)院,浙江 杭州 310027)
利用智能手機控制主機安全登錄是一項智能終端與密碼機制相結(jié)合的新一代登錄技術(shù)。首先簡要介紹了Winlogon和GINA相互關(guān)系及Windows系統(tǒng)交互式登錄的基本原理,然后提出了Windows平臺下利用智能手機(基于Android平臺)控制主機安全登錄系統(tǒng)的研究并闡述了該系統(tǒng)所使用到的關(guān)鍵技術(shù)及其優(yōu)勢。利用智能手機應(yīng)用界面的強大功能及藍牙通信基礎(chǔ),實現(xiàn)了結(jié)合手機和PIN的雙因子認證機制,極大地提高了系統(tǒng)登錄的安全性,同時也避免了額外的投資和攜帶的不便。
雙因子認證;Winlogon;GINA;藍牙通信;智能手機
主機系統(tǒng)的安全登錄一直是人們議論的焦點,傳統(tǒng)Windows系統(tǒng)使用的是“用戶名+口令”的認證機制,但因其存在著安全性問題,人們渴望一種新的認證機制。基于圖形識別身份認證GINA(Graphical Identification aNd Authentication)是Windows 2000/XP 操作系統(tǒng)中Winlogon進程加載的登錄認證模塊及可替換的動態(tài)鏈接庫,本文提出了利用智能手機(該系統(tǒng)采用基于Android平臺手機)承載認證因子的認證系統(tǒng)來實現(xiàn)自己的交互登錄方式去改寫GINA模塊。這種身份認證和訪問控制機制,一方面極大地提高了主機登錄的安全性;另一方面減少了額外的投資,攜帶也極為方便。
Winlogon是主機登錄操作系統(tǒng)提供的交互式登錄模型,負責(zé)管理與登錄相關(guān)的安全工作,其實現(xiàn)的主要函數(shù)有:WlxSasNotify、WlxGetOption、WlxMessageBox、WlxSetOption、WlxDialogBoxParam、WlxDialogBox、WlxSetTimeout、WlxChangePasswordNotifyEx。GINA執(zhí)行所有與用戶身份識別和認證策略相關(guān)的操作,是Winlogon 必須加載并長期運行的一個動態(tài)鏈接庫DLL(Dynamic Link Library)。自定義的GINA除了可以調(diào)用Winlogon一些函數(shù)外,還實現(xiàn)了如下一些函數(shù):WlxNegotiate、WlxSasNotice、WlxLoggedOnSAS、WlxWkstaLockedSAS等。
Windows系統(tǒng)啟動過程共有五個階段,如圖1所示。
Figure 1 Windows boot process圖1 Windows啟動過程
3.1 智能手機作為認證設(shè)備的原理
利用智能手機承載主機登錄認證因子,將其作為認證設(shè)備是本文的核心。在設(shè)計的過程中,基于智能手機可以直接裝載定制軟件且用戶界面使用極為靈活的特點,只需在手機端安裝一個認證軟件。該軟件用來存儲主機的登錄認證因子(即用戶名和密碼),內(nèi)部采用特定命令格式,同時又能夠進行加解密運算,可以有效防止信息泄漏,具有較高的安全性。使用的過程中,用戶必須將手機與PC互聯(lián),在手機端輸入正確的PIN碼并調(diào)用手機認證模塊中的用戶名和密碼進行登錄驗證才能進入主機的登錄系統(tǒng),實現(xiàn)了手機+PIN的“雙因子”認證?;谥悄苁謾C的主機安全登錄系統(tǒng)模塊設(shè)計如圖2所示。
Figure 2 Composition of system login module圖2 系統(tǒng)登錄模塊組成
手機端認證模塊保存用戶名與密碼即主機登錄密鑰,完成與PC端認證模塊的信息交互。PC端認證模塊負責(zé)獲取手機端密鑰和檢測PC與手機的連接狀態(tài),并通知開機登錄模塊是否允許用戶開機登錄等功能。另外,PC端軟件保存認證電腦登錄密鑰,可在獲取手機端密鑰后與之比較驗證,從而實現(xiàn)系統(tǒng)的身份認證過程。
3.2 基于智能手機的主機登錄控制的實現(xiàn)方案
首先,主機開機時Windows系統(tǒng)會做出相應(yīng)的響應(yīng),啟用內(nèi)部的函數(shù),如完成初始化內(nèi)核、啟動Winlogon進程進行登錄、加載GINA等,并顯示用戶登錄歡迎界面,此時系統(tǒng)進入了沒有用戶登錄狀態(tài)。與此同時,主機系統(tǒng)還會監(jiān)測是否有自定義的安全提示序列SAS(Secure Attention Sequence)出現(xiàn)。
然后,手機端通過用戶操作界面及藍牙通信向PC端發(fā)出遠程登錄請求,雙方進行配對連接后,GINA將其視為一個手機登錄SAS事件給Winlogon,Winlogon通知手機登錄事件監(jiān)視與管理例程,要求在手機界面彈出輸入PIN碼對話框來捕獲用戶輸入的PIN 碼。當(dāng)手機端在輸入PIN碼之后,將其傳送到PC端,PC端將接收的PIN碼與存儲在PC端中的認證PIN碼進行比較,并將結(jié)果返回給Winlogon。
接著,GINA調(diào)用身份驗證處理例程發(fā)送從手機中取出用戶名和口令操作的請求,手機終端管理程序?qū)⒃撜埱髠鬟f給手機API接口。雙方再次進行藍牙通信,手機從內(nèi)部讀取用戶名和密碼返回給GINA,然后進行本地安全驗證LSA(Local Security Authority),驗證通過則登錄成功。同時,PC端的GINA不斷地循環(huán)監(jiān)測SAS的狀態(tài),如圖3所示。
Figure 3 Design flow chart圖3 設(shè)計流程圖
3.3 開機登錄認證因子的獲取
采用本系統(tǒng)進行登錄管理就是把用戶名和密碼存儲在所編寫的手機認證模塊中,用戶必須將手機端與PC端互聯(lián)并輸入正確的PIN碼,調(diào)用手機端的用戶名和密碼進行登錄驗證才能進入系統(tǒng),即實現(xiàn)“雙因子”認證。如圖4所示為PC端獲取手機端登錄認證因子的過程。在手機端認證因子是以密文的形式存儲的,當(dāng)手機端接收到PC端獲取認證因子請求時,用戶輸入口令保護,基于口令保護算法,密文被還原為明文,通過藍牙發(fā)送到PC端GINA;之后PC端會立即調(diào)用本地安全驗證LSA(Local Security Authority)函數(shù)來檢驗所接收到的認證因子與存儲在PC端的認證因子是否匹配,從而決定是否開啟登錄模塊。
Figure 4 Process of getting boot login authentication factor圖4 獲取開機登錄認證因子的過程
4.1 安全提示序列SAS的處理
在Windows 下缺省的SAS 為CTRL+ALT+DEL,在本方案中自定義了兩個SAS 事件:WLX_SAS_KEY_CONNECT和WLX_SAS_KEY_UNCONNECT。當(dāng)系統(tǒng)識別到已連接的消息時,自定義的GINA調(diào)用WlxSasNotice函數(shù)向Winlogon發(fā)送WLX_SAS_KEY_CONNECT消息;當(dāng)系統(tǒng)識別到已中斷連接消息時,自定義的GINA調(diào)用WlxSasNotice函數(shù)向Winlogon發(fā)送WLX_SAS_KEY_UNCONNECT消息,最后Winlogon 會調(diào)用相應(yīng)的SAS 函數(shù)進行處理。
4.2 藍牙通信
本系統(tǒng)實現(xiàn)的前提是手機端與PC端要有藍牙通信的支持,以便于它們之間認證信息的交互,雙方是基于配對口令連接的。藍牙技術(shù)是一種近距離無線通信的手段,其正常的工作范圍是10 m半徑之內(nèi),使用2.4 GHz ISM頻段。因此,該系統(tǒng)能解決當(dāng)用戶臨時有事走開需考慮立即關(guān)機等操作以保證信息安全的煩惱,只要手機和電腦的距離超出藍牙所能識別的范圍,系統(tǒng)就會自動鎖屏并把用戶的工作環(huán)境保存下來,期間任何人都不能進入用戶工作環(huán)境,直至用戶再次利用手機登錄,系統(tǒng)才會自動解鎖,恢復(fù)到用戶離開時的工作環(huán)境。
實現(xiàn)智能(Android)手機和PC之間的藍牙通信,因Android智能手機對大部分外置GPS都不提供支持,因此必須采用藍牙socket并利用Android的藍牙“廣播通信”。而PC上藍牙模塊是在C++下開發(fā)的,通過搜索獲取手機的藍牙MAC地址,實現(xiàn)配對。在編碼的過程中處理好手機端藍牙適配器和PC端API接口,最終實現(xiàn)手機端和PC端數(shù)據(jù)的發(fā)送和接收。
4.3 系統(tǒng)封屏與解除鎖定
為了保證系統(tǒng)的安全性,要求在Windows正常使用過程中,若用戶臨時有事需要離開時無需進行關(guān)機操作,只需隨身攜帶自己的手機離開,系統(tǒng)就會自動鎖定屏幕,直到用戶再次利用手機進行主機登錄才能對屏幕解除鎖定。GINA模塊在WlxLoggedOnSAS函數(shù)中就能較好地解決這一問題。
當(dāng)系統(tǒng)處于已登錄狀態(tài)時,如果用戶攜帶手機離開并超出藍牙系統(tǒng)所能識別的范圍,GINA就會向Winlogon發(fā)送WLX_SAS_KEY_UNCONNECT消息,Winlogon調(diào)用WlxLoggedOnSAS 函數(shù),通過返回參數(shù)WLX_SAS_ACTION_LOCK_WKSTA實現(xiàn)對Windows系統(tǒng)屏幕的鎖定;鎖定桌面后,如果用戶再次利用手機進行登錄時,GINA就會發(fā)送WLX_SAS_KEY_CONNECT消息,則Winlogon調(diào)用WlxWkstaLockedSAS函數(shù),在進行必要的驗證工作之后返回參數(shù)WLX_SAS_ACTION_UNLOCK_WKSTA 即可解鎖桌面,這樣用戶就可以重新進行正常工作。
(1)基于智能手機(Android系統(tǒng))具備靈活的界面操作及自由裝載所需軟件的特點,將其作為認證設(shè)備來承載主機登錄的認證因子,可以更好地實現(xiàn)與用戶的互動。
(2)利用了藍牙無線通信技術(shù)的短距離傳輸,在藍牙可以識別到的有限范圍內(nèi),實現(xiàn)手機對主機登錄系統(tǒng)的控制,做到有手機在,主機可以登錄,手機不在,主機無法進行開機登錄或是鎖屏。
(3)采用軟硬件結(jié)合的身份認證技術(shù)即雙因子認證,在認證的過程中必有承載認證因子的Android手機及正確的PIN同時參與,缺少一方用戶都無法登錄系統(tǒng),這樣極大地提高了系統(tǒng)的安全性,也克服了傳統(tǒng)登錄機制口令難以記憶和容易被猜測等缺陷。
(4)將主機登錄認證因子存儲在手機中并進行加密,最大限度地保證計算機系統(tǒng)的安全。
(5)計算機開機身份驗證與計算機鎖定解鎖驗證構(gòu)成一個整體,從計算機開機到使用提供一個完整的安全解決方案。
(6)利用Android手機控制主機登錄系統(tǒng)使用極為方便,減少了類似于基于usbkey登錄機制所涉及的額外投資及攜帶不便的問題。
利用智能手機控制主機安全登錄系統(tǒng)巧妙地將智能終端和密碼學(xué)知識結(jié)合在一起,手機端不僅利用藍牙技術(shù)傳遞配對口令從而完成和PC端連接,而且采用口令保護算法將PC端開機認證因子存儲在手機端,這是本文一大亮點。系統(tǒng)實現(xiàn)了雙因子認證,即手機端的PIN碼及認證因子,極大提高了主機登錄系統(tǒng)的安全性,進一步滿足人們對私人電腦及重要文件安全保護的要求。而PC端利用自身的Windows操作系統(tǒng)啟動特性,調(diào)用開機登錄的相關(guān)函數(shù)完成對手機端認證因子的獲取及將其與自身存儲的認證因子進行驗證,從而實現(xiàn)開機登錄。此外,該系統(tǒng)還為用戶節(jié)約了額外的投資成本,同時也克服了使用口令控制主機登錄所帶來的安全性問題。
但是,該系統(tǒng)仍有不足之處,比如認證因子在手機端與PC端傳輸?shù)倪^程中是在非可信鏈路(藍牙通信)上完成的,所以很有可能被第三方截獲。因此,設(shè)想是否可以將手機端存儲的認證因子僅作為運算登錄因子的一部分參數(shù),這樣即便有人截獲了手機密鑰也無法進行登錄。同時,也希望在今后的發(fā)展中可以突破該系統(tǒng)對操作系統(tǒng)的限制。
[1] Cao Tian-jie, Zhang Yong-ping,Su Cheng. Computer system security[M].Beijing:Higher Education Press, 2003.(in Chinese)
[2] Schneier B.Applications of cryptography[M].Wu Shi-zhong, translation. Beijing:Machinery Industry Press, 2000. (in Chinese)
[3] Ma Jin-gang, He Yi-fei. Analysis of Windows2000 user login authentication model [J]. Computer Systems & Applications, 2002(12):36-37.(in Chinese)
[4] Jin Hui, Shi Jian-jun, Design of Windows2000 log-on system based on third-party PKI authentication [J]. Computer Engineering, 2004, 30(9):192-194.(in Chinese)
[5] Cai Zhun, Li Da-xing. Realizing smart key by GINA to logon Windows [J]. Computer Applications,2002, 22(12):103-104.(in Chinese)
[6] De Clercq J,Balladelli M.Windows 2000 Authentication[M].NJ:Digital Press,2001.
[7] Hutz B,Fink J.The essentials of replacing the Microsoft graphical identification and authentication dynamic link library[M].WA:Microsoft Corporation, 2001.
[8] You Jin-yuan, Shi Mei-lin. The principle of Windows operating system[M]. Beijing:Machinery Industry Press,2002.(in Chinese)
附中文參考文獻:
[1] 曹天杰,張永平,蘇成.計算機系統(tǒng)安全[M].北京:高等教育出版社,2003.
[2] Schneier B.應(yīng)用密碼學(xué)[M].吳世忠,等譯,北京:機械工業(yè)出版社,2000.
[3] 馬金剛,賀軼斐.淺析Windows 2000的用戶登錄身份驗證模型[J].計算機系統(tǒng)應(yīng)用,2002(12):36-37.
[4] 金輝,施建俊.基于第三方PKI認證的windows 2000登錄系統(tǒng)的設(shè)計[J].計算機工程,2004,30(9):192-194.
[5] 蔡準(zhǔn),李大興.通過GINA實現(xiàn)使用Smart key登錄Windows[J].計算機應(yīng)用,2002,22(12):103-104.
[8] 尤晉元,史美林. Windows操作系統(tǒng)原理[M]. 北京:機械工業(yè)出版社,2002.
GONG Jian-ping,born in 1965,MS,associate professor,his research interests include computer network, and information security.
胥亞娟(1987-),女,遼寧沈陽人,碩士,研究方向為計算機網(wǎng)絡(luò)與信息安全。E-mail:yajuan216@126.com
XU Ya-juan,born in 1987,MS,her research interests include computer network, and information security.
鞏炳辰(1994-),男,山西太原人,研究方向為計算機科學(xué)。E-mail:gbcgbc216@126.com
GONG Bing-chen,born in 1994,his research interest includes computer science.
Research of controlling host security login system using smart phones
GONG Jian-ping1,XU Ya-juan1,GONG Bing-chen2
(1.School of Information Engineering,Taiyuan University of Technology,Taiyuan 030024;2.School of Zhu Kezhen,Zhejiang University,Hangzhou 310027,China)
Controlling host security login system using smart phones is a new generation sign-on technology that combines intelligent terminal and password mechanism. Firstly, the relationship between Winlogon and GINA and the basic Windows system interactive logon principle are introduced. Secondly, the paper propose a system that a smart phone(based on Android platform)is used as an authentication factor carrier to control the host logon system under the windows platform. And the system's critical technique and advantages are described. The system uses the powerful functions of the application interface and the bluetooth communication of smart phones to realize the two-factor authentication mechanism with both the phone and PIN, largely improving the safety of the system as well as avoiding extra investment and inconvenience of carrying the phone.
two-factor authentication;Winlogon;GINA;Bluetooth communication;smart phones
2012-09-24;
2012-12-30
1007-130X(2014)03-0487-04
TP309.1
A
10.3969/j.issn.1007-130X.2014.03.019
鞏建平(1965-),男,山西和順人,碩士,副教授,研究方向為計算機網(wǎng)絡(luò)與信息安全。E-mail:gjpgjp216@126.com
通信地址:030024 山西省太原市太原理工大學(xué)信息工程學(xué)院
Address:School of Information Engineering,Taiyuan University of Technology,Taiyuan 030024,Shanxi,P.R.China