APP下载

一种身份认证中心的系统测试设计和实现

2020-02-23周会娜梁鸿斌

电声技术 2020年9期
关键词:报文消息身份

周会娜,廖 玲,凡 霞,梁鸿斌

(成都三零瑞通移动通信有限公司,四川 成都 610041)

0 引言

近年来,针对宽带移动通信的安全需求,宽带移动通信系统的身份认证分系统(简称身份认证系统或认证系统)应运而生。身份认证分系统使用国际标准算法,与通信网络设备一起,实现了宽带移动通信系统网络内用户身份认证功能。检验认证系统是否满足用户安全需求,找出认证系统中存在的错误和缺陷,越来越受到研制方和用户单位的重视。身份认证中心作为认证系统的核心设备,尤其需要重点测试。

1 背景概述

介绍的身份认证系统运行在宽带移动通信系统分时长期演进(Time Division Long Term Evolution,TD-LTE)网络[1]中。身份认证系统实现了宽带移动通信网络中通信终端用户的身份认证,并利用身份认证中心统一实现用户和网络的双向认证。本文的测试对象为身份认证中心,通信终端(简称终端)和身份认证卡(简称身份卡)为陪测设备。

1.1 系统组成

宽带移动通信系统由身份认证网络、移动通信网络和通信终端设备(安装了身份卡的通信终端)组成,如图1 所示。

1.2 系统介绍

身份认证网络包括身份认证中心服务器、操作终端和身份卡读写卡器。身份认证中心服务器是一台安装了身份认证专用软件并配备了数字钥匙的商用服务器。操作终端是一台通用计算机,是身份认证中心管理员的操作平台,通过局域网与身份认证中心服务器连接。整个系统设计容量不低于20 万终端用户。

1.3 核心指标

针对身份认证中心核心业务指标开展测试方案设计,即“终端身份认证”相关指标,本文不涉及运行和维护等辅助功能。本文的测试对象为身份认证中心,主要涉及身份认证系统中终端用户身份认证业务。移动通信网络作为信息传输通道,不加赘述。身份认证中心核心业务指标要求身份认证成功率大于99.99%,同时并发处理能力≥300 次/秒(T=300 次)。需要说明,系统指标要求容量不小于20 万用户。

2 身份认证原理

为了防止非授权用户使用系统提供的服务,系统设计了基于ECC 非对称算法的认证安全机制[2]。开始认证时,首先由终端发送在线认证请求消息给身份认证中心,且在线认证消息携带了身份卡的相关信息。身份认证中心收到认证请求后确认身份卡信息,验证通过后再下发认证响应(认证响应消息携带了身份认证中心相关信息)。身份卡确认身份认证中心信息,验证通过后完成整个认证过程。认证原理如图2 所示。

整个认证过程中,认证请求和认证响应是关键部分。核心网对认证相关的消息不做处理,采用透明传输的方式完成消息传递。后续的测试活动中将不再对其进行关注和描述。此外,检测卡信息和回应监测消息为准备活动。

3 测试设计

3.1 测试分析

结合用户使用场景和核心业务指标,针对身份认证中心独特的网络位置和功性能属性进行分析,测试重点如下。

第一,对指标中要求的身份认证成功率和并发处理能力进行定量测试,给出具体实测结果数据,并该数据作为后续测试的基准数据。

第二,在用户实际使用中,身份认证中心在全网中处于核心位置,需要7×24 h 全天候正常运行。如果故障可能导致全网瘫痪,需对其稳定性进行测试。

第三,集体性紧急事件发生时,会出现短时间内大量用户集中进行认证的情况。如果身份认证中心对短时间大量认证请求处理不当,可能会导致系统宕机,同时需为系统部署方案提供参考数据,故需对其进行压力测试。

第四,作为设备的制造方,需要掌握系统在极限情况下处理能力的具体实测数据。系统设计数据与该数据进行对比,从而为下一步寻找系统指标优化空间提供参考。因此,需要进行系统极限测试。

第五,身份认证中心处于核心网络交换环境,运行环境复杂,尤其是网络出现异常报文时,系统能否依然正常对外提供服务以及设备容错能力和健壮性是否良好至关重要。因此,需要进行鲁棒性测试。

3.2 测试设计

针对“认证成功率”这一项指标进行测试时,需陪测设备(或软件)向身份认证中心发送认证请求1 000 800 次,身份认证中心对应产生的认证响应的失败次数不能大于100 次。如果在真实网络环境中,需使用终端向身份认证中心发送认证请求,耗时约8 340 h。可见,测试周期过长,效率低,不可取。如果采用商用发包工具,发包的格式不能满足认证协议的特定要求,无法实施,不可取。基于以上分析,兼顾测试效率和有效性两方面的考虑,本次测试采用半仿真的测试方案和数据驱动的方式完成。针对“并发处理能力”这一项指标,将结合“认证成功率”一并完成测试设计。两项测试从不同的维度对设备进行考核,采用统一的测试方案。测试方案需要考虑测试充分性、有效性和测试-可实施性,同时需要兼顾指标以外用户实际使用时可能遇到的场景。测试思路、测试内容和测试方法如下所述。

3.2.1 测试思路

身份认证中心(简称认证)的认证原理是一问一答的方式,协议类型为UDP 报文[3]。采用发包软件模拟用户入网认证的方式,对身份认证中心进行半仿真测试。通过注入不同的测试数据,驱动身份认证中心做出回应。其中,发包软件的后台模块“报文分析模块”集成了测试数据的生成和测试结果的判断及分析两项功能,可成功实现自动化测试。“报文分析模块”中实现了与身份卡相同的算法和协议,可以完全模拟身份卡。系统指标要求容量不小于20 万用户,故在测试过程中系统中注册20 万用户作为背景数据,且测试过程中所使用的数据尽量从20 万用户中随机选取,使测试的数据尽量具有统计特性。

3.2.2 测试原理

自行开发的“发包软件”和“报文分析模块”分别模拟实际网络中的终端和身份卡,实现“认证消息”的发送、“认证消息数据”的生产、“认证响应”的分析和“认证结果”的统计。认证测试的原理如图3 所示。

认证测试过程分3 个阶段,包括产生认证消息、身份认证处理以及解析认证响应。具体流程为:发包软件向报文分析模块发送生成认证消息的申请;报文分析模块将组装好的认证消息返回给发包软件,此时认证消息已产生,产生认证消息阶段交互如图4 所示;发包软件将认证消息发送给身份认证中心;身份认证中心完成终端身份认证后,将认证响应及资源下载返回给发包软件;发包软件向报文分析模块发送分析认证响应;报文分析模块对认证响应分析后将结果返回至发包软件,解析认证阶段交互图如图5 所示;发包软件向身份认证中心返回认证结果。

产生认证消息阶段交互如图4 所示,详细过程如下:通过人机交互界面设置并启动发包,发包软件按照界面设置的策略生成终端用户标识,将终端用户标识放入消息队列;报文解析模块读取到消息队列中终端用户标识,然后检索数据库,检索成功则继续执行,否则检索失败上报告警。检索成功后,报文解析模块调用软算法生成认证参数D1、D2、D3,并将认证参数放入消息队列;发包软件从消息队列中读取认证参数后,按照协议依次填充报文结构,填充网络协议头,并将认证消息从指定端口发送出去,本次发包结束。

解析认证响应阶段交互如图5 所示,详细过程如下:发包软件接收到认证响应消息后,剥离网协议头,并将待处理的数据放入消息队列;报文解析模块从消息队列中读取数据,并解析数据,读取终端用户ID,通过标识检索数据库。检索成功后,报文解析模块调用软算法生成认证参数D4、D5,将D4、D5与报文中对应字段进行比较,并将比较结果放入消息队列;发包软件从消息队列中读取比较结果,并汇总认证响应成功个数生成报表,本次解析结束;检索失败;则上报告警。

4 测试实现

4.1 测试环境

实际的测试环境是现网实际运行环境的精简版。由于整个认证过程中,核心网对认证相关的消息实施透明传输,故测试环境不涉及该设备。被测设备为身份认证中心,测试活动在以太网中进行,陪测设备为测试计算机、测试软件和路由器等,如图6 所示。陪测软件主要使用Wireshark[4]抓取响应报文。

4.2 测试项目

4.2.1 成功率测试

使用测试软件(包括报文分析模块和发包软件)模拟身份卡和终端向身份认证中心发送认证请求,共请求1 000 800 个包,并记录认证成功的次数,根据所得数据认证成功率。结果显示,2 h 设备运行正常,认证失败的包数不超过100 个。此处成功率的计算方法为,以139 个/秒频率发送认证请求,2 h 时累计发包数为1 000 800 次(139×60×60×2=1 000 800 个),累计丢包100 个,故成功率为(1-100/1 000 800)×100=99.990 01%。按上述测试方法,实际测试3 次,认证失败的包数均为0 个。

4.2.2 并发测试

并发测试通过模拟多个用户同时向身份认证中心发起认证请求,验证身份认证中心是否能够在短时间内并发处理。以T次/秒的速度向身份认证中心发送认证请求,所有的认证请求身份认证中心应均可以回复响应包,无丢包。按上述测试方法,实际测试结果与预期结果一致。

4.2.3 稳定性测试

稳定性测试通过模拟多个用户同时向身份认证中心发起认证请求,验证身份认证中心满负荷运行时是否可能平稳运行,是否存在如线程死锁、进程异常退出等问题。以T次/秒的速度向身份认证中心发送认证请求。连续长时间运行,身份认证中心可以正常响应认证请求,设备各项指标应正常。按上述测试方法,实际测试结果与预期结果一致。

4.2.4 压力测试

模拟用户正常使用场景,结合测试周期,压力测试采用自动化测试,168 h 不间断,观测设备是否长时间正常运行,以及是否存在系统资源异常如内存泄漏、资源争用等问题。按上述测试方法,实际测试发现设备可长时间正常运行,未发现系统资源异常等情况。

4.2.5 极限测试

在并发测试的基础上,通过逐步提高发包速度观测身份认证中心能否正常响应,从而得出系统的极限并发处理能力,目的在于得到系统最大处理并发认证请求能力的数据。以T次/秒的速度向身份认证中心发送认证请求,随后以一定比例的步进逐步提高发包速率,直至身份认证中心无法正常响应认证请求的情况出现。按上述测试方法,实际测试发现T=500 次/秒时,身份认证中心开始无法正常响应认证请求。

4.2.6 鲁棒性测试

模拟用户正常使用场景,在正常认证请求中增加网络中可能出现的异常报文,观测系统是否能够正常运行。异常报文包括传输过程中正常报文被截断、正常报文的关键字节被修改(如校验位、报文长度位、报文类型位等)以及超长包等。按上述测试方法,实际测试发现身份认证中心运行70 min后,开始无法正常响应认证请求。

5 结语

针对认证系统的核心功能,提供了充分、详细的测试方案。测试方案涵盖身份认证系统的稳定性、鲁棒性及并发测试、压力测试和极限测试等。测试方法[5]包括半仿真测试,实现了自动化测试,与普通测试方案和方法比,较好地提高了测试的覆盖面和测试效率。基于身份认证中心在网络中所处的位置,经过本次测试结果数据的分析,提出身份认证中心设备需要增加冗余设计,以减少单设备出现故障时对全网的影响。

猜你喜欢

报文消息身份
基于J1939 协议多包报文的时序研究及应用
以太网QoS技术研究及实践
一张图看5G消息
浅析反驳类报文要点
晚步见道旁花开
跟踪导练(三)(5)
妈妈的N种身份
身份案(下)
放松一下 隐瞒身份
1588v2中的PTP报文格式及应用