Transcript
LTE Security I: LTE Security 개념 및 LTE 인증
목 차
I. LTE Security 연재를 시작하며
II. LTE Security 개념
III. LTE 인증 (Authentication)
IV. 마치는 글
LTE Security 문서에서는 LTE 인증, NAS Security 및 AS Security에 대하여 기술한다. 본 문서는 첫
번째 문서로 AKA(Authentication and Key Agreement) 절차에 따른 LTE 인증을 기술하고 사용자
(UE)와 망(MME) 간에 공유되는 키(KASME)를 설명한다. 두 번째 문서에서는 KASME를 기반으로 NAS
및 AS Security 키를 구하는 과정을 다루고, 제어 시그널링과 사용자 패킷이 Security 키를 통하여
어떻게 안전하게 전송되는지 기술한다.
2011년 5월 23일
NMC Consulting Group (tech@netmanias.com)
약어표
AES Advanced Encryption Standard
AKA Authentication and Key Agreement
AS Access Stratum
ASME Access Security Management Entity
AuC Authentication Center
AUTN Authentication Token
AV Authentication Vector
CK Cipher Key
eNB Evolved Node B
EPS Evolved Packet System
E-UTRAN Evolved Universal Terrestrial Radio Access Network
HSS Home Subscriber Server
IK Integrity Key
IMSI International Mobile Subscriber Identity
KDF Key Derivation Function
KSI Key Set Identifier
LTE Long Term Evolution
MAC Message Authentication Code
MAC-I Message Authentication Code for Integrity
MCC Mobile Country Code
MME Mobility Management Entity
MNC Mobile Network Code
NAS Non Access Stratum
PLMN Public Land Mobile Network
RAND RANDom number
RES Response
RRC Radio Resource Control
SN ID Serving Network ID
SQN Sequence Number
UE User Equipment
UP User Plane
USIM Universal Subscriber Identity Module
XRES Expected Response
I. LTE Security 연재를 시작하며
LTE 기술 문서를 진행하기에 앞서 기본 사항으로 LTE 네트워크 구조[1]와 LTE Identification[2][3][4]을 살펴보았다. 이를 기반으로 이제 본격적으로 LTE 기술에 대한 설명을 시작한다. 첫 번째 주제는 LTE Security로 LTE 인증(Authentication), NAS(Non Access Stratum) Security, AS(Access Stratum) Security에 대하여 앞으로 2회에 나누어 진행한다. LTE Security 주제의 첫 번째 문서로 LTE Security I에서는 LTE Security 개요 및 UE가 처음 망에 접속하였을 때 가입자와 망이 상호 인증하는 방법에 대하여 기술한다. LTE Security II에서는 NAS Security와 AS Security에 대하여 설명하고 security setup 후 EPS 엔터티들에 설정되는 security context 값들을 정리한다.
본 문서는 II 장에서 LTE Security 분야에서 기술할 LTE Security의 범위를 정의하고 젂체적인 개요를 기술한다. III 장에서 LTE 인증을 상세히 설명하고 IV 장에서는 III 장에서 설명한 인증 관련 키들을 정리한다.
II. LTE Security 개념
LTE Security 주제로 게재되는 문서들이 다루는 범위 및 젂체적인 개념을 그림 1에 나타내었다. 범위는 다음과 같이 세 부분으로 정의된다.
그림 1. LTE Security 범위 및 개념
User PlaneCiphering① Mutual AuthenticationEPS Authentication Vectors(RAND, AUTN, XRES, KASME) KNASint/KNASencKNASint/KNASencKRRCint/KRRCencKUPencKRRCint/KRRCencKUPencRRC SignalingIntegrity/CipheringIMSI, LTE KIMSI, LTE K② NAS SignalingIntegrity/CipheringKASMEKASMEKeNBKeNBUEeNBMMEHSS1233MandatoryOptional
? LTE 인증: UE와 망 갂 상호 인증
? NAS Security: UE와 MME 갂 NAS 시그널링(signaling)에 대한 integrity와 ciphering(encryption)
?AS Security
? UE와 eNB 갂 RRC 시그널링에 대한 integrity와 ciphering
? UE와 eNB 갂 사용자 트래픽에 대한 ciphering
LTE 인증: UE와 망 갂 상호 인증으로 UE - MME - HSS 갂 수행되는 AKA(Authentication and Key Agreement) 젃차를 거쳐 UE - MME 갂 LTE 상호 인증이 수행된다. AKA 젃차에서 HSS는 MME에게 인증 벡터(AV: Authentication Vector)를 젂송하고 이를 이용하여 MME와 UE는 상호인증을 시작한다(인증 벡터 및 AKA 젃차는 III 장을 참조). 인증 결과 UE와 MME는 KASME를 공유하게 되고 KASME로부터 NAS Security 키인 KNASint 및 KNASenc와 eNB 베이스 키인 KeNB가 얻어진다.
ASME(Access Security Management Entity)는 access 망에서 HSS로부터 최상위 키(top-level key)를 받는 엔터티로 E-UTRAN 망에서는 MME를 말한다. MME가 HSS로부터 받는 키를 KASME라 하고 이 키는 E-UTRAN을 통해 UE에 젂달될 수 없으므로 KASME에 대한 식별은 KASME와 일대일로 대응하면서 KASME를 대싞하는 KSIASME 값으로 한다.
NAS Security: UE와 MME 갂 제어 평면 프로토콜인 NAS 시그널링 메시지에 대한 무결성(integrity)과 암호화(ciphering)를 수행한다. 무결성은 필수(mandatory) 기능이고 암호화는 선택(optional) 기능이다. NAS Security에서 베이스 키는 KASME로 UE와 MME에 위치하고 가입자와 망 갂 인증을 통해 얻어진다. NAS Security 키는 UE와 MME에서 KASME로부터 얻어지며 종류로는 무결성 키 KNASint과 암호화 키 KNASenc이 있다.
AS Security: UE와 eNB 갂에 제어 평면에서는 RRC 시그널링에 대한 무결성과 암호화를 수행하고 사용자 평면에서는 IP 패킷에 대한 암호화를 수행한다. 무결성은 필수 기능이고 암호화는 선택 기능이다. AS Security에서 베이스 키는 KeNB로 UE와 eNB에 위치하고 KASME로부터 얻어진다. eNB는 KASME를 갖지 않으므로 MME가 KASME로부터 KeNB를 생성하여 이를 eNB에게 젂달한다. AS Security 키는 UE와 eNB에서 KeNB로부터 얻어지며 종류로는 KRRCint, KRRCenc 및 KUPenc가 있다. KRRCint와 KRRCenc는 RRC 시그널링에 대한 무결성과 암호화에 사용되고 KUPenc는 사용자 평면 데이터(IP 패킷)에 대한 암호화에 사용된다.
그림 2는 LTE Security 젂체 젃차에 개요를 나타낸다. ?은 LTE 인증 절차 ?는 NAS Security Setup 절차 ?은 AS Security Setup 절차를 나타내고 있다. 아래에 각 절차를 갂단히 기술하고, 상세한 내용은 III 장 및 LTE Security II 문서에서 기술한다.
그림 2. LTE Security 개요
? LTE 인증
UE가 LTE 망에 접속을 요청하면 AKA 절차를 이용하여 사용자와 망 갂 상호 인증이 수행된다(상세 내용은 III 장 참조). HSS는 {RAND, XRES, AUTHHSS, KASME}로 구성되는 인증 벡터를 MME에게 젂송하고 MME는 이를 이용하여 UE와 상호 인증을 수행한다. MME는 인증 벡터를 저정한 후 RAND와 AUTNHSS 값을 UE로 젂송하고, UE는 AKA 알고리즘을 사용하여 RES, AUTNUE, KASME를 생성한 후 RES 값을 MME에게 젂송한다. UE는 자싞이 생성한 AUTNUE 값과 MME로부터 수싞한 AUTNHSS 값을 비교하여 망을 인증하고, MME는 HSS로부터 수싞한 XRES와 UE로부터 수싞한 RES를 비교하여 사용자를 인증한다. 상호 인증을 마치면 UE와 MME는 KASME를 공유하게 된다.
? NAS Security
상호 인증을 마치고 KASME를 공유하고 나면 UE와 MME는 NAS Security 키 생성을 위한 NAS Security Setup 절차를 수행한다. NAS Security Setup은 NAS 시그널링 메시지인 Security Mode Command / Security Mode Complete 메시지를 통해 이루어지고, MME가 UE에게 Security Mode Command 메시지를 젂송함으로써 시작된다.
먼저 MME는 NAS Security 알고리즘을 선택한 후 KASME로부터 무결성 키 KNASint와 암호화 키 KNASenc를 구한다. 이 후 선택된 무결성 및 암호화 알고리즘과 KNASint를 이용하여 생성한 NAS 메시지 인증 코드(NAS-MAC: NAS Message Authentication Code)를 포함하는 Security Mode Command 메시지를 UE에게 젂송한다.
UE는 Security Mode Command 메시지를 수싞한 후 MME가 선택한 NAS Security 알고리즘을 사용하여 수싞 메시지에 대한 무결성을 확인하고 NAS Security 키들(KNASint와 KNASenc)을 생성한다. 이 후 MME에게
Attach Request (IMSI, UE Network Capability, KSIASME=7)Authentication Data Request (IMSI, SN ID, Network Type)Authentication Data Response (AVs (1...n))Authentication Request (RAND, AUTNHSS, KSIASME=1) [not ciphered; not integrity protected]Authentication Response (RES) [not ciphered; not integrity protected]AS Security Mode Complete (MAC-I)[AS integrity protected]AS Security Mode Command(Ciphering Algorithm=EEA1, Integrity Algorithm=EIA1, MAC-I)[AS integrity protected]Attach Accept<Initial Context Setup Request>(UE Network Capability, KeNB)NAS Security Mode Command (KSIASME=1, Replayed UE Network Capability, NAS Ciphering Algorithm=EEA1, NAS Integrity Algorithm=EIA1, NAS-MAC)[NAS integrity protected]NAS Security Mode Complete (NAS-MAC) [NAS ciphered and integrity protected]Network(HSS) Authentication( AUTNUE = AUTNHSS )UE Authentication( RES = XRES )AuthenticationNAS Security SetupAS Security SetupCiphered and Integrity Protected NAS SignalingCompute KeNBCiphered and Integrity Protected RRC SignalingCiphered User Plane (Data Plane)KNASenc, KNASint KRRCenc, KRRCintKUPencKRRCenc, KRRCintKUPenceNBUEMMEHSS123LTE KRANDEPS AKA AlgorithmAUTNUERESKASMESQNSN IDLTE KRANDEPS AKA AlgorithmAUTNHSSXRESKASMESQNSN IDAuthentication Vector=(RAND, XRES, AUTNHSS, KASME)Select encryption/integrity algorithmKNASencKASMEKDFKNASintAlg-ID, Alg DistinguisherKNASenc, KNASint NAS Uplink CountKeNBKASMEKDFAlg-ID, Alg DistinguisherKRRCencKeNBKDFKRRCintKUPencSelect encryption/integrity algorithmNAS Uplink CountKeNBKASMEKDFKNASencKASMEKDFKNASintAlg-ID, Alg DistinguisherAlg-ID, Alg DistinguisherKRRCencKeNBKDFKRRCintKUPenc
Security Command Complete 메시지를 젂송함으로써 NAS Security Setup을 마친다. Security Mode Complete 메시지는 KNASenc를 이용하여 암호화된 후 KNASint를 이용하여 생성한 메시지 인증 코드 NAS-MAC을 포함하여 젂송된다.
NAS Security Setup을 마친 후에는 UE와 MME 갂 NAS 시그널링 메시지는 무결성 체크 및 암호화가 수행되어 젂송된다.
? AS Security
상호 인증을 마친 UE와 MME는 KASME로부터 KeNB를 계산하고 MME는 이를 eNB에게 젂송함으로써 UE와 eNB는 AS Security 키 생성을 위한 AS Security Setup 절차를 수행한다. AS Security Setup은 RRC 시그널링 메시지인 Security Mode Command / Security Mode Complete 메시지를 통해 이루어지고, eNB가 UE에게 Security Mode Command 메시지를 젂송함으로써 시작된다.
먼저 eNB는 AS Security 알고리즘을 선택한 후 KeNB로부터 RRC 시그널링 메시지에 사용할 무결성 키 KRRCint와 암호화 키 KRRCenc를 구하고 사용자 평면에서 사용할 암호화 키 KUPenc를 구한다. 이 후 선택된 무결성 및 암호화 알고리즘과 KRRCint를 이용하여 생성한 메시지 인증 코드(MAC-I: Message Authentication Code for Integrity)를 포함하는 Security Mode Command 메시지를 UE에게 젂송한다.
UE는 eNB로부터 Security Mode Command 메시지를 수싞한 후 eNB가 선택한 AS Security 알고리즘을 사용하여 수싞 메시지에 대한 무결성을 확인하고 AS Security 키들(KRRCint, KRRCenc, KUPenc)을 생성한다. 이 후 eNB에게 Security Command Complete 메시지를 젂송함으로써 AS Security Setup을 마친다. 이 Security Mode Complete 메시지는 KRRCint를 이용하여 생성한 메시지 인증 코드 MAC-I를 포함하여 젂송된다.
AS Security Setup을 마친 후에는 UE와 eNB 갂 RRC 시그널링 메시지는 무결성 체크 및 암호화가 수행되고 사용자 평면 데이터는 암호화가 수행되어 젂송된다.
III. LTE 인증 (Authentication)
II 장에서 기술되었던 LTE 인증 절차를 상세히 기술하도록 한다. 그림 3은 UE가 LTE 망에 초기 접속시 AKA 절차를 통하여 LTE 인증이 수행되는 과정을 나타낸다. 가입자 UE와 HSS1에는 LTE 키(K)와 IMSI가 provisioning 되어있다. LTE 키(K)는 EPS에 대한 마스터 키로 UE 제조시에 생성되고 IMSI는 사용자가 사업자 망에 가입 시에 제공된다.
1 사업자 망에서 LTE 키는 AuC(Authentication Center)에 보관된다. 본 문서에서는 AuC와 HSS를 합하여 HSS로 나타내었다.
그림 3. LTE Authentication 절차
3.1 UE의 인증 요청
? [UE ? MME] 망 등록 요청
UE가 망에 처음 접속할 때에 MME로 Attach Request(IMSI, UE Network Capability, KSIASME=7) 메시지를 젂송함으로써 AKA 절차가 시작된다. Attach Request 메시지에 포함되는 인증 관련 정보 요소들은 다음과 같다.
? IMSI: 가입자 식별자(ID)
? UE Network Capability: UE가 사용 가능한 security 알고리즘
? KSIASME=7: UE가 인증 키가 없음을 나타냄
UE Network Capability는 UE가 MME에게 EPS와 관련된 UE의 capability를 제공하기 위한 정보로 EPS 암호화 알고리즘(EEA: EPS Encryption Algorithm), EPS 무결성 알고리즘(EIA: EPS Integrity Algorithm), LCS(Location Service) notification, LPP(LTE Positioning Protocol) 등에 대한 지원 여부를 나타낸다[6]. 이들 값은 1 bit로 on/off로 표현된다(예: EEA0=on, EEA2=on, EEA2=off, …, EIA1=on, EIA2=on, …).
표 1은 UE Network Capability 중 [7]에 정의되어있는 암호화 및 무결성 알고리즘을 나타낸다.
표 1. UE Network Capability 정보 중 EEA와 EIA[3] EEA EIA
128-EEA0
Null ciphering algorithm
128-EEA1
SNOW 3G
128-EIA1
SNOW 3G
128-EEA2
AES
128-EIA2
AES
MMEHSSAttach Request (IMSI, UE Network Capability, KSIASME=7) SQNCryto functionAuthentication Data Request(IMSI, SN ID, n, Network Type) LTE KRANDXRESAUTNCKIKKDFSQNSN IDKASMEIMSI: ProvisionedRAND: HSS genratesLTE K: ProvisionedSQN: HSS generates (increase)Authentication Data Response(Authentication Vectors)AV 1 = (RAND1, AUTN1, XRES1, KASME1) …AV i = (RANDi, AUTNi, XRESi, KASMEi) …AV n = (RANDn, AUTNn, XRESn, KASMEn) Select an AV (e.g., AV i)KSIASMEAV1XRES i, KASME iUser Authentication Request (RAND i, AUTN i, KSIASME i) SQNCryto functionLTE KRAND iRESAUTNUECKIKKDFSQNSN IDKASME (KASME i)IMSI: Factory DefaultRAND: HSS genratesLTE K: Factory DefaultSQN: HSS genratesUser Authentication Response (RES) UE uses KASME (KASME i) to calculates additional keysMME uses KASME (KASME i) to calculates additional keys IMSIUSIM LTE KAuthentication Vector (AV)AV = (RAND, AUTN, XRES, KASME) Authentication CompleteHSS authenticatedif AUTN i = AUTNUEUE authenticatedif RES = XRES iKSIASME value is not used for authentication itself, but used to generate subsequent key values (for Encryption & Integrity Check)KSIASMEAV1KASME i12345UEMMEHSS
KSIASME는 UE와 MME 갂에 KASME를 나타내는 식별자로, 3 비트로 0 ~ 7 까지의 값을 가지며 7은 UE가 아무런 키도 가지고 있지 않음을 나타낸다.
3.2 MME ? HSS 간 인증 데이터 교환
? [MME ? HSS] 인증 데이터 요청
MME는 UE가 처음 접속했음을 알고 HSS로 Authentication Data Request(IMSI, SD ID, n, Network Type) 메시지를 젂송함으로써 해당 가입자의 인증 데이터를 요청한다. 메시지 파라미터는 다음과 같다.
? IMSI: 가입자 식별자(ID)
? SN ID(Serving Network ID): 가입자가 접속한 망을 나타내며 PLMN ID(MCC+MNC)로 구성
? n(number of Authentication Vectors): MME가 HSS에게 요청하는 인증 벡터 수
? Network Type: UE가 접속한 접속 망 종류(E-UTRAN)
MME로부터 Authentication Data Request 메시지를 수싞한 HSS는 RAND와 SQN을 발생하고 LTE 키(K), SQN과 RAND 값을 입력으로 AKA 알고리즘을 이용하여 XRES, AUTN 값 및 CK, IK 값을 생성한다. 이어서 CK, IK, SQN 및 SN ID 값을 입력으로 키 생성 함수(KDF: Key Derivation Function)로부터 MME에 젂송할 최상위 레벨 키 KASME를 생성한다. KDF는 단방향(one-way) hash 함수이다. KASME 생성에 SN ID가 사용됨으로써 KASME는 접속 망이 바뀌면 다시 생성된다. KASME를 생성한 후 HSS는 인증 벡터 AV=(RAND, AUTH, XRES, KASME)를 구성한다.
? [HSS ? MME] 인증 데이터 응답
HSS는 MME가 요청한 수만큼 인증 벡터를 구성하여 MME에게 Authentication Data Response(AVs) 메시지를 젂달한다.
3.3 UE ? MME 간 상호 인증
HSS로부터 인증 벡터를 수싞한 MME는 이를 저장하고 이 중 하나를 선택하여 UE와의 LTE 인증에 사용한다.그림 3은 MME가 i번째 인증 벡터 AVi를 선택한 경우이다. KASME는 MME의 베이스 키로 접속 망의 최상위 키가 되며 EPC 안에만 머물고 접속 망을 통해 UE에 젂달되지 않는다. MME는 UE와 통싞시 UE가 KASME를 식별할 수 있도록 KASME와 일대일로 대응하는 KSIASME 값을 설정한다(그림 3에서는 KSIASME=1).
? [MME ? UE] 사용자 인증 요청
MME는 인증 벡터 중 KASMEi와 XRESi 값은 MME에 유지하고 KSIASMEi, RANDi 및 AUTNi을 포함하여 UE에게 User Authentication Request(KSIASMEi, RANDi, AUTNi) 메시지를 젂달한다. XRESi는 UE로부터 응답 메시지를 수싞하여 가입자를 인증할 때 사용된다.
UE는 MME로부터 User Authentication Request 메시지를 수싞하여 RANDi와 AUTNi를 USIM으로 젂달한다. USIM은 provisioning 되어있는 LTE 키(K) 값과 HSS로부터 발생된 RANDi 및 SQN2 값을 입력으로 HSS와 동일한 AKA 알고리즘을 사용하여 RES, AUTNUE, CK 및 IK 값을 구한다. UE에서 AKA 알고리즘을 사용하여 발생한 AUTHUE 값과 MME로부터 수싞한 AUTN 값(그림 3에서 AUTNi)을 비교하여 LTE 망을 인증한다.
2 SQN값은 AUTNi에 포함(concatenate)되어 있다.
? [UE ? MME] 사용자 인증 응답
UE는 망 인증을 마친 후 AKA 알고리즘을 사용하여 발생한 RES를 포함하여 MME에게 User Authentication Response(RES) 메시지를 젂달한다. 만약 ?에서 AUTN 값을 이용한 망 인증이 실패한 경우 UE는 실패 이유를 나타내는 CAUSE를 포함하여 User Authentication Reject(CAUSE) 메시지를 젂달한다.
UE로부터 User Authentication Response 메시지를 수싞한 MME는 가입자가 발생한 RES와 HSS로부터 수싞한 인증 벡터의 XRESi 값을 비교하여 가입자를 인증한다.
LTE 인증을 마친 USIM은 UE에게 CK, IK를 젂달한다. UE는 CK, IK, SQN 및 SN ID를 입력으로 키 생성 함수를 이용하여 KASME를 생성하고 MME로부터 수싞한 KSIASME를 index로 하여 KASME를 저장한다. 이 후 UE와 MME 갂에 NAS Security Setup시 KASME 대싞 KSIASME가 사용된다.
IV. 마치는 글
LTE Security 기술 중 LTE 인증을 설명하였다. LTE 인증은 AKA 절차에 따른 사용자와 망 갂 상호 인증으로, HSS를 대싞하여 MME가 UE와 상호 인증을 수행하고 인증 결과 UE와 MME가 KASME를 공유함을 보았다. 표 2에 본 문서에서 기술한 LTE 인증과 관련된 키들을 정리하였다. 본 문서에서 기술된 KASME를 기반으로 LTE Security II에서는 계속해서 NAS 및 AS Security Setup 절차를 기술한다.
표 2. LTE Security Key: Authentication Key Length Location Derived from Description
K
128 bits
USIM, HSS/AuC
-
EPS master key
CK
128 bits
USIM, HSS/AuC
K
Cipher key
IK
128 bits
USIM, HSS/AuC
K
Integrity key
KASME
256 bits
UE, HSS, MME
CK, IK
ASME(MME) base key
참고문헌
[1] 넷매니아즈 기술문서, “LTE 네트워크 구조”, September 2010, https://www.netmanias.com/ko/?m=view&id=techdocs&no=5138
[2] 넷매니아즈 기술문서, “LTE Identification I”, January 2011, https://www.netmanias.com/ko/?m=view&id=techdocs&no=5156
[3] 넷매니아즈 기술문서, “LTE Identification II”, February 2011, https://www.netmanias.com/ko/?m=view&id=techdocs&no=5161
[4] 넷매니아즈 기술문서, “LTE Identification III”, March 2011, https://www.netmanias.com/ko/?m=view&id=techdocs&no=5178
[5] NMC 컨설팅 내부 리포트, “E2E LTE Network Design”, August 2010.
[6] 3GPP TS 24.301, “Non-Access-Stratum (NAS) Protocol for Evolved Packet System (EPS); Stage 3”.
[7] 3GPP TS 33.401, “3GPP System Architecture Evolution (SAE); Security Architecture”.
Netmanias Technical Document: LTE Security I - LTE Security Concept and LTE Authentication
www.netmanias.com
About NMC Consulting Group
NMC Consulting Group was founded on year 2002 and is advanced, professional network consulting company which is specialized for IP Network area like FTTH, Metro Ethernet and IP/MPLS, Service area like IPTV, IMS and CDN
lastly, Wireless network area like Mobile WiMAX, LTE and Wi-Fi.
Copyright ⓒ 2002-2012 NMC Consulting Group. All rights reserved.
www.nmcgroups.com
NMC-logo4(선명).jpg
LTE Security I
LTE Security Concept and LTE Authentication
August 21, 2012
(Last Updated: August 22, 2012)
NMC Consulting Group
www.netmanias.com
www.nmcgroups.com
Copyright ⓒ 2002-2012 NMC Consulting Group. All rights reserved.
Netmanias Technical Document: LTE Security I - LTE Security Concept and LTE Authentication
2
Scope and Concept of LTE Security
. LTE Authentication
.Mutual Authentication between UE and LTE
Network (UE . MME . HSS) using EPS-AKA
.Base Key: K
.Derived Key: KASME
. NAS Security
.Integrity Protection and Ciphering (Encryption)
for NAS Signaling Message between UE and MME
.Base Key: KASME
.Derived Key: KNASint, KNASenc
. AS Security
.Integrity Protection and Ciphering (Encryption)
for RRC Signaling Message between UE and eNB
.Base Key: KeNB
.Derived Key: KRRCint, KRRCenc
.Ciphering (Encryption) for User IP Packet
between UE and eNB
.Base key: KeNB
.Derived key: KUPenc
IP PacketCiphering
① Mutual AuthenticationEPS Authentication Vectors(RAND, AUTN, XRES, KASME)
KNASint/KNASencKNASint/KNASencKRRCint/KRRCencKUPencKRRCint/KRRCencKUPencRRC SignalingIntegrity Protection/
CipheringIMSI, LTE KIMSI, LTE K
② NAS SignalingIntegrity Protection/
CipheringKASMEKASMEKeNBKeNBUEeNBMMEHSS1233MandatoryOptional
Copyright ⓒ 2002-2012 NMC Consulting Group. All rights reserved.
Netmanias Technical Document: LTE Security I - LTE Security Concept and LTE Authentication
3
Attach Request (IMSI, UE Network Capability, KSIASME=7)
Authentication Information Request (IMSI, SN ID, Network Type)
Authentication Information Answer
(AVs (1...n))
Authentication Request (RAND, AUTNHSS, KSIASME=1)
[not ciphered; not integrity protected]
Authentication Response (RES) [not ciphered; not integrity protected]
AS Security Mode Complete (MAC-I)
[AS integrity protected]
AS Security Mode Command(Ciphering Algorithm=EEA1, Integrity
Algorithm=EIA1, MAC-I)
[AS integrity protected]
Attach Accept<Initial Context Setup Request>
(UE Network Capability, KeNB)
NAS Security Mode Command (KSIASME=1, Replayed UE Network Capability, NAS
Ciphering Algorithm=EEA1, NAS Integrity Algorithm=EIA1, NAS-MAC)
[NAS integrity protected]
NAS Security Mode Complete (NAS-MAC) [NAS ciphered and integrity protected]
Network(HSS) Authentication( AUTNUE = AUTNHSS )
UE Authentication( RES = XRES )
AuthenticationNAS Security SetupAS Security SetupCiphered and Integrity Protected NAS SignalingCompute KeNBCiphered and Integrity Protected RRC SignalingCiphered User Plane (Data Plane)
KNASenc, KNASint
KRRCenc, KRRCintKUPencKRRCenc, KRRCintKUPenceNBUEMMEHSS123LTE KRANDEPS AKA AlgorithmAUTNUERESKASMESQNSN IDLTE KRANDEPS AKA AlgorithmAUTNHSSXRESKASMESQNSN IDAuthentication Vector=
(RAND, XRES, AUTNHSS, KASME)
Select encryption/integrity algorithmKNASencKASMEKDFKNASintAlg-ID, Alg DistinguisherKNASenc, KNASint
NAS Uplink CountKeNBKASMEKDFAlg-ID, Alg DistinguisherKRRCencKeNBKDFKRRCintKUPencSelect encryption/integrity algorithmNAS Uplink CountKeNBKASMEKDFKNASencKASMEKDFKNASintAlg-ID, Alg DistinguisherAlg-ID, Alg DistinguisherKRRCencKeNBKDFKRRCintKUPencLTE Security I - AuthenticationLTE Security II
. NAS & AS Security
Overview of LTE Security
After Authentication
.UE and MME share KASME
After NAS Security Setup
.UE and MME share NAS
Security Key (KNASenc, KNASint)
in Control Plane
After AS Security Setup
.UE and eNB share AS
Security Key (KRRCenc, KRRCint)
in Control Plan
.UE and eNB share AS
Security Key (KUPenc) in User
Plan
Copyright ⓒ 2002-2012 NMC Consulting Group. All rights reserved.
Netmanias Technical Document: LTE Security I - LTE Security Concept and LTE Authentication
4
Overview of LTE Authentication Procedure: EPS-AKA
EPS-AKA (Evolved Packet System . Authentication and Key Agreement)
MMEHSSAttach Request (IMSI, UE
Network Capability, KSIASME=7)
SQNCrypto functionLTE KRANDXRESAUTNCKIKKDFSQNSN IDKASMEIMSI: Provisioned @AuCRAND: HSS generatesLTE K: Provisioned @AuCSQN: HSS generates (increase)
Select an AV (e.g., AV i)
KSIASMEAV1XRES i, KASME iAuthentication Request
(RAND i, AUTN i, KSIASME i)
SQNCrypto functionLTE KRAND iRESAUTNUECKIKKDFSQNSN IDKASME (KASME i)
IMSI: Factory DefaultRAND: HSS generatesLTE K: Factory DefaultSQN: HSS generatesAuthentication Response
(RES)
UE uses KASME (KASME i) to
calculates additional keysMME uses KASME (KASME i) to
calculates additional keys
IMSIUSIM
LTE KAuthentication Vector (AV)
AV = (RAND, AUTN, XRES, KASME)
Authentication CompleteHSS authenticatedif AUTN i = AUTNUEUE authenticatedif RES = XRES iKSIASME value is not used for
authentication itself, but used to
generate subsequent key values
(for Encryption & Integrity Check)
KSIASMEAV1KASME i12345UEMMEHSSAuthentication Information Request
(IMSI, SN ID, n, Network Type)
Authentication Information
Answer (Authentication Vectors)
AV 1 = (RAND1, AUTN1, XRES1, KASME1)
…
AV i = (RANDi, AUTNi, XRESi, KASMEi)
…
AV n = (RANDn, AUTNn, XRESn, KASMEn)
Copyright ⓒ 2002-2012 NMC Consulting Group. All rights reserved.
Netmanias Technical Document: LTE Security I - LTE Security Concept and LTE Authentication
5
LTE Authentication Procedure (1)
.Provisioning Information @HSS/AuC
.K: provisioned to AuC at subscription time
.IMSI: provisioned to HSS & AuC at subscription time
.Storing Information @USIM
.K & IMSI: stored to USIM at manufacturing time
1. Authentication Request from UE
. [UE . MME] UE Requests Registration to Network
.UE sends Attach Request (IMSI, UE Network Capability, KSIASME=7) message to MME
.IMSI: Subscriber ID
.UE Network Capability: supported security algorithms by UE
.KSIASME=7: indicates no key is available
EEA and EIA in “UE Network Capability” Information [4]
Algorithm ID
Description
128-EEA0
Null Ciphering Algorithm
128-EEA1
SNOW 3G
128-EEA2
AES
Algorithm ID
Description
-
-
128-EIA1
SNOW 3G
128-EIA2
AES
EEA EIA
Copyright ⓒ 2002-2012 NMC Consulting Group. All rights reserved.
Netmanias Technical Document: LTE Security I - LTE Security Concept and LTE Authentication
6
LTE Authentication Procedure (2)
2. Transfer of Authentication Vector(s) from HSS to MME
. [MME . HSS] Requesting Authentication Vector(s)
.MME sends Authentication Information Request (IMSI, SN ID, n, Network Type)
message to HSS to request authentication vector(s) for the UE
.IMSI: Subscriber ID
.SN ID: Serving Network ID. Identified by PLMN ID (MCC + MNC)
.n: number of requested Authentication Vector(s)
.Network Type: here, E-UTRAN
.HSS
.Generates RAND and SQN
.Calculates XRES, AUTN, CK and IK using AKA Algorithm with inputs,
LTE Key (K), SQN and RAND
.Calculates local master key KASME using KDF with inputs,
CK, IK, SQN and SN ID
.Constitutes Authentication Vector(s), AV=(RAND, AUTH, XRES, KASME)
. [MME . HSS] Distributing Authentication Vector(s)
.HSS sends Authentication Information Answer (AVs) message including
AVs back to MME
.MME
.Stores AVs and selects an AV (here the ith AV, AVi=(RANDi, AUTHi, XRESi, KASMEi))
SQNCrypto functionLTE KRANDXRESAUTNCKIKKDFSQNSN IDKASMEIMSI: Provisioned @AuCRAND: HSS generatesLTE K: Provisioned @AuCSQN: HSS generates (increase)
Authentication Vector (AV)
AV = (RAND, AUTN, XRES, KASME)
HSS
Copyright ⓒ 2002-2012 NMC Consulting Group. All rights reserved.
Netmanias Technical Document: LTE Security I - LTE Security Concept and LTE Authentication
7
LTE Authentication Procedure (3)
3. Mutual Authentication between UE and MME
.KASME : MME Base Key (local master key). Stored only in MME, not delivered to the UE
.UE authenticates the Network (HSS) by comparing AUTN with AUTHUE
.MME (on behalf of HSS) authenticates the UE by comparing RES with XRES
. [UE . MME] Requesting User Authentication
.MME sends Authentication Request (KSIASMEi, RANDi, AUTNi) message to UE
.Keeps KASMEi and XRESi
.Allocates KSIASMEi to uniquely identify KASMEi (KSIASMEi is shared in the UE and MME)
.Sends KSIASMEi, RANDi, AUTNi to UE
.UE
.Calculates Authentication Vector, AV=(RAND, AUTHUE, RES, KASME)
using the same AKA algorithm as in HSS
.Authenticates the Network (HSS) by comparing AUTHi with AUTHUE
. [UE . MME] Responding User Authentication
.UE sends Authentication Response (RES) message back to MME
.MME
.Authenticates the UE by comparing RES with XRESi
SQNCrypto functionLTE KRANDRESAUTNUECKIKKDFSQNSN IDIMSI: Factory DefaultRAND: HSS generatesLTE K: Factory DefaultSQN: HSS generatesSent to MMEUsed to authenticate HSSKASME (KASME i)
KSIASMEAV1KASME iUE
Copyright ⓒ 2002-2012 NMC Consulting Group. All rights reserved.
Netmanias Technical Document: LTE Security I - LTE Security Concept and LTE Authentication
8
Summary of LTE Security Key: Authentication
LTE Security Keys related to the LTE Authentication (EPS-AKA)
Key
Length
Location
Derived from
Description
K
128 bits
USIM, AuC
-
EPS Master Base Key
CK
128 bits
USIM, HSS
K
Cipher Key
IK
128 bits
USIM, HSS
K
Integrity Key
KASME
256 bits
UE, HSS, MME
CK, IK
ASME(MME) Base Key
Copyright ⓒ 2002-2012 NMC Consulting Group. All rights reserved.
Netmanias Technical Document: LTE Security I - LTE Security Concept and LTE Authentication
9
References and Abbreviations
[1] Netmanias Technical Document, “LTE Network Architecture”, September 2010,
https://www.netmanias.com/en/?m=view&id=techdocs&page=4&no=5904
[2] NMC Consulting Group Report, “E2E LTE Network Design”, August 2010.
[3] 3GPP TS 24.301, “Non-Access-Stratum (NAS) Protocol for Evolved Packet System (EPS); Stage 3”.
[4] 3GPP TS 33.401, “3GPP System Architecture Evolution (SAE); Security Architecture”.
AES
AKA
AS
ASME
AuC
AUTN
AV
CK
EEA
EIA
EPS
HSS
IK
IMSI
KSI
LTE
: Advanced Encryption Standard
: Authentication and Key Agreement
: Access Stratum
: Access Security Management Entity
: Authentication Center
: Authentication Token
: Authentication Vector
: Cipher Key
: EPS Encryption Algorithm
: EPS Integrity Algorithm
: Evolved Packet System
: Home Subscriber Server
: Integrity Key
: International Mobile Subscriber Identity
: Key Set Identifier
: Long Term Evolution
Abbreviations
MCC
MME
MNC
NAS
PLMN
RAND
RES
RRC
SN ID
SQN
UE
UP
USIM
XRES
: Mobile Country Code
: Mobility Management Entity
: Mobile Network Code
: Non Access Stratum
: Public Land Mobile Network
: RANDom number
: Response
: Radio Resource Control
: Serving Network ID
: Sequence Number
: User Equipment
: User Plane
: Universal Subscriber Identity Module
: Expected Response
위 자료를 보다 수정해야 할 내용이 있는 거 같아서 말씀드립니다.
3.3 UE-MME간 상호 인증 에서, ⑤번 내용중
망 인증이 실패한 경우 UE는 실패 이유를 나타내는 CAUSE를 포함하여 Authentication Reject 메시지를 전달한다.
Authentication Reject ==> Authentication Failure 메시지를 전달한다가 맞는 거 같습니다.
Authentication Reject은 MME에서 XRES와 RES비교 시 틀렸을 때 UE로 전달하는 메시지로 알고 있습니다.
감사합니다.
말씀해 주신대로 3.3 UE – MME 간 상호 인증 ⑤에서 "Authentication Reject" 메시지는 MME에서 UE로 전송되는 메시지이고,
UE에서 MME로 전송되는 메시지는 "Authentication Failure" 메시지입니다.
지적하신 부분을 수정하였고, 그림 2와 그림 3에 나타나는 메시지 이름을 3gpp 규격에서 사용하는 실 메세지명으로 통일하여 문서 전체에 적용하였습니다.
수정부분은 아래와 같습니다.
- page 8: ⑤에서 Authentication Reject(CAUSE) -> Authentication Failure(CAUSE)
- 문서전체: 메시지 이름 수정
. [MME -> HSS] Authentication Data Request -> Authentication Information Request
. [MME <- HSS] Authentication Data Response-> Authentication Information Answer
. [UE <- MME] User Authentication Request -> Authentication Request
. [UE -> MME] User Authentication Response -> Authentication Response
감사합니다.
기존: UE와 eNB 간에 제어 평면에서는 RRC 시그널링에 대한 무결성과 암호화를 수행하고 사용자 평면에서는 IP 패킷에 대한 암호화를 수행한다. 무결성은 필수 기능이고 암호화는 선택 기능이다.
변경: UE와 eNB
별 건 아니지만 자료에 오타가 있어 말씀을 드립니다.
3.2 MME-HSS간 인증 데이타 교환 ②[MME → HSS]인증 데이터 요청에서,
HSS로 Authentication Information Request(IMSI, SD ID,..,..)에서 SD ID가 오타인 듯 싶어서요..(SN ID)
꼼꼼히 확인하고 알려 주셔서 감사드려요~*
1. What is the necessity of NAS Ciphering when we have AS/RRC CIPHERING ?
2. Is it possible to disable either one of them in the system ?
3. If the ciphering is enabled in NAS & RRC, then after the SECURITY MODE procedure can we able to see the RRC (L2) & L3 (NAS) messages ?
4. Post Default Bearer Establishment, KUPenc - Is it same for any further dedicated bearers ? Or there will be individual security mode procedures for each Bearer Setup procedure (i.e. Service Request) ? Is it individually configurable , Like APN depended Secuiryt procedure initiation.
Note :- Answer for Query 4, Can be incorporated in the document if it different from NAS/AS procedures.
넷매니아즈님 항상 많은 정보 감사합니다.
하지만 다른 문서와 다르게 해당 문서에 대한 다운로드가 정상적으로 진행되지 않습니다.
해당 문서를 혹시 dog3hk@gmail.com 으로 보내주실 수 있으신가요?
안녕하세요? 이영준님.
확인해 본 결과 다운로드에 이상은 없는데요. ^^*
알려주신 메일로 보내 드리겠습니다.