專利名稱::獲取動(dòng)態(tài)主機(jī)配置協(xié)議密鑰的方法、服務(wù)器及客戶端裝置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及移動(dòng)網(wǎng)絡(luò)通信
技術(shù)領(lǐng)域:
,尤其涉及一種獲取動(dòng)態(tài)主機(jī)配置協(xié)議(DynamicHostConfigurationProtocol,DHCP)密鑰的方法、服務(wù)器、客戶端裝置及DHCP系統(tǒng)。
背景技術(shù):
:隨著移動(dòng)網(wǎng)絡(luò)的發(fā)展和擴(kuò)大,基站(BaseStation,BS)設(shè)備由傳統(tǒng)的宏基站往微型基站、家用基站發(fā)展,因此這種BS設(shè)備的需求量成數(shù)以百計(jì)的增長(zhǎng)。同時(shí),客戶或用戶要求買回的這類設(shè)備能即插即用,原先移動(dòng)網(wǎng)絡(luò)應(yīng)用中,BS等網(wǎng)元的IP地址及其接入網(wǎng)絡(luò)時(shí)的一些通信實(shí)體(如網(wǎng)關(guān))的IP地址,由現(xiàn)場(chǎng)操作人員手工配置的方式已不能滿足市場(chǎng)需求。為節(jié)約勞動(dòng)成本、簡(jiǎn)化管理,DHCP協(xié)議被應(yīng)用于這類移動(dòng)網(wǎng)絡(luò)設(shè)備的IP地址分配等應(yīng)用場(chǎng)景,以實(shí)現(xiàn)該類設(shè)備的IP地址自動(dòng)分配和獲取。但是,DHCP協(xié)議是一種不需要進(jìn)行身份認(rèn)證的協(xié)議,毫無(wú)安全性可言,容易給運(yùn)營(yíng)網(wǎng)絡(luò)帶嚴(yán)重的安全隱患。比如攻擊者不斷變換物理地址,嘗試申請(qǐng)一個(gè)DHCP域中所有的地址,耗盡DHCP服務(wù)器端(Server)地址池中的地址,導(dǎo)致其他正常用戶無(wú)法獲得地址;當(dāng)租約用戶或用戶登錄的設(shè)備接入網(wǎng)絡(luò)時(shí),用戶或設(shè)備不需要提供信任憑證即可獲取租期,任意DHCP客戶端(Client)都可以向DHCPServer獲取IP地址的使用租約,這樣,惡意的用戶就可以向DHCPServer發(fā)起拒絕服務(wù)(DenialofService,DoS)攻擊,以耗盡DHCPServer的IP地址租約,從而拒絕合法用戶的租約請(qǐng)求;由于DHCP請(qǐng)求報(bào)文以廣播形式發(fā)送,所以DHCPServer仿冒者可以偵聽(tīng)到,并且回應(yīng)4晉誤的網(wǎng)關(guān)、域名系統(tǒng)(DomainNameSystem,DNS)、IP地址,比如IP地址的副本、不正確的路由信息,比如非法路由器、獲取合法的DHCPC1ient信息等等?,F(xiàn)有技術(shù)中,為了提高DHCP的安全性,RFC3118標(biāo)準(zhǔn)定義了DHCP消息iU正選項(xiàng)——DHCPOption90。RFC3118標(biāo)準(zhǔn)利用DHCPOption90定義了一種延遲i人i正(Delayedauthentication)方法。RFC3118標(biāo)準(zhǔn)還在附錄里提出一種密鑰管理技術(shù),對(duì)密鑰進(jìn)行安全管理。為了避免服務(wù)器端集中管理一系列隨機(jī)密鑰,對(duì)每個(gè)客戶端通信使用的會(huì)話密鑰K是根據(jù)二元組(客戶端標(biāo)識(shí)、子網(wǎng)地址)計(jì)算出來(lái)的,并且對(duì)每個(gè)客戶端而言都是唯一的。發(fā)明人在實(shí)現(xiàn)本發(fā)明的過(guò)程中,發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下缺陷會(huì)話密鑰存在安全隱患,安全可靠性較低。
發(fā)明內(nèi)容本發(fā)明實(shí)施例的目的在于提出一種獲取動(dòng)態(tài)主機(jī)配置協(xié)議密鑰的方法、服務(wù)器、客戶端裝置及DHCP系統(tǒng),以一強(qiáng)DHCP會(huì)話的安全性。本發(fā)明實(shí)施例提供了一種獲取動(dòng)態(tài)主機(jī)配置協(xié)議密鑰的方法,包括接收DHCP客戶端發(fā)送的客戶端公鑰;使用Diffie-Hellman算法計(jì)算服務(wù)器端私鑰;對(duì)所述服務(wù)器端私鑰及客戶端公鑰進(jìn)行Diffie-Hellman計(jì)算獲得主密鑰。本發(fā)明實(shí)施例提供了一種獲取動(dòng)態(tài)主機(jī)配置協(xié)議密鑰的方法,包括使用Diffie-Hellman計(jì)算獲得客戶端私鑰;接收DHCP服務(wù)器端發(fā)送的服務(wù)器端公鑰;對(duì)所述服務(wù)器端公鑰及所述客戶端私鑰進(jìn)行Diffie-Hellman計(jì)算,獲得客戶端主密鑰。本發(fā)明實(shí)施例還提供了一種服務(wù)器,包括接收單元,用于接收DHCP客戶端發(fā)送的客戶端公鑰;密鑰生成單元,用于使用Diffie-Hellman算法計(jì)算服務(wù)器端私鑰;主密鑰生成單元,用于對(duì)所述服務(wù)器端私鑰及客戶端公鑰進(jìn)行Diffie-Hellman計(jì)算獲得主密鑰。本發(fā)明實(shí)施例還提供了一種客戶端裝置,包括密鑰生成單元,用于使用Diffie-Hellman計(jì)算獲得客戶端私鑰;接收單元,用于接收DHCP服務(wù)器端發(fā)送的服務(wù)器端公鑰;主密鑰生成單元,用于對(duì)所述服務(wù)器端公鑰及客戶端私鑰進(jìn)行Diffie-Hellman計(jì)算,獲得客戶端主密鑰。本發(fā)明實(shí)施例還提供了一種動(dòng)態(tài)主機(jī)配置協(xié)議系統(tǒng),包括上述方案中的服務(wù)器及客戶端裝置。上述實(shí)施例中,DHCP客戶端和服務(wù)器端通過(guò)Diffie-Hellman(DH)協(xié)商主密鑰,使得每次會(huì)話都使用不同的會(huì)話密鑰,保證了一個(gè)會(huì)話一個(gè)密鑰,增強(qiáng)了DHCP會(huì)話的安全性。并且,DHCP客戶端和服務(wù)器端也不需要長(zhǎng)期存儲(chǔ)主密鑰和共享密鑰,減少了共享密鑰分發(fā)帶來(lái)的管理負(fù)擔(dān)。下面通過(guò)附圖和實(shí)施例,對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。圖1為本發(fā)明獲取動(dòng)態(tài)主機(jī)配置協(xié)議密鑰的方法實(shí)施例的流程圖2A為本發(fā)明獲取動(dòng)態(tài)主機(jī)配置協(xié)議密鑰的方法實(shí)施例中DHCPDISCOVER消息認(rèn)證選項(xiàng)及DHCPOFFER消息i人i正選項(xiàng)的i殳置示意圖2B為本發(fā)明獲取動(dòng)態(tài)主機(jī)配置協(xié)議密鑰的方法實(shí)施例中DHCPREQUEST消息認(rèn)證選項(xiàng)及DHCP其它消息認(rèn)證選項(xiàng)的設(shè)置示意圖3為本發(fā)明服務(wù)器實(shí)施例的結(jié)構(gòu)示意圖4為本發(fā)明客戶端裝置實(shí)施例的結(jié)構(gòu)示意圖。具體實(shí)施例方式發(fā)明人在實(shí)現(xiàn)本發(fā)明各實(shí)施例的過(guò)程中發(fā)現(xiàn)由于事先計(jì)算出的會(huì)話密鑰K需要通過(guò)安全的途徑分發(fā)到所有客戶端進(jìn)行存儲(chǔ),使得會(huì)話密鑰K在時(shí)間較長(zhǎng)的情況下容易被泄露或破解,導(dǎo)致安全性大大降低;同時(shí),對(duì)于不同的DHCP服務(wù)器端,客戶端需要保存多個(gè)或多組會(huì)話密鑰;通過(guò)安全途徑分發(fā)的過(guò)程也存在安全隱患,如,這種途徑要么在產(chǎn)品出廠是預(yù)先存儲(chǔ),要么在開(kāi)局時(shí)采用拷貝方式,都容易出錯(cuò),出現(xiàn)把其它客戶端的密鑰配給另一個(gè)客戶端的問(wèn)題。并且,由于DHCP服務(wù)器端需要存儲(chǔ)主密鑰(MasterSecretKey,MSK),同樣存在長(zhǎng)時(shí)間的情況下被泄露或破解的危險(xiǎn)。另外,會(huì)話密鑰自動(dòng)更新復(fù)雜。當(dāng)客戶端的密鑰K或服務(wù)器端的MSK過(guò)期或者泄露時(shí),更新過(guò)程復(fù)雜,特別是使用上述密鑰管理技術(shù),一旦MSK被泄露或破解,所有的客戶端都需要更新,不能保證一個(gè)會(huì)話一個(gè)密鑰。綜上,本發(fā)明實(shí)施例服務(wù)器端獲取動(dòng)態(tài)主機(jī)配置協(xié)議密鑰的方法可包括接收DHCP客戶端發(fā)送的客戶端公鑰;使用DH算法計(jì)算服務(wù)器端私鑰及服務(wù)器端公鑰;對(duì)所述服務(wù)器端私鑰及客戶端公鑰進(jìn)行DH計(jì)算獲得主密鑰。本實(shí)施例中,客戶端公鑰及DH算法指示標(biāo)識(shí)等用于DH算法協(xié)商的數(shù)據(jù)可通過(guò)標(biāo)準(zhǔn)RFC3118中的認(rèn)證選項(xiàng)Option90岸義載傳輸,也可在DHCP消息中另增加選項(xiàng)或字段承載傳輸,如重新定義一個(gè)DHCPOption選項(xiàng),其值不等于90。DH算法中,有兩個(gè)全局公開(kāi)的參數(shù)一個(gè)素?cái)?shù)p和一個(gè)整數(shù)g,g是P的一個(gè)原根。DH算法指示標(biāo)識(shí)為指示〈素?cái)?shù)p、原根g〉組的DH算法的GroupID。其中,GroupID與DH算法采用的〈素?cái)?shù)p、原根g〉值相對(duì)應(yīng),GroupID不同,相應(yīng)進(jìn)行DH計(jì)算時(shí)所采用的〈素?cái)?shù)p、原根g〉值也不同。假設(shè)客戶端和服務(wù)器端希望共享一個(gè)密鑰,客戶端選擇一個(gè)偽隨機(jī)數(shù)Xc<(p-l)/2作為其私有密鑰,并計(jì)算公開(kāi)密鑰Ye=gxemodp。為便于描述,這里將該算法的不公開(kāi)的參數(shù)稱為私鑰,將可公開(kāi)密鑰稱為公鑰,下同??蛻舳藢?duì)X。的值保密存放而使Ye能被服務(wù)器端公開(kāi)獲得或直接發(fā)送給服務(wù)器端,類似地,服務(wù)器端選擇一個(gè)私有的偽隨機(jī)數(shù)Xs<(p-1)/2,并計(jì)算其公開(kāi)密鑰Ys=gxsmodp。服務(wù)器端對(duì)Xs的值保密存放而使Ys能被客戶端公開(kāi)獲得或直接發(fā)送給客戶端??蛻舳水a(chǎn)生主密鑰的計(jì)算方式是Ke=(Ys)xemodp。同樣,服務(wù)器端產(chǎn)生秘密主密鑰的計(jì)算是Ks=(Yc)xsmodp。這兩個(gè)計(jì)算會(huì)產(chǎn)生相同的結(jié)果Kc=(Ys)xcmodp=(gxsmodp)xcmodp=(gxs)Xcmodp=gxsxcmodp=(gxc)xsmodp=(gxcmodp)xsmodp=(Yc)xsmodp=Ks;這樣雙方就完成了主密鑰的協(xié)商。由于主密鑰根據(jù)每次會(huì)話需要產(chǎn)生,因此,可直接用來(lái)作為會(huì)話密鑰驗(yàn)證DHCP消息,使得DHCP客戶端與服務(wù)器端不需要長(zhǎng)期存儲(chǔ)共享密鑰,保證了每次會(huì)話都使用不同的共享密鑰,增強(qiáng)了DHCP消息交換的安全性。圖1為本發(fā)明獲取動(dòng)態(tài)主機(jī)配置協(xié)議密鑰實(shí)施例的流程圖。本實(shí)施例中,將DH算法計(jì)算共享密鑰所需要的關(guān)鍵參數(shù)素?cái)?shù)p、原根g以及公鑰信息通過(guò)DHCPOption90攜帶,進(jìn)行傳輸,以減少認(rèn)證復(fù)雜度?;蛘?,素?cái)?shù)p、原根g可固定的在DH算法里,建議原根g采用2,素?cái)?shù)p采用DH算法的GroupID為Gro叩2所對(duì)應(yīng)的值,這種情況下傳輸?shù)氖峭ㄐ烹p方需要交換的公鑰信息。對(duì)DHCPOption90里的AuthenticationInformation域的格式進(jìn)行如圖2A、圖2B所示的修改,并新增Protocol及Algorithm的值。其中,61為DHCPDISCOVER消息中0ption90選項(xiàng)內(nèi)容;62為DHCPOFFER消息0ption90選項(xiàng)內(nèi)容;63為DHCPREQUEST消息0ption90選項(xiàng)內(nèi)容;64為DHCP其它消息的0ption90選項(xiàng)內(nèi)容。陰影部分為0ption90中的AuthenticationInformation域。修改后的AuthenticationInformation域中的字,殳描述如表2所示。表2AuthenticationInformation域中各字段說(shuō)明<table>tableseeoriginaldocumentpage9</column></row><table><table>tableseeoriginaldocumentpage10</column></row><table>其中,長(zhǎng)度及'丄en,,的單位均為字節(jié)。AuthenticationInformation使用類型長(zhǎng)度值(TypeLengthValue,TLV)格式,可以承載更多信息內(nèi)容,如用戶名/口令等,針對(duì)不同的用戶,提高了部署靈活性?;菊?qǐng)求分配IP地址之前,DHCP客戶端使用DH算法計(jì)算出其私鑰Xc/公鑰Yc,然后構(gòu)造DHCPDISCOVER消息,并用Option90選項(xiàng)里的AuthenticationInformation域攜帶其公鑰Yc,以及指示〈素?cái)?shù)p、原根g>組的GroupID,并把私鑰Xc安全存儲(chǔ)在內(nèi)存中。同時(shí),產(chǎn)生一個(gè)偽隨機(jī)數(shù)Rc,并設(shè)置于AuthenticationInformation域的CNonce字段中。然后請(qǐng)求DHCP服務(wù)器端進(jìn)行認(rèn)證,認(rèn)證過(guò)程包括步驟51、DHCP客戶端廣播DHCPDISCOVER消息,并在DHCPDISCOVER消息中攜帶Option90,以通知服務(wù)器需要進(jìn)行認(rèn)證。DHCPDISCOVER消息還攜帶能唯一標(biāo)識(shí)客戶端身份的標(biāo)識(shí)選項(xiàng)0ption61。步驟52、網(wǎng)絡(luò)上的DHCP服務(wù)器端(可能不止一個(gè))收到該消息后,如果判斷自己可以提供服務(wù),則保存好客戶端的隨機(jī)數(shù)Rc,同時(shí)產(chǎn)生自己的偽隨機(jī)數(shù)Rs。DHCP服務(wù)器端根據(jù)客戶端的標(biāo)識(shí)選項(xiàng)Option61查找數(shù)據(jù)庫(kù),得到用來(lái)計(jì)算該客戶端會(huì)話密鑰K所需要的密鑰物料(KeyingMateriel),如客戶端標(biāo)識(shí)、子網(wǎng)地址等。這些物料需客戶端本身具有或可配置。DHCP服務(wù)器端根據(jù)DHCP客戶端發(fā)送的GroupID找到素?cái)?shù)p、原根g,并使用DH算法計(jì)算出服務(wù)器端私鑰Xs、公鑰Ys。當(dāng)素?cái)?shù)p、原根g固定在DH算法里時(shí),Option61可不攜帶GroupID,DHCP服務(wù)器端直接進(jìn)行DH算法即可。利用DHCP客戶端發(fā)送過(guò)來(lái)的公鑰Yc及自己的私鑰Xs計(jì)算出一個(gè)主密鑰MSK-(Yc)xsmodp。此時(shí),MSK可作為會(huì)話密鑰對(duì)后續(xù)DHCP消息進(jìn)行驗(yàn)證。也可通過(guò)標(biāo)準(zhǔn)RFC3118里提出的密鑰管理技術(shù)里的密鑰計(jì)算方法K=MAC(MSK:KeyingMaterielIRc),計(jì)算出共享密鑰K,作為會(huì)話密鑰。關(guān)于DH算法的實(shí)現(xiàn)以及共享密鑰的生成,可采用標(biāo)準(zhǔn)RFC4306。DHCP服務(wù)器端構(gòu)造DHCPOFFER消息,在AuthenticationInformation域里攜帶服務(wù)器端公鑰Ys、用會(huì)話密鑰K加密的客戶端偽隨機(jī)數(shù)Rc和服務(wù)器端偽隨機(jī)數(shù)Rs,并用會(huì)話密鑰K按標(biāo)準(zhǔn)RFC3118計(jì)算該消息的認(rèn)證碼,填充到AuthenticationInformation域里的MAC字段中。本步驟中,AuthenticationInformation域可進(jìn)一步攜帶其它更多的用以證明服務(wù)器端身份的加密信息。步驟53、DHCP服務(wù)器端將DHCPOFFER消息發(fā)送給DHCP客戶端。步驟54、DHCP客戶端收到DHCPOFFER消息后,提取DHCPOFFER消息里的服務(wù)器端公鑰Ys,并利用前述存儲(chǔ)的私鑰Xc,進(jìn)行DH計(jì)算,得到一個(gè)主密鑰MSK-(Ys)xemodp。這個(gè)主密鑰與服務(wù)器計(jì)算出來(lái)的MSK完全相同。當(dāng)DHCP服務(wù)器端將MSK作為會(huì)話密鑰時(shí),DHCP客戶端獲得的MSK相應(yīng)地成為會(huì)話密鑰。此時(shí),便完成了會(huì)話密鑰的協(xié)商,DHCP客戶端可4吏用MSK對(duì)后續(xù)的DHCP消息進(jìn)行驗(yàn)證。DHCP客戶端也可進(jìn)一步獲取計(jì)算共享會(huì)話密鑰所需要的物料(KeyingMateriel)如客戶端標(biāo)識(shí)、子網(wǎng)地址等,并利用前述生成的偽隨機(jī)數(shù)及K=MAC(MSK,KeyingMateriel|Rc)計(jì)算出共享密鑰K,并將計(jì)算得到的共享會(huì)話密鑰K存儲(chǔ)在本地內(nèi)存中,將K作為會(huì)話密鑰。此時(shí),在DHCP客戶端與DHCP服務(wù)器端之間完成了共享密鑰K的協(xié)商。然后,DHCP客戶端使用共享密鑰K解密DHCPOFFER消息里加密的偽隨機(jī)數(shù),并驗(yàn)證解密得到的數(shù)據(jù)是否是前述DHCP客戶端產(chǎn)生的隨機(jī)數(shù)Rc。同時(shí),DHCP客戶端按要求驗(yàn)證消息認(rèn)證碼是否正確,如果驗(yàn)證失敗,則根據(jù)其本地的安全策略進(jìn)行相應(yīng)的處理;如果驗(yàn)證通過(guò),則選中一個(gè)DHCP服務(wù)器進(jìn)行交互,并構(gòu)造DHCPREQUEST消息,在消息中攜帶Option90選項(xiàng)。Option90選項(xiàng)中攜帶明文的服務(wù)器端的偽隨機(jī)數(shù)以及用共享密鑰K計(jì)算出來(lái)的該消息的認(rèn)證碼。本步驟中,Option90選項(xiàng)可進(jìn)一步攜帶其它更多的用以證明客戶端身份的信息,如用共享密鑰K加密的用戶名/口令等。步驟54、DHCP客戶端向選中的DHCP服務(wù)器發(fā)送DHCPREQUEST消息,請(qǐng)求服務(wù)。步驟55、DHCP服務(wù)器端收到DHCPREQUEST消息后,使用本地的共享密鑰K驗(yàn)證該消息里的隨機(jī)數(shù)和消息認(rèn)證碼,或其他可能的身份信息。如果驗(yàn)證失敗,則直接丟棄該消息,回復(fù)DHCPNAK消息;否則,構(gòu)造DHCPACK消息。DHCPNAK消息及DHCPACK消息均需攜帶Option90選項(xiàng),該選項(xiàng)可只攜帶其消息認(rèn)證碼。步驟56、DHCP服務(wù)器端將DHCPACKDHCPNAK消息發(fā)送給DHCP客戶端;步驟57、DHCP客戶端收到DHCPACKDHCPNAK消息后,根據(jù)驗(yàn)證該消息的消息認(rèn)證碼。本實(shí)施例中,在DHCP客戶端與服務(wù)端使用Diffie-Hellman算法協(xié)商共享秘鑰K,即對(duì)通過(guò)DHCPOption90選項(xiàng)傳輸?shù)膮?shù)如GroupID、公鑰等進(jìn)行DH計(jì)算,獲得的MSK作為計(jì)算共享密鑰的主密鑰,使得DHCP客戶端及服務(wù)器端無(wú)需保存主密鑰,從而解決了MSK被泄露或被破解的危險(xiǎn)。并且,由于MSK實(shí)時(shí)計(jì)算獲得,保證了一個(gè)會(huì)話一個(gè)密鑰,因而共享密鑰K也根據(jù)MSK實(shí)時(shí)更新,也無(wú)需長(zhǎng)時(shí)間保存,從而大大減少了共享密鑰被泄露或被破解所帶來(lái)的危險(xiǎn),大大提供了DHCP會(huì)話的安全性。此外,由于共享密鑰K由會(huì)話雙方各自生成,避免了傳輸所帶來(lái)的不安全因素。另外,本發(fā)明實(shí)施例還提供了另一種獲取動(dòng)態(tài)主機(jī)配置協(xié)議密鑰的方法,即DHCP客戶端獲得主密鑰的實(shí)施例DHCP客戶端使用DH計(jì)算獲得所述客戶端私鑰及客戶端公鑰;接收DHCP服務(wù)器端發(fā)送的服務(wù)器端公鑰;對(duì)所述服務(wù)器端公鑰及所述客戶端私鑰進(jìn)行DH計(jì)算,獲得客戶端主密鑰。本實(shí)施例中各步驟詳細(xì)實(shí)施方式在圖1所示實(shí)施例中已有描述,在此不再贅述。圖3為本發(fā)明服務(wù)器實(shí)施例的結(jié)構(gòu)示意圖。服務(wù)器包括接收單元71、密鑰生成單元72及主密鑰生成單元73。接收單元71用于接收動(dòng)態(tài)主機(jī)配置協(xié)議DHCP客戶端發(fā)送的客戶端公鑰及DH算法指示標(biāo)識(shí);密鑰生成單元72用于根據(jù)所述DH算法指示標(biāo)識(shí)進(jìn)行DH計(jì)算,獲得服務(wù)器端私鑰及服務(wù)器端公鑰;主密鑰生成單元73用于對(duì)所述服務(wù)器端私鑰及客戶端公鑰進(jìn)行DH計(jì)算獲得主密鑰。當(dāng)服務(wù)器將主密鑰生成單元73生成的密鑰作為計(jì)算共享密鑰的主密鑰時(shí),所述接收單元71還用于接收DHCP客戶端發(fā)送的客戶端標(biāo)識(shí)選項(xiàng)。此時(shí),服務(wù)器還包括物料獲取單元74及共享密鑰生成單元75。物料獲取單元74用于根據(jù)所述客戶端標(biāo)識(shí)選項(xiàng)獲得密鑰物料;共享密鑰生成單元75用于用所述主密鑰及密鑰物料生成共享密鑰。本實(shí)施例中,服務(wù)器通過(guò)上述接收單元71、密鑰生成單元72及主密鑰生成單元73等單元能夠生成自身所使用的會(huì)話密鑰,從而保證了DHCP能夠在服務(wù)器端每次都能使用不同的會(huì)話密鑰,增強(qiáng)了服務(wù)器端的安全性。圖4為本發(fā)明客戶端裝置實(shí)施例的結(jié)構(gòu)示意圖。客戶端裝置包括密鑰生成單元81、^接收單元82及主密鑰生成單元83。密鑰生成單元81用于通過(guò)DH計(jì)算獲得客戶端私鑰;接收單元82用于接收DHCP服務(wù)器端發(fā)送的服務(wù)器端公鑰;主密鑰生成單元83用于對(duì)所述服務(wù)器端公鑰、客戶端私鑰進(jìn)行DH計(jì)算,獲得客戶端主密鑰。當(dāng)將主密鑰生成單元83生成的密鑰作為計(jì)算共享密鑰的主密鑰時(shí),客戶端還包括共享密鑰生成單元84。共享密鑰生成單元84用于根據(jù)所述客戶端主密鑰獲得客戶端共享密鑰。本實(shí)施例中,客戶端裝置通過(guò)上述密鑰生成單元81及主密鑰生成單元83等單元能夠生成自身所使用的會(huì)話密鑰,從而保證了DHCP能夠在客戶端每次都能使用不同的會(huì)話密鑰,增強(qiáng)了客戶端的安全性。本發(fā)明DHCP系統(tǒng)實(shí)施例包括上述裝置實(shí)施例中的服務(wù)器與客戶端。DHCP系統(tǒng)中,服務(wù)器與客戶端商定統(tǒng)一用主密鑰作為會(huì)話密鑰,或統(tǒng)一用共享密鑰作為會(huì)話密鑰,保證了DHCP系統(tǒng)每次會(huì)話都使用不同的共享密鑰,大大增強(qiáng)了DHCP會(huì)話的安全性。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過(guò)程序指令相關(guān)的硬件來(lái)完成,前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括R0M、RAM、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。最后應(yīng)說(shuō)明的是以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。權(quán)利要求1、一種獲取動(dòng)態(tài)主機(jī)配置協(xié)議密鑰的方法,其特征在于,包括接收DHCP客戶端發(fā)送的客戶端公鑰;使用Diffie-Hellman算法計(jì)算服務(wù)器端私鑰;對(duì)所述服務(wù)器端私鑰及客戶端公鑰進(jìn)行Diffie-Hellman計(jì)算獲得主密鑰。2、根據(jù)權(quán)利要求1所述的獲取動(dòng)態(tài)主機(jī)配置協(xié)議密鑰的方法,其特征在于,還包括根據(jù)源于所述DHCP客戶端的客戶端標(biāo)識(shí)獲得密鑰物料;用所述主密鑰及密鑰物料生成共享密鑰。3、根據(jù)權(quán)利要求1或2所述的獲取動(dòng)態(tài)主機(jī)配置協(xié)議密鑰的方法,其特征在于,還包括接收所述DHCP客戶端發(fā)送的Diffie-Hellman算法指示標(biāo)識(shí);使用Diffie-Hellman算法時(shí)采用所述Diffie-Hellman算法指示標(biāo)識(shí)所指示的參數(shù)進(jìn)行計(jì)算。4、根據(jù)權(quán)利要求1或2所述的獲取動(dòng)態(tài)主機(jī)配置協(xié)議密鑰的方法,其特征在于,所述客戶端公鑰通過(guò)DHCP認(rèn)證選項(xiàng)承栽傳輸。5、一種獲取動(dòng)態(tài)主機(jī)配置協(xié)議密鑰的方法,其特征在于,包括使用Diffie-Hellman計(jì)算獲得客戶端私鑰;接收DHCP服務(wù)器端發(fā)送的服務(wù)器端公鑰;對(duì)所述服務(wù)器端公鑰及所述客戶端私鑰進(jìn)行Diffie-Hellman計(jì)算,獲得客戶端主密鑰。6、根據(jù)權(quán)利要求5所述的獲取動(dòng)態(tài)主機(jī)配置協(xié)議密鑰的方法,其特征在于,還包括使用所述客戶端主密鑰計(jì)算獲得客戶端共享密鑰。7、根據(jù)權(quán)利要求5或6所述的獲取動(dòng)態(tài)主機(jī)配置協(xié)議密鑰的方法,其特征在于,所述服務(wù)器端公鑰通過(guò)DHCP認(rèn)證選項(xiàng)承載傳輸。8、一種服務(wù)器,其特征在于,包括接收單元,用于接收DHCP客戶端發(fā)送的客戶端公鑰;密鑰生成單元,用于使用Diffie-Hellman算法計(jì)算服務(wù)器端私鑰;主密鑰生成單元,用于對(duì)所述服務(wù)器端私鑰及客戶端公鑰進(jìn)行Diffie-Hellman計(jì)算獲得主密鑰。9、根據(jù)權(quán)利要求8所述的服務(wù)器,其特征在于,所述接收單元還用于接收所述DHCP客戶端發(fā)送的客戶端標(biāo)識(shí);所述服務(wù)器還包括物料獲取單元,用于根據(jù)所述客戶端標(biāo)識(shí)獲得密鑰物料;共享密鑰生成單元,用于用所述主密鑰及密鑰物料生成共享密鑰。10、一種客戶端裝置,其特征在于,包括密鑰生成單元,用于使用Diffie-Hellman計(jì)算獲得客戶端私鑰;接收單元,用于接收DHCP服務(wù)器端發(fā)送的服務(wù)器端公鑰;主密鑰生成單元,用于對(duì)所述服務(wù)器端公鑰及客戶端私鑰進(jìn)行Diffie-Hellman計(jì)算,獲得客戶端主密鑰。11、根據(jù)權(quán)利要求IO所述的客戶端裝置,其特征在于,還包括共享密鑰生成單元,用于根據(jù)所述客戶端主密鑰獲得客戶端共享密鑰。12、一種動(dòng)態(tài)主機(jī)配置協(xié)議系統(tǒng),其特征在于,包括上述權(quán)利要求8或9所述的服務(wù)器及上述權(quán)利要求10或11所述的客戶端裝置。全文摘要本發(fā)明涉及一種獲取動(dòng)態(tài)主機(jī)配置協(xié)議密鑰的方法、服務(wù)器及客戶端裝置,方法包括接收DHCP客戶端發(fā)送的客戶端公鑰;使用Diffie-Hellman算法計(jì)算服務(wù)器端私鑰;對(duì)服務(wù)器端私鑰及客戶端公鑰進(jìn)行Diffie-Hellman計(jì)算獲得主密鑰。服務(wù)器包括接收單元、密鑰生成單元及主密鑰生成單元。客戶端裝置包括密鑰生成單元、接收單元及主密鑰生成單元。本發(fā)明還涉及一種DHCP系統(tǒng),包括服務(wù)器及客戶端裝置。DHCP客戶端和服務(wù)器端通過(guò)DH協(xié)商主密鑰,使得每次會(huì)話都使用不同的會(huì)話密鑰,增強(qiáng)了DHCP會(huì)話的安全性。并且,DHCP客戶端和服務(wù)器端也不需要長(zhǎng)期存儲(chǔ)主密鑰和共享密鑰,減少了共享密鑰分發(fā)帶來(lái)的管理負(fù)擔(dān)。文檔編號(hào)H04L9/32GK101388770SQ200810170280公開(kāi)日2009年3月18日申請(qǐng)日期2008年10月20日優(yōu)先權(quán)日2008年10月20日發(fā)明者吳頌期申請(qǐng)人:華為技術(shù)有限公司