999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Beller-Yacobi協(xié)議的研究與模擬實(shí)現(xiàn)

2012-08-13 09:19:12劉城霞

劉城霞

北京信息科技大學(xué)計(jì)算機(jī)學(xué)院 北京 100101

0 引言

在無(wú)線通信中隨著移動(dòng)用戶(hù)對(duì)信息服務(wù)的需求越來(lái)越多,對(duì)移動(dòng)通信系統(tǒng)安全的要求也越來(lái)越高,這不僅包括數(shù)據(jù)通信的安全性,還要求身份認(rèn)證的合法性。目前實(shí)現(xiàn)身份認(rèn)證最可行最安全的方式是設(shè)計(jì)基于密碼技術(shù)的認(rèn)證協(xié)議,并將其運(yùn)用于認(rèn)證系統(tǒng)中,Beller-Yacobi認(rèn)證協(xié)議便是實(shí)現(xiàn)該功能的協(xié)議之一。

1 Beller-Yacobi傳輸協(xié)議

Beller-Yacobi密鑰傳輸協(xié)議被稱(chēng)為混合密鑰傳輸協(xié)議,它同時(shí)使用了對(duì)稱(chēng)加密技術(shù)和非對(duì)稱(chēng)加密技術(shù),也就是說(shuō)除了使用公鑰加密和數(shù)字簽名外,還使用了對(duì)稱(chēng)加密技術(shù)。

1.1 信息安全的模型

信息安全的基本模型可以用圖1表示。

圖1 信息安全的基本模型

通信雙方欲傳遞某個(gè)消息,則需要考慮通信的安全性。安全傳輸技術(shù)有以下兩個(gè)基本成分:①消息的安全傳輸,包括對(duì)消息的加密和認(rèn)證。②通信雙方共享的某些秘密信息,如加密密鑰。為了消息的安全傳輸,還需要一個(gè)可信的第三方,其作用可能是負(fù)責(zé)向通信雙方發(fā)布秘密信息或者在通信雙方有爭(zhēng)議時(shí)進(jìn)行仲裁。所以安全的網(wǎng)絡(luò)通信必須考慮4個(gè)方面:①加密算法。②用于加密算法的秘密信息。③秘密信息的分布和共享。④使用加密算法和秘密信息以獲得安全服務(wù)所需的協(xié)議。

1.2 Beller-Yacobi傳輸協(xié)議的描述

Beller-Yacobi協(xié)議實(shí)現(xiàn)密鑰的傳輸,提供相互的實(shí)體認(rèn)證和顯式的密鑰認(rèn)證。首先介紹一下簡(jiǎn)化的Beller-Yacobi協(xié)議:

(1) 系統(tǒng)參數(shù)的選擇。模ns整數(shù)的乘法群中,適當(dāng)?shù)乃財(cái)?shù)ns和生成元a被確定為ElGamal系統(tǒng)參數(shù)。可信服務(wù)器T選擇適當(dāng)?shù)乃財(cái)?shù)p和q來(lái)為RSA簽名生成公開(kāi)模數(shù)nT =pq,然后為公開(kāi)指數(shù)eT=3計(jì)算一個(gè)私鑰dT,使得eT dT=1mod(p-1)(q -1)。

(2) 系統(tǒng)參數(shù)分發(fā)。T給每個(gè)參與方(A和B)分發(fā)一個(gè)可信副本,包括T的公鑰和系統(tǒng)參數(shù)nT,(ns,α),并為每個(gè)參與方X制定一個(gè)惟一的可辨別名稱(chēng)或識(shí)別串IX(如X的名稱(chēng)和地址)。

(3) 終端的初始化。每個(gè)充當(dāng)A(終端)的參與方都隨機(jī)選擇一個(gè)整數(shù)a,1<a≤ns-2,并且計(jì)算其ElGamal簽名公鑰uA =αamodnS。A保密相應(yīng)的私鑰a,并將uA的一個(gè)可信副本傳送給T,通過(guò)帶外方式(安全信道或者是親自送交)來(lái)向T識(shí)別它自己。T生成公鑰證書(shū)并返回給A:certA=(IA, uA, GA)(此證書(shū)包含A的身份和ElGamal簽名公鑰 , 以 及 由GA=ST( IA, uA)=(h( IA, uA))dTmodnT 產(chǎn) 生 的T的RSA簽名GA)。

(4) 服務(wù)器端的初始化。每個(gè)充當(dāng)B(服務(wù)器)的參與方都產(chǎn)生一個(gè)加密私鑰和一個(gè)基于公開(kāi)指數(shù)eB=3的RSA的相應(yīng)公鑰。B選擇一個(gè)公鑰模數(shù)nB,為兩個(gè)適當(dāng)?shù)拿孛芩財(cái)?shù)的乘積,并自己計(jì)算相應(yīng)的RSA私鑰dB。B將nB傳送給v,通過(guò)所謂的帶外(安全信道)方式來(lái)向T識(shí)別它自己。T產(chǎn)生公鑰證書(shū)并返回給B:certB=(IB,nB,GB)(此證書(shū)包含B的身份核RSA加密公鑰nB,以及由GA=ST(IA,uA)=(h(IA,uA))dTmodnT產(chǎn)生的T的RSA簽名GB)。

其中EK(y)表示使用密鑰K和算法E對(duì)y進(jìn)行對(duì)稱(chēng)加密。PX(y)表示應(yīng)用X的公鑰函數(shù)對(duì)y加密后的結(jié)果。SX(y)表示應(yīng)用X的私鑰函數(shù)對(duì)y簽名后的結(jié)果。IX表示參與方X的一個(gè)識(shí)別串。h(y)表示y的雜湊,它與簽名方案一同使用。如果y=(y1,...,yn),則輸入為這多個(gè)值的級(jí)聯(lián)。

協(xié)議執(zhí)行過(guò)程如圖2所示。

圖2 Beller-Yacobi協(xié)議描述圖

可信服務(wù)器T負(fù)責(zé)分發(fā)統(tǒng)一的參數(shù),并且針對(duì)接收到的關(guān)于 A,B,產(chǎn)生相應(yīng)的簽名,然后發(fā)送相應(yīng)的公鑰證書(shū)。可信服務(wù)器T的所有操作都是該協(xié)議的系統(tǒng)設(shè)置準(zhǔn)備階段,也就是又可信第三方分發(fā)密鑰的階段,協(xié)議的關(guān)鍵在與A,B之間的信息交流,以達(dá)到傳送密鑰K的目的。每當(dāng)A,B要將信息傳送給對(duì)方的時(shí)候都要將由可信服務(wù)器T生成的公鑰認(rèn)證一并傳送,讓對(duì)方驗(yàn)證自己的身份。其中 A使用ElGamal簽名用來(lái)產(chǎn)生會(huì)話密鑰K(協(xié)議傳輸對(duì)象)。而B(niǎo)對(duì)ElGamal簽名的認(rèn)證確定密鑰的來(lái)源,以及密鑰的正確性。

2 RSA算法原理

可信服務(wù)器T要進(jìn)行RSA公鑰的生成及生成公鑰認(rèn)證,那么就有必要了解一下RSA的算法原理和密鑰是如何生成的。

2.1 RSA密鑰生成算法

每個(gè)實(shí)體產(chǎn)生一個(gè)RSA公鑰以及一個(gè)相應(yīng)的私鑰。每個(gè)實(shí)體A執(zhí)行如下操作:

① 隨機(jī)生成兩個(gè)不同的大素?cái)?shù)p和q。

② 計(jì)算n=pq和φ=(p-1)(q-1)。

③ 隨機(jī)選擇整數(shù)e,1<e<φ,使得gcd(e,φ)=1

④ 使用擴(kuò)展的歐幾里得算法計(jì)算滿足ed≡1modφ的惟一整數(shù)d,1<d<φ。

⑤A的公鑰為(n,e),私鑰為d。

RSA密鑰生成中的整數(shù)e,d分別稱(chēng)為加密指數(shù)和解密指數(shù),n稱(chēng)為模數(shù)。

2.2 RSA公鑰加密

B為A對(duì)消息m加密,A進(jìn)行解密。

(1) 加密,B執(zhí)行如下操作:

① 獲得A的可信公鑰(n,e)。

② 把消息表示成區(qū)間[0,n-1]內(nèi)的整數(shù)m。③ 計(jì)算c=memodn。

④ 將密文c發(fā)送給A。

(2) 解密,為了從c中恢復(fù)明文m,A執(zhí)行:用私鑰d恢復(fù)m=cdmodn。

2.3 RSA簽名認(rèn)證

實(shí)體A簽署消息m∈Μ。任何實(shí)體B都可驗(yàn)證A的簽名,并從中恢復(fù)消息m。

(1) 簽名生成,實(shí)體A執(zhí)行如下操作:

① 計(jì)算取值在區(qū)間[0,n-1]內(nèi)的整數(shù)=R(m)。

② 計(jì)算s=modn。

③A對(duì)m的簽名s。

(2) 驗(yàn)證,為驗(yàn)證A的簽名s且恢復(fù)消息m,實(shí)體B應(yīng)當(dāng):

① 獲得A的可信公鑰(n,e)。

② 計(jì)算=semodn。

③ 驗(yàn)證∈ΜR;否則拒絕接收簽名。

④ 恢復(fù)

簽名驗(yàn)證可行性證明。若s是消息m的簽名,則有s=modn, 其 中=R(m)。 因 為ed≡1modφ, 故

2.4 RSA加解密算法.NET實(shí)現(xiàn)

(1) RSA公鑰產(chǎn)生

調(diào)用.NET環(huán)境下的類(lèi)可直接產(chǎn)生由XML封裝的公鑰。將公鑰發(fā)給A,B,自己保留私鑰,用以后來(lái)的簽名和解密。代碼如下:

public void RSAKey(out string xmlKeys, out string xmlPublicKey)

{RSACryptoServiceProvider rsa = new RSACryptoService Provider();//初始化對(duì)象

xmlKeys=rsa.ToXmlString(true);//產(chǎn)生私鑰

xmlPublicKey=rsa.ToXmlString(false);//公鑰 }

RSA參數(shù)實(shí)際存儲(chǔ)在兩個(gè)字段中,一個(gè)是xmlKeys,存儲(chǔ)公開(kāi)的RSA參數(shù),另一個(gè)是xmlPublicKey,存儲(chǔ)公開(kāi)和私有的RSA參數(shù)。系統(tǒng)產(chǎn)生的公鑰和私鑰都由XML封裝,形式如:

(2) RSA公鑰加密

public string RSAEncrypt(string xmlPublicKey, string m_strEncryptString)

{RSACryptoServiceProvider rsa = new RSACryptoService Provider();//產(chǎn)生對(duì)象

rsa.FromXmlString(xmlPublicKey); //初始化

PlainTextBArray = (new UnicodeEncoding()).GetBytes(m_strEncryptString);//轉(zhuǎn)字節(jié)序列

CypherTextBArray = rsa.Encrypt(PlainTextBArray, false);//加密

Result = Convert.ToBase64String(CypherTextBArray);return Result; }

算法將所要機(jī)密的明文字符串轉(zhuǎn)換成一個(gè)字節(jié)序列,存儲(chǔ)在PlainTextBArray中。再調(diào)用RSA類(lèi)的Encrypt方法對(duì)經(jīng)過(guò)處理的密文進(jìn)行加密,以字符串的類(lèi)型返回。

(3) RSA簽名

RSA簽名需要關(guān)鍵的兩個(gè)步驟,求哈希(雜湊)值和簽名。下面是GetHash實(shí)現(xiàn)代碼:

public bool GetHash(string m_strSource, ref string strHashData)

{HashAlgorithm MD5 = HashAlgorithm.Create("MD5");/產(chǎn)生Hash算法

Buffer

=System.Text.Encoding.GetEncoding("GB2312").GetBytes(m_strSource);

HashData = MD5.ComputeHash(Buffer);//計(jì)算Hash值

strHashData = Convert.ToBase64String(HashData);

return true; }

這里首先對(duì)要求哈希值的字符串進(jìn)行處理,轉(zhuǎn)換成字節(jié)序列,然后計(jì)算指定字節(jié)數(shù)組的哈希值,最后將哈希值以字符串的形式輸出。獲得哈希描述后,對(duì)該哈希值進(jìn)行簽名。代碼如下:

public bool SignatureFormatter(string p_strKeyPrivate, byte[]HashbyteSignature, ref byte[] EncryptedSignatureData)

{ RSACryptoServiceProvider RSA = new System.Security.Cryptography.RSACryptoServiceProvider();

RSA.FromXmlString(p_strKeyPrivate);//用已有的私鑰初始化對(duì)象

SignatureFormatter RSAFormatter = new SignatureFormatter(RSA);

RSAFormatter.SetHashAlgorithm("MD5");//得到Hash算法

EncryptedSignatureData = RSAFormatter.CreateSignature(HashbyteSignature);//產(chǎn)生簽名

return true; }

首先用之前產(chǎn)生的公鑰進(jìn)行初始化,然后將簽名的算法設(shè)置為 MD5,最后對(duì)之前求得的哈希值進(jìn)行簽名。有關(guān)ElGamal簽名和DES對(duì)稱(chēng)加密方法在系統(tǒng)中也實(shí)現(xiàn)了,篇幅原因這里不再贅述。

3 系統(tǒng)運(yùn)行和測(cè)試

3.1 系統(tǒng)設(shè)置階段

首先由可信服務(wù)器T產(chǎn)生各個(gè)參數(shù),如圖3。公鑰(nt,e)顯示的是系統(tǒng)產(chǎn)生的RSA公鑰,ElGamal參數(shù)是由系統(tǒng)產(chǎn)生的一個(gè)隨機(jī)大素?cái)?shù)及其本原根。隨后,將參數(shù)發(fā)送給A,B,兩方接收并存儲(chǔ)參數(shù),以備后用。

圖3 可信服務(wù)器T的系統(tǒng)設(shè)置

接著,終端A和可信服務(wù)器B產(chǎn)生各自的識(shí)別串和參數(shù),然后傳送給可信服務(wù)器T。如圖4所示,Ib為B的識(shí)別串,nb是可信服務(wù)器用于RSA加密的公鑰。

終端A的系統(tǒng)設(shè)置與B類(lèi)似,不在贅述。A和B設(shè)置后,可信服務(wù)器T接收A,B的參數(shù),通過(guò)RSA簽名產(chǎn)生Ga,Gb,再送給A,B。A,B接收各自簽名,即公鑰認(rèn)證,則準(zhǔn)備階段完成。

圖4 服務(wù)器端B的系統(tǒng)設(shè)置

3.2 協(xié)議執(zhí)行階段

這里只描述A與B之間的信息傳輸和發(fā)送。系統(tǒng)設(shè)置完成后,首先由服務(wù)器端B產(chǎn)生一個(gè)隨機(jī)數(shù)發(fā)送給終端A,發(fā)送的同時(shí)將準(zhǔn)備階段時(shí)T產(chǎn)生的公鑰認(rèn)證一起發(fā)送,用于A方對(duì)于信息來(lái)源的檢測(cè)。如圖5所示,終端A通過(guò)RSA認(rèn)證,來(lái)檢驗(yàn)來(lái)自B方的信息。

圖5 終端A認(rèn)證信息

認(rèn)證成功之后,終端 A計(jì)算其 ElGamal簽名,并和 A的公鑰認(rèn)證一同發(fā)送給 B。發(fā)送前首先對(duì)簽名進(jìn)行相應(yīng)的RSA公鑰加密,以及DES對(duì)稱(chēng)加密。由此,B方首先接收到的是加密之后的簽名以及認(rèn)證,然后B方再對(duì)加密結(jié)果進(jìn)行解密,最后便是服務(wù)器端B對(duì)來(lái)自A的信息的認(rèn)證,如圖6所示。

圖6 服務(wù)器B的最終驗(yàn)證結(jié)果

認(rèn)證中首先進(jìn)行公鑰認(rèn)證,通過(guò)RSA認(rèn)證來(lái)檢驗(yàn)信息的來(lái)源,而后是ElGamal認(rèn)證,認(rèn)證傳輸?shù)拿荑€K的真確性,兩者均驗(yàn)證成功才能說(shuō)明協(xié)議執(zhí)行成功。

4 總結(jié)

本文分析了Beller-Yacobi協(xié)議的每一個(gè)步驟以及所涉及的加密、簽名算法。并以RSA加密算法及簽名算法為例做了詳細(xì)的介紹,并用C# 語(yǔ)言在.NET平臺(tái)下編寫(xiě)了相應(yīng)的算法程序,實(shí)現(xiàn)了整個(gè)Beller-Yacobi密鑰傳輸協(xié)議的過(guò)程。

[1] 徐勝波,武傳坤,王新梅.移動(dòng)通信網(wǎng)中的認(rèn)證與密鑰分配[J].電子學(xué)報(bào).1996.

[2] Alfred J.Menezes, PaulC.van Oorschot, Scott A.Vanstone著,胡磊,王鵬譯.應(yīng)用密碼學(xué)手冊(cè)[M].北京:電子工業(yè)出版社.2005.

[3] 王亞弟,束妮娜,韓繼紅編著.密碼協(xié)議形式化分析[M].北京:機(jī)械工業(yè)出版社.2006.

主站蜘蛛池模板: 爽爽影院十八禁在线观看| 九九视频免费看| 国产精品第页| 国产91全国探花系列在线播放| 素人激情视频福利| 无码高清专区| 91免费国产在线观看尤物| 色欲色欲久久综合网| 国产尤物jk自慰制服喷水| 有专无码视频| 91精品亚洲| 一本大道香蕉中文日本不卡高清二区 | 人妻丝袜无码视频| 一级毛片免费不卡在线| 成人在线亚洲| 国内精品九九久久久精品| 91青草视频| 一级不卡毛片| 天天摸天天操免费播放小视频| 国产亚洲视频免费播放| 蝴蝶伊人久久中文娱乐网| 日本午夜影院| a毛片在线| 国产在线98福利播放视频免费| 国内精品久久人妻无码大片高| 欧美在线网| 亚洲欧洲日产国产无码AV| 亚洲精品在线91| 亚洲精品第一页不卡| 国产精品原创不卡在线| 成人午夜免费观看| 久久这里只精品国产99热8| 69免费在线视频| 国产亚洲欧美日韩在线一区二区三区| 91毛片网| 色135综合网| 国产成人亚洲毛片| 中文字幕亚洲电影| 亚洲不卡网| 999精品视频在线| 91精品情国产情侣高潮对白蜜| 五月激激激综合网色播免费| 99精品在线视频观看| 国产成人啪视频一区二区三区 | 成人日韩精品| 香蕉国产精品视频| 亚洲男人的天堂久久香蕉网| 免费一级毛片完整版在线看| 免费观看亚洲人成网站| 中日韩一区二区三区中文免费视频| 九色在线视频导航91| 久久永久视频| 国产高清自拍视频| 99久久亚洲精品影院| 无码国产伊人| 久久久噜噜噜久久中文字幕色伊伊| 国产丝袜无码精品| 久久特级毛片| 很黄的网站在线观看| 99精品在线看| 国产成人免费高清AⅤ| 久久a级片| 亚洲视频一区| 91年精品国产福利线观看久久| 在线五月婷婷| 尤物在线观看乱码| 国产成人精品一区二区三区| 久久综合色播五月男人的天堂| 国产福利不卡视频| 亚洲色图欧美| 亚洲av成人无码网站在线观看| 国产视频大全| 色噜噜久久| 国产制服丝袜无码视频| 国产日本欧美亚洲精品视| 99爱在线| 情侣午夜国产在线一区无码| 国产日本欧美亚洲精品视| 国产精品99r8在线观看| 人妻丰满熟妇av五码区| a级毛片免费看| 欧美一区精品|