第8章 數(shù)字簽名_第1頁
第8章 數(shù)字簽名_第2頁
第8章 數(shù)字簽名_第3頁
第8章 數(shù)字簽名_第4頁
第8章 數(shù)字簽名_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第八章

數(shù)字簽名基本概念數(shù)字簽名是認證的重要工具為什么需要數(shù)字簽名報文認證用以保護雙方之間的數(shù)據(jù)交換不被第三方侵犯;但它并不保證雙方自身的相互欺騙。假定A發(fā)送一個認證的信息給B,雙方之間的爭議可能有多種形式:B偽造一個不同的消息,但聲稱是從A收到的。A可以否認發(fā)過該消息,B無法證明A確實發(fā)了該消息數(shù)字簽名的特性

數(shù)字簽名實際上是一個把數(shù)字形式的消息和某個源發(fā)實體相聯(lián)系的數(shù)據(jù)串,把它附加在一個消息或完全加密的消息上,以便于消息的接收方能夠鑒別消息的內(nèi)容,并證明消息只能源發(fā)于所聲稱的發(fā)送方。數(shù)字簽名滿足的條件數(shù)字簽名的目的是保證信息的完整性和真實性,即消息內(nèi)容沒有被篡改,而且簽名也沒有被篡改,消息只能始發(fā)于所聲稱的發(fā)方。一個完善的簽名方案應(yīng)滿足以下三個條件:

①簽名者事后不能否認或抵賴自己的簽名。

②其他任何人均不能偽造簽名,也不能對接收或發(fā)送的信息進行篡改、偽造和冒充。

③若當(dāng)事雙方對簽名真?zhèn)伟l(fā)生爭執(zhí)時,能夠在公正的仲裁者面前通過驗證簽名來確定其真?zhèn)巍?shù)字簽名的設(shè)計要求簽名必須是依賴于被簽名信息的比特模式;簽名必須使用某些對發(fā)送者是唯一的信息,以防止雙方的偽造與否認;必須相對容易生成該數(shù)字簽名;必須相對容易識別和驗證該數(shù)字簽名;偽造該數(shù)字簽名在計算復(fù)雜性意義上具有不可行性,既包括對一個已有的數(shù)字簽名構(gòu)造新的消息,也包括對一個給定消息偽造一個數(shù)字簽名;在存儲器中保存一個數(shù)字簽名備份是現(xiàn)實可行的。數(shù)字簽名方案的描述一個數(shù)字簽名方案由兩部分組成:帶有陷門的數(shù)字簽名算法(SignatureAlgorithm)和驗證算法(VerificationAlgorithm)。數(shù)字簽名方案的定義是:設(shè)M是消息的有限集合,S是簽名的有限集合,K是密鑰的有限集合,則數(shù)字簽名算法是一個映射:

sig:M×K→S,s=sigk(m)驗證算法也是一個映射:五元組{M,S,K,sig,ver}就稱為一個簽名算法。

數(shù)字簽名的應(yīng)用歸納起來,一個數(shù)字簽名方案的應(yīng)用一般包括三個過程:(1)系統(tǒng)初始化過程:產(chǎn)生數(shù)字簽名方案中用到的所有系統(tǒng)和用戶參數(shù),有公開的,也有秘密的。(2)簽名產(chǎn)生過程:在此過程用戶利用給定的簽名算法和參數(shù)對消息產(chǎn)生簽名,這種簽名過程可以公開也可以不公開,但一定包含僅簽名者才擁有的秘密信息(簽名密鑰)。(3)簽名驗證過程:驗證者利用公開的驗證方法和參數(shù)對給定消息的簽名進行驗證,得出簽名的有效性。兩類數(shù)字簽名函數(shù)數(shù)字簽名的執(zhí)行方式有兩類:直接數(shù)字簽名方式和具有仲裁的數(shù)字簽名方。直接數(shù)字簽名直接方式是指數(shù)字簽名的執(zhí)行過程只有通信雙方參與,并假定雙方有共享的秘密密鑰,或者接收一方知道發(fā)方的公開密鑰。直接數(shù)字簽名有一些共同的缺點:方案的有效性依賴于發(fā)送方秘密密鑰的安全性。直接數(shù)字簽名(1)A

B:M||ESKa[H(M)],提供了認證與簽名:只有A具有SKa進行加密;傳輸中無法被篡改;任何第三方可以用PKa

驗證簽名直接數(shù)字簽名(1’)A

B:EKUb[M||ESKa[H(M)]], 提供了:1.保密性,利用KUb2.認證與簽名,利用KRa

先簽名在加密vs先加密在簽名?直接數(shù)字簽名的缺點驗證模式依賴于發(fā)送方的保密密鑰;發(fā)送方要抵賴發(fā)送某一消息時,可能會聲稱其私有密鑰丟失或被竊,從而他人偽造了他的簽名。通常需要采用與私有密鑰安全性相關(guān)的行政管理控制手段來制止或至少是削弱這種情況,但威脅在某種程度上依然存在。改進的方式例如可以要求被簽名的信息包含一個時間戳(日期與時間),并要求將已暴露的密鑰報告給一個授權(quán)中心。如X的私有密鑰確實在時間T被竊取,敵方可以偽造X的簽名并附上早于或等于時間T的時間戳。仲裁數(shù)字簽名具有仲裁的數(shù)字簽名是在通信雙方的基礎(chǔ)上引入了第三方仲裁者參與。通常的做法是所有從發(fā)送方X到接收方Y(jié)的簽名消息首先送到仲裁者A,A將消息及其簽名進行一系列測試,以檢查其來源和內(nèi)容,然后將消息加上日期并與已被仲裁者驗證通過的指示一起發(fā)給Y。仲裁者在這一類簽名模式中扮演極敏感和關(guān)鍵的角色,所以要求:所有的參與者必須極大地相信這一仲裁機制工作正常。(trustedsystem)仲裁數(shù)字簽名技術(shù)對稱加密,仲裁者可以看到消息內(nèi)容。該方案的前提是每個用戶都有與仲裁者共享的秘密密鑰簽名過程如下:1)XA:M||EKxa[IDx||H(M)]2)AY:EKay[IDx||M||EKxa[IDx||H(M)]||T]X與A之間共享密鑰Kxa,Y與A之間共享密鑰Kay方案必須要求:(1)發(fā)送者X必須確信仲裁者A不會泄露Kxa,也不會產(chǎn)生虛假的數(shù)字簽名;(2)接收方Y(jié)必須確信仲裁者A只有在散列碼正確且發(fā)送方X的數(shù)字簽名被證實的情況下才發(fā)送;(3)通信雙方必須確信仲裁者A能公平的解決爭端。解決糾紛:Y:向A發(fā)送EKay[IDx||M||EKxa[IDx||H(M)]]

A:用Kay恢復(fù)IDx,M,和簽名(EKxa[IDx||H(M)]),然后用Kxa解密簽名并驗證Hash值.仲裁數(shù)字簽名在這種模式下Y不能直接驗證X的簽名,Y認為A的消息已認證,只因為它來自A。因此,雙方都需要高度相信A:X必須信任A沒有暴露Kxa,并且沒有生成錯誤的簽名EKxa[IDx||H(M)]。Y必須信任A僅當(dāng)散列值正確并且簽名確實是X產(chǎn)生的情況下才發(fā)送的EKay[IDx||M||EKxa[IDx||H(M)]||T]。雙方都必須信任A處理爭議是公正的。只要A遵循上述要求,則X相信沒有人可以偽造其簽名;Y相信X不能否認其簽名。上述情況還隱含著A可以看到X給Y的所有信息,因而所有的竊聽者也能看到。仲裁數(shù)字簽名技術(shù)對稱加密,仲裁者不能看到消息內(nèi)容。該方案的前提是每個用戶都有與仲裁者共享的秘密密鑰,而且兩兩用戶間也有共享密鑰。數(shù)字簽名過程如下:(1)XA:IDx||EKxy[M]||EKxa[IDx||H(EKxy[M])](2)AY:EKay[IDx||EKxy[M]||EKxa[IDx||H(EKxy[M])]||T]本方案雖然對消息M提供了保密性,但是仍存在與方案一相同的問題:(1)仲裁者和發(fā)送方可以合謀來否認曾經(jīng)發(fā)送過的消息(2)仲裁者和接收方可以合謀來偽造發(fā)送方發(fā)的簽名。仲裁數(shù)字簽名技術(shù)公鑰加密,仲裁者不能看到消息內(nèi)容。該方案的前提是每個用戶都能安全獲取仲裁者和其它用戶的公開密鑰。數(shù)字簽名過程如下:(1)XA:IDx||EKRx[IDx||EKUy(EKRx[M])](2)AY:EKRa[IDx||EKUy[EKRx[M]]||T]KRx是用戶X的私鑰,KUy是用戶Y的公鑰。這種內(nèi)部、雙重加密的消息對A以及對除Y以外的其它人都是安全的。本模式比上述兩個模式具有以下好處:1、在通信之前各方之間無須共享任何信息,從而避免了聯(lián)手作弊;2、即使KRx暴露,只要KRa未暴露,不會有錯誤標(biāo)定日期的消息被發(fā)送;3、從X發(fā)送給Y的消息的內(nèi)容對A和任何其他人是保密的。基于RSA的數(shù)字簽名基于RSA公鑰密碼體制的數(shù)字簽名方案通常稱為RSA數(shù)字簽名方案。RSA數(shù)字簽名體制的基本算法可以表述如下:1.密鑰的生成(與加密系統(tǒng)一樣)

公鑰Pk={e,n};私鑰Sk={d,p,q}。2.簽名過程(用d,n)

用戶A對消息M∈Zn進行簽名,計算S=Sig(H(M))=H(M)dmodn;并將S附在消息M后作為對用戶對消息M的簽名。3.驗證過程(用e,n)

給定(M,S),Ver(M,S)為真,當(dāng)且僅當(dāng)H(M)=Se(modn)成立RSA簽名中注意的問題(1)上述RSA數(shù)字簽名算法采用了對整個消息進行簽名的方法,由于公開密鑰密碼體制一般速度都比較慢,這樣當(dāng)消息比較長時,整個簽名與驗證過程都會相當(dāng)?shù)穆?2)RSA數(shù)字簽名算法的安全性取決于RSA公開密鑰密碼算法的安全性(基于大整數(shù)分解的困難性)。如果消息M1、M2的簽名分別是S1和S2,則任何知道M1,S1,M2,S2的人都可以偽造對消息M1M2的簽名S1S2,這是因為在RSA的數(shù)字簽名方案中,

Sig(M1M2)=Sig(M1)Sig(M2)。(4)任何人都可以通過獲取某一用戶的公鑰e,并對某一Y∈Zn計算M=Yemodn來偽造該用戶對隨機消息M的簽名Y,聲稱Y是該用戶對消息M的數(shù)字簽名,因為sig(M)=Md

=(Ye)d

=Y(jié)modn。

Elgamal數(shù)字簽名方案ElGamal數(shù)字簽名方案是T.ElGamal在1985年發(fā)表關(guān)于ElGamal公開密鑰密碼時給出的兩個方案之一。簽名過程如下:(1)系統(tǒng)初始化過程,同加密算法,用來設(shè)置系統(tǒng)公共參數(shù)和用戶的密鑰。公鑰為(p,g,y),私鑰為(x:1≤x<p-1),其中有y=gxmodp(2)簽名過程,給定消息M,簽名者A將進行

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論