安全机制协商


安全机制协商

一、初始注册的协商处理

当前IMS的唯一安全机制是IPSec,但考虑为了以后向后兼容性问题,因此设计了SIP安全机制协定,以使UEP-CSCF间可以协商和采用一个共同的安全机制。

 

 

1UE初始Register请求协带安全机制协定有关的消息头。

REGISTERsip:ue@ims.test SIP/2.0

Require:sec-agree

Proxy- Require:sec-agree

Security-Client:ipsec-3gpp;alg=hmac-sha-1-96;spi-c=23456789;spi-s=12345678;port-c=2468;port-s=1357

 

  • Proxy-Require头域包含sec-agree,它指示下一跳代理必须支持SIP安全协定过程才能进一步处理本请求。

  • Require头域也包含sec-agree,和Proxy-Require头域类似也是用于信令扩冲,但这个头域作用于远端UE(而非代理),主要防止这个请求没有经过P-CSCF代理,而直接发往目的地S-CSCF,而S-CSCF不检查Proxy-Require值,导致安全机制无法协商完成。

  • Security-Client头域将所支持的所有安全机制列表发送给P-CSCF,其中参数包括:

    Alg:用于IPsec加密所使用的算法

    Port-c Port-S:用于UE侧的IPSec SA所使用的受保护客户端端口和受保护的服务端口

    SPI:用于受保护的客户端安全参数索引、受保护的服务端安全参数索引。

     

    2P-CSCF转发注册请求给S-CSCF

    由于安全机制是建立在UEP-CSCF之间的,所以P-CSCF在转发注册请求时,会删除所有和安全协商有关的字段。

 

3P-CSCF转发401响应给UE

当接收到来自S-CSCF对注册401响应后,P-CSCFSecurity-Server消息头中包含自身所支持的安全机制列表。

 

SIP/2.0 401 Unauthorized

Security-Server : ipsec-3gpp;alg=hmac-sha-1-96;spi-c=98765432;spi-s=87654321;port-c=8642;port-s=7531

 

当前P-CSCFUE回应,他也支持IPSec安全机制,同时同样协带关于SPI和受保护的客户端和服务端端口等与IPSec有关的信息。

 

4UE发起第二个Register消息

在接收到401响应后,UE就可以建立IPSec SA了。当这完成之后,它可以使用已经建立起来的SA来发送第二个Register请求。

 

REGISTER sip:ue@ims.test SIP/2.0

Require: sec-agree

Proxy- Require: sec-agree

Security-Client:ipsec-3gpp;alg=hmac-sha-1-96;spi-c=23456789;spi-s=12345678;port-c=2468;port-s=1357

Security-Verity: :ipsec-3gpp;alg=hmac-sha-1-96;spi-c=98765432;spi-s=87654321;port-c=8642;port-s=7531

 

Security-Verity头域的值是从P-CSCF应答消息中Security-Server头域复制过来的,而Security-Client头域的值仍为第一个Register消息时使用的值。

 

5P-CSCF转发第二次注册请求给S-CSCF

P-CSCF将会比较初始和第二个Register请求中的两个Security-Client头域,看它们是否匹配。它还会比较它所发送的401响应中的Security-Server头域是否与它收到的第二个Register请求中的Security-Verity头域一致。

 

在进一步转发这个Register请求之前,P-CSCFSecurity-ClientSecurity-Verity从消息头中删除。

二、注册刷新的协商处理

在每次重注册过程中,S-CSCF都可以决定对UE进行重新认证。通过重新认证,它强制UEP-CSCF之间必须重新建立一组新的IPSec SA,因为这些IPSec SA所依赖的IK在每次重认证过程中已经改变。

 

  1. UE发起重注册请求

    REGISTERsip:ue@ims.test SIP/2.0

    Require:sec-agree

    Proxy- Require:sec-agree

    Security-Client:ipsec-3gpp;alg=hmac-sha-1-96;spi-c=23456790;spi-s=12345688;port-c=2468;port-s=1359

Security-Verity::ipsec-3gpp;alg=hmac-sha-1-96;spi-c=98765432;spi-s=87654321;port-c=8642;port-s=7531

 

注意这里在进行重新协商SA时,仅修改了SPI-CSPI-SPORT-C,没有修改PORT-S,这是因为受保护的服务端口如果发生改变,将产生很多问题,比如UE需要对所有已建立的对话发送reinvite,因为联系它的服务端口已经改变。

 

Security-Verity头域的值没有改变,为最后一次收到Security-Server头域值的复制。

 

2P-CSCF转发注册请求给S-CSCF

由于安全机制是建立在UEP-CSCF之间的,所以P-CSCF在转发注册请求时,会删除所有和安全协商有关的字段。

 

3P-CSCF转发401响应给UE

当接收到来自S-CSCF对注册401响应后,P-CSCF在这个响应中添加新的Security-Server消息头,提供新的受保护客户端口及SPI参数索引。

 

注意这里没有修改PORT-S,这是因为如果受保护的服务端口被修改会带来很多问题,比如:P-CSCF就不得不在旧的受保护服务端口上接收来自UE对已建立对话的所有后续事务请求,因为SIP不能对已建立的对话变更路由信息。

 

SIP/2.0 401Unauthorized

Security-Server: ipsec-3gpp;alg=hmac-sha-1-96;spi-c=98765457;spi-s=87654333;port-c=8656;port-s=7531

 

4UE发起第二个Register消息

在接收到401响应后,UE就建立了新的IPSec SA。当这完成之后,它可以使用已经建立起来的新的SA来发送第二个Register请求。

 

REGISTERsip:ue@ims.test SIP/2.0

Require:sec-agree

Proxy- Require:sec-agree

Security-Client:ipsec-3gpp;alg=hmac-sha-1-96;spi-c=23456790;spi-s=12345688;port-c=2468;port-s=1359

Security-Verity: : ipsec-3gpp;alg=hmac-sha-1-96;spi-c=98765457;spi-s=87654333;port-c=8656;port-s=7531

 

与初始注册过程一样,协带新的Security-Client头域,以及把从P-CSCF应答消息中Security-Server头域值复制到Security-Verity头域。

 

参考资料

《中国电信IMS网络SIP协议总体技术要求》

IMS-移动领域的IP多媒体概念和服务》

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本文介绍的是一种基于安全协商的DDS安全通信间件设计。DDS是分布式数据服务的英文缩写,是一种通过网络连接的数据分发系统。DDS的安全通信对于网络安全具有重要的意义,因此设计一种基于安全协商的DDS安全通信间件具有实际意义。 该间件设计的主要目的是为了实现基于DDS的安全通信。首先,基于传输层安全协议(TLS)进行通信的过程必须得到完善。因此,TLS客户端和服务器端需要配置一些参数,比如加密算法、证书等,从而确保客户端和服务器端能够互相认证,通信过程需要进行加密和身份验证。 其次,为了保证通信过程的数据安全性,该间件设计使用了DDS加密插件,实现了数据的加密和解密。DDS加密插件主要有两个部分,一个部分是消息加密处理程序,负责在发布和订阅过程对消息进行加密和解密操作;另一个部分是密钥管理程序,负责生成、存储和传输密钥。 最后,为了方便用户的使用和管理,该间件设计还集成了DDS权限管理模块。DDS权限管理模块主要是通过授权机制,实现了权限的控制和管理。用户在使用时可以设置相应的权限,从而确保数据的安全和保密性。 总之,该间件设计完善了基于DDS的安全通信机制,涵盖了TLS客户端和服务器端、DDS加密插件和DDS权限管理模块等多个方面。对于网络安全和数据保护具有重要的意义。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值