基于SIP的专用移动通信系统密钥分发方法

2020-07-27 03:43:34罗国明郭继斌魏克峰
指挥控制与仿真 2020年4期
关键词:会话专网密钥

董 锵,罗国明,朱 磊,郭继斌,魏克峰

(1.陆军工程大学通信工程学院,江苏 南京 210000; 2.中国人民解放军61623部队,北京 100093)

由于历史原因,我国电力、水电、交通、军事、金融等行业已经建成内部PSTN、VPN(虚拟专网)等多种通信专网。然而这些网络存在业务扩展性较差,网络间不能很好融合的问题[1]。IMS网络架构是由国际标准组织3GPP首先提出并逐步发展的一种基于SIP的开放业务体系结构,与传统网络相比更加合理、清晰[2]。IMS核心网技术属地控制机制和开放业务体系,在军民融合的专网建设中具有功能可控、用户可管、安全保密等特点,是专网演进发展的主要方向。专网现有主要的会话密钥分发方式有短信、USSD(非结构化补充数据业务)等方法,这些方法在原有的技术条件阶段起到了传递会话密钥的作用,但已经不适合新的IMS网络环境。文献[3]提出了一种结合SIP信令呼叫建立流程的密钥分发方法,但额外消息开销较多,效率不高;文献[4]提出了一种增设媒体串接设备利用RTP包直接交换密钥的方法,但不适用于移动终端的会话密钥分发。

本文对现有密钥分发方法进行研究和比较,针对IMS专网保密通信需要,对文献[3]的方法进行改进,提出了2种嵌入呼叫建立流程的低时延密钥分发方法。

1 现有密钥分发方式及特点

1.1 短消息方式

短消息是蜂窝移动通信系统基于无线控制信道和信令的基本数据业务。应用广泛、覆盖面大。利用其作为会话工作密钥的协商和分发手段具有实现简单、终端和系统改造代价小等优点[5]。但短信的实时性不够好,特别是当密钥协商需要多次交互时,时延较大、用户体验较差。此外,短信易受到基站话务负荷和网络调整等因素的影响。

1.2 USSD方式

USSD(无结构化补充数据业务)称为“超级短信”,是一种基于GSM系统的交互式补充数据业务,它是在短消息基础上推出的业务,具有快速方便、覆盖面广、实时性和安全性较高等特点。与短消息方式不同,USSD采用面向连接方式,提供透明的数据传输通道,是低速会话型业务的理想载体,主要用于工业控制和信息查询服务。利用USSD作为密钥传输可靠性和实时性较好,但编码方式和消息长度受限(小于160个字节),无线信道繁忙时可靠性差,且各基站可同时开通的USSD连接数量、速率受限。USSD属于电路域数据业务,不适应新的移动网络。该方式与呼叫接续完全分离,难以实现与呼叫控制的紧密协同。

1.3 使用SIP方法的INFO方式

文献[3]提出的是一种结合会话建立过程中SIP信令流程的会话密钥传递方式。该方式中,S-CSCF(服务呼叫会话控制功能)收到带有密话需要的INVITE请求消息时,触发iFC(初始过滤准则),暂停转发该请求消息,向KDC发起密钥分发请求。KDC利用INFO方法向主叫完成密钥分发并通知CSCF。CSCF继续呼叫建立流程,以同样方式触发KDC再向被叫密钥分发。

该方式与呼叫建立过程结合较紧密,但也存在三点不足。一是要求S-CSCF必须有暂停原INVITE消息并向KDC发起密钥分发请求的特殊功能。二是呼叫中KDC需要分别与主被叫进行交互,增加了时延。三是KDC必须保证前后两次分发的会话密钥一致。文献[3]对KDC性能提出了更高要求,而理论上KDC为特定的会话生成一次密钥即完成自己的任务。

1.4 串接媒体安全设备的方式

文献[4]提出在SIP终端群组出口处串接媒体安全设备,通过SIP建立通话后,安全设备直接利用RTP包进行密钥协商。该方式避免了在核心网部署KDC等安全设备,不需要进行复杂的验证测试工作,不需要配置新的过滤准则,也不对支持SIP的终端提出额外要求。

该方法能够较好地满足固定SIP终端的密话通信需求,便于将传统固话专网接入IMS网络,但是要适用移动终端,就需要在每个专网SIP终端可能接入的基站部署媒体安全设备,这既带来高昂的成本,也带来风险。同时,该方案分布式部署安全设备,增加了安全设备管理维护的难度。

2 两种新型密钥分发方案设计

本文在改进文献[3]方案的基础上,提出2种新的利用SIP/SDP协议拓展机制,结合呼叫建立过程以实现密钥分发的方案,进一步提高密钥分发效率。新方案利用SIP信令传递会话密钥能对专网内的移动和固定终端进行统一的密话呼叫管理。同时,该方法也利于发挥IMS网络的灵活性,可与原有系统相兼容。未来产生新的密钥分发技术时,也可以视作新应用而快速部署。

2.1 嵌入呼叫的密钥分发触发机制

过滤准则是S-CSCF从归属用户服务器HSS或应用服务器AS接收的信息,它定义了针对特定应用的业务触发点SPT,即S-CSCF所接收的请求中哪些将被发送或代理到特定的应用[7]。用户成功注册后,代理CSCF从用户所属HSS中下载储存该用户适用的过滤准则,当收到该用户发出的请求时,根据过滤准则将请求路由到准则指定的地址,以实现新应用的功能。其业务触发结构如图1所示。

图1 业务触发结构

该机制将密钥分发视为一种特殊的通信需求,设置具有特殊功能的AS以满足这一需求。当用户需要进行密话通信时,发送的呼叫建立请求应当对SIP消息设置相应的SPT。规定FC(过滤准则)以使得S-CSCF发送或代理有密钥分发需求的SIP消息到指定的应用服务器。本文将KDC视为实现密钥分发功能的AS。

2.2 基于SIP的密钥分发触发方法

基于SIP扩展机制实现密钥分发业务触发功能可以采用下列三种方法。

1)通过定义新的SIP方法传递密钥信息。定义新的SIP方法,比如INVITES(以示与标准SIP方法INVITE的区别)以及相应的业务逻辑来实现密钥分发业务。但是,根据RFC3261[8],当一个UAS接收到一个请求后,首先对其方法进行识别,如果不能识别,则返回405消息(不允许的方法)。因此,这种方式需要对专用IMS相关网元进行升级。该方式不利于专网的兼容和拓展,同时也使得专网移动用户在非专网覆盖的范围内进行通信时,不再具有加密通信的能力。

2)通过定义新的头字段传递密钥信息。RFC3261[8]规定,当一个服务器收到的SIP消息中含有陌生头字段时,将忽视该头字段并按正常流程处理SIP消息,原封不动地将该头字段继续向下一个SIP实体传递。当定义新的头字段传递密钥信息时,含有该头字段的消息可以畅通无阻地在使用SIP的IMS各网元中传递,具有良好的兼容性。位于非专网覆盖范围的专网移动用户同样可以通过所在地的代理服务器接入专网并发起密话请求。

3)利用消息体扩展进行密钥分发。被SIP消息携带的消息体通常是会话描述符,但它也可以由任何不透明的内容组成,因为SIP代理不需要检查消息体[9]。用户可以根据需要在消息体中使用SDP(会话描述协议)、XML(可扩展标记语言)甚至自己定义的标识系统,在不明确指定时,SIP默认消息体为UTF-8编码的文本。SIP消息体机制同样提供了极大的灵活性和可扩展性。

根据以上分析,本文采用拓展SIP头字段和消息体的方式来实现密钥分发。

2.3 使用消息体“k=”字段的方法

SDP中的“k=”字段被保留用于密钥传递[10]。将SIP消息体中“k=”字段的值作为触发密钥分发的SPT,利用初始过滤准则将建立密话的INVITE请求路由到KDC以取得密钥信息。KDC全程参与会话建立过程,回送200 OK后退出事务。一次成功的密话呼叫建立流程如图2所示。

图2 利用消息体的密话呼叫建立流程

终端a发起向终端b的密话请求时,在INVITE消息的消息体中“k=”字段携带密钥分发标识符。该INVITE消息路由到KDC后,KDC修改“k=”字段内容给终端b的会话密钥。终端b接收修改后的INVITE消息后即获得会话密钥。被叫用户摘机后,终端b回应200 OK消息。KDC按同样方式对此200 OK消息进行修改,向终端a分发会话密钥。

这一方法的密话建立流程与普通通话建立流程相比,SIP消息交互过程仅仅增加KDC一个节点。其中主被叫会话密钥是一致的,但在向主叫和被叫分发会话密钥的过程中,可以分别用适用于主叫和被叫的方法对密钥进行加密。与文献[3]的方法相比,本方法仅需要CSCF将需要密钥分发的通话请求路由发到KDC进行处理,不需要S-CSCF对KDC发送额外的密钥分发请求,不需要KDC发起对主、被叫终端的消息交互。因此本方法与呼叫建立过程结合紧密,具有较好的适应性、灵活性。

2.4 定义SIP头字段Session-key的方法

SIP中的UAC收到3XX回应后,可以从3XX回应的Contact头字段提取参数,对INVITE消息进行修改并发送[8]。此方式定义新头字段Session-key用于密钥信息的请求与传递。一次成功的密话呼叫建立流程见图3。其中,KS是会话密钥,KA是终端a公钥,KB是终端设备b公钥,SafeInfo是含有KDC签名及本次会话相关鉴权数据的安全信息;user@host为终端b的URI(由KDC从收到的INVITE消息中To字段提取),是Contact头字段语法结构包含的组件。

图3 结合呼叫建立拓展SIP头进行密钥分发流程

KDC在收到密钥分发请求后,将密钥相关信息通过3XX响应的Contact头字段回送CSCF,并使自己退出后续事务。CSCF根据3XX响应消息修改INVITE消息的Session-Key头字段密钥相关信息,并发送给终端b。终端b收到密钥信息,发送带有给终端a密钥信息的200 OK响应消息。

这一方法通过使用3XX响应消息,使得KDC在进行一次密钥分发后主动退出呼叫过程,减少了KDC在密话处理中的参与时间,有助于优化密话建立过程。

3 几种密钥分发方式的比较

几种密钥分发方式的比较如表1所示。本文提出的密钥分发方式相比较于传统方式而言,具有密钥分发过程与呼叫控制过程紧密结合、密话建立时间短、用户体验好、业务部署快、适应性强、兼容性好的特点。特别是本文提出的基于SIP信令的密钥分发方案,因其对IMS系统影响较小,更适用于融合背景下得专用IMS网络部署。

表1 几种密钥分发方法比较

本文提出的密钥分发方式适用于专公融合的IMS网络。使用“k=”字段密钥分发时,专用网络仅需部署自主控制的HSS、KDC服务器,使用运营商的承载层、控制层设备,即可提供专网终端的密钥分发功能,实现自主可控的保密通信。当专用网络用户进一步部署归属域S-CSCF时,采用定义新头字段密钥分发方法则将进一步降低KDC负担,减少密话呼叫建立时延。

4 技术实验与验证

为验证上述方案,本文搭建实验环境如图4所示。2台PC分别模拟终端a和终端b;1台PC实现CSCF功能;1台PC实现HSS服务器,对用户数据、权限进行管理;1台PC实现KDC功能,进行密钥的生成和发送。所有设备均连接到同一局域网内,采用抓包软件检验密钥分发交互过程。

图4 基于SIP的密钥分发实验验证环境组织图

4.1 使用消息体“k=”字段密钥分发的实验

表2是抓取的通过CSCF的数据包,验证了图2所示的利用消息体进行密钥分发的呼叫建立流程。终端a向终端b发起的密话呼叫建立过程是经过KDC完成的,主叫的INVITE消息和被叫的200 OK 消息均经过了KDC。

表2 利用SIP消息体密钥分发的呼叫结果

图5中,67号包是终端a发出的INVITE消息,69号包是KDC转发的INVITE消息,84号包是终端b响应的200 OK消息,86号包是KDC转发的200 OK消息。69号包的消息体内“k=”字段(即抓包中的Encryption Key(k):部分)携带有密钥分发标识,该消息经过KDC后消息体“k=”字段出现了给被叫的会话密钥信息。被叫收到含密钥信息的呼叫请求后,回应的200 OK消息体“k=”字段含有密钥分发标识。该回应经过KDC后消息体“k=”字段出现了给主叫的会话密钥信息。会话密钥成功传递给了主叫和被叫,密话建立。

图5 利用SIP消息体密钥分发的实验结果

实验结果表明,结合呼叫建立流程,利用消息体传递专网端到端会话密钥的方法是可行的。

4.2 定义SIP头字段Session-key的密钥分发实验

表3实验结果验证了图2所示的定义SIP头字段密钥分发的呼叫建立流程。

图6验证了会话密钥信息在SIP消息进出KDC及被叫前后的改变是符合图3所示的呼叫建立流程的。97号包是终端a发出的密话INVITE消息,该消息含有Session-Key头字段。98号包是KDC的回应302消息,其中Contact字段包含了给CSCF的密钥相关信息,此时Session-Key字段仍然为空。99号包是CSCF发给终端b的INVITE消息,可见CSCF根据收到的302消息修改了INVITE消息的Session-Key头字段内容。123号包是终端b收到密钥信息后发送的200 OK响应消息,其Session-Key头字段修改为给主叫的会话密钥信息。

图6 定义SIP头字段密钥分发的实验结果

实验结果验证了本文所提出供IMS专网端到端会话密钥分发的2种方式都是可行的。

表3 定义SIP头字段密钥分发的实验结果

5 结束语

SIP协议是IMS的核心协议。针对IMS专网会话密钥的分发需求,本文提供了2种可行方案,紧密结合了基于SIP的呼叫建立流程,缩短了密话呼叫建立时延。在IMS专网的部署和发展中,本文的方案还有其他演进方向。如结合使用消息头域和消息体共同进行密钥分发。即在设计使用专网专控的具有特殊功能的S-CSCF前提下,可以使用自定义的SIP头来触发密钥分发操作。KDC在向S-CSCF发送响应时,仅在SIP消息头域中带有密话标识,而将密钥消息以加密后的消息体进行传递,进一步增强密话的安全性。此外,如何结合多方会议的呼叫流程分发会议密钥也有待进一步研究。

猜你喜欢
会话专网密钥
探索企业创新密钥
密码系统中密钥的状态与保护*
无线专网通信在武汉配电自动化中的应用
活力(2019年21期)2019-04-01 12:17:12
无线通信技术在电力通信专网中的应用
一种对称密钥的密钥管理方法及系统
基于ECC的智能家居密钥管理机制的实现
电信科学(2017年6期)2017-07-01 15:45:06
有意冒犯性言语的会话含义分析
汉语教材中的会话结构特征及其语用功能呈现——基于85个会话片段的个案研究
我国警用通信专网与公网比较研究
警察技术(2015年3期)2015-02-27 15:36:53
PTN在京津塘高速公路视频专网中的应用