空口协议

2024-12-05

空口协议(精选3篇)

空口协议 篇1

随着国际范围的3GPP LTE技术的商用化, 新型的无线网络分析和优化的仪表日益得到重视和发展。作为4G移动通信系统代表的LTE无线网络通信技术, 将移动通信领域最近10年出现的多种先进技术融为一体, 而其中的MIMO与OFDM技术的融合, 是LTE技术中最重要的技术之一[1,2]。相比于3G网络, LTE的网络架构发生了很大的变化, 它由演进后的接入网E-UTRAN和演进后的核心网EPC组成, 并将核心网电路交换域取消, 仅存在分组交换域。LTE网络的扁平化结构导致传统的信令采集点的消失, 因此需要从Uu口采集空口信令。

LTE-A空中接口监测仪表对于运营商来说, 可以在LTE网络的建设、测量、网络优化和网络维护中发挥重要作用。在网络建设初始阶段, LIE-A空口监测仪表可以帮助运营商进行协议一致性测试和验证工作, 运营商也可以通过该仪表的帮助进行网络规划;在网络建成之后, 可以将仪表用于网络优化, 将其作为传统路测仪表的功能补充;仪表在LTE网络中, 通过串接上下层协议, 提供跨层智能关联分析功能, 将其作为移动互联网业务支撑和分析工具。而仪表的这些分析功能是下层的解码结果为基础进行的扩展, 本文的主要研究内容即LTE-A空口监测仪表中RLC层协议解码在ARM平台上的实现。

1 空口仪表硬件平台

RLC层解码的处理是放在协议板板卡的DSP中的, 为更清楚地了解该层软件的运行环境, 在此对LTE-A空口监测仪表的物理架构及协议板板卡进行简单的介绍。

1.1 仪表物理架构

如图1所示, LTE-Advanced空口协议监测仪表采用MAC层聚合的设计方式。多张L1层的“射频+基带板卡”通过PCIE 2.0 X1接口与L2、L3层的“协议板板卡”相连接, “协议板板卡”通过PCIE 2.0 X2接口与“核心板板卡”相连接, 笔记本或平板PC通过有线/无线网络的方式访问LTE-Advanced空口协议监测仪表。

空口仪表主要组件功能包括以下5部分:

1) 射频+基带板板卡:采集射频数据, 将射频的原始数据 (IQ数据) 恢复成比特流数据。通过NGFF接口存储原始数据, 将比特流数据封装成PCIE 2.0协议帧, 通过PCIE 2.0X1接口将PCIE 2.0协议帧发送到“协议板板卡”进行处理。

2) 协议板板卡:对LTE-Advanced的MAC层、RLC层、PDCP层进行协议关联和分析处理。

3) 核心板板卡:系统的中央处理器, 实现RRC层、NAS层等控制面的协议分析, 实时跟踪监测多用户的业务建立、信令过程和数据流量, 进行用户业务行为分析以及网络问题分析。

4) 笔记本或平板PC:人机交换平台, 通过Web等形式向用户展示分析、处理后的数据。

5) 机箱背板:对PCIE 2.0接口进行关联。

LTE-Advanced空口协议监测仪表的数据处理流程:首先, “射频+基带板卡”将天线接收的射频原始数据恢复成比特流数据, 并将比特流数据封装成PCIE 2.0协议帧, 送往机箱背板;其次, “协议板板卡”接收“机箱背板”传送来的PCIE 2.0协议帧, 对PCIE 2.0协议帧进行解帧处理, 并依据LTE-Advanced的协议栈体系结构形式, 实现MAC层的载波调度、解复用, 实现RLC层进行级联、ARQ处理和PDCP层的解密、头解压处理, 将LTE-Advanced的比特流数据恢复成TCP/IP数据包, 同时, 将TCP/IP数据包封装成PCIE 2.0协议帧并送往“核心板板卡”;再次, “核心板板卡”接收“机箱背板”传送来的经过“协议板板卡”处理的PCIE 2.0协议帧, 并对PCIE 2.0协议帧进行解帧处理, 恢复成TCP/IP数据包, 实时跟踪监测多用户的业务建立、信令过程和数据流量, 进行用户业务行为和网络问题分析;最后, 笔记本或平板PC通过有线或无线网络访问LTE-Advanced空口协议监测仪表, 以网页等形式, 向用户展示分析、处理的数据。

1.2 协议板板卡方案

对于协议板板卡的设计方案, 由于不太需要考虑硬件协处理器的算法加速要求, 因此采用DSP的硬件设计方案即可满足要求。DSP采用片上系统 (SOPC) 的设计思想, DDR3、FLASH、USB/串口都作为外围器件以供DSP的片上系统运行。DSP硬件设计中, 由于协议板板卡不再需要考虑诸如Viterbi、Turbo等算法的硬件加速要求, 因此选择T3300多核DSP作为设计方案。

在逻辑设计方案上, 虽然每个协议层有自己独特的要求和特点 (详情请参考LTE-Advanced协议标准) , 但方案的核心设计思想是一致的, 即从空口数据中恢复出TCP/IP数据包。接收端数据处理的基本流程如图2所示。

去除PHY层的CRC形成MAC PDU帧 (即MAC头+MAC SDU) →去除MAC层的头部信息形成RLC PDU帧 (即RLC头+RLC SDU) →去除RLC层的头部信息形成PDCP PDU帧 (即PDCP头+PDCP SDU) →去除PDCP层的头部信息形成PDCP SDU帧→对PDCP SDU进行IP头解压形成IP数据包 (即IP头+负载) 。

2 空中接口RLC协议

LTE的网络架构与3G相比, 发生了较大的变化, 其接入网演进为扁平化结构, 从而使得用户面和控制面时延更小。LTE在网络架构上的演进, 导致了传统的信令采集点的消失, 对LTE网络进行监测, 只能通过用户同LTE基站的空中接口 (即Uu接口) 采集空口信令。

Uu接口协议承担各种无线承载业务的建立、配置和释放工作。Uu接口协议栈包括了三层两面, 三层具体指网络层、数据链路层和物理层, 两面包括用户面和控制面[3]。

图3是空口协议栈的基本结构图, 可以看出物理层位于协议栈的最底层, 物理层提供比特流传输的所有功能。数据链路层被分成3个子层:媒体接入控制 (Medium Access Control, MAC) 层、无线链路控制 (Radio Link Control, RLC) 层和分组数据汇聚协议 (Packet Data Convergence Protocol, PD-CP) 层。用户平面和控制平面中都包括了数据链路层:在用户面负责传输和加密用户业务数据, 在控制面负责信令的传输、加密和完整性保护工作。位于接入网的控制平面的无线资源控制 (Radio Resource Control, RRC) 层, 即网络层, 负责终端和接入网之间所有信令交互的处理以及对其他层的控制工作。

Uu接口控制面协议栈如图4所示, 控制面协议栈主要负责控制和管理无线接口, 包括物理层协议、PDCP/RLC/MAC各层协议和RRC协议。

图5为用户面协议栈, 包括了物理层协议和数据链路层各个协议 (MAC、RLC、PDCP) , MAC子层通过传输信道从物理层获取相应的服务, RLC子层通过逻辑信道从MAC子层获取相应的服务。RLC层功能主要是对RLCSDU进行分段和级联, 按照底层传输机会指示的大小, 组成RLC PDU, 以保证PDU的大小符合无线传输块的格式要求[4]。

协议栈中的RLC层位于PDCP层之下, MAC层之上, 与MAC层之间通过逻辑信道进行连接, 与PDCP层和RRC层之间通过SAP (业务接入点) 进行连接[5]。RLC层数据格式可以通过RRC层进行配置, 对等实体间可以通过底层进行RLC PDU的传输, 发送端可以接收来自高层的RLC SDU, 接收端可以向高层发送重组后的RLC SDU。

如图6所示, RLC层有3种传输方式:透明模式 (TM) 、非确认模式 (UM) 、确认模式 (AM) 。与之相对的, RLC层的实体包括RLC TM实体, RLC UM实体, RLC AM实体。其中RLC TM实体和RLC UM实体又分为发送实体和接收实体, 这两个实体独立负责收发数据。而RLC AM实体与前面两个实体有所不同, ARQ机制的引入使得发送实体和接收实体之间存在信息的交互, 因此需要在同一个实体中进行发送和接收。

在3种不同的模式下, RLC实体的功能不同, 将其概括如下。

1) RLC TM实体

RLC TM模式主要用于不需要RLC配置的RRC消息, 可以通过BCCH、DL/UL CCCH、PCCH信道进行RLC SDU的传输。RLC TM发送实体不对RLC SDU进行串联、分段等工作, 发送实体对RLC SDU不做任何改动, 向下层发送, 不添加RLC头。RLC TM接收实体对收到的RLC SDU不做任何修改, 将收到的数据包直接发送到上层实体。

2) RLC UM实体

RLC UM实体通过DL/UL DTCH信道进行RLC SDU的传输, 适用于延时敏感和容忍差错的实时应用, 主要完成的是RLC SDU分块、串联、重排序、重复检测、重组等功能。

RLC UM发送实体在获得特定的发送机会时, 要根据MAC层指示期待的RLC PDU大小进行分段或者串接RLC SDU, 使得新生成的RLC PDU大小能够适应MAC层指示的PDU大小, 并添加相应的RLC头后, 将RLC PDU向下层发送。RLC UM接收实体检测收到的UMD PDU是否重复, 重复则丢弃该PDU, 若没有重复, 则重排失序的UMD PDU。同时接收实体也能够检测出UMD PDU在MAC是否丢失, 避免过长的重排序时延。若发现某RLC SDU的UMD PDU丢失, 则丢弃其他同RLC SDU的PDU。

3) RLC AM实体

RLC AM实体适用于错误敏感、时延容忍的非实时应用, 通过DL/UL DCCH/DTCH信道进行RLC SDU的传输。RLCAM实体主要完成数据PDU分段、串接、重传、再分块、轮询、状态报告、状态禁止等工作。

RLC AM发送实体在获得特定的发送机会时, 要根据MAC层指示期待的RLC PDU大小进行分段或者串接RLC SDU, 若PDU大小大于MAC层传输机会指示的PDU大小, 则对PDU进行分段以适应MAC层传输机会指定的PDU大小;反之, 则对PDU进行串接。若收到需要重传的PDU, 对PDU重传时可以进行再分段, 重传的PDU再分段后变成AMD PDU段, 分段方式同上。分段后添加相应的RLC头, 然后发送给下层传输。

RLC AM接收实体接收到PDU后, 检测收到的AMD PDU是否重复, 重复则丢弃。若检测出AMD PDU在MAC层丢失, 则请求重传。若PDU被乱序接收, 则重排失序的AMD PDU, 从重排的PDUs中重组出RLC SDU, 并按序分发给上层。

3 RLC消息解码原理

仪表在进行协议分析的时候, 首先需要进行的就是协议的解析, 与数据的封装过程相反, 协议数据包的解析是封装的逆过程, 将数据包按需要进行解析, 并提取需要的参数用于分析。由于需要对消息进行实时处理, 解码的性能就显得尤为重要。以前的研究中解码都是利用纯软件实现的, 虽然实现起来相对容易, 但处理的效率也不是本文中RLC层消息的解码将软件放在第1部分描述的硬件平台协议板卡T3300的ARM中进行, 突破传统的纯软件设计方案的限制, 可以大幅度提升消息处理性能。

此外, 软件设计中也有许多因素会影响到消息解码的性能。1) RLC分段功能:分段过程中, 要将上层发送给RLC层的RLC SDU按照MAC层发送机会指示的大小分割成大小合适的RLC PDU, 由于数据流量大, 这个过程中占用的缓存空间也比较大, 解码过程中考虑使用动态分配的方式来处理, 以充分利用内存。2) RLC重组功能:由于在接收端需要对收到的RLC PDU或RLC PDU段进行重排序, 因此要维护一个重排序窗口并对窗口内PDU按照序列号升序进行排序, 解码中主要依靠高效的排序算法来达到提升处理效率的目的。

RLC PDU的数据包具有多种格式, TM模式由于不具有RLC头, 故解码也不需要对其进行处理。UM模式和AM模式PDU格式如图7所示。

在3GPP R8-R11版本中, R1是保留域, 长度1 bit, 发送实体置R1域为“0”, 接收实体忽略此域。1) D/C为数据/控制域, 长度为1 bit, 若该域为0表示该PDU为控制PDU, 若该域为1表示该PDU为数据PDU;2) RF为重分段标志域, 长度1 bit, 若该域为0表示该PDU为AMD PDU, 若该域为1表示该PDU为AMD PDU段;3) P为轮询比特域, 长度1 bit, 若该域为1表示指示AM RLC实体的发送部分从它的对等AM RLC实体请求一个STATUS报告, 若为0表示没有请求报告。4) FI表示成帧信息域, 长度为2 bit, 指示一个RLC SDU是否在数据域的开始部分, 和/或数据域的末尾部分被分段。特别地, 该FI域指明该数据域的第一个字节, 是否对应RLC SDU的第一个字节, 及该数据域的最后一字节是否对应RLC SDU的最后一个字节;5) E表示扩展比特域, 长度为1 bit, 若为0表示数据域从信息头固定部分之后八位组开始, 若为1表示一个E域和LI域的集合从信息头固定部分之后的八位组开始;6) SN表示序列号域, 对于AMD PDU, AMD PDU段和STATUS PDU, 为10 bit, 对UMD PDU, 为5 bit或10 bit (可配通过RRC置) 。该域指示相应的UMD或AMD PDU的序列号。对于一个AMD PDU段, 其SN域指示构造该AMD PDU段的原始AMD PDU的序列号。对于每个UMD或AMD PDU, 序列号逐增加1。

4 解码算法分析

本文中主要对UM和AM的解码算法进行分析, TM模式不含RLC头, 解码比较简单, 在此不作分析。UM模式和AM模式的解码算法流程如图8和图9所示。

UM模式解码, 首先判断SN的长度, 然后根据SN长度值进入相应的解码模块, 通过指针偏移并按位与, 取出包头中的FI、E、SN等字段值。判断E的值, 若为0则解码结束, 若为1则需继续进行扩展部分解码。扩展部分解码时, 根据扩展部分E的值作为循环判断, 若E为1则需继续进行包头解码, 若E为0则跳出包头解码部分。将这些解析的结果保存在一个结构体里, 输出解码结果, 而剩下的数据部分放入缓存, 等待可能的后续处理。

AM模式解码, 指针首先指向第一个比特D/C, 提取该字段的值, 判断是数据PDU还是控制PDU。若为控制PDU, 则指针按照控制PDU格式进行偏移, 提取出相应的字段并保存。值得注意的是, 控制PDU进行解码时由于长度的不确定性, 需要反复判断字段值并进行循环解码。若为数据PDU, 解码的方式类似UM模式解码。

5 结果验证

解码结果的验证采用逐一解析的方式, 即通过协议对照, 分析数据包的各个字段值, 将该值与解码结果呈现的值进行对比, 以验证解码结果的准确性, 对比结果如表1所示。

现以一个UM模式SN为5 bit带扩展字段的数据PDU为例进行分析。在解码输入接口传入的数据PDU内容为“6380 18 02 80 30 C8 23 15 51 79 4D 35 69 71 26”, 解码输出端的结果为“FI=1, E=1, SN=3, E1=1, LI1=1, E2=1, LI2=2, E3=0, LI3=3, 数据包内容=C8 23 15 51 79 4D 35 69 7126”。根据协议中的数据PDU格式, 将PDU内容转换为二进制数据流, 第一个字节内容为01100011, 不难得出LI字段值为01, 即数据域第一个字节对应RLC SDU第一个字节, 但最后一个字节不对应RLC SDU最后一个字节。E字段值为1, 表示第一个8位组后面跟有一个E和LI域。SN字段的值为00011, 表示该PDU序列号为3。第2和第3个字节内容为10000000 0001 1000, 即第一个扩展字段E1为1, LI1为00000000 001, 后面紧跟有一个扩展字段。按照上述步骤依次解析, 得出结果“E2=1, LI2=2, E3=0, LI3=3”。后面的数据域由于数据较多进行了截取, 只保留了一小部分。通过与解码结果比较, 结果一致, 证明解码结果正确。

6 结束语

未来几年内, 随着运营商LTE网络建设的完善, LTE-A空口监测仪表将在网络的分析与优化中发挥重要作用。而空口协议的解码又是仪表分析数据的来源, RLC层信令解码是网络重传效率和协议关联分析的关键。本文对LTE-A空口检测仪表中RLC层信令解码原理进行了分析, 并给出了解码流程, 在协议板卡T3300芯片上, 利用C语言编程将解码程序放入ARM内运行, 准确地完成了解码工作, 对LTE-A空口仪表的协议解码具有重要意义。

摘要:随着LTE网络的成熟和商业化, 运营商迫切需要测量仪器进行LTE网络状况分析, 基于此进行了LTE-A空口监测仪表的研发。为了满足LTE-A空口监测仪表中信令解码的相关需求, 对LTE系统空中接口的RLC协议进行了深入分析和研究, 并根据3GPP LTE R8标准给出了RLC层消息结构及解码算法。解码方案经测试取得了预期的效果, 经改进可以应用到LTE-A空口监测仪表中, 满足仪表解码需要。

关键词:LTE-A,RLC,空中接口,解码

参考文献

[1]GHOSH A, RATASUK R, MONDAL B, et al.LTE-advanced:nextgeneration wireless broadband technology[J].IEEE Wireless Communications, 2010, 17 (3) :10-22.

[2]DEHGHANI M, ARSHAD K.LTE-advanced, and the way forward[C]//Proc.IEEE 2014 14th International Symposium on Communications and Information Technologies.[S.l.]:IEEE Press, 2014:466-469.

[3]NOSSENSON R.Long-term evolution network architecture[C]//Proc.IEEE International Conference on Microwaves, Communications, Antennas and Electronics Systems.[S.l.]:IEEE Press, 2009:1-4.

[4]BJERKE B A.LTE-advanced and the evolution of LTE deployments[J].IEEE Wireless Communications, 2011, 18 (5) :4-5.

[5]3GPP TS 36.322 V8.8.0, Evolved universal terrestrial radio access (E-UTRA) ;radio link control (RLC) protocol specification[S].2010.

[6]SZCZESNY D, SHOWK A, HESSEL S, et al.Performance analysis of LTE protocol processing on an ARM based mobile platform[C]//Proc.IEEE International Symposium on System-on-Chip.[S.l.]:IEEE Press, 2009:56-63.

[7]QIAN M, ZHOU Y, WEI W, et al.Efficient design and implementation of LTE UE link-layer protocol stack[C]//Proc.Wireless Communications and Networking Conference (WCNC) .[S.l.]:IEEE Press, 2013:895-900.

基于空口话单的孖机号码排查策略 篇2

1 CDMA网络的空中接口和空口话单

CDMA2000系统中的空中接口亦称为UM接口, 定义为移动台 (即用户终端UT) 和基站收发信台 (BTS) 之间的通信接口, 用于移动台与CDMA系统的固定部分之间的互通, 其物理链接通过无线链路实现。

在阿尔卡特-朗讯的CDMA2000系统中, MSCe上会生成关于空中接口的记录, 即“空口话单”。每MSCe每小时生成一个空口记录文件 (后缀为PCMD) , 其中包含了所有由该MSCe提供业务的基站系统 (BS) 上产生的空口记录。“空口话单”中包含的内容极为丰富, 除了C网用户的主被叫通话记录都有外, 还包括短信和数据业务的记录;同时, 其中的每一条话单都有包含主被叫号码、用户MIN号、通话类型、通话开始和结束时间、通话时长、起止基站等的重要信息。

2 孖机手机的行为分析与查找策略

一般而言, 孖机手机有着其一些独特的行为特点, 根据这些特点来分析, 就可以获得排查孖机手机的线索, 并最终找到孖机手机的号码。孖机手机以下四种特征行为可被用来寻找其踪迹:

①大量拨打信息台;②大量拨打长途电话;③在相隔较远的区域里, 间隔时间过短的连续使用 (表现为移动速度过快) ;④一个号码的业务使用存在时间重叠。

针对以上四种孖机手机的行为特点, 有以下分析策略:

(1) 信息台分析策略:统计在一固定周期内呼叫高风险号码 (如信息台号码168等) 量特别大的号码, 以此来圈定疑似孖机号码范围。

(2) 长途号码分析策略:统计在一固定周期内呼出长途电话量大的号码, 从中寻找长途呼叫量突增的现象, 以此来确定疑似孖机号码。

(3) 移动距离分析策略:通过从话单中提取的基站位置信息和起止时间, 计算相邻两次业务使用的基站站点间距离和时间间隔, 进而算出终端的移动速度, 通过判断移动速度值是否异常来查找疑似孖机号码。

(4) 重叠话单分析策略:一般情况下, 一个号码某段时间内只能与一方进行通话, 不能再向第三方发起呼叫或进行通话, 通过判断通话时间是否存在重叠的情况来找出疑似孖机号码。

3 疑似孖机话单的过滤

通过以上四种策略对全网的空口话单进行排查后, 发现结果中存在着大量无效的疑似孖机话单。这其中有一部分是由空口记录 (即“空口话单”) 的特性决定的, 例如一通呼叫在移动中切换了MSCe, 就会生成两张甚至多张话单 (这些话单中的MSCid不同, 主被叫相同, 时间呈衔接状态) , 这些话单在系统中就会被判定为疑似孖机话单 (主要由移动速度过快的分析得出) ;同时我们还需滤除呼叫转移、呼叫等待和三方通话等正常业务的话单, 因为这些业务也是会产生重叠话单的。

3.1 重叠话单的过滤策略

目前主要依据重叠话单的MSCid、起始基站间关系 (由基站id、基站间距离来判定) 和重叠时长等因素来进行判断。对于由三方通话和呼叫等待业务产生的重叠话单的过滤, 还要结合HLR中用户是否开通了对应业务来判断。

(1) 切换MSC产生重叠话单的特点。当连续两条 (或三条) 话单重叠时间小于等于5秒, MSCid不同, 两条话单同类 (都是主叫或都是被叫话单) 且主被叫号码相同时, 可视作是同一通话在MSC之间软切换产生的。

如果需要做更加严谨的判断, 则要在符合以上两点的情况下, 考虑重叠话单中起始基站间关系, 即第一条话单中结束基站和第二条话单中起始基站之间的间隔距离是否在2千米以内 (市区相邻两个C网基站的距离一般在1~2千米) , 如果是就基本可以肯定这由切换MSC产生的重叠话单。

(2) 三方通话产生重叠话单的特点。三方通话产生的重叠话单的基本特点是MSCid相同, 且两张话单都为主叫话单。

补充约束条件:通过分析用户使用三方通话业务的习惯, 我们认为大部分因三方通话产生的重叠话单还可能具备以下特点:话单重叠时间在10秒以上, 两条话单的开始时间或结束时间的间隔不超过30秒, 两条话单的开始基站或结束基站相同, 或间隔距离不超过2千米。

(3) 呼叫等待产生重叠话单的特点。呼叫等待产生的重叠话单的基本特点是MSCid相同, 且第二条话单 (开始时间靠后的话单) 必为一条被叫话单。

(4) 某类典型孖机话单的特点。两条重叠话单的MSCid不同, 话单重叠时间大于5秒, 且第一条话单中结束基站和第二条话单中起始基站之间的间隔距离较远 (大于2千米) 。

3.2 移动速度过快话单的过滤策略

经由C网防孖机系统中“移动速度过快”模块分析得到的疑似号码清单中也会有一部分的无效号码, 这一般是由以下两种情况导致:一是移动中的一次通话 (或业务使用) 在两个基站覆盖区边缘切换;二是两次间隔时间很短的通话 (或业务使用) 恰好发生在两个相邻的基站覆盖区内。要排除此类疑似孖机话单, 就要考虑前后两条话单的间隔时长 (前一条话单的结束时间和后一条话单的开始时间之间的时间间隔) 和实际的移动距离 (即第一条话单中结束基站和第二条话单中起始基站之间的间隔距离) 。将其中实际移动距离不大 (特别关注是否接近相邻基站站点的间距距离) , 但因间隔时间很短的产生的移动速度过快的记录排除出去。

(1) 当两条话单的间隔时长小于等于2秒时, 基本可视作正常话单;

(2) 当两条话单的间隔时长大于2秒且小于等于5秒时, 若两条话单同类 (都是主叫或都是被叫话单) 且主被叫号码相同时, 可视作是同一通话在MSC之间的硬切换产生的;

(3) 若两条话单的移动距离不超过1千米, 基本可认为是正常通话。

(4) 当两条话单的间隔时长大于2秒且小于等于10秒时, 若移动距离不超过3千米, 基本可认为是正常通话;

(5) 当两条话单的间隔时长大于2秒且小于等于10秒时, 若移动距离不超过6千米, 基本可认为是正常通话。

4 基于空口话单排查孖机号码策略的局限和应用

C网的空口话单包含信息虽然很丰富, 但该空口话单只是用户移动行为的原始记录, 其中并没有补充和智能业务的标志位, 因此对C网智能业务的分析特别是相关资费的统计方面存在着天然的局限。

另外存在一个省的C网分大区使用不同厂家设备的情况, 此时查找孖机号码的策略就需要结合不同厂家C网系统中空口话单的特点和无线侧基站的分布状况, 对相应判断参数进行调整, 并跨系统综合分析。

空口协议 篇3

LTE-A网络是3G以及LTE的研究。在系统的架构演进中,LTE网络架构不再采用接入网中的无线网络控制器RNC(Radio Network Controller),演进节点Be Node B(Evolved Node B)继承部分RNC的功能,直接与分组核心演进EPC(Evolved Packet Core)进行数据交换。

LTE-A空口监测仪表对于运营商来说,可以在LTE网络的建设、测量、网络优化和网络维护中发挥重要作用。在网络建设初始阶段,LTE-A空口监测仪表可以帮助运营商进行协议一致性测试和验证工作,运营商也可以通过该仪表的帮助进行网络规划;在网络建成之后,可以将仪表用于网络优化,将其作为传统路测仪表的功能补充;仪表在LTE网络中,通过串接上下层协议,提供跨层智能关联分析功能,将其作为移动互联网业务支撑和分析工具。而仪表的这些分析功能是下层的解码结果为基础进行的扩展,本文的主要研究内容即LTE-A空口监测仪表NAS层消息解密的实现。

1 LTE-A系统安全

1.1 LTE-A空口监测仪简介

LTE空口监测分析仪表采用TTCN和基带平台融合的架构,可通过上位机的人机交互环境进行网络流程的增减修改及传输参数的灵活配置。通过网络爬虫、DPI和标准接口等方式从数据源上获取数据信息,将非结构化数据以结构化方式存储到本地数据文件。LTE空口监测仪表接收下来数据以后,首先需要对控制信令和数据进行解密,然后进行数据信道的解密。

1.2 LTE安全层次

LTE/SAE在安全架构中引入了层次的概念[4],分为接入层AS(Access Stratum)和非接入层NAS(Non-Access Stratum)两层。安全架构在AS和NAS信令之间相隔离,无线链路和核心网各自有不同的密钥,用户层的安全在e Node B处终止,如图1所示。

接入网安全:接入层加密与完整性保护由PDCP协议层负责实现;安全处理对象是演进接入网中的RRC信令的安全和用户面数据,使用协商一致的算法对RRC信令和用户面数据的加密,对RRC信令进行完整性保护;

非接入网安全:处理对象是演进核心网中的NAS信令,UE和MME使用协商得到的密钥和算法对NAS信令进行安全保护;NAS层安全功能由EPS移动性管理EMM(EPS Mobility Management)负责实现。

1.3 NAS加密/解密原理

NAS层加密是用户鉴权成功之后进行。加密的方法是使用已有的加密密钥流和明文数据经过加密算法就将可协议解码的明文数据转变为了密文码流数据。解密操作位于接收端,接收解密数据之前应当验证数据的完整性,验证成功以后再进行解密操作,本文研究时默认为完整性验证通过。其中加密/解密用到的参数,大部分和上述的完整性保护算法的运算参数相同,密钥参数KEY为密钥KNASenc。加密/解密过程如图2所示。

由图2得知解密的参数如下:

1)EEA:选择的加密算法,包括EEA0,EEA1,EEA2;

2)KEY:NAS机密密钥,此处应当为KNASenc。长度128 bit,可由KASME推导得出;

3)COUNT:NAS位计数器;

4)BEARER:5位的承载ID,在此处全为0;

5)DIRECTION:方向指示符,占1位,上行为0,下行为1;

6)LENGTH:对于NAS加密算法128-EEA1、128-EEA2来讲,固定为128 bits;

7)⊕表示按位异或运算。

其中,由表达式COUNT=0x00||NAS OVERFLOW||NAS SQN可计算出COUNT。具体方法是利用NAS SQN的低有效位和NAS OVERFLOW的高有效位,同时结合S1AP缓存消息中安全模式命令消息中的安全头类型、方向指示符的值等计算COUNT。解密过程中所需的其他参数包括密钥KEY和加密算法类型的获取方法会在后面的解密实现方案中介绍。

2 解密实现方案

本文解密的实质是在研究LTE-A安全过程的前提下,通过获取部分消息中的有效信息,进行密文的解密:S1接口中的EPS-AV向量中含有密钥推演过程中的关键信息;S6a接口中的消息包含加密算法类型,通过密钥推演可以得到最终密钥;获取到了加密算法类型后配以最终密钥可以对密文进行解密得出明文。具体获取密钥和加密算法类型的方法如下:

2.1 获取密钥Key

2.1.1 密钥推演

LTE-A网络中安全密钥体系[8]每一级之间的关系如图3所示,密钥之间的推演通过密钥推演函数KDF(key deduction function)得到。

由上文得知NAS解密中密钥KEY即为KNASenc,因此需要关注如何由KASME得到KNASenc,这里用的到KDF表达式为:

KNASenc=HMAC-SHA-256(KASME,S),式中各参数名称具体如下:

HMAC-SHA-256(Key,S):KDF算法,标准的256位相关密钥算法,Key为所求密钥的上一级密钥;

S:输入字节串,表达式为S:=FC‖P0‖L0‖P1‖L1;

FC=0x10,推导标识;

P0=SN id,由MCC和MNC组成的长度为8位的服务网络标识,用于解密的值是0x01;

L0=0x00 0x03;参数P0的长度;

P1=SQN⊕AK,Authentication Request消息中AUTN参数的前6个字节;

L1=0x00 0x06,即参数P1的长度。

根据KDF得到的KNASenc是256位的密钥,但NAS加密算法要求输入密钥为128 bit,所以取其中的低128位作为实际KNASenc值。

2.1.2 获取KASME

由图3得知,单纯地通过密钥推演由密钥K推导得到密钥KNASenc需要进行三步密钥推演,运算量大且复杂。本文通过对AKA过程进行研究得出AIA消息中的EPS-AV向量中包含有KASME的信息。只需进行一步密钥推演就可以从KASME得到KNASenc,极大地简化了获取最终密钥Key的过程。AKA过程如图4所示。

如图4所示,UE发起“NAS初始消息”来触发AKA过程,此处的消息采用Diameter协议。初始消息都是从网络侧发出,位于S6a接口。当MME收到UE发来的NAS消息后,MME通过认证数据请求消息AIR(Authentication Info Request)向HSS请求认证矢量,HSS收到后发送认证响应消息AIA(Authentication Info Answer)返还给MME。AIR包括含有UE的IMSI,服务网络标识(MCC+MNC),网络类型(E-UTRAN)。认证成功后的AIA包含成功的结果消息以及此时的鉴权向量EPS-AV。此向量中包含了KASME、校验鉴权令牌AUTN、随机数RAND和XRES,其中KASME是解密的关键。

MME将认证矢量和鉴权请求发送给UE,鉴权成功则继续进行后续过程。MME将RAND和AUTN发送到UE中的USIM。UE收到此消息后通过存在的MAC值和收到的MAC值进行比较来检验AUTN的合法性。此处的消息位于S1接口,由S1-AP Downlink NAS Transport消息承载。

2.2 获取加密算法类型

2.2.1 安全交互过程

通常情况下,即使在已知KNASenc的情况下进行解密运算需要对密文和加密算法进行遍历匹配,匹配成功后再进行解密运算。本文通过对SMC过程的研究发现,此过程中的消息含有加密信息的加密算法类型。本文通过获取此消息中的算法信息省去了遍历匹配过程,直接对密文进行解密。

鉴权成功过后会执行NAS层的安全交互过程SMC(Security Mode Command),加密消息使用的加密算法类型可以在此处进行获取。当SMC验证成功后,UE将会把SMC消息返还给MME。此时的SMC消息承载了数据安全保护使用的算法类型标识,所使用的加密以及完整性保护算法类型都在此标识中。数据的加密和完整性保护在此消息过后进行。只有对这些消息进行解密才能获取其携带的信息。该消息格式如图5所示。

如图6所示:控制过程开始时,UE首先要校验收到的SMC消息数据是否完整,待校验完成,UE回应给MME一个包含安全模式命令完成消息的上行数据,并且该消息已经被加密并同时被完整保护。若SMC消息没有能够通过验证,UE回应一条拒绝消息。

2.2.2 加密算法简介

加密算法有三种类型:EEA0、EEA1和EEA2[3];完整性保护算法有三种类型:EIA0、EIA1和EIA2。本文实际程序设计时不考虑完整性算法,只作简单介绍。并且设计时只考虑了SNOW 3G算法和AES算法(即EEA1和EEA2)的解密。

本文中EEA1解密函数:

void f8(u8*key,u32 count,u32 bearer,u32 dir,u8*data,u32length)

本文中EEA2解密函数:

int aes_crypt_ctr(aes_context*ctx,size_t length,size_t*nc_off,unsigned char nonce_counter[16],unsigned char stream_block[16],const unsigned char*input,unsigned char*output)

3 程序设计与结果分析

3.1 程序设计

程序流程如图7所示。

依照本文的解密方法,首先需要获取S1接口和S6a接口的相关数据,并存入预先初始化的哈希表中。具体操作方式如图7所示:在完成哈希表的初始化后,需要两个函数来分别获取和存储S1接口和S6a接口的数据。这两个函数先将CDR中的IMSI信息关联或复制到哈希表中然后进行检测,消息存在则进行下一步。如果哈希表没有检测到这个消息则需要建立中间节点,将消息复制到中间节点后再映射到哈希表中。

在对密文进行解密前,需要计算出COUNT的值。COUNT由以下几个部分拼接而成:

COUNT=00x0|NAS OVERFLOW|NAS SQN;因此需要对COUNT本身NAS溢出量NAS OVERFLOW和NAS SQN(包含上下行)进行定义。COUNT运算之前需要进行上下行清零,具体运算方式如下:

当NAS SQN消息与NAS_SQN上一次序列号变量之差的绝对值大于等于128,则表明有溢出,将NAS OVERFLOW加一;再将此时变量当前序列号NAS SQN赋值给上一次的序列号变量;得到溢出计数NAS OVERFLOW后通过串联NAS SQN的高有效位和NAS OVERFLOW的低有效位来获得计数器COUNT值,并用于后面的解密运算。

完成COUNT计算之后,通过前面获取的KASME和相应的KDF函数推导出KNASenc。再将之前获得的算法类型信息匹配对应的函数进行解密,得到最终的结果。

3.2 结果分析

图8和图9分别是通过wireshark采集到的S1接口和S6a接口的数据。可以看到获取到的KASME和加密算法类型。

图10和图11分别是消息解密前和解密后的状态。如图所示,标号为11号的消息中加密消息,经过解密运算后变为明文消息,表示解密成功,解密程序有效性得到验证。

4 结语

本文针对LTE-A空口监测仪NAS层中的加密信息,运用C++编程实现了加密信息的解密。本文首先叙述LTE-A空口监测仪、LTE安全层次和NAS中加密/解密过程,并介绍了实现解密需要的参数。然后描述了NAS密钥获取方式,具体介绍了密钥推演过程和KASME的获取方法。在介绍从S1接口获取加密算法类型方法的同时也对SNOW3G和AES两种加密算法进行了概述。完成了程序的流程设计,并对流程中的关键点进行了文字说明。最后给出了在Wireshark软件中获取KASME、加密算法类型以及加密消息解密前后变化的实例图,得出解密通过的结论。

参考文献

[1]3GPP TS33.401 V12.9.0 Group Services and System Aspects;3GPP System Architecture Evolution(SAE);Security architecture[S].2013.09.

[2]Yu D,Wen W.Non-access-stratum request attack in E-UTRAN[C]//Computing,Communications and Applications Conference(Com Com Ap),IEEE,2012:48-53.

[3]Bikos A N,Sklavos N.LTE/SAE security issues on 4G wireless networks[J].Security&Privacy,IEEE,2013,11(2):55-62.

[4]Orhanou G,El Hajji S,Bentaleb Y,et al.EPS Confidentiality and Integrity mechanisms Algorithmic Approach[J].International Journal of Computer Science Issues(IJCSI),2010,7(4):12-14.

[5]张金辉,郭晓彪,符鑫.AES加密算法分析及其在信息安全中的应用[J].信息网络安全,2011(5):31-33.

[6]Orhanou G,El Hajji S,Bentaleb Y.EPS AES-based confidentiality and integrity algorithms:Complexity study[C]//Multimedia Computing and Systems,2011 International Conference on.IEEE,2011:1-4.

[7]3GPP TS33.401 V12.9.0 Group Services and System Aspects;3GPP System Architecture Evolution(SAE);Security architecture[S].2013.9.

[8]张文建,彭建华,黄开枝.一种基于空中接口和核心网协同的LTE系统密钥推演方法[J].计算机应用研究,2013,30(9):2755-2758.

[9]Abdo J B,Chaouchi H,Aoude M.Ensured confidentiality authentication and key agreement protocol for EPS[C]//Broadband Networks and Fast Internet(RELABIRA),2012 Symposium on.IEEE,2012:73-77.

[10]闻英友,陈书义,赵大哲,等.3GPP框架下的UMTS核心网安全体系研究[J].计算机工程,2007,33(20):153-155.

[11]李文峰,杜彦辉.密码学在网络安全中的应用[J].信息网络安全,2009,4(4):1-4.

上一篇:四联疗法下一篇:会展传播