信息技術-趙澤茂-第六章ppt_第1頁
信息技術-趙澤茂-第六章ppt_第2頁
信息技術-趙澤茂-第六章ppt_第3頁
信息技術-趙澤茂-第六章ppt_第4頁
信息技術-趙澤茂-第六章ppt_第5頁
已閱讀5頁,還剩27頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

6.1數字簽名的原理6.2RSA數字簽名和加密6.3Schnorr數字簽名6.4DSA數字簽名6.5特殊的數字簽名6.6數字簽名的應用小結習題生活中常用的合同、遺囑、收養關系和夫妻財產關系證明等都需要簽名或印章,在將來發生糾紛時用來證明其真實性。一些重要證件,如護照、身份證、駕照、畢業證和技術等級證書等都需要授權機構蓋章才有效。書信的親筆簽名,公文、證件的印章等起到核準、認證和生效的作用。6.1數字簽名的原理在網絡環境下,我們如何保證信息的真實性呢?這就需要數字簽名技術,它可以解決下列情況引發的爭端:發送方不承認自己發送過某一報文;接收方自己偽造一份報文,并聲稱它來自發送方;網絡上的某個用戶冒充另一個用戶接收或發送報文;接收方對收到的信息進行篡改。

正是由于數字簽名具有獨特的作用,在一些特殊行業(比如金融、商業、軍事等)有著廣泛的應用。

數字簽名離不開公鑰密碼學,在公鑰密碼學中,密鑰由公開密鑰和私有密鑰組成。數字簽名包含兩個過程:簽名過程(即使用私有密鑰進行加密)和驗證過程(即接收方或驗證方用公開密鑰進行解密)。由于從公開密鑰不能推算出私有密鑰,因此公開密鑰不會損害私有密鑰的安全。公開密鑰無須保密,可以公開傳播,而私有密鑰必須保密。因此,若某人用其私有密鑰加密消息,用其公開密鑰正確解密,就可肯定該消息是某人簽名的。因為其他人的公開密鑰不可能正確解密該加密過的消息,其他人也不可能擁有該人的私有密鑰而制造出該加密過的消息,這就是數字簽名的原理。從技術上來講,數字簽名其實就是通過一個單向函數對要傳送的報文(或消息)進行處理,產生別人無法識別的一段數字串,這個數字串用來證明報文的來源并核實報文是否發生了變化。在數字簽名中,私有密鑰是某個人知道的秘密值,與之配對的唯一公開密鑰存放在數字證書或公共數據庫中,用簽名人掌握的秘密值簽署文件,用對應的數字證書進行驗證。

任何公鑰密碼體制,當用私鑰簽名時,接收方可認證簽名人的身份;當用接收方的公鑰加密時,只有接收方能夠解密。這就是說,公鑰密碼體制即可用作數字簽名,也可用作加密。6.2RSA數字簽名和加密

1.RSA數字簽名

設A為簽名人,任意選取兩個大素數p和q,計算n=pq,φ(n)=(p-1)(q-1);隨機選擇整數e<φ(n),滿足GCD(e,φ(n))=1;計算整數d,滿足ed≡1(modφ(n))。p、q和φ(n)

保密,A的公鑰為(n,e),私鑰為d。

簽名過程:對于消息m(m<n),計算s=md(modn),則簽名為(m,s),并將其發送給接收人或驗證人。

驗證過程:接收人或驗證人收到簽名(m,s)后,利用A的公鑰,計算=se(modn),檢查=m是否成立。如果成立,則簽名正確;否則,簽名不正確。簽名正確性證明:若簽名正是A所簽,則有=se=(md)e=med=m(modn)。

分析:在該簽名方案中,任何人都可以用A的公鑰進行驗證,而且可以獲得原文,不具備加密功能。如果消息m>n,則可用哈希函數h進行壓縮,計算s=(h(m))d(modn),接收

方或驗證方收到(m,s)后,先計算=se(modn),然后檢查

=h(m)是否成立,即可驗證簽名是否正確。在這里,可以判斷m是否被篡改。如果m包含重要的信息,不能泄露,那么簽名還需要進行加密處理后再傳送。

2.RSA加密

RSA加密是常用的方案,此處介紹的目的是與簽名方案進行對比,便于用法上的區分。

不妨設接收人B的公鑰e和私鑰d保密,其他參數如上所述。A要將秘密信息m傳輸給B,先從公共數據庫中查找到B的公鑰e,然后計算密文c=me(modn),再將c發送給B。

B收到密文c后,計算m=cd(modn),從而恢復明文。因為只有B才可能利用其私鑰d解密,對m起到保密的作用。Schnorr數字簽名方案是ElGamal型簽名方案的一種變形,該方案由Schnorr于1989年提出,包括初始過程、簽名過

程和驗證過程。

1.初始過程

(1)系統參數:大素數p和q滿足q|p-1,q≥2160是整數,p≥2512是整數,確保在Zp中求解離散對數的困難性;g∈Zp,且滿足gq=1(modp),g≠1;h為單向哈希函數。

p、q、g作為系統參數,供所有用戶使用,在系統內公開。6.3Schnorr數字簽名(2)用戶私鑰:用戶選取一個私鑰x,1<x<q,保密。

(3)用戶公鑰:用戶的公鑰y,y=gx(modp),公開。

2.簽名過程

用戶隨機選取一個整數k,k∈Zq*,計算r=gk(modp),e=h(r,m),s=k-xe(modq),(e,s)為用戶對的簽名。

3.驗證過程

接收者收到消息m和簽名(e,s)后,先計算r′=gsye(modp),然后計算e′=h(r′,m),

檢驗e′=e是否成立。如果成立,則簽名有效;否則,簽名無效。

若(e,s)為合法簽名,則有

gsye=gk-xegxe=gk=r(modp)

所以當簽名有效時,上式成立,從而說明驗證過程是正確的。1991年8月美國國家標準局(NIST)公布了數字簽名標準(DigitalSignatureStandard,DSS),此標準采用的算法稱為數字簽名算法(DigitalSignatureAlgorithm,DSA),它作為

ElGamal和Schnorr簽名算法的變種,其安全性基于離散對數難題;并且采用了Schnorr系統中g為非本原元的做法,以降低其簽名文件的長度。方案包括初始過程、簽名過程和驗證過程。6.4DSA數字簽名

1.初始過程

(1)系統參數:大素數p和q滿足q|p-1,2511<p<21024,2159<q<2160,確保在Zp中求解離散對數的困難性;g∈Zp,且滿足g=h(p-1)/q(modp),其中h為整數,1<h<p-1且h(p-1)/q(modp)>1。p、q、g作為系統參數,供所有用戶使用,在系統內公開。

(2)用戶私鑰:用戶選取一個私鑰x,1<x<q,保密。(3)用戶公鑰:用戶的公鑰y,y=gx(modp),公開。

2.簽名過程

對待簽消息m,設0<m<p。簽名過程如下:

(1)生成一隨機整數k,k∈Zq*;

(2)計算r=gkmodp(modq);

(3)計算s=k-1(h(m)+xr)(modq)。

(r,s)為簽名人對m的簽名。

3.驗證過程

驗證過程如下:

(1)檢查r和s是否屬于[0,q],若不是,則(r,s)不是簽名;

(2)計算t=s-1(modq),r′=gh(m)t(modq)yrt(modq)modp(modq);

(3)比較r′=r是否成立。若成立,則(r,s)為合法簽名。關于DSA的正確性證明,需要用到中間結論:對于任何整數t,若g=h(p-1)/q(modp),則

gt(modp)=gt(modq)(modp)。證明:因為GCD(h,p)=1,根據費爾馬定理有hp-1=1(modp)。對任意整數n,有gnq(modp)=(h(p-1)/qmodp)nq(modp)=hn(p-1)(modp)=(hp-1modp)n(modp)=1n(modp)=1

對于任意整數t,可以表示為t=nq+z,其中n、q是非負整數,0<z<q,因此有gt(modp)=gnq+z(modp)=(gnqmodp)(gzmodp)=gz(modp)=gt(modq)(modp)

若(r,s)為合法簽名,則有

gh(m)t(modq)yrt(modq)modp(modq)

=g(h(m)+xr)t(modq)modp(modq)

=g(h(m)+xr)s-1(modq)modp(modq)

=gkmodp(modq)

=r在現實生活中,數字簽名的應用領域廣泛且多樣,因此,能適應某些特殊要求的數字簽名技術也應運而生。如為了保護信息擁有者的隱私,要求簽名人不能看見所簽信息,于是就有了盲簽名的產生;簽名人委托另一個人代表他簽名,于是就有了代理簽名的概念等。正是這些應用的需要,各種各樣的特殊的數字簽名研究一直是數字簽名研究領域非常活躍的部分,也產生了很多分支。下面分別介紹這些特殊數字簽名的概念。6.5特殊的數字簽名盲簽名:指簽名人不知道所簽文件內容的一種簽名。也就是說,文件內容對簽名人來說是保密的。如遺囑,立遺囑人不希望遺囑被有關利益人(包括證人在內)知道,但又需要證明是生前的真實愿望;這就需要盲簽名來解決這個難題。證人只需對遺囑簽名,將來某天證明其真實性即可,無需知道其中的具體內容。盲簽名這一性質還可以結合到其他的簽名方案中,形成新的簽名方案,如群盲簽名、盲代理簽名、代理盲簽名、盲環簽名等。代理簽名:指簽名人將其簽名權委托給代理人,由代理人代表他簽名的一種簽名。代理簽名的形式非常多,如多重代理簽名、代理多重簽名等。

簽名加密:這種簽名同時具有簽名和加密的功能,它的系統和傳輸開銷要小于先簽名后加密兩者的和。該技術能同時達到簽名與加密雙重目的。

多重簽名:指由多人分別對同一文件進行簽名的特殊數字簽名。多重簽名是一種基本的簽名方式,它與其他數字簽名形式相結合又派生出許多其他簽名方式,如代理多重簽名、多重盲簽名等。群簽名:指由個體代表群體執行的簽名,驗證者從簽名不能判定簽名者的真實身份,但能通過群管理員查出真實簽名者。這是近幾年的一個研究熱點,研究重點放在群公鑰的更新、簽名長度的固定和群成員的加入與撤消等方面。

環簽名:指一種與群簽名有許多相似處的簽名形式,它的簽名者身份是不可跟蹤的,具有完全匿名性。前向安全簽名:主要是考慮密鑰的安全性,簽名私鑰能按時間段不斷更新,而驗證公鑰卻保持不變。攻擊者不能根據當前時間段的私鑰推算出先前任一時間段的私鑰,從而達到不能偽造過去時間段的簽名的目的,對先前的簽名進行了保護。這種思想能應用到各種類型的簽名中,可提高系統的安全性。在當前設計出的前向安全私鑰更新方法中,私鑰更新次數多數是有界的,也就是說,過期需要重新設置公鑰,這個問題已有人提出,但尚未見到有效的解決方案。雙線性對技術:這是目前的熱點研究領域,近幾年來才應用于數字簽名。它是利用超奇異橢圓曲線中Weil對和Tate對所具有的雙線性性質,構造各種性能良好的數字簽名方案。

此外,還有門限共享、失敗-停止簽名、不可否認簽名、零知識簽名等許多分支。數字簽名技術最早應用于用戶登錄過程。對于大多數用戶來講,用戶名和口令已習以為常了,其中隱含的簽名技術可能并不為人所知。推動數字簽名廣泛應用的最大功臣應當是PKI技術。在各國政府的積極支持下,PKI作為電子商務、電子政務的技術平臺,使得技術應用、商業價值、生產力提高成為有機的整體,得到了長足的發展,數字證書的概念已逐漸被越來越多的人所接受,極大地促進了信息化建設的進程。到目前為止,全國各省市幾乎都建立了自己的CA認證中心,這些CA中心的數字證書及相關應用方案被廣泛應用于網上報關、網上報稅、網上報檢、網上辦公、網上招投標、網上采購、數字工商等大型電子政務和電子商務工程。6.6數字簽名的應用下面通過一個電子印章系統說明數字簽名技術的應用(引自http://)。

iSignature電子簽章系統是一套基于Windows平臺采用ActiveX技術開發的應用軟件,它可以在Word、Excel、Html文件上加蓋電子印章和手寫簽名,并將該簽章和文件綁定在

一起,一旦被綁定的文件內容發生改變(非法篡改或傳輸錯誤),簽章將失效。只有合法擁有印章鑰匙盤并且有密碼權限的用戶才能在文件上加蓋電子簽章。并可通過密碼驗證、簽名驗證、數字證書等身份驗證方式驗證用戶身份,查看和驗證數字證書的可靠性。iSignature電子簽章系統的技術特點主要有采用第三方CA認證機構的數字證書、用數字證書和電子印章或手寫簽名信息綁定、系統為每一個電子印章生成唯一序列編號、采用

標準的散列算法(HASH)產生文件內容數字摘要、采用標準的RSA和DES算法加密電子文件、采用智能鑰匙盤存儲印章和簽名以及密鑰信息、支持多個廠商的智能鑰匙盤和標準第三

方CA認證機構等。個人私鑰保存到USB接口的一種集智能卡和讀寫器于一體的USB加密鑰匙EKEY里面。iSignature電子簽章系統操作流程如圖6-6-1所示。數字簽名技術還廣泛應用于電子郵件、數據交換、電子交易和電子貨幣等領域。安全電子交易SET是VISA和MasterCard兩大信用卡公司和多家科技公司于1997年制定的一個在Internet上進行的在線交易的安全標準。SET提供了消費者、商家和銀行間的認證,確保了交易數據的安全、完整可靠和交易的不可否認,特別是保證了消費者的隱私。SET已經成為目前最流行通用的安全電子商務標準,它的核心技術主要有公開密鑰加密、數字簽名、數字證書、數字信封等。SET協議中的數字簽名技術之一是雙重簽名,雙重簽名的特性就是把發給兩個不同通信實體的兩個不同消息聯系在一起,兩個通信實體都可以驗證該雙重簽名。例如,典型的B2C電子商務中有顧客、商家、支付網關(銀行)等角色。顧客選定所需商品后向商家發出訂購信息,并向銀行發出支付信息,這些重要信息都需要進行數字簽名,只有經確認后才能正式生效。圖6-6-1數字簽名應用(1)判斷電子數據真偽的依據是數字簽名。數字簽名其實就是通過一個單向函數對電子數據

溫馨提示

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

評論

0/150

提交評論