[摘要] 隨著計算機技術的不斷發展,計算機的安全問題日益被關注,尤其是網絡技術的飛速發展,使得計算機攻擊與破壞事件層出不窮,安全問題已經引起許多國家的重視。身份認證技術是信息安全理論與技術的一個重要方面,本文主要闡述了如何用.net工具開發windows下的身份認證系統。
[關鍵詞] gina winlogon
一、身份認證技術分析
身份認證是指用戶必須提供他是誰的證明。認證的目的就是弄清楚他是誰,具有什么特征,知道什么可用于識別他的東西。這種證實客戶的真實身份與其所聲稱的身份是否相符合的過程是為了限制非法用戶訪問網絡資源,是其他安全機制的基礎。
認證技術是信息安全理論與技術的一個重要方面。身份認證是安全系統中的第一道關卡,用戶在訪問安全系統之前,首先經過身份認證系統識別身份,然后訪問監控器, 根據用戶的身份和授權數據庫決定用戶是否能夠訪問某個資源。授權數據庫由安全管理員按照需要進行配置。審計系統根據審計設置記錄用戶的請求和行為,同時如情監測系統實時或非實時地檢測是否有入侵行為。訪問控制和審計系統都要依賴于身份認證系統提供的“信息”即用戶的身份。一旦身份認證系統被攻破,那么系統的所有安全措施將形同虛設。黑客攻擊的目標往往就是身份認證系統,下面要討論的是單機狀態下的身份認證。
二、單機狀態下的身份認證
單機狀態下的用戶登錄計算機,一般有以下幾種形式驗證用戶身份:用戶所知道的東西,如口令,密碼;用戶所擁有的東西,如智能卡,身份證,護照,密鑰盤;用戶所具有的生物特征,如指紋,聲音,視網膜掃描,DNA等。
1.基于口令的認證方式
基于口令的認證方式是最常用的一種技術。用戶輸入自己的口令,計算機驗證并給予用戶相應的權限。這種方式中很重要的問題是口令的存儲,一般有兩種方法:
(1)直接明文存儲口令。這種方式有很大風險,任何人只要得到存儲口令的數據庫,就可以得到全體人員的口令。
(2)Hash散列存儲口令。散列函數的目的是為文件,報文或其他分組數據產生”指紋”。
2.基于智能卡的認證方式
智能卡又稱集成電路卡,即IC卡。智能卡具有硬件加密性能,有較高的安全性。智能卡存儲用戶個性化的秘密信息,同時在驗證服務器中也存放該信息。進行認證時,用戶輸入個人身份識別碼,智能卡認證成功后,即可讀出智能卡中的秘密信息,從而防止秘密信息的泄露。
3.基于生物特征的認證方式
基于生物認證的方式是以人體惟一的、可靠的、穩定的生物特征(如指紋,虹膜,掌紋等)為依據,采用計算機的強大的計算功能和網絡技術進行圖像處理和模式識別。該技術具有很好的安全性,可靠性和有效性,與傳統的身份確認手段相比,無疑產生了質的飛躍。
生物認證的過程分為四個階段:抓圖,抽取特征,比較和匹配。本文要討論的是在單機狀態下基于智能卡的認證方式,設計工作中將用到的智能卡(安全芯)。安全芯的主體是具有運算功能的單片機,通過USB接口同PC 主機通訊。安全芯在不做任何處理時就可以完成一些軟件加密的任務。
三、身份認證系統實現
1.系統需求
應用要求:在用戶登錄成功狀態下,按下Ctrl+Alt+Del時系統不再彈出“Widows安全”對話框。由于并不需要改變用戶名、密碼這種標準的認證模式,所以可以仍然使用msgina.dll中導出的函數接口,而對WlxLoggedOnSAS函數的實現進行必要的改變。
開發環境:Windows 2000,PII 400。
開發工具:Microsoft Visual C++ 6.0。
2.開發步驟
(1)新建項目,選擇MFC AppWizard(dll),項目名輸入為MyGina。按下“OK”后,選擇Regular DLL with MFC statically linked,按下“Finish”。
(2)使用View->ClassWizard為CmyGinaApp增加InitInstance和ExitInstance兩個函數的覆蓋。注意在Stdafx.h中加入#include
(3)由于要導入msgina.dll的接口函數,所以在MyGina.h中定義接口函數變量類型,并在類CmyGinaApp中定義成員變量。
(4)在MyGina.cpp中,實現InitInstance。
(5)實現接口函數。由于本應用仍然保持msgina.dll的大部分操作,所以MyGina.dll的接口函數的實現較為簡單,需要注意的是WlxLoggedOnSAS函數的實現,當在成功登錄狀態下,不管接收到什么SAS事件,該函數直接返回WLX_SAS_ACTION_NONE而不做其他處理。
四、結束語
隨著計算機技術的不斷發展,計算機的安全問題日益被人們越來越關注,尤其是網絡技術的飛速發展,使得計算機被攻擊與破壞事件層出不窮,所以安全問題已經引起許多國家的重視。身份認證技術是信息安全理論與技術的一個重要方面。開發和研究身份認證技術無疑是一項前景光明的事業。
參考文獻:
[1]武安河于洪濤編著:Windows 2000/XP WDM設備驅動程序開發,北京:電子工業出版社,2003.4
[2]Microsoft Corporation(美)馮博琴朱丹軍雪濤等譯:Windows 2000驅動程序開發大全,北京:機械工業出版社,2001.8