通过OPTION60上报语音账号流程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
家庭网关通过OPTION60上报语音账号流程一.OPTION60参数模型:
1、当建立InternetGatewayDevice.W ANDevice.{i}.W AN-ConnectionDevice.{i}. W ANIPConnection.{i}.实例后,X_CT-COM_DHCPOPTION60.{i} 自动生成4个实例,Enable节点默认值为false,并且这4个实例不允许通过ITMS远程删除2、当远程ITMS修改具体FieldType实例下Enable节点值为true、以及修改Enable节点值当前已经为true的实例下Value节点值时,网关需要进行判断所有enable的FieldType内容按照技术规范附录B中Option60格式定义组织报文时,是否会超过Option60能够携带的内容长度限制,如果超过将回复ITMS操作失败。
二、上报流程
1)家庭网关第一次上电,ITMS将VOIP认证账号等信息下发到家庭网关,
而且ITMS配置InternetGatewayDevice.WANDevice.{i}.WANConnection-
Device.{i}. WANIPConnection.{i}. X_CT-COM_DHCPOPTION60. {i}.
Enable =1。
配置完成后,ITMS重启家庭网关。
2)在家庭网关启动后,如果FLASH中没有储存用户名和密码信息,则发送
默认的DHCP请求。
如果VOIP账号已保存到家庭网关的FLASH中,当再
次开机时需将用户名密码插入DISCOVER/REQUEST报文中OPTION60字段
的authentication information field插入Message(其中Message为
用户名和密码的加密字符串,加密算法见下节)
3)DHCP平台(包括DHCP服务器和认证服务器)收到DISCOVER报文之后解
析出OPTION60字段中的用户名和密码,并结合报文中的Mac,OPTION82
字段在本地所保存的信息库中进行查找与真伪验证。
4)DHCP平台验证用户名、密码,通过则向用户返回OFFER报文;没有通过
则丢弃该报文不做任何处理。
加密算法
家庭网关上保存:用户名(UserID),密码(Password)
(1)在每次发出认证包前,家庭网关生成随机数R,R长度为64bit ,8字节。
(2)家庭网关生成时间戳TS,TS定义为距离格林威志时间1970年0点秒数
的64bit 整型,强制转换8字节长整型,实在位数不够的话高位补0。
(3)生成DHCP认证的用户名Login,Login为接入层帐号(UserID),如
ad00000001@XXXX。
UserID的长度为可变的,但最长不超过128Byte。
(4)家庭网关生成密文C = EnCry(R+TS+64Bit, Login),例如C的长度为
128bit,Login为120bit(15字符),EnCry为3DES对称加密算法,密钥为
R+TS后用64位0补足192bit。
(5)家庭网关生成密钥Key = Hash(R+Password+TS),其中Key为128bit,Hash()
为哈希算法,这里定义为MD5;R+Password+TS就是Byte的直接拼接。
(6)家庭网关生成发送消息Message = O+R+TS+Key+C,其中O描述使用的
对称加密算法8bit,O=1:表示为上述描述的加密算法,O=其他数字:
保留。
注释:1、加密时对认证用户名不足的位数采用PKCS7 填充。
PKCS #7 填充字符串由一个字节序列组成,每个字节填充该字节序列的长度。
下面的示例演示这些模式的工作原理。
数据每块长度为8字节,假定需要处理的数据长度为非8的整数倍,如9字节,则需要填充的字节数等于7,我们就在填充位补上7个字节的07。
数据:FF FF FF FF FF FF FF FF FF
PKCS7 填充后:FF FF FF FF FF FF FF FF FF 07 07 07 07 07 07 07。
数据每块长度为8字节,假定需要处理的数据长度为8的整数倍,如8字节,则需要填充的字节数等于8,我们就在填充位补上8个字节的08。
数据:FF FF FF FF FF FF FF FF
PKCS7 填充后:FF FF FF FF FF FF FF FF 08 08 08 08 08 08 08 08
2、当用户名超过7字节时,加密块会多于一个,块间连接方式为ECB。
3、密文中的整数字节排序采用Big-Endian:
Big-Endian 和Little-Endian 字节排序
字节排序含义Big-Endian 一个Word中的高位的Byte放在内存中这个Word区域的低地址处。
Little-Endian 一个Word中的低位的Byte 放在内存中这个Word区域的低地址处。
一个例子:
如果我们将0x1234abcd写入到以0x0000开始的内存中,则结果为big-endian little-endian
0x0000 0x12 0xcd
0x0001 0x34 0xab
0x0002 0xab 0x34
0x0003 0xcd 0x12。