電子商務安全技術(shù)第04章數(shù)字簽名技術(shù)與應用_第1頁
電子商務安全技術(shù)第04章數(shù)字簽名技術(shù)與應用_第2頁
電子商務安全技術(shù)第04章數(shù)字簽名技術(shù)與應用_第3頁
電子商務安全技術(shù)第04章數(shù)字簽名技術(shù)與應用_第4頁
電子商務安全技術(shù)第04章數(shù)字簽名技術(shù)與應用_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第三章 數(shù)字簽名技術(shù)與應用3.1 3.1 數(shù)字簽名的基本原理。數(shù)字簽名的基本原理。3.2 3.2 幾種常用的數(shù)字簽名技術(shù)。幾種常用的數(shù)字簽名技術(shù)。3.3 3.3 美國數(shù)字簽名標準美國數(shù)字簽名標準(DSS(DSS) )。3.1 數(shù)字簽名的基本原理數(shù)字簽名的基本原理數(shù)字簽名的要求數(shù)字簽名的要求(1 1)收方能夠確認或證實發(fā)方的簽名,但不能偽造。)收方能夠確認或證實發(fā)方的簽名,但不能偽造。(2 2)發(fā)方發(fā)出簽名的消息送收方后,就不能再否認他)發(fā)方發(fā)出簽名的消息送收方后,就不能再否認他所簽發(fā)的信息。所簽發(fā)的信息。(3 3)收方對已收到的簽名消息不能否認,即有收到認)收方對已收到的簽名消息不能否認,即有

2、收到認證。證。(4 4)第三者可以確認收發(fā)雙方之間的消息傳送,但不)第三者可以確認收發(fā)雙方之間的消息傳送,但不能偽造這一過程。能偽造這一過程。 數(shù)字簽名數(shù)字簽名(Digital Signature):(Digital Signature):指發(fā)送者根據(jù)消息產(chǎn)生摘要,并對摘要用自身的簽名指發(fā)送者根據(jù)消息產(chǎn)生摘要,并對摘要用自身的簽名私鑰進行加密。消息和用自身簽名私鑰加密的數(shù)字摘私鑰進行加密。消息和用自身簽名私鑰加密的數(shù)字摘要組合成數(shù)字簽名。要組合成數(shù)字簽名。 數(shù)字簽名數(shù)字簽名的定義的定義數(shù)字簽名的作用數(shù)字簽名的作用 驗證消息發(fā)送方的身份驗證消息發(fā)送方的身份 驗證消息內(nèi)容的完整性驗證消息內(nèi)容的完整

3、性 B2C安全控制安全控制SETSET發(fā)卡銀行發(fā)卡銀行$銀行專網(wǎng)銀行專網(wǎng)SET/PKI認證中心認證中心CAPKISET/SSLSET/SSLPKIPKISET/SSL物流公司物流公司虛擬商店虛擬商店Trade Server收單銀行收單銀行Payment Gateway$Browser/Wallet消費者消費者InternetB2B安全控制安全控制PKI/SSLPKI/SSL發(fā)卡銀行發(fā)卡銀行$銀行專網(wǎng)銀行專網(wǎng)PKI/SSL認證中心認證中心CAPKI/SSLPKI/SSLPKI/SSL物流公司物流公司虛擬商店虛擬商店Trade Server收單銀行收單銀行Payment Gateway$Inter

4、net虛擬商店虛擬商店Trade ServerB2G安全控制安全控制PKI/SSLPKI/SSL發(fā)卡銀行發(fā)卡銀行$銀行專網(wǎng)銀行專網(wǎng)PKI/SSL認證中心認證中心CAPKI/SSLPKI/SSLPKI/SSL物流公司物流公司虛擬商店虛擬商店Trade Server收單銀行收單銀行Payment Gateway$Internet政政 府府數(shù)字簽名與手工簽名的區(qū)別數(shù)字簽名與手工簽名的區(qū)別數(shù)字簽名數(shù)字簽名數(shù)字的,因消息而異數(shù)字的,因消息而異手工簽名手工簽名模擬的,因人而異模擬的,因人而異數(shù)字簽名與消息認證的區(qū)別數(shù)字簽名與消息認證的區(qū)別數(shù)字簽名數(shù)字簽名第三者可以確認收發(fā)雙方的消息傳送第三者可以確認收發(fā)雙

5、方的消息傳送消息認證消息認證只有收發(fā)雙方才能確認消息的傳送只有收發(fā)雙方才能確認消息的傳送數(shù)字簽名的分類數(shù)字簽名的分類對整個消息的簽名對整個消息的簽名對壓縮消息的簽名對壓縮消息的簽名若按明、密文的對應關(guān)系劃分,每一種又可分為:若按明、密文的對應關(guān)系劃分,每一種又可分為:確定性數(shù)字簽名:確定性數(shù)字簽名:明文與密文一一對應,它對一特定明文與密文一一對應,它對一特定消息的簽名不變化。消息的簽名不變化。 隨機化或概率式數(shù)字簽名:隨機化或概率式數(shù)字簽名:它對同一消息的簽名是隨它對同一消息的簽名是隨機變化的,取決于簽名算法中的隨機參數(shù)和取值。機變化的,取決于簽名算法中的隨機參數(shù)和取值。 數(shù)字簽名的組成數(shù)字簽

6、名的組成簽名算法簽名算法秘密的秘密的驗證算法驗證算法公開的公開的對對M M的簽名可簡記為:的簽名可簡記為: SigSig(M M)=s =s 或或 SigSigk k(M M)或)或 SigSigk k(M M,k k) 一個簽名體制可由量一個簽名體制可由量(M,S,K,V)表示:表示: M是明文空間是明文空間 S是簽名的集合是簽名的集合 K是密鑰空間是密鑰空間 V證實函數(shù)的值域,由真、偽組成證實函數(shù)的值域,由真、偽組成數(shù)字簽名的驗證數(shù)字簽名的驗證簽名算法:簽名算法: s=Sigs=Sigk k(m m)S S驗證算法:驗證算法: VerVerk k(s,m) (s,m) 真,偽真,偽 驗證簽

7、名的真?zhèn)危候炞C簽名的真?zhèn)危荷⒘泻瘮?shù)(散列函數(shù)(Hash function)數(shù)字簽名的要求數(shù)字簽名的要求3.2 幾種常用的數(shù)字簽名技術(shù)幾種常用的數(shù)字簽名技術(shù)(1 1)RSA簽名簽名(2)ElGamal簽名簽名(3)盲簽名)盲簽名(4)多重簽名)多重簽名(5)代理簽名)代理簽名 (1)RSA簽名簽名RSA算法不僅可用于信息加密算法不僅可用于信息加密,還可用于數(shù)字簽名。還可用于數(shù)字簽名。 RSA算法的理論基礎(chǔ):算法的理論基礎(chǔ):大數(shù)分解:大數(shù)分解:兩個大素數(shù)相乘在計算上是容易實現(xiàn)的兩個大素數(shù)相乘在計算上是容易實現(xiàn)的,但將該乘積分解為兩個大素數(shù)因子的計算量卻相當,但將該乘積分解為兩個大素數(shù)因子的計算量卻

8、相當巨大。巨大。 素數(shù)檢測:素數(shù)檢測:素數(shù)檢測就是判定一個給定的正整數(shù)是素數(shù)檢測就是判定一個給定的正整數(shù)是否為素數(shù)。否為素數(shù)。 RSA簽名的具體過程簽名的具體過程RSA簽名的過程:簽名的過程:設計密鑰,設計簽名,驗證簽名設計密鑰,設計簽名,驗證簽名(1 1)設計密鑰:先選取兩個互素的大素數(shù))設計密鑰:先選取兩個互素的大素數(shù)P P和和Q Q,令,令N=PN=PQ Q, z=(P-1) z=(P-1) (Q-1)(Q-1),接著尋求加密密鑰,接著尋求加密密鑰e e,使,使e e滿足(滿足(e, e, (N)(N))=1=1,另外,再尋找解密密鑰另外,再尋找解密密鑰d d,使其滿足,使其滿足gcd

9、(d, z)=1,egcd (d, z)=1,ed=1(mod z)d=1(mod z)。這里的(。這里的(N,eN,e)就是公開的加密密鑰。()就是公開的加密密鑰。(N,d)就是私鑰。)就是私鑰。(2 2)設計簽名:對消息)設計簽名:對消息M M進行簽名進行簽名,其簽名過程是:,其簽名過程是: S=SigS=Sig(M M)=M=Md d (mod N)(mod N)(3 3)驗證簽名:對)驗證簽名:對S按下式進行驗證:按下式進行驗證: M=SM=Se e (mod N)(mod N),如果,如果M=MM=M,則簽名為真,則簽名為真RSA簽名舉例簽名舉例(1)若)若Bob選擇了選擇了p=11

10、和和q13(2)那么,)那么,n=11 13=143, (n)=1012120(3)再選取一個與再選取一個與z=120互質(zhì)的數(shù)互質(zhì)的數(shù),例如例如e=7(4)找到)找到一個值一個值d=103d=103滿足滿足e ed=1 mod zd=1 mod z (7 7103=721103=721除除以以120120余余1 1)(5 5)()(143,7143,7)為公鑰,()為公鑰,(143143,103103)為私鑰。)為私鑰。(6)Bob在一個目錄中公開公鑰:在一個目錄中公開公鑰:n=143和和e=7(7)現(xiàn)假設)現(xiàn)假設Bob想發(fā)送消息想發(fā)送消息85給給Alice,他用自己的密鑰,他用自己的密鑰(d

11、=103)進行簽名:)進行簽名:85103(mod 143)=6,于是發(fā)送消息,于是發(fā)送消息85和簽名和簽名6給給Alice(8)當)當Alice接收到消息接收到消息85和簽名和簽名6時,用時,用Bob公開的公鑰公開的公鑰(e7)進行驗證:)進行驗證:67(mod 143)=85,跟,跟Bob發(fā)送的消息發(fā)送的消息一致,于是確定該消息是由一致,于是確定該消息是由Bob所發(fā)送,且沒有被修改。所發(fā)送,且沒有被修改。相同點相同點RSA簽名和簽名和RSA加密的異同點加密的異同點都使用一對密鑰:公鑰和私鑰都使用一對密鑰:公鑰和私鑰不同點不同點RSA加密:用公鑰加密,用私鑰解密加密:用公鑰加密,用私鑰解密R

12、SA簽名:用私鑰簽名,用公鑰驗證簽名:用私鑰簽名,用公鑰驗證(2)ElGamal簽名簽名ElGamal算法由算法由T.ElGamal在在1985年提出,其修正形式年提出,其修正形式已被美國已被美國NIST作為數(shù)字簽名標準(作為數(shù)字簽名標準(DSS)。)。ElGamal算法既可用于信息加密算法既可用于信息加密,也,也可用于數(shù)字簽名??捎糜跀?shù)字簽名。 ElGamal算法的理論基礎(chǔ):算法的理論基礎(chǔ):求解離散對數(shù)的困難性:求解離散對數(shù)的困難性:求解離散對數(shù)是模指數(shù)運算的逆過程,例如求求解離散對數(shù)是模指數(shù)運算的逆過程,例如求x x,使,使得得x x滿足滿足 3 3x (mod 17)=15對于素數(shù)域上尋

13、求離散對數(shù)的復雜性等同于對大整數(shù)對于素數(shù)域上尋求離散對數(shù)的復雜性等同于對大整數(shù)n進行因子分解的復雜性進行因子分解的復雜性ElGamal簽名的過程簽名的過程ElGamal簽名的過程:簽名的過程:設計密鑰,設計簽名,驗證簽名設計密鑰,設計簽名,驗證簽名(1 1)設計密鑰:)設計密鑰:首先選擇一個素數(shù)首先選擇一個素數(shù)p p,兩個隨機數(shù):,兩個隨機數(shù):g g和和x x,g, x g, x p, p, 計算計算 y = gx ( mod p )y = gx ( mod p ),則其公鑰為,則其公鑰為 y, g y, g 和和p p。私鑰是。私鑰是x x。(2 2)設計簽名:對消息)設計簽名:對消息M M

14、進行簽名進行簽名,其簽名過程是:,其簽名過程是: 先選擇一個隨機數(shù)先選擇一個隨機數(shù)k, kk, k與與p-1p-1互質(zhì),計算互質(zhì),計算r=gk ( mod p )r=gk ( mod p ) S=(H(M)-xr) k S=(H(M)-xr) k-1(mod p-1)(mod p-1),則簽名,則簽名S=Sig(M,k)=(M,r,s)S=Sig(M,k)=(M,r,s)(3 3)驗證簽名:對)驗證簽名:對S按下式進行驗證:按下式進行驗證: y yk r rs= g= gH(M) (mod p) (mod p),如果相等,則簽名為真,如果相等,則簽名為真對同一消息對同一消息M,由于隨機數(shù),由于

15、隨機數(shù)k不同而有不同的簽名值不同而有不同的簽名值(M,r,s) (3)盲簽名)盲簽名盲簽名(盲簽名(blind signature)是一種允許一個人讓另是一種允許一個人讓另一個人簽署文檔,而第一個人不向簽名者泄露任何關(guān)于一個人簽署文檔,而第一個人不向簽名者泄露任何關(guān)于文檔內(nèi)容的技術(shù)。文檔內(nèi)容的技術(shù)。 盲簽名的過程:盲簽名的過程:(1 1)AliceAlice將文件將文件M M乘一個隨機數(shù)得乘一個隨機數(shù)得M M,這個隨機數(shù)通常稱,這個隨機數(shù)通常稱為盲因子,為盲因子,AliceAlice將盲消息將盲消息M M送給送給BobBob;(2 2)BobBob在在M M上簽名后,將其簽名上簽名后,將其簽名

16、SigSig(M M)送回)送回AliceAlice;(3)Alice通過除去盲因子,可從通過除去盲因子,可從Bob關(guān)于關(guān)于M的簽名的簽名Sig(M)中得到)中得到Bob關(guān)于原始文件關(guān)于原始文件M M的簽名的簽名Sig(M)。)。(4)多重簽名)多重簽名 多重數(shù)字簽名的目的是將多個人的數(shù)字簽名匯總成一多重數(shù)字簽名的目的是將多個人的數(shù)字簽名匯總成一個簽名數(shù)據(jù)進行傳送,簽名收方只需驗證一個簽名便可個簽名數(shù)據(jù)進行傳送,簽名收方只需驗證一個簽名便可確認多個人的簽名。確認多個人的簽名。設設U U1 1,U U2 2,U Un n為為n n個簽名者,他們的密鑰分別為個簽名者,他們的密鑰分別為x xi i,

17、相應,相應的公鑰為的公鑰為y yi i=g=gxi xi mod pmod p(i=1i=1,2 2,n n)。)。他們所形成的對消息他們所形成的對消息m m的的n n個簽名分別為(個簽名分別為(r ri i,s si i),其中),其中r ri i=g=gkiki mod p mod p和和s si i=x=xi im+km+ki ir mod p-1r mod p-1(i=1i=1,2 2,n n),這),這里里r rr ri i mod p mod p,形成的簽名(,形成的簽名(r ri i,s si i)滿足方程)滿足方程g gsisi=y=yi im mr ri ir r mod p

18、mod p。n個簽名人最后形成的多重簽名為:(個簽名人最后形成的多重簽名為:(m,r,s)=(m,ri mod p,Si mod p-1),它滿足方程),它滿足方程gs=ymrr mod p,其中,其中y=yi mod p。 (5)代理簽名)代理簽名 代理簽名的目的是當某簽名人因公務或身體健康等原代理簽名的目的是當某簽名人因公務或身體健康等原因不能行使簽名權(quán)力時,將簽名權(quán)委派給其他人替自己因不能行使簽名權(quán)力時,將簽名權(quán)委派給其他人替自己行使簽名權(quán)。行使簽名權(quán)。 假設假設A A委托委托B B進行代理簽名,則簽名必須滿足三個最基本的進行代理簽名,則簽名必須滿足三個最基本的條件:條件:(1 1)簽名收方能夠像驗證)簽名收方能夠像驗證A A的簽名那樣驗證的簽名那樣驗證B B的簽名;的簽名;(2 2)A A的簽名和的簽名和B B的簽名應當完全不同,并且容易區(qū)分;的簽名應當完全不同,并且容易區(qū)分;(3 3)A A和和B B對簽名事實不可否認。對簽名事實不可否認。3.3 美國數(shù)字簽名標準(美國數(shù)字簽名標準(DSSDSS) 1994年美國國家標準與技術(shù)學會年美國國家標準與技術(shù)學會NIST公布了數(shù)公布了數(shù)字簽名標準字簽名標準(DSS,Digital Signature Standard ); DSS標準采用的算法是標準采用的算法是DSA(Digital Signa

溫馨提示

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

最新文檔

評論

0/150

提交評論