OMA DM最佳实践之二:MD5安全认证
3040 点击·0 回帖
![]() | ![]() | |
![]() | DM业务现在是国内运营商要求的必备业务之一。通过DM业务运营商可以掌握用户终端情况和数据使用情况,并是客服模式发生了改变;终端厂商可以降低售后成本,配置参数以及后续版本升级更加方便。中国移动就把DM业务叫做增强售后服务业务。本系列文章针对CMCC的DM业务的终端自注册、安全认证、参数采集,以及参数配置等业务,给出实现它们的最佳实践。 安全认证是CMCCDM业务中除了自注册之外所有的其他业务都需要的。 1. 认证流程 下面以MD5/Base64为例,看终端和Server相互认证的流程。 ![]() ![]() ![]() 图中, - 圆角方框内的Credential是通过username:password,以及Nonce计算出来的数值; - 方框内的NextNonce发给对方,让对方下次计算Credential时使用; - 椭圆内的数值代表了对对方认证的结果。 2. Credential的计算 设定: H:利用MD5进行Hash计算; Credential:MD5进行Hash计算的结果 B64:Base64Encode计算 那么,Credential的计算方法为: Credential= H(B64(H(uasername:password)):nonce) 其中要特别注意: 图中的流程上所示的NextNonce并不能直接用于公式中nonce,NextNonce为了网络上传输,进行了BaseEncode操作,所以NextNonceDecode之后才能用于Credential的计算。 | |
![]() | ![]() |