收藏 分销(赏)

一种轻量级的SIP协议身份验证机制的设计.pdf

上传人:自信****多点 文档编号:750474 上传时间:2024-03-04 格式:PDF 页数:3 大小:910.56KB
下载 相关 举报
一种轻量级的SIP协议身份验证机制的设计.pdf_第1页
第1页 / 共3页
一种轻量级的SIP协议身份验证机制的设计.pdf_第2页
第2页 / 共3页
一种轻量级的SIP协议身份验证机制的设计.pdf_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、作者简介院余兵(1982-),男,江西丰城人,硕士,讲师,研究方向:物联网系统开发、物联网通信协议。收稿日期院2023-01-09一种轻量级的 SIP 协议身份验证机制的设计余兵漳州职业技术学院 电子信息学院,福建漳州363000摘要:近年来,会话发起协议(SIP)越来越受欢迎。但是,在会话启动协议中存在许多安全问题。Yang 等人提出了一种会话发起协议的安全认证方案。该认证方案是基于 Diffie-Hellman 算法,因此该认证方案的计算成本非常高。为了改善这一缺点,Durlanik等人也提出了一种使用 ECDH 的认证方案。ECDH 算法计算成本较 DH 算法降低了不少,但认证方案的计算

2、成本仍然很高。为此,提出了一种轻量级的身份认证方案,该认证方案的计算成本低于 Yang 等人和 Durlanik 等人的认证方案,且非常适用于物联网和嵌入式设备。关键词:认证方案;HTTP 摘要认证;会话启动协议(SIP)中图分类号:TN915.0文献标识码:A文章编号:2095-7734(2023)03-0043-03SIP 协议是 Session Initiation Protocol 的简称,也叫会话初始化协议。它是用来实现多媒体会话过程的建立、修改和终止的一种应用层协议,目前是由 IETF 组织进行管理。SIP 协议具有简单性、灵活性和扩展性等特点,使其成为下一代网络(NGN,Next

3、 Generation Network)的核心协议。因此 SIP 协议的应用场景非常广泛,也有很重要的研究价值。和其他应用层协议 HTTP、SMTP 一样,SIP 协议在设计上也采用了较为简单的文本格式。SIP 协议采用客户端-服务器的工作模式,首先以文本的方式对发送的信息进行编码,然后客户端发送编码后的信息给服务器,服务器处理完再进行响应。这种设计方式让 SIP 协议实现简单,工作效率高,但应用在开放的网络环境中也容易被攻击,一些黑客会模仿篡改 SIP 协议中的敏感数据。如何保证 SIP 协议的安全可靠呢?身份认证是很好的一种机制,在RFC3261 中规定了在 SIP 协议中使用摘要认证进行

4、身份认证。1 目前 SIP 存在的认证方案SIP 协议设计的身份验证方案并不安全,因为SIP 身份验证方案来自于 HTTP Digest 身份验证4。SIP 的认证方案采用挑战-响应机制,该认证机制只验证用户的身份,容易受到离线密码猜测攻击、服务器欺骗。为了克服这些缺陷,Yang 等人2提出了一种会话启动协议的安全身份验证方案。认证方案的步骤如下:步骤 1:U寅S:Request(username,t1h(pw),其中 t1=gr1mod p。用户生成一个随机数 r1,并使用r1,g,p 来计算 t1=gr1mod p。步骤 2:S寅U:Challenge(realm,t2h(pw),h(t2

5、,K)。当服务器接收到用户的消息时,服务器查询数据库获取用户的 pw,然后计算 h(pw)t1h(pw)来得到 t1。然后服务器生成一个随机数 r2,并使用t1、r2、g、p,pw 来计算 t2h(pw)、K=t1r2 mod p和 h(t1,K)。然后服务器向用户发送挑战(Resonse、t2h(pw)、h(t1、K)。步 骤 3:U 寅S:响 应(username、realm、h(username、realm、K)。当用户收到挑战消息时,用户使用 h(pw)来计算 h(pw)t2h(pw)来得到 t2。然后用户使用 t2,r1,p 来计算 K=t2r1 mod p 和 h(t1,K)。如果

6、计算出的 h(t1、K)与挑战(h(t1、K)不相同,则用户将拒绝服务器请求。否则,用户将使用username、realm、K 来计算 h(username、realm、K),并将响应(username、realm、h(username、realm、K)发送到服务器。步骤 4:当服务器接收到响应消息时,服务器使用用户名、领域、K 来计算 h(username、realm、K)。如果计算的结果与响应相同,则服务器接受用户的连2023 年 6 月普洱学院学报Jun.2023第 39 卷第 3 期Journal of Puer UniversityVol.39No.343接。否则,服务器将拒绝用户的

7、请求。该认证方案基于 Diffie-Hellman 密钥交换,它依赖于离散对数的难度。Yang 等人的认证方案计算成本很高,不适合计算功率低的设备。为了改善这一缺点,Durlanik3等人提出了一种使用 ECDH 的认证方案,ECDH 认证方案不会对发送公钥的身份进行验证,可能存在被中间人攻击的危险。另外基于 ECDH 认证方法处理数据较慢,消耗的硬件资源较多,不适合资源受限的嵌入式设备。本文提出了一种基于随机数的身份认证方案。这种身份验证方案是基于一次性随机数,客户端和服务器之间所有通信消息均采用单向哈希函数和排他性操作进行加密/解密,因此其计算成本较低。所以该认证机制非常适用于嵌入式设备。

8、2 轻量级认证方案的设计在本节中,我们将提出了一种新的轻量级的认证方案,在该方案中没有使用复杂的密钥交换算法,只是哈希算法和简单的异或操作。在我们的认证方案中,为了更好地描述认证的流程,本文定义了如下符号,具体如表 1 所示。表 1符号的含义2.1 注册阶段当用户想要注册并成为新的合法用户时,该用户必须首先向远程服务器提交其用户名和密码。用户名和密码 PW 用于验证用户和服务器的身份。客户端把用户名和密码发送到服务器后,服务器校验完成后会进行存储。2.2 认证阶段如果合法用户想登录系统,则必须输入其用户名和密码。身份验证阶段的所有流程如下图4,5所示:图 1身份验证阶段流程图具体包括下面 5

9、个步骤:步骤 1:U寅S:Requset(用户名,Nc)。用户生成一个随机数字 Nc,并发送 Request(用户名,Nc)。步骤 2:S寅U:Challenge(Realm,Nsh(pwd|Nc),h(pwd|Ns|Nc)。当服务器接收到请求消息时,服务器生成一个随机数,记为 Ns,然后使用 Ns、Nc、pwd计算 Nsh(pwd|Nc)。接下来服务器使用 pwd、Ns、Nc 来计算 h(pwd|Ns|Nc),最后发送 Challenge(Realm、Nsh(pwd|Nc)、h(pwd|Ns|Nc)给用户。步骤 3:U寅S:Resonse(用户名、领域、h(Ns|pw|Nc)。当用户收到响应

10、消息时,该用户使用 Nc,pwd计算 h(pwd|Nc),并使用 h(pw|Nc)、Nsh(pwd|Nc)计算 h(pwd|Nc)Nsh(pw|Nc)得到 Ns。最后用户使用 pwd、Ns、Nc 来计算 h(pwd|Ns|Nc)。如果计算出的 h(pwd|Ns|Nc)与 Challenge(h(pw|Ns|Nc)不相同,则用户将拒绝服务器请求。否则,用户将使用Ns、pwd、Nc 来计算 h(Ns|pwd|Nc),并将 Resonse(用户名、领域、h(Ns|pw|Nc)发送到服务器。步骤 4:当服务器收到响应消息时,服务器使用Ns、pwd、Nc 来计算 h(Ns|pwd|Nc)。如果计算出的

11、h(Ns|pwd|Nc)与响应(h(Ns|pwd|Nc)不相同,则服务器将拒绝用户请求。否则,服务器将接受该连接。步骤 5:在服务器和远程用户相互进行身份验证后,他们将 N 作为会话密钥 SK=N。3 安全分析下面我们可以检查通信协议是否安全,我们将检查我们对各种已知攻击的身份验证方案。3.1 重放攻击在我们的认证方案中,我们了使用生成随机数的方式来抵御重放攻击。身份认证过程中产生的认证消息包括了 Nsh(pwd|Nc)、h(pwd|Ns|Nc)、h(Ns|pwd|Nc)。这些认证消息中的 Nc 和 Ns 都是独符号含义h()哈希函数pwd用户密码Nc、Ns客户端随机数、服务器随机数p大质数|

12、连接操作异或操作X 寅Y:MX 发送一个消息 M 到 YU客户端(用户)S服务器普洱学院学报44立随机生成的,这两个值在每次会话都是不相同的。假设一个黑客截获到了认证消息,这个攻击者也不能通过重新发送截获的认证消息进入系统,因为随机的 Ns 是不同的。3.2 密码猜测攻击在我们的身份验证方案中,攻击者不可能猜测用户的密码,因为用户的密码由随机数 Nc 和随机数 Ns 来保护。随机数 Ns 由服务器生成,随机数 Nc由用户生成,用户密码在下一个会话中是不同的,所以我们的身份验证方案能够抵御密码猜测攻击。3.3 服务器欺骗攻击在我们的身份验证方案中,我们显然会要求用户在进行用户身份验证之前知道该服

13、务器是否正确。因此,如果攻击者想要伪装成服务器来欺骗用户,则该攻击者必须拥有用户密码 PW。如果发现有人伪装成服务器来欺骗用户,该用户将断开所有后续传输的连接。因此,任何服务器欺骗攻击都将失败。3.4 模拟攻击在我们的方案中,攻击者不能伪装成合法用户。要成功地执行模拟攻击,攻击者必须需要用户的密码才能正确地生成和解释身份验证消息,因为服务器和用户之间的所有身份验证消息都受到用户密码的保护,而用户密码是由用户私人保管的。如果发现有人伪装成合法用户欺骗服务器,服务器将断开所有后续传输的连接。因此,任何模拟攻击都将失败。3.5 会话密钥的安全性一个会话密钥是由用户的密码 PWD 和一个随机数生成的。

14、每当用户和服务器之间的通信结束时,密钥将立即自毁,下次将不会被重复使用。当用户重新进入系统时,将生成一个新的会话密钥,以便在通信过程中对该信息进行加密。因此,假设攻击者已经获得了一个会话密钥6,那么该人将无法使用该会话密钥来解码其他通信进程中的信息。因为随机数 Ns 和 Nc 是随机生成的,所以它将不能使用已知的会话密钥来计算下一个会话密钥的值。4 方案的性能测试与其他认证方案相比,在本节中,我们将我们的基于一次性的认证方案与 Yang 等人的认证方案和杜兰尼克等人的认证方案进行了比较。所有的性能比较如表 2 所示。表 2三种认证方式的性能比较5 结论SIP 协议由于简单易扩展的特点,目前在移

15、动终端设备上应用越来越广泛,但协议设计导致该协议在使用过程中存在一些安全隐患。本文先分析了两种已经实现的 SIP 认证方案,考虑到移动设备的特殊性,这两种认证方案的在计算性能上存在一些缺陷。在 SIP 协议的 HTTP 摘要认证的基础上,利用哈希函数和异或操作运算复杂度低的特点,提出了一种轻量级的安全认证机制。在该认证机制中,可以以较小的运算成本得到较高的安全保障,比较适合SIP 协议在资源受限的嵌入式设备中使用和推广。参考文献院1J.Franks,et al.,“HTTP authentication:basic anddigest access authentication,IETF RF

16、C2617S/OL.June,1999.2C.C.Yang,R.C.Wang,and W.T.Liu,“Secureauthentication scheme for session initiation protocol,”Computers and SecurityJ,2005,(24):381-386.3A.Durlanik,and I.Sogukpinar,“SIP authenticationschemeusingECDH,WorldEnformatikasocityTransaction on Engineering computing and technologyJ.2005,(08):350-353.4沈桂芳.一个基于 SIP 安全的三因子密钥认证协议J.山东理工大学学报(自然科学版),2016,30(06):74-78.5徐严.SIP 协议安全机制的研究与实现D.北京邮电大学,2018.6王欣童.三种普适强密码原语与协议研究D.沈阳师范大学,2021.哈希函数 异或操作 指数计算 ECC 计算 消息数量 会话密钥防止离线密码猜测防止服务器欺骗我们的方案74001.5有可以可以Yang 的方案74401.5没有可以可以Durlanik 的方案72061.5有可以可以余兵:一种轻量级的 SIP 协议身份验证机制的设计45

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 论文指导/设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服