專利名稱:一種增強的加密及完整性保護方法
技術領域:
本發明主要應用于通信領域,具體涉及一種用于保障通信中數據機密性和完整性 的安全保護方法。
背景技術:
LTE/SAE是3GPP對UMTS的演進技術,它支持在20MHz頻譜帶寬下提供下行 100Mbps、上行50Mbps的峰值速率。LTE/SAE的網絡由用戶設備、接入網以及核心網組成。網絡中的通信主要包括用戶設備(UE)和接入網(eNB)之間的通信、用戶和核心網 (MME)之間的通信。其中,用戶與核心網的通信要通過eNB間接完成。故LTE/SAE系統的安 全包括兩個方面接入層(AS)和非接入層(NAS)的安全,其中AS層安全又可以細分為AS 信令安全及用戶面(UP)安全。由于UE和eNB是連接空中接口的兩個重要的實體,所以鏈路的安全性主要依賴于 空中接口的特性以及兩個端點的實體的安全性。攻擊者可以在空中接口截獲、竊聽數據包, 還可以在eNB上竊聽用戶層數據包,進而分析用戶數據。eNB與核心網之間的物理鏈路通常 通過以太網進行連接,這種物理上不安全的連接也會帶來安全威脅。攻擊者可以在eNB上 或在eNB到UPE的鏈路上竊聽用戶數據包,分析路由信息、網絡標識和用戶數據。針對通信數據受到的插入、篡改、竊聽等威脅,對通信網絡提出如下安全需求1) AS信令安全主要指RRC的安全機制,包括完整性保護和加密兩個方面。對用 戶和eNB間的信令采取加密和完整性保護。2)用戶面安全主要指對用戶的數據進行加密,即UE和eNB之間的用戶通信數 據,采取加密保護。未考慮完整性保護,一方面用戶數據量很大,若進行完整性保護開銷會 非常大;另一方面,完整性保護的主要目的是防止信息被篡改,這對于大量的用戶數據不是 十分必要。3) NAS信令安全UE和MME間的信令要求進行加密和完整性保護。在進行通信前,各實體間要通過安全模式命令進行算法協商,確定要使用的加密 及完整性算法,隨后各自推演密鑰,進行通信并對信息進行加密和完整性保護。在現有的LTE系統中,支持多套加密和完整性算法,但采用的加密算法及完整性 算法均為128比特的密碼算法。給每個算法都分配有一個4比特長的算法標識UE與eNB應當對RRC信令與UP數據提供EEAO、128-EEA1與128-EEA2三種加密算 法。UE與MME應當對NAS信令提供EEAO、128-EEA1與128-EEA2三種加密算法。注(0000) 2代表二進制算法標識符 加密算法(0000) 2EEA0(0001) 2128-EEA1(0010) 2128-EEA2剩下的標識留作將來使用t
算法描述 不加密
基于SNOW 3G的加密算法 基于AES的加密算法
UE與eNB應當對RRC信令提供128-EIA1、128-EIA2兩種完整性算法。UE與MME 應當對NAS信令提供128-EIA1、128-EIA2兩種完整性算法。算法標識符 完整性算 法算法描述(0000)2EIA0無完整性保護(僅用于緊急呼叫)(0001) 2128-EIA1 基于 SNOW 3G 的完整性算法(0010) 2128-EIA2 基于AES的完整性算法剩下的標識留作將來使用。在現有LTE/SAE系統中,要由存儲在USIM和認證中心的永久密鑰推導出各層加密 密鑰和完整性密鑰,計算過程中首先產生256比特的中間結果,系統只支持密鑰長度為128 的加密及完整性算法,因而在導出K
NASenc、^NASint、Kj^Cenc、Kj^cint、KuPenc 之前,系統對密鑰進行了
截斷處理。現有LTE/SAE系統中采用密鑰長度固定不變的加密及完整性算法,可以簡化算法 管理以及加密和完整性處理的流程。然而其同時帶來一些缺點a)缺乏靈活性,對其它密鑰長度的密碼算法或者同一個算法的其他密鑰長度不支持。b)不能滿足不同條件下的安全強度的需求。譬如在某些高安全要求下,可能希望 系統能夠提供更高安全強度的支持,采用更長的密鑰或者更強的算法是一個好的選擇。
發明內容
本發明的目的在于在現有LTE(long term evolution長期演進)/SAE(system architectureevolution系統架構演進)加密與完整性機制的基礎上提出了一種增強的加 密及完整性保護方法,該方法將對現有LTE/SAE系統作盡可能少的改動,使之能夠靈活支 持不同密碼長度的算法,例如128或者256,能夠滿足不同強度的安全需求。具體方案如下i.密鑰協商層進行算法協商,確定算法標識。為了支持128比特和256比特兩種 密鑰長度,將4位算法標識的最高位用作標識密鑰長度。最高位為0時,密鑰長度為128比 特,最高位為1時,密鑰長度為256比特。ii確定了算法之后,各實體計算加密及完整性密鑰。根據具體算法標識的最高 位確定是導出128比特的截斷密鑰,還是導出256比特的非截斷密鑰;iii.在具體通信過程中,根據協商的算法和導出的密鑰對消息進行加密或者完整 性保護。其中,步驟i、ii、iii必須依次完成。LTE/SAE系統中,將支持多套加密/完整性算法的協商,故需給各算法分配標識。步驟i)中的算法標識具體規定如下a)加密算法算法標識符加密算法密鑰長度算法描述
(0000)2128-EEA0128不加密
(1000)2128-EEA0256不加密
(0001) 2128-EEA1128基于SNOW 3G的加密算法
(1001)2256-EEA1256基于SNOW 3G的加密算法
(0010)2128-EEA2128基于AES的加密算法
(1010)2256-EEA2256基于AES的加密算法
剩下的標識留作將來使用。
b)完整性算法
算法標識符完整性算法密鑰長度算法描述
(0000)2128-EIA0128無完整性保護(僅用于緊急呼叫)
(1000)2128-EIA0256無完整性保護(僅用于緊急呼叫)
(0001) 2128-EIA1128基于SNOW 3G的完整性算法
(1001)2256-EIA1256基于SNOW 3G的完整性算法
(0010)2128-EIA2128基于AES的完整性算法
(1010)2256-EIA2256基于AES的完整性算法
剩下的標識留作將來使用。步驟i)中所述算法協商即由MME和eNB各自選擇算法并向UE確認NAS算法和AS算法。步驟ii)中密鑰導出是指各個網絡實體依據永久密鑰及選定的算法推演加密密 鑰和完整性密鑰。LTE/SAE網絡的密鑰分層架構中包含如下密鑰a) UE和HSS間共享的密鑰-K 存儲在USIM和認證中心AuC的永久密鑰。-CK/IK :AuC和USIM在AKA認證過程中生成的密鑰對。與UMTS相比,CK/IK不應 離開HSS。b) ME和ASME共享的中間密鑰-Kasme :UE和HSS根據CK/IK推演得到的密鑰,用于推演下層密鑰。
c) UE與eNB和MME的共享密鑰-KNASint :UE和MME根據KASME推演得到的密鑰,用于保護UE和MME間NAS流量的完 整性。-KNASenc :UE和MME根據KASME推演得到的密鑰,用于保護UE和MME間NAS流量的保 密性。-KeNB :UE和MME根據KAst(E推演得到的密鑰。KeNB用于推導AS層密鑰。-KUPenc :UE和eNB根據KeNB和加密算法的標識符推演得到,用于保護UE和eNB間 UP的保密性。-KEECint :UE和eNB根據KeNB和完整性算法的標識符推演得到,用于保護UE和eNB 間RCC的完整性。-KEECenc :UE和eNB根據KeNB和加密算法的標識符推演得到,用于保護UE和eNB間 RCC的保密性。Kasme和KeNB的原始長度為256比特,NH長度為256比特,NAS密鑰、用戶平面密鑰 以及RRC密鑰通常都可以獨立的從KASME*KeNB推演得到,他們的長度也是256比特。要根據算法標識指示的密鑰長度,對密鑰進行截斷。如果是128比特密鑰算法,則需要截斷后輸 出128比特密鑰,否則直接輸出256比特密鑰。因為加密及完整性密鑰的計算涉及現有通信系統中的UE、eNB和MME等設備,所以 增強的加密及完整性機制對UE、eNB和MME等設備都有影響。需要在各設備的密鑰計算模 塊增加依據算法標識進行截斷的操作。與現有技術相比,本發明的增強加密及完整性保護方法優點如下1)提高了系統所能支持的安全強度,在128比特密鑰算法的基礎上增加了對256 比特密鑰算法的支持,滿足不同條件下的安全強度的需求。2)提高了安全機制的靈活性。增加對同一個算法的不同密鑰長度版本的支持,并 沒有增加算法模塊的實現代價。3)對現有安全機制協議改動較小,僅在密鑰導出過程中加入一個判斷,根據算法 標識判斷是否對256比特中間結果進行截斷,生成密鑰。
圖1密鑰分層架構圖。圖2新加密及完整性保護方法網絡節點密鑰導出層次圖。圖3新加密及完整性保護方法用戶終端密鑰導出層次圖。
具體實施例方式本發明的一種增強的加密及完整性保護方法,是在LTE/SAE現有機密及完整性保 護機制基礎上的一種改進,原系統中只支持128比特密鑰長度的加密及完整性算法,本發 明使得系統可以靈活支持128比特及256比特密鑰長度的加密及完整性算法。本發明具體方案如下i.密鑰協商層進行算法協商,確定算法標識。為了支持128比特和256比特兩種 密鑰長度,將4位算法標識的最高位用作標識密鑰長度。最高位為0時,密鑰長度為128比 特,最高位為1時,密鑰長度為256比特。ii.在密鑰導出層次中根據具體算法標識的最高位確定是導出128比特的截斷密 鑰,還是導出256比特的非截斷密鑰;iii.在具體通信過程中,根據協商的算法和導出的密鑰對消息進行加密或者完整 性保護。其中,步驟i、ii、iii必須依次完成。步驟i)中的算法標識具體規定如下a)加密算法算法標識符加密算法密鑰長度算法描述
(0000)2128-EEA0128不加密
(1000)2128-EEA0256不加密
(0001) 2128-EEA1128基于SNOW 3G的加密算法
(1001)2256-EEA1256基于SNOW 3G的加密算法
(0010)2128-EEA2128基于AES的加密算法
(10lo),256一EEA2256基于AES的加密算法
算法標識符完整性算法密鑰長度算法描述
(O001),128一E工Al128基于SN()w 3G的完整性算法
(10lo),256一E工A2256基于AES的完整性算法
剩下的標識留作將來使用。
其中,AS層算法選擇如下
(1)初始化AS層安全上下文建立首先每個eNB都已經配置有可用算法列表,包括完整性保護算法列表和加密算法列表。這些列表都根據運營商預定的優先級排列。當安全上下文初始化開始時,eNB收到IVlM[發送來的有關UE的安全能力,eNB根據UE的安全能力選擇可用的(也就是UE支持的)并且優先級最高的算法(包括完整性保護算法和加密算法)。然后eNB通過AS SM(把所選擇的算法通知給UE。其中加密算法用于RRC消息和UP消息的加密,完整性保護用戶RRC消息的完整性保護。
王驗證目標eNB所收到的UE安全能力和自己所存儲的值相同。否則,MM]王將事件記錄入曰志并作出對應的措施,比如報警。
(3)Sl切換發生時,源eNB需要把UE的安全能力通過S卜AP切換請求消息發送給目標eNB。同樣目標eNB根據UE的安全能力選擇可用的(也就是UE支持的)并且優先級最高的算法(包括完整性保護算法和加密算法)。然后所選擇的算法同樣以切換命令消息形式發送回UE,在切換報告消息中,目標eNB需要把接受到的UE安全能力發送給MME,MM]王驗證目標eNB所收到的UE安全能力和自己所存儲的值相同。否則,IVlM[將事件記錄入曰志并作出對應的措施,比如報警。
NAS層算法選擇如下
NAS密鑰是UE和MME根據KASME推導出的密鑰,KNASint用于NAS信令的完整性保 護,KNASenc用于NAS信令的的加密。KeNB是UE和MME根據KASME推導出的密鑰,用于推導RRC密鑰和UP密鑰。MME 通過KDF從本地存儲的Kasme推衍產生KeNB,并按需傳遞給UE的服務eNB。RRC和UP的密鑰通過安全參數規范定義的KDF按需從KeNB推衍產生。UP密鑰KUPenc 用于用戶層的的加密,由UE和eNB根據KeNB和加密算法的標識符推導出。RRC密鑰KRRCint 用于RRC信令的完整性保護,由UE和eNB根據KeNB和完整性算法標識符推導出,KRRCenc用 于RRC信令的加密。這個密鑰由UE和eNB根據KeNB和加密算法的標識符推導出。密鑰等 級會基于新的KeNB推衍新的RRC和UP密鑰,而不允許直接更新RRC和UP密鑰。新KeNB由 某些動態參數(如PCI)和狀態轉變時新的密鑰推衍參數(如NAS上行計數器)產生。在 eNB間切換和狀態轉變過程中,eNB就會產生新的RRC和UP密鑰。Kasme和KeNB的原始長度為256比特,NH長度為256比特,NAS密鑰、用戶平面密鑰 以及RRC密鑰通常都可以獨立的從Kasme和KeNB推演得到,經KDF函數計算數的密鑰均為256 比特。要根據算法標識指示的密鑰長度,對密鑰進行截斷。如果是128比特密鑰算法,則需 要截斷后輸出128比特密鑰,否則直接輸出256比特密鑰。
權利要求
一種增強的加密及完整性保護方法,其步驟為1)預先給網絡通信系統支持的每一個算法分配一個n比特的算法標識,將其中一比特標識算法的密鑰長度;2)密鑰協商層進行算法協商,確定各實體間通信所用算法;其中實體包括用戶設備、接入網和核心網;3)各實體根據協商的算法和永久密鑰計算通信用密鑰,計算過程中要根據算法標識確定導出的密鑰長度;4)通信過程中,根據協商的算法和導出的密鑰對消息進行加密或完整性保護。
2.如權利要求1所述的方法,其特征在于所述系統為LTE/SAE系統;所述n比特的算 法標識為4比特算法標識。
3.如權利要求2所述的方法,其特征在于將所述4比特算法標識中的最高比特標識算 法的密鑰長度。
4.如權利要求1或2所述的方法,其特征在于所述密鑰長度為128比特或256比特; 對于128比特密鑰長度,所述最高比特位設置為0,對于256比特密鑰長度,所述最高比特位 設置為1。
5.如權利要求1或2或3所述的方法,其特征在于所述算法協商為由接入網和核心 網各自選擇算法并向用戶設備確認接入層所用算法和非接入層所用算法。
6.如權利要求5所述的方法,其特征在于所述算法包括加密算法、完整性算法。
7.如權利要求1所述的方法,其特征在于密鑰計算過程中首先產生256比特密鑰,再根 據算法標識輸出256比特密鑰或128比特截斷密鑰。
全文摘要
本發明公開了一種增強的加密及完整性保護方法,屬于網絡通信領域。本發明的方法為1)預先給LTE/SAE系統支持的每一個算法分配一個4比特的算法標識,其中最高比特標識算法的密鑰長度;2)密鑰協商層進行算法協商,確定各實體間通信所用算法;其中實體包括用戶設備、接入網和核心網;3)各實體根據協商的算法和永久密鑰計算通信用密鑰,計算過程中要根據算法標識確定導出的密鑰長度;4)通信過程中,根據協商的算法和導出的密鑰對消息進行加密或完整性保護。與現有技術相比,本發明提高了系統所能支持的算法強度和加密及完整性保護機制的靈活性。
文檔編號H04W12/10GK101860863SQ201010186319
公開日2010年10月13日 申請日期2010年5月21日 優先權日2010年5月21日
發明者馮秀濤, 周春芳 申請人:中國科學院軟件研究所