《crypto4c-ch10-密鑰管理及其他公鑰體制詳解》由會(huì)員分享,可在線閱讀,更多相關(guān)《crypto4c-ch10-密鑰管理及其他公鑰體制詳解(49頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,B,密碼編碼學(xué)與網(wǎng)絡(luò)安全,電子工業(yè)出版社,2023-2023,第10章 公鑰密鑰治理及其他公鑰體制,10.1 密鑰治理,10.2 Diffie-Hellman密鑰交換,*10.a PKCS#3&RFC,*10.b ElGamal,10.3 橢圓曲線,10.4 橢圓曲線密碼學(xué)ECC,“公開”密鑰?這太簡(jiǎn)潔了!,錯(cuò)!,曾經(jīng)使用對(duì)稱密碼體制時(shí),一個(gè)特殊煩人的問(wèn)題是如何協(xié)商會(huì)話密鑰。,公鑰體制中只需公開公布公鑰(且保守私鑰),因此通常被認(rèn)為是減輕了密鑰治理的負(fù)擔(dān)。,但當(dāng)認(rèn)真考慮如何公布公鑰時(shí),你會(huì)覺察:,原來(lái)牢靠地
2、公布公鑰其實(shí)也很難。,公鑰的公布體制-證書體系(CA),是PKI的核心和根底。事實(shí)上,證書體系的過(guò)于簡(jiǎn)潔阻礙了PKI的普及。,10.1 密鑰治理,公鑰的安排,公鑰體制用于傳統(tǒng)密碼體制的密鑰安排,公鑰的安排方法,1.臨時(shí)索要公鑰/自由的集中/PGP的公鑰環(huán),2.公開的名目效勞(在線方式),3.公鑰授權(quán)(在線中心方式),4.通過(guò)證書中心CA(離線中心方式),1.自由方式,當(dāng)要通信時(shí)向?qū)Ψ剿饕涔€,沒有先驗(yàn)學(xué)問(wèn),不能確定對(duì)方的身份,不能供給鑒別特性,只能用在不究身份時(shí)的加密,如萍水相逢的兩人之間的防偷聽談天,集中,通過(guò)可信的朋友之間的輾轉(zhuǎn)交換,PGP中即有此種公鑰交換機(jī)制,朋友并不總可信,問(wèn)題:信
3、任閣下的人品,但是不信任閣下的智商,2.公開名目,公開的名目效勞,名目的維護(hù)得由信得過(guò)的機(jī)構(gòu)執(zhí)行,每個(gè)用戶在名目里有一項(xiàng) 身份信息,其公鑰,面對(duì)面的審核和注冊(cè),可以更新或廢止,供給網(wǎng)絡(luò)的訪問(wèn)手段,可公開查詢,名目中心的安全負(fù)擔(dān)太重,也是性能瓶頸,3.公鑰授權(quán):在線中心,有在線中心幫助的公鑰交換,A懇求中心給B的公鑰,帶時(shí)間戳,中心用私鑰簽署的消息,包括:,原始懇求和時(shí)間戳,B的公鑰,,A用B的公鑰加密:自己的身份IDa和會(huì)話標(biāo)識(shí)號(hào)N1,B也如法取得A的公鑰,B用A的公鑰加密:N1和N2,A用B的公鑰加密N2,以最終確認(rèn)會(huì)話,在線中心簡(jiǎn)潔成為單點(diǎn)故障和性能瓶頸,公鑰授權(quán):在線中心,4.證書:離線
4、中心,Certificate Authentication,CA是受信任的權(quán)威機(jī)構(gòu),有一對(duì)公鑰私鑰。,每個(gè)用戶自己產(chǎn)生一對(duì)公鑰和私鑰,并把公鑰提交給CA申請(qǐng)證書。,CA以某種牢靠的方式核對(duì)申請(qǐng)人的身份及其公鑰,并用自己的私鑰“簽發(fā)”證書。,證書主要內(nèi)容:用戶公鑰,持有人和簽發(fā)人的信息,用途,有效期間,簽名等。,證書在需要通信時(shí)臨時(shí)交換,并用CA的公鑰驗(yàn)證。,有了經(jīng)CA簽名保證的用戶公鑰,則可進(jìn)展下一步的身份驗(yàn)證和交換會(huì)話密鑰等。,CA,使用公鑰傳遞會(huì)話密鑰,公鑰算法太慢,對(duì)稱算法一般幾十兆字節(jié)/秒,1024位RSA解密約100屢次/秒(加密快10倍以上),100*128B=10KB/s,只用來(lái)
5、傳遞會(huì)話密鑰,(假設(shè)B已經(jīng)有A的公鑰KeA),A發(fā)起和B的通信,B產(chǎn)生會(huì)話密鑰Ks,并用KeA加密后傳給A,A能用自己的私鑰KdA解開,他人不會(huì)知道Ks,Merkle方案,由于B臨時(shí)獵取A的公鑰,所以存在“中間人攻擊”的問(wèn)題,NEED78方案,事先擁有對(duì)方公鑰,10.2 Diffie-Hellman密鑰交換,離散對(duì)數(shù)問(wèn)題,ygx mod p,其中g(shù)是生成元,求x的困難性,目前沒有有效的方法,實(shí)際使用時(shí)常用Zp*和ECC上的點(diǎn)加法群,Pohlig-Hellman algorithm,假設(shè)p-1是小素?cái)?shù)的乘積,則易求,因此,p-1應(yīng)含有大素因子,Diffie-Hellman密鑰交換協(xié)議,DH76,
6、Diffie-Hellman,步驟,選取大素?cái)?shù)q和它的一個(gè)生成元g,這些參數(shù)公開,A選擇隨機(jī)數(shù)Xa,B選擇隨機(jī)數(shù)Xb,A計(jì)算YagXa mod q,B計(jì)算YbgXb mod q,交換Ya,Yb,A計(jì)算KYbXa mod q,B計(jì)算K”YaXb mod q,事實(shí)上,KK”,證明、分析和例子,證明KK,KYbXa mod qKYaXb mod q,(gXb)Xa mod q (gXa)Xb mod q,g(XbXa)mod q g(XaXb)mod q,舉例 q97,g5,A選Xa36,B選Xb58,則,Ya5369750,Yb5589744,交換50,44,A算K44369775,B算K5058
7、9775,分析別人怎么計(jì)算K?,別人看到了Ya和Yb,但需要計(jì)算Xa或Xb,即要算離散對(duì)數(shù),YagXa mod q,或YbgXb mod q,中間人攻擊,交換Y的過(guò)程中,Y有可能被替換假冒,而且不能覺察,形式上,可以理解為一個(gè)中間人在跟雙方同時(shí)通信,固然通信內(nèi)容在中間人那里是可見的,*一個(gè)現(xiàn)實(shí)的例子就是:可以同時(shí)開兩盤QQx棋,一個(gè)后手,一個(gè)先手,,Man-in-the-middle,AEB,XaXb XaXb,YaYb YaYb,K=YbXaK=YaXb,相關(guān)結(jié)論,maurer94towards,Towards the Equivalence of Breaking the Diffie-H
8、ellman Protocol and Computing Discrete Logarithms,結(jié)論,破譯,D-H,密鑰協(xié)商協(xié)議等價(jià)于計(jì)算離散對(duì)數(shù),RSA,算法的安全性是否等價(jià)于大數(shù)的因子分解?,10.a PKCS#3,PKCS#3 Diffie-Hellman Key-Agreement Standard,進(jìn)一步參閱,pkcs#3,PV,public value,p,prime,PV,others public value,x,private value,SK,secret key,x,others private value,g,base,y,integer public value,
9、k,length of prime in octets,y,others integer public value,l,length of private value in bits,z,integer secret key,mod,n,modulo,n,RFC 2631,Diffie-Hellman Key Agreement Method,RFC 2409,The Internet Key Exchange(IKE),RFC 3526,More Modular Exponential(MODP)Diffie-Hellman groups for Internet Key Exchange(
10、IKE),rfc3526,1.Introduction,One of the important protocol parameters negotiated by Internet Key,Exchange(IKE)RFC-2409 is the Diffie-Hellman“group“that will be,used for certain cryptographic operations.IKE currently defines 4,groups.These groups are approximately as strong as a symmetric key,of 70-80
11、 bits.,The new Advanced Encryption Standard(AES)cipher AES,which has,more strength,needs stronger groups.For the 128-bit AES we need,about a 3200-bit group Orman01.The 192 and 256-bit keys would,need groups that are about 8000 and 15400 bits respectively.Another,source RSA13 Rousseau00 estimates tha
12、t the security equivalent,key size for the 192-bit symmetric cipher is 2500 bits instead of,8000 bits,and the equivalent key size 256-bit symmetric cipher is,4200 bits instead of 15400 bits.,Because of this disagreement,we just specify different groups,without specifying which group should be used w
13、ith 128,192 or 256-,bit AES.With current hardware groups bigger than 8192-bits being,too slow for practical use,this document does not provide any groups,bigger than 8192-bits.,RFC 5114,10.b ElGamal加密,預(yù)備,素?cái)?shù)p,Zp*中本原元g,公開參數(shù),私鑰a,公鑰b=ga mod p,加密,對(duì)明文1=m=p-1,選隨機(jī)數(shù)k,密文(c1,c2),c1=gk mod p,c2=mbk mod p,解密,mc2
14、(c1a)-1mbk(gk)a)-1,m(ga)k(g-ka),m mod p,ElGamal etc,基于離散對(duì)數(shù)難題,缺點(diǎn),需要隨機(jī)數(shù),密文長(zhǎng)度加倍,背景循環(huán)群,:,從,Zp*,到,EC,點(diǎn)加群,ElGamal,可以遷移到,ECDLP,上,ElGamal,簽名和,DSS,10.3,橢圓曲線,Elliptic Curve,背景,RSA安全依靠因子分解的難度,為了增加安全性就得增加位數(shù),從而導(dǎo)致計(jì)算速度變慢。,Zp*上的DLP問(wèn)題有亞指數(shù)簡(jiǎn)潔度的算法。,至今未覺察解決ECDLP的普適性亞指數(shù)算法,ECC可以用較小的密鑰長(zhǎng)度到達(dá)較高的計(jì)算難度,即安全性,橢圓曲線EC,Elliptic Curve
15、,y2axybyx3cx2dxe,其中a、b、c、d、e是滿足某個(gè)簡(jiǎn)潔條件的實(shí)數(shù),Any elliptic curve can be written as a plane algebraic curve defined by an equation of the form:,y2x3axb,EC,上點(diǎn)加法,定義為無(wú)窮點(diǎn),/,零點(diǎn)為,O,點(diǎn),點(diǎn)加法,P,Q,R,定義為,過(guò),P,、,Q,和橢圓曲線相交的第三點(diǎn)的,X,軸對(duì)稱點(diǎn),R,EC,:,P,Q,R,動(dòng)畫演示加法,素域上的EC,在有限域Zp上的簡(jiǎn)化EC,y2x3axb mod p,其中4a327b2 mod p 0,這是一個(gè)離散點(diǎn)的集合,舉例,y
16、2x318x15 mod 23,y2x317x15 mod 23,EC(1),EC(2),動(dòng)畫演示加法離散點(diǎn),EC上的離散對(duì)數(shù)問(wèn)題ECDLP,Q,kP,中的,k,計(jì)算也是極其困難的,kP,表示,k,個(gè),P,相加:,P+P+P,在,DH,密鑰交換中,使用了,y,g,x,mod p,中,x,的計(jì)算困難性,同樣在,ECC,中,將使用,Q,kP,中計(jì)算,k,的困難性,有兩個(gè)應(yīng)用,密鑰交換,加密解密,10.4 橢圓曲線密碼學(xué)ECC,ECC利用EC上的離散對(duì)數(shù)難題(ECDLP),這和利用Zp*上的離散對(duì)數(shù)難題(DLP)是一樣的方法。,在一般數(shù)域上的離散對(duì)數(shù)問(wèn)題以及大數(shù)分解問(wèn)題存在亞指數(shù)級(jí)時(shí)間簡(jiǎn)潔度求解算法,而ECDLP只有純指數(shù)算法。,使用EC的密鑰交換D-H,步驟,y2x3axb mod p,選擇素?cái)?shù)p(得約160比特)和參數(shù)a、b,選擇一個(gè)生成點(diǎn)G(x1,y1),p、a、b和點(diǎn)G是公開的,A:選取隱秘的數(shù)Na,計(jì)算PaNaG,B:選取隱秘的數(shù)Nb,計(jì)算PbNbG,交換Pa,Pb,A:計(jì)算KNaPbNaNbG,B:計(jì)算KNbPaNbNaG,分析,攻擊者得求Na和Nb,就是P?G中的?,用EC的加