摘要:為了保證網(wǎng)絡(luò)通信的安全性,需要對(duì)通信的雙方進(jìn)行身份認(rèn)證,并保證通信內(nèi)容的安全。通常的做法是利用某個(gè)可信任第三方進(jìn)行身份認(rèn)證,但這樣存在一些安全風(fēng)險(xiǎn)。本文提出一種基于秘密共享的安全通信協(xié)議。該協(xié)議可以保證在一個(gè)較大規(guī)模網(wǎng)絡(luò)內(nèi)的通信安全。
關(guān)鍵詞:秘密共享;網(wǎng)絡(luò)安全;通信協(xié)議;門(mén)限數(shù)字簽名
網(wǎng)絡(luò)通信的目的是通信的雙方能夠在約定的協(xié)議下交互信息。要使通信的內(nèi)容正確地、完整地達(dá)到對(duì)方,且信息不泄漏,就需要對(duì)通信的雙方進(jìn)行身份認(rèn)證,對(duì)信息進(jìn)行加密、簽名等等,也就是要保證通信的安全。一般來(lái)說(shuō),對(duì)網(wǎng)絡(luò)通信而言,我們需要保證這幾個(gè)安全屬性:可用性、機(jī)密性、完整性、不可否認(rèn)性。而用到的技術(shù)一般為加密、認(rèn)證和數(shù)字簽名等。為了使通信能夠得到足夠的安全保證,本文提出一種基于秘密共享的安全通信協(xié)議來(lái)保證通信的安全。
1 基于信任分散的密鑰管理
隨著網(wǎng)絡(luò)規(guī)模的擴(kuò)大,很多弱點(diǎn)暴露出來(lái),比如網(wǎng)絡(luò)帶寬消耗急劇增大、身份認(rèn)證易偽造、容易導(dǎo)致網(wǎng)絡(luò)重放攻擊等。此時(shí)我們就可以應(yīng)用\"可信任第三方\"的機(jī)制。在這種機(jī)制下,所有的節(jié)點(diǎn)都擁有一個(gè)公開(kāi)/秘密密鑰對(duì),他們彼此用公開(kāi)密鑰來(lái)鑒別對(duì)方,但公開(kāi)密鑰的真實(shí)性卻不一定能保證。所以就需要有一個(gè)可信任的實(shí)體來(lái)管理所有的公開(kāi)密鑰,這個(gè)可信任實(shí)體叫做證書(shū)授權(quán)機(jī)構(gòu)(CA)。這個(gè)可信的CA給每個(gè)節(jié)點(diǎn)分配一個(gè)唯一的標(biāo)識(shí)并簽發(fā)一個(gè)包含標(biāo)識(shí)和節(jié)點(diǎn)公開(kāi)密鑰的證書(shū)。這個(gè)CA本身有一個(gè)公開(kāi)/秘密密鑰對(duì),并且所有的節(jié)點(diǎn)都知道CA的公開(kāi)密鑰。這樣如果節(jié)點(diǎn)之間要進(jìn)行通信,它們可以從CA上獲得對(duì)方的公開(kāi)密鑰來(lái)鑒別對(duì)方。因此,我們可以在網(wǎng)絡(luò)中設(shè)置一個(gè)CA來(lái)管理全網(wǎng)所有節(jié)點(diǎn)的公開(kāi)密鑰。
然而這有一個(gè)問(wèn)題:如果這個(gè)CA被攻破了,那么整個(gè)網(wǎng)絡(luò)也就崩潰了。所以這時(shí)的安全策略就是:將這種對(duì)一個(gè)CA的信任分散到對(duì)若干個(gè)節(jié)點(diǎn)的共同信任,這若干個(gè)節(jié)點(diǎn)分別分擔(dān)一部分的信任。
2 安全通信協(xié)議描述
本通信協(xié)議出于這樣的假設(shè):在某個(gè)網(wǎng)絡(luò)中沒(méi)有一個(gè)單獨(dú)的節(jié)點(diǎn)是值得信任的,但一個(gè)節(jié)點(diǎn)的集合是可信任的。于是我們就可以將管理全網(wǎng)公開(kāi)密鑰的節(jié)點(diǎn)從一個(gè)單獨(dú)的節(jié)點(diǎn)擴(kuò)展為一個(gè)節(jié)點(diǎn)的集合。網(wǎng)絡(luò)通信時(shí)包括兩部分:(T,N)門(mén)限RSA數(shù)字簽名系統(tǒng)和普通節(jié)點(diǎn)。本文只考慮全網(wǎng)有一個(gè)(T,N)門(mén)限RSA數(shù)字簽名系統(tǒng)的情況,當(dāng)然也可以有多個(gè)這樣的分級(jí)的數(shù)字簽名系統(tǒng)來(lái)負(fù)責(zé)全網(wǎng)的證書(shū)的分發(fā)。該數(shù)字簽名系統(tǒng)由N個(gè)節(jié)點(diǎn)組成,安全通信協(xié)議描述如下:
Step1. 認(rèn)證過(guò)程
(1) A為了確認(rèn)B的公開(kāi)密鑰的真實(shí)性,向TRSADSS提交一個(gè)請(qǐng)求認(rèn)證B身份的請(qǐng)求。
(2) 由于TRSADSS知道所有節(jié)點(diǎn)的公開(kāi)密鑰,所以它能夠用A的公開(kāi)密鑰解密,并判斷該消息是否過(guò)期,如果過(guò)期則不處理該消息,如果未過(guò)期則處理A的請(qǐng)求。此時(shí)TRSADSS形成一條消息m。
(3)各節(jié)點(diǎn)利用各自擁有的那份部分密鑰分別對(duì)消息m簽名,從而形成部分簽名且分別發(fā)送給一個(gè)簽名生成者C(C可以為N個(gè)節(jié)點(diǎn)中的一個(gè),也可以另外協(xié)商)。
(4) C從這N個(gè)部分簽名中選擇T個(gè),生成對(duì)消息m的簽名S (m),并發(fā)送給A。
(5) A首先驗(yàn)證簽名的有效性,如果有效就驗(yàn)證簽名結(jié)果的正確性。如果正確,那么A就獲得了對(duì)應(yīng)于B的真實(shí)的公開(kāi)密鑰;如果不正確,那么A需要通知TRSADSS有錯(cuò)。
(6)(7)(8)(9)(10)和(1)(2)(3)(4)(5)類(lèi)似,只不過(guò)把其中的A變成B,B變成A。
Step2. 密鑰協(xié)商過(guò)程
經(jīng)過(guò)Step1的十個(gè)步驟A和B都獲得了和對(duì)方標(biāo)識(shí)綁定的公開(kāi)密鑰,因而彼此進(jìn)行了認(rèn)證。接著A和B就可以進(jìn)行通信了。為了保證通信的安全性,有許多方案(如用Diffie-Hellman密鑰交換協(xié)議),我們提出一種利用RSA密碼體制的密鑰協(xié)商過(guò)程:
A隨機(jī)產(chǎn)生一個(gè)隨機(jī)數(shù)和會(huì)話(huà)密鑰,并用自己的私有密鑰加密,再用對(duì)方的公開(kāi)密鑰加密,然后發(fā)送給B。 B收到后,經(jīng)過(guò)解密同時(shí)按照既定算法生成自己的隨機(jī)數(shù),并向A發(fā)送。然后A向B回復(fù)。這樣A和B就協(xié)商了一個(gè)會(huì)話(huà)密鑰KAB。
Step3. 通信過(guò)程
最后A和B就可以用一種以KAB為密鑰的對(duì)稱(chēng)加密算法(如AES)進(jìn)行通信:發(fā)送方以KAB為密鑰用一種對(duì)稱(chēng)加密算法對(duì)信息內(nèi)容加密并發(fā)送出去,接收方收到信息后以KAB為密鑰進(jìn)行解密。
3 安全性分析
首先分析門(mén)限RSA數(shù)字簽名系統(tǒng)的安全性。門(mén)限RSA數(shù)字簽名系統(tǒng)的安全性由門(mén)限密碼方案和RSA密碼體制決定,RSA密碼體制已經(jīng)較為成熟,而門(mén)限密碼方案也是安全的。另外,簽名生成者可能會(huì)因?yàn)檫x出的部分簽名中有假而生成假的簽名,這個(gè)假簽名可以由C根據(jù)簽名系統(tǒng)的公開(kāi)密鑰來(lái)驗(yàn)證。還有一種方法是對(duì)簽名系統(tǒng)進(jìn)行改進(jìn),設(shè)置T個(gè)簽名生成者,這樣可以保證至少有一個(gè)簽名是正確的。
經(jīng)過(guò)簽名系統(tǒng)對(duì)身份認(rèn)證請(qǐng)求結(jié)果的簽名,通信的雙方就彼此進(jìn)行了身份認(rèn)證,下面分析方案密鑰協(xié)商過(guò)程的安全性。在這一步中A和B首先需要協(xié)商一個(gè)安全的會(huì)話(huà)密鑰。在協(xié)商會(huì)話(huà)密鑰的過(guò)程中,我們運(yùn)用了類(lèi)似于\"三次握手\"的方法。在協(xié)商時(shí)二者都是先用自己的秘密密鑰加密,再用對(duì)方的公開(kāi)密鑰加密,這樣只有用自己的秘密密鑰和另一方的公開(kāi)密鑰才能解密,從而保證了信息的源和目的的正確性,并可防止竊聽(tīng)。同時(shí)A和B形成的隨機(jī)數(shù)是按照既定算法生成的,這可以避免網(wǎng)絡(luò)上的重放攻擊。最后A和B可以用協(xié)商好的會(huì)話(huà)密鑰和一種強(qiáng)的對(duì)稱(chēng)加密算法來(lái)進(jìn)行通信。雖然非對(duì)稱(chēng)加密算法的安全性要比對(duì)稱(chēng)加密算法的安全性高,但是效率卻低很多,因此本文首先使用非對(duì)稱(chēng)加密算法(如RSA)在通信雙方間交換密鑰,然后使用該密鑰用對(duì)稱(chēng)加密算法進(jìn)行加密通信,這樣既可以保證安全性,又可以保證效率。
小結(jié)
在一個(gè)較大規(guī)模的網(wǎng)絡(luò)中,如何保證通信的安全性至關(guān)重要。本文利用秘密共享的思想提出了一種基于秘密共享的網(wǎng)絡(luò)安全通信協(xié)議。該通信協(xié)議可以為網(wǎng)絡(luò)的安全提供了底層保障。
參考文獻(xiàn)
[1]Steiner M, Tsudik G, Waidner M. Diffie-hellman key distribution extended to group communication[A]. Proceedings of 3rd ACM Conference on Computer and Communications Secutity[C], New Delhi India: ACM Inc, 1996. 31~37.
[2]王貴林, 卿斯?jié)h. 幾個(gè)門(mén)限群簽名方案的弱點(diǎn)[J]. 軟件學(xué)報(bào), 2000, 11(10): 1326~1332.
[3]徐秋亮. 改進(jìn)門(mén)限RSA數(shù)字簽名體制[J]. 計(jì)算機(jī)學(xué)報(bào), 2000, 23(5): 449~453.