專利名稱:用于使用IPsec密鑰的加密通信的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明通常涉及加密通信系統(tǒng),并且更具體地,涉及使用IPsec 密鑰的加密通信。
背景技術(shù):
加密通信系統(tǒng)是公知的。許多這樣的系統(tǒng)通過在兩個(gè)或多個(gè)用戶 之間共享一個(gè)信息片段提供這些用戶之間的安全通信,該信息片段僅
允許這些用戶了解該共享的信息以正確地解密消息。該共享信息被稱 為加密密鑰變量,或簡(jiǎn)稱為密鑰。將該密鑰加載到通信單元中的加密 設(shè)備中是允許安全通信發(fā)生的基本要求。為了在長(zhǎng)的時(shí)間段上保持安 全性,該密鑰定期改變,典型地每周或每月改變。
加載新的密鑰被稱為密鑰更新,可以通過多種方法完成。通過在 典型的安全信道上將密鑰從中心站點(diǎn)發(fā)射到通信單元,實(shí)現(xiàn)了空中密 鑰更新。通過將線纜從手持設(shè)備(還被稱為密鑰變量加載器,或者簡(jiǎn) 稱為密鑰加載器)連接到通信單元并且將密鑰從密鑰加載器下載到通 信單元中,完成了手動(dòng)密鑰更新。空中密鑰更新耗用數(shù)秒,而手動(dòng)密 鑰更新中牽涉的過程,包括定位單元、連接加載器等,耗用更長(zhǎng)的時(shí) 間。因此,在更新大的通信系統(tǒng)的密鑰時(shí),空中密鑰更新的使用極大 地節(jié)約了時(shí)間并且提高了安全性。隨著系統(tǒng)變得更大,在一個(gè)有數(shù)千 個(gè)通信單元的系統(tǒng)中,對(duì)多個(gè)密鑰的需要是顯而易見的。在安全RF集
群系統(tǒng)中,諸如美國(guó)專利No. 4,882,751中描述的通信系統(tǒng),常??赡?出現(xiàn)的是,大系統(tǒng)中的不同群組要求其自身的密鑰或多個(gè)密鑰可用于 增加內(nèi)部安全性或者使在一個(gè)時(shí)間段內(nèi)重新加載密鑰所必需的次數(shù)最
在還實(shí)施IPsec的情況中,空中密鑰更新必須與IPsec —起工作。 如公知的,在RFC 4301中定義了 IPsec并且業(yè)界將IPsec視為在IP層 上加密和/或鑒權(quán)數(shù)據(jù)業(yè)務(wù)的應(yīng)用。對(duì)于IPsec密鑰管理,存在兩種常 見方法手動(dòng)密鑰和導(dǎo)出密鑰。手動(dòng)密鑰涉及源和目的地的通信單元 中的靜態(tài)對(duì)稱密鑰的使用。導(dǎo)出密鑰涉及使兩個(gè)端點(diǎn)生成共同會(huì)話密 鑰,例如使用Diffe-Helman交換,隨后對(duì)兩個(gè)端點(diǎn)手動(dòng)鑒權(quán)。用于導(dǎo) 出密鑰管理的方法是在公共因特網(wǎng)密鑰交換(IKE)(如RFC 4306中 定義的)指南下定義的。用于密鑰導(dǎo)出和手動(dòng)鑒權(quán)的IKE交換由數(shù)個(gè) 消息組成。由于性能問題,在某些通信系統(tǒng)中,例如在依據(jù)APCO Proj ect 25 (簡(jiǎn)稱為Project 25)的通信系統(tǒng)中進(jìn)行IKE交換是不利的。
對(duì)于Project 25,優(yōu)選地使用靜態(tài)對(duì)稱密鑰并且在空中發(fā)送該靜態(tài) 對(duì)稱密鑰來執(zhí)行密鑰管理。在TIA102.AACA和TIA102.AACB中指定 了這樣的密鑰管理,并且該密鑰管理被稱為空中密鑰更新(OTAR)。 使用OTAR具有許多個(gè)優(yōu)點(diǎn)。例如,OTAR允許定義其中使用新的密 鑰材料的密碼周期。OTAR還識(shí)別索引或密鑰集合的使用以使通信單元 能夠靈活地在舊的密碼周期或新的密碼周期中使用密鑰。使用密鑰集 合使通信單元能夠通過密碼周期轉(zhuǎn)換保持連續(xù)通信,即使通信單元未 完全同步到相同的密碼周期。IPsec手動(dòng)密鑰管理不提供這些益處,例 如通過密鑰周期轉(zhuǎn)換(即,使用密鑰集合)允許連續(xù)操作。Ipsec也未 定義與Project 25 OTAR密鑰管理的配合操作。因此,需要一種使用IPsec密鑰加密通信的新的方法和裝置。
附圖與下文的詳細(xì)描述一起被并入本說明書并且形成本說明書的 一部分,并且用于進(jìn)一步說明包括權(quán)利要求的本發(fā)明的概念的實(shí)施例, 以及解釋這些實(shí)施例的多種原理和優(yōu)點(diǎn),其中獨(dú)立的視圖中的相同的 附圖標(biāo)記表示相同的或功能相似的元件。
圖1是說明根據(jù)本發(fā)明的一些實(shí)施例的加密通信系統(tǒng)的框圖; 圖2A說明了根據(jù)本發(fā)明的一些實(shí)施例的安全策略數(shù)據(jù)庫(kù)(SPD) 的示例;
圖2B說明了根據(jù)本發(fā)明的一些實(shí)施例的安全關(guān)聯(lián)數(shù)據(jù)庫(kù)(SAD) 的示例;
圖2C說明了根據(jù)本發(fā)明的一些實(shí)施例的安全關(guān)聯(lián)-存儲(chǔ)位置號(hào)碼 (SA-SLN)表格的示例;
圖2D說明了根據(jù)本發(fā)明的一些實(shí)施例的存儲(chǔ)位置號(hào)碼-安全參數(shù) 索引(SLN-SPI)表格的示例;
圖2E說明了根據(jù)本發(fā)明的一些實(shí)施例的密鑰存儲(chǔ)數(shù)據(jù)庫(kù)(KSD) 的示例;
圖3說明了根據(jù)本發(fā)明的一些實(shí)施例的OTAR密鑰存儲(chǔ)數(shù)據(jù)庫(kù)的
示例;
圖4是說明根據(jù)本發(fā)明的一些實(shí)施例的發(fā)射機(jī)的操作細(xì)節(jié)的框圖; 圖5說明了根據(jù)本發(fā)明的一些實(shí)施例的封裝安全協(xié)議(ESP)報(bào)頭 格式的示例;
圖6說明了用于傳遞數(shù)據(jù)分組的模式;
圖7是說明根據(jù)本發(fā)明的一些實(shí)施例的接收機(jī)的可替換的操作細(xì) 節(jié)的框圖8是說明根據(jù)本發(fā)明的一些實(shí)施例的發(fā)射機(jī)的高級(jí)操作的框以及
圖9是說明根據(jù)本發(fā)明的一些實(shí)施例的接收機(jī)的高級(jí)操作的框圖。
7本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,出于簡(jiǎn)單和清楚的目的說明了圖中 的元件并且沒有必要依比例繪制。例如,圖中一些元件的尺寸和/或相 對(duì)位置可以相對(duì)于其他元件放大以有助于改善對(duì)本發(fā)明的多種實(shí)施例 的理解。而且,商業(yè)上可行的實(shí)施例中的有用的或必需的普通且公知 的元件常常未被描繪,以便于不會(huì)妨礙對(duì)本發(fā)明的這些多種實(shí)施例的 理解。將進(jìn)一步認(rèn)識(shí)到,可能以特定的出現(xiàn)順序描述或描繪了特定的 動(dòng)作和/或步驟,但是本領(lǐng)域的技術(shù)人員將理解,實(shí)際上并不要求關(guān)于 順序的這樣的確切性。還將理解,此處使用的術(shù)語和表達(dá)具有一般的 意義,除非此處另外闡述的特定的意義,否則該意義符合與相應(yīng)的各 自的調(diào)査研究領(lǐng)域相關(guān)的這類的術(shù)語和表達(dá)。
具體實(shí)施例方式
一般而言,根據(jù)這些不同的實(shí)施例,公開了使用IPsec密鑰的加密通信。
在徹底的審閱和研究下面的說明書之后,這些和其他益處可以變
得更加清楚?,F(xiàn)在參考附圖,并且特別地參考圖l,加密通信系統(tǒng)100 包括密鑰管理設(shè)施(KMF) 102、第一IPsec端點(diǎn)104、和第二 IPsec端 點(diǎn)106,以便KMF 102經(jīng)由第一通信信道108與第一IPsec端點(diǎn)104通 信并且經(jīng)由第二通信信道UO與第二IPsec端點(diǎn)106通信,由此在兩個(gè) IPsec端點(diǎn)104、 106之間建立了 IPsec會(huì)話112。在一個(gè)實(shí)施例中,加 密通信系統(tǒng)IOO利用在通信信道108上的空中密鑰更新(OTAR)來執(zhí) 行密鑰管理。在該示例中,加密通信系統(tǒng)100被稱為OTAR系統(tǒng)。 TIA102.AACA和TIA102.AACB指定了與在OTAR系統(tǒng)中使用的協(xié)議 (被稱為OTAR協(xié)議)相關(guān)的細(xì)節(jié)。
KMF 102是用于存儲(chǔ)和分送與IPsec端點(diǎn)104、 106相關(guān)的數(shù)據(jù)以 協(xié)助加密通信系統(tǒng)100中的加密通信的中心控制點(diǎn)。這樣,KMF 102 包括記錄數(shù)據(jù)的數(shù)據(jù)庫(kù)。在一個(gè)實(shí)施例中,KMF 102存儲(chǔ)的數(shù)據(jù)的類型包括IPsec端點(diǎn)ID和密鑰。KMF還了解諸如存儲(chǔ)位置號(hào)碼(SLN) 的數(shù)據(jù),其中SLN定義了密鑰和安全關(guān)聯(lián)(SA)之間的關(guān)系。在一個(gè) 實(shí)施例中,在TIA 102.AACA中定義了 SLN。具有這樣的數(shù)據(jù)之后, KMF 102隨后跨越通信信道108、 llO將該數(shù)據(jù)傳送到IPsec端點(diǎn)104、 106。
每個(gè)IPsec端點(diǎn)104、 106是能夠使用安全協(xié)議與另一通信設(shè)備安 全通信的通信設(shè)備。安全協(xié)議的示例包括封裝安全協(xié)議(ESP)和鑒權(quán) 報(bào)頭(AH)協(xié)議。IPsec端點(diǎn)104、 106還能夠執(zhí)行加密通信。每個(gè)IPsec 端點(diǎn)104、 106可以包括鍵盤和/或用于錄入指令和/或密鑰的鍵接口。 每個(gè)IPsec端點(diǎn)還可以包括用于從遠(yuǎn)程實(shí)體,例如KMF 102接收指令 和/或密鑰的接口。不論密鑰如何被傳遞到每個(gè)IPsec端點(diǎn)104、 106, 每個(gè)IPsec端點(diǎn)104、 106將信息,例如客戶選擇、密鑰、和相關(guān)聯(lián)的 密鑰信息(例如密鑰ID)存儲(chǔ)在IPsec端點(diǎn)的密鑰存儲(chǔ)數(shù)據(jù)庫(kù)(KSD) 中。
即使IPsec端點(diǎn)104、 106可以是移動(dòng)的、便攜式的、或者固定的 設(shè)備,但是如此處描述的,第一IPsec端點(diǎn)104是移動(dòng)無線臺(tái)或便攜式 無線臺(tái),且第二IPsec端點(diǎn)106是固定設(shè)備。固定設(shè)備的示例是基站、 區(qū)域控制器、數(shù)據(jù)控制器、或者其他具有IPsec功能的基礎(chǔ)設(shè)施設(shè)備。 每個(gè)移動(dòng)IPsec端點(diǎn),例如104,包括用于調(diào)制和解調(diào)去往和來自通信 信道108的數(shù)據(jù)的發(fā)射機(jī)和接收機(jī)。這樣,移動(dòng)IPsec端點(diǎn)的示例是移 動(dòng)無線臺(tái),諸如具有OTAR/多密鑰選擇的Astro Spectra,或者便攜式 無線臺(tái),諸如具有OTAR/多密鑰選擇的Astro XTS3500。所有這些均來 自摩托羅拉公司。
通信信道108允許在KMF 102和第一 IPsec端點(diǎn)104之間進(jìn)行安 全通信。在一個(gè)實(shí)施例中,通信信道108是向移動(dòng)IPsec端點(diǎn)104提供 信令和數(shù)據(jù)的無線射頻(RF)通信信道。如上文提及的,在一個(gè)實(shí)施 例中,在通信信道108上使用OTAR協(xié)議用于執(zhí)行加密通信系統(tǒng)100中的密鑰的密鑰管理。
通信信道110允許在KMF 102和第二IPsec端點(diǎn)106之間進(jìn)行安 全通信。在一個(gè)實(shí)施例中,通信信道llO是與固定IPsec端點(diǎn)106通信 的有線通信信道。這樣,該有線通信信道可以是Ethemet連接。在任何 情況中,第一 IPsec端點(diǎn)104和第二 IPsec端點(diǎn)106通過在它們之間建 立IPsec會(huì)話112安全地通信。如此處使用的,IPsec會(huì)話112被定義 為提供數(shù)據(jù)分組的加密和/或鑒權(quán)的安全通信。
在操作中,通過首先更新IPsec端點(diǎn)104、 106的密鑰,加密通信 系統(tǒng)中的加密通信發(fā)生。在一個(gè)實(shí)施例中,密鑰更新是由例如系統(tǒng)運(yùn) 營(yíng)商執(zhí)行的,該系統(tǒng)運(yùn)營(yíng)商通過通信信道108將密鑰更新消息從KMF 102發(fā)送到第一 IPsec端點(diǎn)104。在一個(gè)實(shí)施例中,密鑰更新消息包括 關(guān)于SLN的密鑰。在一個(gè)實(shí)施例中,密鑰更新消息還包括安全參數(shù)索 引(SPI) 。 KMF 102可以向SPI分配隨機(jī)號(hào)碼,由此接收該SPI的IPsec 端點(diǎn)可以將該SPI關(guān)聯(lián)到SLN。在一個(gè)實(shí)施例中,每個(gè)SLN可以與至 多16個(gè)SPI相關(guān)聯(lián)。在該實(shí)施例中,在TIA 102.AACA中定義了 16 個(gè)密鑰集合,并且該16個(gè)密鑰集合與16個(gè)SPI相關(guān)。
IPsec端點(diǎn)的密鑰更新還可以使用密鑰變量加載器(KVL)執(zhí)行。 在該實(shí)施例中,KVL直接連接到IPsec端點(diǎn)以將密鑰和密鑰信息下載 到IPsec端點(diǎn)中。在其他實(shí)施例中,KVL可以被用作用于向第一IPsec 端點(diǎn)104發(fā)送密鑰更新消息的代理。在可替換的實(shí)施例中,IPsec端點(diǎn) 的密鑰更新還可以由第一IPsec端點(diǎn)104執(zhí)行,該第一IPsec端點(diǎn)104 從其他IPsec端點(diǎn)和/或通信單元(未示出)下載密鑰和密鑰信息。不 論如何執(zhí)行移動(dòng)IPsec端點(diǎn),例如104的密鑰更新,KMF 102還將在密 鑰更新消息中發(fā)現(xiàn)的信息傳送到固定IPsec端點(diǎn),例如106,由此該固 定IPsec端點(diǎn)了解與移動(dòng)IPsec端點(diǎn)安全通信所必需的密鑰。
現(xiàn)在轉(zhuǎn)到圖2,圖2示出了在IPsec端點(diǎn),例如104、 106中發(fā)現(xiàn)的多種存儲(chǔ)元件,其中該存儲(chǔ)元件有助于加密通信系統(tǒng)中的加密通信。
圖2A、 2B、 2C、 2D、和2E中分別示出了安全策略數(shù)據(jù)庫(kù)(SPD)、 安全關(guān)聯(lián)數(shù)據(jù)庫(kù)(SAD)、安全關(guān)聯(lián)-時(shí)隙位置號(hào)碼(SA-SLN)表格、 和存儲(chǔ)位置號(hào)碼-安全參數(shù)索引(SLN-SPI)表格、以及密鑰存儲(chǔ)數(shù)據(jù) 庫(kù)(KSD)。
如圖2A中所示,安全策略數(shù)據(jù)庫(kù)(SPD)允許系統(tǒng)運(yùn)營(yíng)商來指定, 對(duì)于從第一IPsec端點(diǎn)或源,例如104傳遞到第二 IPsec端點(diǎn)或目的地, 例如106的每個(gè)數(shù)據(jù)分組,應(yīng)如何處理該數(shù)據(jù)分組的策略。在一個(gè)實(shí) 施例中,SPD包括關(guān)于源地址、目的地地址、和用于處理加密通信系 統(tǒng)中傳遞的數(shù)據(jù)分組的策略的條目。如圖2A中所示,將根據(jù)被稱為"處 理"的策略來處理具有源地址Al和目的地地址A2的數(shù)據(jù)分組以根據(jù) 圖4和7中示出的過程使用IPsec加密和/或鑒權(quán)來保護(hù)(以及相似地 解除保護(hù))數(shù)據(jù)分組。
對(duì)于加密通信系統(tǒng)100中處理的任何數(shù)據(jù)分組,三個(gè)處理選擇是 可能的"丟棄"、"繞過"IPsec、和使用IPsec的"處理"。"丟棄" 意指數(shù)據(jù)分組被拒絕。數(shù)據(jù)分組可以因?yàn)榇嬖跓o效的源和目的地地址 對(duì)或無效的端口地址而被拒絕。"繞過"IPsec意指在無IPsec保護(hù)的 情況下發(fā)射或接收數(shù)據(jù)分組。例如,如果加密通信不是必需的,則數(shù) 據(jù)分組不針對(duì)加密或鑒權(quán)而被處理。使用IPsec的"處理"意指使用IPsec 加密和/或鑒權(quán),例如根據(jù)圖4 (未受保護(hù)的到保護(hù)的處理)和圖7 (保 護(hù)的到未受保護(hù)的處理)中示出的過程處理數(shù)據(jù)分組。在圖4和7的 示例中,使用IPsec的"處理"意味著執(zhí)行封裝安全協(xié)議(ESP)處理。 盡管沒有示出,但是在另一示例中,使用IPsec的"處理"意味著執(zhí)行 鑒權(quán)報(bào)頭(AH)協(xié)議處理。
確定關(guān)于如何處理加密通信系統(tǒng)中的數(shù)據(jù)分組的策略是通過使用 選擇器或許多個(gè)選擇器來執(zhí)行的。如此處使用的,選擇器是識(shí)別IPsec 端點(diǎn)的信息。選擇器的示例包括IP地址、端口號(hào)碼、和其他相似的識(shí)別信息。在圖2A的實(shí)施例中,源地址,例如源IP地址,和目的地地
址,例如目的地IP地址,是用于確定處理IPsec端點(diǎn)對(duì)之間的數(shù)據(jù)分 組所使用的策略的選擇器。
如圖2B中所示,安全關(guān)聯(lián)數(shù)據(jù)庫(kù)(SAD)為從第一IPsec端點(diǎn)或 源,例如104傳遞到第二IPsec端點(diǎn)或目的地,例如106的每個(gè)數(shù)據(jù)分 組指定安全關(guān)聯(lián)。如此處使用的,安全關(guān)聯(lián)(SA)包括定義第一IPsec 端點(diǎn)和第二IPsec端點(diǎn)之間的安全通信的信息。例如,SA包括針對(duì)給 定的源和目的地實(shí)行"處理"策略,例如ESP處理所必需的SA參數(shù)。 如圖2B中所示,SAD中的每一行被稱為SA。 SA參數(shù)的示例包括源和 目的地的IP地址、源和目的地的端口地址、和模式。在一個(gè)實(shí)施例中, 在RFC 4301中定義了 SA。
SAD還可以包括關(guān)于安全參數(shù)索引(SPI)的條目。SPI可用于指 示密鑰ID以確定KSD中的活躍密鑰的位置。SPI由加密密鑰的密鑰ID 和鑒權(quán)密鑰的密鑰ID的組合組成。如圖2B中所示,對(duì)于安全關(guān)聯(lián)SA1, SPI是加密密鑰的密鑰ID 21和鑒權(quán)密鑰的密鑰ID 42的組合。在一個(gè) 實(shí)施例中,SPI可以是加密密鑰ID和鑒權(quán)密鑰ID的串聯(lián)。
相似地,SAD還可以包括關(guān)于索引標(biāo)注參數(shù)的條目,該索引標(biāo)注 參數(shù)將SAD中的SA與KSD中的密鑰相關(guān)。將SA與密鑰相關(guān)可以通 過諸如SPIS的索引標(biāo)注參數(shù)或SA引用號(hào)碼來執(zhí)行。在一個(gè)實(shí)施例中, 如圖2B中所示,所使用的索引標(biāo)注參數(shù)被稱為次級(jí)安全參數(shù)索引 (SPIS)。在該示例中,對(duì)于具有源地址Al和目的地地址A2的數(shù)據(jù) 分組,安全關(guān)聯(lián)SA1經(jīng)由索引標(biāo)注參數(shù)SPIS,即SLN2和SLN4與KSD 中的密鑰相關(guān)。在該實(shí)施例中,SPIs包括至少一個(gè)SLN,該SLN識(shí)別 密鑰存儲(chǔ)數(shù)據(jù)庫(kù)(KSD)中的條目。該SLN是使來自SAD的SA與 KSD中的密鑰相關(guān)的特定的索引標(biāo)注參數(shù)。在一個(gè)實(shí)施例中,其中實(shí) 施了 ESP處理,SPL包括兩個(gè)SLN。 一個(gè)SLN用于加密而第二個(gè)SLN 用于鑒權(quán)。對(duì)于圖2B的示例,SLN2用于加密而SLN4用于鑒權(quán)。在一個(gè)示例中,其中實(shí)施了AH協(xié)議處理,只有一個(gè)SLN是必需的,例 如用于鑒權(quán)。
在另一實(shí)施例中,將SAD中的SA與KSD中的密鑰相關(guān)也可以通 過使用SA-SLN表格和SLN-SPI表格來確定。如圖2C中所示,SA-SLN 表格將SA與SLN相關(guān)。如圖2D中所示,SLN-SPI表格將例如來自 SA-SLN表格的SLN與SPI相關(guān)。SLN-SPI表格還包含識(shí)別密鑰所必 需的信息。這樣,圖2D中示出了諸如密鑰ID和算法ID (algID)的信 息。即使圖2C和2D中示出的是一個(gè)密鑰的說明,但是可替換的實(shí)施 例考慮利用SA-SLN和SLN-SPI表格來翻譯成KSD中的多個(gè)密鑰,例 如加密和鑒權(quán)密鑰。
不考慮例如經(jīng)由a)圖2B中的SAD或者b)圖2C中的SA-SLN 表格和圖2D中的SLN-SPI表格將SA與KSD中的密鑰相關(guān)的實(shí)施方 式,填充這些表格是通過KMF發(fā)送修改的OTAR密鑰分配消息,以便 OTAR密鑰分配消息向IPsec端點(diǎn)傳遞密鑰來執(zhí)行的。例如,KMF 102 通過向SPI分配隨機(jī)號(hào)碼并且在修改的OTAR密鑰分配消息中將該SPI 發(fā)送到IPsec端點(diǎn),填充圖2D中示出的SLN-SPI表格。在另一示例中, 通過由例如KVL本地配置IPsec端點(diǎn),執(zhí)行對(duì)這些表格的填充。
SAD還可以包括關(guān)于在源,例如104到目的地,例如106之間使 用的模式的條目。模式意指源和目的地之間的IPsec會(huì)話的類型。類型 的示例包括隧道(tunnel)和傳輸(transport)。如圖2B中所示,對(duì)于 具有源地址Al和目的地地址A2的數(shù)據(jù)分組,用于IPsec會(huì)話的模式 是隧道。
如圖2E中所示,密鑰存儲(chǔ)數(shù)據(jù)庫(kù)(KSD)存儲(chǔ)用于數(shù)據(jù)分組的加 密和/或鑒權(quán)所需的密鑰和密鑰信息。在一個(gè)實(shí)施例中,KSD包括由SLN 標(biāo)注索引的密鑰集合。在另一實(shí)施例中,該密鑰集合可由諸如SA引用 號(hào)碼的索引標(biāo)注參數(shù)來標(biāo)注索引。多個(gè)密鑰集合可以由KSD中的單個(gè)索引標(biāo)注參數(shù)來標(biāo)注索引。例如,如圖2E中示出的,SLN!標(biāo)注分別 具有密鑰ID 11和12的密鑰集合1和密鑰集合2的索引。
圖3說明了圖2E的KSD的特定示例。圖3中示出了根據(jù)一些實(shí) 施例在OTAR系統(tǒng)中使用的示例性KSD。在該示例中,KSD由OTAR 協(xié)議定義,例如在TIA 102.AACA和TIA102.AACB中。OTAR KSD中 的每個(gè)密鑰位置,例如302,包含密鑰、密鑰ID、和algID。在該示例 中,SLN IOOO被用于加密,因此由SLN IOOO引用的密鑰位置包含加 密密鑰,并且SLN 1001被用于鑒權(quán),因此由SLN 1001引用的密鑰位 置包含鑒權(quán)密鑰。在Project 25中,對(duì)于給定的SLN,可以存在至多 16個(gè)不同的密鑰集合,盡管圖3中僅示出了兩個(gè)密鑰集合。即使對(duì)于 每個(gè)SLN可以存在至多16個(gè)不同的密鑰集合,但是在任何給定的時(shí)間, 對(duì)于每個(gè)SLN,僅有一個(gè)密鑰集合是活躍的。在任何時(shí)間,通過査找 KSD中的活躍密鑰集合,可以找到該活躍密鑰。例如,如圖3中所示, 通過使用密鑰ID $5678可以在KSD中找到與SLN 1001相關(guān)聯(lián)的用于 鑒權(quán)的活躍密鑰。
在圖3中說明的OTAR KSD的示例中,存在一個(gè)用于加密的密鑰 和一個(gè)用于鑒權(quán)的密鑰。在該實(shí)施例中,這兩個(gè)密鑰不是相同的。然 而,在可替換的實(shí)施例中,KSD對(duì)于每個(gè)SA可以包括單個(gè)主密鑰。 加密密鑰和鑒權(quán)密鑰可從該主密鑰導(dǎo)出。在RFC 3711中定義了用于從 主密鑰導(dǎo)出加密密鑰和鑒權(quán)密鑰的方法。
然而,本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,圖2和3中示出的示例性數(shù) 據(jù)庫(kù)的細(xì)節(jié)僅說明了一些實(shí)施例,并且此處闡述的教授內(nèi)容可應(yīng)用于 多種可替換的設(shè)置。例如,由于所描述的教授內(nèi)容不依賴于索引標(biāo)注 參數(shù)、地址、和/或密鑰位置的特定類型和/或值,因此本教授內(nèi)容可應(yīng) 用于其他實(shí)施例。這樣,使用不同的索引標(biāo)注參數(shù)(多個(gè))、地址、 和/或密鑰位置的類型和/或值的其他可替換實(shí)施方式也被考慮并且涵 蓋于此處描述的多種教授內(nèi)容的范圍內(nèi)。
14現(xiàn)在轉(zhuǎn)到圖8,示出和說明了說明根據(jù)一些實(shí)施例的發(fā)射機(jī)的高級(jí)
操作的框圖。如圖8中所示,發(fā)射機(jī)包括安全處理器802、 SAD 804、 和KSD 806。在操作中,未受保護(hù)的數(shù)據(jù)分組由發(fā)射機(jī)接收,例如由 如圖2A中示出的發(fā)射機(jī)的SPD接收。如此處使用的,未受保護(hù)意味 著該未受保護(hù)的數(shù)據(jù)分組是不具有任何加密或安全的數(shù)據(jù)分組。
如果數(shù)據(jù)分組應(yīng)該被處理,則安全處理器802通過使用選擇器808 搜索SAD 804以選擇安全關(guān)聯(lián)。基于所選擇的安全關(guān)聯(lián),確定索引標(biāo) 注參數(shù)810。安全處理器802使用索引標(biāo)注參數(shù)從KSD 806確定活躍 密鑰位置?;趤碜曰钴S密鑰位置的密鑰812,安全處理器802加密該 未受保護(hù)的數(shù)據(jù)分組。安全處理器802通過使用來自該活躍密鑰位置 的密鑰ID在加密的數(shù)據(jù)分組的報(bào)頭中制定安全參數(shù)索引(SPI)。最 后,發(fā)射具有指示SPI的報(bào)頭的加密的數(shù)據(jù)分組。
現(xiàn)在轉(zhuǎn)到圖4,示出和說明了說明發(fā)射機(jī)的操作的進(jìn)一步細(xì)節(jié)的框 圖,當(dāng)未受保護(hù)的IP數(shù)據(jù)分組需要被處理以變?yōu)槭鼙Wo(hù)的IP數(shù)據(jù)分組 以便它可由IPsec端點(diǎn),例如104發(fā)送時(shí),發(fā)生圖4中示出的處理。為 了執(zhí)行該處理,安全處理器404利用KSD 410、 SAD 408、 SPD 416、 和TX接口 414實(shí)施加密通信系統(tǒng)中的數(shù)據(jù)分組的安全通信。
未受保護(hù)的數(shù)據(jù)分組402進(jìn)入安全策略數(shù)據(jù)庫(kù)(SPD) 416。如前 面討論的,圖2A中示出了 SPD416的一個(gè)實(shí)施例。未受保護(hù)的數(shù)據(jù)分 組402是不具有任何加密或安全保障的數(shù)據(jù)分組。SPD 416使用源地址 和目的地地址作為選擇器,確定用于處理該未受保護(hù)的數(shù)據(jù)分組402 的策略。如果該未受保護(hù)的數(shù)據(jù)分組402應(yīng)該被處理,例如如果該未 受保護(hù)的數(shù)據(jù)分組402的源和目的地地址與源和目的地IPsec端點(diǎn)的地 址匹配,則SPD416將處理或繞過該未受保護(hù)的數(shù)據(jù)分組。否則,SPD 416將丟棄該未受保護(hù)的數(shù)據(jù)分組402。如果該未受保護(hù)的數(shù)據(jù)分組應(yīng) 該被處理,則安全處理器404應(yīng)用安全協(xié)議。安全處理器404可以應(yīng)用ESP或AH協(xié)議。在一個(gè)實(shí)施例中,安全處理器404遵循ESP。在 任何情況中,安全處理器404通過經(jīng)由SAD中的SA將KSD中的索引 標(biāo)注參數(shù),例如如圖3中示出的SLN 1000關(guān)聯(lián)到SLN,來執(zhí)行KSD 410 和SAD 408之間的映射。如上文提及的,在可替換的實(shí)施例中,SPIS 可以被用作索引標(biāo)注參數(shù)來指示KSD中的SLN。
不論使用什么樣的索引標(biāo)注參數(shù),SLN和安全關(guān)聯(lián)之間的映射在 第一IPsec端點(diǎn)104和第二IPsec端點(diǎn)106處是相同的。而且,不論在 第一 IPsec端點(diǎn)104還是在第二 IPsec端點(diǎn)106處,如圖4中所示執(zhí)行 出站處理。例如,如果第一IPsec端點(diǎn)104向第二IPsec端點(diǎn)106發(fā)送 消息,則第一IPsec端點(diǎn)104用作發(fā)射機(jī)而第二IPsec端點(diǎn)106用作接 收機(jī)。相似地,如果第二 IPsec端點(diǎn)106向第一 IPsec端點(diǎn)104發(fā)送消 息,則第二 IPsec端點(diǎn)106用作發(fā)射機(jī)而第一 IPsec端點(diǎn)104用作接收 機(jī)。
安全處理器404還確定406未受保護(hù)的數(shù)據(jù)分組402的SA類型。 在一個(gè)實(shí)施例中,通過將源和目的地IP地址作為用于SAD 408的選擇 器參考SAD 408來執(zhí)行該確定。圖2B中示出了 SAD 408的一個(gè)實(shí)施 例。安全處理器404通過使用所確定的SA從SAD 408中提取索引標(biāo) 注參數(shù)。索引標(biāo)注參數(shù)使安全處理器404 了解SLN。所確定的索引標(biāo) 注參數(shù)可以是次級(jí)SPI或SA引用號(hào)碼。了解SLN使安全處理器404 能夠在KSD410中搜索活躍密鑰位置。
在一個(gè)實(shí)施例中,安全處理器404確定與所確定的SLN相關(guān)聯(lián)的 活躍密鑰位置并且使用在該活躍密鑰位置找到的密鑰和密鑰ID來加密 該未受保護(hù)的數(shù)據(jù)分組402。安全處理器404從來自活躍密鑰位置的鑒 權(quán)密鑰ID和加密密鑰ID形成SPI。在一個(gè)實(shí)施例中,形成SPI包括將 鑒權(quán)密鑰的密鑰ID與加密密鑰的密鑰ID串聯(lián),或反之亦然。所形成 的SPI被添加到數(shù)據(jù)分組的ESP報(bào)頭。圖5說明了 ESP報(bào)頭的示例。該ESP報(bào)頭包括SPI 502、序列號(hào) 碼、有效載荷數(shù)據(jù)、鑒權(quán)數(shù)據(jù)等。報(bào)頭中的SPI 502用于傳遞與活躍密 鑰的密鑰ID相關(guān)的信息。例如,ESP報(bào)頭中的32比特IPsecSPI是16 比特鑒權(quán)密鑰ID和16比特加密密鑰ID的串聯(lián)。
在一個(gè)實(shí)施例中,安全處理器404還可以使用用于鑒權(quán)的活躍密 鑰對(duì)加密的數(shù)據(jù)分組鑒權(quán)以創(chuàng)建受保護(hù)的數(shù)據(jù)分組412。然后將該受保 護(hù)的數(shù)據(jù)分組412轉(zhuǎn)發(fā)到發(fā)射機(jī)接口 414。圖6示出了根據(jù)一些實(shí)施例 的受保護(hù)的數(shù)據(jù)分組412的示例。受保護(hù)的數(shù)據(jù)分組412可被創(chuàng)建用 于傳輸模式或隧道模式。如果該受保護(hù)的數(shù)據(jù)分組被創(chuàng)建用于傳輸模 式,則該受保護(hù)的數(shù)據(jù)分組如數(shù)據(jù)分組602中所示的被加密和鑒權(quán)。 如果該受保護(hù)的數(shù)據(jù)分組被創(chuàng)建用于隧道模式,則該受保護(hù)的數(shù)據(jù)分 組如數(shù)據(jù)分組604中所示的被加密和鑒權(quán)。通過參考SAD中的模式, 例如如圖2B中示出的模式202,確定如何創(chuàng)建受保護(hù)的數(shù)據(jù)分組。繼 續(xù)該示例,對(duì)于具有源地址Al和目的地地址A2的數(shù)據(jù)分組,該數(shù)據(jù) 分組將被創(chuàng)建用于隧道模式。
現(xiàn)在轉(zhuǎn)到圖9,示出和說明了說明根據(jù)一些實(shí)施例的接收機(jī)的高級(jí) 操作的框圖。如圖9中示出的,接收機(jī)包括KSD 906、和SAD 904、 以及安全處理器902。在操作中,受保護(hù)的數(shù)據(jù)分組由接收機(jī)接收,例 如如圖7中示出的接收機(jī)的SA選擇器。如此處使用的,受保護(hù)意味著 該受保護(hù)的數(shù)據(jù)分組是具有加密或一些安全保障的數(shù)據(jù)分組。
安全處理器902處理接收機(jī)中的進(jìn)入數(shù)據(jù)分組。例如,安全處理 器902解除進(jìn)入的數(shù)據(jù)分組的報(bào)頭的封裝以提取SPI?;谒崛〉?SPI,安全處理器902確定密鑰ID或多個(gè)密鑰ID,其中該密鑰ID或多 個(gè)密鑰ID與加密和/或鑒權(quán)密鑰相關(guān)聯(lián)。安全處理器902通過使用所確 定的密鑰ID在KSD 906中搜索密鑰位置(不論該密鑰位置是否是活躍 的),確定處理密鑰或多個(gè)處理密鑰908。安全處理器902還從KSD 906 中提取與密鑰位置相關(guān)聯(lián)的索引標(biāo)注參數(shù)910。如上文所描述的,所提取的索引標(biāo)注參數(shù)可以是SPIs,或者是SA引用號(hào)碼。安全處理器902 通過將所提取的索引標(biāo)注參數(shù)與SAD 904中的索引標(biāo)注參數(shù)匹配,確 定SA912。安全處理器902使用該處理密鑰對(duì)接收的數(shù)據(jù)分組鑒權(quán)和/ 或解密。最后,安全處理器902通過將來自解密的分組的選擇器與所 確定的SA匹配來驗(yàn)證策略。
現(xiàn)在轉(zhuǎn)到圖7,示出和說明了說明接收機(jī)的可替換的操作細(xì)節(jié)的框 圖。當(dāng)受保護(hù)的IP數(shù)據(jù)分組需要被處理以變?yōu)槲词鼙Wo(hù)的IP數(shù)據(jù)分組 以便它可以由IPsec端點(diǎn),例如106接收時(shí),發(fā)生圖7中示出的處理。 為了執(zhí)行該處理,安全處理器706利用SA選擇器704、 SAD 708、 KSD 710、和應(yīng)用接口714,來實(shí)施加密通信系統(tǒng)中的數(shù)據(jù)分組的安全通信。
受保護(hù)的IP數(shù)據(jù)分組702 (例如具有加密或安全)進(jìn)入SA選擇 器704,其中SA選擇器704解除該受保護(hù)的IP數(shù)據(jù)分組702的報(bào)頭的 封裝以提取SPI,例如如圖5中示出的502。在一個(gè)實(shí)施例中,該SPI 包括鑒權(quán)密鑰的密鑰ID與加密密鑰的密鑰ID的串聯(lián),或反之亦然。 基于該SPI, SA選擇器704能夠從SAD 708中選擇SA。
在一個(gè)實(shí)施例中,接收機(jī),例如第二 IPsec端點(diǎn)106的SAD 708 與發(fā)射機(jī),例如第一 IPsec端點(diǎn)104的SAD 408相同。然而,在另一實(shí) 施例中,發(fā)射機(jī)的SAD 708和接收機(jī)的SAD 408可以是不同的,例如 如RFC 4301中描述的。而且,不論在第一 IPsec端點(diǎn)104還是在第二 IPsec端點(diǎn)106處,如圖7中所示執(zhí)行入站處理。例如,如果第一 IPsec 端點(diǎn)104接收來自第二 IPsec端點(diǎn)106的消息,則第一 IPsec端點(diǎn)104 用作接收機(jī)而第二 IPsec端點(diǎn)106用作發(fā)射機(jī)。相似地,如果第二 IPsec 端點(diǎn)106接收來自第一 IPsec端點(diǎn)104的消息,則第二 IPsec端點(diǎn)106 用作接收機(jī)而第一 IPsec端點(diǎn)104用作發(fā)射機(jī)。
SA選擇器704使用所選擇的SA從SAD 708中提取索引標(biāo)注參數(shù), 諸如次級(jí)SPI (SPIS)或SA引用號(hào)碼。如上文所提及的,索引標(biāo)注參數(shù)包括將SAD中的SA與KSD 710中的密鑰相關(guān)所必需的信息。如上 文所提及的,索引標(biāo)注參數(shù)和SPI被用來確定KSD 710中的密鑰位置 (不論活躍與否)。在另一實(shí)施例中,從SPI導(dǎo)出的密鑰ID和/或algID 與索引標(biāo)注參數(shù)一起被用于在KSD 710中搜索密鑰位置。 一旦確定了 KSD710中的密鑰位置,即由SA選擇器704提取諸如符合ESP或AH 協(xié)議的用于鑒權(quán)和加密的密鑰。SA選擇器704隨后將該受保護(hù)的IP 數(shù)據(jù)分組、該SA和用于該受保護(hù)的IP數(shù)據(jù)分組的密鑰傳遞到安全處 理器706。
安全處理器706使用該用于鑒權(quán)和加密的密鑰來處理受保護(hù)的IP 數(shù)據(jù)分組以產(chǎn)生未受保護(hù)的IP數(shù)據(jù)分組712。在一個(gè)實(shí)施例中,安全 處理器706首先對(duì)該受保護(hù)的IP數(shù)據(jù)分組鑒權(quán)并且隨后將其解密。由 于該受保護(hù)的IP數(shù)據(jù)分組702已被解密,因此安全處理器706能夠通 過驗(yàn)證安全策略確認(rèn)該數(shù)據(jù)分組中的IP地址是否適于進(jìn)一步處理。在 一個(gè)實(shí)施例中,來自未受保護(hù)的數(shù)據(jù)分組712的選擇器被用來確定是 否應(yīng)進(jìn)一步處理未受保護(hù)的IP數(shù)據(jù)分組712,例如將其傳遞到應(yīng)用接 口 714。如果選擇器與所選擇的SA匹配,則該未受保護(hù)的IP數(shù)據(jù)分組 712被進(jìn)一步處理并且轉(zhuǎn)發(fā)到應(yīng)用接口 714。如果選擇器不與SA匹配, 則丟棄該IP數(shù)據(jù)分組。
本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,在不偏離本發(fā)明的精神和范圍的前 提下,可以針對(duì)上文描述的實(shí)施例進(jìn)行廣泛的多種修改、替換、和組 合,并且該修改、替換、和組合應(yīng)被視為涵蓋于本發(fā)明的概念的范圍 內(nèi)。
權(quán)利要求
1. 一種用于加密通信的方法,包括通過使用選擇器從安全關(guān)聯(lián)數(shù)據(jù)庫(kù)(SAD)中選擇安全關(guān)聯(lián)(SA);從所述SA確定索引標(biāo)注參數(shù);使用所述索引標(biāo)注參數(shù)從密鑰存儲(chǔ)數(shù)據(jù)庫(kù)(KSD)確定活躍密鑰位置;使用來自所述活躍密鑰位置的密鑰對(duì)數(shù)據(jù)分組加密;通過使用來自所述活躍密鑰位置的密鑰ID在所加密的數(shù)據(jù)分組的報(bào)頭中形成安全參數(shù)索引(SPI);以及發(fā)射具有指示所述SPI的報(bào)頭的所加密的數(shù)據(jù)分組。
2. 如權(quán)利要求1所述的方法,進(jìn)一步包括至少接收下述之一a) 密鑰,或者b)來自密鑰管理設(shè)施(KMF)的SPI。
3. 如權(quán)利要求l所述的方法,其中所述SPI是隨機(jī)號(hào)碼。
4. 如權(quán)利要求l所述的方法,其中所述選擇器至少包括下述之一 IP地址、端口號(hào)碼、或者IP地址范圍。
5. 如權(quán)利要求l所述的方法,其中所述索引標(biāo)注參數(shù)至少是下述 之一次級(jí)安全參數(shù)索引(SPIS)或SA引用號(hào)碼。
6. 如權(quán)利要求1所述的方法,進(jìn)一步包括在選擇SA之前使用數(shù) 據(jù)分組的源地址和目的地地址從安全策略數(shù)據(jù)庫(kù)(SPD)確定策略。
7. 如權(quán)利要求l所述的方法,其中形成SPI包括將來自所述活躍 密鑰位置的鑒權(quán)密鑰的密鑰ID和加密密鑰的密鑰ID串聯(lián)。
8. 如權(quán)利要求l所述的方法,進(jìn)一步包括在發(fā)射所加密的數(shù)據(jù)分組之前對(duì)所加密的數(shù)據(jù)分組鑒權(quán)。
9. 如權(quán)利要求l所述的方法,其中所述密鑰是用于導(dǎo)出加密密鑰 和鑒權(quán)密鑰的主密鑰。
10. —種用于對(duì)加密通信解密的方法,包括使用來自進(jìn)入的數(shù)據(jù)分組的安全參數(shù)索引(SPI)從安全關(guān)聯(lián)數(shù)據(jù) 庫(kù)(SAD)中選擇安全關(guān)聯(lián)(SA);提取與所選擇的SA鏈接的索引標(biāo)注參數(shù);通過使用所述索引標(biāo)注參數(shù)和從所述SPI導(dǎo)出的密鑰ID在密鑰存儲(chǔ)數(shù)據(jù)庫(kù)(KSD)中搜索密鑰位置來提取處理密鑰;使用所述處理密鑰對(duì)所述進(jìn)入的數(shù)據(jù)分組解密;以及 通過將所解密的數(shù)據(jù)分組中的選擇器與所選擇的SA匹配來驗(yàn)證策略。
11. 如權(quán)利要求IO所述的方法,進(jìn)一步包括至少接收下述之一-a)密鑰,或者b)來自密鑰管理設(shè)施(KMF)的SPI。
12. 如權(quán)利要求IO所述的方法,其中所述選擇器至少包括下述之 一IP地址、端口號(hào)碼、或者IP地址范圍。
13. 如權(quán)利要求IO所述的方法,其中所述索引標(biāo)注參數(shù)至少是下 述之一次級(jí)安全參數(shù)索引(SPIs)或SA引用號(hào)碼。
14. 如權(quán)利要求IO所述的方法,其中所述SPI包括來自所述密鑰 位置的鑒權(quán)密鑰的密鑰ID和加密密鑰的密鑰ID的串聯(lián)。
15. 如權(quán)利要求IO所述的方法,進(jìn)一步包括在解密之前使用所述 處理密鑰對(duì)所述進(jìn)入的數(shù)據(jù)分組鑒權(quán)。
16. —種用于對(duì)加密通信解密的方法,包括 提取進(jìn)入的數(shù)據(jù)分組的報(bào)頭中的安全參數(shù)索引(SPI); 從所提取的SPI確定密鑰ID;通過使用所確定的密鑰ID在密鑰存儲(chǔ)數(shù)據(jù)庫(kù)(KSD)中搜索密鑰 位置來確定處理密鑰;提取與所述密鑰位置相關(guān)聯(lián)的索引標(biāo)注參數(shù);通過將所述索引標(biāo)注參數(shù)與安全關(guān)聯(lián)數(shù)據(jù)庫(kù)(SAD)中的索引標(biāo) 注參數(shù)匹配來確定安全關(guān)聯(lián)(SA);使用所述處理密鑰對(duì)所述進(jìn)入的數(shù)據(jù)分組解密;通過將所解密的數(shù)據(jù)分組中的選擇器與所述安全關(guān)聯(lián)匹配來驗(yàn)證 策略。
17. 如權(quán)利要求16所述的方法,其中所述索引標(biāo)注參數(shù)至少是下 述之一次級(jí)安全參數(shù)索引(SPIS)或SA引用號(hào)碼。
18. 如權(quán)利要求16所述的方法,進(jìn)一步包括至少接收下述之一 a)密鑰,或者b)來自密鑰管理設(shè)施(KMF)的SPI。
19. 如權(quán)利要求16所述的方法,其中所述處理密鑰包括用于導(dǎo)出 鑒權(quán)密鑰和加密密鑰的主密鑰。
20. 如權(quán)利要求16所述的方法,其中所述選擇器包括至少下述之 一IP地址、端口號(hào)碼、或者IP地址范圍。
全文摘要
公開了一種用于加密通信的方法。第一IPsec端點(diǎn)通過使用選擇器從安全關(guān)聯(lián)數(shù)據(jù)庫(kù)(SAD)中選擇安全關(guān)聯(lián)(SA)并且隨后從SA中提取索引標(biāo)注參數(shù)。該索引標(biāo)注參數(shù)被用來從密鑰存儲(chǔ)數(shù)據(jù)庫(kù)(KSD)確定活躍密鑰位置。然后使用來自該活躍密鑰位置的密鑰對(duì)數(shù)據(jù)分組加密。該第一IPsec端點(diǎn)還通過使用來自該活躍密鑰位置的密鑰ID在該數(shù)據(jù)分組的報(bào)頭中形成安全參數(shù)索引(SPI)并且向第二IPsec端點(diǎn)發(fā)射具有指示該SPI的報(bào)頭的加密的數(shù)據(jù)分組。
文檔編號(hào)H04L9/00GK101473588SQ200780022970
公開日2009年7月1日 申請(qǐng)日期2007年6月20日 優(yōu)先權(quán)日2006年6月20日
發(fā)明者克里斯·A·克魯格爾, 托馬斯·J·塞內(nèi)斯, 拉里·默里爾, 蒂莫西·G·伍德沃德, 邁克爾·W·布賴特, 迪彭德拉·M·喬杜里 申請(qǐng)人:摩托羅拉公司