鞏建平,胥亞娟,鞏炳辰
(1.太原理工大學(xué)信息工程學(xué)院,山西 太原 030024;2.浙江大學(xué)竺可幀學(xué)院,浙江 杭州 310027)
利用智能手機(jī)控制主機(jī)安全登錄系統(tǒng)的研究
鞏建平1,胥亞娟1,鞏炳辰2
(1.太原理工大學(xué)信息工程學(xué)院,山西 太原 030024;2.浙江大學(xué)竺可幀學(xué)院,浙江 杭州 310027)
利用智能手機(jī)控制主機(jī)安全登錄是一項(xiàng)智能終端與密碼機(jī)制相結(jié)合的新一代登錄技術(shù)。首先簡(jiǎn)要介紹了Winlogon和GINA相互關(guān)系及Windows系統(tǒng)交互式登錄的基本原理,然后提出了Windows平臺(tái)下利用智能手機(jī)(基于Android平臺(tái))控制主機(jī)安全登錄系統(tǒng)的研究并闡述了該系統(tǒng)所使用到的關(guān)鍵技術(shù)及其優(yōu)勢(shì)。利用智能手機(jī)應(yīng)用界面的強(qiáng)大功能及藍(lán)牙通信基礎(chǔ),實(shí)現(xiàn)了結(jié)合手機(jī)和PIN的雙因子認(rèn)證機(jī)制,極大地提高了系統(tǒng)登錄的安全性,同時(shí)也避免了額外的投資和攜帶的不便。
雙因子認(rèn)證;Winlogon;GINA;藍(lán)牙通信;智能手機(jī)
主機(jī)系統(tǒng)的安全登錄一直是人們議論的焦點(diǎn),傳統(tǒng)Windows系統(tǒng)使用的是“用戶名+口令”的認(rèn)證機(jī)制,但因其存在著安全性問題,人們渴望一種新的認(rèn)證機(jī)制?;趫D形識(shí)別身份認(rèn)證GINA(Graphical Identification aNd Authentication)是Windows 2000/XP 操作系統(tǒng)中Winlogon進(jìn)程加載的登錄認(rèn)證模塊及可替換的動(dòng)態(tài)鏈接庫,本文提出了利用智能手機(jī)(該系統(tǒng)采用基于Android平臺(tái)手機(jī))承載認(rèn)證因子的認(rèn)證系統(tǒng)來實(shí)現(xiàn)自己的交互登錄方式去改寫GINA模塊。這種身份認(rèn)證和訪問控制機(jī)制,一方面極大地提高了主機(jī)登錄的安全性;另一方面減少了額外的投資,攜帶也極為方便。
Winlogon是主機(jī)登錄操作系統(tǒng)提供的交互式登錄模型,負(fù)責(zé)管理與登錄相關(guān)的安全工作,其實(shí)現(xiàn)的主要函數(shù)有:WlxSasNotify、WlxGetOption、WlxMessageBox、WlxSetOption、WlxDialogBoxParam、WlxDialogBox、WlxSetTimeout、WlxChangePasswordNotifyEx。GINA執(zhí)行所有與用戶身份識(shí)別和認(rèn)證策略相關(guān)的操作,是Winlogon 必須加載并長期運(yùn)行的一個(gè)動(dòng)態(tài)鏈接庫DLL(Dynamic Link Library)。自定義的GINA除了可以調(diào)用Winlogon一些函數(shù)外,還實(shí)現(xiàn)了如下一些函數(shù):WlxNegotiate、WlxSasNotice、WlxLoggedOnSAS、WlxWkstaLockedSAS等。
Windows系統(tǒng)啟動(dòng)過程共有五個(gè)階段,如圖1所示。
Figure 1 Windows boot process圖1 Windows啟動(dòng)過程
3.1 智能手機(jī)作為認(rèn)證設(shè)備的原理
利用智能手機(jī)承載主機(jī)登錄認(rèn)證因子,將其作為認(rèn)證設(shè)備是本文的核心。在設(shè)計(jì)的過程中,基于智能手機(jī)可以直接裝載定制軟件且用戶界面使用極為靈活的特點(diǎn),只需在手機(jī)端安裝一個(gè)認(rèn)證軟件。該軟件用來存儲(chǔ)主機(jī)的登錄認(rèn)證因子(即用戶名和密碼),內(nèi)部采用特定命令格式,同時(shí)又能夠進(jìn)行加解密運(yùn)算,可以有效防止信息泄漏,具有較高的安全性。使用的過程中,用戶必須將手機(jī)與PC互聯(lián),在手機(jī)端輸入正確的PIN碼并調(diào)用手機(jī)認(rèn)證模塊中的用戶名和密碼進(jìn)行登錄驗(yàn)證才能進(jìn)入主機(jī)的登錄系統(tǒng),實(shí)現(xiàn)了手機(jī)+PIN的“雙因子”認(rèn)證?;谥悄苁謾C(jī)的主機(jī)安全登錄系統(tǒng)模塊設(shè)計(jì)如圖2所示。
Figure 2 Composition of system login module圖2 系統(tǒng)登錄模塊組成
手機(jī)端認(rèn)證模塊保存用戶名與密碼即主機(jī)登錄密鑰,完成與PC端認(rèn)證模塊的信息交互。PC端認(rèn)證模塊負(fù)責(zé)獲取手機(jī)端密鑰和檢測(cè)PC與手機(jī)的連接狀態(tài),并通知開機(jī)登錄模塊是否允許用戶開機(jī)登錄等功能。另外,PC端軟件保存認(rèn)證電腦登錄密鑰,可在獲取手機(jī)端密鑰后與之比較驗(yàn)證,從而實(shí)現(xiàn)系統(tǒng)的身份認(rèn)證過程。
3.2 基于智能手機(jī)的主機(jī)登錄控制的實(shí)現(xiàn)方案
首先,主機(jī)開機(jī)時(shí)Windows系統(tǒng)會(huì)做出相應(yīng)的響應(yīng),啟用內(nèi)部的函數(shù),如完成初始化內(nèi)核、啟動(dòng)Winlogon進(jìn)程進(jìn)行登錄、加載GINA等,并顯示用戶登錄歡迎界面,此時(shí)系統(tǒng)進(jìn)入了沒有用戶登錄狀態(tài)。與此同時(shí),主機(jī)系統(tǒng)還會(huì)監(jiān)測(cè)是否有自定義的安全提示序列SAS(Secure Attention Sequence)出現(xiàn)。
然后,手機(jī)端通過用戶操作界面及藍(lán)牙通信向PC端發(fā)出遠(yuǎn)程登錄請(qǐng)求,雙方進(jìn)行配對(duì)連接后,GINA將其視為一個(gè)手機(jī)登錄SAS事件給Winlogon,Winlogon通知手機(jī)登錄事件監(jiān)視與管理例程,要求在手機(jī)界面彈出輸入PIN碼對(duì)話框來捕獲用戶輸入的PIN 碼。當(dāng)手機(jī)端在輸入PIN碼之后,將其傳送到PC端,PC端將接收的PIN碼與存儲(chǔ)在PC端中的認(rèn)證PIN碼進(jìn)行比較,并將結(jié)果返回給Winlogon。
接著,GINA調(diào)用身份驗(yàn)證處理例程發(fā)送從手機(jī)中取出用戶名和口令操作的請(qǐng)求,手機(jī)終端管理程序?qū)⒃撜?qǐng)求傳遞給手機(jī)API接口。雙方再次進(jìn)行藍(lán)牙通信,手機(jī)從內(nèi)部讀取用戶名和密碼返回給GINA,然后進(jìn)行本地安全驗(yàn)證LSA(Local Security Authority),驗(yàn)證通過則登錄成功。同時(shí),PC端的GINA不斷地循環(huán)監(jiān)測(cè)SAS的狀態(tài),如圖3所示。
Figure 3 Design flow chart圖3 設(shè)計(jì)流程圖
3.3 開機(jī)登錄認(rèn)證因子的獲取
采用本系統(tǒng)進(jìn)行登錄管理就是把用戶名和密碼存儲(chǔ)在所編寫的手機(jī)認(rèn)證模塊中,用戶必須將手機(jī)端與PC端互聯(lián)并輸入正確的PIN碼,調(diào)用手機(jī)端的用戶名和密碼進(jìn)行登錄驗(yàn)證才能進(jìn)入系統(tǒng),即實(shí)現(xiàn)“雙因子”認(rèn)證。如圖4所示為PC端獲取手機(jī)端登錄認(rèn)證因子的過程。在手機(jī)端認(rèn)證因子是以密文的形式存儲(chǔ)的,當(dāng)手機(jī)端接收到PC端獲取認(rèn)證因子請(qǐng)求時(shí),用戶輸入口令保護(hù),基于口令保護(hù)算法,密文被還原為明文,通過藍(lán)牙發(fā)送到PC端GINA;之后PC端會(huì)立即調(diào)用本地安全驗(yàn)證LSA(Local Security Authority)函數(shù)來檢驗(yàn)所接收到的認(rèn)證因子與存儲(chǔ)在PC端的認(rèn)證因子是否匹配,從而決定是否開啟登錄模塊。
Figure 4 Process of getting boot login authentication factor圖4 獲取開機(jī)登錄認(rèn)證因子的過程
4.1 安全提示序列SAS的處理
在Windows 下缺省的SAS 為CTRL+ALT+DEL,在本方案中自定義了兩個(gè)SAS 事件:WLX_SAS_KEY_CONNECT和WLX_SAS_KEY_UNCONNECT。當(dāng)系統(tǒng)識(shí)別到已連接的消息時(shí),自定義的GINA調(diào)用WlxSasNotice函數(shù)向Winlogon發(fā)送WLX_SAS_KEY_CONNECT消息;當(dāng)系統(tǒng)識(shí)別到已中斷連接消息時(shí),自定義的GINA調(diào)用WlxSasNotice函數(shù)向Winlogon發(fā)送WLX_SAS_KEY_UNCONNECT消息,最后Winlogon 會(huì)調(diào)用相應(yīng)的SAS 函數(shù)進(jìn)行處理。
4.2 藍(lán)牙通信
本系統(tǒng)實(shí)現(xiàn)的前提是手機(jī)端與PC端要有藍(lán)牙通信的支持,以便于它們之間認(rèn)證信息的交互,雙方是基于配對(duì)口令連接的。藍(lán)牙技術(shù)是一種近距離無線通信的手段,其正常的工作范圍是10 m半徑之內(nèi),使用2.4 GHz ISM頻段。因此,該系統(tǒng)能解決當(dāng)用戶臨時(shí)有事走開需考慮立即關(guān)機(jī)等操作以保證信息安全的煩惱,只要手機(jī)和電腦的距離超出藍(lán)牙所能識(shí)別的范圍,系統(tǒng)就會(huì)自動(dòng)鎖屏并把用戶的工作環(huán)境保存下來,期間任何人都不能進(jìn)入用戶工作環(huán)境,直至用戶再次利用手機(jī)登錄,系統(tǒng)才會(huì)自動(dòng)解鎖,恢復(fù)到用戶離開時(shí)的工作環(huán)境。
實(shí)現(xiàn)智能(Android)手機(jī)和PC之間的藍(lán)牙通信,因Android智能手機(jī)對(duì)大部分外置GPS都不提供支持,因此必須采用藍(lán)牙socket并利用Android的藍(lán)牙“廣播通信”。而PC上藍(lán)牙模塊是在C++下開發(fā)的,通過搜索獲取手機(jī)的藍(lán)牙MAC地址,實(shí)現(xiàn)配對(duì)。在編碼的過程中處理好手機(jī)端藍(lán)牙適配器和PC端API接口,最終實(shí)現(xiàn)手機(jī)端和PC端數(shù)據(jù)的發(fā)送和接收。
4.3 系統(tǒng)封屏與解除鎖定
為了保證系統(tǒng)的安全性,要求在Windows正常使用過程中,若用戶臨時(shí)有事需要離開時(shí)無需進(jìn)行關(guān)機(jī)操作,只需隨身攜帶自己的手機(jī)離開,系統(tǒng)就會(huì)自動(dòng)鎖定屏幕,直到用戶再次利用手機(jī)進(jìn)行主機(jī)登錄才能對(duì)屏幕解除鎖定。GINA模塊在WlxLoggedOnSAS函數(shù)中就能較好地解決這一問題。
當(dāng)系統(tǒng)處于已登錄狀態(tài)時(shí),如果用戶攜帶手機(jī)離開并超出藍(lán)牙系統(tǒng)所能識(shí)別的范圍,GINA就會(huì)向Winlogon發(fā)送WLX_SAS_KEY_UNCONNECT消息,Winlogon調(diào)用WlxLoggedOnSAS 函數(shù),通過返回參數(shù)WLX_SAS_ACTION_LOCK_WKSTA實(shí)現(xiàn)對(duì)Windows系統(tǒng)屏幕的鎖定;鎖定桌面后,如果用戶再次利用手機(jī)進(jìn)行登錄時(shí),GINA就會(huì)發(fā)送WLX_SAS_KEY_CONNECT消息,則Winlogon調(diào)用WlxWkstaLockedSAS函數(shù),在進(jìn)行必要的驗(yàn)證工作之后返回參數(shù)WLX_SAS_ACTION_UNLOCK_WKSTA 即可解鎖桌面,這樣用戶就可以重新進(jìn)行正常工作。
(1)基于智能手機(jī)(Android系統(tǒng))具備靈活的界面操作及自由裝載所需軟件的特點(diǎn),將其作為認(rèn)證設(shè)備來承載主機(jī)登錄的認(rèn)證因子,可以更好地實(shí)現(xiàn)與用戶的互動(dòng)。
(2)利用了藍(lán)牙無線通信技術(shù)的短距離傳輸,在藍(lán)牙可以識(shí)別到的有限范圍內(nèi),實(shí)現(xiàn)手機(jī)對(duì)主機(jī)登錄系統(tǒng)的控制,做到有手機(jī)在,主機(jī)可以登錄,手機(jī)不在,主機(jī)無法進(jìn)行開機(jī)登錄或是鎖屏。
(3)采用軟硬件結(jié)合的身份認(rèn)證技術(shù)即雙因子認(rèn)證,在認(rèn)證的過程中必有承載認(rèn)證因子的Android手機(jī)及正確的PIN同時(shí)參與,缺少一方用戶都無法登錄系統(tǒng),這樣極大地提高了系統(tǒng)的安全性,也克服了傳統(tǒng)登錄機(jī)制口令難以記憶和容易被猜測(cè)等缺陷。
(4)將主機(jī)登錄認(rèn)證因子存儲(chǔ)在手機(jī)中并進(jìn)行加密,最大限度地保證計(jì)算機(jī)系統(tǒng)的安全。
(5)計(jì)算機(jī)開機(jī)身份驗(yàn)證與計(jì)算機(jī)鎖定解鎖驗(yàn)證構(gòu)成一個(gè)整體,從計(jì)算機(jī)開機(jī)到使用提供一個(gè)完整的安全解決方案。
(6)利用Android手機(jī)控制主機(jī)登錄系統(tǒng)使用極為方便,減少了類似于基于usbkey登錄機(jī)制所涉及的額外投資及攜帶不便的問題。
利用智能手機(jī)控制主機(jī)安全登錄系統(tǒng)巧妙地將智能終端和密碼學(xué)知識(shí)結(jié)合在一起,手機(jī)端不僅利用藍(lán)牙技術(shù)傳遞配對(duì)口令從而完成和PC端連接,而且采用口令保護(hù)算法將PC端開機(jī)認(rèn)證因子存儲(chǔ)在手機(jī)端,這是本文一大亮點(diǎn)。系統(tǒng)實(shí)現(xiàn)了雙因子認(rèn)證,即手機(jī)端的PIN碼及認(rèn)證因子,極大提高了主機(jī)登錄系統(tǒng)的安全性,進(jìn)一步滿足人們對(duì)私人電腦及重要文件安全保護(hù)的要求。而PC端利用自身的Windows操作系統(tǒng)啟動(dòng)特性,調(diào)用開機(jī)登錄的相關(guān)函數(shù)完成對(duì)手機(jī)端認(rèn)證因子的獲取及將其與自身存儲(chǔ)的認(rèn)證因子進(jìn)行驗(yàn)證,從而實(shí)現(xiàn)開機(jī)登錄。此外,該系統(tǒng)還為用戶節(jié)約了額外的投資成本,同時(shí)也克服了使用口令控制主機(jī)登錄所帶來的安全性問題。
但是,該系統(tǒng)仍有不足之處,比如認(rèn)證因子在手機(jī)端與PC端傳輸?shù)倪^程中是在非可信鏈路(藍(lán)牙通信)上完成的,所以很有可能被第三方截獲。因此,設(shè)想是否可以將手機(jī)端存儲(chǔ)的認(rèn)證因子僅作為運(yùn)算登錄因子的一部分參數(shù),這樣即便有人截獲了手機(jī)密鑰也無法進(jìn)行登錄。同時(shí),也希望在今后的發(fā)展中可以突破該系統(tǒng)對(duì)操作系統(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)
附中文參考文獻(xiàn):
[1] 曹天杰,張永平,蘇成.計(jì)算機(jī)系統(tǒng)安全[M].北京:高等教育出版社,2003.
[2] Schneier B.應(yīng)用密碼學(xué)[M].吳世忠,等譯,北京:機(jī)械工業(yè)出版社,2000.
[3] 馬金剛,賀軼斐.淺析Windows 2000的用戶登錄身份驗(yàn)證模型[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2002(12):36-37.
[4] 金輝,施建俊.基于第三方PKI認(rèn)證的windows 2000登錄系統(tǒng)的設(shè)計(jì)[J].計(jì)算機(jī)工程,2004,30(9):192-194.
[5] 蔡準(zhǔn),李大興.通過GINA實(shí)現(xiàn)使用Smart key登錄Windows[J].計(jì)算機(jī)應(yīng)用,2002,22(12):103-104.
[8] 尤晉元,史美林. Windows操作系統(tǒng)原理[M]. 北京:機(jī)械工業(yè)出版社,2002.
GONG Jian-ping,born in 1965,MS,associate professor,his research interests include computer network, and information security.
胥亞娟(1987-),女,遼寧沈陽人,碩士,研究方向?yàn)橛?jì)算機(jī)網(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-),男,山西太原人,研究方向?yàn)橛?jì)算機(jī)科學(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-),男,山西和順人,碩士,副教授,研究方向?yàn)橛?jì)算機(jī)網(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