身份认证过程
数据中心使用MD5算法进行数据采集器身份认证,密钥长度为128bit,具体过程如下:
(1)TCP连接建立成功后,数据采集器向数据中心发送身份认证请求;
(2)数据中心向数据采集器发送一个随机序列;
(3)数据采集器将接收到的随机序列和本地存储的认证密钥组合成一连接串,计算连接串的MD5值并发送给数据中心;
(4)数据中心将接收到的MD5值和本地计算结果相比较,如果一致则认证成功,否则认证失败。
认证密钥存储在数据中心和数据采集器的本地文件系统中,数据中心可以通过网络对数据采集器的认证密钥进行更新。
2.数据加密
使用AES加密算法对XML数据包进行加密,密钥长度为128bit。加密密钥存储在数据中心和数据采集器的本地文件系统中,数据中心可以通过网络对数据采集器的加密密钥进行更新。
采集器IP 192.168.0.123 8808端口
1.身份验证数据包(id_validate)
<?xml version="1.0" encoding="utf-8" ?>
<root>
<!-- 通用部分 -->
<!--
building_id:楼栋编号
gateway_id:采集器编号
type:身份验证数据包的类型
-->
<common>
<building_id>XXXXXX</building_id >
<gateway_id>XXX</gateway_id >
<type>以下4种操作类型之一</type>
</common>
<!-- 身份验证 -->
<!-- 操作有4种类型
request:采集器请求身份验证(该数据包为采集器发送给服务器)
sequence:服务器发送一串随机序列,sequence子元素有效(该数据包为服务器发
送给采集器)
md5:采集器发送计算的MD5,md5子元素有效(该数据包为采集器发送给服务器)
result:服务器发送验证结果,result子元素有效(该数据包为服务器发送给采集器)
-->
<id_validate operation="request/sequence/md5/result">
<sequence >XXXXXXXX </sequence >
<md5>XXXXXXXX</md5>
<result >pass/fail</result >
</id_validate>
</root>