想去贝加尔湖畔。
参考:3GPP 24.301、33.401
SMC:Security mode control。
1. SMC过程的目的
- 将EPS安全上下文投入使用
- 变更安全算法
- 变更上行NAS COUNT
2. 几个东西想说明
- NAS COUNT
- nonce:number once,在密码学中只使用一次的任意或非重复随机数。
- HASHMME
3. SMC过程
(1)SMC过程
(2)SECURITY MODE COMMAND
- 网络侧向UE侧发送SECURITY MODE COMMAND消息,并启动定时器T3460。
- SECURITY MODE COMMAND不需要加密,但需要完整性保护。
- SECURITY MODE COMMAND消息的安全头为:integrity protected with new EPS security context
- 携带IE:
– replayed UE security capabilities
– replayed nonceUE (可选IE:当UE发送给网络侧的消息中携带了该参数,且该过程是为了生成mapped EPS上下文时,携带该IE)
– 选择的加密、完保算法
– eKSI
– HASHMME:若在attach或TAU过程中,网络侧收到未完保或部分完保失败的attach request或TAU request消息时,计算出attach request或TAU request消息的HASHMME,并在SECURITY MODE COMMAND消息中携带该参数。
– IMEISV(可选)
(3)收到SECURITY MODE COMMAND后UE的行为:
- UE首先决定是否接收SECURITY MODE COMMAND:
– 检查消息的完保性
– 检查消息中携带的UE安全能力是否与UE发送给网络的一致
– 若UE想要派生KASME’,检查消息中携带的nonceUE 是否与UE发送给网络的一致
– 检查消息中携带的KSI和安全算法是否为“000” 和EIA0、EEA0。若KSI为“000”,安全算法为EIA0、EEA0时,只有存在紧急服务的PDN连接或UE想要建立紧急服务的PDN连接时,才可接收SECURITY MODE COMMAND消息。
- 若消息校验失败,则发送SECURITY MODE REJECT,并携带相关原因。
- UE将消息中指示的安全上下文投入使用。
- UE在以下情况下重置上行NAS COUNT counter :
– SMC过程的目的是为了将鉴权后的EPS 安全上下文投入使用
– SECURITY MODE COMMAND消息中携带的安全上下文标志为“mapped security context”,且eKSI与当前的EPS上下文不匹配。 - UE向网络侧发送SECURITY MODE COMPLETE消息
– SECURITY MODE COMPLETE消息用新的安全上下文进行加密和完保。
– 若SECURITY MODE COMMAND消息找中携带了IMEISV,则SECURITY MODE COMPLETE消息中需要携带该参数。
– 若SECURITY MODE COMMAND消息找中携带了 HASHMME,则UE侧将其与本地生成的HASH值比较,若不同,则SECURITY MODE COMPLETE需要携带完整的attach或TAU request。
(4)收到SECURITY MODE COMPLETE后网络侧的行为:
- 将新的安全算法投入使用
- 若SECURITY MODE COMPLETE中携带了attach或TAU request,则完成相关流程。
4. 异常场景
(1)UE侧的我不想写
(2)底层失败
- 丢弃SMC过程
(3)定时器T3460超时
- 若定时器超时次数不超过4次,则重置并启动定时器,重新发起SMC过程。
- 若定时器超时次数超过4次,则丢弃SMC过程。
(4)SMC过程与attach、TAU、service request、非关机发起的deattach过程冲突
- 丢弃SMC过程,处理UE发起的过程
(5)SMC过程与除(4)中所述过程外的其它EMM过程冲突
- 两者都执行
(6)切换时,底层指示不传送NAS PDU。