計(jì)算機(jī)身份認(rèn)證的技術(shù)分析和比較
摘要:本文綜合評價(jià)了某些認(rèn)證機(jī)制和方案的優(yōu)劣,并分析了身份認(rèn)證的理論和應(yīng)用,列舉了一些對身份認(rèn)證的各種實(shí)現(xiàn)方法、技術(shù)現(xiàn)狀及發(fā)展趨勢,同時(shí)設(shè)計(jì)了一個(gè)利用數(shù)字簽名實(shí)現(xiàn)的簡單的身份認(rèn)證方案。
本文引用地址:http://www.ex-cimer.com/article/202265.htm關(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、口令核對
口令核對是系統(tǒng)為每一個(gè)合法用戶建立一個(gè)用戶名/口令對,當(dāng)用戶登錄系統(tǒng)或使用某項(xiàng)功能時(shí),提示用戶輸入自己的用戶名和口令,系統(tǒng)通過核對用戶輸入的用戶名、口令與系統(tǒng)內(nèi)已有的合法用戶的用戶名/口令對(這些用戶名/口令對在系統(tǒng)內(nèi)是加密存儲(chǔ)的)是否匹配,如與某一項(xiàng)用戶名/口令對匹配,則該用戶的身份得到了認(rèn)證。
缺點(diǎn):其安全性僅僅基于用戶口令的保密性,而用戶口令一般較短且是靜態(tài)數(shù)據(jù),容易猜測,且易被攻擊,采用窺探、字典攻擊、窮舉嘗試、網(wǎng)絡(luò)數(shù)據(jù)流竊聽、重放攻擊等很容易攻破該認(rèn)證系統(tǒng)。
2、單向認(rèn)證
如果通信的雙方只需要一方被另一方鑒別身份,這樣的認(rèn)證過程就是一種單向認(rèn)證,即前面所述口令核對法就算是一種單向認(rèn)證,只是這咱簡單的單向認(rèn)證還沒有與密_分發(fā)相結(jié)合。
與密_分發(fā)相結(jié)合的單向認(rèn)證主要有兩類方案:一類采用對密_加密體制,需要一個(gè)可信賴的第三方DDD通常稱為KDC(密_分發(fā)中心)或AS (認(rèn)證服務(wù)器),同這個(gè)第三方來實(shí)現(xiàn)通信雙方的身份認(rèn)證和密_分發(fā)如DES算法,優(yōu)點(diǎn)運(yùn)算量小、速度快、安全度高,但其密_的秘密分發(fā)難度大;另一類采用非對稱密_加密體制,加密和解密使用不同的密_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、身份的零知識證明
通常的身份認(rèn)證都要求傳輸口令或身份信息,但如果能夠不傳輸這些信息身份也得到認(rèn)證就好了。零知識證明就是這樣一種技術(shù):被認(rèn)證方A掌握某些秘密信息,A想設(shè)法讓認(rèn)證方B相信他確實(shí)掌握那些信息,但又不想讓認(rèn)證方B知道那些信息。
如著名的Feige-Fiat-shamir零知識身份認(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,這里rm,計(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è)秘密的信息。與此對照,另一類身份認(rèn)證方案是依賴于用戶特有的某些生物學(xué)信息或用戶持有的硬件。
基于生物學(xué)的方案包括基于指紋識別的身份認(rèn)證、基于聲音識別身份認(rèn)證以及基于虹膜識別的身份認(rèn)證等技術(shù)。該技術(shù)采用計(jì)算機(jī)的強(qiáng)大功能和網(wǎng)絡(luò)技術(shù)進(jìn)行圖像處理和模式識別,具有很好的安全性、可靠性和有效性,與傳統(tǒng)的身份確認(rèn)手段相比,無疑產(chǎn)生了質(zhì)的飛躍。近幾年來,全球的生物識別技術(shù)已從研究階段轉(zhuǎn)向應(yīng)用階段,對該技術(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基于對稱密碼技術(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í)是以用戶密_加密的,而用戶密_是由用戶口令生成的,因此可能受到口令猜測的攻擊;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)用戶請求某個(gè)頁面或運(yùn)行某個(gè)CGI程序時(shí),被訪問訪問對象所在目錄下有訪問控制文件(如NCSA用.haaccess文件)規(guī)定那些用戶可以訪問該目錄,Web服務(wù)器讀取該訪問控制文件,從中獲得訪問控制信息并要求客戶提交用戶名和口令對經(jīng)過一定的編碼(一般是Base64方式),付給服務(wù)方,在檢驗(yàn)了用戶身份和口令后,服務(wù)方才發(fā)送回所請求的頁面或執(zhí)行EGI程序。所以,HTTP采用的是一種明文傳輸?shù)目诹詈藢Ψ绞剑▊鬏斶^程中盡管進(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)證。
評論