Key Derivation in EPS
KDF= (derived key of length kLen) <-- (secret value, [OtherInfo])
KDF= HMAC-SHA-256 (Key, S)
Where S= FC || P0 || L0 || P1 || L1 || P2 || L2 || P3 || L3 ||... || Pn || Ln
FC=0x10-0x1F
Eg.,
KASME
S= FC || P0 || L0 || P1 || L1
Where
FC=0x10,
P0=SN id/PLMN ID (viz., MCC+MNC),
L0=length of SN id =0x00 0x03,
P1=SQN xor AK,
L1=length of SQN xor AK=0x00 0x06
P0=SN id/PLMN ID (viz., MCC+MNC),
L0=length of SN id =0x00 0x03,
P1=SQN xor AK,
L1=length of SQN xor AK=0x00 0x06
Key=CK||IK
Key Hierarchy
Includes following keys: KeNB, KNASint, KNASenc, KUPenc, KRRCint and KRRCenc
==================================================================
KDF = Key Derivation Function, a one way hash function (SHA256)
• KASME = KDF(CK, IK, PLMN Id, SQN xor AK) ->256 bit[FC=0x10,Kin=CK||IK)
• KeNB = KDF(KASME, NAS-UL COUNT) ->256 bit[FC=0x11,Kin= KASME]
• NAS Keys->128 bit
– KNASInt = KDF(KASME, NAS-int-alg, algorithm-id)
– KNASEnc = KDF(KASME, NAS-enc-alg, algorithm-id)
• AS Keys->128 bit
– KRRCInt = KDF(KeNB, RRC-int-alg, algorithm-id)
– KRRCEnc = KDF(KeNB, RRC-enc-alg, algorithm-id)
-KUPEnc = KDF(KeNB, UP-enc-alg, algorithm-id)
Note:
Sequence Number (SQN) and the Anonymity Key (AK) is sent to the UE as a part of the Authentication Token (AUTN)
Key | FC | Kin | Length |
KASME | 0x10 | CK||IK | 256 |
KeNB | 0x11 | KASME | 256 |
NH | 0x12 | KASME | 256 |
KeNB* | 0x13 | NH or KeNB | 256 |
NAS,RRC | 0x15 | KASME or KeNB | 128 |
No comments:
Post a Comment