一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

身份验证方法、装置、电子设备及可读存储介质与流程

2022-07-10 06:39:11 来源:中国专利 TAG:
1.本发明实施例涉及通信
技术领域
:,尤其涉及一种身份验证方法、装置、电子设备及可读存储介质。
背景技术
::2.网络语音技术(voiceoverinternetprotocol,voip)是一种基于互联网协议(internetprotocol,ip)的语音通话技术,以下简称voip系统。voip系统经由互联网来达成语音通话与多媒体会议。但是,voip系统与传统电话网络系统相比,主叫号码真实性通常难以得到保证。3.现有技术中,通常使用stir框架的认证服务器和验证服务器实现对主叫身份的认证和验证。但是,在一个通信域内,若一个认证服务器宕机,该通信域内所有呼出都不能继续进行;同理,在一个通信域内,若一个验证服务器宕机,该通信域内所有呼入也都不能继续。4.可见,现有技术中的身份验证系统依赖于认证服务器和验证服务器,系统容错性和稳定性较差。技术实现要素:5.本发明实施例的目的在于提供一种身份验证方法、装置、电子设备及可读存储介质,解决了现有的身份验证系统容错性和稳定性较差的问题。6.为了解决上述问题,第一方面,本发明实施例提供一种身份验证方法,应用于第一终端,包括:7.接收第二终端发送的第一实时传输协议消息,所述第一实时传输协议rtp消息中携带有所述第二终端的身份签名信息;8.根据所述第一rtp消息,对所述第二终端进行身份验证;9.向所述第二终端发送第二rtp消息,所述第二rtp消息携带有确认标识,所述确认标识用于指示所述第二终端的身份验证是否通过。10.第二方面,本发明实施例提供一种身份验证方法,应用于第二终端,包括:11.向第一终端发送第一实时传输协议rtp消息,所述第一rtp消息中携带有所述第二终端的身份签名信息;12.接收所述第一终端发送的第二rtp消息,所述第二rtp消息携带有确认标识,所述确认标识用于指示所述第二终端的身份验证是否通过。13.第三方面,本发明实施例提供一种身份验证装置,包括:14.第一接收模块,用于接收第二终端发送的第一实时传输协议rtp消息,所述第一rtp消息中携带有所述第二终端的身份签名信息;15.第一处理模块,用于根据所述第一rtp消息,对所述第二终端进行身份验证;16.第一发送模块,用于向所述第二终端发送第二rtp消息,所述第二rtp消息携带有确认标识,所述确认标识用于指示所述第二终端的身份验证是否通过。17.第四方面,本发明实施例提供一种身份验证装置,包括:18.第二发送模块,用于向第一终端发送第一实时传输协议rtp消息,所述第一rtp消息中携带有所述第二终端的身份签名信息;19.第二接收模块,用于接收所述第一终端发送的第二rtp消息,所述第二rtp消息携带有确认标识,所述确认标识用于指示所述第二终端的身份验证是否通过。20.第五方面,本发明实施例提供一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的身份验证方法的步骤。21.第六方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的身份验证方法的步骤。22.上述技术方案中的一个技术方案具有如下优点或有益效果:23.本发明实施例提供的身份验证方法、装置、电子设备及可读存储介质,基于rtp协议能够提供端到端的传输能力,利用rtp消息头的扩展部分,可以在所述第一终端和所述第二终端之间通过rtp消息直接实现端到端的传输身份签名信息和身份验证后的确认标识,提高了终端之间的身份验证的稳定性和效率,且可以实现终端之间的直接信任,提高了身份验证的可靠性和准确性。此外,也不需要对现有网络进行任何改造。附图说明24.图1是本发明实施例可应用的一种网络系统的结构图;25.图2是voip系统中进行sip会话连接的流程示意图;26.图3是基于stir/shaken架构的身份验证方法的流程示意图;27.图4是基于sip协议的身份验证方法的流程示意图;28.图5是本发明实施例提供的身份验证方法的流程示意图之一;29.图6是本发明实施例提供的voip系统中进行sip会话连接的流程示意图;30.图7是本发明实施例提供的一种rtp消息的具体报文格式之一;31.图8是本发明实施例提供的一种rtp消息的具体报文格式之二;32.图9是本发明实施例提供的一种rtp消息的具体报文格式之三;33.图10是本发明实施例提供的身份验证方法的流程示意图之二;34.图11是本发明实施例提供的身份验证装置的结构图之一;35.图12是本发明实施例提供的身份验证装置的结构图之二;36.图13为本发明实施例提供的一种电子设备的结构图。具体实施方式37.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。38.本技术中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。此外,本技术中使用“和/或”表示所连接对象的至少其中之一,例如a和/或b和/或c,表示包含单独a,单独b,单独c,以及a和b都存在,b和c都存在,a和c都存在,以及a、b和c都存在的7种情况。39.在本发明实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。40.请参见图1,图1是本发明实施例可应用的一种网络系统的结构图。如图1所示,包括第一终端11和第二终端12,第一终端11和第二终端12之间可以进行通信。41.本发明实施例中,终端也可以称作终端设备或者用户终端(userequipment,ue)。在实际应用中,第一终端11和第二终端12可以是手机、平板电脑(tabletpersonalcomputer)、膝上型电脑(laptopcomputer)或称为笔记本电脑、个人数字助理(personaldigitalassistant,pda)、掌上电脑、上网本、超级移动个人计算机(ultra-mobilepersonalcomputer,umpc)、移动上网装置(mobileinternetdevice,mid)、可穿戴式设备(wearabledevice)或车载设备(vue)、行人终端(pue)等,可穿戴式设备包括:手环、耳机、眼镜等。具体可根据实际情况决定,本发明实施例对此不作限定。42.为了方便理解,以下对本发明实施例涉及的一些内容进行说明:43.一、voip系统44.voip系统的基本原理是通过语音的压缩算法对语音数据编码进行压缩处理,然后把这些语音数据按tcp/ip标准进行打包,经过ip网络把数据包送至接收地,再把这些语音数据包串起来,经过解压处理后,恢复成原来的语音信号,从而达到由互联网传送语音的目的。45.请参见图2,图2是一种voip的主要协议的流程示意图,如图2所示:46.voip的协议主要包括两部分:1)会话发起协议(sessioninitiationprotocol,sip),以下简称sip协议,其主要用于sip会话的建立和释放;2)实时传输协议(real-timetransportprotocol,rtp),以下简称rtp协议,其主要用于实时流媒体信息的传送。47.如图2所示,终端a为主叫用户终端,终端b为被叫用户终端。48.1)终端a和终端b之间基于sip协议建立网络语音会话。49.终端a通过向终端b发送一个邀请消息(sip消息)以建立与终端b之间的网络通话连接。由于sip协议无法实现端到端的传输能力,因而所述邀请消息需要通过一个或者多个代理服务器的转接,才能到达终端b。50.终端b接收所述邀请消息后,若同意所述邀请信息,可返回邀请确认消息(ok消息)。所述邀请确认消息同样需要通过一个或者多个代理服务器的转接,才能到达终端a。51.基于双重确认的机制,终端a在接收到所述邀请确认信息后,向终端b返回接收确认消息(例如确认字符(acknowledgecharacter,ack)),以告知终端b其发送的所述邀请确认消息已经接收无误。所述接收确认消息同样需要通过一个或者多个代理服务器的转接,才能到达终端b。终端b在接收所述确认字符后,终端a和终端b之间的网络语音会话建立成功。52.2)终端a和终端b之间基于rtp协议传输流媒体信息。53.rtp协议提供针对流媒体信息的端到端的传输能力。终端a和终端b之间的sip会话建立成功后,终端a可以获取终端b的ip地址,进而通过rtp消息传输流媒体信息,实现实时sip会话连接。54.由上述可知,voip系统本身不具备对主叫用户身份验证的能力,因而voip系统相比传统电话网络系统,主叫用户身份的真实性难以得到保证。攻击者可以通过伪造主叫号码进行虚假呼叫,造成诸如语音垃圾电话、诈骗电话、网络钓鱼、语音邮件攻击等严重影响经济社会的现象。现有技术中,一些运营商通过维护黑名单来阻止黑名单上的主叫号码发起的呼叫到达,但是黑名单需要及时更新,且不适用于使用随机虚假号码的呼叫;一些运营商基于安全电话身份重访(securetelephoneidentityrevisited,stir)/使用tokens安全处理宣称信息(shaken)(以下简称stir/shaken架构)对主叫号码进行验证。55.二、stir/shaken架构56.stir/shaken结构定义了一种安全机制以验证sip邀请消息的发起者的身份。请参见图3,图3是stir/shaken对发起者身份进行验证的流程示意图。57.如图3所示,终端a为主叫用户终端,终端b为被叫用户终端:58.1)终端a向认证服务器发送邀请消息(sip消息)。59.2)认证服务器对邀请消息的消息头中的data字段,from字段,to字段进行签名生成身份签名信息,之后将所述身份签名信息和指示认证服务器证书的地址放入邀请消息的消息头的idenity字段里。其中,from字段包括终端a的身份标识(终端a的sip统一资源标识符(uniformresourceidentifier,uri)或者终端a的电话号码);to字段包括终端b的身份标识(终端b的sip统一资源标识符(uniformresourceidentifier,uri)或者终端b的电话号码);data字段包括发送邀请消息的时间戳。60.3)认证服务器将携带有身份签名信息的邀请消息发送至验证服务器。61.4)验证服务器根据认证服务器证书的地址链接到公钥基础设施(publickeyinfrastructure,pki)获得认证服务器证书。62.5)验证服务器根据认证服务器证书中的公钥对身份签名信息进行验证。验证成功后,验证服务器将邀请消息发送至终端b。63.由上述可知,stir/shaken架构依赖于认证服务器和验证服务器,所有呼叫的邀请消息均需要通过认证服务器进行签名,并通过验证服务器对签名进行验证。这样,在一个通信域内,认证服务器一旦宕机,所有域内的呼出都不能进行;同理,在一个通信域内,验证服务器一旦宕机,所有域内的呼入也都不能进行,系统容错性和稳定性较差。64.此外,stir/shaken架构还存在需要解决的信任问题。一方面,终端a和终端b均需要信任认证服务器、验证服务器以及pki,但不能实现终端a和终端b之间的直接信任;另一方面,stir/shaken架构涉及数字证书实现身份验证,考虑到证书的管理和不同安全等级的需求,在实际应用中,通常需要多个电子认证机构(certificateauthority,ca)保证数字证书机制的正常运行,这样将涉及多个ca之间的互信问题。65.三、基于sip协议的身份验证方法66.基于sip协议的身份验证方法,通过sip邀请消息的idenity字段传送身份签名信息和签名验证信息。请参见图4,图4是基于sip协议的身份验证方法的流程示意图。67.如图4所示,终端a为主叫用户终端,终端b为被叫用户终端:68.1)终端a使用自己的私钥对邀请消息头中的data字段、from字段、to字段进行签名,并把生成的身份签名信息写入邀请消息的idenity字段。之后,将携带有所述身份签名信息的邀请消息发送至终端b。由于sip协议无法实现端到端的传输能力,因而所述邀请消息需要通过一个或者多个代理服务器的转接,才能到达终端b。69.终端b接收所述邀请消息后,可以根据所述邀请消息中的身份签名信息进行身份验证,之后返回邀请确认消息,所述邀请确认消息中携带有签名验证信息,用于指示身份验证是否通过。所述邀请确认消息同样需要通过一个或者多个代理服务器的转接,才能到达终端a。70.基于双重确认的机制,终端a在接收到所述邀请确认信息后,若确定身份验证通过,可以向终端b返回接收确认消息(例如ack确认字符),以告知终端b其发送的所述邀请确认消息已经接收无误。所述接收确认消息同样需要通过一个或者多个代理服务器的转接,才能到达终端b。终端b在接收所述确认字符后,终端a和终端b之间的网络语音会话建立成功。71.2)终端a和终端b之间基于rtp协议传输流媒体信息。72.由上述可知,基于sip协议的身份验证方法中,由于所述sip邀请消息需要通过一个或者多个代理服务器进行路由,若将身份签名信息写入sip邀请消息中,每一个代理服务器需要适应性的进行调整和升级,以实现对携带有身份签名消息的sip邀请消息的收发和解析,这样需要做的工作较多,难以解决所有代理服务器的兼容问题。73.此外,基于sip协议的身份验证方法同样存在信任问题,即终端a和终端b均需要信任每一个代理服务器,但不能实现终端a和终端b之间的直接信任。74.四、数字证书75.数字证书是指在互联网通讯中标志通讯各方身份信息的一个数字认证,人们可以在网上用它来识别对方的身份。数字证书由ca中心颁发,ca中心采用以数字加密技术为核心的数字证书认证技术,通过数字证书,可以对互联网上所传输的各种信息进行加密、解密、数字签名与签名认证等各种处理。76.五、基于标识的密码体系(identity-basedcryptograph,ibc)77.ibc的主要观点是不需要使用数字证书传递公钥,而是使用身份标识如姓名、ip地址、电子邮箱地址、手机号码等代表用户的标识信息作为公钥,私钥则由密钥中心(keygeneratecenter,kgc)根据密钥中心公钥和身份标识计算得出。78.请参见图5,图5是本发明实施例提供的一种身份验证方法的流程示意图之一,所述身份验证方法可以由第一终端执行。79.如图5所示,所述身份验证方法包括以下步骤:80.步骤501、接收第二终端发送的第一实时传输协议rtp消息,所述第一rtp消息中携带有所述第二终端的身份签名信息;81.步骤502、根据所述第一rtp消息,对所述第二终端进行身份验证;82.步骤503、向所述第二终端发送第二rtp消息,所述第二rtp消息携带有确认标识,所述确认标识用于指示所述第二终端的身份验证是否通过。83.需要说明的是,本发明实施例提供的身份验证方法可以适用于voip系统的sip会话连接场景,也可以适用于其他基于rtp协议进行流媒体信息传输的场景,具体可根据实际情况决定,本发明实施例在此不作限定。84.在此以所述身份验证方法适用于voip系统的sip会话连接场景为例,对本发明实施例的具体实施方式进行说明。其中,所述第一终端可以理解为sip会话连接中的被叫用户端,所述第二终端可以理解为sip会话连接中的主叫用户端。85.本发明实施例中,基于rtp协议提供针对流媒体信息的端到端的传输能力,在所述第一终端和所述第二终端建立sip会话连接之后,所述第一终端和所述第二终端之间使用rtp协议传送身份签名信息和签名信息的确认。86.步骤501、接收第二终端发送的第一实时传输协议rtp消息,所述第一rtp消息中携带有所述第二终端的身份签名信息。87.具体实现时,所述第二终端可以对发送给所述第一终端的邀请消息(sip消息)的from字段和to字段,以及rtp消息的固定部分中的传输控制协议(transmissioncontrolprotocol,tcp)序列号(以下简称序列号)和时间戳,进行签名运算得到其身份签名信息。88.其中,邀请消息(sip消息)的from字段包括所述第二终端的用户标识,所述第二终端作为sip会话连接的邀请者,对邀请消息(sip消息)的from字段进行签名可以认证自己身份的真实性。邀请消息(sip消息)的to字段包括所述第一终端的身份标识,所述第二终端作为网络语音会话的邀请者,对邀请消息(sip消息)的to字段进行签名,可以保证网络语音会话的被邀请者,即所述第一终端的身份不被篡改。所述第二终端对rtp消息头中的序列号和时间戳进行签名,可以有效防止重放攻击。89.需要说明的是,所述第二终端进行签名的信息并不限于此,具体可根据实际情况决定,本发明实施例在此不作限定。此外,所述第二终端进行签名运算的具体实施方式可以参照相关技术中的签名算法进行,本发明实施例在此不再赘述。90.所述第二终端可以将所述身份签名信息写入rtp消息的扩展部分,生成第一rtp消息。在与所述第一终端建立网络语音会话之后,所述第二终端之间先不基于rtp协议传输流媒体信息,而是基于rtp协议传送携带有身份签名信息的第一rtp消息。91.所述第一终端可以接收所述第一rtp消息。92.步骤502、根据所述第一rtp消息,对所述第二终端进行身份验证。93.具体实现时,所述第一终端在接收到所述第一rtp消息后,可以获取所述第一rtp消息中的身份签名信息进行身份验证。具体的,所述第一终端可以根据所述身份签名信息的验证类型,确定进行身份验证的流程。94.示例性的,所述身份签名信息为所述第二终端利用私钥进行签名运算所得,所述第一终端可以根据所述第二终端的公钥对所述身份签名信息进行验证。95.或者,示例性的,所述身份签名信息为所述第二终端利用私钥进行签名运算所得,且所述第二终端为其公钥生成了数字证书,所述第一终端可以通过获取所述第二终端的数字证书,获取所述第二终端的公钥,进而对所述身份签名信息进行验证。96.步骤503、向所述第二终端发送第二rtp消息,所述第二rtp消息携带有确认标识,所述确认标识用于指示所述第二终端的身份验证是否通过。97.具体实现时,所述第一终端在对所述第二终端的身份验证通过后,可以将所述确认标识写入返回的rtp消息的扩展部分,生成第二rtp消息。所述第一终端可以基于rtp协议传送携带有所述确认标识的第二rtp消息。98.其中,所述确认标识可以复用相关技术中的ack确认字符。在所述ack确认字符的值为1时,表示所述第一终端对所述第二终端的身份验证通过,指示所述第二终端可以基于rtp协议开始传输流媒体信息;在所述ack确认字符的值为0时,表示所述第一终端对所述第二终端的身份验证未通过,指示所述第二终端可以中断当前连接。所述确认标识也可以引入新的确认标识,具体可根据实际情况决定,本发明实施例在此不作限定。99.为方便理解,本发明实施例中,所述第一终端和所述第二终端之间进行sip会话连接的完整流程可以如图6所示:100.所述第一终端和所述第二终端之间可以先基于sip协议建立sip会话连接,具体流程可以参见对如图2所示的流程的解释说明,为避免重复,在此不再赘述;在成功建立sip会话连接后,所述第一终端和所述第二终端之间可以基于rtp协议进行身份验证,具体可参见上述对步骤501至步骤503的解释说明,为避免重复,在此不再赘述;在所述第一终端对所述第二终端的身份验证成功后,所述第一终端和所述第二终端之间可以基于rtp协议传输流媒体信息。101.本发明实施例提供的身份验证方法,基于rtp协议能够提供端到端的传输能力,利用rtp消息的扩展部分,可以在所述第一终端和所述第二终端之间通过rtp消息直接传输身份签名信息和身份验证后的确认标识。相对于图3所示的身份验证方法来说,无需依赖认证服务器和验证服务器进行签名和验签,提高了终端之间的身份验证的稳定性和效率,且可以实现终端之间的直接信任,提高了身份验证的可靠性和准确性。相对于图4所示的身份验证方法来说,无需解决代理服务器的兼容问题,不需要对现有网络进行任何改造,即可以实现终端之间端到端的传输身份签名信息和签名确认信息,同样提高了终端之间的身份验证的效率和可靠性。102.下面对本发明实施例中的第一rtp消息进行说明:103.本发明实施例中,可选的,所述第二终端的身份签名信息位于所述第一rtp消息头的扩展部分。104.具体实现时,rtp消息头包括固定部分,在所述固定部分中x比特设置为1的情况下,rtp消息头还包括扩展部分,如图7所示。105.其中,所述固定部分不可以被用户自定义。106.所述扩展部分可以添加用户的自定义内容。如图8所示,所述扩展部分包括第一字段,所述第一字段用于指示所述扩展部分的用途,在实际应用中,所述第一字段可以表现为“definedbyprofile”字段;所述扩展部分还包括第二字段,所述第二字段用于指示所述扩展部分的长度,在实际应用中,所述第二字段可以表现为“length”字段;所述扩展部分还包括第三字段,所述第三字段用于指示所述rtp消息的消息类型,在实际应用中,所述第二字段可以表现为“messagetype”字段;所述扩展部分还包括第四字段,所述第四字段用于指示所述扩展部分的内容,在实际应用中,所述第二字段可以表现为“value”字段。107.本可选的实施方式中,所述第二终端可以将所述身份签名信息写入所述第一rtp消息头的扩展部分的第四字段,并将所述第三字段的消息类型定义为签名消息。在实际应用中,所述第一rtp消息的第三字段可以表现为“messagetype=signature”,所述第一rtp消息的第四字段可以表现为“signaturevalue”。108.需要说明的是,第一rtp消息的消息结构并不限于此,具体可根据实际情况决定,本发明实施例在此不作限定。109.下面对本发明实施例中的第二rtp消息进行说明:110.本发明实施例中,可选的,所述确认标识位于所述第二rtp消息头的扩展部分。111.具体实现时,rtp消息头包括固定部分,在所述固定部分中x比特设置为1的情况下,rtp消息头还包括扩展部分,如图7所示。112.其中,所述固定部分不可以被用户自定义。113.所述扩展部分可以添加用户的自定义内容。如图8所示,所述扩展部分包括第一字段,所述第一字段用于指示所述扩展部分的用途,在实际应用中,所述第一字段可以表现为“definedbyprofile”字段;所述扩展部分还包括第二字段,所述第二字段用于指示所述扩展部分的长度,在实际应用中,所述第二字段可以表现为“length”字段;所述扩展部分还包括第三字段,所述第三字段用于指示所述rtp消息的消息类型,在实际应用中,所述第二字段可以表现为“messagetype”字段;所述扩展部分还包括第四字段,所述第四字段用于指示所述扩展部分的内容,在实际应用中,所述第二字段可以表现为“value”字段。114.本可选的实施方式中,所述第二终端可以将所述确认标识写入所述第二rtp消息头的扩展部分的第四字段,并将所述第三字段的消息类型定义为签名确认消息。在实际应用中,以所述确认标识复用ack确认字符为例,所述第二rtp消息的第三字段可以表现为“messagetype=ack”,所述第二rtp消息的第四字段可以表现为“ackvalue”。115.需要说明的是,第二rtp消息的消息结构并不限于此,具体可根据实际情况决定,本发明实施例在此不作限定。116.下面对所述第二终端的身份签名信息进行说明:117.所述第二终端的身份签名信息的确定可以包括以下两种实现形式:118.第一种实现形式,所述第二终端的身份签名信息是对会话发起协议sip消息头的from字段,to字段,以及所述第一rtp消息头中的序列号sequencenumber和时间戳timestamp进行签名运算所得。119.具体实现时,所述第二终端可以利用私钥对发送给所述第一终端的邀请消息(sip消息)的from字段和to字段,以及rtp消息的固定部分中的传输控制协议(transmissioncontrolprotocol,tcp)序列号(以下简称序列号)和时间戳,进行签名运算得到其身份签名信息。120.其中,邀请消息(sip消息)的from字段包括所述第二终端的用户标识,所述第二终端作为sip会话连接的邀请者,对邀请消息(sip消息)的from字段进行签名可以认证自己身份的真实性。邀请消息(sip消息)的to字段包括所述第一终端的身份标识,所述第二终端作为网络语音会话的邀请者,对邀请消息(sip消息)的to字段进行签名,可以保证网络语音会话的被邀请者,即所述第一终端的身份不被篡改。所述第二终端对rtp消息头中的序列号和时间戳进行签名,可以有效防止重放攻击。121.本实现形式中,所述第一终端可以获取所述第二终端的公钥对所述第二终端的身份签名信息进行验证,所述第一终端也可以通过数字证书对所述第二终端的身份签名信息进行验证。122.具体的,可选的,所述根据所述第一实时传输协议消息,对所述第二终端进行身份验证,包括:123.根据所述会话发起协议sip消息头的from字段,确定所述第二终端的用户标识;124.在公有链上获取所述用户标识对应的区块链证书;125.在所述公有链上获取到所述用户标识对应的公有链证书,且所述用户标识对应的公有链证书有效的情况下,根据所述用户标识对应的公有链证书,对所述第二终端进行身份验证。126.本可选的实施方式中,所述第一终端可以利用数字证书对所述第二终端的身份进行验证,并基于公有链构建的公钥基础设施pki进行身份验证以解决数字证书的信任问题。127.具体实现时,所述第一终端和所述第二终端均可以是一个可信的公有链中的终端,所述第一终端的用户和所述第二终端的用户均可基于公有链的记账和共识机制申请公有链证书。128.所述第一终端接收到所述第一rtp消息后,可以根据之前接收到的所述第二终端发送sip消息中的from字段,确定所述第二终端的用户标识,所述第二终端的用户标识可以是所述第二终端用户的电话号码,或者所述第二终端用户的sipuri;之后,所述第一终端可以根据所述第二终端的用户标识,在所述公有链上查询所述用户标识对应的公有链证书。129.上述查询将会出现以下三种情况:130.第一种情况:如果在所述公有链上没有查询到所述用户标识的公有链证书,可以使用所述用户标识的哈希值再次在所述公有链上查询所述用户标识的哈希值对应的公有链证书。如果在所述公有链上也没有查询所述用户标识的哈希值对应的公有链证书,则证明所述第二终端在所述公有链上不存在公有链证书。所述第一终端获取到上述查询结果,可以确定所述第二终端的身份存疑,第二终端的身份验证未通过。131.第二种情况:如果在所述公有链上查询到所述用户标识或者所述用户标识的哈希值对应的公有链证书,可以检查所述公有链证书是否有效。如果确定所述公有链证书失效,即所述公有链证书存在但失效,第二终端的身份验证同样未通过。132.第三种情况:如果在所述公有链上查询到所述用户标识或者所述用户标识的哈希值对应的公有链证书,可以检查所述公有链证书是否有效。如果确定所述公有链证书有效,即所述公有链证书存在且有效,所述第一终端获取到上述查询结果,可以确定所述第二终端的身份真实,第二终端的身份验证通过。133.需要说明的是,本可选的实施方式中,所述第一rtp消息和所述第二rtp消息的扩展部分的第一字段(用于指示所述扩展部分的用途)可以设置为“0x808a”,以告知所述第一终端当前进行身份验证的方式。可以理解的是,本可选的实施方式中,所述第一rtp消息和所述第二rtp消息的表现形式并不限于此,具体可根据实际情况决定,在此不作限定。134.本可选的实施方式中,基于公有链构建的公钥基础设施pki进行身份验证以解决数字证书的信任问题,同时由于公有链证书是使用自签名,而非第三方签名,其真实性和可靠性是由公有链保证,因而可以进一步提高终端之间身份验证的可靠性和准确性。135.需要说明的是,在其他可选的实施方式,也可以基于其他方式解决利用数字证书进行身份验证时存在的信任问题,具体可根据实际情况决定,本技术实施例在此不作限定。136.第二种实现形式,第二终端的身份签名信息是对sip消息头的from字段,to字段,以及所述第一rtp消息头的固定部分中的序列号sequencenumber和时间timestamp,以及所述第一rtp消息头的中的密钥中心名称kgcname,第二终端标识序列号snofidentity,用户标识废除列表所用的哈希算法名称nameofhashalgorothm进行签名运算所得。137.具体实现时,所述第二终端可以利用私钥对发送给所述第一终端的邀请消息(sip消息)的的from字段,to字段,以及所述第一rtp消息头的固定部分中的序列号sequencenumber和时间timestamp,以及所述第一rtp消息头的中的密钥中心名称kgcname,第二终端标识序列号snofidentity,用户标识废除列表所用的哈希算法名称nameofhashalgorothm,进行签名运算得到其身份签名信息。138.其中,邀请消息(sip消息)的from字段包括所述第二终端的用户标识,所述第二终端作为sip会话连接的邀请者,对邀请消息(sip消息)的from字段进行签名可以认证自己身份的真实性。邀请消息(sip消息)的to字段包括所述第一终端的身份标识,所述第二终端作为网络语音会话的邀请者,对邀请消息(sip消息)的to字段进行签名,可以保证网络语音会话的被邀请者,即所述第一终端的身份不被篡改。所述第二终端对rtp消息头中的序列号和时间戳进行签名,可以有效防止重放攻击。所述第二终端对所述第一rtp消息头的中的密钥中心名称kgcname,第二终端标识序列号snofidentity,用户标识废除列表所用的哈希算法名称nameofhashalgorothm进行签名,可以保证上述信息的真实性和完整性。139.本实现形式中,所述第一终端可以获取所述第二终端的公钥对所述第二终端的身份签名信息进行验证,所述第一终端也可以基于密钥中心kgc对所述第二终端的身份签名信息进行验证。140.具体的,可选的,所述根据所述第一实时传输协议消息,对所述第二终端进行身份验证,包括:141.根据所述会话发起协议sip消息头的from字段,确定所述第二终端的用户标识;根据所述密钥中心名称kgcname和所述第二终端的用户标识,在联盟链上获取所述第二终端对应的密钥中心kgc信息块;142.在所述联盟链上获取到所述第二终端对应的密钥中心kgc信息块,且所述第二终端对应的密钥中心kgc信息块有效的情况下,根据所述密钥中心kgc信息块中的信息,对所述第二终端进行身份验证;143.其中,所述密钥中心信息块中的信息包括密钥中心公钥、签名验证算法。144.本可选的实施方式中,所述第一终端可以基于联盟链构建的密钥中心kgc对所述第二终端进行身份验证,把kgc信息块以及用户标识废除列表通过联盟链的共识机制写入联盟链,这样解决kgc参数跨域传递的问题和多区域之间的信任问题。145.具体实现时,所述第一终端接收到所述第一rtp消息后,可以根据之前接收到的所述第二终端发送sip消息中的from字段,确定所述第二终端的用户标识,所述第二终端的用户标识可以是所述第二终端用户的电话号码,或者所述第二终端用户的sipuri;之后,所述第一终端可以获取所述第一rtp消息中携带的所述第二终端的用户标识和kgcname。所述第二终端的用户标识可以由用户标识和第二终端的序列号组成,所述第二终端的序列号可以是密钥中心kgc为所述第二终端生成的序列号,以便对其进行管理。146.所述第一终端可以根据所述第二终端的用户标识和kgcname,在所述联盟链上查询所述第二终端对应的kgc信息块,上述查询将会出现以下三种情况:147.第一种情况:如果在所述联盟链上没有查询到所述第二终端对应的kgc信息块,则证明所述第二终端没有在联盟链上上链,所述第一终端无法获取验签的公钥和验签的算法,所述第二终端的身份存疑,第二终端的身份验证未通过。148.第二种情况:如果在所述联盟链上查询到所述第二终端对应的kgc信息块,可以检查所述第二终端对应的kgc信息块是否有效。如果确定所述第二终端对应的kgc信息块无效,第二终端的身份验证同样未通过。149.第三种情况:如果在所述联盟链上查询到所述第二终端对应的kgc信息块,可以检查所述第二终端对应的kgc信息块是否有效。如果确定所述第二终端对应的kgc信息块有效,所述第一终端获取到上述查询结果,可以确定所述第二终端的身份真实,第二终端的身份验证通过。150.需要说明的是,本可选的实施方式中,所述第一rtp消息和所述第二rtp消息的扩展部分的第一字段(用于指示所述扩展部分的用途)可以设置为“0x808b”,以告知所述第一终端当前进行身份验证的方式。151.如图9所示,所述第一rtp消息的扩展部分还可以包括第五字段,所述第五字段用于指示所述kgcname,在实际应用中,所述第五字段可以表现为“kgcname”字段;所述扩展部分还可以包括第六字段,所述第六字段用于指示所述第二终端的序列号,在实际应用中,所述第六字段可以表现为“snofidentity”字段;所述扩展部分还可以包括第七字段,所述第七字段用于指示所述第二终端的身份标识的哈希值,在实际应用中,所述第二字段可以表现为“nameofhashalgorithm”字段。152.可以理解的是,本可选的实施方式中,所述第一rtp消息和所述第二rtp消息的表现形式并不限于此,具体可根据实际情况决定,在此不作限定。153.进一步的,可选的,在所述根据所述会话发起协议sip消息头的from字段,确定所述第二终端的用户标识之后,所述根据所述密钥中心kgc信息块中的信息,对所述第二终端进行身份验证之前,还包括154.计算所述第二终端的用户标识对应的哈希值;155.根据所述第二终端的用户标识对应的哈希值,确定所述用户标识废除列表中是否存储有所述第二终端的用户标识对应的哈希值,所述用户标识废除列表存储有被废除的用户标识对应的哈希值;156.所述根据所述密钥中心信息块中的信息,对所述第二终端进行身份验证,包括:157.在所述用户标识废除列表中未存储有所述第二终端的用户标识对应的哈希值的情况下,根据所述密钥中心kgc信息块中的信息,对所述第二终端进行身份验证。158.本可选的实施方式中,密钥中心kgc可以维护一个用户标识废除列表,其中存储有被废除的用户标识对应的哈希值,根据所述用户标识废除列表可以确定哪些终端已经被废除,这样可以进一步提高身份验证的准确性。159.具体实现时,所述第一终端在接收到所述第一rtp消息后,可以计算其中携带的所述第二终端的用户标识的哈希值。之后,所述第一终端可以基于所述用户标识的哈希值和所述密钥中心名称kgcname,在联盟链上查询所述第二终端对应的kgc信息块。在查询到所述第二终端对应的kgc信息块,且所述第二终端对应的kgc信息块有效的情况下,所述第一终端还需要进一步确定所述第二终端的用户标识的哈希值是否在所述用户标识废除列表上。160.在以下三种条件均满足的情况下,所述第一终端可以根据所述第二终端对应的kgc信息块中的信息,对所述第二终端进行身份验证:161.1)所述联盟链上存储有所述第二终端对应的kgc信息块;162.2)所述第二终端对应的kgc信息块有效;163.3)所述第二终端的用户标识没有在所述用户标识废除列表上。164.本可选的实施方式中,基于联盟链构建密钥中心kgc进行身份验证,把kgc信息块以及用户标识废除列表通过联盟链的共识机制写入联盟链,这样解决kgc参数跨域传递的问题和多区域之间的信任问题,进一步提高终端之间身份验证的适用范围和可靠性。165.需要说明的是,在其他可选的实施方式,也可以基于其他方式解决记忆kgc进行身份验证时存在的,kgc参数跨域传递的问题和多区域之间的信任问题,具体可根据实际情况决定,本技术实施例在此不作限定。166.请参见图10,图10是本发明实施例提供的一种身份验证方法的流程示意图之二,所述身份验证方法可以由第二终端执行。167.如图10所示,所述身份验证方法包括以下步骤:168.步骤1001、向第一终端发送第一实时传输协议消息,所述第一实时传输协议消息中携带有所述第二终端的身份签名信息;169.步骤1001、接收所述第一终端发送的第二实时传输协议消息,所述第二实时传输协议消息携带有确认标识,所述确认标识用于指示所述第二终端的身份验证是否通过。170.可选的,所述第一实时传输协议消息包括第一域,所述第一域用于指示所述第二终端的身份签名信息。171.可选的,所述第二实时传输协议消息包括第二域,所述第二域用于指示所述确认标识。172.可选的,在所述向第一终端发送第一实时传输协议rtp消息之前,所述方法还包括:173.对会话发起协议sip消息头的from字段,to字段,以及所述第一rtp消息头中的序列号sequencenumber和时间戳timestamp进行签名运算,得到所述第二终端的身份签名信息。174.可选的,在所述向第一终端发送第一实时传输协议rtp消息之前,所述方法还包括:175.对sip消息头的from字段,to字段,以及所述第一rtp消息头的固定部分中的序列号sequencenumber和时间timestamp,以及所述第一rtp消息头的中的密钥中心名称kgcname,第二终端标识序列号snofidentity,用户标识废除列表所用的哈希算法名称nameofhashalgorothm进行签名运算,得到所述第二终端的身份签名信息。176.需要说明的是,本实施例作为与上述方法实施例对应的第二终端的实施方式,因此,可以参见上述方法实施例中的相关说明,且可以达到相同的有益效果。为了避免重复说明,在此不再赘述。177.本发明实施例提供的身份验证方法,基于rtp协议能够提供端到端的传输能力,利用rtp消息的扩展部分,可以在所述第一终端和所述第二终端之间通过rtp消息直接传输身份签名信息和身份验证后的确认标识。相对于图3所示的身份验证方法来说,无需依赖认证服务器和验证服务器进行签名和验签,提高了终端之间的身份验证的稳定性和效率,且可以实现终端之间的直接信任,提高了身份验证的可靠性和准确性。相对于图4所示的身份验证方法来说,无需解决代理服务器的兼容问题,不需要对现有网络进行任何改造,即可以实现终端之间端到端的传输身份签名信息和签名确认信息,同样提高了终端之间的身份验证的效率和可靠性。178.参见图11,图11是本发明实施例提供的身份验证装置的结构图之一。如图11所示,身份验证装置1100包括:179.第一接收模块1101,用于接收第二终端发送的第一实时传输协议消息,所述第一实时传输协议rtp消息中携带有所述第二终端的身份签名信息;180.第一处理模块1102,用于根据所述第一rtp消息,对所述第二终端进行身份验证;181.第一发送模块1103,用于向所述第二终端发送第二rtp消息,所述第二rtp消息携带有确认标识,所述确认标识用于指示所述第二终端的身份验证是否通过。182.可选的,所述第二终端的身份签名信息位于所述第一rtp消息头的扩展部分。183.可选的,所述确认标识位于所述第二rtp消息头的扩展部分。184.可选的,所述第二终端的身份签名信息是对会话发起协议sip消息头的from字段,to字段,以及所述第一rtp消息头中的序列号sequencenumber和时间戳timestamp进行签名运算所得;185.第一处理模块1102包括:186.第一确定单元,用于根据所述会话发起协议sip消息头的from字段,确定所述第二终端的用户标识;187.第一获取单元,用于在公有链上获取所述用户标识对应的区块链证书;188.第一验证单元,用于在所述公有链上获取到所述用户标识对应的公有链证书,且所述用户标识对应的公有链证书有效的情况下,根据所述用户标识对应的公有链证书,对所述第二终端进行身份验证。189.可选的,所述第一rtp消息中还携带有密钥中心名称kgcname、第二终端标识序列号snofidentity和用户标识废除列表所用的哈希算法名称nameofhashalgorothm;第二终端的身份签名信息是对sip消息头的from字段,to字段,以及所述第一rtp消息头的固定部分中的序列号sequencenumber和时间timestamp,以及所述第一rtp消息头的中的密钥中心名称kgcname,第二终端标识序列号snofidentity,用户标识废除列表所用的哈希算法名称nameofhashalgorothm进行签名运算所得;190.第一处理模块1102包括:191.第二确定单元,用于根据所述会话发起协议sip消息头的from字段,确定所述第二终端的用户标识;192.第二获取单元,用于根据所述密钥中心名称kgcname和所述第二终端的用户标识,在联盟链上获取所述第二终端对应的密钥中心kgc信息块;193.第二验证单元,用于在所述联盟链上获取到所述第二终端对应的密钥中心kgc信息块,且所述第二终端对应的密钥中心kgc信息块有效的情况下,根据所述密钥中心kgc信息块中的信息,对所述第二终端进行身份验证;194.其中,所述密钥中心信息块中的信息包括密钥中心公钥、签名验证算法。195.可选的,第一处理模块1102还包括:196.计算单元,用于计算所述第二终端的用户标识对应的哈希值;197.第三确定单元,用于根据所述第二终端的用户标识对应的哈希值,确定所述用户标识废除列表中是否存储有所述第二终端的用户标识对应的哈希值,所述用户标识废除列表存储有被废除的用户标识对应的哈希值;198.所述第二验证单元具体用于:199.在所述用户标识废除列表中未存储有所述第二终端的用户标识对应的哈希值的情况下,根据所述密钥中心kgc信息块中的信息,对所述第二终端进行身份验证。200.身份验证装置1100能够实现本发明方法实施例中第一终端能够实现的各个过程,以及达到相同的有益效果,为避免重复,这里不再赘述。201.参见图12,图12是本发明实施例提供的身份验证装置的结构图之二。如图12所示,身份验证装置1200包括:202.第二发送模块,用于向第一终端发送第一实时传输协议rtp消息,所述第一rtp消息中携带有所述第二终端的身份签名信息;203.第二接收模块,用于接收所述第一终端发送的第二rtp消息,所述第二rtp消息携带有确认标识,所述确认标识用于指示所述第二终端的身份验证是否通过。204.可选的,所述第二终端的身份签名信息位于所述第一rtp消息头的扩展部分。205.可选的,所述确认标识位于所述第二rtp消息头的扩展部分。206.可选的,身份验证装置1200还包括:207.第一签名模块,用于对会话发起协议sip消息头的from字段,to字段,以及所述第一rtp消息头中的序列号sequencenumber和时间戳timestamp进行签名运算,得到所述第二终端的身份签名信息。208.可选的,身份验证装置1200还包括:209.第二签名模块,用于对sip消息头的from字段,to字段,以及所述第一rtp消息头的固定部分中的序列号sequencenumber和时间timestamp,以及所述第一rtp消息头的中的密钥中心名称kgcname,第二终端标识序列号snofidentity,用户标识废除列表所用的哈希算法名称nameofhashalgorothm进行签名运算,得到所述第二终端的身份签名信息。210.身份验证装置1200能够实现本发明方法实施例中第二终端能够实现的各个过程,以及达到相同的有益效果,为避免重复,这里不再赘述。211.本发明实施例还提供一种电子设备。请参见图13,电子设备1300可以包括处理器1301、存储器1302及存储在存储器1302上并可在处理器1301上运行的计算机程序13021,计算机程序13021被处理器1301执行时可实现图5或者图10对应的方法实施例中的任意步骤及达到相同的有益效果,此处不再赘述。212.本领域普通技术人员可以理解实现上述实施例方法的全部或者部分步骤是可以通过程序指令相关的硬件来完成,所述的程序可以存储于一计算机可读取介质中。本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有第三计算机程序,所述第三计算机程序被第四处理器执行时可实现上述图5或图10对应的方法实施例中的任意步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。213.所述的存储介质,如只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等。214.以上所述是本发明的优选实施方式,应当指出,对于本
技术领域
:的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献