M900/M1800基站子系统信令分析手册第10章加密流程10-1第10章加密流程10.1概述加密流程一般出现在位置更新、业务接入、局间切换等服务请求中,需要GSM网络设备特别是基站的支持,也取决于MS的加密支持能力。10.2正常流程1.信令流程BTSBSCMSCMSCipheringModeCMP(4)CipherModeCMD(1)EncryptionModeCMD(2)CipheringModeCMD(3)CipherModeCMP(5)图10-1加密正常流程(1)加密模式设置流程中,MSC向BSC发一条CipherModeCMD命令,该消息中包含要求的加密算法和密钥Kc(包括要求不加密),以及是否要求MS在CipheringModeCMP中包括IMEI;(2)BSC根据MSC的CipherModeCMD命令中的加密算法、BSC允许的加密算法以及MS支持的加密算法来最终决定采用的算法,然后通知BTS;(3)BSC向MS发送CipheringModeCMD命令,用来通知MS所选择的加密算法;(4)MS收到CipheringModeCMD命令后,启动加密模式的传送,然后向系统返回CipheringModeCMP;(5)收到MS的CipheringModeCMP消息后向;BSC通知MSCCipherModeCMP。M900/M1800基站子系统信令分析手册第10章加密流程10-22.流程说明(1)A5加密算法(ItemStep)GSM协议规定了A5/0~A5/7共8种加密算法,A5/0表示不加密。加密设置流程由网络侧发起,在CipherModeCMD消息的EncryptionInformation单元中指明要求的加密算法。(2)加密算法的选择MS在发起呼叫请求时,会在CMSERVREQ中带上Classmark2和Classmark3(在系统消息中,ECSC=1时,MS会在CMSERVREQ中上报Classmark3;在ECSC=0时,需要通过类标改变或类标更新过程才能上报Classmark3,因此在使用加密的情况下,建议将配置ECSC=1),其中包含了MS对加密算法的支持。MSC根据加密数据配置下发加密命令,BSC综合考虑MSC下发的加密命令中允许的加密算法、BSC数据配置中允许的加密算法、MS在CMSERVREQ中上报的支持的加密算法后,华为BSC综合MSC、BTS及手机的情况,取这三者的交集,从交集里面,采取倒序的方法(即BSC对算法选择优先权为A5/7A5/6A5/5A5/4A5/4A5/3A5/2A5/1A5/0),选择合适的加密算法。(3)切换过程中的加密在切换过程中,在HANDOVERREQUEST消息中有一个EncryptionInformation信息单元,在该单元中指明了需要使用的加密算法和密钥。如果二个BSS的A接口有一个处于PHASEI阶段,由于ETSIGSMPHASEI协议缺陷(切换命令中没有加密模式设置信息单元。),那么它们只能在彼此都只有相同的一种加密算法选择(例如都只能选择A5/0,或都只能选择A5/2。)的情况下正常配合(BSC间切换等正常),否则至少目标MSC或目标BSC(或源MSC或源BSC)得根据对方具体情况,做特别的针对性处理(修改BSC间切换时的切换命令)。因此在使用加密的情况下进行A接口对接时,必须了解不同厂家的BSC、MSC对于加密的功能是否需要特别的数据配置,在实际使用中发生过入BSC切换对接不成功的问题。10.3异常流程10.3.1加密拒绝如果BSS侧不支持CIPHERMODECOMMAND消息中指定的加密算法,BSS回给MSC回送原因为“加密算法不支持”的CIPHERMODEREJECT消息。M900/M1800基站子系统信令分析手册第10章加密流程10-3如果MSC要求改变加密算法时BSS已经启用加密,则BSS也应该给MSC回CIPHERMODEREJECT消息。10.3.2MS不加密CIPHERINGMODECOMMAND消息被认为是有效的情况如下:(1)MS在“不加密”的模式下收到指示“开始加密”的CIPHERINGMODECOMMMAND消息(2)MS在“不加密”的模式下收到“不加密”的CIPHERINGMODECOMMMAND消息(3)MS在“使用加密”的模式下收到“不加密”的CIPHERINGMODECOMMMAND消息其他情况下的CIPHERINGMODECOMMAND消息会被MS认为是错误,此时MS会回送原因为“协议错误”的RRSTATUS消息,MS不做任何动作。