朱子健,張曉燕,馬志強(qiáng),錢(qián) 淵
(空軍工程大學(xué)電訊工程學(xué)院,西安 710077)
一種支持EPS NAS層安全算法可選的方法
朱子健,張曉燕,馬志強(qiáng),錢(qián) 淵
(空軍工程大學(xué)電訊工程學(xué)院,西安 710077)
為了增強(qiáng)EPS NAS層密鑰推衍算法的靈活性和安全性,提出了一種解決方法,在EPS NAS層安全的鑒權(quán)過(guò)程中,增加UE對(duì)推衍算法的支持能力,在UE與HSS中增加推衍算法列表。該方法使得在認(rèn)證過(guò)程中HSS能夠根據(jù)需要選擇不同的算法推衍密鑰。
網(wǎng)絡(luò)安全;EPS;NAS;安全;認(rèn)證
安全是網(wǎng)絡(luò)設(shè)計(jì)和運(yùn)營(yíng)要考慮的一個(gè)重要方面,網(wǎng)絡(luò)安全主要是確保網(wǎng)絡(luò)資源不被非授權(quán)的用戶(hù)使用、網(wǎng)絡(luò)上的用戶(hù)數(shù)據(jù)不被非法竊聽(tīng)和修改、網(wǎng)絡(luò)上的信令不被非法篡改和竊聽(tīng),針對(duì)這些需求,在EPS系統(tǒng)中,需要對(duì)用戶(hù)的信令、數(shù)據(jù)、用戶(hù)身份等進(jìn)行機(jī)密性保護(hù)。
本文主要是研究準(zhǔn)4G下EPS的NAS層安全。EPS是演進(jìn)的分組系統(tǒng),在該系統(tǒng)中,當(dāng)一個(gè)用戶(hù)需要接入核心網(wǎng)時(shí),需要網(wǎng)絡(luò)對(duì)用戶(hù)的身份進(jìn)行驗(yàn)證,確認(rèn)該用戶(hù)是自己簽約的用戶(hù),而同時(shí)用戶(hù)同樣需要認(rèn)證網(wǎng)絡(luò),以確認(rèn)它接入的網(wǎng)絡(luò)為自己簽約的網(wǎng)絡(luò),該過(guò)程是一個(gè)雙向認(rèn)證的過(guò)程,保證了用戶(hù)和網(wǎng)絡(luò)的合法性,保證了接入安全,該用戶(hù)身份認(rèn)證過(guò)程就是基于認(rèn)證和密鑰協(xié)商過(guò)程完成的,簡(jiǎn)稱(chēng)為AKA過(guò)程,在NAS層完成。NAS層為非接入層,是用戶(hù)(即UE)和核心網(wǎng)的移動(dòng)性管理設(shè)備(MME)間的應(yīng)用層。AKA過(guò)程是認(rèn)證過(guò)程,同時(shí)也是密鑰的協(xié)商過(guò)程,協(xié)商出的密鑰用于后續(xù)NAS消息的加密以及完整性保護(hù)。但目前該協(xié)商過(guò)程只能采用單一的算法,不具備可選擇性,一旦該算法被攻破,將導(dǎo)致密鑰的泄露,無(wú)法保證用戶(hù)與網(wǎng)絡(luò)的安全。再者,如果運(yùn)營(yíng)商想采用自己定制的算法,現(xiàn)有協(xié)議也無(wú)法實(shí)現(xiàn),所以本文針對(duì)該問(wèn)題,提出了一種解決辦法。
AKA 即Authentication and Key Agreement[1],認(rèn)證及密鑰協(xié)商。
EPS AKA的過(guò)程中要產(chǎn)生密鑰材料,用來(lái)構(gòu)造用戶(hù)面加密密鑰、RRC加密密鑰和完整性密鑰,以及NAS加密密鑰和NAS完整性保護(hù)密鑰。
AKA過(guò)程包括兩個(gè)部分,一是MME收到用戶(hù)請(qǐng)求后向HSS請(qǐng)求認(rèn)證數(shù)據(jù)的過(guò)程,一是MME和UE間的互認(rèn)證過(guò)程。
HSS為歸屬域環(huán)境,保存著用戶(hù)的基本信息,MME收到用戶(hù)請(qǐng)求后,向HSS請(qǐng)求認(rèn)證數(shù)據(jù),HSS向MME提供若干個(gè)EPS認(rèn)證向量(RAND,AUTN,XRES,KASME),以執(zhí)行一定數(shù)目的用戶(hù)認(rèn)證。每個(gè)認(rèn)證向量都可用來(lái)認(rèn)證UE。認(rèn)證向量中,RAND為隨機(jī)數(shù),AUTN中包含各需要驗(yàn)證的向量,XRES為期望的響應(yīng)值,KASME為密鑰。整個(gè)過(guò)程如圖1所示。

圖1 從HE中請(qǐng)求認(rèn)證數(shù)據(jù)Fig.1 Distribution of authentication data from HE to MME
HSS收到MME請(qǐng)求認(rèn)證數(shù)據(jù)的消息后,根據(jù)消息中所攜帶的信息生成認(rèn)證向量,生成方法如圖2所示。

圖2 產(chǎn)生認(rèn)證向量Fig.2Generation of authentication vectors
圖2中,f1、f2、f3、f4、f5都是固定算法,算法都存儲(chǔ)在USIM和HSS中;SQN為序列號(hào),是由HSS按照一定原則生成的;AMF為認(rèn)證功能域,AMF的bit 0為分離比特位,設(shè)置為0表示認(rèn)證向量用于非EPS上下文環(huán)境,設(shè)置為1表示用于EPS上下文環(huán)境,MAC為認(rèn)證碼[2]。
HSS給MME發(fā)送認(rèn)證響應(yīng)消息,消息中攜帶了生成的認(rèn)證向量,用于MME與UE間的認(rèn)證過(guò)程。
MME決定對(duì)UE發(fā)起認(rèn)證過(guò)程,在認(rèn)證請(qǐng)求消息中,MME通過(guò)ME發(fā)送給USIM卡一個(gè)隨機(jī)數(shù)RAND和一個(gè)認(rèn)證令牌AUTN用于網(wǎng)絡(luò)認(rèn)證,AUTN包含SQN 、AMF 、MAC[2]。

圖3 EPS用戶(hù)認(rèn)證Fig.3 EPS user authentication
UE接收到認(rèn)證請(qǐng)求消息后,USIM卡首先驗(yàn)證AUTN的正確性,包括驗(yàn)證AMF的分離比特位、驗(yàn)證MAC是否正確、驗(yàn)證SQN是否正確,如圖4所示。

圖4 USIM中用戶(hù)認(rèn)證功能Fig.4 User authentication function in the USIM
USIM卡首先根據(jù)本地存儲(chǔ)的根密鑰K和隨機(jī)數(shù)RAND,由固定算法f5推出AK,通過(guò)與AUTN的高48 bit的異或操作得到SQN,驗(yàn)證SQN的正確性,正確,則繼續(xù)根據(jù)f1算法推算出XMAC,驗(yàn)證該MAC與AUTN中MAC的一致性,如果一致,則生成RES,并在給MME的回復(fù)消息中攜帶該 RES,供MME驗(yàn)證。UE根據(jù)f3、f4算法推出CK/IK。用到的算法如f1、f2、f3、f4、f5算法與HSS中存儲(chǔ)的算法是一致的,是固定的公開(kāi)S的算法[3]。
如果驗(yàn)證失敗,USIM卡將失敗原因通知ME,如果是SQN失敗,USIM計(jì)算一個(gè)新的AUTS,用于重同步過(guò)程。
MME檢查RES是否與XRES相等,如兩者相等則認(rèn)證成功;如兩者不等或者接收到UE發(fā)送的失敗原因消息,則MME對(duì)UE重新進(jìn)行認(rèn)證。
原方法在AKA認(rèn)證過(guò)程中,推衍密鑰CK/IK的算法采用固定的公共算法,這將導(dǎo)致兩方面問(wèn)題的出現(xiàn):
(1)靈活性。目前的密鑰推衍算法屬于公共算法,是必須要支持的,但如果運(yùn)營(yíng)商想采用自己定制的推衍算法,且UE和HSS都支持該定制算法,由于現(xiàn)有協(xié)議中UE的能力不包含對(duì)該算法的支持能力,導(dǎo)致HSS無(wú)法知道UE是否支持定制算法,即使HSS選擇了定制算法,也無(wú)法告訴UE現(xiàn)在所選擇的算法,現(xiàn)有協(xié)議是不支持的;
(2)安全性。現(xiàn)有協(xié)議中只采用單一的公共算法,該公共算法一旦被攻破,則用戶(hù)的安全和網(wǎng)絡(luò)的安全都將受到威脅。
基于以上兩點(diǎn),本文提出一個(gè)解決辦法。在AKA過(guò)程中,UE上報(bào)的能力中增加對(duì)推衍算法支持的能力,HSS選擇了推衍算法,同樣通過(guò)AKA過(guò)程通知UE,這樣,UE和HSS兩側(cè)的算法實(shí)現(xiàn)了可選性和一致性。具體步驟分為6步來(lái)實(shí)現(xiàn):
(1)首先在UE的USIM卡中和HSS中存儲(chǔ)密鑰推演算法列表,并將其進(jìn)行編號(hào),USIM和HSS中必須保持一致。密鑰推衍算法包括公共的密鑰推衍算法和運(yùn)營(yíng)商自己定制的密鑰推衍算法;
(2)UE給MME發(fā)送初始NAS消息,包括初始附著消息、位置更新消息等,消息中攜帶UE的安全能力,在UE的安全能力中增加UE對(duì)推衍算法的支持能力;
(3)MME收到該請(qǐng)求消息后向HSS發(fā)送認(rèn)證數(shù)據(jù)請(qǐng)求消息,同樣將UE對(duì)推衍算法支持能力傳遞給HSS;
(4)HSS根據(jù)本地配置的推衍算法列表以及UE的能力,從中選擇一種密鑰推衍算法,并生成密鑰以及其它認(rèn)證數(shù)據(jù);
(5)HSS將認(rèn)證數(shù)據(jù)傳遞給MME,并將選擇的密鑰推演算法傳遞給MME,選擇的密鑰推衍算法標(biāo)識(shí)HSS采用了哪套推衍算法,且密鑰推衍算法不多,所以只需要幾個(gè)比特位就可以表示了,AMF共16 bit,bit0用于分離比特位,bit8~bit15用于私有功能,bit1~bit7是保留位,所以將選擇的推衍算法用AMF中的保留位承擔(dān);
(6)最后,MME發(fā)起認(rèn)證過(guò)程,在AUTN的AMF中將HSS所選擇的密鑰推衍算法傳遞給UE,UE解析出AMF,獲得該信息,選擇同樣的推衍算法,這就保證了UE和HSS所使用的推衍算法的一致性。
SAE系統(tǒng)安全是LTE系統(tǒng)中必須面對(duì)的問(wèn)題,對(duì)于現(xiàn)有的安全,密鑰推衍算法是固定不變的,但是運(yùn)營(yíng)商如果想使用自己定制的安全算法,則現(xiàn)有的系統(tǒng)安全無(wú)法實(shí)現(xiàn)。本文通過(guò)在HSS和UE中配置密鑰推衍算法列表,包含公共的推衍算法和運(yùn)營(yíng)商自己定制的密鑰推衍算法,在認(rèn)證過(guò)程中,UE將自己對(duì)推衍算法支持的能力上報(bào),HSS根據(jù)UE的能力以及運(yùn)營(yíng)商的配置選擇推衍算法,并在AMF的保留位中將所選的算法傳遞給UE,在一定程度上增加了密鑰推衍算法的靈活性,滿(mǎn)足了運(yùn)營(yíng)商對(duì)密鑰推衍算法可選的需求。該方法是對(duì)目前協(xié)議方法的改進(jìn),能更好地處理密鑰問(wèn)題。但是,該方法對(duì)目前網(wǎng)絡(luò)的改動(dòng)尚需要進(jìn)一步研究。
[1] 3GPP TS21.905,Vocabulary for 3GPP Specifications[S].
[2] 3GPP TS33.401,3GPP System Architecture Evolution(SAE);Security architecture[S].
[3] 3GPP TS33.102,3G Security;Security Architecture[S].
A Method Supporting Algorithm Choice
of EPS NAS Security
ZHU Zi-jian,ZHANG Xiao-yan,MA Zhi-qiang,QIAN Yuan
(Institute of Telecommunication Engineering,Air Force Engineering University,Xi′an 710077,China)
To enhance the flexibility and security of the EPS(Evolved Packet System)NAS(Non-access Stratum)key drive algorithm,a method is proposed.During the EPS NAS authentication,UE′s capability of supporting the key drive algorithm is added,and the key drive algorithm lists are added in UE and HSS.This method makesHSS choose a key drive algorithm based on its requirement during the authentication.
network security;evolved packet system(EPS);non-access stratum(NAS);security;authentication
Scientific Research Foundation for the Doctoral Program(KDYBSJJ08301);The Natural Science Foundation of Shaanxi Province(2010JM8014)
TN918
A
10.3969/j.issn.1001-893x.2011.02.014
1001-893X(2011)02-0072-03
2010-10-13;
2010-12-01
博士啟動(dòng)基金項(xiàng)目(KDYBSJJ08301);陜西省自然科學(xué)基金資助項(xiàng)目(2010JM8014)
朱子?。?979-),男,重慶人,2008年于西安交通大學(xué)獲碩士學(xué)位,現(xiàn)為空軍工程大學(xué)電訊工程學(xué)院講師,主要研究方向?yàn)閷拵Ы粨Q網(wǎng)絡(luò)與視頻圖像信息處理。
ZHU Zi-jian was born in Chonqing,in 1979.He
the M.S.degree from Xi′an Jiaotong University in 2008.He is now a lecturer at Air Force Engineering University.His research interests include broadband switching network and video image information processing.
Email:zhuzijian0304@163.com