




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第4章身份認證和數字簽名身份認證技術數字簽名4.1身份認證技術
4.1身份認證技術身份認證的概述非密碼的認證機制基于密碼的認證機制零知識證明技術4.1.1概述身份認證是驗證主體的真實身份與其所聲稱的身份是否符合的過程。認證是最重要的安全服務之一(所有其它的安全服務都依賴于該服務);認證可以對抗假冒攻擊的威協;認證可以用來確保身份,獲得對聲稱者所聲稱的事實的信任。認證的結果只有兩個:符合和不符合。適用于用戶、進程、系統、信息等。4.1.1概述身份認證系統的組成:(1)出示證件的人,稱作示證者P(Prover),又稱聲稱者(Claimant)。(2)驗證者V(Verifier),檢驗聲稱者提出的證件的正確性和合法性,決定是否滿足要求。4.1.1概述身份認證的方法主要有:(1)聲稱者證明他知道某事或某物,例如口令;(2)聲稱者證明他擁有某事或某物,例如物理密鑰或卡;(3)聲稱者展示某些必備的不變特性,例如指紋;(4)聲稱者在某一特定場所(也可能在某一特定時間)提供證據;(5)驗證者認可某一已經通過認證的可信方。4.1.1概述身份認證有多種認證機制:非密碼認證機制;基于密碼的認證機制;基于認證協議的認證機制(該內容于第6章詳細介紹)。4.1.2非密碼的認證機制 1.口令認證機制
2.基于地址的認證機制
3.基于個人生理特征的認證機制
4.個人認證令牌4.1.2非密碼的認證機制1.口令機制在某種程度上,口令或個人識別號(PIN)機制是最實用的一種機制。口令認證是最古老最簡單的一種認證方法,經常作為系統的默認設置。口令認證包括:可重用口令認證;一次性口令認證;挑戰應答口令認證;混合口令認證。1.口令機制(1)可重用口令認證可重用口令認證一般采用客戶端認證的方式,通常由申請使用系統資源的用戶發起。用戶請求服務器的認證,然后被授權使用系統資源。常見的用戶登錄功能就是采用的可重用口令認證。該認證方式實現簡單。1.口令機制可重用口令認證口令系統有很多弱點,如口令泄露、口令猜測、線路竊聽、危及驗證者攻擊和重放攻擊。口令泄露是指未授權的人借助系統外普通網絡或系統操作獲取口令,主要是因為用戶的使用和存儲不當造成的,如:為防忘掉口令,把它寫到一不安全的地方;在一個未受保護的管理文件中存儲口令;合法用戶可通過打電話從系統管理者處獲得別人的口令。1.口令機制口令猜測是攻擊口令機制最常用的辦法,如用戶設置口令時傾向于用特定的字母串作口令、用短口令、在系統安裝時為標準用戶/賬戶名所設置的預設口令或者用戶的生日名字等作口令如果口令在網絡傳輸過程中沒有做任何的機密性措施,線路竊聽可以快速的獲取到用戶的認證口令。即使對口令做了簡單的變換處理,仍然可能存在安全問題。1.口令機制1.口令機制(2)一次性口令機制一次性口令認證也被稱為會話認證,認證中的口令只能被使用一次,然后被丟棄,從而減少了口令被破解的可能性。在一次性口令認證中,口令值通常是被加密的,避免明文形式的口令被攻擊者截獲。最常見的一次性口令認證方案是S/Key和Token方案。1.口令機制(2)一次性口令機制S/Key口令基于MD4和MD5加密算法產生,采用客戶-服務器模式。客戶端負責用hash函數產生每次登陸使用的口令,服務器端負責一次性口令的驗證,并支持用戶密鑰的安全交換。在認證的預處理過程中,服務器將種子以明文形式發送給客戶端,客戶端將種子和密鑰拼接在一起得到S。然后,客戶端對S進行hash運算得到一系列一次性口令。S/Key保護認證系統不受外來的被動攻擊,但是無法阻止竊聽者對私有數據的訪問,無法防范攔截并修改數據包的攻擊,無法防范內部攻擊。1.口令機制(2)一次性口令機制Token(令牌)口令要求在產生口令的時候使用認證令牌。根據令牌產生的不同,又分為兩種方式:時間同步式和挑戰/應答式。①時間同步式在這種方式中,服務器上存儲有用戶的種子密鑰,用來產生口令。用戶擁有的口令卡里同樣存儲有用戶的種子密鑰。進行認證時,用戶向系統提供PIN值以及由口令卡根據當前時間計算的口令值。服務器將用戶提供的口令和自己計算所得的口令進行對比,認證用戶。1.口令機制時間同步式1.口令機制(2)一次性口令機制②挑戰/應答式挑戰/應答式也稱為詢問/應答,可以擴張基于口令的方案,能大大地提高抵抗重放攻擊的能力,但通常通信代價很高。4.1.2非密碼的認證機制2.基于地址的身份認證基于地址的身份認證機制是假定聲稱者的可鑒別性,是以呼叫的源地址為基礎的。在大多數的數據網絡中,呼叫地址的辨別都是可行的。在不能可靠的辨別地址時,可以用一個呼叫-回應設備來獲取呼叫的源地址。一個驗證者對每一個主體都保持一份合法呼叫地址的文件。這種機制最大的困難時在一個臨時的環境里維持一個連續的主機和網絡地址的聯系。地址的轉換頻繁、呼叫-轉發或者重定向引起了一些主要問題。基于地址的身份認證機制自身不能被作為鑒別機制,但可以作為其他機制的有用補充。4.1.2非密碼的認證機制3.基于個人生理特征的身份認證機制基于生物特征的身份認證技術是利用人體的生理或行為特征進行身份認證的技術,即根據人體各器官或個人行為具有唯一性、人各不同的特性來認證身份。常見的生物特征識別技術主要有:指紋識別;聲音識別;手跡識別;視網膜掃描;虹膜識別;掌型識別和掌紋識別等。人臉識別和指紋認證是發展比較早也比較成熟的身份認證手段。4.1.2非密碼的認證機制4.個人認證令牌密碼技術不適合在個人認證中直接應用,人類不易記住長的隨機密鑰向量。當有一個可相互信任的器件時,口令機制和基于密碼技術的機制可以方便地結合起來使用。常用的方法是人首先使用口令向器件認證他自己,然后器件使用密碼技術向最終的驗證者認證它自己。有兩種情況:一種是從口令推導密鑰;另一種是使用智能卡。4.個人認證令牌(1)口令推導密鑰口令推導密鑰即從一個身份串和口令值產生一個56比特的DES密鑰的過程。這類似于應用一個單向函數保護口令,產生的值用于密碼系統的密鑰。為防止保護的口令被泄漏,從身份-口令到密鑰的變化必須被秘密完成,需要一可信終端。4.個人認證令牌(2)智能卡由一個或多個集成電路芯片組成,并封裝成便于人們攜帶的卡片,在集成電路中具有微電腦CPU和存儲器,智能卡具有暫時或永久的數據存儲能力,其內容可供外部讀取或供內部處理和判斷之用,同時還具有邏輯處理功能,用于識別和響應外部提供的信息和芯片本身判定路線和指令執行的邏輯功能。用于認證目的的智能卡的使用與擁有者輸入的PIN有關。即使卡被丟失或被盜,PIN也可保證智能卡的安全。4.個人認證令牌
(2)智能卡4.1.3基于密碼的認證機制基于密碼的認證機制的原理是使驗證者信服聲稱者所聲稱的身份,因為聲稱者知道某一秘密密鑰。鑒別方式又分為了單向認證、雙向認證和有可信第三方參與的認證。4.1.3基于密碼的認證機制1.采用對稱密碼的認證機制基于對稱密碼算法的鑒別依靠一定協議下的數據加密處理;通信雙方共享一個密鑰(通常存儲在硬件中),該密鑰在詢問-應答協議中處理或加密信息交換。單向認證雙向認證4.1.3基于密碼的認證機制2.采用非對稱密碼的認證機制公鑰認證要求每個用戶首先產生一對由公鑰和私鑰組成的密鑰對,并存儲在文件中。每個密鑰對由密鑰產生裝置產生,通常是1024到2048比特。用戶把公鑰公布出來,而私鑰由本人保存。單向認證雙向認證4.1.3基于密碼的認證機制3.采用第三方認證機制信任的第三方認證也是一種通信雙方相互認證的方式,但是認證過程必須借助一個雙方都能信任的第三方,一般而言可以是政府機構或者其他可信賴的機構。當兩端欲進行連線時,彼此必須先通過信任第三方的認證,然后才能互相交換密鑰進行通信。采用第三方認證機制4.1.4零知識證明技術零知識證明技術可使信息的擁有者無需泄露任何信息就能夠向驗證者或任何第三方證明它擁有該信息。在網絡認證中,已經提出了零知識技術的一些變形,例如,FFS方案,FS方案和GQ方案。一般地,驗證者頒布大量的詢問給聲稱者,聲稱者對每個詢問計算一個回答,而在計算中使用了秘密信息。通過檢查這些回答消息(可能需要使用公鑰),驗證者可以充分高的信任水平相信生成者的確擁有秘密信息(雖然無信息泄露)。大部分技術要求傳輸的數據量較大,并且要求一個更復雜的協議,需要一些協議交換。4.1.4零知識證明技術零知識證明技術的原理如下例:有一個洞,設P若知道咒語,可打開C和D之間的秘密門,不知道者都將走向死胡同中。(1)V站在A點;(2)P進入洞中任一點C或D;(3)當P進洞之后,V走到B點;(4)V叫P:從左邊出來或從右邊出來(5)P按要求實現;(6)P和V重復執行n次。若P不知咒語,只有50%的機會猜中V的要求,協議執行n次,則只有2-n的機會完全猜中,若n=16,則若每次均通過V的檢驗,V受騙機會僅為1/65536。4.1.4零知識證明技術最簡單的零知識證明:問題要求:假如P想說服V,使V相信他確實知道n的因數p和q,但不能告訴V最簡單的步驟:①V隨機選擇一整數x,計算x4modn的值,并告訴P;②P求x2modn并將它告訴V;③V驗證x4modn;V知道求x2modn等價于n的因數分解,若不掌握n的因數p和q,求解很困難。Fiat-Shamir協議就是采用的零知識證明。Fiat-Shamir協議4.2數字簽名
4.2數字簽名數字簽名概述直接數字簽名待仲裁的數字簽名數字簽名方案有特殊用途的數字簽名4.2.1概述信息認證用以保護雙方之間的數據交換不被第三方侵犯;但它并不能保證雙方自身的相互欺騙。假定A發送一個認證的信息給B,雙方之間的爭議可能有多種形式:B偽造一個不同的信息,但聲稱是從A收到的;A可以否認發過該信息,B無法證明A確實發了該信息;B對接收到的信息進行了修改;C冒充A或者B發送或者接收保存。數字簽名可以解決以上爭端。數字簽名就是利用一套規則對數據進行計算的結果,用此結果能確認簽名者的身份和數據的完整性(美國DSS對數字簽名的解釋)。4.2.1概述數字簽名(又稱公鑰數字簽名、電子簽章)是一種類似寫在紙上的普通的物理簽名,但是使用了公鑰加密領域的技術實現,用于鑒別數字信息的方法。一套數字簽名通常定義兩種互補的運算,一個用于簽名,另一個用于驗證。數字簽名,就是只有信息的發送者才能產生的別人無法偽造的一段數字串,這段數字串同時也是對信息的發送者發送信息真實性的一個有效證明。數字簽名是非對稱密鑰加密技術與數字摘要技術的應用。數字簽名應滿足三個基本條件①簽名者不能否認自己的簽名;②接收者能夠驗證簽名,而其他任何人都不能偽造簽名;③當簽名的真偽發生爭執時,存在一個仲裁機構或第三方能夠解決爭執。4.2.1概述數字簽名有兩種功效:一是能確定消息確實是由發送方簽名并發出來的,因為別人假冒不了發送方的簽名。二是數字簽名能確定消息的完整性。數字簽名根據簽名方式可以分為:直接數字簽名(directdigitalsignature)和仲裁數字簽名(arbitrateddigitalsignature)。4.2.2直接數字簽名(1)采用公開密鑰的數字簽名使用發送方的私鑰K’a對消息M進行數字簽名(此時并沒有對消息進行加密,因為任何人都可以獲得公鑰對消息M進行查看)4.2.2直接數字簽名(2)具有保密功能的公鑰數字簽名4.2.2直接數字簽名(3)采用消息摘要的數字簽名使用消息摘要的數字簽名(不需要對整個消息進行簽名,速度更快)直接數字簽名的問題直接數字簽名方案:僅涉及通信雙方。簽名方案的有效性依賴于發送方的私密密鑰的安全性;發送方要抵賴發送某一消息時,可能會聲稱其私有密鑰丟失或被竊,且他人偽造了他的簽名。4.2.3帶仲裁的數字簽名帶仲裁的數字簽名是通過引入仲裁者來解決直接簽名方案的問題。通常的做法是:所有從發送方A到接收方B的簽名消息首先送到仲裁者Y,Y將消息及其簽名進行一系列測試,以檢查其來源和內容,然后將消息加上日期并與已被仲裁者驗證通過的指示一起發給B。思考:A還能否認他的簽名嗎?仲裁者在這一類簽名模式中扮演敏感和關鍵的角色。所有的通信方必須充分信任仲裁機構。仲裁者是除通信雙方之外,值得信任的公正的第三方;“公正”意味著仲裁者對參與通信的任何一方沒有偏向;“值得信任”表示所有人都認為仲裁者所說的都是真實的,所做的都是正確的。例:律師、銀行、公證人(現實生活);在計算機網絡中,由可信機構的某臺計算機充當。4.2.3帶仲裁的數字簽名4.2.3帶仲裁的數字簽名(1)對稱加密,仲裁能看到消息IDA:發送方A的標識符;簽名:EKAY[IDA‖||H(M)];KAY:A和Y共享的對稱密鑰解決糾紛的過程:B:向Y發送EKYB[IDA||M||EKAY[IDA||H(M)]]Y:用KYB恢復IDA,M,和簽名EKAY[IDA||H(M)],然后用KAY解密簽名并驗證哈希值,從而驗證A的簽名4.2.3帶仲裁的數字簽名(2)對稱加密,仲裁不能看到消息AB之間共享的密鑰KAB對消息進行加密,仲裁Y看不到消息的明文。雙方仍然要高度信任Y。簽名:EKAY[IDA‖H(EKAB[M])]4.2.3帶仲裁的數字簽名(3)公開密鑰加密,仲裁不能看到消息仲裁Y通過EKRA[IDA‖EKUB(EKRA[M])]進行解密,可以確信消息一定來自于A(因為A才有KRA)。簽名:EKRA[IDA‖EKUB(EKRA[M])]本簽名方案比上述兩個方案具有以下優點:①在通信之前各方之間無須共享任何信息,從而避免了結盟欺騙的發生;②即使KRA暴露,只要KRY未暴露,不會有日期錯誤標定的消息被發送;③從A發送給B的消息的內容對Y和任何其他人是保密的。4.2.4數字簽名方案用的數字簽名方案主要有:利用公鑰密碼體制實現的數字簽名;結合hash函數和公鑰密碼體制的數字簽名方案。不管采用哪種數字簽名方案,都需要用到公鑰密碼體制的數字簽名,如:RSA數字簽名方案、EIGamal簽名方案等。4.2.4數字簽名方案1.RSA簽名方案(1)參數設置①秘密選取兩個大參數,計算n=pq,φ(n)=(p-1)(q-1);②隨機選取正整數1<e<φ(n),滿足gcd(φ(n),e)=1,e為公開密鑰;③計算d,滿足d=e-1modφ(n),d為私有密鑰。(2)簽名算法對于消息m∈Zn,簽名為:S=Sig(m)=mdmodn。(3)驗證算法驗證者計算:m′=Semodn,并判斷m′和m是否相等。4.2.4數字簽名方案2.EIGamal簽名方案ElGamal于1985年提出,很大程度上為Diffe-Hellman密鑰交換算法的推廣和變形。分為兩種情形:p是大素數,?q=p或者?q是p-1的大素因子。DSS(數字簽名標準)是后者的一種變形,該方案是特別為簽名的目的而設計的。這個方案的改進已被美國NIST(國家標準和技術研究所)采納作為數字簽名標準。4.2.4數字簽名方案2.EIGamal簽名方案DSS使用SHA作為散列函數,安全性基于計算離散對數的困難性。(1)DSS算法說明--算法參數全局公開密鑰分量:①p:素數,其中2L-1<p<2L,512≤L<1024,且L為64的倍數:即比特長度在512到1024之間,長度增量為64比特;②q:(p-1)的素因子,其中2159<q<2160;③g=h(p-1)/qmodp,其中h是一整數,1<h<(p-1);用戶私有密鑰:x隨機或偽隨機整數,其中0<x<q用戶公開密鑰:(y,g,p),其中y=gxmodp4.2.4數字簽名方案2.EIGamal簽名方案(2)DSS算法的簽名過程用戶每個報文的密鑰:k隨機或偽隨機整數,其中0<k<q簽名:r=(gkmodp)modqs=[k-1(H(M)+xr)]modq簽名=(r,s)發送簽名(r,s)和消息其中符號的含義分別為:M要簽名的消息;H(M)使用SHA-1生成的M的散列碼;M′,r′,s′接收到的M,r,s版本。4.2.4數字簽名方案2.EIGamal簽名方案(3)DSS算法的驗證過程驗證:w=(s′)-1modqu1=[H(M′)w]modq,u2=(r′)wmodqv=[(gu1yu2)modp]modqTEST:v=r′4.2.4數字簽名方案2.EIGamal簽名方案(4)實例假設取q=101,p=78*9+1=7879。3為7879的一個本原元,所以能取g=378(mod7879)=170為模p的q次單位根;假設x=75,那么y=gx(mod7879)=4567。現在,假設Bob想簽名一個消息m=1234,且他選擇了隨機值k=50,可算得k-1(mod101)=99,簽名算出:r=(17050(mod7879)(mod101)=2518(mod101)=94s=(1234+75*94)*99(mod101)=97簽名后的信息為:12349497。驗證:w=97-1(mod101)=25,U1=1234*25(mod101)=45,U2=94*25(mod101)=27,(17045*456727(mod7879))(mod101)=2518(mod101)=94因此該簽名是有效的。4.2.4數字簽名方案2.EIGamal簽名方案(5)DSS的特點DSS的簽名比驗證快得多;DSS不能用于加密或者密鑰分配;若p為512位,q為160位,而DSS只需要兩個160位,即320位。4.2.4數字簽名方案2.EIGamal簽名方案(6)DSS使用中的問題:s≠0S-1modq要存在s≠0modq,如果發生,接收者可拒絕該簽名,要求重修構造該簽名。實際上,s≡0modq的概率非常小(2-160)。因為用戶產生的簽名s=0,會泄露私鑰:S=0=k-1[H(m)+xr]modqX=-H(m)r-1modq不能將簽名所使用的隨機
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論