《數(shù)字簽名與信息隱藏.ppt》由會員分享,可在線閱讀,更多相關(guān)《數(shù)字簽名與信息隱藏.ppt(56頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、2020/8/5,1,第六講 數(shù)字簽名與信息隱藏,王志偉 Email: ,2020/8/5,2,課程內(nèi)容,數(shù)字簽名原理,鑒別協(xié)議,數(shù)字簽名算法,信息隱藏,4,1,2,3,5,數(shù)字水印,數(shù)字簽名及其應用,公鑰密碼體制為解決計算機信息網(wǎng)中的安全提供了新的理論和技術(shù)基礎。公鑰密碼體制的最大特點是采用兩個密鑰將加密和解密能力分開,使得通信雙方無需事先交換密鑰就可進行保密通信,從而大大減少了多實體通信網(wǎng)實體之間通信所需的密鑰量,便于密鑰管理。此外,公鑰體制的一個重要的特性是可用于實現(xiàn)數(shù)字簽字。數(shù)字簽名在信息安全,包括身份認證、數(shù)據(jù)完整性、不可否認性以及匿名性等方面有著重要的應用,特別是在大型網(wǎng)絡安全通信
2、中的密鑰分配、認證以及電子商務系統(tǒng)安全性等方面具有非常重要的作用。,2020/8/5,4,數(shù)據(jù)的易復制性,2020/8/5,5,簽名,2020/8/5,6,考慮兩種情形,Bob可以偽造一條消息并稱該消息發(fā)自Alice 使用Bob和Alice共享的密鑰產(chǎn)生認證碼,并附于消息之后 Alice可以否認曾發(fā)送某條消息 因為Bob可以偽造,所以無法證明Alice確實發(fā)送過消息,最吸引人的解決方案是數(shù)字簽名,2020/8/5,7,問題,當通信雙方發(fā)生了下列情況時,數(shù)字簽名技術(shù)必須能夠解決引發(fā)的爭端: 否認:發(fā)送方不承認自己發(fā)送過某一報文。 偽造:接收方自己偽造一份報文,并聲稱它來自發(fā)送方。 冒充:網(wǎng)絡上的
3、某個用戶冒充另一個用戶接收或發(fā)送報文。 篡改:接收方對收到的信息進行篡改。,2020/8/5,8,數(shù)字簽名原理和流程,公開密鑰算法對信息直接加密(作為數(shù)字簽名) 非常耗時 因此加密人員想出了一種辦法: 生成一個代表你的報文的簡短的、獨特的報文摘要 這個摘要可以被發(fā)送方的私有加密并作為發(fā)送方對該報文的數(shù)字簽名。 通常,產(chǎn)生報文摘要的快速加密算法被稱為單向散列函數(shù)。 MD5 SHA-1,數(shù)字簽名應滿足的要求,收方能夠確認或證實發(fā)方的簽名,但不能偽造,簡記為R1-條件(unforgeablity)。 發(fā)方發(fā)出簽名的消息給收方后,就不能再否認他所簽發(fā)的消息,簡記為S-條件(non-repudiatio
4、n)。 收方對已收到的簽名消息不能否認,即有收報認證,簡記作R2-條件。 第三者可以確認收發(fā)雙方之間的消息傳送,但不能偽造這一過程,簡記作T-條件。,2020/8/5,10,數(shù)字簽名,傳統(tǒng)簽名的基本特點: 能與被簽的文件在物理上不可分割 簽名者不能否認自己的簽名 簽名不能被偽造 容易被驗證 數(shù)字簽名是傳統(tǒng)簽名的數(shù)字化,基本要求: 能與所簽文件“綁定” 簽名者不能否認自己的簽名 簽名不能被偽造 容易被驗證,數(shù)字簽名體制,一個簽名體制可由量(M , S , K , V)其中M 是明文空間, S 是簽名的 集合, K 是密鑰空間, V 是證實函數(shù)的值域,由真、偽組成。 (1) 簽名算法:對每一MM和
5、kK,易于計算對M的簽名 S=Sigk(M)S 簽名密鑰是秘密的,只有簽名人掌握; (2)驗證算法:Verk(S, M)真,偽=0,1,(顯著的概率),驗證算法應當公開,已知M,S易于證實S是否為M的簽名,以便于他人進行驗證。,2020/8/5,12,問題,公鑰的管理,公鑰與身份的對應關(guān)系 簽名的有效性,私鑰丟失?,2020/8/5,13,數(shù)字證書,數(shù)字簽名用來保證信息傳輸過程中信息的完整和提供信息發(fā)送者的身份的確認。 數(shù)字證書采用公開密鑰體制(例如RSA)。 每個用戶設定一僅為本人所知的私有密鑰,用它進行解密和簽名; 同時設定一公開密鑰,為一組用戶所共享,用于加密和驗證
6、簽名。,2020/8/5,14,數(shù)字證書的作用,采用數(shù)字證書,能夠確認以下兩點: (1) 保證信息是由簽名者自己簽名發(fā)送的,簽名者不能否認或難以否認。 (2) 保證信息自簽發(fā)后到收到為止未曾做過任何修改,簽發(fā)的信息是真實信息。,2020/8/5,15,課程內(nèi)容,數(shù)字簽名原理,鑒別協(xié)議,數(shù)字簽名算法,信息隱藏,4,1,2,3,5,數(shù)字水印,2020/8/5,16,鑒別協(xié)議,報文鑒別往往必須解決如下的問題: (1) 報文是由確認的發(fā)送方產(chǎn)生的。 (2) 報文的內(nèi)容是沒有被修改過的。 (3) 報文是按傳送時的相同順序收到的。 (4) 報文傳送給確定的對方。,2020/8/5,17,鑒別方法,一種方法
7、是發(fā)送方用自己的私鑰對報文簽名,簽名足以使任何人相信報文是可信的。 另一種方法常規(guī)加密算法也提供了鑒別。但有兩個問題, 一是不容易進行常規(guī)密鑰的分發(fā), 二是接收方?jīng)]有辦法使第三方相信該報文就是從發(fā)送方送來的,而不是接收方自己偽造的。 因此,一個完善的鑒別協(xié)議往往考慮到四方面的鑒別。 報文源 報文宿 報文內(nèi)容 報文時間性,2020/8/5,18,NeedhamSchroeder協(xié)議,NeedhamSchroeder協(xié)議--利用常規(guī)加密方法進行雙向鑒別 采用了常規(guī)加密體制和密鑰分配中心KDC技術(shù)。 盡管這個協(xié)議本身存在一定的安全漏洞,但是后來發(fā)展的很多鑒別協(xié)議都是在NS NeedhamSchroe
8、der協(xié)議的基礎上擴展而成的。,2020/8/5,19,在該協(xié)議中,網(wǎng)絡中通信的各方與密鑰分配中心KDC共享一個主密鑰 這個主密鑰已通過其他安全的渠道傳送完成。 密鑰分配中心KDC為通信的雙方產(chǎn)生短期通信所需的會話密鑰 并通過主密鑰來保護這些密鑰的分發(fā)。,2020/8/5,20,(1)AKDC:(IDa,IDb,Ra) 通信方A將由自己的名字IDa,通信方B的名字IDb和隨機數(shù)Ra組成的報文傳給KDC。 (2)KDCA: EKa(Ra, IDb, Ks, EKb(Ks, IDa))。 KDC產(chǎn)生一隨機會話密鑰Ks。他用與通信方B共享的秘密密鑰Kb對隨機會話密鑰Ks和通信方A名字組成的報文加密。
9、然后用他和通信方A共享的秘密密鑰Ka對通信方A的隨機值、通信方B的名字、會話密鑰Ks和已加密的報文進行加密,最后將加密的報文傳送給通信方A。 (3)AB: EKb(Ks, IDa)。 通信方A將報文解密并提取Ks。他確認Ra與他在第(1)步中發(fā)送給KDC的一樣。然后他將KDC用通信方B的密鑰Kb加密的報文發(fā)送給通信方B。,協(xié)議步驟,2020/8/5,21,(4)BA: EKs(Rb) 通信方B對報文解密并提取會話密鑰Ks,然后產(chǎn)生另一隨機數(shù)Rb。他使用會話密鑰Ks加密它并將它發(fā)送給通信方A。 (5)AB: EKs(Rb-1) 通信方A用會話密鑰Ks將報文解密,產(chǎn)生Rb-1并用會話密鑰Ks對它加
10、密,然后將報文發(fā)回給通信方B。 (6)通信方B用會話密鑰Ks對信息解密,并驗證它是Rb-1,2020/8/5,22,盡管NeedhamSchroeder協(xié)議已經(jīng)考慮了重放攻擊,但是設計一個完美的沒有漏洞的鑒別協(xié)議往往是很困難的。 考慮一下這種情況:如果一個對手已經(jīng)獲得了一個舊的會話密鑰,那么在第(3)步中就可冒充通信方A向通信方B發(fā)送一個舊密鑰的重放報文,而此時通信方B無法確定這是個報文的重放。,NS協(xié)議的問題,2020/8/5,23,Denning對Needhamschroeder協(xié)議進行了修改,防止這種情況下的重放攻擊,其過程如下: (1)AKDC:(IDa,IDb)。 (2)KDCA:
11、EKa(T, IDb, Ks, EKb(T, Ks, IDa))。 (3)AB: EKb(T, Ks, IDa)。 (4)BA: EKs(Rb)。 (5)AB: EKs(Rb-1)。 在這個過程中,增加了時間戳T,向通信方A和B確保該會話密鑰是剛產(chǎn)生的,使得通信方A和B雙方都知道這個密鑰分配是一個最新的。,Denning的改進,2020/8/5,24,單向鑒別,第一個需求是電子郵件,報文的首部必須是明文的,以便報文能被SMTP處理,而郵件報文內(nèi)容應該加密。 第二個需求是鑒別。典型的是,收方想得到某種保證,即該報文確實是來自被認為的發(fā)方。如果使用常規(guī)加密方法進行發(fā)方和收方的直接鑒別,密鑰分配策略
12、是不現(xiàn)實的。這種方案需要發(fā)方向預期的收方發(fā)出請求,等待包括一個會話密鑰的響應,然后才能發(fā)送報文。?? 考慮到應該避免要求收方B和發(fā)方A同時在線,如下基于常規(guī)加密方法的方案解決了鑒別。,2020/8/5,25,(1)AKDC:(IDa,IDb, Ra)。 (2)KDCA: EKa(IDb, Ks, Ra, EKb(Ks, IDa))。 (3)AB: EKb(Ks, IDa) EKs(M)。 這個常規(guī)加密方案提供了對A的認證,并且保證只有B可以看到明文,但是會遭到重放攻擊。另外,如果在報文中加入時間戳,由于電子郵件潛在的時延,時間戳的作用非常有限。,2020/8/5,26,公開密鑰加密方法適合電
13、子郵件 AB: EKUb Ks || EksM 關(guān)心機密,比使用公鑰加密全文更高效 AB: M || EKRa H( M ) 關(guān)心鑒別,可能換簽名 AB: EKUb M, EKRa H( M ) 機密鑒別,2020/8/5,27,課程內(nèi)容,數(shù)字簽名原理,鑒別協(xié)議,數(shù)字簽名算法,信息隱藏,4,1,2,3,5,數(shù)字水印,2020/8/5,28,數(shù)字簽名標準,數(shù)字簽名算法主要有兩個算法組成 簽名算法 驗證算法 目前已有大量的數(shù)字簽名算法 RSA數(shù)字簽名算法 EIGamal數(shù)字簽名算法 橢圓線數(shù)字簽名算法 ,2020/8/5,29,兩種數(shù)字簽名方案,全局公鑰組KUG 簽名隨機數(shù)k 發(fā)送方私鑰KRa,
14、RSA簽名體制,(1) 體制參數(shù):令n=p1p2,p1和 p2是大素數(shù),令M=C=Zn,選e 并計算出 d 使ed1 mod (n),公開n和e,將p1,p2 和 d 保密。K=(n,p,q,e,d)。 (2) 簽名過程:對消息M Zn的簽名 S=Sigk(M)=Md mod n (3) 驗證過程:對給定的M和 S,可按下式驗證: Verk(M, S)=真 MSe mod n 在Internet中所采用的PGP(Pretty Good Privacy)中將RSA作為傳送會話密鑰和數(shù)字簽字的標準算法。,2020/8/5,35,RSA的缺點,兩個主要缺點: A)產(chǎn)生密鑰很麻煩,受到素數(shù)產(chǎn)生技術(shù)的限
15、制,因而難以做到一次一密。 B)分組長度太大,為保證安全性,n 至少也要 600 bits以上,使運算代價很高目前, SET(Secure Electronic Transaction)協(xié)議中要求CA采用2048比特長的密鑰,其他實體使用1024比特的密鑰。,2020/8/5,36,美國的數(shù)字簽名標準/算法(DSS/DSA),美國國家標準技術(shù)學會(NIST)的一個標準 它是ElGamal數(shù)字簽名算法的一個修改 當選擇p為512比特的素數(shù)時,ElGamal數(shù)字簽名的尺寸是1024比特,而在DSA中通過選擇一個160比特的素數(shù)可將簽名的尺寸降低為320比特,這就大大地減少了存儲空間和傳輸帶寬。,E
16、lGamal 簽名體制,(1) 體制參數(shù) p:一個大素數(shù),可使Zp中求解離散對數(shù)為困難問題; g:是Zp中乘群Zp*的一個生成元或本原元素; M:消息空間,為Zp*; S:簽名空間,為Zp*Zp1; x:用戶秘密鑰xZp*; ygx mod p K=(p, g, x, y):其中p,g,y為公鑰,x為秘密鑰。 (2) 簽名過程:給定消息M,發(fā)送者進行下述工作。 (a) 選擇秘密隨機數(shù)kZp*; (b) 計算: H(M), r=gk mod p,s=(H(M)xr)k-1 mod (p1) (c) 將Sigk(M, k) =S=(r||s)作為簽名,將M,(r||s)送給對方。 (3
17、) 驗證過程:接收者先計算H(M),并按下式驗證 Verk(H(M), r, s)=真 yrrsgH(M) mod p,數(shù)字簽名的安全性,安全性定義:存在(existential)/ 廣義(universal)偽造。必須注意的是,我們不考慮偽造消息的無意義性。 攻擊類型: 1.直接攻擊( Forge from scratch ) 2.選擇消息攻擊(CMA) 3.自適應選擇消息攻擊( Adaptive CMA ) 安全模型:Random Oracle Model;Standard Model,特殊性質(zhì)的簽名體制,普通的數(shù)字簽名具有廣義可驗證性,即任何人都可驗證某個簽名是否是對某個消息的簽名
18、。然而在某些情形下,特別是為了保護簽名者或接收者的隱私時,并不希望讓所有人都能驗證簽名--消息對。這就是數(shù)字簽名體制中廣義可驗證性和隱私性之間的矛盾。 一些特殊的性質(zhì)使得數(shù)字簽名在不同的情形下有更多的應用。,可控制驗證的簽名,不可否認簽名 指定確認者簽名 指定驗證者簽名 廣義指定驗證者簽名 廣義指定驗證者簽名證明 限制驗證者簽名 變色龍簽名,匿名性的簽名,盲簽名(完全盲簽名、部分盲簽名、限制性盲簽名、限制性部分盲簽名、公平盲簽名) 群簽名 群盲簽名 環(huán)簽名,其它性質(zhì)的簽名,消息恢復簽名 防失敗簽名 基于群體的簽名:門限簽名、多簽名 傳遞簽名 短簽名 在線-脫線簽名 聚合簽名 可驗證加密的簽名
19、代理簽名 前向(后向)安全的簽名 Please refer to http://icsd.i2r.a-star.edu.sg/staff/guilin/bible.htm,2020/8/5,43,課程內(nèi)容,數(shù)字簽名原理,鑒別協(xié)議,數(shù)字簽名標準,信息隱藏,4,1,2,3,5,數(shù)字水印,邊看邊思考 P142,2020/8/5,44,信息隱藏技術(shù)和加密技術(shù)有何異同? 數(shù)字水印有哪些算法?如何對數(shù)字水印進行攻擊?,2020/8/5,45,信息隱藏,是一門近年來蓬勃發(fā)展、引起人們極大興趣的學科 利用人類感覺器官對數(shù)字信號的冗余,將一個消息(通常為秘密消息)偽裝藏于另一個消息(通常為非機密的信息) 不同于
20、傳統(tǒng)的密碼學技術(shù) 信息隱藏將自己偽裝隱藏在環(huán)境中,2020/8/5,46,信息隱藏系統(tǒng)模型,2020/8/5,47,信息隱藏技術(shù)的主要分支與應用,2020/8/5,48,信息隱藏系統(tǒng)的特征,魯棒性(Robustness) 不因宿主文件的某種改動而導致因此信息丟失 不可檢測性(Undetectability) 指隱蔽宿主與原始宿主具有一致的特性 透明性(Invisibility) 目標數(shù)據(jù)沒有明顯的降質(zhì)現(xiàn)象,而隱藏的數(shù)據(jù)卻無法人為地看見或聽見 安全性(Security) 有較強的抗攻擊能力,2020/8/5,49,數(shù)據(jù)隱寫術(shù),替換系統(tǒng) 變換域技術(shù) 擴展頻譜技術(shù) 統(tǒng)計方法 失真技術(shù) 載體生成方法,
21、2020/8/5,50,替換系統(tǒng)-舉例,最低比特位替換LSB Least Significant Bit Embedding 圖片的每個像素使用字節(jié)存儲 黑白8bit 彩色3byte RGB 將信息藏在其中一個比特,2020/8/5,51,LSB替換結(jié)果,原圖,替換1位,替換8位,替換7位,2020/8/5,52,數(shù)字水印,各種形式的多媒體數(shù)字作用以網(wǎng)絡形式發(fā)表 迫切需要解決版權(quán)保護問題 數(shù)字水?。―igital Watermarking)應運而生,目的是鑒別出非法復制和盜用的數(shù)字產(chǎn)品 信息隱藏技術(shù)的重要分支,2020/8/5,53,數(shù)字水印特點,安全性 難以被篡改或偽造,同時有較低的誤檢測率 透明性 不可知覺的,不應明顯干擾被保護的數(shù)據(jù) 魯棒性 難以(最好是不可能)被除去 通用性 適用圖像、視頻、音頻 確定性 所有者等信息能夠唯一被鑒別確定,2020/8/5,54,應用領域,版權(quán)保護 加指紋 標題與注釋 篡改提示 使用控制,2020/8/5,55,作業(yè),請查閱資料,對比各種數(shù)字簽名算法的優(yōu)缺點。 信息隱藏技術(shù)和加密技術(shù)有何異同?,2020/8/5,56,The End,問題?,