基于.Net的MAP信令传输实验平台设计

2011-08-04 06:37:04李爱宁齐晓东
通信技术 2011年11期
关键词:保护模式信令界面

李爱宁,唐 勇,齐晓东

(河北工程技术高等专科学校电气自动化系,河北 沧州 061001)

0 引言

随着多媒体教育的日益深化,在高等教育教学中,尤其是工科类的教学,试验课程得到越来越多的重视。但由于目前一些学校经费有限,设备条件不足,对于某些重要知识点不能接触到实际应用环境,学生理解起来比较困难。MAPSec协议原理作为3G系统中的一个重要协议,是无线通信课程中的一个重要知识点,由于该原理相对抽象、复杂,并且没有现成的针对这个知识点的实验平台供教学使用,为克服这种困难,该课题通过使用C#.net以及Sqlite数据库技术设计了一个MAP信令安全传输实验平台。

1 MAPSec协议原理

MAPSec协议原理参考文献[1-2]。全球移动通信系统(GSM)和第三代移动通信系统(3G)网络中的控制信令是通过MAP协议实现的,MAPSec协议主要用于网络实体间MAP消息的传输,MAPsec协议可以为网络实体间MAP消息的传输提供安全保证,包括保密性,认证性及防止重放攻击。MAPsec协议提供了保护模式0、保护模式1和保护模式2三种不同的保护模式。以MAPSec协议保护的MAP信令消息包括安全头和被保护负荷2部分。

(1)MAPsec安全头

①保护模式0下,安全头的结构为:SPI||源端成分ID;

②保护模式 1和 2下,安全头的结构为:SPI||源端成分ID||TVP||NE-ID||PROP,其中:SPI是一个32位的安全参数索引数。源端成分ID:用来确定被安全保护的MAP信令类型。TVP是一个32位的时间变量参数。NE-ID是一个长度为6个字节的网络实体标识。PROP是长度4字节的所有者域。

(2)MAPsec受保护的负荷

在保护模式0中,MAP消息的受保护负荷部分以明文形式出现。

在保护模式1中,MAP消息的净负荷的格式有:明文||f7(安全头||明文)。在保护模式2中,MAP消息的净负荷的格式有:f6(明文)||f7(安全头||f6(明文))。注:f6为加密算法,f7为一种哈希函数。

2 MAP信令消息传输简化流程

假设在不同 PLMN内的两个网络实体 MAP NEa和MAP NEb想利用MAPsec通信,则网络实体间通信的消息流程如图1所示。

图1 网络实体间MAP信令消息传输流程

3 MAPSec信令消息传输平台架构

(1)表示层

表示层提供人机交互的界面,主要实现人机交互和软件展示,主要负责页面显示、页面状态的控制以及页面上各种控件的事件处理程序,如Button的Click事件。同时,负责页面用户的输入信息的基本验证功能以及为客户端提供对应程序的访问。

(2)业务逻辑层

该层是 MAPsec信令传输平台系统实现的核心环节,该层设计关系到整体逻辑,主要用于实现对应的业务目标。主要包括:处理应用程序的业务逻辑和业务校验;管理业务层级别的对象依赖;管理程序的执行;创建实体类,包括加解密和认证模块;建立通用的业务接口,实现对数据访问层的访问。

(3)数据访问层

实现平台系统对数据库的操作,完成数据库中各参数的插入、调用及更新等操作。

传输平台的3层架构如图2所示。

图2 传输平台的3层架构

4 传输平台的架构实现

(1)表示层设计实现

传输平台的界面采用 C#.net[3-4]设计。登陆界面如图 3所示。

图3 登陆界面

点击“进入发送网络节点”和“进入接收网络节点”按钮,分别进入发送/接收节点的子界面,如图 4所示为发送节点界面。

图4 发送MAPsec信令节点界面

该界面包括3个主要模块:

模块1:“实验内容”、“实验步骤”、“实验实施”、“实验思考”。通过点击“保护模式0”、“保护模式1”、“保护模式2”图标中不同的模式图标,可以显示相应的保护模式内容。

图5 发送MAP信令的界面

模块2:创建参数库模块,创建数据库存放SPI、TVP、NE-ID、PROP几个参数。

模块3:点击该模块最下方的“保护模式1”按钮,即可进入相应的保护模式的操作界面,进行MAP信令的传输。如图5所示为发送MAP信令的界面(接收界面布局与此相类似)。

节点间通信使用TCP/IP协议。Socket接口作为TCP/IP网络协议的应用程序接口(API),定义了通信所需的函数和例程[5-6]。设计流程如下:

步骤①:命名空间的添加。

步骤②:构造一个新的socket对象。

在C#中,采用socket函数构造一个socket对象,socket函数原型如下:

步骤③:Socket的配置和连接。

采用IPEndPoint类。函数原型如下:

步骤④:数据的传送和接收。

步骤⑤:socket关闭。

(2)业务逻辑层设计

该层设计包括以下几个主要模块:

加/解密模块:即用于对明文加/解密的f6函数,通过构建Encode()和 Decode ()2个函数实现。

认证码生成模块:即用于验证完整性的哈希函数—f7函数,在设计中使用 MD5算法作为哈希函数,通过构建MD5_Hash()函数实现。

源端成分ID识别模块:构建ID_value()函数确定被安全保护的MAP操作的成分类型是调用(0)、结果(1)还是错误(2)。

TVP时间变量参数识别模块:构建TVP_value()函数,用来识别TVP值,防止对MAP操作进行重放攻击。

与数据库通信接口:数据库的设计采用轻量级的 sqlite数据库[7-8],sqlite数据库结构简单,源代码也不是很多,降低了系统内存的占用,同时提高数据的处理效率。C#.net与sqlite数据库连接代码如下:

(3)数据访问层设计

该层设计主要完成数据库中各个参数的插入、调用以及更新等操作。

此外,平台还设计了应用接口,通过此接口可以方便的添加到其他实验平台中。

5 结语

由于MAPsec协议原理相对比较复杂,而且由于实际环境限制,学生不能接触到实际应用环境,因此理解起来相对比较困难。所以搭建本实验平台,通过仿真基于MAPSec协议传输信令过程,有助于学生对知识的理解掌握,能够提高教学效率,同时,这里实验平台采用C#.net技术开发具有较好的移植性和兼容性,具有较好的实用推广价值,克服学校实验设备不足等缺陷,对于教育教学有积极作用。

[1] 杨义先,钮心忻.无线通信安全技术[M].北京:北京邮电大学出版社,2005:159-163.

[2] 曹晨磊,张茹,钮心忻,等.3G实体认证协议及技术规范的综述与安全分析[J]. 清华大学学报:自然科学版,2009,49(82): 2193-2199.

[3] 王超,潘杨.Visual C#通用范例开发宝典[M].北京:电子工业出版社,2008.

[4] 林邦杰.深入浅出 C#程序设计[M].北京:中国铁道出版社,2005:100-300.

[5] 亓传伟.在.NET下实现进程通信[J].通信技术,2008, 41(05):97-98.

[6] 岳晓光,梁晓诚,麦范金,等.NET下的网络通信方案研究[J].通信技术,2010,43(01):191-192.

[7] SQLite. Ongoing Development and Maintenance of SQLite is Sponsored in Part by SQLite Consortium Members[EB/OL].(2010-11-02)[2011-03-01]. http://www.sqlite.org/.

[8] MICHAEL O.The Definitive Guide to SQLite[M]. USA:Apress,2006:100-150.

猜你喜欢
保护模式信令界面
国企党委前置研究的“四个界面”
当代陕西(2020年13期)2020-08-24 08:22:02
SLS字段在七号信令中的运用
移动信令在交通大数据分析中的应用探索
基于信令分析的TD-LTE无线网络应用研究
消费导刊(2017年24期)2018-01-31 01:28:37
基于FANUC PICTURE的虚拟轴坐标显示界面开发方法研究
论网络游戏著作权的保护模式及其侵权判定标准
人机交互界面发展趋势研究
CBD体系下传统知识保护模式研究
知识产权(2016年10期)2016-08-21 12:41:20
LTE网络信令采集数据的分析及探讨
互联网天地(2016年2期)2016-05-04 04:03:21
宁夏盐池县小麦野生近缘植物蒙古冰草保护模式探究