專利名稱:Ptp協(xié)議密鑰分配方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及PTP協(xié)議,尤其涉及PTP協(xié)議中的加密。
背景技術(shù):
在分布式系統(tǒng)中,對于許多應(yīng)用,時鐘同步是一個必不可少的技術(shù)。其中,最具有典型性的時鐘同步協(xié)議是IEEE1588協(xié)議,也稱之為PTP協(xié)議(Precision Timing Protocol)。PTP協(xié)議的主要原理是通過一個同步信號周期性的對網(wǎng)絡(luò)中所有節(jié)點的時鐘進(jìn)行校正同步,可以使分布式系統(tǒng)達(dá)到精確同步。PTP協(xié)議基于主從時鐘模式的優(yōu)點在于簡單易于實現(xiàn),但是越來越多的研究表明PTP協(xié)議容易受到惡意攻擊或者失敗的影響,一個典型的例子是,對惡意主時鐘如Byzantine或者是Babbling idiot篡改時間無能為力。PTP協(xié)議在附錄K中提供了一個實驗性的安全擴(kuò)展,即在攻擊者能夠直接訪問的開放環(huán)境下為時鐘同步提供本地安全支持,其使用對稱消息認(rèn)證碼函數(shù),提供組源認(rèn)證,消息完整性和重放保護(hù)。協(xié)議的參加者共享對稱密鑰,對稱密鑰可在整個域中或者域的子集中共享。目前對稱密鑰的分發(fā)是手動配置的,靈活性非常差。每個網(wǎng)絡(luò)節(jié)點中需要配置的密鑰的個數(shù)與域中節(jié)點數(shù)目以及這些節(jié)點之間的發(fā)送/接收關(guān)系成正比。這么大數(shù)目密鑰的配置/更新對于網(wǎng)絡(luò)管理員來說不是件容易的事情。在目前的解決方案中,每個網(wǎng)絡(luò)節(jié)點中存儲靜態(tài)密鑰,其缺點是保密性很差。從安全的角度考慮,動態(tài)密鑰勝于靜態(tài)密鑰。PTP協(xié)議的附錄K中的安全擴(kuò)展不支持追蹤。附錄K使用對稱消息認(rèn)證碼函數(shù),也即任意一個節(jié)點知曉與之通信對端的加密密鑰,這使得一個惡意節(jié)點能夠以對端節(jié)點的名義發(fā)出PTP消息而不被追蹤到。如果惡意節(jié)點發(fā)送組播或廣播PTP消息更為糟糕。密鑰的分發(fā)可以是手動配置的,也可以是通過一個自動密鑰管理協(xié)議來進(jìn)行。PTP 協(xié)議的附錄K支持手動配置密鑰和按照附錄K的規(guī)定根據(jù)配置的口令來自動生成密鑰。本地安全支持為未來其他消息認(rèn)證提供了可能。另外,PTP協(xié)議的附錄K僅支持基于挑戰(zhàn)-響應(yīng)這一固定的認(rèn)證方法,不支持其它的認(rèn)證方法,因而靈活性較差。
發(fā)明內(nèi)容
在PTP協(xié)議中,密鑰的分發(fā)可以是手動配置的,也可以是通過一個自動密鑰管理協(xié)議來進(jìn)行。PTP協(xié)議的附錄K支持手動配置密鑰和根據(jù)配置的口令自動生成密鑰。本發(fā)明提出了一種PTP密鑰的自動分發(fā)的技術(shù)方案,并在此基礎(chǔ)上了提出了一種新的加密方法。根據(jù)本發(fā)明的一個具體實施例,提供了一種在通信網(wǎng)絡(luò)的域控制設(shè)備中用于向該域中的網(wǎng)絡(luò)節(jié)點發(fā)放用于PTP協(xié)議密鑰的方法,包括以下步驟驗證所述網(wǎng)絡(luò)節(jié)點是否為所述域中合法節(jié)點;如所述網(wǎng)絡(luò)節(jié)點為所述域中的合法節(jié)點,則發(fā)送用于PTP協(xié)議的密鑰至所述網(wǎng)絡(luò)節(jié)點。根據(jù)本發(fā)明的另一個具體實施例,提供了一種在通信網(wǎng)絡(luò)的網(wǎng)絡(luò)節(jié)點中用于對 PTP協(xié)議數(shù)據(jù)包進(jìn)行加密的方法,包括以下步驟接收來自本網(wǎng)絡(luò)節(jié)點所屬域的域控制設(shè)
4備發(fā)送的用于PTP協(xié)議的密鑰;利用所述密鑰進(jìn)行與所述域中其它網(wǎng)絡(luò)節(jié)點進(jìn)行PTP協(xié)議加密通信。根據(jù)本發(fā)明的另一個具體實施例,提供了一種在通信網(wǎng)絡(luò)的域控制設(shè)備中用于向該域中的網(wǎng)絡(luò)節(jié)點發(fā)放用于PTP協(xié)議密鑰的裝置,包括第一驗證裝置,用于驗證所述網(wǎng)絡(luò)節(jié)點是否為所述域中合法節(jié)點;第一發(fā)送裝置,用于如所述網(wǎng)絡(luò)節(jié)點為所述域中的合法節(jié)點,則發(fā)送用于PTP協(xié)議的密鑰至所述網(wǎng)絡(luò)節(jié)點。根據(jù)本發(fā)明的再一個具體實施例,提供了一種在通信網(wǎng)絡(luò)的網(wǎng)絡(luò)節(jié)點中用于對 PTP協(xié)議數(shù)據(jù)包進(jìn)行加密的裝置,包括第一接收裝置,用于接收來自本網(wǎng)絡(luò)節(jié)點所屬域的域控制設(shè)備發(fā)送的用于PTP協(xié)議的密鑰;加密通信裝置,用于利用所述密鑰進(jìn)行與所述域中其它網(wǎng)絡(luò)節(jié)點進(jìn)行PTP協(xié)議加密通信。通過本發(fā)明的方法和裝置,支持了各種形式的PTP網(wǎng)絡(luò)節(jié)點的接入認(rèn)證,PTP密鑰的自動配置和動態(tài)發(fā)送,使得密鑰的安全性大大增強(qiáng)。另外,采用SignCryption加密算法, 使得對于每個PTP消息,不僅可以提供消息源認(rèn)證、消息完整性認(rèn)證、消息的機(jī)密性和重放保護(hù),而且都能追蹤到其發(fā)送網(wǎng)絡(luò)節(jié)點,因此,安全性大大增強(qiáng)。
通過閱讀以下參照附圖對非限制性實施例所作的詳細(xì)描述,本發(fā)明的其它特征、 目的和優(yōu)點將會變得更明顯。圖1為根據(jù)本發(fā)明的一個具體實施方式
的應(yīng)用場景示意圖;圖2為根據(jù)本發(fā)明的一個具體實施方式
的在通信網(wǎng)絡(luò)的域控制設(shè)備中用于向該域中的網(wǎng)絡(luò)節(jié)點發(fā)放用于PTP協(xié)議密鑰的方法流程圖;圖3為根據(jù)本發(fā)明的一個具體實施方式
的圖2中所述步驟S201的一個子步驟流程圖;圖4為基于RADIUS認(rèn)證的一個方法流程圖;圖5為EAP運行于PTP之上的協(xié)議架構(gòu)示意圖;圖6為采用EAP認(rèn)證方式來驗證網(wǎng)絡(luò)節(jié)點21的一個EAP消息的格式示意圖;圖7為采用新的EAP認(rèn)證方式來驗證網(wǎng)絡(luò)節(jié)點21的一個EAP消息的格式示意圖;圖8為根據(jù)本發(fā)明的一個具體實施方式
的在通信網(wǎng)絡(luò)的網(wǎng)絡(luò)節(jié)點中用于對PTP協(xié)議數(shù)據(jù)包進(jìn)行加密的方法流程圖;圖9為根據(jù)本發(fā)明的一個具體實施方式
的在通信網(wǎng)絡(luò)的域控制設(shè)備中用于向該域中的網(wǎng)絡(luò)節(jié)點發(fā)放用于PTP協(xié)議密鑰的裝置900結(jié)構(gòu)示意圖;圖10為根據(jù)本發(fā)明的一個具體實施方式
的在通信網(wǎng)絡(luò)的網(wǎng)絡(luò)節(jié)點中用于對PTP 協(xié)議數(shù)據(jù)包進(jìn)行加密的裝置100的結(jié)構(gòu)框圖;其中,相同或相似的附圖標(biāo)記表示相同或相似的步驟特征或裝置(模塊)。
具體實施例方式以下結(jié)合附圖對本發(fā)明的具體實施例進(jìn)行詳細(xì)說明。圖1示出了根據(jù)本發(fā)明的一個具體實施方式
的應(yīng)用場景示意圖。在圖1中,示出了一個域10以及其中的多個網(wǎng)絡(luò)節(jié)點21、22、23等,其中,引入了一個域控制設(shè)備來作為PTP協(xié)議密鑰的自動分發(fā)設(shè)備。域通常是網(wǎng)絡(luò)中的一個應(yīng)用范圍,在這個范圍內(nèi)的實體具有允許的訪問權(quán)限而不在該域中的實體會受到域權(quán)限的控制而不能訪問。域是相對嚴(yán)格的管理模式,通常用域和域控制設(shè)備來實現(xiàn)集中地管理和安全控制,這對網(wǎng)絡(luò)安全是非常必要的。圖2示出了根據(jù)本發(fā)明的一個具體實施方式
的在通信網(wǎng)絡(luò)的域控制設(shè)備中用于向該域中的網(wǎng)絡(luò)節(jié)點發(fā)放用于PTP協(xié)議密鑰的方法流程圖。圖3示出了根據(jù)本發(fā)明的一個具體實施方式
的圖2中所述步驟S201的一個子步驟流程圖。以下結(jié)合圖1至圖3,對位于圖1中的域控制設(shè)備發(fā)放PTP協(xié)議密鑰的過程進(jìn)行詳細(xì)說明。參見圖2,首先,在步驟S201中,域控制設(shè)備11驗證網(wǎng)絡(luò)節(jié)點21是否為域中合法節(jié)點。如網(wǎng)絡(luò)節(jié)點21為所述域中的合法節(jié)點,則在步驟S202中發(fā)送用于PTP協(xié)議的密鑰至網(wǎng)絡(luò)節(jié)點21。具體地,域控制設(shè)備如何驗證網(wǎng)絡(luò)節(jié)點21是否為域中合法節(jié)點的方式有多種,一個實施例如圖3所示。首先,在步驟S301中,域控制設(shè)備11發(fā)送查詢身份的請求消息至所述網(wǎng)絡(luò)節(jié)點 21。接著,在步驟S302中,域控制設(shè)備11接收來自網(wǎng)絡(luò)節(jié)點21的查詢身份的響應(yīng)消息,該響應(yīng)消息中包括網(wǎng)絡(luò)節(jié)點21的身份信息。在步驟S303中,域控制設(shè)備11驗證網(wǎng)絡(luò)節(jié)點21的身份是否合法。在步驟S304中,如網(wǎng)絡(luò)節(jié)點21的身份合法,則發(fā)送查詢鑒權(quán)信息的請求消息至網(wǎng)絡(luò)節(jié)點21。在步驟S305中,域控制設(shè)備11接收來自網(wǎng)絡(luò)節(jié)點21的查詢鑒權(quán)信息的響應(yīng)消
肩、ο在步驟S306中,域控制設(shè)備11驗證網(wǎng)絡(luò)節(jié)點21的鑒權(quán)信息是否合法。如網(wǎng)絡(luò)節(jié)點21的鑒權(quán)信息合法,則在步驟S307中,域控制設(shè)備11發(fā)送用于PTP 協(xié)議的密鑰至網(wǎng)絡(luò)節(jié)點21。其中,域控制設(shè)備11如何驗證網(wǎng)絡(luò)節(jié)點21的身份是否合法以及如何驗證網(wǎng)絡(luò)節(jié)點21的鑒權(quán)信息是否合法的方式有多種,如基于RADIUS認(rèn)證(RFC2869)或者DIAMETER認(rèn)證(RFC3588)的方式。圖4示出了基于RADIUS認(rèn)證的一個方法流程圖,其中,步驟S301、 S302.S304.S305和S307如上所述,在此不再贅述。在步驟S302之后,域控制設(shè)備11執(zhí)行步驟S401,發(fā)送第一接入查詢請求消息至遠(yuǎn)程服務(wù)器31,其中,所述第一接入查詢請求消息中包括網(wǎng)絡(luò)節(jié)點21的身份信息。遠(yuǎn)程服務(wù)器31接收到該第一接入查詢請求消息后,查詢其中存儲的網(wǎng)絡(luò)節(jié)點的身份信息,是否有網(wǎng)絡(luò)節(jié)點21的身份信息,如有,則認(rèn)為網(wǎng)絡(luò)節(jié)點21的身份合法,然后,在步驟S402中發(fā)送一個接入挑戰(zhàn)請求消息至域控制設(shè)備21,該接入挑戰(zhàn)請求消息用于請求網(wǎng)絡(luò)節(jié)點21的鑒權(quán)信息。域控制設(shè)備11在接收到接入挑戰(zhàn)請求消息后,執(zhí)行步驟S304和S305,然后在步驟S403中發(fā)送第二接入查詢請求消息至遠(yuǎn)程服務(wù)器31,該第二接入查詢請求消息中包括網(wǎng)絡(luò)節(jié)點21的鑒權(quán)信息。遠(yuǎn)程服務(wù)器31驗證來自網(wǎng)絡(luò)節(jié)點21的鑒權(quán)信息是否合法,如合法,則在步驟S404中,發(fā)送接入接受響應(yīng)消息至域控制設(shè)備11。此后,域控制設(shè)備11再執(zhí)行步驟S307。接入挑戰(zhàn)請求以及鑒權(quán)信息一個例子如下Challenge(RN),其中,&為一個隨機(jī)數(shù),Response = H(Rn |Key),Key為網(wǎng)絡(luò)節(jié)點21事先被配置的密鑰,H可為鑒權(quán)協(xié)議所規(guī)定的散列函數(shù)如MD5,遠(yuǎn)程服務(wù)器31接收到鑒權(quán)信息Response后,與其自身計算所得的H(I n| I Key)值相比較,如果一致,則鑒權(quán)信息合法。需要說明的是,接入挑戰(zhàn)請求以及鑒權(quán)信息不限于此,其它任意形式的鑒權(quán)機(jī)制都可以,例如一次性口令(0TP:0ne Time Password), TLS (TransportLayer Security)等0當(dāng)然,如果域控制設(shè)備11中預(yù)先存儲有網(wǎng)絡(luò)節(jié)點21的身份信息以及鑒權(quán)信息,則無需執(zhí)行如圖4所述的RADIUS認(rèn)證,或者其它認(rèn)證。以上從功能的角度對域控制設(shè)備11對網(wǎng)絡(luò)節(jié)點21進(jìn)行驗證并發(fā)送PTP協(xié)議的密鑰的過程進(jìn)行了詳細(xì)說明。具體地,在一個實施例中,域控制設(shè)備11可采用EAP認(rèn)證方式來驗證網(wǎng)絡(luò)節(jié)點21是否為域10中合法節(jié)點。下文對此進(jìn)行詳細(xì)說明。EAP是著名的經(jīng)常使用的安全認(rèn)證協(xié)議,在RFC3748中進(jìn)行了定義,其可運行于各種各樣的低層傳輸協(xié)議之上。由于本發(fā)明針對PTP協(xié)議,因此,優(yōu)選地,使用EAP運行于PTP 之上的形式。當(dāng)然,本發(fā)明不限于此,使用EAP運行于其它協(xié)議之上的形式也可進(jìn)行網(wǎng)絡(luò)節(jié)點21是否為域10中合法節(jié)點的驗證,如如EAP運行在UDP之上,或者EAP運行在Khernet 之上。圖5示出了 EAP運行于PTP之上的協(xié)議架構(gòu)示意圖。圖6示出了采用EAP認(rèn)證方式來驗證網(wǎng)絡(luò)節(jié)點21的一個EAP消息的格式示意圖。圖6所示的采用已有的EAP認(rèn)證方式。根據(jù) RFC3748 的定義,Code 為 1 時是 EAP Request 消息,Code 為 2 是 EAP Response 消息。Identifier為一個字節(jié)長度的整數(shù),用來匹配EAP Request消息和EAPResponse消息,新的EAP Request消息必須修改該字段的值,Length為整個EAP消息的長度,Type為 EAP Request或者EAP Response類型,Type-data的內(nèi)容由類型決定。例如,Type值為1 時代表Identity,用來查詢網(wǎng)絡(luò)節(jié)點21的身份;Type值為4時,代表MD5-Challenge,類似于PPP CHAP協(xié)議,包含質(zhì)詢消息,用來查詢網(wǎng)絡(luò)節(jié)點21的鑒權(quán)信息。也即,參照圖3,在步驟S301中,Code取值為1,Type取值為1 ;在步驟S302中,Code取值為2,Type取值為1, Type-Data為網(wǎng)絡(luò)節(jié)點21的身份信息;步驟S304和S305以EAP MD5ChalIenge鑒權(quán)方式為例描述,所以Type為取值為4 ;在步驟S304中,Code取值為1 ;在步驟S305中,Code取值為 2,Type-Data為網(wǎng)絡(luò)節(jié)點21的鑒權(quán)信息。對于步驟S307中用于PTP協(xié)議的密鑰的傳遞, 可以通過對EAP協(xié)議進(jìn)行擴(kuò)展定義新的Code,和/或者新的Type并在Type-Data中定義新的字段來進(jìn)行;也可以通過對EAP協(xié)議已有消息進(jìn)行擴(kuò)展,定義新的Type并在Type-Data 中定義新的字段來進(jìn)行。仍以EAP MD5-ChalIenge鑒權(quán)方式為例,對SUCCESS消息進(jìn)行擴(kuò)展,在SUCCESS消息中增加新定義的Type-Data來傳遞PTP協(xié)議的密鑰。此情形下Code取值為3,Type的類型可為新的擴(kuò)展定義的類型,該類型指示是用來進(jìn)行PTP協(xié)議的密鑰傳遞的,Type-Data中PTP協(xié)議的密鑰字段,如圖6所示。圖6所示的是采用已有的EAP認(rèn)證方式來對網(wǎng)絡(luò)節(jié)點21進(jìn)行認(rèn)證的情形,圖7示出了根據(jù)本發(fā)明的一個具體實施方式
的定義新的EAP認(rèn)證的消息格式。步驟S301、S302、 S304、S305認(rèn)證消息以及步驟S307中的PTP協(xié)議的密鑰的傳遞通過使用擴(kuò)展的Type = 254 的EAP消息來實現(xiàn),消息格式如圖7所示。消息內(nèi)容在Vendor Data字段來傳遞,用于PTP協(xié)議的密鑰可通過Vendor Data中新增一個或多個字段來傳遞。在步驟S301中,Code取值為1,Type取值為254,Vendor-ID可以擴(kuò)展定義, 例如為IEEE1588PTP保留一個特定類型值,并且為每種支持的鑒權(quán)協(xié)議分配一個特定的 Vendor-ID ;在步驟S302中,Code取值為2,Type取值為254,Vendor-Data為網(wǎng)絡(luò)節(jié)點21 的身份信息;在步驟S304中,Code取值為1,Type取值為254 ;在步驟S305中,Code取值為 2,Type取值為2M4,Vendor-Data為網(wǎng)絡(luò)節(jié)點21的鑒權(quán)信息。對于步驟S307中用于PTP 協(xié)議的密鑰的傳遞,可以通過Vendor-Data中定義新的字段來進(jìn)行,此情形下Code取值為 2,Type取值為254,Vendor-Data中在原有鑒權(quán)協(xié)議定義的字段的基礎(chǔ)上加上PTP協(xié)議的密鑰字段,如圖6所示。需要說明的是,圖2中步驟S202中的用于PTP協(xié)議的密鑰的傳遞可以是明文的形式進(jìn)行傳遞,也可以是以密文的形式進(jìn)行傳遞,可以通過步驟S201的驗證階段已經(jīng)協(xié)商完成的密鑰進(jìn)行加密。例如圖6或圖7中在域控制設(shè)備11對網(wǎng)絡(luò)節(jié)點21通過TLS協(xié)議進(jìn)行鑒權(quán),在鑒權(quán)結(jié)束的同時可以協(xié)商出用于TLS的數(shù)據(jù)加密密鑰,可以利用該數(shù)據(jù)加密密鑰對PTP協(xié)議的密鑰進(jìn)行加密傳輸。根據(jù)采取的加密方式的不同,用于PTP協(xié)議的密鑰的形式可有多種,如采用 PTP協(xié)議附錄K中定義的散列函數(shù)加密方式(IEEE1588-2008),則用于PTP協(xié)議的密鑰包括PTP協(xié)議附錄K中定義的共享對稱密鑰。如采用基于身份的SignCryption算法(Identity-BasedSigncryption, John Malone-Lee, Cryptology ePrint Archive, Report2002/098,2002. http://eprint. iacr. org/.)來進(jìn)行加密和數(shù)字簽名,則用于 PTP 協(xié)議的密鑰包括SignCryption算法中定義的參數(shù)和私鑰。下文將對這兩種算法進(jìn)行詳細(xì)描述。圖8示出了根據(jù)本發(fā)明的一個具體實施方式
的在通信網(wǎng)絡(luò)的網(wǎng)絡(luò)節(jié)點中用于對 PTP協(xié)議數(shù)據(jù)包進(jìn)行加密的方法流程圖。以下結(jié)合圖1所示的應(yīng)用場景,對位于網(wǎng)絡(luò)節(jié)點 21中對PTP協(xié)議數(shù)據(jù)包進(jìn)行加密的方法進(jìn)行詳細(xì)說明。首先,在步驟S801中,網(wǎng)絡(luò)節(jié)點21接收來自本網(wǎng)絡(luò)節(jié)點所屬域的域控制設(shè)備11 發(fā)送的用于PTP協(xié)議的密鑰。接著,步驟S802中,網(wǎng)絡(luò)節(jié)點21利用步驟S801中接收到的密鑰進(jìn)行與域10中其它網(wǎng)絡(luò)節(jié)點進(jìn)行PTP協(xié)議加密通信。如上文所述,在一個實施例中,用于PTP協(xié)議的密鑰包括SignCryption算法中定義的參數(shù)和第一私鑰,其中,第一私鑰由域控制設(shè)備10基于網(wǎng)絡(luò)節(jié)點21的身份信息產(chǎn)生, 具體地,步驟S802包括如下的子步驟在發(fā)送單播PTP數(shù)據(jù)包時,基于第一私鑰、接收節(jié)點的身份信息對所述單播PTP數(shù)據(jù)包生成數(shù)字簽名并對該單播PTP數(shù)據(jù)包的正文進(jìn)行加密; 以及基于第一私鑰、發(fā)送節(jié)點的身份信息對接收到的單播PTP數(shù)據(jù)包進(jìn)行解密與數(shù)字簽名驗證。以下參照J(rèn)ohn的Identity-Based Signcryption對單播情形下如何生成數(shù)字簽名、加解密和數(shù)字簽名驗證進(jìn)行簡單介紹。不失一般性地,以網(wǎng)絡(luò)節(jié)點21與網(wǎng)絡(luò)節(jié)點22 進(jìn)行通信為例進(jìn)行詳細(xì)說明,設(shè)網(wǎng)絡(luò)節(jié)點21的身份信息為IDa,網(wǎng)絡(luò)節(jié)點22的身份信息為 IDb。P,^H1,H2,H3>Qta為SignCryption算法定義的系統(tǒng)配置參數(shù),具體定義如下(G,+)和(V,·)為具有素數(shù)階q的循環(huán)群。P為循環(huán)群G的一個生成元??紤]到協(xié)議實現(xiàn)性能要求和協(xié)議報文開銷,建議使用由橢圓曲線生成的循環(huán)群?!紾XG — V為滿足基于身份的SignCryption算法要求的雙線性變換。H1, H2, H3為預(yù)先定義的散列函數(shù),其中H1 {0, 1} * — G*,H2 {0,1 }*今 Ζ; , H3 :Z; + {0,1 廣。η 為 SignCryption 算法處理的消息長度,G* =G\{0}。在下述描述中符號I I表示比特串連接, 表示比特串按位異或,+表示在所選擇的循環(huán)群上定義的加法運算,t <表示從<隨機(jī)選取一個值并賦給t。域控制設(shè)備在系統(tǒng)初始化時首先選擇基于身份的SignCryption算法的系統(tǒng)參數(shù) Ρ、^、Η” H2、H3,然后隨機(jī)選擇,計算Qta = tP,至此整個域的SignCryption算法的系統(tǒng)配置參數(shù)完全確定,域控制設(shè)備可以公開P、$、&、H2、H3、Qta,也即通知域10中各個網(wǎng)絡(luò)節(jié)點這些參數(shù)。t為僅域控制設(shè)備11知曉的隨機(jī)數(shù),是整個域的主控密鑰。對于網(wǎng)絡(luò)節(jié)點21,在加入域10時需要到域控制設(shè)備11注冊。域控制設(shè)備11對網(wǎng)絡(luò)節(jié)點21進(jìn)行驗證,只有在網(wǎng)絡(luò)節(jié)點21成功通過驗證之后域控制設(shè)備11才允許網(wǎng)絡(luò)節(jié)點 21加入域10。域控制設(shè)備11在驗證過程中獲取網(wǎng)絡(luò)節(jié)點21的身份ID,在網(wǎng)絡(luò)節(jié)點21成功通過驗證后根據(jù)其ID為網(wǎng)絡(luò)節(jié)點21計算私鑰= tQID,其中,Qid = H1(ID),并將其私鑰連同系統(tǒng)配置參數(shù)P^jpHyHy Qta —起通分發(fā)給網(wǎng)絡(luò)節(jié)點21。為了保證安全性在分發(fā)的過程中可以根據(jù)實際需要對這些參數(shù)進(jìn)行加密保護(hù)。網(wǎng)絡(luò)節(jié)點21在完成注冊并且得到SignCryption算法的系統(tǒng)配置參數(shù)及其私鑰之后,就可以使用SignCryption算法與域內(nèi)其他節(jié)點進(jìn)行安全通信。網(wǎng)絡(luò)節(jié)點21在發(fā)送消息時按下述規(guī)定對消息進(jìn)行處理Signcrypt (SIDa, IDb, m)Qrob = H1 (IDb)x·^~Ζ*U = χΡr = H2 (U | | m)W = xQtaV = rSIDa+ffy=; (W5QiDb)k = H3 (y)c=k 十 mσ = (c,U,V)其中,m為網(wǎng)絡(luò)節(jié)點21待發(fā)送給網(wǎng)絡(luò)節(jié)點22的PTP協(xié)議消息,c為加密后的消息, U和V為基于m生成的數(shù)字簽名,σ為加密并附有數(shù)字簽名的PTP協(xié)議消息。網(wǎng)絡(luò)節(jié)點22接收到該加密簽名的消息后,基于其私鑰、發(fā)送節(jié)點也即網(wǎng)絡(luò)節(jié)點21 的身份信息對接收到的單播PTP數(shù)據(jù)包進(jìn)行解密與數(shù)字簽名驗證,過程如下Unsigncrypt(IDa, SIDb, σ)Qroa = H1(IDa)
Parse σ as (c, U,V)y=;(SiDb,U)k = ym=k 十 Cr = H2 (U | | m)If ; (V,P)本;(QiDa,QTA)r· e (U, QTA)Return丄(表示消息無效,應(yīng)該丟棄消息)Return m如果2(V,P)不等于2((^lDa,Qta)1^ (U, QTA),則網(wǎng)絡(luò)節(jié)點22認(rèn)為該簽名不正
確,丟棄或忽略消息m。當(dāng)然,對于網(wǎng)絡(luò)節(jié)點21如何解密與數(shù)字簽名驗證其接收到的單播消息的過程,與上述類似。對于組播或廣播數(shù)據(jù)包的發(fā)送和接收,域控制設(shè)備11為每個組播(或廣播)組定義了一個身份信息,并基于該身份產(chǎn)生一個第二私鑰,并將該第二私鑰發(fā)送給請求接收該組播(或廣播)數(shù)據(jù)包的網(wǎng)絡(luò)節(jié)點,如網(wǎng)絡(luò)節(jié)點21。網(wǎng)絡(luò)節(jié)點21在發(fā)送組播或廣播PTP數(shù)據(jù)包時,基于其自身的第一私鑰、組播組或廣播組的身份信息對組播或廣播PTP數(shù)據(jù)包生成數(shù)字簽名并對該組播或廣播PTP數(shù)據(jù)包的正文進(jìn)行加密;以及組播(或廣播)組的第二私鑰、發(fā)送節(jié)點的身份信息對接收到的組播或廣播PTP數(shù)據(jù)包進(jìn)行解密與數(shù)字簽名驗證。如上文所述,在一個實施例中,用于PTP協(xié)議的密鑰包括PTP協(xié)議附錄K定義的共享對稱密鑰,具體地,共享對稱密鑰的數(shù)目取決于網(wǎng)絡(luò)節(jié)點21需要與之通信的網(wǎng)絡(luò)節(jié)點的數(shù)目,具體地,步驟S802包括如下的子步驟網(wǎng)絡(luò)節(jié)點21按PTP協(xié)議附錄K所述利用所述加密密鑰對PTP數(shù)據(jù)包進(jìn)行安全性保護(hù);以及按PTP協(xié)議附錄K所述利用所述加密密鑰對 PTP數(shù)據(jù)包進(jìn)行安全性驗證。以下參照PTP協(xié)議附錄K,對于網(wǎng)絡(luò)節(jié)點21如何利用共享對稱密鑰來對發(fā)送和接收到的數(shù)據(jù)包進(jìn)行安全性保護(hù)和驗證進(jìn)行詳細(xì)描述。當(dāng)PTP協(xié)議支持附錄K時,所有的PTP消息必須攜帶鑒權(quán)TLV (AUTHENTI CAT ION TLV)這個字段,并且將標(biāo)記字段的安全標(biāo)記(flagField. SE⑶RE)置位。鑒權(quán)TLV中的完整性驗證值antegrityCheck Value)字段用于保證整個消息的完整性。其中ICV是把鑒權(quán)TLV中的算法ID (algorithm ID)標(biāo)識的消息認(rèn)證碼函數(shù)(例如PTP協(xié)議附錄K定義的 HMAC-SHA1-96或者HMAC-SHA256-U8函數(shù))以及密鑰ID(key ID)標(biāo)識的密鑰應(yīng)用與整個 PTP消息的結(jié)果。不失一般性地,以網(wǎng)絡(luò)節(jié)點21與網(wǎng)絡(luò)節(jié)點22通信為例,它們的共享對稱密鑰為K, m為網(wǎng)絡(luò)節(jié)點21待發(fā)送給網(wǎng)絡(luò)節(jié)點22的PTP協(xié)議數(shù)據(jù)包。網(wǎng)絡(luò)節(jié)點21根據(jù)實際情況填充鑒權(quán)TLV中的相關(guān)字段,如算法ID、密鑰ID等,其中ICV置為零,并將上述初始鑒權(quán)TLV 附加在消息m之后。網(wǎng)絡(luò)節(jié)點21根據(jù)鑒權(quán)TLV中算法ID、密鑰ID和上述附加了初始鑒權(quán) TLV的PTP消息計算完整性驗證值antegrity Check Value)字段=H(附加了初始鑒權(quán) TLV的PTP消息,K),其中H為PTP協(xié)議附錄K定義的HMAC-SHA1-96或者HMAC-SHA256-U8 函數(shù).網(wǎng)絡(luò)節(jié)點21用該結(jié)果修正初始鑒權(quán)TLV中的ICV字段,并將附帶ICV修正后的鑒權(quán)TLV字段的消息發(fā)送給網(wǎng)絡(luò)節(jié)點22。網(wǎng)絡(luò)節(jié)點22接收到攜帶鑒權(quán)TLV的消息m后,利用鑒權(quán)TLV中算法ID、密鑰ID以及接收到的m按上述同樣的方法計算整性驗證值(htegrity Check Value)字段,并與接收到的消息中的鑒權(quán)TLV中攜帶的ICV值相比較,如果二者不一致,則丟棄或忽略消息m。網(wǎng)絡(luò)節(jié)點21對于接收到的來自網(wǎng)絡(luò)節(jié)點22的PTP協(xié)議消息,也是進(jìn)行如此驗證。圖9示出了根據(jù)本發(fā)明的一個具體實施方式
的在通信網(wǎng)絡(luò)的域控制設(shè)備中用于向該域中的網(wǎng)絡(luò)節(jié)點發(fā)放用于PTP協(xié)議密鑰的裝置900結(jié)構(gòu)示意圖,裝置900包括第一驗證裝置901和第一發(fā)送裝置902。在一個實施例中,第一驗證裝置901包括第二發(fā)送裝置 9011、第二接收裝置9012、第二驗證裝置9013、第三發(fā)送裝置9014、第三接收裝置9015、第三驗證裝置9016。以下結(jié)合圖1,對位于域控制設(shè)備11中的裝置900的工作過程進(jìn)行詳細(xì)說明。首先,第一驗證裝置901驗證網(wǎng)絡(luò)節(jié)點21是否為域中合法節(jié)點。如所述網(wǎng)絡(luò)節(jié)點為所述域中的合法節(jié)點,則第一發(fā)送裝置902發(fā)送用于PTP協(xié)議的密鑰至所述網(wǎng)絡(luò)節(jié)點。具體地,第一驗證裝置901如何驗證網(wǎng)絡(luò)節(jié)點21是否為域中合法節(jié)點的方式有多種,一個實施例如下文所述。首先,第二發(fā)送裝置9011發(fā)送查詢身份的請求消息至網(wǎng)絡(luò)節(jié)點21。接著,第二接收裝置9012接收來自網(wǎng)絡(luò)節(jié)點21的查詢身份的響應(yīng)消息,該響應(yīng)消息中包括網(wǎng)絡(luò)節(jié)點21的身份信息。第二驗證裝置9013驗證網(wǎng)絡(luò)節(jié)點21的身份是否合法。如網(wǎng)絡(luò)節(jié)點21的身份合法,則第三發(fā)送裝置9014發(fā)送查詢鑒權(quán)信息的請求消息至網(wǎng)絡(luò)節(jié)點21。第三接收裝置9015接收來自網(wǎng)絡(luò)節(jié)點21的查詢鑒權(quán)信息的響應(yīng)消息。第三驗證裝置9016驗證網(wǎng)絡(luò)節(jié)點21的鑒權(quán)信息是否合法。如網(wǎng)絡(luò)節(jié)點21的鑒權(quán)信息合法,則第一發(fā)送裝置902發(fā)送用于PTP協(xié)議的密鑰至網(wǎng)絡(luò)節(jié)點21。其中,第二驗證裝置9013如何驗證網(wǎng)絡(luò)節(jié)點21的身份是否合法以及第三驗證裝置9016如何驗證網(wǎng)絡(luò)節(jié)點21的鑒權(quán)信息是否合法的方式有多種,如基于RADIUS認(rèn)證 (RFC2869)或者 DIAMETER 認(rèn)證(RFC3588)的方式。在一個實施例中,第一驗證裝置901可采用EAP認(rèn)證方式來驗證網(wǎng)絡(luò)節(jié)點21是否為域10中合法節(jié)點。第一發(fā)送裝置902通過在EAP認(rèn)證方式所定義的消息中擴(kuò)展定義 Type-Data來實現(xiàn)用于PTP協(xié)議的密鑰的發(fā)送。在另一個實施例中,第一發(fā)送裝置902通過定義EAP消息中的Expanded Type從而定義新的EAP認(rèn)證方式來實現(xiàn)用于PTP協(xié)議的密鑰的發(fā)送。用于PTP協(xié)議的密鑰既可以以密文的形式被發(fā)送,也可以以明文的形式被發(fā)送。 在一個實施例中,用于PTP協(xié)議的密鑰包括PTP協(xié)議附錄K中定義的共享對稱密鑰。在另一個實施例中,用于PTP協(xié)議的密鑰包括SignCryption算法中定義的參數(shù)和私鑰。圖10示出了根據(jù)本發(fā)明的一個具體實施方式
的在通信網(wǎng)絡(luò)的網(wǎng)絡(luò)節(jié)點中用于對 PTP協(xié)議數(shù)據(jù)包進(jìn)行加密的裝置100的結(jié)構(gòu)框圖,在圖10中,裝置100包括第一接收裝置 101和加密通信裝置102。以下結(jié)合圖1,對位于網(wǎng)絡(luò)節(jié)點21中的裝置100的對PTP協(xié)議數(shù)據(jù)包進(jìn)行加密的過程進(jìn)行詳細(xì)說明。首先,第一接收裝置101接收來自本網(wǎng)絡(luò)節(jié)點所屬域的域控制設(shè)備11發(fā)送的用于 PTP協(xié)議的密鑰。接著,加密通信裝置102利用所述密鑰進(jìn)行與域中其它網(wǎng)絡(luò)節(jié)點進(jìn)行PTP協(xié)議加
Sififn ο如上文所述,在一個實施例中,用于PTP協(xié)議的密鑰包括SignCryption算法中定義的參數(shù)和第一私鑰,其中,第一私鑰由域控制設(shè)備10基于網(wǎng)絡(luò)節(jié)點21的身份信息產(chǎn)生, 具體地,加密通信裝置102執(zhí)行如下功能在發(fā)送單播PTP數(shù)據(jù)包時,基于第一私鑰、接收節(jié)點的身份信息對所述單播PTP數(shù)據(jù)包生成數(shù)字簽名并對該單播PTP數(shù)據(jù)包的正文進(jìn)行加密;以及基于第一私鑰、發(fā)送節(jié)點的身份信息對接收到的單播PTP數(shù)據(jù)包進(jìn)行解密與數(shù)字簽名驗證。對于組播或廣播數(shù)據(jù)包的發(fā)送和接收,域控制設(shè)備11為每個組播(或廣播)組定義了一個身份信息,并基于該身份產(chǎn)生一個第二私鑰,并將該第二私鑰發(fā)送給請求接收該組播(或廣播)數(shù)據(jù)包的網(wǎng)絡(luò)節(jié)點,如網(wǎng)絡(luò)節(jié)點21。在網(wǎng)絡(luò)節(jié)點21發(fā)送組播或廣播PTP 數(shù)據(jù)包時,加密通信裝置102基于其自身的第一私鑰、組播組或廣播組的身份信息對組播或廣播PTP數(shù)據(jù)包生成數(shù)字簽名并對該組播或廣播PTP數(shù)據(jù)包的正文進(jìn)行加密;以及組播 (或廣播)組的第二私鑰、發(fā)送節(jié)點的身份信息對接收到的組播或廣播PTP數(shù)據(jù)包進(jìn)行解密與數(shù)字簽名驗證。如上文所述,在一個實施例中,用于PTP協(xié)議的密鑰包括PTP協(xié)議附錄K定義的共享對稱密鑰,具體地,共享對稱密鑰的數(shù)目取決于網(wǎng)絡(luò)節(jié)點21需要與之通信的網(wǎng)絡(luò)節(jié)點的數(shù)目,具體地,加密通信裝置102執(zhí)行如下功能網(wǎng)絡(luò)節(jié)點21按PTP協(xié)議附錄K所述對PTP 數(shù)據(jù)包利用所述加密密鑰進(jìn)行安全性保護(hù);以及按PTP協(xié)議附錄K所述對PTP數(shù)據(jù)包利用所述加密密鑰進(jìn)行安全性驗證。任何不背離本發(fā)明精神的技術(shù)方案均應(yīng)落入本發(fā)明的保護(hù)范圍之內(nèi)。此外,不應(yīng)將權(quán)利要求中的任何附圖標(biāo)記視為限制所涉及的權(quán)利要求;“包括”一詞不排除其它權(quán)利要求或說明書中未列出的裝置或步驟;裝置前的“一個”不排除多個這樣的裝置的存在;在包含多個裝置的設(shè)備中,該多個裝置中的一個或多個的功能可由同一個硬件或軟件模塊來實現(xiàn);“第一”、“第二”、“第三”等詞語僅用來表示名稱,而并不表示任何特定的順序。以上對本發(fā)明的具體實施例進(jìn)行了描述。需要理解的是,本發(fā)明并不局限于上述特定實施方式,本領(lǐng)域技術(shù)人員可以在所附權(quán)利要求的范圍內(nèi)做出各種變形或修改。
權(quán)利要求
1.一種在通信網(wǎng)絡(luò)的域控制設(shè)備中用于向該域中的網(wǎng)絡(luò)節(jié)點發(fā)放用于PTP協(xié)議密鑰的方法,包括以下步驟-驗證所述網(wǎng)絡(luò)節(jié)點是否為所述域中合法節(jié)點;-如所述網(wǎng)絡(luò)節(jié)點為所述域中的合法節(jié)點,則發(fā)送用于PTP協(xié)議的密鑰至所述網(wǎng)絡(luò)節(jié)點O
2.根據(jù)權(quán)利要求1所述的方法,其中,所述驗證步驟包括以下步驟-發(fā)送查詢身份的請求消息至所述網(wǎng)絡(luò)節(jié)點;-接收來自所述網(wǎng)絡(luò)節(jié)點的查詢身份的響應(yīng)消息,該響應(yīng)消息中包括所述網(wǎng)絡(luò)節(jié)點的身份信息;-驗證所述網(wǎng)絡(luò)節(jié)點的身份是否合法;-如所述網(wǎng)絡(luò)節(jié)點的身份合法,則發(fā)送查詢鑒權(quán)信息的請求消息至所述網(wǎng)絡(luò)節(jié)點;-接收來自所述網(wǎng)絡(luò)節(jié)點的查詢鑒權(quán)信息的響應(yīng)消息;-驗證所述鑒權(quán)信息是否合法;-如所述鑒權(quán)信息合法,則發(fā)送用于PTP協(xié)議的密鑰至所述網(wǎng)絡(luò)節(jié)點。
3.根據(jù)權(quán)利要求2所述的方法,其中,基于RADIUS認(rèn)證或者DIAMETER認(rèn)證來驗證所述網(wǎng)絡(luò)節(jié)點的身份是否合法以及驗證所述鑒權(quán)信息是否合法。
4.根據(jù)權(quán)利要求1所述的方法,其中,所述驗證步驟包括以下步驟-采用EAP認(rèn)證方式來驗證所述網(wǎng)絡(luò)節(jié)點是否為所述域中合法節(jié)點。
5.根據(jù)權(quán)利要求1所述的方法,其中,發(fā)送用于PTP協(xié)議的密鑰至所述網(wǎng)絡(luò)節(jié)點的步驟包括以下步驟-所述用于PTP協(xié)議的密鑰的發(fā)送通過在EAP認(rèn)證方式所定義的消息中擴(kuò)展定義 Type-Data 來實現(xiàn)。
6.根據(jù)權(quán)利要求1所述的方法,其中,所述用于PTP協(xié)議的密鑰的發(fā)送通過定義EAP消息中的Expanded Type從而定義新的EAP認(rèn)證方式來實現(xiàn)。
7.根據(jù)權(quán)利要求1所述的方法,其中所述PTP協(xié)議密鑰以密文的形式被發(fā)送。
8.根據(jù)權(quán)利要求1所述的方法,其中,所述用于PTP協(xié)議的密鑰包括PTP協(xié)議附錄K中定義的共享對稱密鑰。
9.根據(jù)權(quán)利要求1所述的方法,其中,所述用于PTP協(xié)議的密鑰包括SignCryption算法中定義的參數(shù)和私鑰。
10.一種在通信網(wǎng)絡(luò)的網(wǎng)絡(luò)節(jié)點中用于對PTP協(xié)議數(shù)據(jù)包進(jìn)行加密的方法,包括以下步驟A.接收來自本網(wǎng)絡(luò)節(jié)點所屬域的域控制設(shè)備發(fā)送的用于PTP協(xié)議的密鑰;B.利用所述密鑰進(jìn)行與所述域中其它網(wǎng)絡(luò)節(jié)點進(jìn)行PTP協(xié)議加密通信。
11.根據(jù)權(quán)利要求10所述的方法,其中,所述用于PTP協(xié)議的密鑰包括SignCryption 算法中定義的參數(shù)和第一私鑰,其中,所述第一私鑰由所述域控制設(shè)備基于所述網(wǎng)絡(luò)節(jié)點的身份信息產(chǎn)生,所述步驟B包括以下步驟-在發(fā)送單播PTP數(shù)據(jù)包時,基于所述第一私鑰、接收節(jié)點的身份信息對所述單播PTP 數(shù)據(jù)包生成數(shù)字簽名并對該單播PTP數(shù)據(jù)包的正文進(jìn)行加密;以及-基于所述第一私鑰、發(fā)送節(jié)點的身份信息對接收到的單播PTP數(shù)據(jù)包進(jìn)行解密與數(shù)字簽名驗證。
12.根據(jù)權(quán)利要求11所述的方法,其中,所述網(wǎng)絡(luò)節(jié)點還參與組播或廣播PTP數(shù)據(jù)包的發(fā)送和接收,所述用于PTP協(xié)議的密鑰還包括SignCryption算法中定義的用于組播組或廣播組的身份信息和和基于該身份信息產(chǎn)生的第二私鑰,所述步驟B還包括以下步驟-在發(fā)送組播或廣播PTP數(shù)據(jù)包時,基于所述第一私鑰、組播組或廣播組的身份信息對所述組播或廣播PTP數(shù)據(jù)包生成數(shù)字簽名并對該組播或廣播PTP數(shù)據(jù)包的正文進(jìn)行加密; 以及-基于所述第二私鑰、發(fā)送節(jié)點的身份信息對接收到的組播或廣播PTP數(shù)據(jù)包進(jìn)行解密與數(shù)字簽名驗證。
13.根據(jù)權(quán)利要求10所述的方法,其中,所述用于PTP協(xié)議的密鑰包括PTP協(xié)議附錄K 定義的共享對稱密鑰,所述步驟B包括以下步驟-按PTP協(xié)議附錄K所述利用所述加密密鑰對PTP數(shù)據(jù)包進(jìn)行安全性保護(hù);以及 -按PTP協(xié)議附錄K所述利用所述加密密鑰對PTP數(shù)據(jù)包進(jìn)行安全性驗證。
14.一種在通信網(wǎng)絡(luò)的域控制設(shè)備中用于向該域中的網(wǎng)絡(luò)節(jié)點發(fā)放用于PTP協(xié)議密鑰的裝置,包括第一驗證裝置,用于驗證所述網(wǎng)絡(luò)節(jié)點是否為所述域中合法節(jié)點; 第一發(fā)送裝置,用于如所述網(wǎng)絡(luò)節(jié)點為所述域中的合法節(jié)點,則發(fā)送用于PTP協(xié)議的密鑰至所述網(wǎng)絡(luò)節(jié)點。
15.一種在通信網(wǎng)絡(luò)的網(wǎng)絡(luò)節(jié)點中用于對PTP協(xié)議數(shù)據(jù)包進(jìn)行加密的裝置,包括 第一接收裝置,用于接收來自本網(wǎng)絡(luò)節(jié)點所屬域的域控制設(shè)備發(fā)送的用于PTP協(xié)議的密鑰;加密通信裝置,用于利用所述密鑰進(jìn)行與所述域中其它網(wǎng)絡(luò)節(jié)點進(jìn)行PTP協(xié)議加密通
全文摘要
本發(fā)明提出了一種PTP密鑰的自動分發(fā)的技術(shù)方案,并在此基礎(chǔ)上了提出了一種新的加密方法。引入域控制設(shè)備來驗證域中網(wǎng)絡(luò)節(jié)點是否為域中合法節(jié)點;如所述網(wǎng)絡(luò)節(jié)點為所述域中的合法節(jié)點,則發(fā)送用于PTP協(xié)議的密鑰至所述網(wǎng)絡(luò)節(jié)點。通過本發(fā)明的方法和裝置,支持了各種形式的PTP網(wǎng)絡(luò)節(jié)點的接入認(rèn)證、PTP密鑰的自動配置和動態(tài)發(fā)送,使得密鑰的安全性大大增強(qiáng)。另外,采用SignCryption加密算法,使得對于每個PTP消息,不僅可以提供消息源認(rèn)證、消息完整性認(rèn)證、消息的機(jī)密性和重放保護(hù),而且能追蹤到其發(fā)送網(wǎng)絡(luò)節(jié)點,因此,安全性大大增強(qiáng)。
文檔編號H04L29/06GK102594553SQ201110005208
公開日2012年7月18日 申請日期2011年1月12日 優(yōu)先權(quán)日2011年1月12日
發(fā)明者姚亦峰 申請人:上海貝爾股份有限公司