CN108833943B - 码流的加密协商方法、装置及会议终端 - Google Patents
码流的加密协商方法、装置及会议终端 Download PDFInfo
- Publication number
- CN108833943B CN108833943B CN201810373793.XA CN201810373793A CN108833943B CN 108833943 B CN108833943 B CN 108833943B CN 201810373793 A CN201810373793 A CN 201810373793A CN 108833943 B CN108833943 B CN 108833943B
- Authority
- CN
- China
- Prior art keywords
- code stream
- key
- conference terminal
- encryption
- encrypted
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 108
- 230000011664 signaling Effects 0.000 claims abstract description 181
- 230000000977 initiatory effect Effects 0.000 claims abstract description 119
- 230000015654 memory Effects 0.000 claims description 21
- 230000005540 biological transmission Effects 0.000 abstract description 27
- 230000008569 process Effects 0.000 abstract description 25
- 238000005336 cracking Methods 0.000 abstract description 7
- 238000004891 communication Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 13
- 230000003993 interaction Effects 0.000 description 8
- 239000000284 extract Substances 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000009365 direct transmission Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2347—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
- H04L65/1104—Session initiation protocol [SIP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
- H04L65/403—Arrangements for multi-party communication, e.g. for conferences
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/233—Processing of audio elementary streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/439—Processing of audio elementary streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4408—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream encryption, e.g. re-encrypting a decrypted video stream for redistribution in a home network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
- H04N21/6437—Real-time Transport Protocol [RTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/15—Conference systems
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Telephonic Communication Services (AREA)
- Mobile Radio Communication Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种码流的加密协商方法,装置及会议终端,其中方法包括:向第二会议终端发送第一会话初始化协议信令;接收所述第二会议终端根据所述第一会话初始化协议信令反馈的第二会话初始化协议信令;向所述第二会议终端发送第三会话初始化协议信令。通过在码流传输之前,基于SIP协议协商出视频会议中双方都支持的加密信息,且在每次加密协商中能够随机选取加密信息,并利用协商出的加密信息对码流密钥进行加密,增加了破解难度;在码流传输过程中,利用协商出的码流密钥以及加密信息对码流进行加密,能够避免仅利用SRTP对码流进行加密使得SRTP的密钥协商在信令中相当于明文传输,所导致的音视频码流窃听的问题。
Description
技术领域
本发明涉及视频会议技术领域,具体涉及一种码流的加密协商方法、装置及会议终端。
背景技术
在视频会议***中,需要对音频以及视频码流进行实时传输。现有技术中,音、视频码流通常基于实时传输协议(Real-time Transport Protocol,简称为RTP)进行实时传输的,其详细规定了每一帧数据的打包格式,能够满足大部分的应用需求。此外,会话初始化协议(Session Initiation Protocol,简称为SIP)用于完成有一个或多个会议终端的会话的建立、修改和终止,在视频会议中的地位日益突出。
但是,随着网络信息安全问题的日趋重要,对视频会议***中的音频以及视频码流进行加密的应用需求已经不可避免。此时,安全实时传输协议(Secure Real-timeTransport Protocol,简称为SRTP)作为媒体加密协议,就应运而生。SRTP提供了一套用于RTP流进行加密和认证的框架,提供了加密算法和认证算法。
具体地,现有技术中基于SIP的安全视频方案一般采用安全传输层协议(Transport Layer Security,简称为TLS)和SRTP加密的安全通信方法。该方法对音频以及视频码流交互的整个呼叫过程全部都加密,包括信令交互和码流,其中,TLS用于对信令进行加密,SRTP用于对码流进行加密。若仅采用SRTP对码流进行加密,而不采用TLS对信令进行加密,则SRTP的密钥协商在信令中相当于明文传输,容易导致音、视频码流的窃听问题。
发明内容
有鉴于此,本发明实施例提供了一种码流的加密协商方法,以解决现有技术中仅对码流加密容易导致音、视频码流的窃听问题。
根据第一方面,本发明实施例提供了一种码流的加密协商方法,包括:
向第二会议终端发送第一会话初始化协议信令,所述第一会话初始化协议信令携带有用于表示第一会议终端当前所支持的加密信息的第一消息体;
接收所述第二会议终端根据所述第一会话初始化协议信令反馈的第二会话初始化协议信令,所述第二会话初始化协议信令携带有第二消息体以及会话描述协议,所述第二消息体包括所述第二会议终端基于所述第一消息体协商出的加密信息,所述会话描述协议包括加密后的码流密钥,其中,所述加密后的码流密钥为利用所述协商出的加密信息对码流密钥进行加密的密钥;
向所述第二会议终端发送第三会话初始化协议信令,所述第三会话初始化协议信令用于表示码流的加密协商的结束。
本方法通过在码流传输之前,基于SIP协议协商出视频会议中双方都支持的加密信息,且在每次加密协商中能够随机选取加密信息,并利用随机协商协商出的加密信息对码流密钥进行加密,增加了破解难度;在码流传输过程中利用协商出的码流密钥以及加密信息对码流进行加密,能够保证码流传输的安全性;该方法能够避免仅利用SRTP对码流进行加密而不采用TLS对信令进行加密,SRTP的密钥协商在信令中相当于明文传输,所导致的音、视频码流窃听的问题。
结合第一方面,在第一方面第一实施方式中,所述第一消息体包括标号以及若干加密算法,所述标号用于确认唯一的主密钥;所述协商出的加密信息包括所述标号以及协商出的一个加密算法。
本方法通过在第一消息体中包括用于唯一确认主密钥的标号,避免了主密钥的直接传输,提高了主密钥的安全性。
结合第一方面,在第一方面第二实施方式中,当在所述第一会话初始化协议信令中携带会话描述协议时,所述第一会话初始化协议信令中还携带有加密后的第一码流密钥的集合,在所述向第二会议终端发送第一会话初始化协议信令之前,还包括:
提取第一码流密钥,所述第一码流密钥为所述第一会议终端生成的用于对码流加密的密钥;
依次利用所有所述加密算法和所述主密钥对所述第一码流密钥加密,形成所述加密后的第一码流密钥的集合;所述主密钥和一个所述加密算法对应于一个所述加密后的第一码流密钥。
本方法中通过利用所有加密算法对第一码流密钥进行加密,形成若干加密后的第一码流密钥,能够保证不同的音视频码流可以用不同的码流密钥进行传输,进一步提高了通信码流传输的安全性。
结合第一方面第二实施方式中,在第一方面第三实施方式中,
当在所述第一会话初始化协议信令中没有携带所述会话描述协议时,所述向所述第二会议终端发送第三会话初始化协议信令,包括:
对所述加密后的码流密钥进行协商;
在所述第三会话初始化协议信令中携带协商后的结果,发送给所述第二会议终端。
本方法在第二会话初始化协议信令中携带加密后的码流密钥,并在第三会话初始化协议信令中携带对加密后的码流密钥的协商结果,即通过对加密后的码流密钥进行两次协商,保证视频会议的双方都能够接受协商后的结果,避免了一次协商失败所导致的视频通信连接失败的问题。
根据第二方面,本发明实施例提供了一种码流的加密协商方法,包括:
接收第一会议终端发送的第一会话初始化协议信令,所述第一会话初始化协议信令携带有用于表示第一会议终端当前所支持的加密信息的第一消息体;
基于所述第一消息体协商出第二会议终端支持的加密信息以及加密后的码流密钥,其中,所述加密后的码流密钥为利用所述协商出的加密信息对码流密钥进行加密的密钥;
向所述第一会议终端发送第二会话初始化协议信令,所述第二会话初始化协议信令携带第二消息体以及会话描述协议,所述第二消息体包括协商出的加密信息,所述会话描述协议包括所述加密后的码流密钥;
接收所述第一会议终端发送的第三会话初始化协议信令,所述第三会话初始化协议信令用于表示码流的加密协商的结束。
本方法通过在码流传输之前,基于SIP协议协商出视频会议中双方都支持的加密信息,且在每次加密协商中能够随机选取加密信息,并利用随机协商协商出的加密信息对码流密钥进行加密,增加了破解难度,在码流传输过程中,利用协商出的码流密钥以及加密信息对码流密钥进行加密,能够保证码流传输的安全性;该方法能够避免仅利用SRTP对码流进行加密而不采用TLS对信令进行加密,SRTP的密钥协商在信令中相当于明文传输,所导致的音、视频码流窃听的问题。
结合第二方面,在第二方面第一实施方式中,所述接收第一会议终端发送的第一会话初始化协议信令之前,还包括:
向服务器发送注册请求,所述注册请求所携带的消息体中包括所述第二会议终端的公钥;
接收服务器发送的利用所述公钥加密后的主密码表以及所述主密码表的版本号,其中,所述主密码表为所有主密钥的集合,所述主密钥与所述一一对应;
利用与所述公钥对应的私钥对所述加密后的主密码表进行解密,得到所述主密码表。
本方法通过在向服务器注册时发送公钥,即从服务器端注册获得的主密码表是加密形式的,保证了主密码表传输的可靠性,从而进一步提高了主密钥的安全性;此外,采用这种和服务器进行主密钥交互设计利用了非对称加密机制,保证了主密钥传输的安全,以及在第一会议终端在主密码表中选取主密钥使用随机选取的策略,增加了破解主密钥的难度。
结合第二方面第一实施方式,在第二方面第二实施方式中,所述第一会话初始化协议信令还携带有所述第一会议终端的主密码表的版本号;
所述基于所述第一消息体协商出第二会议终端支持的加密信息以及加密后的码流密钥的步骤之前,还包括:
判断所述第一会议终端的主密码表的版本号与自身的主密码表的版本号是否匹配;
当所述自身的主密码表的版本号低于所述第一会议终端的主密码表的版本号时,再次向所述服务器发送注册请求;
当所述自身的主密码表的版本号高于所述第一会议终端的主密码表的版本号时,挂断码流的加密协商呼叫并携带原因发送给所述第一会议终端。
本方法通过在加密信息协商之前,通过对主密钥表的匹配,以保证视频会议双方使用的是同一主密码表,能够保证视频会议双方根据标号用的是同一主密钥,从而能够正确地解密出码流密钥。
结合第二方面,在第二方面第三实施方式中,所述第一消息体包括标号以及若干加密算法,所述标号用于确认唯一的主密钥;所述协商出的加密信息包括所述标号以及协商出的一个加密算法;
当所述第一会话初始化协议信令中携带有所述会话描述协议时,所述基于所述第一消息体协商出第二会议终端支持的加密信息以及加密后的码流密钥,包括:
提取所述第一会话初始化协议信令中携带的所述加密后的第一码流密钥的集合;
基于所述加密后的第一码流密钥的集合协商出所述加密后的码流密钥。
本方法中,第二会议终端在第一会话初始化协议信令中没有携带会话描述协议时,在第二会话初始化协议信令中加上会议描述协议以及加密后的码流密钥,将加密后的码流密钥发送给第一会议终端,以进行码流密钥的协商,为后续利用协商出的加密码流密钥进行码流的加密传输,提高了码流传输的可靠性及安全性。
结合第二方面第三实施方式,在第二方面第四实施方式中,所述基于所述加密后的第一码流密钥的集合协商出加密后的码流密钥,包括:
从所述加密后的第一码流密钥的集合中选出所述加密后的码流密钥;
或,
提取第二码流密钥,所述第二码流密钥为所述第二会议终端生成的用于对码流加密的密钥;
利用协商出的所述加密算法和所述主密钥对所述第二码流密钥加密,形成所述加密后的码流密钥。
本发明通过会话描述协议的交互,实现按照会议终端的需求改变码流密钥,即为码流密钥的协商提供的保障,避免单一地从若干加密后的码流密钥中选择的情况,能够实现码流密钥的更改。
结合第二方面第三实施方式,在第二方面第五实施方式中,当所述第一会话初始化协议信令中没有携带所述会话描述协议时,所述基于所述第一消息体协商出第二会议终端支持的加密信息以及加密后的码流密钥,包括,利用协商出的所述加密算法以及所述主密钥对第二码流密钥进行加密,形成加密后的码流密钥,所述第二码流密钥为所述第二会议终端生成的用于对码流加密的密钥。
根据第三方面,本发明实施例提供了一种码流的加密协商装置,包括:
第一发送模块,用于向第二会议终端发送第一会话初始化协议信令,所述第一会话初始化协议信令携带有用于表示第一会议终端当前所支持的加密信息的第一消息体;
第一接收模块,用于接收所述第二会议终端根据所述第一会话初始化协议信令反馈的第二会话初始化协议信令,所述第二会话初始化协议信令携带有第二消息体以及会话描述协议,所述第二消息体包括所述第二会议终端基于所述第一消息体协商出的加密信息,所述会话描述协议包括加密后的码流密钥,其中,所述加密后的码流密钥为利用所述协商出的加密信息对码流密钥进行加密的密钥;
第二发送模块,用于向所述第二会议终端发送第三会话初始化协议信令,所述第三会话初始化协议信令用于表示码流加密协商呼叫的结束。
本装置通过在码流传输之前,基于SIP协议协商出视频会议中双方都支持的加密信息,且在每次加密协商中能够随机选取加密信息,并利用随机协商出的加密信息对码流密钥进行加密,增加了破解难度;在码流传输过程中,利用协商出的码流密钥以及加密信息对码流进行加密,能够保证码流传输的安全性;该方法能够避免仅利用SRTP对码流进行加密而不采用TLS对信令进行加密,SRTP的密钥协商在信令中相当于明文传输,所导致的音、视频码流窃听的问题。
根据第四方面,本发明实施例提供了一种码流的加密协商装置,包括:
第二接收模块,用于接收第一会议终端发送的第一会话初始化协议信令,所述第一会话初始化协议信令携带有用于表示第一会议终端当前所支持的加密信息的第一消息体;
协商模块,用于基于所述第一消息体协商出第二会议终端支持的加密信息以及加密后的码流密钥,其中,所述加密后的码流密钥为利用所述协商出的加密信息对码流密钥进行加密的密钥;
第三发送模块,用于向所述第一会议终端发送第二会话初始化协议信令,所述第二会话初始化协议信令携带第二消息体以及会话描述协议,所述第二消息体包括协商出的加密信息,所述会话描述协议包括所述加密后的码流密钥;
第三接收模块,用于接收所述第一会议终端发送的第三会话初始化协议信令,所述第三会话初始化协议信令用于表示码流加密协商呼叫的结束。
根据第五方面,本发明实施例提供了一种会议终端,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行第一方面,第一方面的任意一种实施方式,第二方面,或者第二方面的任意一种实施方式中所述的码流的加密协商方法。
根据第六方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行第一方面,第一方面的任意一种实施方式,第二方面,或者第二方面的任意一种实施方式中所述的码流的加密协商方法。
根据第七方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行第二方面或者第二方面的任意一种实施方式中所述的码流的加密协商方法。
附图说明
通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:
图1示出了本发明实施例中码流的加密协商方法的一个具体示意的方法示意图;
图2示出了本发明另一实施例中码流的加密协商方法的一个具体示意的方法示意图;
图3示出了本发明实施例中终端注册的一个具体示意的方法示意图;
图4示出了本发明另一实施例中码流的加密协商方法的一个具体示意的方法示意图;
图5示出了本发明另一实施例中码流的加密协商方法的一个具体示意的方法示意图;
图6示出了本发明另一实施例中码流的加密协商方法的一个具体示意的方法示意图;
图7示出了本发明实施例中SIP终端注册流程的一个具体示意的方法示意图;
图8示出了本发明实施例中SIP注册服务器向终端更新主密码表过程的一个具体示意的方法示意图;
图9示出了本发明实施例中主呼带SDP的加密呼叫流程的一个具体示意的方法示意图;
图10示出了本发明实施例中主呼不带SDP的加密呼叫流程的一个具体示意的方法示意图;
图11示出了本发明实施例中码流的加密协商装置的一个具体示意的结构示意图;
图12示出了本发明另一实施例中码流的加密协商装置的一个具体示意的结构示意图;
图13示出了本发明实施例中会议终端的一个具体示意的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明基于SIP提供了一整套的加密协商机制,实现SIP的音视频码流的加密,以保证音视频码流的安全传输。具体地,在下文的描述中,描述了在实现码流加密而设计的一整套密钥交换的方案,包括SIP终端注册时安全地获取主密钥表,呼叫协商出共同的加密算法以及呼叫中使用主密钥安全加密码流密钥传输。
本发明实施例提供了一种码流的加密协商方法,如图1所示,该方法包括:
S101,第二会议终端接收第一会议终端发送的第一会话初始化协议信令;第一会话初始化协议信令携带有用于表示第一会议终端当前所支持的加密信息的第一消息体。
第一会议终端向第二会议终端发起码流的加密协商呼叫请求,其可以在向第二会议终端发送连接呼叫请求时,将第一会议终端所支持的加密信息作为第一消息体,在第一会话初始化协议信令中携带。例如,第一会议终端向第二会议终端发送INVITE信令,在该信令中携带第一会议终端所支持的加密信息。
其中,加密信息可以是主密钥以及加密算法,或者,也可以是用于表示主密钥以及加密算法的标号,也可以是其他用于实现码流加密的信息。
S102,第二会议终端根据第一消息体协商出第二会议终端支持的加密信息以及加密后的码流密钥,其中,所述加密后的码流密钥为利用所述协商出的加密信息对码流密钥进行加密的密钥。
第二会议终端在接收到第一会话初始化协议信令之后,提取出第一消息体中的加密信息,并根据第一消息体协商出自身所支持的加密信息;同时,利用协商出的加密信息对码流密钥进行加密。
码流密钥可以是第一会议终端产生的,也可以是第二会议终端产生的,也可以是第三方生成的,具体在使用时,可以根据实际会议终端的需求再决定使用哪一方的码流密钥。
S103,第一会议终端接收第二会议终端根据第一会话初始化协议信令反馈的第二会话初始化协议信令。
第二会话初始化协议信令携带有第二消息体以及会话描述协议(SessionDescription Protocol,简称为SDP),第二消息体包括第二会议终端基于第一消息体协商出的加密信息,所述会话描述协议包括加密后的码流密钥。
音视频码流相关信息是用SDP表示的,所以码流密钥也在SDP中携带,没有SDP就不能够知道码流相关的信息。如果不在SDP交互过程中携带码流密钥,就相当于整个呼叫的所***流用同样的密钥进行,而本申请的技术方案是可以针对不同的音视频码流采用不同的码流密钥,因此,在SDP交互过程中必须要携带码流密钥。
第二会议终端将协商出的加密信息以及加密后的码流密钥作为第二消息体,携带在第二会话初始化协议信令中,并同时携带会话描述协议,将第二初始化协议信令发送给第一会议终端。例如,第二会议终端在向第一会议终端发送200OK信令时,携带第二消息体以及会话描述协议,将协商出的加密信息以及加密后的码流密钥反馈给第一会议终端。
S104,第一会议终端向第二会议终端发送第三会话初始化协议信令;第三会话初始化协议信令用于表示码流的加密协商的结束。
第一会议终端在接收到第二会议终端反馈的加密信息以及加密后的码流密钥后,向第二会议终端发送第三会话初始化协议信令,表示本次码流加密协商呼叫的结束。例如,第一会议终端可以在向第二会议终端发送ACK信令表示码流的加密协商的结束。
本方法通过在码流传输之前,基于SIP协议协商出视频会议中双方都支持的加密信息,且在每次加密协商中能够随机选取加密信息,并利用随机协商出的加密信息对码流密钥进行加密,增加了破解难度;在码流传输过程中,利用协商出的码流密钥以及加密信息对码流进行加密,能够保证码流传输的安全性;该方法能够避免仅利用SRTP对码流进行加密而不采用TLS对信令进行加密,SRTP的密钥协商在信令中相当于明文传输,所导致的音、视频码流窃听的问题。
此外,在后续码流传输过程中,第一会议终端以及第二会议终端利用协商出的加密信息对加密后的码流密钥进行解密,以得到码流密钥;再利用解密得到的码流密钥以及加密信息对码流进行加密,即可进行加密通信。
图2示出了根据本发明另一实施例的码流的加密协商方法的流程图,在本实施例中的加密协商方法为第一会议终端执行。其中,在第一会话初始化协议信令中携带会话描述协议以及加密后的第一码流密钥的集合。该方法包括:
S201,提取第一码流密钥。
其中,第一码流密钥为第一会议终端生成的用于对码流加密的密钥。在会话描述协议中每个媒体描述部分(media description)对应一路码流信息,例如,媒体描述部分1对应于音频,媒体描述部分2对应于视频等。由于,会话描述协议中的媒体描述部分有多个,而每个媒体描述部分的码流密钥可能都不同,也可能全部都相同,因此,第一会议终端提取的第一码流密钥可以为多个,也可以为一个。
S202,依次利用所有加密算法和主密钥对第一码流密钥加密,形成加密后的第一码流密钥的集合。
本实施例中,第一消息体包括标号mki以及若干第一会议终端所支持的若干加密算法EAn。其中,标号mki用于在主密码表中确认唯一的主密钥,可以规定mki是一个非0的正整数。当mki是0时,表示在后续交互过程中采用第一会议终端与第二会议终端默认的一个主密钥。其中,mki为0是为了兼容没有主密码表,以及兼容会议终端在进行通信之前不向服务器进行注册而走IP点对点呼叫的逻辑。
第一会议终端利用主密钥以及一个加密算法EAx对第一码流密钥进行加密,形成一个加密后的第一码流密钥EKx;即,在加密后的第一码流密钥集合EKn中,每个加密后的第一码流密钥EKx由主密钥和一个加密算法EAx计算而成。
其中,EAn:第一会议终端所支持的加密算法的结合,比如3DES,AES128,AES256等等;EAx:选定的加密算法,在EAn中选择一种加密算法作为EAx;EKn:使用[EAn,主密钥]加密码流密钥后的集合;EKx:使用[EAx,主密钥]加密码流密钥后的值。
对应于上文的描述,此时在第一会议终端加密算法是没有经过协商的,因此需要用所有的加密算法分别对媒体描述部分下的码流密钥都进行加密。例如,EAn中有三种加密算法,那么需要用EA1加密码流密钥放到媒体描述部分1下,用EA2加密码流密钥放到媒体描述部分1下,用EA3加密码流密钥放到媒体描述部分1下,三个加密算法对应三个信息;对于媒体描述部分2也是如此,其中,媒体描述部分1与媒体描述部分2的区别就是码流密钥的不同而已。
S203,向第二会议终端发送第一会话初始化协议信令,第一会话初始化协议信令携带有用于表示第一会议终端当前所支持的加密信息的第一消息体以及会话描述协议。
具体地,第一会议终端向第二会议终端发送的第一会话初始化协议信令为INVITE+mki+EAn+SDP+EKn,其中,INVITE用于发起连接呼叫请求。
S204,接收第二会议终端根据第一会话初始化协议信令反馈的第二会话初始化协议信令。
第二会话初始化协议信令携带有第二消息体以及会话描述协议,第二消息体包括第二会议终端基于第一消息体协商出的加密信息,会话描述协议包括加密后的码流密钥,其中,加密后的码流密钥为利用协商出的加密信息对码流密钥进行加密的密钥。
具体地,第二会话初始化协议信令为200OK+mki+EAx+SDP+EKx。其中,200OK用于表示建立连接。
S205,向第二会议终端发送第三会话初始化协议信令,其中,第三会话初始化协议信令用于表示码流的加密协商的结束。
具体地,第一会议终端向第二会议终端发送的第三会话初始化协议信令为ACK。后续呼叫成功后,就可以使用协商好的加密算法EAx以及加密后的码流密钥EKx进行加密的音视频通信。
与图1所示实施例的码流的加密协商方法相比,本实施例中通过在第一会话初始化协议信令中携带会话描述协议,并通过两次SDP的交互,协商出加密后的码流密钥,即通过对加密后的码流密钥进行两次往返协商,保证视频会议的双方都能够接受协商后的结果,避免了一次协商失败所导致的视频通信连接失败的问题。
在本发明实施例的一些可选实施方式中,第一会议终端在S201之前,可以先向服务器进行注册,以得到主密码表。其中,主密码表为所有主密钥的集合;在主密码表中,主密钥与标号mki一一对应。第一会议终端以及第二会议终端向服务器进行注册的步骤相同,在本实施例中,以第一会议终端的注册为例,进行详细描述。
图3示出了会议终端向服务器注册的流程图,注册时对主密码表使用了公钥加密,私钥解密的方式,以保证会议终端在获取主密码表时的安全性,具体地包括以下步骤:
S31,向服务器发送注册请求,注册请求所携带的消息体中包括第一会议终端的公钥。
第一会议终端在注册时,把自己的公钥作为消息体发送给服务器。具体地,第一会议终端发送给服务器的注册请求为REGISTER+公钥,其中,REGISTER为注册请求。
S32,接收服务器发送的利用公钥加密后的主密码表以及主密码表的版本号。
服务器如果确认第一会议终端可以成功注册,则在发送200OK时把主密码表使用公钥加密后作为消息体发送给第一会议终端。具体地,第一会议终端接收到的消息体为200OK+公钥加密后的主密码表。
其中,加密后的主密码表还包括主密钥表的版本号ver,该版本号ver由主密码表生成时间+ID组成,用于确认通信双方使用的主密码表是否一致。例如,主密码表的版本号ver为20170607+20。
S33,利用与公钥对应的私钥对加密后的主密码表进行解密,得到主密码表。
第一会议终端收到服务器的注册成功回复,再用自己的私钥解密消息体获取到主密钥表。
本方法通过在向服务器注册时发送公钥,即从服务器端注册获得的主密码表是加密形式的,保证了主密码表传输的可靠性,从而进一步提高了主密钥的安全性;此外,采用这种与服务器进行主密钥的交互设计,利用了非对称加密机制,保证了主密钥传输的安全,以及在第一会议终端在主密码表中选取主密钥使用随机选取的策略,增加了破解主密钥的难度。
可选地,在第一会议终端第一次向服务器注册时,服务器回复注册成功时会给出一个规定时间期限,第一会议终端要在此期限内再次向服务器注册,以达到让服务器知道会议终端是活动状态,否则,超时不保活注册服务器就会清除第一会议终端的注册信息。
第一会议终端在后续保活注册时,只需要带上主密码表的版本号即可,以减少通信带宽。
在本发明实施例的另一些可选实施方式中,S204之前还包括第一会议终端以及第二会议终端的主密码表匹配验证的过程。具体地,第一会议终端向第二会议终端发送的第一会话初始化协议信令中还包括主密码表的版本号ver,其中,第一会话初始化协议信令具体为INVITE+ver+mki+EAn+SDP+EKn。第二会议终端将第一会议终端的版本号与自身的版本号进行比较,当第一会议终端的版本号较低时,第二会议终端挂断此次码流的加密协商呼叫并携带原因:请更新主密码表后再呼叫,发动给第一会议终端;第一会议终端收到该挂断原因后,向服务器重新注册以更新自己的主密码表;当第二会议终端的版本号较低时,第二会议终端向服务器重新注册更新主密码表后在继续进行呼叫应答。
例如,第一会议终端发送的INVITE携带的主密码表的版本号为20170607+20,第二会议终端收到后发现该版本号与自己的不一样,如果自己主密码表的版本号较高(比如为20170608+21),那么回复400(坏消息),并加入390警告头字段(请更新主密码表后再呼叫)。第一会议终端收到后主动向服务器重新注册以更新自己的主密码表后再重新呼叫第二会议终端。如果第二会议终端收到INVITE后发现自己主密码表的版本号比第一会议终端的版本号低(比如为20170606+19),那么第二会议终端就先到服务器更新主密码表后,再进行应答。
可选地,如果服务器要更新主密码表,则使用INFO信令主动推送最新的主密码表给所有在该服务器上注册过的终端,发送的消息体就是使用对应的会议终端的公钥加密后的主密码表,并携带原因:更新主密码表。会议终端收到INFO信令后,提取出更新后的主密码表,并回复向服务器回复200OK,表示已经接受更新后的主密码表。
可选地,如果有一方没有主密码表,那就使用默认主密钥进行加密呼叫,包括以下两种方式,过程如下:
当主呼没有主密码表(或者没有注册,进行IP呼叫)时,则INVITE带的mki=0发送给被呼;被呼收到后发现mki是0就知道使用的是默认主密钥,则也回复mki=0回复。过程中其他内容不变,只有主密钥使用的默认主密钥。
当主呼有主密码表,被呼没有主密码表(没有注册,ip呼叫)时,INVITE带mki不为0发送给被呼,200OK回复时带mki=0给主呼;主呼收到的时候发现mki=0;则进行使用默认主密钥的加密呼叫方式。
图4示出了根据本发明另一实施例的码流的加密协商方法的流程图,与图2所示实施例相比,本实施例中在第一会话初始化协议信令中没有携带会话描述协议。该方法包括:
S401,提取第一码流密钥。详细请参见图2所示实施例中S201的描述。
S402,依次利用所有加密算法和主密钥对第一码流密钥加密,形成加密后的第一码流密钥的集合。详细请参见图2所示实施例中S202的描述。
S403,向第二会议终端发送第一会话初始化协议信令,第一会话初始化协议信令携带有用于表示第一会议终端当前所支持的加密信息的第一消息体。
具体地,第一会议终端向第二会议终端发送的第一会话初始化协议信令为INVITE+mki+EAn,其中,INVITE用于发起连接请求。
S404,接收第二会议终端根据第一会话初始化协议信令反馈的第二会话初始化协议信令。
第二会话初始化协议信令携带有第二消息体以及会话描述协议,第二消息体包括第二会议终端根据第一消息体协商出的加密信息,会话描述协议包括加密后的码流密钥,其中,加密后的码流密钥为利用协商出的加密信息对第二码流密钥进行加密的密钥,第二码流密钥为第二会议终端生成的。
具体地,第二会话初始化协议信令为200OK+mki+EAx+SDP+EKx。其中,200OK用于表示建立连接。
S405,向第二会议终端发送第三会话初始化协议信令,其中,第三会话初始化协议信令用于表示码流的加密协商的结束。
具体地,第一会议终端向第二会议终端发送的第三会话初始化协议信令为ACK+EAx+SDP+EKx。其中,第一会议终端采用码流密钥决定规则协商出加密后的码流密钥,分为如下两种情况:
当第一会议终端在最后通信时使用自己产生的第一码流密钥时,则使用mki对应的主密钥以及协商出的一个加密算法EAx,加密第一码流密钥,生成加密后的码流密钥EKx;
当第一会议终端在最后通信时就使用第二会议终端生成的第二码流密钥,则在ACK回复时直接原封不动带上第二会话初始化协议信令中的EKx即可。后续呼叫成功后,就可以使用协商好的加密算法EAx以及加密后的码流密钥EKx进行加密的音视频通信。
相应地,图5示出了根据本发明另一实施例的码流的加密协商方法的流程图,在本实施例中码流的加密协商方法为第二会议终端执行。其中,在第一会话初始化协议信令中携带会话描述协议以及加密后的第一码流密钥的集合。该方法包括:
S501,接收第一会议终端发送的第一会话初始化协议信令,第一会话初始化协议信令携带有用于表示第一会议终端当前所支持的加密信息的第一消息体以及会话描述协议。
具体地,第二会议终端接收到的第一会话初始化协议信令为INVITE+mki+EAn+SDP+EKn,其中,INVITE用于发起连接呼叫请求。
S502,根据第一消息体协商出第二会议终端支持的加密信息以及加密后的码流密钥。
其中,加密后的码流密钥为利用协商出的加密信息对码流密钥进行加密的密钥。第二会议终端从加密算法集合EAn中协商出一个加密算法EAx,用作后续对码流密钥进行加密,同时提取出EKn,并基于EAx以及EKn协商出加密后的码流密钥。
第二会议终端采用码流密钥决定规则协商出加密后的码流密钥,分为如下两种情况:
当第二会议终端在最后通信时使用自己产生的第二码流密钥时,则使用mki对应的主密钥以及协商出的一个加密算法EAx,加密第二码流密钥,生成加密后的码流密钥EKx;
当第二会议终端在最后通信时就使用第一会议终端生成的第一码流密钥,则选择EAx对应的EKx,作为加密后的码流密钥EKx。
S503,向第一会议终端发送第二会话初始化协议信令。
其中,第二会话初始化协议信令携带第二消息体以及会话描述协议,第二消息体包括协商出的加密信息,会话描述协议包括加密后的码流密钥。
具体地,第二会议终端向第一会议终端发送的第二会话初始化协议信令为200OK+ver+mki+EAx+SDP+EKx。
S504,接收第一会议终端发送的第三会话初始化协议信令,其中,第三会话初始化协议信令用于对第二消息体进行确认。
具体地,第二会议终端接收的第三会话初始化协议信令为ACK。后续呼叫成功后,就可以使用协商好的加密算法EAx以及加密后的码流密钥EKx进行加密的音视频通信。
相应地,图6示出了根据本发明另一实施例的码流的加密协商方法的流程图,与图5所示实施例相比,本实施例中在第一会话初始化协议信令中没有携带会话描述协议。该方法包括:
S601,接收第一会议终端发送的第一会话初始化协议信令;第一会话初始化协议信令携带有用于表示第一会议终端当前所支持的加密信息的第一消息体。
具体地,第二会议终端接收的第一会话初始化协议信令为INVITE+ver+mki+EAn。
S602,基于第一消息体协商出第二会议终端支持的加密信息以及加密后的码流密钥,其中,加密后的码流密钥为利用协商出的加密信息对码流密钥进行加密的密钥。
第二会议终端从加密算法集合EAn中协商出一个加密算法EAx,用作后续对码流密钥进行加密。同时提取出第二会议终端生成的第二码流密钥,使用mki对应的主密钥以及协商出的一个加密算法EAx,加密第二码流密钥,生成加密后的码流密钥EKx。
可选地,S602之前还包括第二会议终端的主密码表版本号匹配验证的过程。具体请参照图2所示实施例。
S603,向第一会议终端发送第二会话初始化协议信令。
其中,第二会话初始化协议信令携带第二消息体以及会话描述协议,第二消息体包括协商出的加密信息,会话描述协议包括加密后的码流密钥。
具体地,第二会议终端向第一会议终端发送的第二会话初始化协议信令为200OK+ver+mki+EAx+SDP+EKx。第一会议终端在收到第二会议终端发送的200OK的回复后,则确认此加密算法EAx。
S604,接收第一会议终端发送的第三会话初始化协议信令,其中,第三会话初始化协议信令用于表示码流的加密协商的结束。
具体地,第一会议终端向第二会议终端发送的第三会话初始化协议信令为ACK+EAx+SDP+EKx。
在图5或图6所示实施例的一些可选实施方式中,第二会议终端在S501以及S601之前,可以先向服务器进行注册,以得到主密码表。详细步骤请参照图3所示的会议终端向服务器注册的流程图。
图2、图4、图5以及图6所示实施例都是描述的加密呼叫过程,根据主呼在INVITE时是否携带SDP,从而分为两种情况。这两种情况都是在非加密的SIP呼叫的基础上,增加了关于加密信息相关的内容携带,包括主密码表版本号ver、所有支持的加密算法EAn、选择主密码表中的一个主密钥对应的mki以及加密后的码流密钥EKn或EKx,最后协商出共同的算法EAx和码流密钥,协商成功后就可以进行基于加密的实时传输通信(Real Time TransportProtocol,简称为RTP),即进行加密的RTP通信。
作为本发明的一个具体实施方式,整个加密***分为两个大的过程,分别是注册和呼叫过程。在SIP终端注册的时候安全的获取主密钥表,在呼叫的时候确立加密算法、主密钥以及安全的协商出RTP通信的码流密钥。在此***中,SIP注册服务器除了完成注册服务,还需要生成主密码表,保存SIP终端注册时的公钥信息,用于实时的更新所有已注册的SIP终端的主密码表。具体实施如下:
图7和图8是主密钥表的获取以及更新过程,整个过程需用终端的公钥进行加密,从而保证主密钥表的安全传输。
图7是SIP终端注册获取主密钥表的过程,如图7所示,终端发送REGISTER请求注册时带上自己的公钥信息,SIP注册服务器使用终端的公钥、RSA算法加密主密钥表后作为200OK的消息体回复注册终端。
图8是SIP注册服务器更新主密码表过程,如图8所示,SIP注册服务器更新主密钥表,则使用保存的终端的公钥、RSA算法加密更新后的主密钥表作为INFO请求的消息体发送给终端,终端回复200OK。
图9和图10是SIP终端加密呼叫过程,在加密呼叫中,其中由于不同的音视频通道都可以用不同的通信密钥,那么我们用主密钥加密后的不同的码流秘钥放在每个媒体描述部分中携带。如果信令头中是EAn,那么对于SDP中每个媒体描述部分的码流密钥,用EAn中所有支持的加密算法、使用mki对应的主密钥进行加密,生成数个对应的码流密钥EK。如果信令头中是EAx,那么就只需用EAx的加密算法、使用mki对应的主密钥进行加密,生成一个对应的码流密钥EK。
图9是SIP终端加密呼叫流程中主呼携带SDP的过程,如图9所示,SIP终端MT1在INVITE时带上SDP、主密码表版本号ver、所有支持的加密算法EAn、选择主密码表中的一个主密钥对应的mki以及SDP的每个媒体描述部分中使用加密算法EAn和主密钥加密了的码流密钥EKn,发送给SIP终端MT2;MT2如果同意此次加密呼叫,则选择其中的一种加密算法EAx,并根据码流密钥决定规则回复MT1。
如果MT2想要最后通信时使用自己产生的码流密钥,则使用主呼的mki对应的主密钥、选择后的加密算法EAx加密自己的码流密钥生成EKx,在200OK中回复;
如果MT2就使用MT1生成的码流密钥,则在200OK回复时直接原封不动带上选择的加密算法EAx对应的EKx回复即可。后续呼叫成功后就可以使用协商好的加密算法EAx以及码流秘钥进行加密的RTP音视频通信了。
图10是SIP终端加密呼叫流程中主呼不携带SDP的过程,如图10所示,SIP终端MT1在INVITE时带上主密码表版本号ver、选择主密码表中的一个主密钥对应的mki以及所有支持的加密算法EAx发送给SIP终端MT2;MT2如果同意此次加密呼叫,发现主呼INVITE没有带SDP,则带上SDP、选择的加密算法EAx以及SDP的每个媒体描述部分中使用加密算法EAx和主密钥加密了的码流密钥EKx回复MT1。MT1收到MT2的200OK回复后,则确认此加密算法EAx,并根据码流密钥决定规则回复MT2。
如果MT1想要最后通信时使用自己产生的码流密钥,则使用主呼的mki对应的主密钥、加密算法EAx加密自己的码流密钥生成EKx,在ACK中回复;
如果MT1就使用MT2生成的码流密钥,则在ACK回复时直接原封不动带上EKx回复即可。
后续呼叫成功后就可以使用协商好的加密算法以及码流秘钥进行加密的RTP音视频通信了。
图9和图10的加密呼叫过程,其中双方主密钥表是一致的。呼叫双方需保证使用的主密钥表是一致的,如不一致时,由于SIP注册服务器要更新主密码表会使用INFO消息主动推送的方式,所以各个终端的主密码表一般情况下都是最新的,但是如果在呼叫过程中发现有主密码表不一致的情况,就要主动的向SIP注册服务器申请更新主密码表,从而使用最新的主密码表后再进行呼叫。
相应地,请参考图11,本发明实施例提供一种码流的加密协商装置,该装置,包括:
第一发送模块51,用于向第二会议终端发送第一会话初始化协议信令,所述第一会话初始化协议信令携带有用于表示第一会议终端当前所支持的加密信息的第一消息体;
第一接收模块52,接收所述第二会议终端根据所述第一会话初始化协议信令反馈的第二会话初始化协议信令,所述第二会话初始化协议信令携带有第二消息体以及会话描述协议,所述第二消息体包括所述第二会议终端基于所述第一消息体协商出的加密信息,所述会话描述协议包括加密后的码流密钥,其中,所述加密后的码流密钥为利用所述协商出的加密信息对码流密钥进行加密的密钥;
第二发送模块53,用于向所述第二会议终端发送第三会话初始化协议信令,所述第三会话初始化协议信令用于表示码流的加密协商的结束。
相应地,请参考图12,本发明实施例还提供一种码流的加密协商装置,该装置,包括:
第二接收模块61,用于接收第一会议终端发送的第一会话初始化协议信令,所述第一会话初始化协议信令携带有用于表示第一会议终端当前所支持的加密信息的第一消息体;
协商模块62,用于基于所述第一消息体协商出第二会议终端支持的加密信息以及加密后的码流密钥,其中,所述加密后的码流密钥为利用所述协商出的加密信息对码流密钥进行加密的密钥;
第三发送模块63,用于向所述第一会议终端发送第二会话初始化协议信令,所述第二会话初始化协议信令携带第二消息体以及会话描述协议,所述第二消息体包括协商出的加密信息,所述会话描述协议包括所述加密后的码流密钥;
第三接收模块64,用于接收所述第一会议终端发送的第三会话初始化协议信令,所述第三会话初始化协议信令用于表示码流的加密协商的结束。
本发明实施例还提供了一种会议终端,如图13所示,该会议终端可以包括处理器71和存储器72,其中处理器71和存储器72可以通过总线或者其他方式连接,图13中以通过总线连接为例。
处理器71可以为中央处理器(Central Processing Unit,CPU)。处理器71还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器72作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的码流的加密协商方法对应的程序指令/模块(例如,图11所示的第一发送模块51、第一接收模块52以及第二发送模块53)。处理器71通过运行存储在存储器72中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的码流的加密协商方法。
存储器72可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储处理器71所创建的数据等。此外,存储器72可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器72可选包括相对于处理器71远程设置的存储器,这些远程存储器可以通过网络连接至处理器71。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器72中,当被所述处理器71执行时,执行如图1,图2,图4至图6所示实施例中的码流的加密协商方法。
上述会议终端具体细节可以对应参阅图1,图2,图4至图6所示的实施例中对应的相关描述和效果进行理解,此处不再赘述。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random AccessMemory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (13)
1.一种码流的加密协商方法,其特征在于,包括:
向第二会议终端发送第一会话初始化协议信令,所述第一会话初始化协议信令携带有用于表示第一会议终端当前所支持的加密信息的第一消息体;
接收所述第二会议终端根据所述第一会话初始化协议信令反馈的第二会话初始化协议信令,所述第二会话初始化协议信令携带有第二消息体以及会话描述协议,所述第二消息体包括所述第二会议终端基于所述第一消息体协商出的加密信息,所述会话描述协议包括加密后的码流密钥,其中,所述加密后的码流密钥为利用所述协商出的加密信息对码流密钥进行加密的密钥;
向所述第二会议终端发送第三会话初始化协议信令,所述第三会话初始化协议信令用于表示码流的加密协商的结束;
其中,当在所述第一会话初始化协议信令中携带会话描述协议时,所述第一会话初始化协议信令中还携带有加密后的第一码流密钥的集合,在所述向第二会议终端发送第一会话初始化协议信令之前,还包括:
提取第一码流密钥,所述第一码流密钥为所述第一会议终端生成的用于对码流加密的密钥;
依次利用所有加密算法和主密钥对所述第一码流密钥加密,形成所述加密后的第一码流密钥的集合;所述主密钥和一个所述加密算法对应于一个所述加密后的第一码流密钥。
2.根据权利要求1所述的加密协商方法,其特征在于,所述第一消息体包括标号以及若干加密算法,所述标号用于确认唯一的主密钥;所述协商出的加密信息包括所述标号以及协商出的一个加密算法。
3.根据权利要求1所述的加密协商方法,其特征在于,
当在所述第一会话初始化协议信令中没有携带所述会话描述协议时,所述向所述第二会议终端发送第三会话初始化协议信令,包括:
对所述加密后的码流密钥进行协商;
在所述第三会话初始化协议信令中携带协商后的结果,发送给所述第二会议终端。
4.一种码流的加密协商方法,其特征在于,包括:
接收第一会议终端发送的第一会话初始化协议信令,所述第一会话初始化协议信令携带有用于表示第一会议终端当前所支持的加密信息的第一消息体;
基于所述第一消息体协商出第二会议终端支持的加密信息以及加密后的码流密钥,其中,所述加密后的码流密钥为利用所述协商出的加密信息对码流密钥进行加密的密钥;
向所述第一会议终端发送第二会话初始化协议信令,所述第二会话初始化协议信令携带第二消息体以及会话描述协议,所述第二消息体包括协商出的加密信息,所述会话描述协议包括所述加密后的码流密钥;
接收所述第一会议终端发送的第三会话初始化协议信令,所述第三会话初始化协议信令用于表示码流的加密协商的结束;
其中,当所述第一会话初始化协议信令中携带有所述会话描述协议时,所述第一会话初始化协议信令还携带有加密后的第一码流密钥的集合,所述第一码流密钥的集合是所述第一会议终端依次利用所有加密算法和主密钥对第一码流密钥加密形成的,所述主密钥和一个所述加密算法对应于一个所述加密后的第一码流密钥,所述第一码流密钥为所述第一会议终端生成的用于对码流加密的密钥。
5.根据权利要求4所述的加密协商方法,其特征在于,所述接收第一会议终端发送的第一会话初始化协议信令之前,还包括:
向服务器发送注册请求,所述注册请求所携带的消息体中包括所述第二会议终端的公钥;
接收服务器发送的利用所述公钥加密后的主密码表以及所述主密码表的版本号,其中,所述主密码表为所有主密钥的集合,所述主密钥与标号一一对应;
利用与所述公钥对应的私钥对所述加密后的主密码表进行解密,得到所述主密码表。
6.根据权利要求5所述的加密协商方法,其特征在于,所述第一会话初始化协议信令还携带有所述第一会议终端的主密码表的版本号;
所述基于所述第一消息体协商出第二会议终端支持的加密信息以及加密后的码流密钥的步骤之前,还包括:
判断所述第一会议终端的主密码表的版本号与自身的主密码表的版本号是否匹配;
当所述自身的主密码表的版本号低于所述第一会议终端的主密码表的版本号时,再次向所述服务器发送注册请求;
当所述自身的主密码表的版本号高于所述第一会议终端的主密码表的版本号时,挂断码流的加密协商呼叫并携带原因发送给所述第一会议终端。
7.根据权利要求4所述的加密协商方法,其特征在于,所述第一消息体包括标号以及若干加密算法,所述标号用于确认唯一的主密钥;所述协商出的加密信息包括所述标号以及协商出的一个加密算法;
当所述第一会话初始化协议信令中携带有所述会话描述协议时,所述基于所述第一消息体协商出第二会议终端支持的加密信息以及加密后的码流密钥,包括:
提取所述第一会话初始化协议信令中携带的所述加密后的第一码流密钥的集合;
基于所述加密后的第一码流密钥的集合协商出所述加密后的码流密钥。
8.根据权利要求7所述的加密协商方法,其特征在于,所述基于所述加密后的第一码流密钥的集合协商出加密后的码流密钥,包括:
从所述加密后的第一码流密钥的集合中选出所述加密后的码流密钥;
或,
提取第二码流密钥,所述第二码流密钥为所述第二会议终端生成的用于对码流加密的密钥;
利用协商出的所述加密算法和所述主密钥对所述第二码流密钥加密,形成所述加密后的码流密钥。
9.根据权利要求7所述的加密协商方法,其特征在于,
当所述第一会话初始化协议信令中没有携带所述会话描述协议时,所述基于所述第一消息体协商出第二会议终端支持的加密信息以及加密后的码流密钥,包括:
利用协商出的所述加密算法以及所述主密钥对第二码流密钥进行加密,形成所述加密后的码流密钥,所述第二码流密钥为所述第二会议终端生成的用于对码流加密的密钥。
10.一种码流的加密协商装置,其特征在于,包括:
第一发送模块,用于向第二会议终端发送第一会话初始化协议信令,所述第一会话初始化协议信令携带有用于表示第一会议终端当前所支持的加密信息的第一消息体;
第一接收模块,接收所述第二会议终端根据所述第一会话初始化协议信令反馈的第二会话初始化协议信令,所述第二会话初始化协议信令携带有第二消息体以及会话描述协议,所述第二消息体包括所述第二会议终端基于所述第一消息体协商出的加密信息,所述会话描述协议包括加密后的码流密钥,其中,所述加密后的码流密钥为利用所述协商出的加密信息对码流密钥进行加密的密钥;
第二发送模块,用于向所述第二会议终端发送第三会话初始化协议信令,所述第三会话初始化协议信令用于表示码流的加密协商的结束;
其中,当在所述第一会话初始化协议信令中携带会话描述协议时,所述第一会话初始化协议信令中还携带有加密后的第一码流密钥的集合,在所述向第二会议终端发送第一会话初始化协议信令之前,还包括:
提取第一码流密钥,所述第一码流密钥为所述第一会议终端生成的用于对码流加密的密钥;
依次利用所有加密算法和主密钥对所述第一码流密钥加密,形成所述加密后的第一码流密钥的集合;所述主密钥和一个所述加密算法对应于一个所述加密后的第一码流密钥。
11.一种码流的加密协商装置,其特征在于,包括:
第二接收模块,用于接收第一会议终端发送的第一会话初始化协议信令,所述第一会话初始化协议信令携带有用于表示第一会议终端当前所支持的加密信息的第一消息体;
协商模块,用于基于所述第一消息体协商出第二会议终端支持的加密信息以及加密后的码流密钥,其中,所述加密后的码流密钥为利用所述协商出的加密信息对码流密钥进行加密的密钥;
第三发送模块,用于向所述第一会议终端发送第二会话初始化协议信令,所述第二会话初始化协议信令携带第二消息体以及会话描述协议,所述第二消息体包括协商出的加密信息,所述会话描述协议包括所述加密后的码流密钥;
第三接收模块,用于接收所述第一会议终端发送的第三会话初始化协议信令,所述第三会话初始化协议信令用于表示码流的加密协商的结束;
其中,当所述第一会话初始化协议信令中携带有所述会话描述协议时,所述第一会话初始化协议信令还携带有加密后的第一码流密钥的集合,所述第一码流密钥的集合是所述第一会议终端依次利用所有加密算法和主密钥对第一码流密钥加密形成的,所述主密钥和一个所述加密算法对应于一个所述加密后的第一码流密钥,所述第一码流密钥为所述第一会议终端生成的用于对码流加密的密钥。
12.一种会议终端,其特征在于,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1-3任一项所述的码流的加密协商方法或者执行权利要求4-9任一项所述的码流的加密协商方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行权利要求1-3任一项所述的码流的加密协商方法或者执行权利要求4-9任一项所述的码流的加密协商方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810373793.XA CN108833943B (zh) | 2018-04-24 | 2018-04-24 | 码流的加密协商方法、装置及会议终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810373793.XA CN108833943B (zh) | 2018-04-24 | 2018-04-24 | 码流的加密协商方法、装置及会议终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108833943A CN108833943A (zh) | 2018-11-16 |
CN108833943B true CN108833943B (zh) | 2020-12-08 |
Family
ID=64155140
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810373793.XA Active CN108833943B (zh) | 2018-04-24 | 2018-04-24 | 码流的加密协商方法、装置及会议终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108833943B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109873972B (zh) * | 2019-02-13 | 2022-02-18 | 苏州科达科技股份有限公司 | 防止重协商DoS攻击的注册方法、呼叫方法、介质、设备 |
CN109889763B (zh) * | 2019-03-20 | 2020-12-25 | 苏州科达科技股份有限公司 | 会议电视***的呼叫建立方法、装置及存储介质 |
CN111107298B (zh) * | 2019-12-04 | 2021-01-08 | 上海百脑经贸有限公司 | 一种视频会议加密方法 |
CN111741464B (zh) * | 2020-07-22 | 2021-04-09 | 深圳Tcl新技术有限公司 | 设备连接方法、主控设备、被控设备、控制***及介质 |
US20220247730A1 (en) * | 2021-01-29 | 2022-08-04 | Apple Inc. | Electronic conferencing |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104113409A (zh) * | 2014-07-23 | 2014-10-22 | 中国科学院信息工程研究所 | 一种sip视频监控联网***的密钥管理方法及*** |
CN107437993A (zh) * | 2016-05-26 | 2017-12-05 | 中兴通讯股份有限公司 | 一种基于无证书两方认证密钥协商方法和装置 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1881869B (zh) * | 2005-11-01 | 2010-05-05 | 华为技术有限公司 | 一种实现加密通信的方法 |
CN101335621B (zh) * | 2007-06-26 | 2011-03-16 | 中国科学院声学研究所 | 一种802.11i密钥管理方法 |
CN101635919B (zh) * | 2009-08-20 | 2012-10-10 | 中兴通讯股份有限公司 | 一种ip多媒体***会议媒体数据的加密方法及*** |
CN101635823B (zh) * | 2009-08-27 | 2011-09-21 | 中兴通讯股份有限公司 | 一种终端对视频会议数据进行加密的方法及*** |
TW201628371A (zh) * | 2011-03-23 | 2016-08-01 | 內數位專利控股公司 | 確寶網路通訊系統及方法 |
CN103685181A (zh) * | 2012-09-13 | 2014-03-26 | 北京大唐高鸿软件技术有限公司 | 一种基于srtp的密钥协商方法 |
CN104683291B (zh) * | 2013-11-27 | 2020-04-10 | 北京大唐高鸿数据网络技术有限公司 | 基于ims***的会话密钥协商方法 |
CN106534044A (zh) * | 2015-09-09 | 2017-03-22 | 中兴通讯股份有限公司 | 一种语音通话的加密方法及装置 |
US10430607B2 (en) * | 2016-05-05 | 2019-10-01 | Ribbon Communications Operating Company, Inc. | Use of AKA methods and procedures for authentication of subscribers without access to SIM credentials |
CN107517184A (zh) * | 2016-06-16 | 2017-12-26 | 中兴通讯股份有限公司 | 报文传输方法、装置及*** |
CN109417470B (zh) * | 2016-09-19 | 2021-10-15 | 华为技术有限公司 | 密钥协商方法及装置 |
US9838203B1 (en) * | 2016-09-28 | 2017-12-05 | International Business Machines Corporation | Integrity protected trusted public key token with performance enhancements |
US10630659B2 (en) * | 2016-09-30 | 2020-04-21 | Nicira, Inc. | Scalable security key architecture for network encryption |
CN107846567B (zh) * | 2017-11-02 | 2020-12-29 | 苏州科达科技股份有限公司 | 一种srtp能力协商方法及会议终端 |
CN107948676A (zh) * | 2017-12-08 | 2018-04-20 | 苏州科达科技股份有限公司 | 视频数据传输方法及装置 |
-
2018
- 2018-04-24 CN CN201810373793.XA patent/CN108833943B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104113409A (zh) * | 2014-07-23 | 2014-10-22 | 中国科学院信息工程研究所 | 一种sip视频监控联网***的密钥管理方法及*** |
CN107437993A (zh) * | 2016-05-26 | 2017-12-05 | 中兴通讯股份有限公司 | 一种基于无证书两方认证密钥协商方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108833943A (zh) | 2018-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108833943B (zh) | 码流的加密协商方法、装置及会议终端 | |
EP1717986B1 (en) | Key distribution method | |
US9755825B2 (en) | Device authentication and secure channel management for peer-to-peer initiated communications | |
EP3151597B1 (en) | Method and apparatus for achieving secret communications | |
US8582766B2 (en) | Method for ensuring media stream security in IP multimedia sub-system | |
US8935529B2 (en) | Methods and systems for end-to-end secure SIP payloads | |
WO2012068922A1 (zh) | Ims多媒体通信方法和***、终端及ims核心网 | |
EP2426852A1 (en) | Method and system for implementing secure forking calling session in ip multi-media subsystem | |
US20080310639A1 (en) | Communication apparatus, communication system, and communication method | |
CN104683098B (zh) | 一种保密通信业务的实现方法、设备及*** | |
EP4184821A1 (en) | Ims data channel-based communication method and device | |
CN104683291B (zh) | 基于ims***的会话密钥协商方法 | |
CN114866234B (zh) | 基于量子密钥加解密的语音通信方法、装置、设备及存储 | |
CN107294968B (zh) | 一种音视频数据的监控方法和*** | |
EP3291483B1 (en) | Data transmission and reception method and system | |
US8705745B2 (en) | Method and system for transmitting deferred media information in an IP multimedia subsystem | |
CN114630290A (zh) | 语音加密通话的密钥协商方法、装置、设备及存储介质 | |
CN108337089B (zh) | 信令传输加密、解密方法、装置及终端 | |
WO2017197968A1 (zh) | 一种数据传输方法及装置 | |
EP2451133A1 (en) | Method and system for transmitting ip multimedia subsystem delay media information | |
CN102025485B (zh) | 密钥协商的方法、密钥管理服务器及终端 | |
US10848471B2 (en) | Communication apparatus, communication method, and program | |
CN104753869A (zh) | 基于sip协议的通话加密方法 | |
CN112235320B (zh) | 一种基于密码的视联网组播通信方法及装置 | |
CN108696512B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |