基于數(shù)字證書的UKEY安全登錄與身份認證技術研究_第1頁
基于數(shù)字證書的UKEY安全登錄與身份認證技術研究_第2頁
基于數(shù)字證書的UKEY安全登錄與身份認證技術研究_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

基于數(shù)字證書的UKEY平安登錄與身份認證技術探討摘要本文在探討身份認證技術、uKey技術及Windows系統(tǒng)登錄原理基礎上,提出了基于數(shù)字證書的uKey身份認證與平安登錄方案,設計了自定義登錄模塊,從而實現(xiàn)了運用uKey進行主機平安登錄的功能。關鍵詞uKey;平安登錄;身份認證1引言用戶在訪問平安系統(tǒng)之前,首先經(jīng)過身份認證系統(tǒng)識別身份,然后訪問監(jiān)控模塊,系統(tǒng)依據(jù)用戶身份和授權狀況確定用戶是否能夠訪問某個資源。因此系統(tǒng)平安登錄與身份認證是平安系統(tǒng)中的第一道關卡,也是實施訪問限制的基礎,在系統(tǒng)平安領域具有特別重要的作用。本文提出了基于數(shù)字證書的uKey平安登錄與身份認證方案,采納將第三方開發(fā)的uKey與用戶身份信息相結合的認證方式,保證每個用戶在登錄時具有證明其身份的唯一標記,從而使系統(tǒng)通過這個惟一標記驗證用戶身份合法性。2身份認證技術身份認證是網(wǎng)絡平安技術的一個重要方面。用戶在訪問平安系統(tǒng)之前,首先經(jīng)過身份認證系統(tǒng)識別身份,然后訪問監(jiān)控模塊,系統(tǒng)依據(jù)用戶身份和授權狀況確定用戶是否能夠訪問某個資源,常用的口令認證方式有以下幾種:1)基于口令的認證方式基于口令的認證方式是目前在互聯(lián)網(wǎng)和計算機領域中最簡潔、最簡潔實現(xiàn)的一種身份認證技術,也是目前應用最廣泛的認證方法。例如:操作系統(tǒng)及諸如郵件系統(tǒng)等一些應用系統(tǒng)的登錄和權限管理都基于口令[1],當用戶登錄計算機網(wǎng)絡時,須要輸入口令。計算機系統(tǒng)將其認證機制建立在用戶名和口令的基礎上,假如用戶將用戶名和口令告知其它人,則計算機也將賜予那個人以訪問權限[2]。2)基于智能卡的認證方式智能卡(SmartCard)是法國人RolandMoreno于1970年獨創(chuàng)的[3]。法國BULL公司首創(chuàng)智能卡產(chǎn)品,并將這項技術應用到金融、交通、醫(yī)療、身份認證等多個方面?;谥悄芸ǖ纳矸菡J證屬于通過物理設備進行身份認證的機制,該機制結合電子技術和現(xiàn)代密碼學學問,大大提高了基于物理設備機制的平安性。每個用戶持有一張智能卡,智能卡存儲用戶隱私信息,同時在驗證服務器中也存放該隱私信息。進行認證時,用戶輸入PIN碼(個人身份認證碼),服務器認證PIN碼,勝利后即可讀出智能卡中的隱私信息,進而利用該隱私信息與主機之間進行認證?;谥悄芸ǖ恼J證方式是一種雙因素認證方式(PIN+智能卡),即使PIN碼或智能卡單獨被竊取,合法用戶的身份仍不會被冒充(即不能獲得訪問權)。3)基于生物特征的認證方式生物特征識別是一種依據(jù)人體自身所固有的生理特征和行為特征來識別身份的技術,即通過計算機與光學、聲學、生物傳感器和生物統(tǒng)計學原理等高科技手段的親密結合,利用人體固有生理特征(如手形、指紋、面部特征、虹膜、視網(wǎng)膜等)和行為特征(如筆跡、聲音、步態(tài)等)來進行個人身份鑒定[4]。生物特征認證技術的主要應用有辨識和驗證兩種。辨識(Identification)指的是確定用戶身份,通常是在生物特征模版庫中進行一對多匹配(One-to-ManyMatching)或基于學問判別;驗證(Verification)指的是驗證用戶是否為他所聲明的身份,通常是用單模板進行一對一匹配[5](One-to-One)。4)基于數(shù)字證書的認證方式數(shù)字證書(DigitalCertificate)是標記一個用戶身份的一系列特征數(shù)據(jù),其作用類似于現(xiàn)實生活中的身份證[6]。國際電信聯(lián)盟的X.509建議定義了一種供應認證服務的框架。采納基于X.509證書的認證技術依靠于共同信任的第三方來實現(xiàn)認證,所不同的是其采納非對稱密碼體制,實現(xiàn)上更加簡潔明白。這里的第三方是指稱為CA(CertificateAuthority)的認證機構,該認證機構負責認證用戶身份并向用戶簽發(fā)數(shù)字證書。數(shù)字證書遵循X.509標準所規(guī)定的格式,因此稱為X.509證書。持有此證書的用戶就可以憑此證書訪問那些信任的CA服務器,通過CA服務器實現(xiàn)用戶身份的驗證。3基于數(shù)字證書的uKey平安登錄與身份認證Windows2000操作系統(tǒng)以及微軟后續(xù)的操作系統(tǒng),如WindowsXP都內(nèi)置了對智能卡用戶認證的支持,計算機用戶可以選擇運用傳統(tǒng)的用戶名、口令驗證方式進行域內(nèi)用戶身份驗證,也可運用智能卡來自動完成用戶身份驗證。3.1uKey技術uKey又名智能電子密碼鑰匙,既完全繼承了已有智能卡技術的平安性,又結合了新型USB接口的數(shù)據(jù)傳輸實力。1)uKey簡介uKey是集智能卡與讀卡器于一體的USB設備,支持熱插熱拔和即插即用,體積小、重量輕、便于攜帶[7]。uKey本身作為密鑰存儲器,自身硬件結構確定了用戶只能通過廠商編程接口訪問數(shù)據(jù),這就保證了保存在uKey中的數(shù)字證書無法被復制,并且每一個uKey都帶有PIN碼愛護,這樣uKey的硬件與PIN碼就構成了運用uKey進行身份認證的雙因子。假如用戶uKey丟失,獲得者由于不知道該硬件的PIN碼,就無法冒充合法用戶身份;假如用戶PIN碼泄露,只要保存好uKey硬件就可以保證自己的身份不被冒充。平安性是眾多應用(特殊是網(wǎng)絡應用)的基礎,而實現(xiàn)平安性的手段一般都是通過加密算法來達到,因為加密算法可以更好地實現(xiàn)數(shù)據(jù)保密性、數(shù)據(jù)完整性、身份可鑒別性以及交易不行抵賴性。加密算法平安性主要取決于密鑰的隱私性,而不必對算法保密。智能卡作為一種有效的平安保障設備,是保存密鑰信息的最牢靠手段。傳統(tǒng)智能卡的封裝形式須要額外的讀卡器設備,因為設備體積較大且不便于攜帶,所以運用很不便利,另外讀卡器設備也增加了整體的成本[8]。如表1所示:uKey系列產(chǎn)品在完全繼承智能卡優(yōu)點的同時很好地解決了傳統(tǒng)封裝形式的諸多不足。表1uKey與傳統(tǒng)智能卡的比較比較項目uKey讀卡器+PK卡成本遠低于讀片器+PK卡的成本之和。雖然PK卡成本較低,但讀卡器成本通常很高。移動辦公體積小、重量輕,便利隨身攜帶,特別適用于移動辦公。讀卡器體積大,也比較重,不便隨身攜帶。通訊速率連接電腦主機的USB口,通訊速率為12Mbps,是高速設備。通訊速率一般在9600bps~115200bps之間。多用戶USB設備,共享方式,支持多用戶訪問。USB級聯(lián)設備,通過級聯(lián)方式,一臺電腦可以接多個uKey。對于串口讀寫器,串口資源是獨占的且主機串口數(shù)量有限,假如串口已經(jīng)被其它設備占用,將不能運用讀卡器。USB接口讀寫器可支持多用戶。操作便利性干脆插在電腦主機的USB口或延長線接口上,操作極為簡潔。熱插拔設備,可以隨時插/拔uKey而不必擔憂損壞。對于串口讀寫器,電腦主機串口不支持熱插拔,常常插拔、操作不當時簡潔燒壞主機串口。USB讀寫器操作便利性同uKey。2)uKey特點(1)高平安性。uKey通過了國家平安管理權威部門—國密辦的技術鑒定和認可,支持國密辦認證的分組算法SSF33,也是國內(nèi)唯一能同時支持ECC、RSA密碼算法的同類產(chǎn)品。運用基于硬件RSA算法的uKey比單純軟件實現(xiàn)RSA的應用更加平安牢靠。敏感數(shù)據(jù)都被保存在uKey的平安存儲區(qū)域中,未授權用戶將無法接觸到這些信息。uKey的平安性還在于uKey所運用的加密算法都是被廣泛公開、業(yè)界公認并經(jīng)受了多年考驗的算法。(2)敏捷易用。運用uKey無需任何附加外部設備。用戶只需簡潔地將uKey插入任何帶有USB接口的設備就可以運用uKey,運用完畢后干脆拔下uKey就可以了。(3)造價低廉。uKey比任何傳統(tǒng)基于硬件的平安系統(tǒng)都節(jié)約開支。由于運用uKey無需任何附加設備,因此很適合大范圍發(fā)行。uKey能夠實現(xiàn)智能卡供應的全部功能,但是不須要智能卡讀卡器。(4)攜帶便利。uKey體積小,重量輕,精致時尚,可以隨身攜帶。(5)無縫集成。uKey供應符合業(yè)界廣泛認可的PKCS#11和MicrosoftCryptoAPI兩種標準接口。任何兼容這兩種接口的應用程序,都可以馬上集成uKey進行運用。uKey內(nèi)置大容量智能卡平安芯片,可以同時存儲多個數(shù)字證書和用戶私鑰及其它數(shù)據(jù)。也就是說,多個PKI應用程序可以共用同一個uKey。(6)高牢靠性。uKey運用嚴格工藝制造,可長期平安的保存用戶數(shù)據(jù)。3.2Windows登錄原理Windows2000的登錄方式分為兩種:一種是交互式登錄(InteractiveLogon),另一種是遠程登錄[9](RemoteLogon)。交互式登錄是最典型的登錄方式,并且由大部分訪問域的用戶所運用。當用戶第一次登錄到某臺計算機時將發(fā)生交互式登錄,該過程運用登錄用戶的用戶名和密碼來準確驗證用戶真實身份。Windows操作系統(tǒng)的身份認證機制可以用Windows登錄模塊體系圖來說明。如圖1所示,Winlogon進程是Windows2000及以上版本供應的一個支持交互式操作的組件,用于負責管理與擔當?shù)卿浵嚓P的平安工作,包括處理用戶的登錄與注銷、啟動用戶SHELL、輸入密碼、更改密碼、鎖定與解鎖計算機等。GINA(GraphicalIdentificationandAuthentication)是一個圖形動態(tài)鏈接庫,在Winlogon進程中運行,用于供應可定制的登錄界面并對用戶進行身份驗證。LSA(LocalSecurityAuthority,本地平安認證)是在用戶模式下運行\(zhòng)Winnt\System32\Lsass.exe映像的進程,負責本地系統(tǒng)平安策略。圖1Windows登錄模塊體系結構圖在Windows登錄過程中,假如用戶在Windows系統(tǒng)啟動后按下“Ctrl+Alt+Del”組合鍵,則會引起硬件中斷,該中斷信息被系統(tǒng)捕獲后,操作系統(tǒng)馬上激活Winlogon進程。Winlogon進程通過調(diào)用GINA.DLL將登錄窗口(賬戶名和口令登錄提示符)展示在用戶面前。GINA.DLL在收集好用戶登錄信息后,就調(diào)用LSA的LsaLogonUser吩咐,將用戶登錄信息傳遞給LSA。事實上認證部分的功能是通過LSA來實現(xiàn)的,這三部分相互協(xié)作實現(xiàn)了Windows的登錄認證功能。缺省狀態(tài)下,Windows系統(tǒng)供應微軟公司自己實現(xiàn)的GINA.DLL—msgina.dll供Winlogon進程調(diào)用。用戶登錄前后計算機的狀態(tài)有3個,分別是LOGGED_OFF(未登錄)、LOGGED_ON(已登錄)、LOCKED(鎖定)。3.3msgina.dll的狀態(tài)流程msgina.dll的狀態(tài)流程如圖2所示,圖中部分英文是調(diào)用的函數(shù)名稱。圖2msgina.dll狀態(tài)流程圖(1)系統(tǒng)啟動后,首先調(diào)用WlxNegotiate函數(shù)確認該DLL是否支持當前版本的Winlogon.exe,接著調(diào)用函數(shù)WlxInitialize進行相關函數(shù)初始化。完成初始化工作后,Winlogon進程調(diào)用函數(shù)WlxDisplaySASNotice顯示歡迎用戶登錄界面,該函數(shù)還會檢測是否有自定義的SAS(SecureAttentionSequence,平安提示碼序列)出現(xiàn)。假如出現(xiàn)則通知Winlogon進程有登錄懇求發(fā)出。SAS在Windows2000下缺省為“Ctrl+Alt+Del”,用戶也可以定義自己的SAS。(2)當發(fā)覺有SAS事務發(fā)生時,Winlogon進程調(diào)用WlxLoggedOutSAS函數(shù),并向下調(diào)用WlxDialogBoxParam顯示用戶登錄對話框,然后調(diào)用LSA進行驗證,假如驗證通過,Winlogon進程調(diào)用函數(shù)WlxActivateUserShell啟動用戶外殼程序。(3)當系統(tǒng)處于登錄勝利且沒有鎖定狀態(tài)(LOGGED_ONstate)時,Winlogon進程接收到SAS事務時,就調(diào)用函數(shù)WlxLoggedOnSAS。(4)當系統(tǒng)處于鎖定的狀態(tài)(LOCKEDstate)時,Winlogon進程則調(diào)用函數(shù)WlxDisplayLockedNotice顯示一些信息,如鎖定者、鎖定時間等。當其接收到SAS事務時就調(diào)用函數(shù)WlxWkstaLockedSAS,該函數(shù)的返回值將確定工作站的狀態(tài):仍舊鎖定、解鎖或用戶注銷。(5)當用戶注銷時,Winlogon進程調(diào)用函數(shù)WlxLogoff,通知msgina.dll用戶的注銷操作,msgina.dll做出相應處理。當用戶須要關閉計算機時,Winlogon進程調(diào)用函數(shù)WlxShutdown,允許msgina.dll進行系統(tǒng)關閉前的處理。(6)缺省狀態(tài)下,Winlogon進程在注冊表中查找鍵值HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Winlogon,假如存在GINA.DLL鍵,則Winlogon運用該鍵;假如不存在GINA.DLL鍵,則Winlogon就運用默認值msgina.dll。由于GINA動態(tài)鏈接庫可以替換,因此只要通過一個自定義GINA來替換GINA.DLL,即可實現(xiàn)用其它認證方式代替Windows所默認的登錄方式,例如:eKey、指紋識別等[10]。3.4平安登錄實現(xiàn)原理利用uKey供應的平安機制,將數(shù)字證書存儲在uKey中,以實現(xiàn)用戶登錄及身份認證。由Windows系統(tǒng)登錄原理可知,要實現(xiàn)基于數(shù)字證書的uKey平安登錄及身份驗證,須要完成兩項工作:一是編寫自定義GINA,二是與uKey進行交互。1)自定義GINA—Ginamy.dll的實現(xiàn)在GINA中,由Winlogon進程進行函數(shù)調(diào)用,通過自定義SAS可以實現(xiàn)對uKey設備的登錄支持。GINA中有兩個地方須要驗證用戶身份:一是系統(tǒng)啟動時須要驗證用戶身份;二是系統(tǒng)鎖定后解除鎖定時須要驗證用戶身份,其對應函數(shù)分別是WlxLoggedOutSAS和WlxWkstaLockedSAS。系統(tǒng)在沒有用戶登錄之前,Winlogon進程接收到SAS事務時調(diào)用函數(shù)WlxLoggedOutSAS,因此可在該函數(shù)中對uKey的存在與否進行推斷。當插入uKey時,uKey檢測窗口發(fā)覺后向Winlogon進程發(fā)出登錄SAS事務,調(diào)用LogonUser函數(shù)登錄系統(tǒng)。在返回幾個必要的參數(shù)后,Winlogon進程調(diào)用WlxActivateUserShell函數(shù)激活用戶桌面,這樣用戶就可勝利登錄到Windows系統(tǒng)中進行正常操作。在Windows運用過程中,假如用戶有事須要離開現(xiàn)場而拔下uKey,則應用系統(tǒng)獲得uKey斷開的消息,通過調(diào)用WlxSasNotify函數(shù)發(fā)送一個自定義的SAS事務;隨后Winlogon進程就調(diào)用WlxLoggedOnSAS函數(shù)進行相應的處理,通過發(fā)送返回值:WLX_SAS_ACTION_LOCK_WKSTA實現(xiàn)對Windows系統(tǒng)桌面的鎖定。系統(tǒng)鎖定后,假如用戶重新插入uKey時,則系統(tǒng)通過調(diào)用WlxSasNotify函數(shù)發(fā)出一個自定義解除鎖定的SAS事務;Winlogon進程調(diào)用WlxWkstaLockedSAS函數(shù),在驗證PIN正確后通過發(fā)送返回參數(shù):WLX_SAS_ACTION_UNLOCK_WKSTA即可對Windows系統(tǒng)桌面解鎖,允許用戶重新登錄。2)與uKey進行交互如圖3所示,在辦公局域網(wǎng)中可以采納集中式的管理方案,集中配置一個身份驗證服務器,客戶端全部登錄懇求都將被發(fā)送到驗證服務器進行驗證。圖3身份驗證的集中式管理方案運用uKey進行身份認證與平安登錄主要包括以下步驟:1)初始化uKey當新用戶提出登錄申請時,管理員依據(jù)用戶需求生成數(shù)字證書,同時將數(shù)字證書和對應的密鑰對寫入一個全新的uKey中,然后將此uKey發(fā)放給用戶。密鑰存儲在uKey中特殊的文件分區(qū)里,不能向外讀出,以保證其私密性,但可以運用該私鑰進行加密或簽名。用戶獲得自己的uKey后就可以登錄指定的機器。2)用戶注冊當客戶端第一次運用uKey進行登錄時,須要向身份認證服務器進行注冊??蛻舳俗x出uKey中的數(shù)字證書,同時在本地創(chuàng)建本地賬戶名(機器名+硬盤序列號)和密碼,經(jīng)過私鑰加密后一起發(fā)送給身份驗證服務器。服務器接收到后,驗證證書的合法性,假如合法,就認為此用戶是合法用戶,然后檢查身份信息數(shù)據(jù)庫。假如沒有此賬戶名,服務器則認為這臺機器是第一次被登錄,須要進行注冊,就把此賬戶名和密碼加入身份信息數(shù)據(jù)庫,接著服務器向客戶端發(fā)回確認信息,客戶端收到后則認為注冊勝利。3)平安登錄用戶登錄客戶端時,首先插入uKey并將用戶信息提交到身份驗證服務器,服務器生成隨機數(shù)發(fā)回到客戶端;然后客戶端利用uKey對隨機數(shù)進行簽名并發(fā)回服務器端;最終服務器利用對應的用戶公鑰進行驗證,假如有效就認為是合法用戶,否則拒絕登錄。詳細登錄驗證流程如圖4所示。圖4基于uKey的平安登錄與身份認證流程a.用戶登錄客戶端,開啟計算機。b.Winlogon進程調(diào)用自定義的Ginamy.dll替換默認的msgina.dll,實現(xiàn)自己的身份驗證過程。c.Ginamy.dll通過調(diào)用uKey的API函數(shù)來檢測uKey是否插上,如未發(fā)覺uKey,則提示用戶插入uKey,并拒絕登錄。d.一旦檢測到uKey,則彈出自定義對話框,要求用戶輸入個人PIN碼,這一過程是對持卡人身份的確認。e

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論