QB-D-101-2008
6.
M2M平台与应用系统接口协议
本M2M平台与应用系统接口协议是WMMP协议的一部分(WMMP-A),它对M2M平台与终端的接口规范进行了封装,对应用系统提供了对M2M终端进行监控管理的能力。同时,通过本协议,M2M终端与M2M应用之间可以通过M2M平台传递业务流程,实现定制化的M2M应用。
6.1. 基本协议
双方的消息交互采用SOAP(Simple Object Access Protocol,简单对象访问协议)接口。这是一个可以运行在任何传输协议上的轻量级协议,它包含三个方面:XML-envelop为描述信息内容和如何处理内容定义了框架;将程序对象编码成为XML对象的规则;执行远程调用(RPC,Remote Procedure Call)的约定。
6.2. 接口描述
本协议支持两种连接方式:
1. 基于HTTP的标准WEB Service方式。应用系统和M2M平台采用WSDL(Web Services
Description Language)来对接口进行描述。WSDL是用来定义Web服务的属性以及
如何调用它的一种XML语言。一个完整的WSDL服务描述是由一个服务接口和一个服务实现文档组成的。通过查阅Web服务的WSDL文档,开发者可以知道Web提供了哪些方法和如何用正确的参数调用他们。因为WSDL包含了对服务接口的完整描述,所以我们可以使用它来创建能简化服务访问的存根,该存根为一段Java代码(假设使用Java),它自动生成了访问Web服务的类。如果我们需要访问Web服务,只需调用该类中对应的方法即可,而不用在客户端程序中再写入配置信息。
要求通信双方作为WEB Service服务端时,应实现HTTP会话的超时机制。即一定时间内,如果客户端没有新的HTTP请求,则服务端主动断开连接。会话维持的时间要求可配置。
2. 长连接。应用系统可以选择采用长连接和M2M平台交互,以提高效率。消息格式的
定义和WEB Service方式一致。 6.3. 消息格式
所有的协议数据单元PDU由如下表的消息头和消息体组成:
PDU组成 Message Header Message BODY Message HASH 消息头 消息体 消息摘要,计算方法为: 8
描述 QB-D-101-2008
MD5(消息头+3DES(消息体)+用户名+密码)
消息头和消息体在xml中的表现形式如下:
未加密的消息体也是一个完整的xml文件,如下例所示:
消息体属性一 消息体属性二 消息体属性三本规范报文为文本格式,对于二进制内容,应进行BASE64编码。 加密后的消息体通过BASE64编码放入BODY标签。 6.4. 消息安全性
6.4.1. 数据安全
本规范采用3DES算法对数据进行加密。M2M平台与应用之间的交互消息均要求携带摘要字段,算法如下:
MD5(消息头+3DES(消息体)+用户名+密码)。
其中用户名和密码由M2M平台为应用分配,应用发往M2M平台的消息以及M2M平台发往应用的消息,均要求用上述算法计算摘要。
应用系统和M2M平台的交互包含两种密钥:
1. 基础密钥,不同的M2M应用系统由M2M平台分配不同的基础密钥;M2M平台负责统一
分配和保存所有M2M应用系统密钥。M2M应用系统的密钥通过Email的方式由M2M平台发送给各M2M应用系统。
9
QB-D-101-2008
2. 会话密钥,应用系统与M2M平台的每次会话均有M2M平台分配会话密钥。一次会话
只允许持续一定的时间,如果超出该时间,应用系统必须重新登录,分配新的会话密钥。否则M2M平台将拒绝应用系统的消息。
基础密钥用于应用向平台登录启动新会话时加密消息体,以及M2M平台返回会话密钥时用于加密消息体。应用系统需要先向M2M平台登录,登录消息包含M2M平台分配的用户名和密码,并用基础密钥加密(3DES算法)。M2M平台为本次会话分配会话密钥,并用基础密钥加密后返回给应用系统。然后在会话中,双方用会话密钥加密和解密消息体。
消息交互流程如下:
M2M平台TAppLoginReqTAppLoginRsp数据包1数据包1响应应用系统??数据包n数据包n响应 应用系统首先通过TAppLoginReq向M2M平台进行登录,由M2M平台分配并返回会话密钥。在后续的消息交互的数据包中,双方通过会话密钥加密消息体。 6.4.2. 网络安全
M2M平台接口采用如下的手段保证和M2M应用系统之间通信的网络安全:IP鉴权及业务ID控制列表。
1. M2M应用系统接入M2M平台时需提供其业务系统出访IP和URL(根据其业务特性确
定);
2. M2M平台为M2M应用系统的每一个业务分配一个全局唯一的业务ID;
3. M2M平台侧防火墙配置安全策略,只有有效的IP和业务ID才能够访问M2M平台; 4. M2M应用系统端配置相应策略,以拒绝非M2M平台的接口调用; 5. 建议M2M应用系统和M2M平台之间采用VPN通道。
10
QB-D-101-2008
7. M2M平台与应用系统接口描述
7.1. M2M平台提供给应用系统的接口(应用系统->M2M平台)
7.1.1. 应用对终端下行消息接口
7.1.1.1. T_TERMINFO_GET请求终端信息接口
应用通过本接口读取M2M终端的相应配置信息、统计信息、监控信息。该接口为异步接口,应用向M2M平台发出请求后,M2M平台的应答只表示收到该请求。终端通过T_TERMINFO_GET_RESULT消息向应用上报应用所请求的终端信息。
调用名称:TTermInfoGet
TTermInfoGetReq请求终端信息消息: 参数标识 消息格式 TTermInfoGetReq
数据类型 String String String 长度(字节) 16 18 16 QB-D-101-2008
12
数据类型 String 长度(字节) 不定长 String 不定长 String 4 ALRAM String 4 String 4 STATISTIC String 4