CN112398798A - 一种网络电话处理方法、装置及终端 - Google Patents

一种网络电话处理方法、装置及终端 Download PDF

Info

Publication number
CN112398798A
CN112398798A CN201910763086.6A CN201910763086A CN112398798A CN 112398798 A CN112398798 A CN 112398798A CN 201910763086 A CN201910763086 A CN 201910763086A CN 112398798 A CN112398798 A CN 112398798A
Authority
CN
China
Prior art keywords
block chain
terminal
certificate
calling terminal
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910763086.6A
Other languages
English (en)
Inventor
刘福文
杨波
王珂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
China Mobile Communications Ltd Research Institute
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Communications Ltd Research Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Mobile Communications Group Co Ltd, China Mobile Communications Ltd Research Institute filed Critical China Mobile Communications Group Co Ltd
Priority to CN201910763086.6A priority Critical patent/CN112398798A/zh
Publication of CN112398798A publication Critical patent/CN112398798A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for supporting authentication of entities communicating through a packet data network
    • H04L63/0823Network architectures or network communication protocols for network security for supporting authentication of entities communicating through a packet data network using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/18Network architectures or network communication protocols for network security using different networks or paths for security, e.g. using out of band channels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements or protocols for real-time communications
    • H04L65/10Signalling, control or architecture
    • H04L65/1066Session control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements or protocols for real-time communications
    • H04L65/10Signalling, control or architecture
    • H04L65/1066Session control
    • H04L65/1069Setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communication
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communication including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communication
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communication including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communication including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communication
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communication including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communication including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic mechanisms or cryptographic arrangements for secret or secure communication including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • H04L9/40
    • H04L65/1104

Abstract

本发明提供一种网络电话处理方法、装置及终端,涉及通信技术领域。所述方法,应用于被叫终端,包括:接收主叫终端发送的邀请网络通话的消息,所述消息中携带有第一签名信息和所述主叫终端的标识信息,所述第一签名信息是对邀请网络通话的消息头进行签名的签名信息;根据所述主叫终端的标识信息,查询所述主叫终端的区块链证书;根据所述主叫终端的区块链证书中的公钥,对所述第一签名信息进行验证,验证通过时建立与所述主叫终端的网络电话连接。本发明的方案,解决了目前网络电话中多CA间互信的问题。

Description

一种网络电话处理方法、装置及终端
技术领域
本发明涉及通信技术领域,特别是指一种网络电话处理方法、装置及终端。
背景技术
随着最近互联网协议地址IP接入公用电话交换网PSTN的兴起,价格便宜的基于IP的客户端协议(如会话发起协议SIP)正在取代昂贵的传统电话服务(如综合业务数字网ISDN)。廉价的IP语音(VoIP)电话服务现在正成为常态。PSTN的承载也正在朝着基于IP方向发展。
目前,如图1所示,网络电话中的安全机制是识别SIP请求发起者的身份,该识别过程如下:
(1)SIP客户端A向认证服务器发送SIP邀请消息。
(2)认证服务器对SIP邀请消息头签名,把签名和指示认证服务器证书的地址放入新定义的身份字段里。
(3)认证服务器把带签名的邀请消息发给验证服务器。
(4)验证服务器根据认证服务器证书的地址连接到公钥基础设施PKI获得认证服务器证书。
(5)验证服务器使用认证服务器证书中的公钥对签名进行验证,验证成功后,验证服务器发送SIP邀请消息给SIP客户端B。
因此,目前的网络电话的安全机制,SIP客户端必须信任认证服务器和验证服务器,如此,多证书认证中心CA存在CA间互信的问题。
发明内容
本发明的目的是提供一种网络电话处理方法、装置及终端,解决了目前网络电话中多CA间互信的问题。
为达到上述目的,本发明的实施例提供一种网络电话处理方法,应用于被叫终端,包括:
接收主叫终端发送的邀请网络通话的消息,所述消息中携带有第一签名信息和所述主叫终端的标识信息,所述第一签名信息是对邀请网络通话的消息头进行签名的签名信息;
根据所述主叫终端的标识信息,查询所述主叫终端的区块链证书;
根据所述主叫终端的区块链证书中的公钥,对所述第一签名信息进行验证,验证通过时建立与所述主叫终端的网络电话连接。
可选地,所述根据所述主叫终端的标识信息,查询所述主叫终端的区块链证书,包括:
若所述被叫终端为存储完整区块链的用户终端,则根据所述主叫终端的标识信息,在所存储的完整区块链中查询所述主叫终端的区块链证书;
若所述被叫终端为存储轻量级区块链的用户终端,则链接到存储完整区块链的可信终端后,根据所述主叫终端的标识信息,在所存储的完整区块链中查询所述主叫终端的区块链证书。
可选地,所述主叫终端的标识信息包括所述主叫终端的用户名,所述用户名为完整身份信息或者所述完整身份信息的哈希值;
所述根据所述主叫终端的标识信息,在所存储的完整区块链中查询所述主叫终端的区块链证书,包括:
根据所述主叫终端的用户名,向所述完整区块链发起所述主叫终端的区块链证书的查询。
可选地,所述区块链证书包括:用户名类型、用户名性质、用户名、公钥、有效期、证书状态和扩展项。
为达到上述目的,本发明的实施例提供一种网络电话处理方法,应用于主叫终端,包括:
对邀请网络通话的消息头进行签名得到第一签名信息;
向被叫终端发送邀请网络通话的消息,所述消息中携带有所述第一签名信息和所述主叫终端的标识信息,所述标识信息用于所述被叫终端查询所述主叫终端的区块链证书并对所述第一签名信息进行验证;
在验证通过时建立与所述被叫终端的网络电话连接。
可选地,在所述向被叫终端发送邀请网络通话的消息之前,还包括:
生成所述主叫终端的区块链证书;
若所述主叫终端的区块链证书中的用户名为完整身份信息,则使用私钥对所述主叫终端的区块链证书进行签名得到第二签名信息,并将所述主叫终端的区块链证书和所述第二签名信息在区块链网络上广播,经区块链的记账节点将所述主叫终端的区块链证书存储在区块链中;
若所述主叫终端的区块链证书中的用户名为完整身份信息的哈希值,则使用私钥对所述主叫终端的区块链证书和所述完整身份信息进行签名得到第三签名信息,并将所述区块链证书、所述完整身份信息和所述第三签名信息在区块链网络上广播,经区块链的记账节点将所述第二终端的区块链证书存储在区块链中。
为达到上述目的,本发明的实施例提供一种网络电话处理方法,应用于网络终端,所述网络终端为区块链的记账节点,包括:
获取用户终端在区块链网络上广播的区块链证书和第二签名信息;或者,区块链证书、完整身份信息和第三签名信息;
在所述第二签名信息或所述第三签名信息验证通过,且区块链中未存储与所述用户终端的对应的区块链证书或者与所述用户终端的对应的区块链证书无效的情况下,向所述用户终端发起身份验证;
在身份验证成功后,将所述用户终端的区块链证书存储在区块链中,所述区块链证书用于对所述用户终端发送的邀请网络通话的消息中的签名信息进行验证。
可选地,所述向所述用户终端发起身份验证,包括:
在区块链系统中嵌入短消息收发设备,并通过所述短消息收发设备根据所述用户终端的完整身份信息,向所述用户终端发送短消息验证码;或者,
触发外部的短消息收发设备根据所述用户终端的完整身份信息,向所述用户终端发送短消息验证码。
可选地,所述区块链证书均包括:用户名类型、用户名性质、用户名、公钥、有效期、证书状态和扩展项。
可选地,所述用户名为完整身份信息或者所述完整身份信息的哈希值。
为达到上述目的,一种网络电话处理装置,应用于被叫终端,包括:
接收模块,用于接收主叫终端发送的邀请网络通话的消息,所述消息中携带有第一签名信息和所述主叫终端的标识信息,所述第一签名信息是对邀请网络通话的消息头进行签名的签名信息;
查询模块,用于根据所述主叫终端的标识信息,查询所述主叫终端的区块链证书;
第一处理模块,用于根据所述主叫终端的区块链证书中的公钥,对所述第一签名信息进行验证,验证通过时建立与所述主叫终端的网络电话连接。
可选地,所述查询模块还用于:
若所述被叫终端为存储完整区块链的用户终端,则根据所述主叫终端的标识信息,在所存储的完整区块链中查询所述主叫终端的区块链证书;
若所述被叫终端为存储轻量级区块链的用户终端,则链接到存储完整区块链的可信终端后,根据所述主叫终端的标识信息,在所存储的完整区块链中查询所述主叫终端的区块链证书。
可选地,所述主叫终端的标识信息包括所述主叫终端的用户名,所述用户名为完整身份信息或者所述完整身份信息的哈希值;
所述查询模块还用于:
根据所述主叫终端的用户名,向所述完整区块链发起所述主叫终端的区块链证书的查询。
可选地,所述区块链证书包括:用户名类型、用户名性质、用户名、公钥、有效期、证书状态和扩展项。
为达到上述目的,本发明的实施例提供一种网络电话处理装置,应用于主叫终端,包括:
第二处理模块,用于对邀请网络通话的消息头进行签名得到第一签名信息;
发送模块,用于向被叫终端发送邀请网络通话的消息,所述消息中携带有所述第一签名信息和所述主叫终端的标识信息,所述标识信息用于所述被叫终端查询所述主叫终端的区块链证书并对所述第一签名信息进行验证;
第三处理模块,用于在验证通过时建立与所述被叫终端的网络电话连接。
可选地,所述装置还包括:
生成模块,用于生成所述主叫终端的区块链证书;
第一存储处理模块,用于若所述主叫终端的区块链证书中的用户名为完整身份信息,则使用私钥对所述主叫终端的区块链证书进行签名得到第二签名信息,并将所述主叫终端的区块链证书和所述第二签名信息在区块链网络上广播,经区块链的记账节点将所述主叫终端的区块链证书存储在区块链中;
第二存储处理模块,用于若所述主叫终端的区块链证书中的用户名为完整身份信息的哈希值,则使用私钥对所述主叫终端的区块链证书和所述完整身份信息进行签名得到第三签名信息,并将所述区块链证书、所述完整身份信息和所述第三签名信息在区块链网络上广播,经区块链的记账节点将所述第二终端的区块链证书存储在区块链中。
为达到上述目的,本发明的实施例提供一种网络电话处理装置,应用于网络终端,所述网络终端为区块链的记账节点,包括:
获取模块,用于获取用户终端在区块链网络上广播的区块链证书和第二签名信息;或者,区块链证书、完整身份信息和第三签名信息;
第四处理模块,用于在所述第二签名信息或所述第三签名信息验证通过,且区块链中未存储与所述用户终端的对应的区块链证书或者与所述用户终端的对应的区块链证书无效的情况下,向所述用户终端发起身份验证;
第五处理模块,用于在身份验证成功后,将所述用户终端的区块链证书存储在区块链中,所述区块链证书用于对所述用户终端发送的邀请网络通话的消息中的签名信息进行验证。
可选地,所述第四处理模块还用于:
在区块链系统中嵌入短消息收发设备,并通过所述短消息收发设备根据所述用户终端的完整身份信息,向所述用户终端发送短消息验证码;或者,
触发外部的短消息收发设备根据所述用户终端的完整身份信息,向所述用户终端发送短消息验证码。
可选地,所述区块链证书均包括:用户名类型、用户名性质、用户名、公钥、有效期、证书状态和扩展项。
可选地,所述用户名为完整身份信息或者所述完整身份信息的哈希值。
为达到上述目的,本发明的实施例提供一种用户终端,所述用户终端为被叫终端,包括:收发机和处理器;
所述收发机用于接收主叫终端发送的邀请网络通话的消息,所述消息中携带有第一签名信息和所述主叫终端的标识信息,所述第一签名信息是对邀请网络通话的消息头进行签名的签名信息;
所述处理器用于根据所述主叫终端的标识信息,查询所述主叫终端的区块链证书;
所述处理器还用于根据所述主叫终端的区块链证书中的公钥,对所述第一签名信息进行验证,验证通过时建立与所述主叫终端的网络电话连接。
可选地,所述处理器还用于:
若所述被叫终端为存储完整区块链的用户终端,则根据所述主叫终端的标识信息,在所存储的完整区块链中查询所述主叫终端的区块链证书;
若所述被叫终端为存储轻量级区块链的用户终端,则链接到存储完整区块链的可信终端后,根据所述主叫终端的标识信息,在所存储的完整区块链中查询所述主叫终端的区块链证书。
可选地,所述主叫终端的标识信息包括所述主叫终端的用户名,所述用户名为完整身份信息或者所述完整身份信息的哈希值;
所述处理器还用于:
根据所述主叫终端的用户名,向所述完整区块链发起所述主叫终端的区块链证书的查询。
可选地,所述区块链证书包括:用户名类型、用户名性质、用户名、公钥、有效期、证书状态和扩展项。
为达到上述目的,本发明的实施例提供一种用户终端,所述用户终端为主叫终端,包括:收发机和处理器;
所述处理器用于对邀请网络通话的消息头进行签名得到第一签名信息;
所述收发机用于向被叫终端发送邀请网络通话的消息,所述消息中携带有所述第一签名信息和所述主叫终端的标识信息,所述标识信息用于所述被叫终端查询所述主叫终端的区块链证书并对所述第一签名信息进行验证;
所述处理器还用于在验证通过时建立与所述被叫终端的网络电话连接。
可选地,所述处理器还用于:
生成所述主叫终端的区块链证书;
若所述主叫终端的区块链证书中的用户名为完整身份信息,则使用私钥对所述主叫终端的区块链证书进行签名得到第二签名信息,并将所述主叫终端的区块链证书和所述第二签名信息在区块链网络上广播,经区块链的记账节点将所述主叫终端的区块链证书存储在区块链中;
若所述主叫终端的区块链证书中的用户名为完整身份信息的哈希值,则使用私钥对所述主叫终端的区块链证书和所述完整身份信息进行签名得到第三签名信息,并将所述区块链证书、所述完整身份信息和所述第三签名信息在区块链网络上广播,经区块链的记账节点将所述主叫终端的区块链证书存储在区块链中。
为达到上述目的,本发明的实施例提供一种网络终端,所述网络终端为区块链的记账节点,包括:收发机和处理器;
所述收发机用于获取用户终端在区块链网络上广播的区块链证书和第二签名信息;或者,区块链证书、完整身份信息和第三签名信息;
所述处理器用于在所述第二签名信息或所述第三签名信息验证通过,且区块链中未存储与所述用户终端的对应的区块链证书或者与所述用户终端的对应的区块链证书无效的情况下,向所述用户终端发起身份验证;
所述处理器还用于在身份验证成功后,将所述用户终端的区块链证书存储在区块链中,所述区块链证书用于对所述用户终端发送的邀请网络通话的消息中的签名信息进行验证。
可选地,所述处理器还用于:
在区块链系统中嵌入短消息收发设备,并通过所述短消息收发设备根据所述用户终端的完整身份信息,向所述用户终端发送短消息验证码;或者,
触发外部的短消息收发设备根据所述用户终端的完整身份信息,向所述用户终端发送短消息验证码。
可选地,所述区块链证书均包括:用户名类型、用户名性质、用户名、公钥、有效期、证书状态和扩展项。
可选地,所述用户名为完整身份信息或者所述完整身份信息的哈希值。
为达到上述目的,本发明的实施例提供一种通信终端,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序;所述处理器执行所述计算机程序时实现如上应用于被叫终端的网络电话处理方法,或者,如上应用于主叫终端的网络电话处理方法,或者,如上应用于网络终端的网络电话处理方法。
为达到上述目的,本发明的实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上应用于被叫终端的网络电话处理方法,或者,如上应用于主叫终端的网络电话处理方法,或者,如上应用于网络终端的网络电话处理方法中的步骤。
本发明的上述技术方案的有益效果如下:
本发明实施例的方法,应用于被叫终端,在接收到主叫终端的邀请网络通话的消息后,将根据该消息中携带的主叫终端的标识信息查询对应该主叫终端的区块链证书,从而在查询到主叫终端的区块链证书后,使用该区块链证书中的公钥对消息中携带的第一签名信息进行验证,并在验证通过时建立主叫被叫间的网络电话连接。这样,使用区块链存储证书,在区块链中不存在可信的第三方,能实现网络电话用户终端间的直接信任,解决了多CA间互信的问题。
附图说明
图1为现有的网络电话处理流程示意图;
图2为本发明实施例应用于被叫终端的网络电话处理方法的流程图;
图3为本发明实施例中区块链证书的示意图;
图4为应用本发明实施例的方法的网络电话处理流程示意图;
图5为本发明实施例应用于主叫终端的网络电话处理方法的流程图;
图6为本发明实施例应用于网络终端的网络电话处理方法的流程图;
图7为本发明实施例应用于被叫终端的网络电话处理装置的结构图;
图8为本发明实施例应用于主叫终端的网络电话处理装置的结构图;
图9为本发明实施例应用于网络终端的网络电话处理装置的结构图;
图10为本发明实施例的被叫终端的结构图;
图11为本发明实施例的主叫终端的结构图
图12为本发明实施例的网络终端的结构图;
图13为本发明实施例的通信终端的结构图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
在本发明的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
另外,本文中术语“系统”和“网络”在本文中常可互换使用。
在本申请所提供的实施例中,应理解,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
如图2所示,本发明的实施例提供一种网络电话处理方法,应用于被叫终端,包括:
步骤201,接收主叫终端发送的邀请网络通话的消息,所述消息中携带有第一签名信息和所述主叫终端的标识信息,所述第一签名信息是对邀请网络通话的消息头进行签名的签名信息。
本步骤中,被叫终端会接收到主叫终端发送的邀请网络通话的消息。该消息中携带的第一签名信息,是该主叫终端对邀请网络通话的消息头进行签名所得。具体地,对该邀请网络通话的消息头中的DATA字段、FROM字段和TO字段进行签名。FROM字段含有邀请者的身份(SIP统一资源标志符URI或电话号码),TO字段含有被邀请者的身份(SIP URI或电话号码),DATA字段包含发送SIP邀请消息的时间戳。对FROM字段的签名可以保证邀请者的身份真实性,对TO字段的签名可以保证被邀请者的身份没有被篡改,对DATA字段的签名可以防止重放攻击。该消息中携带的主叫终端的标识信息,将用于查询该主叫终端的区块链证书。
步骤202,根据所述主叫终端的标识信息,查询所述主叫终端的区块链证书。
该实施例中,用户终端会将对自身身份验证使用的证书存储在区块链中,使用区块链保证证书的真实和可靠性。所以,本步骤中,在步骤201接收到主叫终端发送的邀请网络通话的消息后,将根据该邀请网络通话的消息携带的主叫终端的标识信息,查询该主叫终端的区块链证书,以便使用证书进行验证。
步骤203,根据所述主叫终端的区块链证书中的公钥,对所述第一签名信息进行验证,验证通过时建立与所述主叫终端的网络电话连接。
本步骤中,会使用经步骤202查询到的区块链证书中的公钥,对第一签名信息进行验证,从而在完成对主叫终端的验证时建立该被叫终端和主叫终端间的网络电话连接。其中,考虑到证书的存在和有效性,会在查询到主叫终端的区块链证书,且该区块链证书有效的情况下,使用该区块链证书的公钥。
如此,通过上述步骤,本发明实施例的方法,应用于被叫终端,在接收到主叫终端的邀请网络通话的消息后,将根据该消息中携带的主叫终端的标识信息查询对应该主叫终端的区块链证书,从而在查询到主叫终端的区块链证书后,使用该区块链证书中的公钥对消息中携带的第一签名信息进行验证,并在验证通过时建立主叫被叫间的网络电话连接。这样,使用区块链存储证书,在区块链中不存在可信的第三方,能实现网络电话用户终端间的直接信任,解决了多CA间互信的问题。
应该知道的是,该实施例中,为便于网络电话连接过程中,实现身份的验证,用户终端会生成各自的区块链证书并存储到区块链。因此,主叫终端发送邀请网络通话的消息之前,将生成自身的区块链证书;若生成的该区块链证书中的用户名为完整身份信息,则使用私钥对该主叫终端的区块链证书进行签名得到第二签名信息,并将该主叫终端的区块链证书和该第二签名信息在区块链网络上广播,经区块链的记账节点将主叫终端的区块链证书存储在区块链中;若生成的该区块链证书中的用户名为完整身份信息的哈希值,则使用私钥对主叫终端的区块链证书和完整身份信息进行签名得到第三签名信息,并将主叫终端的区块链证书、完整身份信息和所述第三签名信息在区块链网络上广播,经区块链的记账节点将所述第二终端的区块链证书存储在区块链中。
这里,主叫终端会先生成自身的区块链证书。而由于区块链证书中用户名可以是终端的完整身份信息如SIP URI或电话号码,还可以是终端的完整身份信息的哈希值,因此,为了保证记账节点对证书的正确存储,在生成区块链证书后,会针对区块链证书中用户名的具体实现,进行区别处理:若用户名为完整身份信息,则仅使用私钥对该区块链证书签名,将该区块链证书和所得的对应签名信息在区块链网络上广播,然后经区块链的记账节点将该区块链证书存储在区块链中;若用户名为完整身份信息的哈希值,则使用私钥对该区块链证书和完整身份信息进行签名,并将该区块链证书、完整身份信息和所得的对应签名信息在区块链网络上广播,然后经区块链的记账节点将该区块链证书存储在区块链中。
其中,记账节点是通过区块链共识机制确定的。基于终端在区块链网络上广播的内容,记账节点会对签名信息验证通过,且区块链中未存储与该终端对应的区块链证书或者与该终端对应的区块链证书无效的情况下,向该终端再发起身份验证请求,在身份验证成功后,将该终端对应的区块链证书存储在区块链中。
具体的,记账节点通过对签名信息进行验证,能够确保区块链证书和终端的用户名的完整性。而为了实现区块链证书的唯一有效,在存储之前,记账节点会搜索区块链上已有区块链证书的用户名是否与待存储区块链证书的用户名重名。如果有重名,且在区块链上重名的最新证书的状态为有效状态,记账节点将拒绝待存储区块链证书的存储申请;如果有重名,但在区块链上重名的最新证书的状态为无效状态,或者没有重名,向终端发起身份验证请求。
向终端发起身份验证请求,可以是记账节点在区块链系统中嵌入短消息收发设备如短消息业务SMS模块,通过该短消息收发设备根据终端的完整身份信息,向该终端发送短消息验证码,然后对终端回送的短消息验证码进行比对。在比对结果表示两个验证码相同时,确定待存储的区块链证书的身份真实性。其中,发送短消息验证码依据的终端的完整身份信息,可以是区块链证书中携带的,或者在网络上直接广播的。对区块链证书的身份进行验证成功后,记账节点把区块链证书写入区块,等系统要求等待的时间结束后,把此区块写入区块链中。如果用户名为完整身份信息的哈希值,记账节点也只把区块链证书写入区块,用户终端的完整身份信息不写入区块。
当然,不限于该主叫终端在区块链中存储自身的区块链证书,被叫终端也会采用同样的实现方式在区块链中存储自身的区块链证书,在此不再赘述。
可选地,如图3所示,所述区块链证书300包括:用户名类型、用户名性质、用户名、公钥、有效期、证书状态和扩展项。
主叫终端生成区块链证书主要包括用户名类型、用户名性质、用户名、公钥、有效期、证书状态和扩展项。具体的:
用户名类型:用于区分用户类型不同的标记,如电话号码,SIP URI等。
用户名性质:用于区分用户名是匿名或实名。用户名匿名是为了保护用户的隐私。
用户名:用户申请区块链证书所使用的名称。对于VOIP系统,如果用户名性质为实名,则用户名为SIP邀请消息中FROM字段的用户名,即终端的完整身份信息;如果用户名性质是匿名,则用户名为FROM字段用户名的哈希值。
公钥:由证书申请者产生,其对应的私钥由证书申请者秘密保持。为了使证书的长度尽量短以节省其在区块链上的存储空间,优选地,证书申请者在产生公私钥对时采用椭圆曲线密钥算法(ECC:Elliptical Curve Cryptography)。
有效期:证书能开始使用的时间点和不再有效的时间点。
扩展项:留着备用。
证书的状态:两种状态:有效和无效。
其中,生成区块链证书可以使用标准格式如标准X.509格式,只是因区块链的网络中不存在可信的第三方,证书签名使用自签名,而不是第三方的数字签名。区块链证书也可以使用自定义的格式,因区块链证书的真实和可靠性由区块链来保证而不是由第三方的数字签名来保证,且在区块链的网络中也不存在可信的第三方,自定义格式与X.509格式的最大不同在于该格式不包含对证书信息的签名。而且用户终端生成区块链证书时,会证书状态标为有效。
还应该知道的是,该实施例中,由于该被叫终端可以是存储完整区块链的用户终端,也可以是存储轻量级区块链的用户终端,无法完成主叫终端区块链证书的查找,所以,可选地,步骤202包括:
若所述被叫终端为存储完整区块链的用户终端,则根据所述主叫终端的标识信息,在所存储的完整区块链中查询所述主叫终端的区块链证书;
若所述被叫终端为存储轻量级区块链的用户终端,则链接到存储完整区块链的可信终端后,根据所述主叫终端的标识信息,在所存储的完整区块链中查询所述主叫终端的区块链证书。
如此,针对存储完整区块链的被叫终端,该被叫终端可直接根据主叫终端的标识信息,在其存储的完整区块链中查询主叫终端的区块链证书;针对存储轻量级区块链的被叫终端,该被叫终端需要链接到存储完整区块链的可信终端,经由该可信终端在其存储的完整区块链中查询主叫终端的区块链证书。
此外,可选地,所述主叫终端的标识信息包括所述主叫终端的用户名,所述用户名为完整身份信息或者所述完整身份信息的哈希值;
相应的,步骤202包括:
根据所述主叫终端的用户名,向所述完整区块链发起所述主叫终端的区块链证书的查询。
该标识信息即用户名位于SIP消息中FROM字段,具体的,若该用户名为终端完整身份信息,被叫终端使用该用户名在本地的区块链或存储在远端的区块链发起查询,如果要查询的用户名在区块链上没有检索到,再次使用SIP消息中FROM字段的用户名的哈希值在本地的区块链或存储在远端的区块链发起查询。若该用户名为终端完整身份信息的哈希值,直接使用哈希值在本地的区块链或存储在远端的区块链发起查询。
然而,如果要查询的用户名在区块链上没有检索到,则终止查询并则返回给用户错误信息(证书不存在)。如果存在,则对用户名对应的最新的区块链证书进行检查。如果证书的状态为无效状态,则返回给用户错误信息(证书存在但状态失效);如果证书的状态为有效状态但已过了有效期,则返回给用户错误信息(证书存在但已过有效期);如果证书的状态为有效状态且在有效期内,则是被叫终端想要获取的主叫终端的区块链证书。
如图4所示,用户终端A(主叫终端)向用户终端B(被叫终端)发送邀请网络通话的消息(SIP邀请消息),用户终端A自己对SIP邀请消息头中的DATA字段,FROM字段,TO字段进行签名。假设用户终端A在区块链存储了自身生成的、有效的区块链证书。用户终端B接收到该邀请网络通话的消息后,使用该消息中的主叫终端的标识信息在本地的区块链或存储在远端的区块链发起查询,在查询到用户终端A在区块链存储的该区块链证书,就能够基于该区块链证书,使用证书中的公钥对该消息中的签名信息进行验证,验证成功则证明了用户终端A身份的真实性,并在验证成功时建立主叫被叫间的网络电话连接,实现网络电话。
综上所述,本发明实施例的方法,应用于被叫终端,在接收到主叫终端的邀请网络通话的消息后,将根据该消息中携带的主叫终端的标识信息查询对应该主叫终端的区块链证书,从而在查询到主叫终端的区块链证书后,使用该区块链证书中的公钥对消息中携带的第一签名信息进行验证,并在验证通过时建立主叫被叫间的网络电话连接。这样,使用区块链存储证书,在区块链中不存在可信的第三方,能实现网络电话用户终端间的直接信任,解决了多CA间互信的问题。
如图5所示,本发明的实施例还提供一种网络电话处理方法,应用于主叫终端,包括:
步骤501,对邀请网络通话的消息头进行签名得到第一签名信息。
具体地,对该邀请网络通话的消息头中的DATA字段、FROM字段和TO字段进行签名。FROM字段含有邀请者的身份(SIP统一资源标志符URI或电话号码),TO字段含有被邀请者的身份(SIP URI或电话号码),DATA字段包含发送SIP邀请消息的时间戳。对FROM字段的签名可以保证邀请者的身份真实性,对TO字段的签名可以保证被邀请者的身份没有被篡改,对DATA字段的签名可以防止重放攻击。
步骤502,向被叫终端发送邀请网络通话的消息,所述消息中携带有所述第一签名信息和所述主叫终端的标识信息,所述标识信息用于所述被叫终端查询所述主叫终端的区块链证书并对所述第一签名信息进行验证。
主叫终端发送邀请网络通话的消息至被叫终端。其中,该消息包括上述步骤501签名所得的第一签名信息和主叫终端的标识信息,以使被叫终端接收到该消息后,能够基于该主叫终端的标识信息查询区块链证书,并使用区块链证书中的公钥验证第一签名信息,完成主叫终端的身份验证。
步骤503,在验证通过时建立与所述被叫终端的网络电话连接。
如此,在被叫终端完成主叫终端的身份验证即验证通过时,就能够建立主叫被叫间的网络电话连接。这样,使用区块链存储证书,在区块链中不存在可信的第三方,能实现网络电话用户终端间的直接信任,解决了多CA间互信的问题。
可选地,在步骤502之前,还包括:
生成所述主叫终端的区块链证书;
若所述主叫终端的区块链证书中的用户名为完整身份信息,则使用私钥对所述主叫终端的区块链证书进行签名得到第二签名信息,并将所述主叫终端的区块链证书和所述第二签名信息在区块链网络上广播,经区块链的记账节点将所述主叫终端的区块链证书存储在区块链中;
若所述主叫终端的区块链证书中的用户名为完整身份信息的哈希值,则使用私钥对所述主叫终端的区块链证书和所述完整身份信息进行签名得到第三签名信息,并将所述区块链证书、所述完整身份信息和所述第三签名信息在区块链网络上广播,经区块链的记账节点将所述主叫终端的区块链证书存储在区块链中。
这里,主叫终端会先生成自身的区块链证书。而由于区块链证书中用户名可以是终端的完整身份信息如SIP URI或电话号码,还可以是终端的完整身份信息的哈希值,因此,为了保证记账节点对证书的正确存储,在生成区块链证书后,会针对区块链证书中用户名的具体实现,进行区别处理:若用户名为完整身份信息,则仅使用私钥对该区块链证书签名,将该区块链证书和所得的对应签名信息在区块链网络上广播,然后经区块链的记账节点将该区块链证书存储在区块链中;若用户名为完整身份信息的哈希值,则使用私钥对该区块链证书和完整身份信息进行签名,并将该区块链证书、完整身份信息和所得的对应签名信息在区块链网络上广播,然后经区块链的记账节点将该区块链证书存储在区块链中。
其中,记账节点是通过区块链共识机制确定的。基于终端在区块链网络上广播的内容,记账节点会对签名信息验证通过,且区块链中未存储与该终端对应的区块链证书或者与该终端对应的区块链证书无效的情况下,向该终端再发起身份验证请求,在身份验证成功后,将该终端对应的区块链证书存储在区块链中。
具体的,记账节点通过对签名信息进行验证,能够确保区块链证书和终端的用户名的完整性。而为了实现区块链证书的唯一有效,在存储之前,记账节点会搜索区块链上已有区块链证书的用户名是否与待存储区块链证书的用户名重名。如果有重名,且在区块链上重名的最新证书的状态为有效状态,记账节点将拒绝待存储区块链证书的存储申请;如果有重名,但在区块链上重名的最新证书的状态为无效状态,或者没有重名,向终端发起身份验证请求。
向终端发起身份验证请求,可以是记账节点在区块链系统中嵌入短消息收发设备如短消息业务SMS模块,通过该短消息收发设备根据终端的完整身份信息,向该终端发送短消息验证码,然后对终端回送的短消息验证码进行比对。在比对结果表示两个验证码相同时,确定待存储的区块链证书的身份真实性。其中,发送短消息验证码依据的终端的完整身份信息,可以是区块链证书中携带的,或者在网络上直接广播的。对区块链证书的身份进行验证成功后,记账节点把区块链证书写入区块,等系统要求等待的时间结束后,把此区块写入区块链中。如果用户名为完整身份信息的哈希值,记账节点也只把区块链证书写入区块,用户终端的完整身份信息不写入区块。
可选地,所述区块链证书包括:用户名类型、用户名性质、用户名、公钥、有效期、证书状态和扩展项。
具体的:
用户名类型:用于区分用户类型不同的标记,如电话号码,SIP URI等。
用户名性质:用于区分用户名是匿名或实名。用户名匿名是为了保护用户的隐私。
用户名:用户申请区块链证书所使用的名称。对于VOIP系统,如果用户名性质为实名,则用户名为SIP邀请消息中FROM字段的用户名,即终端的完整身份信息;如果用户名性质是匿名,则用户名为FROM字段用户名的哈希值。
公钥:由证书申请者产生,其对应的私钥由证书申请者秘密保持。为了使证书的长度尽量短以节省其在区块链上的存储空间,优选地,证书申请者在产生公私钥对时采用椭圆曲线密钥算法(ECC:Elliptical Curve Cryptography)。
有效期:证书能开始使用的时间点和不再有效的时间点。
扩展项:留着备用。
证书的状态:两种状态:有效和无效。
需要说明的是,该方法是与上述应用于被叫终端的网络电话处理方法配合,实现使用区块链证书对主叫身份的直接验证,并且克服了多CA信任的问题,上述应用于被叫终端的网络电话处理方法的实施例的实现方式适用于该方法,也能达到相同的技术效果。
如图6所示,本发明的实施例提供一种网络电话处理方法,应用于网络终端,所述网络终端为区块链的记账节点,包括:
步骤601,获取用户终端在区块链网络上广播的区块链证书和第二签名信息;或者,区块链证书、完整身份信息和第三签名信息。
其中,第二签名信息是使用私钥对区块链证书签名所得,第三签名信息是使用私钥对区块链证书和该用户终端的完整身份信息签名所得。
步骤602,在所述第二签名信息或所述第三签名信息验证通过,且区块链中未存储与所述用户终端的对应的区块链证书或者与所述用户终端的对应的区块链证书无效的情况下,向所述用户终端发起身份验证;
步骤603,在身份验证成功后,将所述用户终端的区块链证书存储在区块链中,所述区块链证书用于对所述用户终端发送的邀请网络通话的消息中的签名信息进行验证。
本发明实施例的方法,基于用户终端在区块链网络上广播的内容,记账节点会在对应的签名信息(第二签名信息或第三签名信息)验证通过,且区块链中未存储与该用户终端对应的区块链证书或者与该用户终端对应的区块链证书无效的情况下,向该用户终端进一步发起对该用户终端的身份验证请求,以避免恶意篡改证书。这样,在用户终端的身份验证成功后,就能够将该用户终端真实、有效的区块链证书存储在区块链中。而该区块链证书,后续则能够在主叫终端发送的邀请网络通话的消息至被叫终端的情况下,由被叫终端基于邀请网络通话的消息查询获得,从而使用区块链证书实现对主叫身份的直接验证,克服了多CA信任的问题。
具体的,应用本发明实施例方法的网络终端,作为记账节点,通过对用户终端广播签名信息进行验证,能够确保区块链证书和终端的完整身份信息的完整性。而为了实现区块链证书的唯一有效,在存储之前,记账节点会搜索区块链上已有区块链证书的用户名是否与待存储区块链证书的用户名重名。如果有重名,且在区块链上重名的最新证书的状态为有效状态,记账节点将拒绝待存储区块链证书的存储申请;如果有重名,但在区块链上重名的最新证书的状态为无效状态,或者没有重名,向终端发起身份验证请求。
可选地,步骤602中,向所述用户终端发起身份验证,包括:
在区块链系统中嵌入短消息收发设备,并通过所述短消息收发设备根据所述用户终端的完整身份信息,向所述用户终端发送短消息验证码;或者,
触发外部的短消息收发设备根据所述用户终端的完整身份信息,向所述用户终端发送短消息验证码。
向终端发起身份验证请求,可以是记账节点在区块链系统中嵌入短消息收发设备如SMS模块,通过该短消息收发设备根据终端的完整身份信息,向该终端发送短消息验证码,然后对终端回送的短消息验证码进行比对。在比对结果表示两个验证码相同时,确定待存储的区块链证书的身份真实性。其中,发送短消息验证码依据的终端的完整身份信息,可以是区块链证书中携带的,或者在网络上直接广播的。对区块链证书的身份进行验证成功后,记账节点把区块链证书写入区块,等系统要求等待的时间结束后,把此区块写入区块链中。如果用户名为完整身份信息的哈希值,记账节点也只把区块链证书写入区块,用户终端的完整身份信息不写入区块。
可选地,所述区块链证书均包括:用户名类型、用户名性质、用户名、公钥、有效期、证书状态和扩展项。
可选地,所述用户名为完整身份信息或者所述完整身份信息的哈希值。
需要说明的是,该方法是与上述应用于用户终端的网络电话处理方法配合,存储用户终端的区块链证书,而该区块链证书,后续则能够在主叫终端发送的邀请网络通话的消息至被叫终端的情况下,由被叫终端基于邀请网络通话的消息查询获得,从而实现使用区块链证书对主叫身份的直接验证,并且克服了多CA信任的问题,上述应用于用户终端的网络电话处理方法的实施例的实现方式适用于该方法,也能达到相同的技术效果。
如图7所示,本发明的实施例提供一种网络电话处理装置,应用于被叫终端,包括:
接收模块710,用于接收主叫终端发送的邀请网络通话的消息,所述消息中携带有第一签名信息和所述主叫终端的标识信息,所述第一签名信息是对邀请网络通话的消息头进行签名的签名信息;
查询模块720,用于根据所述主叫终端的标识信息,查询所述主叫终端的区块链证书;
第一处理模块730,用于根据所述主叫终端的区块链证书中的公钥,对所述第一签名信息进行验证,验证通过时建立与所述主叫终端的网络电话连接。
可选地,所述查询模块还用于:
若所述被叫终端为存储完整区块链的用户终端,则根据所述主叫终端的标识信息,在所存储的完整区块链中查询所述主叫终端的区块链证书;
若所述被叫终端为存储轻量级区块链的用户终端,则链接到存储完整区块链的可信终端后,根据所述主叫终端的标识信息,在所存储的完整区块链中查询所述主叫终端的区块链证书。
可选地,所述主叫终端的标识信息包括所述主叫终端的用户名,所述用户名为完整身份信息或者所述完整身份信息的哈希值;
所述查询模块还用于:
根据所述主叫终端的用户名,向所述完整区块链发起所述主叫终端的区块链证书的查询。
可选地,所述区块链证书包括:用户名类型、用户名性质、用户名、公钥、有效期、证书状态和扩展项。
该装置应用于被叫终端,在接收到主叫终端的邀请网络通话的消息后,将根据该消息中携带的主叫终端的标识信息查询对应该主叫终端的区块链证书,从而在查询到主叫终端的区块链证书后,使用该区块链证书中的公钥对消息中携带的第一签名信息进行验证,并在验证通过时建立主叫被叫间的网络电话连接。这样,使用区块链存储证书,在区块链中不存在可信的第三方,能实现网络电话用户终端间的直接信任,解决了多CA间互信的问题。
需要说明的是,该装置是应用了上述应用于被叫终端的网络电话处理方法,上述应用于被叫终端的网络电话处理方法的实施例的实现方式,适用于该装置也能达到相同的技术效果。
如图8所示,本发明的实施例提供一种网络电话处理装置,应用于主叫终端,包括:
第二处理模块810,用于对邀请网络通话的消息头进行签名得到第一签名信息;
发送模块820,用于向被叫终端发送邀请网络通话的消息,所述消息中携带有所述第一签名信息和所述主叫终端的标识信息,所述标识信息用于所述被叫终端查询所述主叫终端的区块链证书并对所述第一签名信息进行验证;
第三处理模块830,用于在验证通过时建立与所述被叫终端的网络电话连接。
可选地,所述装置还包括:
生成模块,用于生成所述主叫终端的区块链证书;
第一存储处理模块,用于若所述主叫终端的区块链证书中的用户名为完整身份信息,则使用私钥对所述主叫终端的区块链证书进行签名得到第二签名信息,并将所述主叫终端的区块链证书和所述第二签名信息在区块链网络上广播,经区块链的记账节点将所述主叫终端的区块链证书存储在区块链中;
第二存储处理模块,用于若所述主叫终端的区块链证书中的用户名为完整身份信息的哈希值,则使用私钥对所述主叫终端的区块链证书和所述完整身份信息进行签名得到第三签名信息,并将所述区块链证书、所述完整身份信息和所述第三签名信息在区块链网络上广播,经区块链的记账节点将所述第二终端的区块链证书存储在区块链中。
该装置应用于主叫终端,首先对邀请网络通话的消息头进行签名得到第一签名信息,之后发送邀请网络通话的消息至被叫终端,以使被叫终端基于该消息携带的主叫终端的标识信息查询到区块链证书,并使用区块链证书中的公钥验证第一签名信息,如此在被叫终端完成主叫终端的身份验证即验证通过时,就能够建立主叫被叫间的网络电话连接。这样,使用区块链存储证书,在区块链中不存在可信的第三方,能实现网络电话用户终端间的直接信任,解决了多CA间互信的问题。
需要说明的是,该装置是应用了上述应用于主叫终端的网络电话处理方法,上述应用于主叫终端的网络电话处理方法的实施例的实现方式,适用于该装置也能达到相同的技术效果。
如图9所示,本发明的实施例提供一种网络电话处理装置,应用于网络终端,所述网络终端为区块链的记账节点,包括:
获取模块910,用于获取用户终端在区块链网络上广播的区块链证书和第二签名信息;或者,区块链证书、完整身份信息和第三签名信息;
第四处理模块920,用于在所述第二签名信息或所述第三签名信息验证通过,且区块链中未存储与所述用户终端的对应的区块链证书或者与所述用户终端的对应的区块链证书无效的情况下,向所述用户终端发起身份验证;
第五处理模块930,用于在身份验证成功后,将所述用户终端的区块链证书存储在区块链中,所述区块链证书用于对所述用户终端发送的邀请网络通话的消息中的签名信息进行验证。
可选地,所述第四处理模块还用于:
在区块链系统中嵌入短消息收发设备,并通过所述短消息收发设备根据所述用户终端的完整身份信息,向所述用户终端发送短消息验证码;或者,
触发外部的短消息收发设备根据所述用户终端的完整身份信息,向所述用户终端发送短消息验证码。
可选地,所述区块链证书均包括:用户名类型、用户名性质、用户名、公钥、有效期、证书状态和扩展项。
可选地,所述用户名为完整身份信息或者所述完整身份信息的哈希值。
该装置,基于用户终端在区块链网络上广播的内容,会在对应的签名信息验证通过,且区块链中未存储与该用户终端对应的区块链证书或者与该用户终端对应的区块链证书无效的情况下,向该用户终端进一步发起对该用户终端的身份验证请求,以避免恶意篡改证书。这样,在用户终端的身份验证成功后,就能够将该用户终端真实、有效的区块链证书存储在区块链中。而该区块链证书,后续则能够在主叫终端发送的邀请网络通话的消息至被叫终端的情况下,由被叫终端基于邀请网络通话的消息查询获得,从而使用区块链证书实现对主叫身份的直接验证,克服了多CA信任的问题。
需要说明的是,该装置是应用了上述应用于网络终端的网络电话处理方法,上述应用于网络终端的网络电话处理方法的实施例的实现方式,适用于该装置也能达到相同的技术效果。
如图10所示,本发明的实施例提供一种用户终端,所述用户终端为被叫终端1000,包括:收发机1010和处理器1020。
所述收发机1010用于接收主叫终端发送的邀请网络通话的消息,所述消息中携带有第一签名信息和所述主叫终端的标识信息,所述第一签名信息是对邀请网络通话的消息头进行签名的签名信息;
所述处理器1020用于根据所述主叫终端的标识信息,查询所述主叫终端的区块链证书;
所述处理器1020还用于根据所述主叫终端的区块链证书中的公钥,对所述第一签名信息进行验证,验证通过时建立与所述主叫终端的网络电话连接。
可选地,所述处理器1020还用于:
若所述被叫终端为存储完整区块链的用户终端,则根据所述主叫终端的标识信息,在所存储的完整区块链中查询所述主叫终端的区块链证书;
若所述被叫终端为存储轻量级区块链的用户终端,则链接到存储完整区块链的可信终端后,根据所述主叫终端的标识信息,在所存储的完整区块链中查询所述主叫终端的区块链证书。
可选地,所述主叫终端的标识信息包括所述主叫终端的用户名,所述用户名为完整身份信息或者所述完整身份信息的哈希值;
所述处理器1020还用于:
根据所述主叫终端的用户名,向所述完整区块链发起所述主叫终端的区块链证书的查询。
可选地,所述区块链证书包括:用户名类型、用户名性质、用户名、公钥、有效期、证书状态和扩展项。
这样,该被叫终端在接收到主叫终端的邀请网络通话的消息后,将根据该消息中携带的主叫终端的标识信息查询对应该主叫终端的区块链证书,从而在查询到主叫终端的区块链证书后,使用该区块链证书中的公钥对消息中携带的第一签名信息进行验证,并在验证通过时建立主叫被叫间的网络电话连接。这样,使用区块链存储证书,在区块链中不存在可信的第三方,能实现网络电话用户终端间的直接信任,解决了多CA间互信的问题。
如图11所示,本发明的实施例提供一种用户终端,所述用户终端为主叫终端1100,包括:收发机1110和处理器1120。
所述处理器1120用于对邀请网络通话的消息头进行签名得到第一签名信息;
所述收发机1110用于向被叫终端发送邀请网络通话的消息,所述消息中携带有所述第一签名信息和所述主叫终端的标识信息,所述标识信息用于所述被叫终端查询所述主叫终端的区块链证书并对所述第一签名信息进行验证;
所述处理器1120还用于在验证通过时建立与所述被叫终端的网络电话连接。
可选地,所述处理器1120还用于:
生成所述主叫终端的区块链证书;
若所述主叫终端的区块链证书中的用户名为完整身份信息,则使用私钥对所述主叫终端的区块链证书进行签名得到第二签名信息,并将所述主叫终端的区块链证书和所述第二签名信息在区块链网络上广播,经区块链的记账节点将所述主叫终端的区块链证书存储在区块链中;
若所述主叫终端的区块链证书中的用户名为完整身份信息的哈希值,则使用私钥对所述主叫终端的区块链证书和所述完整身份信息进行签名得到第三签名信息,并将所述区块链证书、所述完整身份信息和所述第三签名信息在区块链网络上广播,经区块链的记账节点将所述主叫终端的区块链证书存储在区块链中。
这样,主叫终端首先对邀请网络通话的消息头进行签名得到第一签名信息,之后发送邀请网络通话的消息至被叫终端,以使被叫终端基于该消息携带的主叫终端的标识信息查询到区块链证书,并使用区块链证书中的公钥验证第一签名信息,如此在被叫终端完成主叫终端的身份验证即验证通过时,就能够建立主叫被叫间的网络电话连接。这样,使用区块链存储证书,在区块链中不存在可信的第三方,能实现网络电话用户终端间的直接信任,解决了多CA间互信的问题。
如图12所示,本发明的实施例提供一种网络终端1200,所述网络终端为区块链的记账节点,包括:收发机1210和处理器1220;
所述收发机1210用于获取用户终端在区块链网络上广播的区块链证书和第二签名信息;或者,区块链证书、完整身份信息和第三签名信息;
所述处理器1220用于在所述第二签名信息或所述第三签名信息验证通过,且区块链中未存储与所述用户终端的对应的区块链证书或者与所述用户终端的对应的区块链证书无效的情况下,向所述用户终端发起身份验证;
所述处理器1220还用于在身份验证成功后,将所述用户终端的区块链证书存储在区块链中,所述区块链证书用于对所述用户终端发送的邀请网络通话的消息中的签名信息进行验证。
可选地,所述处理器1220还用于:
在区块链系统中嵌入短消息收发设备,并通过所述短消息收发设备根据所述用户终端的完整身份信息,向所述用户终端发送短消息验证码;或者,
触发外部的短消息收发设备根据所述用户终端的完整身份信息,向所述用户终端发送短消息验证码。
可选地,所述区块链证书均包括:用户名类型、用户名性质、用户名、公钥、有效期、证书状态和扩展项。
可选地,所述用户名为完整身份信息或者所述完整身份信息的哈希值。
该网络设备,基于用户终端在区块链网络上广播的内容,会在对应的签名信息验证通过,且区块链中未存储与该用户终端对应的区块链证书或者与该用户终端对应的区块链证书无效的情况下,向该用户终端进一步发起对该用户终端的身份验证请求,以避免恶意篡改证书。这样,在用户终端的身份验证成功后,就能够将该用户终端真实、有效的区块链证书存储在区块链中。而该区块链证书,后续则能够在主叫终端发送的邀请网络通话的消息至被叫终端的情况下,由被叫终端基于邀请网络通话的消息查询获得,从而使用区块链证书实现对主叫身份的直接验证,克服了多CA信任的问题。
如图13所示,本发明另一实施例的一种通信终端,包括:处理器1300、存储器1320及存储在所述存储器1320上并可在所述处理器1300上运行的计算机程序;所述处理器1300执行所述计算机程序时实现如上应用于被叫终端的网络电话处理方法,或者,如上应用于主叫终端的网络电话处理方法,或者,如上应用于网络终端的网络电话处理方法。
所述通信终端还包括收发器1310,用于在处理器1300的控制下接收和发送数据。
其中,在图13中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器1300代表的一个或多个处理器和存储器1320代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发器1310可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。处理器1300负责管理总线架构和通常的处理,存储器1320可以存储处理器1300在执行操作时所使用的数据。
本发明实施例的一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上应用于被叫终端的网络电话处理方法,或者,如上应用于主叫终端的网络电话处理方法,或者,如上应用于网络终端的网络电话处理方法中的步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
进一步需要说明的是,此说明书中所描述的用户终端包括但不限于智能手机、平板电脑等,且所描述的许多功能部件都被称为模块,以便更加特别地强调其实现方式的独立性。
本发明实施例中,模块可以用软件实现,以便由各种类型的处理器执行。举例来说,一个标识的可执行代码模块可以包括计算机指令的一个或多个物理或者逻辑块,举例来说,其可以被构建为对象、过程或函数。尽管如此,所标识模块的可执行代码无需物理地位于一起,而是可以包括存储在不同位里上的不同的指令,当这些指令逻辑上结合在一起时,其构成模块并且实现该模块的规定目的。
实际上,可执行代码模块可以是单条指令或者是许多条指令,并且甚至可以分布在多个不同的代码段上,分布在不同程序当中,以及跨越多个存储器设备分布。同样地,操作数据可以在模块内被识别,并且可以依照任何适当的形式实现并且被组织在任何适当类型的数据结构内。所述操作数据可以作为单个数据集被收集,或者可以分布在不同位置上(包括在不同存储设备上),并且至少部分地可以仅作为电子信号存在于系统或网络上。
在模块可以利用软件实现时,考虑到现有硬件工艺的水平,所以可以以软件实现的模块,在不考虑成本的情况下,本领域技术人员都可以搭建对应的硬件电路来实现对应的功能,所述硬件电路包括常规的超大规模集成(VLSI)电路或者门阵列以及诸如逻辑芯片、晶体管之类的现有半导体或者是其它分立的元件。模块还可以用可编程硬件设备,诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等实现。
上述范例性实施例是参考该些附图来描述的,许多不同的形式和实施例是可行而不偏离本发明精神及教示,因此,本发明不应被建构成为在此所提出范例性实施例的限制。更确切地说,这些范例性实施例被提供以使得本发明会是完善又完整,且会将本发明范围传达给那些熟知此项技术的人士。在该些图式中,组件尺寸及相对尺寸也许基于清晰起见而被夸大。在此所使用的术语只是基于描述特定范例性实施例目的,并无意成为限制用。如在此所使用地,除非该内文清楚地另有所指,否则该单数形式“一”、“一个”和“该”是意欲将该些多个形式也纳入。会进一步了解到该些术语“包含”及/或“包括”在使用于本说明书时,表示所述特征、整数、步骤、操作、构件及/或组件的存在,但不排除一或更多其它特征、整数、步骤、操作、构件、组件及/或其族群的存在或增加。除非另有所示,陈述时,一值范围包含该范围的上下限及其间的任何子范围。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (18)

1.一种网络电话处理方法,应用于被叫终端,其特征在于,包括:
接收主叫终端发送的邀请网络通话的消息,所述消息中携带有第一签名信息和所述主叫终端的标识信息,所述第一签名信息是对邀请网络通话的消息头进行签名的签名信息;
根据所述主叫终端的标识信息,查询所述主叫终端的区块链证书;
根据所述主叫终端的区块链证书中的公钥,对所述第一签名信息进行验证,验证通过时建立与所述主叫终端的网络电话连接。
2.根据权利要求1所述的方法,其特征在于,所述根据所述主叫终端的标识信息,查询所述主叫终端的区块链证书,包括:
若所述被叫终端为存储完整区块链的用户终端,则根据所述主叫终端的标识信息,在所存储的完整区块链中查询所述主叫终端的区块链证书;
若所述被叫终端为存储轻量级区块链的用户终端,则链接到存储完整区块链的可信终端后,根据所述主叫终端的标识信息,在所存储的完整区块链中查询所述主叫终端的区块链证书。
3.根据权利要求2所述的方法,其特征在于,所述主叫终端的标识信息包括所述主叫终端的用户名,所述用户名为完整身份信息或者所述完整身份信息的哈希值;
所述根据所述主叫终端的标识信息,在所存储的完整区块链中查询所述主叫终端的区块链证书,包括:
根据所述主叫终端的用户名,向所述完整区块链发起所述主叫终端的区块链证书的查询。
4.根据权利要求3所述的方法,其特征在于,所述区块链证书包括:用户名类型、用户名性质、用户名、公钥、有效期、证书状态和扩展项。
5.一种网络电话处理方法,应用于主叫终端,其特征在于,包括:
对邀请网络通话的消息头进行签名得到第一签名信息;
向被叫终端发送邀请网络通话的消息,所述消息中携带有所述第一签名信息和所述主叫终端的标识信息,所述标识信息用于所述被叫终端查询所述主叫终端的区块链证书并对所述第一签名信息进行验证;
在验证通过时建立与所述被叫终端的网络电话连接。
6.根据权利要求5所述的方法,其特征在于,在所述向被叫终端发送邀请网络通话的消息之前,还包括:
生成所述主叫终端的区块链证书;
若所述主叫终端的区块链证书中的用户名为完整身份信息,则使用私钥对所述主叫终端的区块链证书进行签名得到第二签名信息,并将所述主叫终端的区块链证书和所述第二签名信息在区块链网络上广播,经区块链的记账节点将所述主叫终端的区块链证书存储在区块链中;
若所述主叫终端的区块链证书中的用户名为完整身份信息的哈希值,则使用私钥对所述主叫终端的区块链证书和所述完整身份信息进行签名得到第三签名信息,并将所述区块链证书、所述完整身份信息和所述第三签名信息在区块链网络上广播,经区块链的记账节点将所述主叫终端的区块链证书存储在区块链中。
7.一种网络电话处理方法,应用于网络终端,所述网络终端为区块链的记账节点,其特征在于,包括:
获取用户终端在区块链网络上广播的区块链证书和第二签名信息;或者,区块链证书、完整身份信息和第三签名信息;
在所述第二签名信息或所述第三签名信息验证通过,且区块链中未存储与所述用户终端的对应的区块链证书或者与所述用户终端的对应的区块链证书无效的情况下,向所述用户终端发起身份验证;
在身份验证成功后,将所述用户终端的区块链证书存储在区块链中,所述区块链证书用于对所述用户终端发送的邀请网络通话的消息中的签名信息进行验证。
8.根据权利要求7所述的方法,其特征在于,所述向所述用户终端发起身份验证,包括:
在区块链系统中嵌入短消息收发设备,并通过所述短消息收发设备根据所述用户终端的完整身份信息,向所述用户终端发送短消息验证码;或者,
触发外部的短消息收发设备根据所述用户终端的完整身份信息,向所述用户终端发送短消息验证码。
9.根据权利要求7所述的方法,其特征在于,所述区块链证书均包括:用户名类型、用户名性质、用户名、公钥、有效期、证书状态和扩展项。
10.根据权利要求9所述的方法,其特征在于,所述用户名为完整身份信息或者所述完整身份信息的哈希值。
11.一种网络电话处理装置,应用于被叫终端,其特征在于,包括:
接收模块,用于接收主叫终端发送的邀请网络通话的消息,所述消息中携带有第一签名信息和所述主叫终端的标识信息,所述第一签名信息是对邀请网络通话的消息头进行签名的签名信息;
查询模块,用于根据所述主叫终端的标识信息,查询所述主叫终端的区块链证书;
第一处理模块,用于根据所述主叫终端的区块链证书中的公钥,对所述第一签名信息进行验证,验证通过时建立与所述主叫终端的网络电话连接。
12.一种网络电话处理装置,应用于主叫终端,其特征在于,包括:
第二处理模块,用于对邀请网络通话的消息头进行签名得到第一签名信息;
发送模块,用于向被叫终端发送邀请网络通话的消息,所述消息中携带有所述第一签名信息和所述主叫终端的标识信息,所述标识信息用于所述被叫终端查询所述主叫终端的区块链证书并对所述第一签名信息进行验证;
第三处理模块,用于在验证通过时建立与所述被叫终端的网络电话连接。
13.一种网络电话处理装置,应用于网络终端,所述网络终端为区块链的记账节点,其特征在于,包括:
获取模块,用于获取用户终端在区块链网络上广播的区块链证书和第二签名信息;或者,区块链证书、完整身份信息和第三签名信息;
第四处理模块,用于在所述第二签名信息或所述第三签名信息验证通过,且区块链中未存储与所述用户终端的对应的区块链证书或者与所述用户终端的对应的区块链证书无效的情况下,向所述用户终端发起身份验证;
第五处理模块,用于在身份验证成功后,将所述用户终端的区块链证书存储在区块链中,所述区块链证书用于对所述用户终端发送的邀请网络通话的消息中的签名信息进行验证。
14.一种用户终端,所述用户终端为被叫终端,其特征在于,包括:收发机和处理器;
所述收发机用于接收主叫终端发送的邀请网络通话的消息,所述消息中携带有第一签名信息和所述主叫终端的标识信息,所述第一签名信息是对邀请网络通话的消息头进行签名的签名信息;
所述处理器用于根据所述主叫终端的标识信息,查询所述主叫终端的区块链证书;
所述处理器还用于根据所述主叫终端的区块链证书中的公钥,对所述第一签名信息进行验证,验证通过时建立与所述主叫终端的网络电话连接。
15.一种用户终端,所述用户终端为主叫终端,其特征在于,包括:收发机和处理器;
所述处理器用于对邀请网络通话的消息头进行签名得到第一签名信息;
所述收发机用于向被叫终端发送邀请网络通话的消息,所述消息中携带有所述第一签名信息和所述主叫终端的标识信息,所述标识信息用于所述被叫终端查询所述主叫终端的区块链证书并对所述第一签名信息进行验证;
所述处理器还用于在验证通过时建立与所述被叫终端的网络电话连接。
16.一种网络终端,所述网络终端为区块链的记账节点,其特征在于,包括:收发机和处理器;
所述收发机用于获取用户终端在区块链网络上广播的区块链证书和第二签名信息;或者,区块链证书、完整身份信息和第三签名信息;
所述处理器用于在所述第二签名信息或所述第三签名信息验证通过,且区块链中未存储与所述用户终端的对应的区块链证书或者与所述用户终端的对应的区块链证书无效的情况下,向所述用户终端发起身份验证;
所述处理器还用于在身份验证成功后,将所述用户终端的区块链证书存储在区块链中,所述区块链证书用于对所述用户终端发送的邀请网络通话的消息中的签名信息进行验证。
17.一种通信终端,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序;其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-4任一项所述的网络电话处理方法,或者,如权利要求5或6任一项所述的网络电话处理方法,或者,如权利要求7-10任一项所述的网络电话处理方法。
18.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-4任一项所述的网络电话处理方法,或者,如权利要求5或6任一项所述的网络电话处理方法,或者,如权利要求7-10任一项所述的网络电话处理方法中的步骤。
CN201910763086.6A 2019-08-19 2019-08-19 一种网络电话处理方法、装置及终端 Pending CN112398798A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910763086.6A CN112398798A (zh) 2019-08-19 2019-08-19 一种网络电话处理方法、装置及终端

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910763086.6A CN112398798A (zh) 2019-08-19 2019-08-19 一种网络电话处理方法、装置及终端
PCT/CN2020/101612 WO2021031741A1 (zh) 2019-08-19 2020-07-13 网络电话处理方法、装置及终端

Publications (1)

Publication Number Publication Date
CN112398798A true CN112398798A (zh) 2021-02-23

Family

ID=74603335

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910763086.6A Pending CN112398798A (zh) 2019-08-19 2019-08-19 一种网络电话处理方法、装置及终端

Country Status (2)

Country Link
CN (1) CN112398798A (zh)
WO (1) WO2021031741A1 (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030217165A1 (en) * 2002-05-17 2003-11-20 Microsoft Corporation End-to-end authentication of session initiation protocol messages using certificates
WO2016193404A1 (en) * 2015-06-04 2016-12-08 Nagravision S.A. Methods and systems for communication-session arrangement on behalf of cryptographic endpoints
CN106789089A (zh) * 2017-02-23 2017-05-31 腾讯科技(深圳)有限公司 一种管理证书的方法和系统
CN108632037A (zh) * 2017-03-17 2018-10-09 中国移动通信有限公司研究院 公钥基础设施的公钥处理方法及装置
CN108769142A (zh) * 2018-05-11 2018-11-06 中国联合网络通信集团有限公司 交易信息处理方法及区块生成节点
CN108810120A (zh) * 2018-05-31 2018-11-13 中国联合网络通信集团有限公司 区块链节点通信方法、装置及区块链节点
CN109861946A (zh) * 2017-11-30 2019-06-07 中国电信股份有限公司 主叫号码验真的方法、系统以及呼叫接收设备
US10341485B1 (en) * 2018-05-16 2019-07-02 Fmr Llc Caller identity and authentication service
CN110086608A (zh) * 2019-03-21 2019-08-02 深圳壹账通智能科技有限公司 用户认证方法、装置、计算机设备及计算机可读存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180227429A1 (en) * 2017-02-07 2018-08-09 Neustar, Inc. Non-geographic numbering and call routing

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030217165A1 (en) * 2002-05-17 2003-11-20 Microsoft Corporation End-to-end authentication of session initiation protocol messages using certificates
WO2016193404A1 (en) * 2015-06-04 2016-12-08 Nagravision S.A. Methods and systems for communication-session arrangement on behalf of cryptographic endpoints
CN106789089A (zh) * 2017-02-23 2017-05-31 腾讯科技(深圳)有限公司 一种管理证书的方法和系统
CN108632037A (zh) * 2017-03-17 2018-10-09 中国移动通信有限公司研究院 公钥基础设施的公钥处理方法及装置
CN109861946A (zh) * 2017-11-30 2019-06-07 中国电信股份有限公司 主叫号码验真的方法、系统以及呼叫接收设备
CN108769142A (zh) * 2018-05-11 2018-11-06 中国联合网络通信集团有限公司 交易信息处理方法及区块生成节点
US10341485B1 (en) * 2018-05-16 2019-07-02 Fmr Llc Caller identity and authentication service
CN108810120A (zh) * 2018-05-31 2018-11-13 中国联合网络通信集团有限公司 区块链节点通信方法、装置及区块链节点
CN110086608A (zh) * 2019-03-21 2019-08-02 深圳壹账通智能科技有限公司 用户认证方法、装置、计算机设备及计算机可读存储介质

Also Published As

Publication number Publication date
WO2021031741A1 (zh) 2021-02-25

Similar Documents

Publication Publication Date Title
JP4673364B2 (ja) エンティティの第1のidおよび第2のidの検証方法
US8098823B2 (en) Multi-key cryptographically generated address
US8356179B2 (en) Entity bi-directional identificator method and system based on trustable third party
US7865173B2 (en) Method and arrangement for authentication procedures in a communication network
JP2007528650A5 (zh)
US8571020B2 (en) Session initiation protocol (SIP) based voice over internet protocol (VoIP) system and method of registering SIP terminal therein
KR20050012900A (ko) 보이스 오버 인터넷 프로토콜(브이오아이피) 커뮤니케이션내에서 디지털-증명서를 등록하고 자동으로 검색하는 방법및 시스템
CN101960814B (zh) Ip地址委派
JP2005167412A (ja) 通信システム、通信システムで使用される通信端末及びサーバ装置、及び通信システムで使用される接続認証方法
US8284935B2 (en) Method, devices and computer program product for encoding and decoding media data
TWI711293B (zh) 驗證網路通話身份的方法及相關裝置
CN107517194B (zh) 一种内容分发网络的回源认证方法和装置
CN111835675A (zh) 验证网络通话身份的方法及相关装置
JP4472566B2 (ja) 通信システム、及び呼制御方法
CN111654481B (zh) 一种身份认证方法、装置和存储介质
US9882891B2 (en) Identity verification
CN112398798A (zh) 一种网络电话处理方法、装置及终端
US8914861B2 (en) Authentication method and authentication system based on forking, and forking authentication device
JP2004509567A (ja) インターネットプロトコル電話技術セキュリティアーキテクチャ
JP2006005880A (ja) 通知番号検証システム
Liu et al. A Blockchain Based Scheme for Authentic Telephone Identity
CN113609467A (zh) 一种身份认证方法、装置、终端设备和存储介质
US20110197072A1 (en) Method and apparatus for verifying cga signature
CN113114463A (zh) 一种证书注册方法、验证方法及设备
CN112818405A (zh) 一种区块链的数据处理方法及装置、可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination