• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種改進(jìn)的RSA快速身份認(rèn)證方案

      2013-03-27 18:46:14唐文龍
      大眾科技 2013年2期
      關(guān)鍵詞:明文私鑰公鑰

      唐文龍

      (百色學(xué)院,廣西 百色 533000)

      1 引言

      在分布式的網(wǎng)絡(luò)環(huán)境中,各節(jié)點希望能夠充分利用互聯(lián)網(wǎng)中所蘊(yùn)含的潛在計算資源,因為這些節(jié)點在地理位置是處于不同位置,而且還具有匿名性、身份隨意性和可用性動態(tài)變化等特點。節(jié)點提供資源共享服務(wù)只是一種自愿且不可靠的行為,不用承擔(dān)任何法律責(zé)任。如何建立適應(yīng)網(wǎng)絡(luò)動態(tài)復(fù)雜性及惡意節(jié)點行為的節(jié)點間身份快速認(rèn)證,使信任機(jī)制更加客觀合理,是當(dāng)前亟待解決的問題。針對這種情況,結(jié)合零知識證明并結(jié)合加密算法,建立節(jié)點間的快速身份認(rèn)證方案。

      2 相關(guān)知識

      2.1 零知識證明

      (1)零知識證明的概念

      1985年,Shafi Goldwasser,Silvio Micali和Charles Rackoff提出了零知識交互式證明的概念。“零知識證明”說的是示證者向驗證者表明他知道某種秘密,不僅能使驗證者完全確信他的確知道這個秘密,同時還保證一丁點秘密也不泄露給驗證者?!爸R”,可以是口令,公鑰系統(tǒng)中的私鑰,某個數(shù)學(xué)難題的一種解決方法,一系列的證書等等。因此,零知識證明就是證明方擁有某些知識,在不將該知識的內(nèi)容泄露給驗證方的前提下,向驗證方證明自己擁有該知識。在這個過程中,一方面,驗證方不可能向任何第三方假冒證明方,因為他沒有得到關(guān)于這個秘密的任何一點信息。[1]另一方面,證明方不可能欺騙驗證方,因為這個過程重復(fù)了很多次,證明方欺騙成功的概率很小。

      (2)零知識身份認(rèn)證

      如果我們把合法用戶的個人信息看作是證明方的知識,證明方通過零知識證明向驗證方證實自己的身份就是零知識身份認(rèn)證。零知識身份認(rèn)證是零知識證明在身份認(rèn)證方面的應(yīng)用。目前的零知識身份認(rèn)證方案主要有四種: Fiat-Shamir身份認(rèn)證、Feige-Fiat-Shamir身份認(rèn)證、Guillo-Quisquater身份認(rèn)證和Schnorr身份認(rèn)證。其中Fiat-Shamir身份認(rèn)證是最早提出的,也是最基礎(chǔ)的零知識身份認(rèn)證方案,其他三種方案是對Fiat-Shamir的改進(jìn)[2]。

      2.2 RSA認(rèn)證機(jī)制

      RSA公開密鑰密碼體制。所謂的公開密鑰密碼體制就是使用不同的加密密鑰與解密密鑰,是一種“由已知加密密鑰推導(dǎo)出解密密鑰在計算上是不可行的”密碼體制。

      (1)隨機(jī)選取2 個大素數(shù)p、q,計算n = p · q

      (2)計算 fx = ( p -1) · (q -1),然后隨機(jī)選取e,滿足 1 < e <fx,且 gcd(e,fx) = 1

      (3)計算 d,使之滿足 1 < d < fx 且 e ·d ≡1(mod fx) ,B 的公鑰是(n,e),私鑰是(d, p,q)

      (4)H( n,e)是單向無碰撞的散列函數(shù)。第三方公布(n,e)和H。

      RSA認(rèn)證方案雖然可以解決通信雙方之間的認(rèn)證問題,但在分布式環(huán)境里會導(dǎo)致系統(tǒng)負(fù)擔(dān)過重,效率低下。

      2.3 改進(jìn)的RSA認(rèn)證機(jī)制

      由于在RSA認(rèn)證方案中,任意選取的整數(shù)e,而e這個數(shù)太小則安全性不高,太大了則系統(tǒng)性能下降,特別在分布式環(huán)境里,節(jié)點間相互認(rèn)證如果花的時間太多,會導(dǎo)致網(wǎng)絡(luò)時延,影響性能。針對這一情況,對RSA認(rèn)證算法的e的取值進(jìn)行變換。

      (1)對于e ·d ≡1(mod fx)式中的e是個大整數(shù)。

      (2)取e=by,b為質(zhì)數(shù),且gcd(by,fx) = 1

      (3)認(rèn)證算法:節(jié)點m計算出密文,明文及明文的數(shù)字摘要傳至節(jié)點n

      C=pe(mod fx), e=by;

      p’=IDEA(p,k),IDEA為分組加密算法,k為雙方協(xié)商的密鑰;

      p’’=H(p’),H(p’)為用預(yù)定的散列算法對 p’進(jìn)行散列得到摘要信息p’’;

      節(jié)點m發(fā)至節(jié)點n實際是(c,p’,p’’)兩方內(nèi)容。

      (4)驗證算法:節(jié)點 n根據(jù)節(jié)點 m所發(fā)的三部分(c,p’,p’’)進(jìn)行驗證

      P=Ce(mod fx),e=by;

      判斷P是否與IDEA(P’)相等,H(p)是否與P’’相等;

      認(rèn)證結(jié)束。

      在改進(jìn)的認(rèn)證方案中,由于e=by,中的指數(shù)復(fù)雜性,第三方很難知道e,IDEA加密算法和散列函數(shù)的運用,增加了認(rèn)證的安全性但效率高。在改進(jìn)的算法中,縮短了認(rèn)證過程時間。

      3 基于零知識證明的改進(jìn)身份認(rèn)證

      在分布式系統(tǒng)中,利用零知識證明原理構(gòu)建身份認(rèn)證可以使證明過程更安全。零知識證明中節(jié)點間使對方相信自已知道某一知識,但并不向?qū)Ψ叫孤┯嘘P(guān)信息。利用零知識證明進(jìn)行節(jié)點間相互認(rèn)證,需要利用第三方認(rèn)證中心CA來維護(hù)系統(tǒng)的公用參數(shù)和用戶的密鑰。

      基于零知識證明的認(rèn)證方案由3 個部分組成:系統(tǒng)初始化,用戶注冊協(xié)議和身份認(rèn)證協(xié)議。

      3.1 系統(tǒng)初始化

      認(rèn)證的前提是認(rèn)證雙方都需要具有第三方所簽發(fā)的證書,這個第三方就是CA認(rèn)證中心,它是采用PKI(Public Key Infrastructure)公開密鑰基礎(chǔ)架構(gòu)技術(shù),專門提供網(wǎng)絡(luò)身份認(rèn)證服務(wù),負(fù)責(zé)簽發(fā)和管理數(shù)字證書,且具有權(quán)威性和公正性的第三方信任機(jī)構(gòu)。在方案中,CA選取以下參數(shù)。

      p、q:大素數(shù),用于構(gòu)建fx;

      b,y∶相對小的數(shù),構(gòu)建e=by;

      k:只對認(rèn)證雙方公開的IDEA加密算法密鑰;

      d∶私鑰;

      H() :單向哈希函數(shù)。

      在初始化過程中,不能暴露用戶的私鑰信息。也不能使CA工作人員泄露信息。

      3.2 用戶注冊協(xié)議

      設(shè)定用戶為Jack,CA認(rèn)證中心名為SA和中間機(jī)構(gòu)SB。注冊的要求就是Jack從機(jī)構(gòu)SA獲得公鑰和私鑰,但是不能對SA泄露個人私鑰。這樣對于公鑰、私鑰的產(chǎn)生就遵循一些協(xié)議,如公鑰和私鑰不能簡單由一個部門產(chǎn)生,而是由幾個權(quán)威部門交叉產(chǎn)生。注冊階段主要是做這些工作,其內(nèi)容簡要如下:

      (1)Jack用戶選擇自已的ID身份標(biāo)識

      (2)Jack用戶選擇隨機(jī)數(shù)b,b∈[2, p*q],由處于異地位置SB產(chǎn)生隨機(jī)數(shù)y,by與互質(zhì),v=idea(p,q,by),發(fā)送v,ID發(fā)送給SA。

      (3)SA對Jack的ID進(jìn)行檢查,若通過則進(jìn)行以下運算∶選擇隨機(jī)數(shù) p、q并計算 fx = ( p -1) · (q -1),且gcd(by,fx) = 1。計算Jack的公鑰和私鑰。所用的公式是為:by·d ≡1(mod fx)。

      (4)Jack的計算機(jī)根據(jù)公鑰和公鑰的證據(jù)計算其私鑰,私鑰的計算機(jī)是在Jack的計算機(jī)上完成的,計算機(jī)結(jié)果根據(jù)公鑰的證據(jù)動態(tài)變化,所以是安全的。

      3.3 身份認(rèn)證協(xié)議

      設(shè)有兩個用戶Jack和Bob,兩個的密鑰對為(PJ,SJ)、(PB,SB),身份標(biāo)識付為IDJ和IDB。假設(shè)Jack和Bob希望通過公開密鑰加密方法進(jìn)行數(shù)據(jù)傳輸,但是只公開加密算法和密鑰而不公開解密算法和密鑰。Jack和Bob加密算法為E1和E2,解密算法分別為D1和D2,E1和D1互逆,E2和d2互逆

      兩人的認(rèn)證(假如Jack向Bob認(rèn)證)步驟如下:

      (1)Jack通過自已的公鑰PJ對一個隨機(jī)數(shù)e和IDJ進(jìn)行加密:c1=E1(e),c2=E1(PJ),為了方便 c1 和 c2都用 c表示。并將這兩個密文發(fā)給BOB。

      (2)Bob隨機(jī)地選取其中一個發(fā)送給Jack,Jack利用自已的私鑰對其解密D1 (c),如果沒有發(fā)生改變則繼續(xù)。

      (3)Bob對另一個密文用自已的私鑰 SB進(jìn)行加密得c’=E2(c),再把c’發(fā)送給jack

      (4)Jack用Bob的PB對其進(jìn)行解密。由于

      E2(E1(m))=E1(E2(m))

      E1(D2(c))=E1(D2(E2(D1(m))))=E1(D1(m))

      如果 Jack的解密結(jié)果沒有發(fā)生改變,就可以證明其身份。同理可以通過上面算法相互認(rèn)證,該方案可以快速在分布式網(wǎng)絡(luò)進(jìn)身份雙向認(rèn)證。

      4 安全性分析

      (1)認(rèn)證雙方的安全性主要依賴于大數(shù)分解,但是否等同于大數(shù)分解一直未能得到理論上的證明,因為沒有證明破解RSA密碼就一定需要做大數(shù)分解。但在方案中用by來表示e,對于y這個值有少量變化,e就會有大的改變。從而增強(qiáng)算法的安全性。

      (2)網(wǎng)絡(luò)偵聽(Sniff):在網(wǎng)絡(luò)上,任何一臺主機(jī)所發(fā)送的數(shù)據(jù)包,都會通過網(wǎng)絡(luò)線路傳輸?shù)街付ǖ哪繕?biāo)主機(jī)上,所有在這個網(wǎng)絡(luò)線路上的主機(jī)都可以偵聽到這個傳輸?shù)臄?shù)據(jù)包。這種攻擊一般需要進(jìn)入到目標(biāo)主機(jī)所在的網(wǎng)絡(luò)內(nèi)部,選擇一臺主機(jī)實施網(wǎng)絡(luò)監(jiān)聽[3]。但是在方案中,Jack和Bob所傳輸?shù)男畔⒍歼M(jìn)行特殊處理,所有在不安全信道中傳輸?shù)男畔⒍际遣捎肦SA加密算法的,攻擊者如想要破譯出明文,就是要解決RSA的大數(shù)分解問題。由于在方案中由by代替e,這樣在短時間內(nèi)是不可能破譯出密鑰的,即使通過偵聽將認(rèn)證階段的所有信息都得到了,由于不知道Jack和Bob的私鑰SJ和SB,也就無法解出信息,不能偽裝成其他用戶欺騙Jack和Bob。

      (3)選擇明文攻擊:分析者不僅可得到一些消息的密文和相應(yīng)的明文,而且我們也可選擇被加密的明文。這比已知明文攻擊更有效。因為我們只在初始階段隨機(jī)生成了信息C,并且通過安全信道傳輸C,因此除了Jack和Bob外沒有人知道C,而且在認(rèn)證階段時是在逐步中才根據(jù)信息生成C,如果在攻擊時判斷是否為初始階段是不可行的,因此選擇明文攻擊是不可行的。

      5 結(jié)束語

      文章結(jié)合安全性高于其它密碼體制的RSA密碼體制和零知識證明的特點,構(gòu)建了網(wǎng)絡(luò)節(jié)點的身份快速認(rèn)證方案.。該方案簡單,不需要可信賴的第三方參與,而且可以抵御重放攻擊、網(wǎng)絡(luò)偵聽、選擇明文攻擊和并行會話攻擊。

      [1] William Stallings.Cryptography and Network Security Principles and Practices,FourthEdition(第 4 版)[M].北京:電子工業(yè)出版社,2006:301-313.

      [2] 邱成剛,李方偉,譚利平.基于雙線性對和公鑰自證明的認(rèn)證加密方案[J].重慶郵電大學(xué)學(xué)報:自然科學(xué)版,2007,19(5):610-612.

      [3] 張虎強(qiáng),洪佩琳,李津生.一種零知識證明協(xié)議的安全分析與改進(jìn)[J].信息安全與通信保密,2006,(11):56-59.

      猜你喜歡
      明文私鑰公鑰
      比特幣的安全性到底有多高
      基于改進(jìn)ECC 算法的網(wǎng)絡(luò)信息私鑰變換優(yōu)化方法
      一種基于混沌的公鑰加密方案
      一種基于虛擬私鑰的OpenSSL與CSP交互方案
      奇怪的處罰
      HES:一種更小公鑰的同態(tài)加密算法
      奇怪的處罰
      SM2橢圓曲線公鑰密碼算法綜述
      四部委明文反對垃圾焚燒低價競爭
      尖扎县| 利辛县| 扎赉特旗| 宁波市| 南充市| 洪江市| 那曲县| 收藏| 大宁县| 龙南县| 蓝山县| 两当县| 克东县| 临江市| 十堰市| 锦屏县| 晋宁县| 平利县| 洪洞县| 通州区| 叶城县| 博客| 红桥区| 临颍县| 淅川县| 女性| 邢台市| 卢湾区| 榆中县| 九龙县| 马山县| 延庆县| 昆山市| 泾源县| 诏安县| 嵊州市| 盐池县| 西华县| 安庆市| 天柱县| 略阳县|