完整版LTE知识MME的鉴权和加密过程.docx
《完整版LTE知识MME的鉴权和加密过程.docx》由会员分享,可在线阅读,更多相关《完整版LTE知识MME的鉴权和加密过程.docx(10页珍藏版)》请在冰豆网上搜索。
完整版LTE知识MME的鉴权和加密过程
鉴权流程的目的是由HSS向MME提供EPS鉴权向量(RAND,AUTN,
XRES,KASME),并用来对用户进行鉴权。
1)MME发送AuthenticationDataRequest消息给HSS,消息中需要包含
IMSI,网络ID,女口MCC+MNC和网络类型,如E-UTRAN
2)HSS收到MME的请求后,使用authenticationresponse消息将鉴权向
量发送给MME
3)MME向UE发送UserAuthenticationRequest消息,对用户进行鉴权,
消息中包含RAND和AUTN这两个参数
4)UE收到MME发来的请求后,先验证AUTN是否可接受,UE首先通过对比自己计算出来的XMAC和来自网络的MAC(包含在AUTN内)以对网络进行认证,如果不一致,则UE认为这是一个非法的网络。
如果一致,然后计算RES值,并通过UserAuthenticationResponse消息
发送给MME。
MME检查RES和XRES的是否一致,如果一致,则鉴
权通过。
EPS鉴权向量由RAND、AUTN、XRES禾口KASME四元组组成。
EPS
鉴权向量由MME向HSS请求获取。
EPS鉴权四元组:
lRAND(RandomChallenge):
RAND是网络提供给UE的不可预知的随机数,长度为16octets。
lAUTN(AuthenticationToken):
AUTN的作用是提供信息给UE,使
UE可以用它来对网络进行鉴权。
AUTN的长度为17octets
lXRES(ExpectedResponse):
XRES是期望的UE鉴权响应参数。
用于和UE产生的RES(或RES+RES_EXT)进行比较,以决定鉴权是否成功。
XRES的长度为4-16octets。
lKASME是根据CK/IK以及ASME(MME)的PLMNID推演得到的一个根密钥。
KASME长度32octets。
lASME从HSS中接收顶层密钥,在E-UTRAN接入模式下,MME扮演ASME的角色。
lCK:
为加密密钥,CK长度为16octets。
lIK:
完整性保护密钥,长度为16octets。
在鉴权过程中,MME向USIM发送RAND和AUTN,USIM可以决定返回RES还是拒绝鉴权。
1.MME发起AUTHREQ消息,携带鉴权相关信息RAND和AUTN;第一条S1AP_DL_NAS_TRANSdcwniinfcMftSTtanSrpcrt
pproloccllEs
白SEQUENCE
泌—Oxflw—09000000,00000900
cntictiitr.--”reject(Oj—-O(V・
S-varus
m«E-UE-5iAP-iri--o»gj4ir^or263)一1QOQaooQ,OQQOiooi,qiqqoioq.oooiiim
3SEQUENCE
Id.~—>0000000,40001(KO
criticalitir—nejetUO]OS"*""
3Y^tue
eNBUES1M*10:
—0t&5(10))—OOKOO00.01100101
-SEQUENCE
M-一OKI1CM)—-OOOa(m),OOIH1BIO
critical(V—Fej«ct(Q}—Q(T™*
-:
vilua
总nAS-PDU
r-MAS-MESSAGE
'-■■no-u"苧prptffctian-MM-me百$甲
匕.autrentic-abonReque
racial—■o«m—-aaoQ一*
-kar5Bbi(3&n:
Jlier
Sp^lS.6^仙r—r“--亍-“
nA5>k^wgl■記甲ntrligt—na^KSI3
(2)™*™D1O
aulhentK机iOn-parametvr-RAND----(hDAAfSD7DBCEWI43QFS300OD4DCBA6EE5—11C
—(hF战剛籀WD阴CEESE“”曲010<
2.UE收到AUTHREQ消息后回复AUTHRES(携带RES参数)第一条S1AP_UL_NAS_TRANS
uplinkNASTrarisport
--pratocollEs
*SEQUENCE
id:
—qxocd)—-ooooocioo.oooooooo
criticality;一--reject®)—()0******
a-nnME'UE-S1AP-lD:
—0x9141T(607263)—10000000,00001001,01000100,00011
3GEQUENC匚
-id:
-—0X8(8)—-00000000,00001000
criticality:
—r&jectp))——OQ™**
Bvalue
eNB-UE-BIAP-lD:
——Ok65(1(J1)-—00000000,01109101
=1SEQUENCE
id:
—0x1日(26)—000000001Ci0U11010
criticality:
*—rajecKP)——00******
右nAS^PDU
EhNAS-MES8AGE
二no-sscijrity-P'folection-MIV1-meg$gqo
mmsg-body
^-autbisntit5tionRe6porisa
authenticaflori-respoin^e-parameter:
…”OxQCFSOZl42D0C67E7
3.MME收到AUTHRES后,触发安全模式流程,否则返回AUTHREJ
消息。
EPS的安全架构如下:
■".'E
EPS安全架构中有相互独立的分层安全:
MME和UE执行NAS(Non-accessstratum非接入层)信令加密和完整性保护
eNodeB和UE执行RRC信令加密和完整性保护,UP加密
E-UTRAN里的密钥层次架构:
ir..
www,pttcn.n包t
密钥的层次架构里包含以下密钥:
KeNodeB,KNASint,KNASenc,KUPenc,KRRCint和KRRCenc
-KeNodeB是由UE和MME各自根据KASME计算得到的,可用于派生KRRCint、KRRCenc和KUPenc,发生切换时也可用于派生KeNodeB*在初始连接建立时,由UE和MME分别从E-UTRAN的顶层密钥中派生出来的。
KeNodeB*是由UE和源eNodeB根据目的物理小区号、下行频率、KeNodeB(或新NH)派生出来,并在切换后被UE和目的eNodeB用作新的KeNodeB。
NH(NextHop)是用于在UE和eNodeB中派生KeNodeB*。
当安全上下文建立时,NH由UE和MME从KeNodeB派生出来;当发生切换时,从上一个NH派生出来。
-NAS信令的密钥:
-KNASint是用于NAS信令完整性保护的密钥,是由UE和MME各自根据双方协商的完整性算保护算法计算得到的.
-KNASenc是用于NAS信令加密的密钥,是由UE和MME各自根据双方协商的加密算法计算得到的.
-用户数据的密钥:
-KUPenc是专门用于加密用户面数据的密钥,由KeNodeB派生出来,存在于UE和eNodeB中。
-RRC信令的密钥:
-KRRCint是用于保护RRC信令完整性的密钥,由KeNodeB派生出来,存在于UE和eNodeB中。
-KRRCenc是用于加密RRC信令的密钥,由KeNodeB派生出来,存在于UE和eNodeB中。
4UE收到SMC消息后:
-根据SMC消息中的SelectedNASsecurityalgorithms信元计算出
KnasEnc和KnasInt密钥;
-校验信元UEsecuritycapabilities和KSI是否合法,如果合法,则回复
MMESECURITYMODECOMPLETE消息,否则返回SECURITY
MODEREJECT消息。
第二条S1AP_DL_NAS_TRANS
Spare.0x0(0)--□…一…
eiA2:
一*0x1
(1)―**1*™eiA3:
―”0x0(0)-™elA4:
*-0ta0(00——****0***9IA5:
-™CM)0—“nr"eiAb:
—■OMO(P0―******0*
SIA7:
—十+
-i-iiMEtSV-request
spar^:
—0x0(0)一
iMEISV-fequesVvaiue—iMEISV-requBsted(l)---
应用完整性保护和加密特性时,要求UE和MME满足33.401的如下要
求:
-对于NAS信令加密,UE和MME需支持128-EEA0(NULL),128-EEA1
(Snow3G)禾口128-EEA2(AES)。
-对于NAS信令的完整性保护,UE和MME需支持128-EIA1(Snow3G)和128-EIA2(AES)。
-(可选)UE和MME支持128-EIA0(NULL)。
对于未经认证的紧急
呼叫,未要求必须支持,即使MME和eNodeB部署了128-EIA0(NULL)
的配置也将失效。
无线侧的完整性保护和加密保护功能在eNodeB配置,对eNodeB上所
有小区有效。
第二条S1AP_UL_NAS_TRANS
masaulhenbcancr^code™OKAC9S7F(IB(OO卜“1D1CO110J1010101,C1111)11,00001»11number-—QkO(0--OOODODOO
-SED^JENCE
m:
—iwaoin—oooooQoo.Di1qoioo
wiicai蹄一isnorttn—ai*~*
Qvalue
-euTRAl^CGl
pLMNi^htyDkO32203―40000011,Oai00010,00000010
c?
inp;—VMQQpimi1(M«n«lOOP1111Q0W29423CO—HKNQQ1%QQ11Qf00jQQI0QO11.11
二SEQVENCE
Id:
—O)f43(57)--OOGOQOQOjQIQOOOl1cributtr—ignoiafl)—01~^
-旧血g
TIAI
pLMNidervtJty収0苑创3一“VQQQ0U11,001QQQ1Q.QQ00001Q
MC:
f+•00000000.00100011
eNodeB通过SecurityModeCommand通知UE启动完整性保护和加密过
程,UE通过消息中的安全算法计算获取密钥。
此时下行加密已开始。
1)RRC连接建立完成后,MME生成KeNodeB和NH,并向eNodeB发送UE的安全能力和KeNodeB。
安全能力包含UE支持的加密算法和完整性算法。
2)eNodeB将完整性保护算法优先级列表和UE安全能力取交集,选取
优先级最高的完整性算法。
3)eNodeB将加密算法优先级列表和UE安全能力取交集,选取优先级最高的加密算法。
4)eNodeB根据KeNodeB和选取的安全算法来计算出KUPenc,KRRCint和KRRCenc密钥,并为PDCP配置相应的加密参数和完整性参数。
5)eNodeB通过SecurityModeCommand消息向UE发送安全模式参数配置。
SecurityModeCommand消息通过SRB1发送,由eNodeB进行完整性保护,没有加密保护。
6)eNodeB接收到UE反馈的消息.