




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
密碼協議基本理論密碼協議是指使用密碼技術的信息交換協議。所謂協議,就是兩個或者兩個以上的參與者為完成某項特定的任務而采取的一系列步驟。包含三層含義:協議自始至終是有序的過程,在前一步沒有執行之前,后面的步驟不能執行;協議至少需要兩個參與者;通過協議必須能夠完成某項任務。密碼協議的基本概念算法、協議、密碼協議算法:一系列步驟,完成一項任務。協議:一系列步驟,它包括兩方或多方,設計它的目的是要完成一項任務。協議中的每個參與者都必須了解協議,并且預先知道所要完成的步驟協議中的每個參與者都必須同意并遵循該協議協議必須是清楚的,每一步必須明確定義,并且不會引起誤解協議必須是完整的,對每種可能的情況必須規定具體的動作密碼協議(CryptographicProtocol):是使用密碼技術的協議協議的參與者可能是朋友和完全信任的人,或者也可能是敵人和互相完全不信任的人包含某種密碼算法,但通常協議的目的不僅僅是為了簡單的秘密性參與協議的各方可能為了計算一個數值想共享他們的秘密部分、共同產生隨機系列,確定互相的身份或者同時簽署合同等等使用密碼的目的是防止或發現竊聽者和欺騙密碼協議的目的是運用密碼學技術保證安全系統的安全性和保密性。但是,如果密碼協議設計得不合理,則相當于設計者暴露了安全系統中的漏洞,攻擊者根本不用去攻擊安全的密碼算法就能夠達到入侵系統的目的。密碼協議研究的主要領域包括:網絡安全協議的設計和分析、密鑰管理協議的設計與分析以及與它們相關領域的研究,如零知識證明、身份認證、密鑰協商、秘密共享等。密碼協議的分類系統通信中的密碼協議按功能可以分成三類身份認證協議數字簽名協議密鑰分配協議
身份認證協議在安全系統中進行通信時,為了保證安全性,通信的一方需要知道另一方的身份,這就需要使用身份認證協議。在身份認證體系中被鑒別的消息是相對固定的,通信一方聲稱的身份可以立即被另一方確認或否認。數字簽名協議數字簽名協議和身份認證協議相似,但復雜的多。在數字簽名協議中,消息是易變的,且具有生命期。數字簽名在信息安全領域有很多應用,如公鑰證書、數據完整性和匿名性等。
密鑰分配協議密鑰分配協議是指為了在通信中達到保密的目的,要求參與通信的兩個或者多個實體之間具有會話密鑰的一致性。這種協議可以采用對稱密碼體制(如DES等),也可以采用非對稱密碼體制(例如Diffie-Hellman公鑰交換等)。密碼協議的安全性目前許多密碼協議都存在安全缺陷,造成協議存在安全缺陷的原因主要有兩個:協議設計者誤解或者采用了不恰當的密碼技術;協議設計者對整體系統的安全需求考慮不足。密碼協議的安全性是一個很難解決的問題,許多廣泛應用的密碼協議后來都被發現存在安全缺陷。因此,從安全性角度來看,在設計密碼協議時應當對協議的安全性做出認真的分析。密碼協議的分析目前,對密碼協議進行分析的方法主要有兩大類攻擊檢驗方法:使用目前已知的所有的有效攻擊方法,對密碼協議進行攻擊,檢驗密碼協議是否能夠抵抗這些攻擊。在分析的過程中,主要使用自然語言和示意圖對密碼協議所交換的消息進行分析。當能夠恰當的選擇攻擊方法時,這種分析方法往往是非常有效的,但這一要求很難滿足。形式化的分析方法:指采用各種形式化的語言對密碼協議進行描述,并按照規定的假設和分析、驗證方法證明協議的安全性。目前,形式化的分析方法是研究的熱點,但是就其實用性來說,還沒有什么突破性的進展。由于密碼協議本身的復雜性,目前并沒有一種方法能夠對密碼協議的安全性進行充分必要的理論證明。每一類方法都有不同的側重點,或者說或多或少存在不足之處,在使用上述方法分析安全協議的時候,應當仔細分析協議的特點、應用環境和需求,綜合使用這些分析方法,以得到較為合理的結果。主要內容身份認證協議數字簽名協議密鑰分配協議分類口令鑒別挑戰-響應式認證基于零知識證明的身份鑒別身份認證協議分類口令鑒別挑戰-響應式認證基于零知識證明的身份鑒別身份認證協議在密碼學中,挑戰-響應式協議的思想是指一個實體通過知識證明來向另一個實體證明其身份。在此類協議中,挑戰一般是一個隨機值或秘密值,當攻擊者竊聽通信信道時,由于每次挑戰值都不同,所以對挑戰的響應不會暴露秘密信息。身份認證協議
采用分組密碼技術的挑戰-響應式認證
采用公鑰密碼技術的挑戰-響應式認證身份認證協議采用分組密碼技術認證方案此時認證的發起者和驗證者間需要有共享密鑰,在系統用戶較少時,此要求容易滿足,用戶較多的情況下,需要使用可信的第三方。基于時間戳的單向認證基于隨機數的單向認證基于隨機數的雙向認證采用分組密碼技術的認證方案基于時間戳的單向認證驗證方接受發起方傳送的信息并對其解密,對解密后的消息進行驗證,檢驗時間戳是否合法可以防止攻擊者對傳送消息的重用。分析:需要防止對時鐘的惡意修改,在分布式環境下很難保證。同時,對已用時間戳的保存會浪費大量的存儲空間。采用分組密碼技術的認證方案基于隨機數的單向認證首先驗證方向發起方傳送隨機數,發起方對身份信息和隨機數進行加密并送出,最后驗證方解密得到消息并驗證隨機數。為防止選擇明文攻擊,發起方可在發送的消息中加入另一隨機數。采用分組密碼技術的認證方案基于隨機數的雙向認證協議中,驗證方首先向發起方送出隨機數r1,然后發起方選擇另一隨機數r2,并對身份信息和隨機數r1、r2進行加密,然后送出。驗證方解密得到的消息后,驗證隨機數r1,驗證通過后,將隨機數r1、r2加密后送給發起方,最后發起方通過驗證隨機數r1、r2來驗證對方的身份。采用公鑰密碼技術的認證方案在利用公鑰密碼技術進行認證時,發起者通過兩種方法來證明其身份:
對用其公鑰加密過的隨機數進行解密;
對隨機數進行簽名。為了保證安全性,認證協議的公私鑰對不能在其他應用中使用;同時,協議還應能夠抵抗選擇密文攻擊。采用公鑰密碼技術的認證方案簡單的認證協議:認證方B選擇隨機數r,計算x=h(r),e=PA(r,B),(其中:h是哈希函數,PA是發起方A的公鑰);B向A發送(x,B,e);A對接受到的信息進行解密得到r’和B’,并驗證r’=r,B’=B;若通過驗證,則A向B發送r;最后,B對r進行驗證。基于隨機數的單方公鑰認證。認證方B選擇隨機數rB,并將其發送給發起方A;A在接收到rB之后,選取另一隨機數rA,將(rA,B,SA(rA,rB,B))發送給B,(SA是A的私鑰);B對接受到的信息進行解密并進行驗證,這里,rA可用來防止選擇消息攻擊。采用公鑰密碼技術的認證方案主要內容身份認證協議數字簽名協議密鑰分配協議數字簽名協議身份唯一性(不可偽造)被Alice簽名的消息只能由Alice生成。其本質是:Bob在收到一個“被Alice簽名的消息”時,他有辦法檢驗,該簽名是否真的被Alice簽名的消息。或許攻擊者Eve截獲了大量的被Alice簽名的消息,但他仍然不能偽造出一個新的,別人認可的“被Alice簽名的消息”。如果無論Eve截獲多少被Alice簽名的消息,他偽造新的“被Alice簽名的消息”的成功概率仍然沒有絲毫提高,則稱該簽名算法是零知識的。不可否認性(公開可驗證)被Alice簽名的消息,在未來不能被Alice否認。其本質是:Bob在收到一個被Alice簽名的消息時,他有辦法向第三方證明該簽名是真的被Alice簽名的消息。如果一個數字簽名具有不可偽造性,則Bob能夠自行驗證簽名消息的真偽;而如果一個數字簽名具有公開可驗證性,則Bob能夠向他人證明簽名消息的真偽。數字簽名協議公鑰密碼的簽名思想既然要求數字簽名具有這么多的性質,怎樣來構造數字簽名?以公鑰密碼為基礎的數字簽名算法。公鑰密碼:明文m,密文cAlice的加密密鑰(公鑰)是z,解密密鑰(私鑰)是k加密方程c=E(m,z),解密方程m=D(c,k)數字簽名協議消息的數字簽名就是指依賴于簽名者私有信息的有關被簽署消息的數字符號。在信息安全領域數字簽名有很多應用,如公鑰證書、數據完整性和匿名性等。
數字簽名體系可分為兩大類:消息附屬(appendix)數字簽名:在簽名驗證階段需要原始的消息。較為典型的有DSA、ElGamal和Schnorr簽名體系。消息自恢復數字簽名:在簽名驗證階段不需要原始的消息。較為典型的有RSA、Rabin和Nyberg-Rueppel公鑰簽名體系。數字簽名協議按照明、密文的對應關系劃分,上面每一類又可分為兩個子類:一類是確定性數字簽名,其明文與密文一一對應;另一類是隨機數字簽名,它對同一消息的簽名是隨機變化的。數字簽名體系的分類消息認證可以保護信息交換不受第三方的攻擊,但不能處理通信雙方自身發生的攻擊。數字簽名提供了這種能力:驗證簽名者、簽名的日期和時間認證消息內容可由第三方仲裁,以解決爭執因此,數字簽名具有認證功能數字簽名應滿足的條件簽名值必須依賴于所簽的消息產生簽名比較容易識別和驗證簽名比較容易偽造數字簽名在計算上是不可行的。包括已知數字簽名,偽造新的消息已知消息,偽造數字簽名保存數字簽名的拷貝是可行的公鑰密碼的簽名方案(一)Alice發消息m給BobAlice用自己的私鑰k對消息m“解密”s=D(m,k),s是對消息m的簽名值,(m,s)是一個簽名消息。Alice將(m,s)發送給Bob。Bob收到(m,s)后,用Alice的公鑰z,將消息m與簽名s做如下的檢驗:是否m=E(s,z)。若是則(m,s)是Alice發送的簽名消息。在上述方案中:“密文”變成了消息m,“解密方程”變成了簽名方程s=D(m,k)。“明文”變成了簽名值s,“加密方程”變成了驗證方程m=E(s,z)。任何人只要擁有Alice的公鑰z,都可以對簽名消息(m,s)進行驗證。是否只有Alice自己才能生成自己的簽名消息呢?安全性分析(1):設Eve知道Alice的公鑰z,選定消息m,對簽名值s進行偽造。要想讓偽造的簽名值s通過檢驗,Eve必須選擇s滿足驗證方程m=E(s,z)。然而在驗證方程中是解不出s的,必須得到Alice的私鑰k,用簽名方程得到s:s=D(m,k)。這就是說,對事先設定的消息m來說,簽名消息(m,s)具有身份唯一性和不可偽造性。安全性分析(2):設Eve知道Alice的公鑰z,設定簽名值s,反過來對消息m進行偽造。此時消息m的內容就不能是選定的。Eve選擇一個“簽名值”s,用驗證方程計算“消息”m=E(s,z)。Eve冒充Alice將(m,s)發送給Bob。Bob用驗證方程檢驗得m=E(s,z)。于是Bob認為(m,s)就是Alice發送的簽名消息。攻擊成功。為了抵抗這種攻擊,合法簽名消息(m,s)中的消息m必須是有意義的,而不是亂碼。使用一個公開的雜湊函數H
設Alice欲發消息m給BobAlice用H將消息m進行處理,得h=H(m)。Alice用自己的私鑰k對h“解密”s=D(h,k),s就是對消息m的簽名值,(m,s)就是一個簽名消息。Alice將(m,s)發送給Bob。Bob收到(m,s)后,用Alice的公鑰z,將消息m與簽名s做如下的檢驗:是否H(m)=E(s,z)。若是則(m,s)是Alice發送的簽名消息。公鑰密碼的簽名方案(二)在上述方案中:簽名方程是s=D(H(m),k)驗證方程是H(m)=E(s,z)任何人只要擁有Alice的公鑰z,都可以對簽名消息(m,s)進行驗證設攻擊者Eve知道Alice的公鑰z,他試圖偽造一個(m,s),讓Bob相信(m,s)是Alice的簽名消息。偽造的(m,s)必須滿足驗證方程H(m)=E(s,z)安全性分析:如果選定消息m,再匹配簽名值s,則在驗證方程H(m)=E(s,z)中無法解出s。(公鑰密碼的基本安全性)如果選定簽名值s,再匹配消息m,則在驗證方程H(m)=E(s,z)中能夠解出H(m),卻無法得到m。(雜湊函數的性質)如此看來,簽名方案(二)似乎具有身份唯一性和不可偽造性。重放攻擊:如果給Eve更加寬松的條件,假設他不但知道Alice的公鑰z,而且已經截獲了許多Alice的簽名消息(m(1),s(1)),(m(2),s(2)),…,(m(n),s(n))。Eve偽造新的Alice的簽名消息(m,s)是否更加容易?如果允許重復發送,則Eve的偽造是輕而易舉的,他只需要發送(m(n),s(n))即可。抵抗重放攻擊,通常使用兩種方法:Alice已經發送過的簽名消息必須存儲備案,不得再次發送。一旦發現有再次發送,則肯定是重放攻擊。但Eve可以根據公鑰密碼的結構缺陷來偽造,比如(m,s)=(m(1)m(2),s(1)s(2))。
Alice的簽名消息中必須含有時間戳。一旦發現發送時間過于久遠,則肯定是重放攻擊,但“時間過于久遠”的標準很模糊。RSA簽名體系RSA簽名體系的消息空間和密文空間都是Zn={0,1,2,…,n?1},n=p×q。這種簽名體系是確定性的數字簽名體系。1.RSA簽名體系的密鑰產生每個實體A進行以下操作:隨即選擇兩個大素數p和q;計算n=p×q和
Φ(n)=(p?1)(q?1);隨即選擇e,滿足1<e<Φ(n),gcd(e,Φ(n))=1;用歐幾里得算法計算d,滿足1<d<Φ(n),ed=1mod(n)。設A的公鑰為(n,e),私鑰為(n,d)。2.簽名算法計算s=mdmodn;發送(m,s)。3.驗證算法(1)計算m′=semodn;(2)驗證m′是否等于m,若不等于,則拒絕;4.安全性分析如果攻擊者能夠進行模n的大整數分解,則它可計算Φ(n),從而利用歐幾里得算法得到簽名者的私鑰。所以簽名者必須小心地選擇p和q。Rabin簽名體系Rabin簽名與RSA簽名很相似,但其使用了一個偶數公鑰參數e。為了使驗證更簡單,Rabin簽名設定e=2。1.Rabin簽名體系的密鑰產生每個實體A進行以下操作:(1)隨即選擇兩個大素數p和q;(2)計算n=p×q和
Φ(n)=(p?1)(q?1)。設A的公鑰為n,私鑰為(p,q)。2.簽名算法(1)計算s,使s2=mmodn;(2)發送(m,s)。3.驗證算法(1)計算m′=s2modn;(2)驗證m′是否等于m,若不等于,則拒絕。4.安全性分析攻擊者選一個x,求出x2=m′modn,并送給簽名者。簽名者將簽名s送給攻擊者。若s≠±x,則攻擊者有1/2的機會分解n,從而可破解此系統。但RSA只是“相信等于”大整數分解的困難性(無法證明),因而無上述缺點。ElGamal簽名方案ElGamal簽名是一種隨機附屬簽名機制,它可以對任意長度的二進制消息格式進行簽名。1.ElGamal簽名體系的密鑰產生每個實體A進行以下操作:隨機選擇大素數p和上的本原元g;選擇隨機整數x,1≤x≤p-2;計算y=gxmodp設A的公鑰為(p,g,y)A的私鑰為xElGamal簽名方案2.簽名算法選擇隨機數k,1≤k≤p-2且gcd(k,p-1)=1;計算r=gkmodp;計算k-1modp-1;計算s=k-1(h(m)-xr)modp-1;m的簽名為(r,s)。ElGamal簽名方案3.驗證算法驗證1≤r≤p-1,若不滿足則拒絕;計算v1=yrrsmodp;計算h(m)和v2=gh(m)modp;若v1=v2,則接收簽名,否則拒絕。其中,s=k-1(h(m)-xr)modp-1,可得ks=(h(m)-xr)modp-1,即h(m)=(ks+xr)modp-1,從而有gh(m)=gks+xr=(gx)r˙rsmodp,因此有v1=v2。安全性分析攻擊者要偽造簽名就要確定s的值,離散對數問題是困難問題,則攻擊者正確選擇s的概率為1/p,當p足夠大時,這個概率可忽略;每次簽名時必須選擇不同的k,否則,簽名者的私鑰有可能暴露。假設s1=k-1{h(m1)-xr}modp-1,s2=k-1{h(m2)-xr}modp-1,則(s1-s2)k={h(m1)-h(m2)}modp-1,若s1-s2≠0modp-1,則k=(s1-s2)-1{h(m1)-h(m2)}modp-1,這時計算x是方便的。ElGamal簽名方案Schnorr簽名方案參數設定:大素數p,2511<p<2512大素數q,2159<q,q|(p-1)g是域GF(p)的元素,且gq=1(modp)。用戶私鑰x:隨機或偽隨機整數,其中0<x<q公鑰y=gxmodp簽名:消息m,簽名者選取隨機整數k,0<k<q,且k與p-1互素r=gkmodpe=h(r,m)s=k+xe(modq)(m,e,s)即為消息m的數字簽名。Schnorr簽名方案驗證:r’=gsy-e(modp)若e=h(r’,m)成立則接受,否則拒絕Schnorr簽名方案Elgamal方案與Schnorr方案的比較g在ElGamal體制中,g為域GF(p)的本原元在Schnorr體制中,g只是域GF(p)的階為q的元素,而非本原元安全性兩者都是基于離散對數問題的困難性,然而ElGamal的離散對數階為p-1,Schnorr的離散對數階為q<p-1。從這個角度上說,ElGamal的安全性高于Schnorr。Schnorr簽名方案Elgamal方案與Schnorr方案的比較簽名長度ElGamal:(m,r,s),其中r的長度為|p|,s的長度為|p-1|。Schnorr:(m,e,s),其中e的長度為|q|,s的長度為|q|。計算速度在Schnorr簽名中,r=gk(modp)可以預先計算,k與m無關,因而簽名只需一次modq乘法和減法。所需計算量更少,速度更快。Schnorr簽名方案DigitalSignatureStandard(DSA)1.數字簽名算法(DSA)1991年8月,美國國家標準技術研究所(NIST)公布了一種數字簽名算法(DSA),之后,DSA成為了美國聯邦信息處理標準DSS(FIPS186),并成為第一個經過各國政府驗證的數字簽名方案。DSA是ElGamal簽名方案的變種,它使用了安全哈希函數(SHA-1)。DSA美國政府的簽名方案由NIST和NSA,在20世紀90年代設計1991年,作為FIPS-186發布1993,1996,2000進行了修改采用SHAhash算法
DSS是標準DSA算法。FIPS186-2(2000)包括可選的RSA和橢圓曲線簽名算法DSA可以提供512-1024bit的安全性比RSA小且快僅是一個數字簽名方案(不能用于加密)安全性依賴于計算離散對數的困難性是ElGamal和Schnorr方案的變體參數設定:大素數p,2L-1<p<2L,512<L<1024,且L為64的倍數:即比特長度在512到1024之間,長度增量為64比特。素數q,q|(p-1),且2159<q<2160g=h(p-1)/qmodp,h為整數,1<h<(p-1),h(p-1)/q(modp)>1用戶私鑰x:隨機或偽隨機整數,其中0<x<p-1公鑰y=gxmodpDSS簽名:對明文m(1,q),簽名者選取隨機整數k,1≤k≤p-2且k與p-1互素,計算r=(gkmodp)modqs=k-1(H(m)+xr)modq其中kk-1modq≡1(r,s)即為消息m的數字簽名。DSS驗證:計算w=s-1modqu1=H(m)wmodqu2=rwmodqv=[(gu1yu2)modp]modq檢驗v=r是否成立。DSSDSS系統構造:q=101,p=78*q+1=7879,3為GF(7879)中的一個本原元取g=378mod7879=170為模p的q次單位根,假設用戶私鑰x=75,則y=gx(mod7879)=4567簽名者對消息m=1234簽名:簽名者選擇隨機數k=50,得k-1(mod101)=99計算簽名:r=(17050(mod7879))(mod101)=2518(mod101)=94s=(1234+75*94)99(mod101)=97簽名為(1234,94,97)DSS驗證:
w=s-1
modq=97-1
mod101=25
u1=H(m)wmodq=1234*25mod101=45
u2=rwmodq=94*25mod101=27v=[(gu1yu2)modp]modq=(17045*456727(mod7879))(mod101)
=2518(mod101)=94=r因此該簽名是有效的。DSS4)安全性分析DSA的安全依賴于兩種不同的離散對數問題:一種是在上的離散對數問題,另一種是在階為q的循環子群上的離散對數問題。DSSDSA不能用于加密或密鑰分配DSA算法中可能設有陷門,DSA未經公開選擇過程,還沒有足夠的時間進行分析證明DSA比RSA慢,RSA已是一個實際上的標準,而DSS與現行國際標準不相容DSA可能侵犯了其它算法的專利由512位所限定密鑰量太小。現已改為512~1024中可被64除盡的即可供使用。DSSGroupsignature-群簽名群簽名在群管理員及一組群成員的參與下,使得每個群成員能夠匿名的代表群生成簽名,簽名驗證方僅能驗證該簽名的有效性及確實來自該群體,但無法確知(包括其他群成員)具體的簽名人是哪一個群成員;發生糾紛的情況下,群管理員能夠打開群簽名的匿名性,找到生成簽名的群成員。群簽名若干用戶組成一個群體,使用相關的簽名方案群中心負責為群管理員和群成員分配密鑰,群管理員則在必要的時候打開簽名確定簽名者的身份可用在電子投票、電子拍賣等領域群簽名性質只有群成員能夠代表群進行簽名;群成員能夠代表群進行匿名地簽名;區分兩個不同的群簽名在計算上是不可行的;如果發生爭執,群管理員可以打開簽名來決定簽名者的真實身份;群簽名其他群成員、其他群成員的勾結或其他群成員與群管理員的勾結都不能偽造一個群成員的合法簽名。匿名性、可追蹤性、無關聯性、不可偽造性、不可鏈接性、防陷害攻擊、動態群簽名等。群簽名方案舉例密鑰生成群中心隨機地生成兩個大素數p,q,計算n=pq,選擇公開hash函數h()。選擇,并求d,使隨機選擇,使
選擇素數,且,將()送給用戶
做密鑰;
Ui
驗證,以確信消息是群中心送來的;密鑰生成群中心將()送給群管理員,其中是群成員的身份;
設系統有k個成員,群中心利用中國剩余定理,可求同余方程組:
的解c;
群中心將(n,e,c)作為公鑰,(d,p,q)為群中心的私鑰。簽名
群成員
要對消息m簽名:首先計算h(m);再計算;則即為Ui
生成的簽名。驗證
若Bob要對
的簽名
進行驗證,Bob利用群公鑰e計算:
,
得到,然后驗證:
是否成立。若成立,簽名合法,否則拒絕。群管理員通過
對應的IDi確定簽名者的身份。成員的加入
在有成員加入時,群中心只需重新求解c的值并公布出去,而不必改變其他群成員的秘鑰。群中心偽造群成員的簽名顯然,該方案中群中心知道所有的群成員的簽名密鑰,因此一個不誠實的群中心可以偽造其他群成員的合法簽名而不能被檢測。可能遭受的攻擊聯合攻擊假設群成員
聯合起來攻擊方案,他們分別掌握
,
可知為和的公因子;聯合成員越多,成功的可能越大也可以通過自己多次加入群實現可能遭受的攻擊研究點群公鑰的長度依賴于群的大小;群簽名的長度依賴于群的大小;增加新成員需要重新啟動整個系統,或者更改所有原有成員的密鑰以及改變群公鑰;撤銷群成員需更改群公鑰及所有成員的密鑰;不能抵抗聯合攻擊;具有聯結性(可以從兩個不同的群簽名來區分是否來自于同一個簽名者)或廣義偽造性(任何人可以對任意消息進行簽名)。Ringsignature-環簽名環簽名是一類特殊的無條件匿名方案,因為其簽名隱含的某個參數按照一定的規則組成環狀而得名。而在之后提出的許多方案中不要求簽名的構成結構成環形,只要簽名的形成滿足自發性、匿名性和群特性,也稱之為環簽名。環簽名不同于群簽名,一方面,簽名者指定自己的匿名范圍,該范圍內的非簽名者可能意識不到自己包含其中;另一方面,由于不設置管理員,簽名接收者只能驗證簽名的有效性,而無法追蹤簽名者的身份,即環簽名能實現無條件匿名。環簽名性質無條件匿名性。攻擊者即使非法獲取了所有可能簽名者的私鑰,他能確定出真正的簽名者的概率不超過1/n,這里n為環成員(可能簽名者)的個數。不可偽造性。外部攻擊者在不知道任何成員私鑰的情況下,即使能夠從一個產生環簽名的隨機預言者那里得到任何消息m的簽名,他成功偽造一個合法簽名的概率也是可以忽略的。環簽名具有良好的特性:可以實現簽名者的無條件匿名;簽名者可以自由指定自己的匿名范圍;構成優美的環形邏輯結構;可以實現群簽名的主要功能但無需可信第三方或群管理員等。RST環簽名方案參數選取:
E:對稱加密算法,如AES;
H:安全Hash函數。一組用戶B1,B2,……,Bn。用戶Bi的RSA公私鑰(ei,di),模數ni。設簽名驗證環簽名的應用環簽密;匿名泄漏信息一個公司經常要征求員工的意見或建議,為提高員工反饋意見的可靠性,往往需要多個員工聯合提出意見或建議才生效。與此同時,為了防止上司的報復行為,保護提意見的員工,在獲得員工反饋信息的同時還不能暴露員工的真實身份。這時就可以使用門限環簽名方案,即達到某個門限值的員工以聯合方式產生環簽名。電子現金或電子投票系統對于追究一個投票者多次投票或用戶二次花費的問題,可以應用關聯環簽名方案來解決。環簽名的應用保護知識產權。指紋技術是保護數字產品,防止盜版的有效技術。應用改造后的Schnorr環簽名方案構造了匿名指紋協議,來保護知識產權。若使用該協議,誠實購買者不會被陷害,而且當非法用戶使用盜版產品時,可以被追溯其身份。ad-hoc、無線傳感器網絡ad-hoc和無線傳感器網絡的無中心、自組織等特點與環簽名的構造有很多相似之處。因此對于ad-hoc網絡中的諸多問題,如:成員的匿名認證等,都可以應用環簽名來解決。問題和缺陷因為簽名算法要使用所有成員的公鑰,導致環公鑰的長度依賴于環的大小;由于需要描述環成員的信息,環簽名的長度依賴于群的大小;因為環簽名自身的無條件匿名性,簽名人可以誣陷群中的其他非真實簽名人;由于可以選擇任意的成員組成一個環,使得方案不能抵抗選擇群公鑰攻擊。MeshSignature-網狀簽名Boyen在2007年歐密會上提出了網狀簽名的新概念,它是一種類似于環簽名的匿名簽名。但具有模塊化設計的特點,有更強的簽名匿名性表達能力,可以表示很復雜的接入結構,特別是允許將其中的簽名組件替換為證書鏈,因此通過強制納入成員,網狀簽名可以用作一種環簽名。Proxysignature-代理簽名代理簽名體制通常包括:原始簽名人(OriginalSigner),代理簽名人(Proxy
Signer)和簽名驗證方(Verifer)三方的參與.代理簽名人代表原始簽名人生成的數字簽名,稱為代理簽名(ProxySignature).原始簽名人的安全性代理簽名人的隱私保護代理簽名的長度代理密碼學Thresholdsignature-門限簽名解決權力集中問題;(t,n)門限簽名:是指n個成員中大于等于t個成員可代表群體生成簽名,而小于t-1個成員則不能代表群體生成有效簽名.現有的門限簽名均存在惡意成員大于等于門限t時,可以獲取系統秘密參數。(共謀攻擊)Blindsignature-盲簽名盲簽名允許先將消息盲化,而后讓消息簽名者對盲化的消息進行簽名,最后消息擁有者對簽字除去盲因子,得到簽名者關于原消息的簽名。盲簽名就是接收者在不讓簽名者獲取所簽署消息具體內容的情況下所采取的一種特殊的數字簽名技術,它除了滿足一般的數字簽名條件外,還必須滿足下面的兩條性質:簽名者對其所簽署的消息是不可見的,即簽名者不知道他所簽署消息的具體內容。簽名消息不可追蹤,即當簽名消息被公布后,簽名者無法知道這是他哪次的簽署的。具特殊性質的數字簽名在不同的應用背景下,人們已經提出了60余種數字簽名模型.指定驗證人簽名、不可否認簽名、前向安全群簽名等、基于身份的各類簽名。Shortsignature-短簽名當前最常用到的DSA和RSA數字簽名方案,相對提供的安全水平而言,它們給出的簽名,其長度都比較長。例如,當用1024bits模數時,RSA的簽名長度為1024bits;DSA的簽名長度是320bits,DSA的橢圓曲線變型ECDSA也提供320bits的簽名長度。然而,即便是320bits,對于人工嵌入簽名而言,仍然過長。基于雙線性對的簽名,能夠保證短的簽名長度。雙線性對G1和G2是階數為素數p的兩個循環群,生成元分別為g1和g2。一個雙線性對是具有以下性質的映射e:G1×G1→G2:雙線性性:對任意的u∈G1,v∈G1,a、b∈Z*有:e(u^a,v^b)=e(u,v)^ab;非退化性:e(g1,g2)≠1;可計算性:存在有效的算法對所有的u,v∈G1來計算e(u,v)。基于雙線性對的短簽名密鑰替換攻擊密鑰替換攻擊主要內容身份認證協議數字簽名協議密鑰分配協議密鑰分配協議密鑰分配指的是如何在通信雙方或多方內部同時使用一個秘密值的過程。一般來說,密鑰分配可以分為密鑰傳輸和密鑰協商兩種方式。密鑰傳輸協議指的是通信一方產生密鑰后,將密鑰秘密地傳送給另一方的密鑰分配技術,而密鑰協商指的是通信雙方通過合作來生成通信密鑰的密鑰分配技術。密鑰分配協議使用對稱密碼技術密鑰傳輸協議密鑰協商協議基于公鑰密碼技術密鑰傳輸協議密鑰協商協議密鑰分配協議使用對稱密碼技術的密鑰傳輸協議無可信第三方的密鑰傳輸協議有可信第三方的密鑰傳輸協議基于對稱密碼技術的密鑰協商協議無可信第三方的密鑰傳輸協議一、基于對稱密碼的點對點的密鑰更新基于對稱密碼的點對點的密鑰更新利用了通信雙方間的長期對稱密鑰,通過這個長期密鑰可以重復分配通信雙方的會話密鑰。設rA、tA和nA分別代表隨機數、時間戳和序列數,E代表某種對稱密碼算法。給出幾種密鑰傳輸協議:無可信第三方的密鑰傳輸協議(1)一輪密鑰傳輸:A→B:EK(rA),此時會話密鑰為rA。在此基礎上可以為密鑰傳輸增加一些額外的性質,如增加時間戳以保證密鑰的新鮮性;增加冗余信息以檢測消息是否被修改;增加接收者信息以防止對發送者的重放攻擊如:A→B:EK(rA,tA*,B*)無可信第三方的密鑰傳輸協議(2)挑戰響應模式的密鑰傳輸:A←B:nBA→B:EK(rA,nB,B*)同樣,會話密鑰仍然是rA。如果要求會話密鑰與通信雙方的輸入都相關,則A可以在上述傳輸過程的第二步加入一次性隨機數nA:A←B:nBA→B:EK(rA,nA,nB,B*)A←B:EK(rB,nB,nA,A*)無可信第三方的密鑰傳輸協議密鑰傳輸技術的缺點:上述幾種密鑰傳輸技術不能提供前向保密性,而且若長期密鑰K暴露,則整個技術就會失效;同時,在不使用時間戳的情況下,密鑰更新技術易受到重放攻擊,所以其應用受到較大的限制。二、基于密鑰獲取和單向函數的點對點的密鑰傳輸在每次會話時,通信一方利用另一方的隨機輸入,也可以達到密鑰更新的目的。如A選擇隨機數rA,并將其發送給B,則二者通信密鑰為EK(rA)。由于此技術本身并不需要解密,所以可以用恰當的單向函數代替加密操作。鑒別密鑰交換協議(AKEP2):設A和B有兩個共享長期密鑰K,哈希函數h。協議步驟為:A選擇隨機數rA,并將其發送給B;B選擇隨機數rB,將(B,A,rA,rB)和hK(B,A,rA,rB)發送給A;A接收到消息后,對rA和hK(B,A,rA,rB)進行驗證,若通過,則向B發送(A,rB)和hK(A,rB);B接收到消息后,對rB和hK(A,rB)進行驗證;A和B的會話密鑰為EK(rB)。在此協議中,可以使用哈希函數代替對稱密碼算法E,而且這并不影響協議的安全性。三、無前期共享密鑰的密鑰傳輸協議Shamir提出了一種密鑰傳輸協議。在此協議中,每個通信者只需要有自己的對稱密鑰,而并不需要通信雙方間的前期共享密鑰,但這種協議只可以抵抗被動攻擊者。Shamir無密鑰協議定義如下:設p是公用的大素數,通信者A、B各自選擇秘密值a和b,1≤a,b≤p-2,且a,b與p-1互素。協議步驟為:A選擇隨機值K,1≤K≤p-2,計算Kamodp并發送給B;B計算(Ka)bmodp,并將其發送給A;A計算(Kab)a-1modp=Kbmodp,并將其發送給B;B計算(Kb)b-1modp=Kmodp。K為A和B的通信密鑰。任何可交換的密碼算法都可以代替此協議中的模冪操作,但使用時要防止降低安全強度。2.有可信第三方的密鑰傳輸協議下面討論的密鑰傳輸協議需要有可信第三方的參與,在整個系統中,每一個實體都與可信第三方有一個共享密鑰。在這種協議中,可信第三方可以做為密鑰分發中心(KDC)或密鑰傳輸中心(KTC)。Kerberos協議X.509協議基于公鑰密碼技術的
密鑰協商協議Diffie-Hellman密鑰交換第一個公鑰算法
1976由Diffie和Hellman提出DH算法是一個實用的密鑰公開交換的算法算法本身只限于進行密鑰交換已應用在許多商業產品中“Newdirectionsincryptography”Diffie-Hellman密鑰交換是一個公鑰分配方案不能用于交換任意的消息只限于進行公共密鑰的建立只適用于通信雙方已知的情形密鑰的值依賴于通信的參與者(以及他們的私鑰和公鑰信息)有限域中的指數運算(模一個素數)是相對容易的,而離散對數的計算是相對困難的。Diffie-Hellman的建立所有用戶均已知全局參數:一個大素整數(或多項式):q一個模q的本原根:α每個用戶
(如xA)產生自己的密鑰選擇一個保密的隨機數:xA<q計算其公鑰:yA=αxAmodq
每個用戶公開其公鑰yADiffie-Hellman密鑰交換用戶A和B共享的會話密鑰是KAB:KAB=αxAxBmodq=yxAxBmodq(whichBcancompute)=yxBxAmodq(whichAcancompute)會話密鑰KAB作為A和B兩個用戶在傳統密碼體制中的共享密鑰來使用的可以一直使用前面產生的會話密鑰,直到想重新選擇新的會話密鑰為止。攻擊者需要解出x,必須求解離散對數。Diffie-Hellman舉例用戶
Alice和
Bob想交換密鑰:雙方同意使用全局參數
q=353和α=3隨機選擇一個保密的私鑰:A選擇xA=97,B選擇xB=233分別計算各自的公鑰:yA=397mod353=40 (Alice)yB=3233mod353=248 (Bob)計算共享的會話密鑰:KAB=yxBxAmod353=24897=160 (Alice)KAB=yxAxBmod353=40233=160 (Bob)密鑰交換協議Diffie-Hellman協議除了可以在有限域上運行之外,還可以在橢圓曲線上運行。Diffie-Hellman密鑰交換協議可以很容易的擴展到三人或更多的人。但是,Diffie-Hellman協議不含有交換雙
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 家用陶瓷轉讓協議書
- 轉讓承包魚塘協議書
- 鄉村購房協議書范本
- 執業藥師解聘協議書
- 正畸患者退費協議書
- 老人同居協議書范文
- 強制土地回收協議書
- 征收土地協議書撤銷
- 外匯置換協議書范本
- 開辦民營醫院協議書
- 第四章鉛酸蓄電池
- GA 1517-2018金銀珠寶營業場所安全防范要求
- 項目質量管理機構結構框圖
- 保險公司首轉對團隊的意義方法課件
- TAVI(經皮導管主動脈瓣植入術)術后護理
- 6.3.1 平面向量基本定理 課件(共15張PPT)
- 建筑消防設施巡查記錄
- 混凝土護欄檢查記錄表
- DBJ04∕T 258-2016 建筑地基基礎勘察設計規范
- 社會團體民辦非清算審計報告模板
- 建筑工程質量檢測收費項目及標準表67262
評論
0/150
提交評論