計算機身份認證的技術(shù)分析和比較
摘要:本文綜合評價了某些認證機制和方案的優(yōu)劣,并分析了身份認證的理論和應用,列舉了一些對身份認證的各種實現(xiàn)方法、技術(shù)現(xiàn)狀及發(fā)展趨勢,同時設計了一個利用數(shù)字簽名實現(xiàn)的簡單的身份認證方案。
關(guān)鍵詞:身份認證技術(shù) 分析 比較 運用
隨著網(wǎng)絡時代的到來,人們可以通過網(wǎng)絡得到各種各樣的信息。但由于網(wǎng)絡的開放性,它正面臨著如計算機病毒、人為的惡意攻擊、網(wǎng)絡軟件的漏洞和“后門”、非授權(quán)訪問等安全威脅。因此,網(wǎng)絡安全越來越受到重視。作為網(wǎng)絡安全的第一道防線,亦即是最重要的一道防線,身份認證技術(shù)受到普遍關(guān)注。
一、基于秘密信息的身份認證方法
1、口令核對
口令核對是系統(tǒng)為每一個合法用戶建立一個用戶名/口令對,當用戶登錄系統(tǒng)或使用某項功能時,提示用戶輸入自己的用戶名和口令,系統(tǒng)通過核對用戶輸入的用戶名、口令與系統(tǒng)內(nèi)已有的合法用戶的用戶名/口令對(這些用戶名/口令對在系統(tǒng)內(nèi)是加密存儲的)是否匹配,如與某一項用戶名/口令對匹配,則該用戶的身份得到了認證。
缺點:其安全性僅僅基于用戶口令的保密性,而用戶口令一般較短且是靜態(tài)數(shù)據(jù),容易猜測,且易被攻擊,采用窺探、字典攻擊、窮舉嘗試、網(wǎng)絡數(shù)據(jù)流竊聽、重放攻擊等很容易攻破該認證系統(tǒng)。
2、單向認證
如果通信的雙方只需要一方被另一方鑒別身份,這樣的認證過程就是一種單向認證,即前面所述口令核對法就算是一種單向認證,只是這咱簡單的單向認證還沒有與密鈅分發(fā)相結(jié)合。
與密鈅分發(fā)相結(jié)合的單向認證主要有兩類方案:一類采用對密鈅加密體制,需要一個可信賴的第三方―――通常稱為KDC(密鈅分發(fā)中心)或AS (認證服務器),同這個第三方來實現(xiàn)通信雙方的身份認證和密鈅分發(fā)如DES算法,優(yōu)點運算量小、速度快、安全度高,但其密鈅的秘密分發(fā)難度大;另一類采用非對稱密鈅加密體制,加密和解密使用不同的密鈅SK,無需第三方參與,典型的公鈅加密算法有RSA。認證優(yōu)點能適應網(wǎng)絡的開放性要求,密鈅管理簡單,并且可方便地實現(xiàn)數(shù)字簽名和身份認證等功能,是目前電子商務等技術(shù)的核心基礎(chǔ)。其缺點是算法復雜。
3、雙向認證
雙向認證中,通信雙方需要互相鑒別各自的身分,然后交換會話密鈅,典型方案是Needham/Schroeder協(xié)議。優(yōu)點保密性高但會遇到消息重放攻擊。
4、身份的零知識證明
通常的身份認證都要求傳輸口令或身份信息,但如果能夠不傳輸這些信息身份也得到認證就好了。零知識證明就是這樣一種技術(shù):被認證方A掌握某些秘密信息,A想設法讓認證方B相信他確實掌握那些信息,但又不想讓認證方B知道那些信息。
如著名的Feige-Fiat-shamir零知識身份認證協(xié)議的一個簡化方案。
假設可信賴仲裁選定一個隨機模數(shù)n,n為兩個大素乘積,實際中至少為512位或長達1024位。仲裁方產(chǎn)生隨機數(shù)V,使X2=V mod n,即V為模n的剩余,且有V-1mod n存在。以V作為證明者的公鈅,而后計算最小的整數(shù)s:s=sqrt(v-1)mod n作為被認證方的私鈅。實施身份證明的協(xié)議如下:被認證方A取隨機數(shù)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可將此協(xié)議重復t次,直到A相信B知道S為止。
二、基于物理安全性的身份認證方法
盡管前面提到的身份認證方法在原理上有很多不同,但他們有一個共同的特點,就是只依賴于用戶知道的某個秘密的信息。與此對照,另一類身份認證方案是依賴于用戶特有的某些生物學信息或用戶持有的硬件。
基于生物學的方案包括基于指紋識別的身份認證、基于聲音識別身份認證以及基于虹膜識別的身份認證等技術(shù)。該技術(shù)采用計算機的強大功能和網(wǎng)絡技術(shù)進行圖像處理和模式識別,具有很好的安全性、可靠性和有效性,與傳統(tǒng)的身份確認手段相比,無疑產(chǎn)生了質(zhì)的飛躍。近幾年來,全球的生物識別技術(shù)已從研究階段轉(zhuǎn)向應用階段,對該技術(shù)的研究和應用如火如茶,前景十分廣闊。
三、身份認證的應用
1、Kerberos是MIT為分布式網(wǎng)絡設計的可信第三方認證協(xié)議。網(wǎng)絡上的Kerberos服務起著可信仲裁者的作用,它可提供安全的網(wǎng)絡認證,允許個人訪問網(wǎng)絡中不同的機器。Kerberos基于對稱密碼技術(shù)(采用DES進行數(shù)據(jù)加密,但也可用其他算法替代),它與網(wǎng)絡上的每個實體分別共享一個不同的密鈅,是否知道該密鈅便是身份的證明。其設計目標是通過密鈅系統(tǒng)為客戶/服務器應用程序提供強大的認證服務。該認證過程的實現(xiàn)不依賴于主機操作系統(tǒng)的認證,無需基于主機地址的信任,不要求網(wǎng)絡上所有主機的物理安全,并假定網(wǎng)絡上傳送的數(shù)據(jù)包可以被任意地讀取、修改和插入數(shù)據(jù)。
Kerberos也存在一些問題: Kerberos服務服務器的損壞將使得整個安全系統(tǒng)無法工作;AS在傳輸用戶與TGS間的會話密鈅時是以用戶密鈅加密的,而用戶密鈅是由用戶口令生成的,因此可能受到口令猜測的攻擊;Kerberos 使用了時間戳,因此存在時間同步問題;要將Kerberos用于某一應用系統(tǒng),則該系統(tǒng)的客戶端和服務器端軟件都要作一定的修改。
2、HTTP中的身份認證
HTTP提供了一個基于口令的基本認證方法,目前,所有的Web服務器都可以通過“基本身份認證”支持訪問控制。當用戶請求某個頁面或運行某個CGI程序時,被訪問訪問對象所在目錄下有訪問控制文件(如NCSA用.haaccess文件)規(guī)定那些用戶可以訪問該目錄,Web服務器讀取該訪問控制文件,從中獲得訪問控制信息并要求客戶提交用戶名和口令對經(jīng)過一定的編碼(一般是Base64方式),付給服務方,在檢驗了用戶身份和口令后,服務方才發(fā)送回所請求的頁面或執(zhí)行EGI程序。所以,HTTP采用的是一種明文傳輸?shù)目诹詈藢Ψ绞剑▊鬏斶^程中盡管進行了編碼,但并沒有加密),缺少安全性。
用戶可以先把使用SSI建立加密信道后再采用基本身份認證方式進行身份認證,而是基于IP地址的身份認證。
3、IP中的身份認證
IP協(xié)議由于在網(wǎng)絡層,無法理解更高層的信息,所以IP協(xié)議中的身份認證實際不可能是基于用戶的身份認證,而是基于IP地址的身份認證。
四、身份認證技術(shù)討論
在計算機網(wǎng)絡中身份認證還有其他實現(xiàn)途徑,如數(shù)字簽名技術(shù)。傳送的報文用數(shù)字簽名來證明其真實性,簡單實例就是直接利用RSA算法和發(fā)送方的秘密密鈅。
由于數(shù)字簽名有一項功能是保證信息發(fā)出者的身份真實性,即信息確實是所聲稱的簽名人簽名的,別人不能仿造,這和身份認證的情形有些相似;身份認證的核心是要確認某人確實是他所聲稱的身份。那么,我想應該能借用數(shù)字簽名機制實現(xiàn)身份認證,但這可能有一個困難,如果不預先進行密鈅分發(fā)(即使是公鈅,也要有一個機制將真實的公鈅信息傳遞給每一個用戶)。可能數(shù)字簽名也無從實現(xiàn)。
五、結(jié)語
在實際應用中,認證方案的選擇應當從系統(tǒng)需求和認證機制的安全性能兩個方面來綜合考慮,安全性能最高的不一定是最好的。如何減少身份認證機制和信息認證機制中的計算量和通信量,而同時又能提供較高的安全性能,也是信息安全領(lǐng)域的研究人員進一步需要研究的課題。
參考文獻:
[1]美D.E.R.丹寧.密碼學與數(shù)據(jù)安全,科學出版社.1991.11
[2]Derdk Atkins 等著.嚴偉等譯.internet 網(wǎng)絡安全專業(yè)參考手冊.機械工業(yè)出版社.1998.





