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