一種密鑰信息的傳輸方法和設備的制作方法
【專利摘要】本發(fā)明公開了一種密鑰信息的傳輸方法和設備,該方法包括:KS確定本KS的分級角色;當分級角色為分發(fā)KS時,分發(fā)KS生成安全策略和密鑰信息,并將安全策略和密鑰信息下發(fā)給分發(fā)KS的下一級KS;當分級角色為中轉(zhuǎn)KS時,中轉(zhuǎn)KS接收來自中轉(zhuǎn)KS的上一級KS的安全策略和密鑰信息,并在本地存儲安全策略和密鑰信息,并將本地存儲的安全策略和密鑰信息下發(fā)給中轉(zhuǎn)KS的下一級KS;當分級角色為接入KS時,接入KS接收來自接入KS的上一級KS的安全策略和密鑰信息,并在本地存儲安全策略和密鑰信息;接入KS確定GM所在組對應的安全策略和密鑰信息,并以單播方式將當前確定的安全策略和密鑰信息下發(fā)給所述GM。本發(fā)明實施例中,使GDVPN系統(tǒng)的網(wǎng)絡規(guī)模不再受限于KS的CPU性能。
【專利說明】一種密鑰信息的傳輸方法和設備
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信【技術(shù)領(lǐng)域】,尤其涉及一種密鑰信息的傳輸方法和設備。
【背景技術(shù)】
[0002]GDVPN(Group Domain Virtual Private Network,組域虛擬專用網(wǎng)絡)提供了一種基于組的IPsec (Internet Protocol Security, IP協(xié)議安全)安全模型。組是安全策略的集合,屬于同一個組的所有成員共享相同的安全策略和密鑰。
[0003]如圖1所示,為⑶VPN系統(tǒng)的組網(wǎng)示意圖,KS(Key Server,密鑰服務器)通過劃分不同的組來管理不同的安全策略和密鑰,GM (Group Member,組成員)通過加入相應的組,以從KS獲取該組對應的安全策略和密鑰。
[0004]具體的,GM向KS發(fā)送所在組的組ID (標識)。KS根據(jù)GM提供的組ID向GM發(fā)送相應組的安全策略(保護的數(shù)據(jù)流信息、加密算法、認證算法、封裝模式等)。GM對收到的安全策略進行驗證,如果這些策略是可接受的(例如安全協(xié)議和加密算法是可支持的),則向KS發(fā)送確認消息。KS收到GM的確認消息后,向GM發(fā)送密鑰信息,由GM利用該密鑰信息對數(shù)據(jù)進行加密和解密。
[0005]進一步的,如果在KS上配置了 Rekey (密鑰更新)的相關(guān)參數(shù),則KS還會周期性的向GM發(fā)送密鑰更新消息,且該密鑰更新消息中攜帶了最新的SA(Security Associat1n,安全聯(lián)盟)信息。其中,KS是通過向每個GM發(fā)送單播的密鑰更新消息,以通過密鑰更新消息將最新的SA信息通知給各GM的。
[0006]當⑶VPN系統(tǒng)中存在大量的GM時,KS需要周期性的向每個GM發(fā)送密鑰更新消息,導致KS在每個發(fā)送周期內(nèi),均需要發(fā)送大量的密鑰更新消息,從而導致GDVPN系統(tǒng)的網(wǎng)絡規(guī)模將受限于KS的CPU (Central Processing Unit,中央處理器)性能,并且⑶VPN系統(tǒng)中能夠部署的GM數(shù)量有限。
【發(fā)明內(nèi)容】
[0007]本發(fā)明實施例提供一種密鑰信息的傳輸方法,所述方法包括以下步驟:
[0008]密鑰服務器KS確定本KS的分級角色;
[0009]當分級角色為分發(fā)KS時,所述分發(fā)KS生成安全策略和密鑰信息,并將安全策略和密鑰信息下發(fā)給所述分發(fā)KS的下一級KS ;
[0010]當分級角色為中轉(zhuǎn)KS時,所述中轉(zhuǎn)KS接收來自所述中轉(zhuǎn)KS的上一級KS的安全策略和密鑰信息,并在本地存儲安全策略和密鑰信息,并將本地存儲的安全策略和密鑰信息下發(fā)給所述中轉(zhuǎn)KS的下一級KS ;
[0011]當分級角色為接入KS時,所述接入KS接收來自所述接入KS的上一級KS的安全策略和密鑰信息,并在本地存儲安全策略和密鑰信息;
[0012]所述接入KS確定組成員GM所在組對應的安全策略和密鑰信息,以單播方式將當前確定的安全策略和密鑰信息下發(fā)給所述GM。
[0013]所述方法進一步包括:
[0014]所述分發(fā)KS將安全策略和密鑰信息下發(fā)給所述分發(fā)KS的下一級KS的過程,具體包括:所述分發(fā)KS在接收到來自所述分發(fā)KS的下一級KS的未攜帶GM所在組的組標識的注冊消息時,將所有組對應的安全策略和密鑰信息均下發(fā)給所述分發(fā)KS的下一級KS ;或者,所述分發(fā)KS在接收到來自所述分發(fā)KS的下一級KS的攜帶GM所在組的組標識的注冊消息時,將所述GM所在組對應的安全策略和密鑰信息下發(fā)給所述分發(fā)KS的下一級KS ;
[0015]所述中轉(zhuǎn)KS將本地存儲的安全策略和密鑰信息下發(fā)給所述中轉(zhuǎn)KS的下一級KS,具體包括:所述中轉(zhuǎn)KS在接收到來自所述中轉(zhuǎn)KS的下一級KS的未攜帶GM所在組的組標識的注冊消息時,將所有組對應的安全策略和密鑰信息均下發(fā)給所述中轉(zhuǎn)KS的下一級KS ;或者,所述中轉(zhuǎn)KS在接收到來自所述中轉(zhuǎn)KS的下一級KS的攜帶GM所在組的組標識的注冊消息時,將所述GM所在組對應的安全策略和密鑰信息下發(fā)給所述中轉(zhuǎn)KS的下一級KS。
[0016]所述接入KS確定組成員GM所在組對應的安全策略和密鑰信息的過程,具體包括:
[0017]所述接入KS在接收到GM向本接入KS發(fā)送的攜帶GM所在組的組標識的注冊消息后,判斷本地是否存在GM所在組對應的安全策略和密鑰信息;
[0018]如果存在,則所述接入KS利用本地存儲的安全策略和密鑰信息確定所述GM所在組對應的安全策略和密鑰信息;
[0019]如果不存在,則所述接入KS向所述接入KS的上一級KS發(fā)送攜帶所述GM所在組的組標識的注冊消息;由所述接入KS的上一級KS確定所述GM所在組對應的安全策略和密鑰信息,并將所述GM所在組對應的安全策略和密鑰信息下發(fā)給所述接入KS ;所述接入KS接收所述接入KS的上一級KS下發(fā)的所述GM所在組對應的安全策略和密鑰信息。
[0020]所述方法進一步包括:
[0021]當分級角色為分發(fā)KS時,如果所述分發(fā)KS上配置了密鑰更新Rekey參數(shù),則所述分發(fā)KS周期性的向所述分發(fā)KS的下一級KS發(fā)送密鑰更新消息;
[0022]當分級角色為中轉(zhuǎn)KS時,所述中轉(zhuǎn)KS接收來自所述中轉(zhuǎn)KS的上一級KS的密鑰更新消息,并將所述密鑰更新消息轉(zhuǎn)發(fā)給所述中轉(zhuǎn)KS的下一級KS,并利用所述密鑰更新消息刷新本地的密鑰信息;
[0023]當分級角色為接入KS時,所述接入KS接收來自所述接入KS的上一級KS的密鑰更新消息,并以單播方式將所述密鑰更新消息轉(zhuǎn)發(fā)給相應組內(nèi)的GM,并利用所述密鑰更新消息刷新本地的密鑰信息;
[0024]其中,所述密鑰更新消息中攜帶了安全聯(lián)盟SA信息和密鑰信息。
[0025]所述SA信息具體包括:加密算法、認證算法、密鑰使用期限等;所述密鑰信息具體包括:加密流量的密鑰TEK以及加密密鑰的密鑰KEK。
[0026]本發(fā)明實施例提供一種密鑰服務器KS,所述KS具體包括:
[0027]確定模塊,用于確定所述KS的分級角色;
[0028]處理模塊,用于當分級角色為分發(fā)KS時,生成安全策略和密鑰信息,并將安全策略和密鑰信息下發(fā)給所述分發(fā)KS的下一級KS ;或者,當分級角色為中轉(zhuǎn)KS時,接收來自所述中轉(zhuǎn)KS的上一級KS的安全策略和密鑰信息,并在本地存儲安全策略和密鑰信息,并將本地存儲的安全策略和密鑰信息下發(fā)給所述中轉(zhuǎn)KS的下一級KS ;或者,當分級角色為接入KS時,接收來自所述接入KS的上一級KS的安全策略和密鑰信息,并在本地存儲安全策略和密鑰信息;以及,確定組成員GM所在組對應的安全策略和密鑰信息,以單播方式將當前確定的安全策略和密鑰信息下發(fā)給所述GM。
[0029]所述處理模塊,具體用于在將安全策略和密鑰信息下發(fā)給所述分發(fā)KS的下一級KS的過程中,在接收到來自所述分發(fā)KS的下一級KS的未攜帶GM所在組的組標識的注冊消息時,將所有組對應的安全策略和密鑰信息均下發(fā)給所述分發(fā)KS的下一級KS ;或者,在接收到來自所述分發(fā)KS的下一級KS的攜帶GM所在組的組標識的注冊消息時,將所述GM所在組對應的安全策略和密鑰信息下發(fā)給所述分發(fā)KS的下一級KS ;
[0030]所述處理模塊,具體用于在將本地存儲的安全策略和密鑰信息下發(fā)給所述中轉(zhuǎn)KS的下一級KS的過程中,在接收到來自所述中轉(zhuǎn)KS的下一級KS的未攜帶GM所在組的組標識的注冊消息時,將所有組對應的安全策略和密鑰信息均下發(fā)給所述中轉(zhuǎn)KS的下一級KS ;或者,在接收到來自所述中轉(zhuǎn)KS的下一級KS的攜帶GM所在組的組標識的注冊消息時,將所述GM所在組對應的安全策略和密鑰信息下發(fā)給所述中轉(zhuǎn)KS的下一級KS。
[0031]所述處理模塊,具體用于當分級角色為接入KS時,在確定GM所在組對應的安全策略和密鑰信息的過程中,在接收到GM向所述接入KS發(fā)送的攜帶GM所在組的組標識的注冊消息后,判斷本地是否存在GM所在組對應的安全策略和密鑰信息;如果存在,則利用本地存儲的安全策略和密鑰信息確定所述GM所在組對應的安全策略和密鑰信息;如果不存在,則向所述接入KS的上一級KS發(fā)送攜帶所述GM所在組的組標識的注冊消息;由所述接入KS的上一級KS確定所述GM所在組對應的安全策略和密鑰信息,并將所述GM所在組對應的安全策略和密鑰信息下發(fā)給所述接入KS ;接收所述接入KS的上一級KS下發(fā)的所述GM所在組對應的安全策略和密鑰信息。
[0032]所述處理模塊,還用于當分級角色為分發(fā)KS時,如果所述分發(fā)KS上配置了密鑰更新Rekey參數(shù),則周期性的向所述分發(fā)KS的下一級KS發(fā)送密鑰更新消息;當分級角色為中轉(zhuǎn)KS時,接收來自所述中轉(zhuǎn)KS的上一級KS的密鑰更新消息,并將所述密鑰更新消息轉(zhuǎn)發(fā)給所述中轉(zhuǎn)KS的下一級KS,并利用所述密鑰更新消息刷新本地的密鑰信息;當分級角色為接入KS時,接收來自所述接入KS的上一級KS的密鑰更新消息,并以單播方式將所述密鑰更新消息轉(zhuǎn)發(fā)給相應組內(nèi)的GM,并利用所述密鑰更新消息刷新本地的密鑰信息;其中,所述密鑰更新消息中攜帶了安全聯(lián)盟SA信息和密鑰信息。
[0033]所述SA信息具體包括:加密算法、認證算法、密鑰使用期限等;所述密鑰信息具體包括:加密流量的密鑰TEK以及加密密鑰的密鑰KEK。
[0034]基于上述技術(shù)方案,本發(fā)明實施例中,通過將KS劃分為多個級別的KS,低級的KS向上級的KS注冊,作為上級的KS的客戶端,從而實現(xiàn)分層KS,并基于分層KS,擴大⑶VPN系統(tǒng)的部署規(guī)模,使GDVPN系統(tǒng)的網(wǎng)絡規(guī)模不再受限于KS的CPU性能,GDVPN系統(tǒng)中能夠部署的GM數(shù)量無限大。
【專利附圖】
【附圖說明】
[0035]圖1是現(xiàn)有技術(shù)中提出的⑶VPN系統(tǒng)的組網(wǎng)示意圖;
[0036]圖2是本發(fā)明實施例中提出的應用場景示意圖;
[0037]圖3是本發(fā)明實施例中提出的一種密鑰信息的傳輸方法流程示意圖;
[0038]圖4是本發(fā)明實施例中提出的一種密鑰服務器KS的結(jié)構(gòu)示意圖。
【具體實施方式】
[0039]針對現(xiàn)有技術(shù)中存在的問題,本發(fā)明實施例提供一種密鑰信息的傳輸方法,該方法應用于包括分發(fā)KS、中轉(zhuǎn)KS、接入KS和GM的系統(tǒng)中。本發(fā)明實施例中,在包括多個KS的GDVPN系統(tǒng)中,通過對多個KS進行分級,低級KS向上級KS進行注冊,并作為上級KS的客戶端。在包括多個級別的KS的GDVPN系統(tǒng)中,最高級別的KS為分發(fā)KS,最低級別的KS為接入KS,而其它級別的KS均為中轉(zhuǎn)KS。例如,假設KS分為4個級別,則第一級別的KS為分發(fā)KS,第二級別的KS和第三級別的KS均為中轉(zhuǎn)KS,第四級別的KS為接入KS。進一步的,以圖2為本發(fā)明實施例的應用場景示意圖,假設KS分為3個級別,則第一級別的KS為分發(fā)KS,第二級別的KS為中轉(zhuǎn)KS,第三級別的KS為接入KS。
[0040]在上述應用場景下,如圖3所示,該密鑰信息的傳輸方法包括以下步驟:
[0041]步驟301,KS確定本KS的分級角色。其中,KS的分級角色具體為:分發(fā)KS、中轉(zhuǎn)KS、接入KS。當分級角色為分發(fā)KS時,執(zhí)行步驟302 ;當分級角色為中轉(zhuǎn)KS時,執(zhí)行步驟303 ;當分級角色為接入KS時,執(zhí)行步驟304。
[0042]步驟302,分發(fā)KS生成安全策略和密鑰信息,并將安全策略和密鑰信息下發(fā)給分發(fā)KS的下一級KS,由分發(fā)KS的下一級KS在本地存儲安全策略和密鑰信息。其中,假設KS分為3個級別,則分發(fā)KS的下一級KS為第二級別的KS,且分發(fā)KS的下一級KS為中轉(zhuǎn)KS。假設KS分為2個級別,則分發(fā)KS的下一級KS為第二級別的KS,且分發(fā)KS的下一級KS為接入KS。
[0043]其中,分發(fā)KS是最高級別的KS,且在⑶VPN系統(tǒng)中只有一個分發(fā)KS,該分發(fā)KS用于為GM生成安全策略和密鑰信息,并將其下發(fā)給分發(fā)KS的下一級KS,即第二級別的KS,該第二級別的KS可以為中轉(zhuǎn)KS或者接入KS。
[0044]步驟303,中轉(zhuǎn)KS接收來自本中轉(zhuǎn)KS的上一級KS的安全策略和密鑰信息,并在本地存儲安全策略和密鑰信息,并將本地存儲的安全策略和密鑰信息下發(fā)給本中轉(zhuǎn)KS的下一級KS,由本中轉(zhuǎn)KS的下一級KS在本地存儲安全策略和密鑰信息。
[0045]其中,當中轉(zhuǎn)KS分為多個級別的中轉(zhuǎn)KS時,則最高級別的中轉(zhuǎn)KS(即與分發(fā)KS相連的中轉(zhuǎn)KS)接收分發(fā)KS(即本中轉(zhuǎn)KS的上一級KS)下發(fā)的安全策略和密鑰信息,在本地存儲安全策略和密鑰信息,并將本地存儲的安全策略和密鑰信息下發(fā)給本中轉(zhuǎn)KS的下一級別的中轉(zhuǎn)KS,由本中轉(zhuǎn)KS的下一級KS在本地存儲安全策略和密鑰信息。下一級別的中轉(zhuǎn)KS接收最高級別的中轉(zhuǎn)KS(即中轉(zhuǎn)KS的上一級KS)下發(fā)的安全策略和密鑰信息,在本地存儲安全策略和密鑰信息,并將本地存儲的安全策略和密鑰信息下發(fā)給本中轉(zhuǎn)KS的下一級別的中轉(zhuǎn)KS,由本中轉(zhuǎn)KS的下一級KS在本地存儲安全策略和密鑰信息。以此類推,最低級別的中轉(zhuǎn)KS (即與接入KS相連的中轉(zhuǎn)KS)接收上一級別的中轉(zhuǎn)KS (即本中轉(zhuǎn)KS的上一級KS)下發(fā)的安全策略和密鑰信息,在本地存儲安全策略和密鑰信息,并將本地存儲的安全策略和密鑰信息下發(fā)給接入KS,并由接入KS在本地存儲安全策略和密鑰信息。
[0046]步驟304,接入KS接收來自接入KS的上一級KS的安全策略和密鑰信息,并在本地存儲安全策略和密鑰信息,并確定GM所在組對應的安全策略和密鑰信息,并以單播方式將當前確定的安全策略和密鑰信息下發(fā)給該GM。
[0047]其中,分發(fā)KS在向分發(fā)KS的下一級KS發(fā)送安全策略和密鑰信息時,分發(fā)KS可以通過單播方式將安全策略和密鑰信息發(fā)送給分發(fā)KS的下一級KS,也可以通過組播方式將安全策略和密鑰信息發(fā)送給分發(fā)KS的下一級KS。中轉(zhuǎn)KS在向中轉(zhuǎn)KS的下一級KS發(fā)送安全策略和密鑰信息時,中轉(zhuǎn)KS可以通過單播方式將安全策略和密鑰信息發(fā)送給中轉(zhuǎn)KS的下一級KS,也可以通過組播方式將安全策略和密鑰信息發(fā)送給中轉(zhuǎn)KS的下一級KS。接入KS在向GM發(fā)送安全策略和密鑰信息時,接入KS通過單播方式將安全策略和密鑰信息發(fā)送給GM,而不通過組播方式發(fā)送安全策略和密鑰信息。進一步的,GM接收到接入KS下發(fā)的安全策略和密鑰消息后,生成SA信息。
[0048]本發(fā)明實施例中,安全策略具體包括但不限于:保護的數(shù)據(jù)流信息、加密算法、認證算法、封裝模式等。密鑰信息具體包括但不限于:TEK(Tranfic Encryt1n Key,加密流量的密鑰)和KEK (Key Encryt1n Key,加密密鑰的密鑰)。其中,TEK由組內(nèi)的所有GM共享,用于加密GM之間的流量;KEK由組內(nèi)的所有KS和GM共享,用于加密KS之間的密鑰更新消息、以及KS向GM發(fā)送的密鑰更新消息。
[0049]本發(fā)明實施例中,分發(fā)KS將安全策略和密鑰信息下發(fā)給分發(fā)KS的下一級KS的過程,具體包括但不限于:分發(fā)KS在接收到來自分發(fā)KS的下一級KS的未攜帶GM所在組的組標識的注冊消息時,將所有組對應的安全策略和密鑰信息均下發(fā)給分發(fā)KS的下一級KS ;或者,分發(fā)KS在接收到來自分發(fā)KS的下一級KS的攜帶GM所在組的組標識的注冊消息時,將GM所在組對應的安全策略和密鑰信息下發(fā)給分發(fā)KS的下一級KS ;
[0050]中轉(zhuǎn)KS將本地存儲的安全策略和密鑰信息下發(fā)給中轉(zhuǎn)KS的下一級KS的過程,具體包括但不限于:中轉(zhuǎn)KS在接收到來自中轉(zhuǎn)KS的下一級KS的未攜帶GM所在組的組標識的注冊消息時,將所有組對應的安全策略和密鑰信息均下發(fā)給中轉(zhuǎn)KS的下一級KS ;或者,中轉(zhuǎn)KS在接收到來自中轉(zhuǎn)KS的下一級KS的攜帶GM所在組的組標識的注冊消息時,將GM所在組對應的安全策略和密鑰信息下發(fā)給中轉(zhuǎn)KS的下一級KS。
[0051]本發(fā)明實施例中,接入KS確定組成員GM所在組對應的安全策略和密鑰信息的過程,具體包括但不限于:接入KS在接收到GM向本接入KS發(fā)送的攜帶GM所在組的組標識的注冊消息后,判斷本地是否存在GM所在組對應的安全策略和密鑰信息;如果存在,則接入KS利用本地存儲的安全策略和密鑰信息確定GM所在組對應的安全策略和密鑰信息;如果不存在,則接入KS向接入KS的上一級KS發(fā)送攜帶GM所在組的組標識的注冊消息;由接入KS的上一級KS確定GM所在組對應的安全策略和密鑰信息,并將GM所在組對應的安全策略和密鑰信息下發(fā)給接入KS ;接入KS接收接入KS的上一級KS下發(fā)的GM所在組對應的安全策略和密鑰信息。
[0052]本發(fā)明實施例中,為了實現(xiàn)上述過程,有如下兩種具體實現(xiàn)方式。
[0053]方式一:以KS分為3個級別,與分發(fā)KS相連的中轉(zhuǎn)KS和與接入KS相連的中轉(zhuǎn)KS為同一 KS為例,密鑰信息的傳輸方法具體包括以下步驟:
[0054]步驟1、中轉(zhuǎn)KS向分發(fā)KS發(fā)送未攜帶GM所在組的組標識的注冊消息。
[0055]步驟2、分發(fā)KS在接收到來自中轉(zhuǎn)KS的未攜帶GM所在組的組標識的注冊消息時,將所有組對應的安全策略和密鑰信息(假設為組I對應的安全策略和密鑰信息、組2對應的安全策略和密鑰信息)均下發(fā)給中轉(zhuǎn)KS。
[0056]步驟3、中轉(zhuǎn)KS在本地存儲所有組對應的安全策略和密鑰信息。
[0057]步驟4、接入KS向中轉(zhuǎn)KS發(fā)送未攜帶GM所在組的組標識的注冊消息。
[0058]步驟5、中轉(zhuǎn)KS在接收到來自接入KS的未攜帶GM所在組的組標識的注冊消息時,將所有組對應的安全策略和密鑰信息(假設為組I對應的安全策略和密鑰信息、組2對應的安全策略和密鑰信息)均下發(fā)給接入KS。
[0059]步驟6、接入KS在本地存儲所有組對應的安全策略和密鑰信息。
[0060]步驟7、GM向接入KS發(fā)送攜帶GM所在組的組標識的注冊消息。
[0061]步驟8、接入KS根據(jù)GM提供的組標識向GM發(fā)送相應組的安全策略。
[0062]本發(fā)明實施例中,接入KS在接收到GM向本接入KS發(fā)送的攜帶GM所在組的組標識的注冊消息后,判斷本地是否存在GM所在組對應的安全策略和密鑰信息。由于之前接入KS已經(jīng)向中轉(zhuǎn)KS發(fā)送過未攜帶GM所在組的組標識的注冊消息,且接入KS已經(jīng)收到來自中轉(zhuǎn)KS的所有組對應的安全策略和密鑰信息,并在本地存儲所有組對應的安全策略和密鑰信息,因此,在本步驟中,本地存在GM所在組對應的安全策略和密鑰信息,接入KS直接利用本地存儲的安全策略和密鑰信息確定GM所在組對應的安全策略和密鑰信息,并根據(jù)GM提供的組標識向GM發(fā)送相應組的安全策略。
[0063]步驟9、GM對收到的安全策略進行驗證,如果這些策略是可接受的(例如安全協(xié)議和加密算法是可支持的),則GM向接入KS根發(fā)送確認消息。
[0064]步驟10、接入KS在收到GM的確認消息后,根據(jù)GM提供的組標識向GM發(fā)送相應組的密鑰信息,由GM利用該密鑰信息對數(shù)據(jù)進行加密和解密。
[0065]方式二:以KS分為3個級別,與分發(fā)KS相連的中轉(zhuǎn)KS和與接入KS相連的中轉(zhuǎn)KS為同一 KS為例,密鑰信息的傳輸方法具體包括以下步驟:
[0066]步驟1、GM向接入KS發(fā)送攜帶GM所在組的組標識的注冊消息。
[0067]步驟2、接入KS向中轉(zhuǎn)KS發(fā)送攜帶GM所在組的組標識的注冊消息。
[0068]本發(fā)明實施例中,接入KS在接收到GM向本接入KS發(fā)送的攜帶GM所在組的組標識的注冊消息之后,判斷本地是否存在GM所在組對應的安全策略和密鑰信息。由于之前接入KS未向中轉(zhuǎn)KS發(fā)送過攜帶GM所在組的組標識的注冊消息,因此,接入KS本地將未存儲GM所在組對應的安全策略和密鑰信息,因此,在本步驟中,接入KS需要向接入KS的上一級KS(即中轉(zhuǎn)KS)發(fā)送攜帶GM所在組的組標識的注冊消息。
[0069]步驟3、中轉(zhuǎn)KS向分發(fā)KS發(fā)送攜帶GM所在組的組標識的注冊消息。
[0070]步驟4、分發(fā)KS在接收到來自中轉(zhuǎn)KS的攜帶GM所在組的組標識的注冊消息時,確定GM所在組對應的安全策略和密鑰信息(如組I對應的安全策略和密鑰信息),將GM所在組對應的安全策略和密鑰信息下發(fā)給中轉(zhuǎn)KS。
[0071 ] 步驟5、中轉(zhuǎn)KS在本地存儲GM所在組對應的安全策略和密鑰信息,并將GM所在組對應的安全策略和密鑰信息下發(fā)給接入KS。
[0072]步驟6、接入KS在本地存儲GM所在組對應的安全策略和密鑰信息,并將GM所在組對應的安全策略(即GM對應的安全策略)發(fā)送給GM。
[0073]步驟7、GM對收到的安全策略進行驗證,如果這些策略是可接受的(例如安全協(xié)議和加密算法是可支持的),則GM向接入KS根發(fā)送確認消息。
[0074]步驟8、接入KS在收到GM的確認消息后,根據(jù)GM提供的組標識向GM發(fā)送相應組的密鑰信息,由GM利用該密鑰信息對數(shù)據(jù)進行加密和解密。
[0075]本發(fā)明實施例中,如果在分發(fā)KS上配置了 Rekey參數(shù),則分發(fā)KS還會周期性的發(fā)送密鑰更新消息,且該密鑰更新消息中攜帶了最新的SA信息和密鑰信息。其中,在分發(fā)KS本地維護的SA信息老化時間到達之前,分發(fā)KS將通過密鑰更新消息周期性的發(fā)送最新的SA信息和密鑰信息。其中,Rekey參數(shù)具體可以為Rekey加密算法、KEK的生命周期、密鑰更新消息的重傳間隔和重傳次數(shù)等。
[0076]基于此,本發(fā)明實施例中,當分級角色為分發(fā)KS時,分發(fā)KS周期性的向分發(fā)KS的下一級KS發(fā)送密鑰更新消息。當分級角色為中轉(zhuǎn)KS時,中轉(zhuǎn)KS接收來自中轉(zhuǎn)KS的上一級KS的密鑰更新消息,并將密鑰更新消息轉(zhuǎn)發(fā)給中轉(zhuǎn)KS的下一級KS,并利用密鑰更新消息刷新本地的密鑰信息。當分級角色為接入KS時,接入KS接收來自接入KS的上一級KS的密鑰更新消息,并以單播方式將密鑰更新消息轉(zhuǎn)發(fā)給相應組內(nèi)的GM,即接入KS確定密鑰更新消息對應的組,并以單播方式將該密鑰更新消息分別發(fā)送給該組內(nèi)的各GM,并利用密鑰更新消息刷新本地的密鑰信息。GM收到接入KS下發(fā)的密鑰更新消息后,解析密鑰更新消息,更新本地的SA信息(IPsec SA或RekeySA)。
[0077]其中,當中轉(zhuǎn)KS分為多個級別的中轉(zhuǎn)KS時,最高級別的中轉(zhuǎn)KS (即與分發(fā)KS相連的中轉(zhuǎn)KS)接收來自分發(fā)KS的密鑰更新消息,并將密鑰更新消息下發(fā)給下一級別的中轉(zhuǎn)KS0下一級別的中轉(zhuǎn)KS接收來自最高級別的中轉(zhuǎn)KS的密鑰更新消息,并將密鑰更新消息下發(fā)給下一級別的中轉(zhuǎn)KS。以此類推,最低級別的中轉(zhuǎn)KS(即與接入KS相連的中轉(zhuǎn)KS)接收來自上一級別的中轉(zhuǎn)KS的密鑰更新消息,并將密鑰更新消息下發(fā)給接入KS。
[0078]其中,分發(fā)KS在向分發(fā)KS的下一級KS發(fā)送密鑰更新消息時,分發(fā)KS可以通過單播方式將密鑰更新消息發(fā)送給分發(fā)KS的下一級KS,也可以通過組播方式將密鑰更新消息發(fā)送給分發(fā)KS的下一級KS。中轉(zhuǎn)KS在向接入KS發(fā)送密鑰更新消息時,中轉(zhuǎn)KS可以通過單播方式將密鑰更新消息發(fā)送給中轉(zhuǎn)KS的下一級KS,也可以通過組播方式將密鑰更新消息發(fā)送給中轉(zhuǎn)KS的下一級KS。接入KS在向GM發(fā)送密鑰更新消息時,接入KS通過單播方式將密鑰更新消息發(fā)送給GM,而不通過組播方式發(fā)送密鑰更新消息。進一步的,GM收到接入KS下發(fā)的密鑰更新消息后,解析密鑰更新消息,更新本地的SA信息(IPsec SA或RekeySA)。
[0079]本發(fā)明實施例中,密鑰更新消息中攜帶了 SA信息和密鑰信息,該SA信息具體包括但不限于:加密算法、認證算法、密鑰使用期限和其他參數(shù)。密鑰信息具體包括TEK和KEK。SA信息具體為IPsec SA或者Rekey SA。
[0080]本發(fā)明實施例中,分發(fā)KS在發(fā)送密鑰更新消息時,分發(fā)KS還可以使用KEK對該密鑰更新消息進行加密。GM在接收到來自接入KS的密鑰更新消息時,GM還需要使用之前獲得的KEK對該密鑰更新消息進行解密。
[0081 ] 基于上述技術(shù)方案,本發(fā)明實施例中,通過將KS劃分為多個級別的KS,低級的KS向上級的KS注冊,作為上級的KS的客戶端,從而實現(xiàn)分層KS。其中,一級KS為二級KS分發(fā)安全策略和密鑰信息,二級KS將安全策略和密鑰信息分發(fā)給三級KS,以此類推,最低一級KS將安全策略和密鑰信息分發(fā)給GM,GM只需要向最低一級KS注冊,上級KS不關(guān)注GM注冊信息?;诜謱覭S,擴大GDVPN系統(tǒng)的部署規(guī)模,使GDVPN系統(tǒng)的網(wǎng)絡規(guī)模不再受限于KS的CPU性能,⑶VPN系統(tǒng)中能夠部署的GM數(shù)量無限大。
[0082]基于與上述方法同樣的發(fā)明構(gòu)思,本發(fā)明實施例中還提供了一種密鑰服務器KS,應用于包括分發(fā)KS、中轉(zhuǎn)KS、接入KS和組成員GM的系統(tǒng)中,如圖4所示,所述KS具體包括:
[0083]確定模塊11,用于確定所述KS的分級角色;
[0084]處理模塊12,用于當分級角色為分發(fā)KS時,生成安全策略和密鑰信息,并將安全策略和密鑰信息下發(fā)給所述分發(fā)KS的下一級KS ;或者,當分級角色為中轉(zhuǎn)KS時,接收來自所述中轉(zhuǎn)KS的上一級KS的安全策略和密鑰信息,并在本地存儲安全策略和密鑰信息,并將本地存儲的安全策略和密鑰信息下發(fā)給所述中轉(zhuǎn)KS的下一級KS ;或者,當分級角色為接入KS時,接收來自所述接入KS的上一級KS的安全策略和密鑰信息,并在本地存儲安全策略和密鑰信息;以及,確定組成員GM所在組對應的安全策略和密鑰信息,以單播方式將當前確定的安全策略和密鑰信息下發(fā)給所述GM。
[0085]所述處理模塊12,具體用于在將安全策略和密鑰信息下發(fā)給所述分發(fā)KS的下一級KS的過程中,在接收到來自所述分發(fā)KS的下一級KS的未攜帶GM所在組的組標識的注冊消息時,將所有組對應的安全策略和密鑰信息均下發(fā)給所述分發(fā)KS的下一級KS ;或者,在接收到來自所述分發(fā)KS的下一級KS的攜帶GM所在組的組標識的注冊消息時,將所述GM所在組對應的安全策略和密鑰信息下發(fā)給所述分發(fā)KS的下一級KS ;
[0086]所述處理模塊12,具體用于在將本地存儲的安全策略和密鑰信息下發(fā)給所述中轉(zhuǎn)KS的下一級KS的過程中,在接收到來自所述中轉(zhuǎn)KS的下一級KS的未攜帶GM所在組的組標識的注冊消息時,將所有組對應的安全策略和密鑰信息均下發(fā)給所述中轉(zhuǎn)KS的下一級KS ;或者,在接收到來自所述中轉(zhuǎn)KS的下一級KS的攜帶GM所在組的組標識的注冊消息時,將所述GM所在組對應的安全策略和密鑰信息下發(fā)給所述中轉(zhuǎn)KS的下一級KS。
[0087]所述處理模塊12,具體用于當分級角色為接入KS時,在確定GM所在組對應的安全策略和密鑰信息的過程中,在接收到GM向所述接入KS發(fā)送的攜帶GM所在組的組標識的注冊消息后,判斷本地是否存在GM所在組對應的安全策略和密鑰信息;如果存在,則利用本地存儲的安全策略和密鑰信息確定所述GM所在組對應的安全策略和密鑰信息;如果不存在,則向所述接入KS的上一級KS發(fā)送攜帶所述GM所在組的組標識的注冊消息;由所述接入KS的上一級KS確定所述GM所在組對應的安全策略和密鑰信息,并將所述GM所在組對應的安全策略和密鑰信息下發(fā)給所述接入KS ;接收所述接入KS的上一級KS下發(fā)的所述GM所在組對應的安全策略和密鑰信息。
[0088]所述處理模塊12,還用于當分級角色為分發(fā)KS時,如果所述分發(fā)KS上配置了密鑰更新Rekey參數(shù),則周期性的向所述分發(fā)KS的下一級KS發(fā)送密鑰更新消息;當分級角色為中轉(zhuǎn)KS時,接收來自所述中轉(zhuǎn)KS的上一級KS的密鑰更新消息,并將所述密鑰更新消息轉(zhuǎn)發(fā)給所述中轉(zhuǎn)KS的下一級KS,并利用所述密鑰更新消息刷新本地的密鑰信息;當分級角色為接入KS時,接收來自所述接入KS的上一級KS的密鑰更新消息,并以單播方式將所述密鑰更新消息轉(zhuǎn)發(fā)給相應組內(nèi)的GM,并利用所述密鑰更新消息刷新本地的密鑰信息;其中,所述密鑰更新消息中攜帶了安全聯(lián)盟SA信息和密鑰信息。
[0089]所述SA信息具體包括:加密算法、認證算法、密鑰使用期限等;所述密鑰信息具體包括:加密流量的密鑰TEK以及加密密鑰的密鑰KEK。
[0090]其中,本發(fā)明裝置的各個模塊可以集成于一體,也可以分離部署。上述模塊可以合并為一個模塊,也可以進一步拆分成多個子模塊。
[0091]通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述的方法。本領(lǐng)域技術(shù)人員可以理解附圖只是一個優(yōu)選實施例的示意圖,附圖中的模塊或流程并不一定是實施本發(fā)明所必須的。本領(lǐng)域技術(shù)人員可以理解實施例中的裝置中的模塊可以按照實施例描述進行分布于實施例的裝置中,也可以進行相應變化位于不同于本實施例的一個或多個裝置中。上述實施例的模塊可以合并為一個模塊,也可以進一步拆分成多個子模塊。上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。以上公開的僅為本發(fā)明的幾個具體實施例,但是,本發(fā)明并非局限于此,任何本領(lǐng)域的技術(shù)人員能思之的變化都應落入本發(fā)明的保護范圍。
【權(quán)利要求】
1.一種密鑰信息的傳輸方法,其特征在于,所述方法包括以下步驟: 密鑰服務器KS確定本KS的分級角色; 當分級角色為分發(fā)KS時,所述分發(fā)KS生成安全策略和密鑰信息,并將安全策略和密鑰信息下發(fā)給所述分發(fā)KS的下一級KS ; 當分級角色為中轉(zhuǎn)KS時,所述中轉(zhuǎn)KS接收來自所述中轉(zhuǎn)KS的上一級KS的安全策略和密鑰信息,并在本地存儲安全策略和密鑰信息,并將本地存儲的安全策略和密鑰信息下發(fā)給所述中轉(zhuǎn)KS的下一級KS ; 當分級角色為接入KS時,所述接入KS接收來自所述接入KS的上一級KS的安全策略和密鑰信息,并在本地存儲安全策略和密鑰信息; 所述接入KS確定組成員GM所在組對應的安全策略和密鑰信息,以單播方式將當前確定的安全策略和密鑰信息下發(fā)給所述GM。
2.如權(quán)利要求1所述的方法,其特征在于,所述方法進一步包括: 所述分發(fā)KS將安全策略和密鑰信息下發(fā)給所述分發(fā)KS的下一級KS的過程,具體包括:所述分發(fā)KS在接收到來自所述分發(fā)KS的下一級KS的未攜帶GM所在組的組標識的注冊消息時,將所有組對應的安全策略和密鑰信息均下發(fā)給所述分發(fā)KS的下一級KS ;或者,所述分發(fā)KS在接收到來自所述分發(fā)KS的下一級KS的攜帶GM所在組的組標識的注冊消息時,將所述GM所在組對應的安全策略和密鑰信息下發(fā)給所述分發(fā)KS的下一級KS ; 所述中轉(zhuǎn)KS將本地存儲的安全策略和密鑰信息下發(fā)給所述中轉(zhuǎn)KS的下一級KS,具體包括:所述中轉(zhuǎn)KS在接收到來自所述中轉(zhuǎn)KS的下一級KS的未攜帶GM所在組的組標識的注冊消息時,將所有組對應的安全策略和密鑰信息均下發(fā)給所述中轉(zhuǎn)KS的下一級KS ;或者,所述中轉(zhuǎn)KS在接收到來自所述中轉(zhuǎn)KS的下一級KS的攜帶GM所在組的組標識的注冊消息時,將所述GM所在組對應的安全策略和密鑰信息下發(fā)給所述中轉(zhuǎn)KS的下一級KS。
3.如權(quán)利要求2所述的方法,其特征在于,所述接入KS確定組成員GM所在組對應的安全策略和密鑰信息的過程,具體包括: 所述接入KS在接收到GM向本接入KS發(fā)送的攜帶GM所在組的組標識的注冊消息后,判斷本地是否存在GM所在組對應的安全策略和密鑰信息; 如果存在,則所述接入KS利用本地存儲的安全策略和密鑰信息確定所述GM所在組對應的安全策略和密鑰信息; 如果不存在,則所述接入KS向所述接入KS的上一級KS發(fā)送攜帶所述GM所在組的組標識的注冊消息;由所述接入KS的上一級KS確定所述GM所在組對應的安全策略和密鑰信息,并將所述GM所在組對應的安全策略和密鑰信息下發(fā)給所述接入KS ;所述接入KS接收所述接入KS的上一級KS下發(fā)的所述GM所在組對應的安全策略和密鑰信息。
4.如權(quán)利要求1所述的方法,其特征在于,所述方法進一步包括: 當分級角色為分發(fā)KS時,如果所述分發(fā)KS上配置了密鑰更新Rekey參數(shù),則所述分發(fā)KS周期性的向所述分發(fā)KS的下一級KS發(fā)送密鑰更新消息; 當分級角色為中轉(zhuǎn)KS時,所述中轉(zhuǎn)KS接收來自所述中轉(zhuǎn)KS的上一級KS的密鑰更新消息,并將所述密鑰更新消息轉(zhuǎn)發(fā)給所述中轉(zhuǎn)KS的下一級KS,并利用所述密鑰更新消息刷新本地的密鑰信息; 當分級角色為接入KS時,所述接入KS接收來自所述接入KS的上一級KS的密鑰更新消息,并以單播方式將所述密鑰更新消息轉(zhuǎn)發(fā)給相應組內(nèi)的GM,并利用所述密鑰更新消息刷新本地的密鑰信息; 其中,所述密鑰更新消息中攜帶了安全聯(lián)盟SA信息和密鑰信息。
5.如權(quán)利要求1-4任一項所述的方法,其特征在于,所述SA信息具體包括:加密算法、認證算法、密鑰使用期限等;所述密鑰信息具體包括:加密流量的密鑰TEK以及加密密鑰的密鑰KEK。
6.一種密鑰服務器KS,其特征在于,所述KS具體包括: 確定模塊,用于確定所述KS的分級角色; 處理模塊,用于當分級角色為分發(fā)KS時,生成安全策略和密鑰信息,并將安全策略和密鑰信息下發(fā)給所述分發(fā)KS的下一級KS ;或者,當分級角色為中轉(zhuǎn)KS時,接收來自所述中轉(zhuǎn)KS的上一級KS的安全策略和密鑰信息,并在本地存儲安全策略和密鑰信息,并將本地存儲的安全策略和密鑰信息下發(fā)給所述中轉(zhuǎn)KS的下一級KS ;或者,當分級角色為接入KS時,接收來自所述接入KS的上一級KS的安全策略和密鑰信息,并在本地存儲安全策略和密鑰信息;以及,確定組成員GM所在組對應的安全策略和密鑰信息,以單播方式將當前確定的安全策略和密鑰信息下發(fā)給所述GM。
7.如權(quán)利要求6所述的KS,其特征在于, 所述處理模塊,具體用于在將安全策略和密鑰信息下發(fā)給所述分發(fā)KS的下一級KS的過程中,在接收到來自所述分發(fā)KS的下一級KS的未攜帶GM所在組的組標識的注冊消息時,將所有組對應的安全策略和密鑰信息均下發(fā)給所述分發(fā)KS的下一級KS ;或者,在接收到來自所述分發(fā)KS的下一級KS的攜帶GM所在組的組標識的注冊消息時,將所述GM所在組對應的安全策略和密鑰信息下發(fā)給所述分發(fā)KS的下一級KS ; 所述處理模塊,具體用于在將本地存儲的安全策略和密鑰信息下發(fā)給所述中轉(zhuǎn)KS的下一級KS的過程中,在接收到來自所述中轉(zhuǎn)KS的下一級KS的未攜帶GM所在組的組標識的注冊消息時,將所有組對應的安全策略和密鑰信息均下發(fā)給所述中轉(zhuǎn)KS的下一級KS ;或者,在接收到來自所述中轉(zhuǎn)KS的下一級KS的攜帶GM所在組的組標識的注冊消息時,將所述GM所在組對應的安全策略和密鑰信息下發(fā)給所述中轉(zhuǎn)KS的下一級KS。
8.如權(quán)利要求7所述的KS,其特征在于, 所述處理模塊,具體用于當分級角色為接入KS時,在確定GM所在組對應的安全策略和密鑰信息的過程中,在接收到GM向所述接入KS發(fā)送的攜帶GM所在組的組標識的注冊消息后,判斷本地是否存在GM所在組對應的安全策略和密鑰信息;如果存在,則利用本地存儲的安全策略和密鑰信息確定所述GM所在組對應的安全策略和密鑰信息;如果不存在,則向所述接入KS的上一級KS發(fā)送攜帶所述GM所在組的組標識的注冊消息;由所述接入KS的上一級KS確定所述GM所在組對應的安全策略和密鑰信息,并將所述GM所在組對應的安全策略和密鑰信息下發(fā)給所述接入KS ;接收所述接入KS的上一級KS下發(fā)的所述GM所在組對應的安全策略和密鑰信息。
9.如權(quán)利要求6所述的KS,其特征在于, 所述處理模塊,還用于當分級角色為分發(fā)KS時,如果所述分發(fā)KS上配置了密鑰更新Rekey參數(shù),則周期性的向所述分發(fā)KS的下一級KS發(fā)送密鑰更新消息;當分級角色為中轉(zhuǎn)KS時,接收來自所述中轉(zhuǎn)KS的上一級KS的密鑰更新消息,并將所述密鑰更新消息轉(zhuǎn)發(fā)給所述中轉(zhuǎn)KS的下一級KS,并利用所述密鑰更新消息刷新本地的密鑰信息;當分級角色為接AKS時,接收來自所述接入KS的上一級KS的密鑰更新消息,并以單播方式將所述密鑰更新消息轉(zhuǎn)發(fā)給相應組內(nèi)的GM,并利用所述密鑰更新消息刷新本地的密鑰信息;其中,所述密鑰更新消息中攜帶了安全聯(lián)盟SA信息和密鑰信息。
10.如權(quán)利要求6-9任一項所述的KS,其特征在于,所述SA信息具體包括:加密算法、認證算法、密鑰使用期限等;所述密鑰信息具體包括:加密流量的密鑰TEK以及加密密鑰的密鑰KEK。
【文檔編號】H04L29/06GK104270350SQ201410481971
【公開日】2015年1月7日 申請日期:2014年9月19日 優(yōu)先權(quán)日:2014年9月19日
【發(fā)明者】羅忠海 申請人:杭州華三通信技術(shù)有限公司