1、基於祕密信息的身份認證方法
一、口令覈對
口令覈對是系統爲每個合法用戶創建一個用戶名/口令對,當用戶登陸系統或使用某項功能時,提示用戶輸入本身的用戶名和口令,系統經過覈對用戶輸入的用戶名、口令與系統內已有的合法用戶的用戶名/口令對(這些用戶名/口令對在系統內是加密存儲的)是否匹配,如與某一項用戶名/口令對匹配,則該用戶的身份獲得了認證。
缺點:其安全性僅僅基於用戶口令的保密性,而用戶口令通常較短且是靜態數據,容易猜想,且易被攻擊,採用窺探、字典攻擊、窮舉嘗試、網絡數據流竊聽、重放攻擊等很容易攻破該認證系統。
二、單向認證
若是通訊的雙方只須要一方被另外一方鑑別身份,這樣的認證過程就是一種單向認證,即前面所述口令覈對法就算是一種單向認證,只是這咱簡單的單向認證尚未與密鈅分發相結合。
與密鈅分發相結合的單向認證主要有兩類方案:一類採用對密鈅加密體制,須要一個可信賴的第三方―――一般稱爲KDC(密鈅分發中心)或AS (認證服務器),同這個第三方來實現通訊雙方的身份認證和密鈅分發如DES算法,優勢運算量小、速度快、安全度高,但其密鈅的祕密分發難度大;另外一類採用非對稱密鈅加密體制,加密和解密使用不一樣的密鈅SK,無需第三方參與,典型的公鈅加密算法有RSA。認證優勢能適應網絡的開放性要求,密鈅管理簡單,而且可方便地實現數字簽名和身份認證等功能,是目前電子商務等技術的核心基礎。其缺點是算法複雜。
三、雙向認證
雙向認證中,通訊雙方須要互相鑑別各自的身分,而後交換會話密鈅,典型方案是Needham/Schroeder協議。優勢保密性高但會遇到消息重放攻擊。
四、身份的零知識證實
一般的身份認證都要求傳輸口令或身份信息,但若是可以不傳輸這些信息身份也獲得認證就行了。零知識證實就是這樣一種技術:被認證方A掌握某些祕密信息,A想設法讓認證方B相信他確實掌握那些信息,但又不想讓認證方B知道那些信息。如著名的Feige-Fiat-shamir零知識身份認證協議的一個簡化方案。假設可信賴仲裁選定一個隨機模數n,n爲兩個大素乘積,實際中至少爲512位或長達1024位。仲裁方產生隨機數V,使X2=V mod n,即V爲模n的剩餘,且有V-1mod n存在。以V做爲證實者的公鈅,然後計算最小的整數s:s=sqrt(v-1)mod n做爲被認證方的私鈅。實施身份證實的協議以下:被認證方A取隨機數r,這裏r<m,計算x=r2 mod m,把X送給認證方B;若b=1,則A將Y=RS送給B;若b=0,則B驗證x=r2 mod m,從而證明A知道sqrt(x);若b=1,則B驗證x=y2.v mod m,從而證明A知道S。這是一輪鑑定,A和B可將此協議重複t次,直到A相信B知道S爲止。2、基於物理安全性的身份認證方法儘管前面提到的身份認證方法在原理上有不少不一樣,但他們有一個共同的特色,就是隻依賴於用戶知道的某個祕密的信息。與此對照,另外一類身份認證方案是依賴於用戶特有的某些生物學信息或用戶持有的硬件。基於生物學的方案包括基於指紋識別的身份認證、基於聲音識別身份認證以及基於虹膜識別的身份認證等技術。該技術採用計算機的強大功能和網絡技術進行圖像處理和模式識別,具備很好的安全性、可靠性和有效性,與傳統的身份確認手段相比,無疑產生了質的飛躍。近幾年來,全球的生物識別技術已從研究階段轉向應用階段,對該技術的研究和應用如火如茶,前景十分廣闊。3、身份認證的應用一、Kerberos是MIT爲分佈式網絡設計的可信第三方認證協議。網絡上的Kerberos服務起着可信仲裁者的做用,它可提供安全的網絡認證,容許我的訪問網絡中不一樣的機器。Kerberos基於對稱密碼技術(採用DES進行數據加密,但也可用其餘算法替代),它與網絡上的每一個實體分別共享一個不一樣的密鈅,是否知道該密鈅即是身份的證實。其設計目標是經過密鈅系統爲客戶/服務器應用程序提供強大的認證服務。該認證過程的實現不依賴於主機操做系統的認證,無需基於主機地址的信任,不要求網絡上全部主機的物理安全,並假定網絡上傳送的數據包能夠被任意地讀取、修改和插入數據。Kerberos也存在一些問題: Kerberos服務服務器的損壞將使得整個安全系統沒法工做;AS在傳輸用戶與TGS間的會話密鈅時是以用戶密鈅加密的,而用戶密鈅是由用戶口令生成的,所以可能受到口令猜想的攻擊;Kerberos 使用了時間戳,所以存在時間同步問題;要將Kerberos用於某一應用系統,則該系統的客戶端和服務器端軟件都要做必定的修改。二、HTTP中的身份認證HTTP提供了一個基於口令的基本認證方法,目前,全部的Web服務器均可以經過「基自己份認證」支持訪問控制。當用戶請求某個頁面或運行某個CGI程序時,被訪問訪問對象所在目錄下有訪問控制文件(如NCSA用.haaccess文件)規定那些用戶能夠訪問該目錄,Web服務器讀取該訪問控制文件,從中得到訪問控制信息並要求客戶提交用戶名和口令對通過必定的編碼(通常是Base64方式),付給服務方,在檢驗了用戶身份和口令後,服務方纔發送回所請求的頁面或執行EGI程序。因此,HTTP採用的是一種明文傳輸的口令覈對方式(傳輸過程當中儘管進行了編碼,但並無加密),缺乏安全性。用戶能夠先把使用SSI創建加密信道後再採用基自己份認證方式進行身份認證,而是基於IP地址的身份認證。三、IP中的身份認證IP協議因爲在網絡層,沒法理解更高層的信息,因此IP協議中的身份認證明際不多是基於用戶的身份認證,而是基於IP地址的身份認證。4、身份認證技術討論在計算機網絡中身份認證還有其餘實現途徑,如數字簽名技術。傳送的報文用數字簽名來證實其真實性,簡單實例就是直接利用RSA算法和發送方的祕密密鈅。因爲數字簽名有一項功能是保證信息發出者的身份真實性,即信息確實是所聲稱的簽名人簽名的,別人不能仿造,這和身份認證的情形有些類似;身份認證的核心是要確認某人確實是他所聲稱的身份。那麼,我想應該能借用數字簽名機制實現身份認證,但這可能有一個困難,若是不預先進行密鈅分發(即便是公鈅,也要有一個機制將真實的公鈅信息傳遞給每個用戶)。可能數字簽名也無從實現。