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

一种基于IMS数据通道的通信方法及设备与流程

2022-02-24 12:54:40 来源:中国专利 TAG:

一种基于ims数据通道的通信方法及设备
技术领域
1.本技术涉及无线通信领域,特别涉及一种基于ims数据通道的通信方法及设备。


背景技术:

2.互联网协议多媒体子系统(internet protocol multimedia subsystem,ims)数据通道是业界新出现的一个新概念。其主要技术特征是在长期演进语音承载(voice over long term evolution,volte)语音业务基础上叠加第五代无线通信(5th generation wireless systems,5g)技术的数据信道,从而将基于ims的实时音视频通信升级为实时交互,丰富了ims使能的业务场景。
3.目前,ims数据通道可以认为是一种新增的媒体类型,可以采用网页即时通信(web real time communication,webrtc)中用到的基于用户数据报协议的数据包传输层安全性协议上的流控制传输协议(stream control transmission protocol over datagram transport layer security over user datagram protocol,sctp over dtls over udp)作为承载协议,这就意味着ims数据通道的安全机制与音频业务和视频业务所采用的安全机制是不同的,前者使用sctp over dtls over udp协议,后者使用的是安全实时传输协议(secure real time transport protocol,srtp)。对于sctp over dtls over udp来说,需要安全证书,而对于srtp来说,则仅需要获得密钥。如果ims数据通道使用的安全证书由终端或者应用自行生成或安装的话,网络会失去对ims数据通道的通信内容的控制和监管能力,影响通信的可靠性。


技术实现要素:

4.本技术提供了一种基于ims数据通道的通信方法及设备,以提供可靠地ims数据通道通信。
5.第一方面,本技术提供一种基于ims数据通道的通信方法,该方法可以应用于通信网络中的证书管理服务器。在该通信网络中,证书管理服务器可以通过ims网络的网元,如应服务器(application server,as)以及呼叫会话控制功能(call session control function,cscf)与相应的终端(如第一终端)通信。当第一终端上的第一应用将要与第二终端上的第二应用进行ims数据通道业务时,首先,证书管理服务器接收由as转发的来自第一终端的加密票据(ticket)和用于标识第一应用的第一应用的标识信息,然后,证书管理服务器向密钥管理服务器(key management system,kms)发送加密票据和第一应用的标识信息,使得kms根据加密票据和第一应用的标识信息对第一应用进行验证,并将验证结果通知证书管理服务器;接着,在对第一应用验证成功后,证书管理服务器接收到来自kms的第一密钥,并根据第一密钥生成相应的数据通道应用证书,最后,证书管理服务器将该数据通道应用证书经由as发送给第一终端,使得第一应用能够根据该数据通道应用证书与第二应用进行ims数据通道业务。
6.在本技术中,证书管理服务器向第一终端发放可靠的数据通道应用证书,并且ims
网络能够获知该数据通道应用证书,避免第一终端手动安装/替换第三方(非通信网络提供)证书和使用不可靠的自签署证书,进而提供可靠地ims数据通道通信。
7.在一些可能的实施方式中,第一终端还可以向证书管理服务器发送kms的地址,如此,证书管理服务器可以根据kms的地址,向对应的kms发送加密的票据和第一应用的标识信息。
8.在另一些可能的实施方式中,证书管理服务器可以由as向第一终端发送数据通道应用证书和第一应用的标识信息,如此,第一终端就可以知道接收到的数据通道应用证书是分配给第一应用的,进而将该数据通道应用证书与第一应用的标识信息关联保存。
9.在另一些可能的实施方式中,第一应用的标识信息可以包括:第一终端的终端标识;或者,第一终端的终端标识和第一应用的应用标识。
10.可选的,第一终端的终端标识包括:第一终端的设备标识或者使用第一终端的用户的用户标识。
11.在本技术中,上述终端标识可以为用于终端的设备标识,如国际移动用户识别码(international mobile subscriber identity,imsi)、国际移动设备识别码(international mobile equipment identity,imei)等,还可以为使用该终端的用户的用户标识,如互联网协议多媒体公共标识(ip multimedia public identity,impu);应用标识可以为应用标识(application identifier,aid)。
12.在另一些可能的实施方式中,上述加密票据可以包括:第一应用的标识信息。例如,加密票据可以以mikey(multimedia internet keying)-ticket的方式实施。
13.进一步地,为了提高可靠性,上述加密票据还可以包括:第二密钥的密钥索引,第二密钥与第一密钥相匹配,第二密钥是由kms为第一应用分配的。
14.在本技术中,第二密钥的密钥索引可以为第二密钥本身,也可以为第二密钥对应的第一密钥,或者第二密钥的标识等,当然,密钥索引还可以为其他形式,只要能够通过第二密钥的密钥索引唯一确定出第二密钥即可。
15.第二方面,本技术提供一种基于ims数据通道的通信方法,包括:kms获得来自证书管理服务器的第一加密票据和第一应用的标识信息,第一应用的标识信息用于标识第一终端的第一应用;kms解密第一加密票据,获得第一加密票据中的标识信息;kms根据标识信息和第一应用的标识信息对第一应用进行验证;如果对第一应用验证成功,则kms向证书管理服务器发送第一密钥,第一密钥与kms为第一应用分配的第二密钥相匹配,第一密钥用于证书管理服务器为第一应用生成数据通道应用证书,数据通道应用证书用于第一应用与第二终端的第二应用进行ims数据通道业务。
16.在一些可能的实施方式中,kms可以判断标识信息与第一应用的标识信息是否匹配,其中,如果标识信息与第一应用的标识信息相匹配,则表明对第一应用验证成功,如果标识信息与第一应用的标识信息不匹配,则表明对第一应用验证失败。
17.在本技术中,通过判断标识信息与第一应用的标识信息是否匹配,来验证加密票据中的标识信息与发送加密票据的第一应用的标识信息是否是一致,进而验证第一应用是否合法。
18.进一步地,为了提高可靠性,第一加密票据还可以包括:密钥索引;相应地,kms可以根据标识信息、密钥索引和第一应用的标识信息对第一应用进行验证。
19.在另一些可能的实施方式中,kms可以判断标识信息与第一应用的标识信息是否匹配;如果标识信息与第一应用的标识信息相匹配,则kms判断密钥索引与第二密钥是否相匹配;其中,如果密钥索引与第二密钥相匹配,则表明对第一应用验证成功;如果密钥索引与第二密钥不匹配,则表明对第一应用验证失败。
20.在另一些可能的实施方式中,在kms获得来自证书管理服务器的第一加密票据和第一应用的标识信息之前,上述方法还可以包括:kms接收来自第一终端的密钥请求;kms响应密钥请求,为第一应用分配第二密钥和第二加密票据,第二加密票据包括:第一应用的标识信息,或者第一应用的标识信息和第二密钥的密钥索引;kms向第一终端发送第二密钥和第二加密票据。
21.在另一些可能的实施方式中,第一应用的标识信息包括:第一终端的终端标识;或者,第一终端的终端标识和第一应用的应用标识。
22.在另一些可能的实施方式中,第一终端的终端标识包括:第一终端的设备标识或者使用第一终端的用户的用户标识。
23.在另一些可能的实施方式中,上述方法还可以包括:kms与第一终端采用通用认证机制(generic bootstrapping architecture,gba)建立通信通道。
24.第三方面,本技术提供一种基于ims数据通道的通信方法,包括:第一终端经由as向证书管理服务器发送加密票据和第一应用的标识信息,第一应用的标识信息用于标识第一终端的第一应用;第一终端经由as接收证书管理服务器发送的数据通道应用证书,数据通道应用证书为证书管理服务器在根据加密票据和第一应用的标识信息对第一应用验证成功后发送;第一终端根据数据通道应用证书与第二终端的第二应用进行ims数据通道业务。
25.在一些可能的实施方式中,上述方法还可以包括:第一终端经由as向证书管理服务器发送kms的地址,kms的地址用于指示证书管理服务器与kms通信。
26.在另一些可能的实施方式中,第一应用的标识信息包括:第一终端的终端标识;或者,第一终端的终端标识和第一应用的应用标识。
27.在另一些可能的实施方式中,第一终端的终端标识包括:第一终端的设备标识或者使用第一终端的用户的用户标识。
28.在另一些可能的实施方式中,在第一终端向证书管理服务器发送加密票据和第一应用的标识信息之前,上述方法还可以包括:第一终端向kms请求密钥和票据;第一终端接收kms为第一应用分配的第二密钥和加密票据,加密票据包括:第一应用的标识信息,或者第一应用的标识信息和第二密钥的密钥索引。
29.在另一些可能的实施方式中,数据通道应用证书为证书管理服务器根据第一密钥生成的,第一密钥与第二密钥相匹配;相应地,当第二终端对第一应用验证成功时,第一终端通过第一密钥和第二密钥的配合验证数据通道应用证书。
30.在另一些可能的实施方式中,上述方法还可以包括:第一终端与kms采用gba建立通信通道。
31.第四方面,本技术提供一种基于ims数据通道的通信方法,包括:as接收来自第一终端的加密票据和第一应用的标识信息,第一应用的标识信息用于标识第一终端的第一应用;as将加密票据和第一应用的标识信息发送给证书管理服务器;as接收来自证书管理服
务器的第一数据通道应用证书,第一数据通道应用证书为证书管理服务器为第一应用分配的,第一数据通道应用证书用于第一应用与第二终端的第二应用进行ims数据通道业务;as保存第一数据通道应用证书,并将第一数据通道应用证书发送给第一终端。
32.在本技术中,第一终端发起ims数据通道业务时,ims网络可以通过检查dtls握手过程中交换的证书的指纹信息是否为证书管理服务器下发数据通道应用证书,以此来拒绝使用非ims网络生成的数据通道应用证书,进而在保证终端安全通信的同时,也使得通信ims网络能够对通信过程的可靠性进行监管。
33.在一些可能的实施方式中,上述方法还可以包括:as接收证书管理服务器为第二应用分配的第二数据通道应用证书,第二数据通道应用证书用于第二应用与第一应用进行ims数据通道业务;as保存第二数据通道应用证书,并将第二数据通道应用证书发送给第二终端。
34.在另一些可能的实施方式中,上述方法还可以包括:as在数dtls握手过程中获得来自第一终端的数据通道应用证书和来自第二终端的数据通道应用证书;as将来自第一终端的数据通道应用证书与第一数据通道应用证书进行匹配;as将来自第二终端的数据通道应用证书与第二数据通道应用证书进行匹配;如果来自第一终端的数据通道应用证书与第一数据通道应用证书匹配,且来自第二终端的数据通道应用证书与第二数据通道应用证书匹配,则允许第一应用与第二应用建立ims数据通道;如果来自第一终端的数据通道应用证书与第一数据通道应用证书不匹配,和/或来自第二终端的数据通道应用证书与第二数据通道应用证书不匹配,则禁止第一应用与第二应用建立ims数据通道。
35.第五方面,本技术提供一种通信装置,该通信装置可以为证书管理服务器中的芯片或者片上系统,还可以为证书管理服务器中用于实现第一方面或第一方面的任一可能的实施方式所述的方法的功能模块。举例来说,该通信装置,包括:第一通信模块,用于接收来自as的加密票据和第一应用的标识信息,第一应用的标识信息用于标识第一终端的第一应用;第二通信模块,用于向kms发送加密票据和第一应用的标识信息,加密票据和第一应用的标识信息用于kms对第一应用进行验证;接收第一密钥,第一密钥是由kms在对第一应用验证成功后发送的;第一通信模块,还用于向as发送第一密钥对应的数据通道应用证书,数据通道应用证书用于第一应用与第二终端的第二应用进行ims数据通道业务。
36.在一些可能的实施方式中,第一通信模块,还用于获得kms的地址;第二通信模块,还用于根据kms的地址,向kms发送加密票据和第一应用的标识信息。
37.在另一些可能的实施方式中,第一通信模块,还用于向as发送数据通道应用证书和第一应用的标识信息。
38.在另一些可能的实施方式中,第一应用的标识信息包括:第一终端的终端标识;或者,第一终端的终端标识和第一应用的应用标识。
39.在另一些可能的实施方式中,第一终端的终端标识包括:第一终端的设备标识或者使用第一终端的用户的用户标识。
40.在另一些可能的实施方式中,加密票据包括:第一应用的标识信息。
41.在另一些可能的实施方式中,加密票据还包括:第二密钥的密钥索引,第二密钥与第一密钥相匹配,第二密钥是由kms为第一应用分配的。
42.第六方面,本技术提供一种通信装置,该通信装置可以为kms中的芯片或者片上系
统,还可以为kms中用于实现第二方面或第二方面的任一可能的实施方式所述的方法的功能模块。举例来说,该通信装置,包括:第三通信模块,用于获得来自证书管理服务器的第一加密票据和第一应用的标识信息,第一应用的标识信息用于标识第一终端的第一应用;第一处理模块,用于解密第一加密票据,获得第一加密票据中的标识信息;根据标识信息和第一应用的标识信息对第一应用进行验证;第三通信模块,还用于如果对第一应用验证成功,则向证书管理服务器发送第一密钥,第一密钥与kms为第一应用分配的第二密钥相匹配,第一密钥用于证书管理服务器为第一应用生成数据通道应用证书,数据通道应用证书用于第一应用与第二终端的第二应用进行ims数据通道业务。
43.在一些可能的实施方式中,第一处理模块,用于判断标识信息与第一应用的标识信息是否匹配,其中,如果标识信息与第一应用的标识信息相匹配,则表明对第一应用验证成功,如果标识信息与第一应用的标识信息不匹配,则表明对第一应用验证失败。
44.在另一些可能的实施方式中,第一加密票据还包括:密钥索引;第一处理模块,用于根据标识信息、密钥索引和第一应用的标识信息对第一应用进行验证。
45.在另一些可能的实施方式中,第一处理模块,用于判断标识信息与第一应用的标识信息是否匹配;如果标识信息与第一应用的标识信息相匹配,则判断密钥索引与第二密钥是否相匹配;其中,如果密钥索引与第二密钥相匹配,则表明对第一应用验证成功;如果密钥索引与第二密钥不匹配,则表明对第一应用验证失败。
46.在另一些可能的实施方式中,上述通信装置还包括第四通信模块,用于在第三通信模块获得来自证书管理服务器的第一加密票据和第一应用的标识信息之前,接收来自第一终端的密钥请求;第一处理模块,还用于响应密钥请求,为第一应用分配第二密钥和第二加密票据,第二加密票据包括:第一应用的标识信息,或者第一应用的标识信息和第二密钥的密钥索引;第四通信模块,还用于向第一终端发送第二密钥和第二加密票据。
47.在另一些可能的实施方式中,第一应用的标识信息包括:第一终端的终端标识;或者,第一终端的终端标识和第一应用的应用标识。
48.在另一些可能的实施方式中,第一终端的终端标识包括:第一终端的设备标识或者使用第一终端的用户的用户标识。
49.在另一些可能的实施方式中,第四通信模块,还用于与第一终端采用gba建立通信通道。
50.第七方面,本技术提供一种通信装置,该通信装置可以为第一终端中的芯片或者片上系统,还可以为第一终端中用于实现第三方面或第三方面的任一可能的实施方式所述的方法的功能模块。举例来说,该通信装置,包括:第五通信模块,用于向as发送加密票据和第一应用的标识信息,第一应用的标识信息用于标识第一终端的第一应用;接收as发送的数据通道应用证书,数据通道应用证书为证书管理服务器在根据加密票据和第一应用的标识信息对第一应用验证成功后发送;第六通信模块,用于根据数据通道应用证书与第二终端的第二应用进行ims数据通道业务。
51.在一些可能的实施方式中,第五通信模块,还用于向as发送kms的地址,kms的地址用于指示证书管理服务器与kms通信。
52.在另一些可能的实施方式中,第一应用的标识信息包括:第一终端的终端标识;或者,第一终端的终端标识和第一应用的应用标识。
53.在另一些可能的实施方式中,第一终端的终端标识包括:第一终端的设备标识或者使用第一终端的用户的用户标识。
54.在另一些可能的实施方式中,上述通信装置还可以包括:第七通信模块,还用于在第五通信模块向as发送加密票据和第一应用的标识信息之前,向kms请求密钥和票据;接收kms为第一应用分配的第二密钥和加密票据,加密票据包括:第一应用的标识信息,或者第一应用的标识信息和第二密钥的密钥索引。
55.在另一些可能的实施方式中,第一终端与kms采用gba建立通信通道。
56.在另一些可能的实施方式中,数据通道应用证书为证书管理服务器根据第一密钥生成的,第一密钥与第二密钥相匹配;第六通信模块,还用于当第二终端对第一应用验证成功时,通过第一密钥和第二密钥的配合验证数据通道应用证书。
57.第八方面,本技术提供一种通信装置,该通信装置可以为as中的芯片或者片上系统,还可以为as中用于实现第四方面或第四方面的任一可能的实施方式所述的方法的功能模块。举例来说,该通信装置,包括:第八通信模块,用于接收来自第一终端的加密票据和第一应用的标识信息,第一应用的标识信息用于标识第一终端的第一应用;第九通信模块,用于将加密票据和第一应用的标识信息发送给证书管理服务器;接收来自证书管理服务器的第一数据通道应用证书,第一数据通道应用证书为证书管理服务器为第一应用分配的,第一数据通道应用证书用于第一应用与第二终端的第二应用进行ims数据通道业务;第二处理模块,用于保存第一数据通道应用证书;第八通信模块,还用于将第一数据通道应用证书发送给第一终端。
58.在一些可能的实施方式中,第九通信模块,还用于接收证书管理服务器为第二应用分配的第二数据通道应用证书,第二数据通道应用证书用于第二应用与第一应用进行ims数据通道业务;第二处理模块,还用于保存第二数据通道应用证书;第八通信模块,还用于将第二数据通道应用证书发送给第二终端。
59.在另一些可能的实施方式中,第八通信模块,还用于在dtls握手过程中获得来自第一终端的数据通道应用证书和来自第二终端的数据通道应用证书;第二处理模块,还用于将来自第一终端的数据通道应用证书与第一数据通道应用证书进行匹配;将来自第二终端的数据通道应用证书与第二数据通道应用证书进行匹配;如果来自第一终端的数据通道应用证书与第一数据通道应用证书匹配,且来自第二终端的数据通道应用证书与第二数据通道应用证书匹配,则允许第一应用与第二应用建立ims数据通道;如果来自第一终端的数据通道应用证书与第一数据通道应用证书不匹配,和/或来自第二终端的数据通道应用证书与第二数据通道应用证书不匹配,则禁止第一应用与第二应用建立ims数据通道。
60.第九方面,本技术提供一种证书管理服务器,包括:处理器和存储器;处理器与存储器耦合,处理器被配置为读取并执行存储器中的指令,以实现如第一方面及其任一可能的实施方式所述的基于ims数据通道的通信方法。
61.第十方面,本技术提供一种kms,包括:处理器和存储器;处理器与存储器耦合,处理器被配置为读取并执行存储器中的指令,以实现如第二方面及其任一可能的实施方式所述的基于ims数据通道的通信方法。
62.第十一方面,本技术提供一种终端,包括:处理器和存储器;处理器与存储器耦合,处理器被配置为读取并执行存储器中的指令,以实现如第三方面及其任一可能的实施方式
所述的基于ims数据通道的通信方法。
63.第十二方面,本技术提供一种as,包括:处理器和存储器;处理器与存储器耦合,处理器被配置为读取并执行存储器中的指令,以实现如第四方面及其任一可能的实施方式所述的基于ims数据通道的通信方法。
64.第十三方面,本技术提供一种通信系统,包括:证书管理服务器、kms以及as;其中,证书管理服务器,被配置为执行如第一方面及其任一可能的实施方式所述的基于ims数据通道的通信方法;kms,被配置为执行如第二方面及其任一可能的实施方式所述的基于ims数据通道的通信方法;as,被配置为执行如第四方面及其任一可能的实施方式所述的基于ims数据通道的通信方法。
65.第十四方面,本技术提供一种计算机可读存储介质,计算机可读存储介质存储有指令,当指令在计算机上运行时,用于执行如上述第一方面、第二方面、第三方面或第四方面及其任一可能的实施方式所述的基于ims数据通道的通信方法。
66.第十五方面,本技术提供一种计算机程序或计算机程序产品,当计算机程序或计算机程序产品在计算机上被执行时,使得计算机实现如上述第一方面、第二方面、第三方面或第四方面及其任一可能的实施方式所述的基于ims数据通道的通信方法。
67.应当理解的是,本技术的第五至十五方面与本技术的第一至四方面的技术方案一致,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
附图说明
68.为了更清楚地说明本技术实施例中的技术方案,下面将对本技术实施例或背景技术中所需要使用的附图进行说明。
69.图1为本技术实施例中的webrtc的协议栈示意图;
70.图2为本技术实施例中的ims中不同数据类型的安全传输协议的示意图;
71.图3为本技术实施例中的通信系统的架构示意图;
72.图4为本技术实施例中的票据请求流程的示意图;
73.图5为本技术实施例中的证书请求流程的示意图;
74.图6为本技术实施例中的ims数据通道的通信方法的流程示意图;
75.图7为本技术实施例中的通信装置的一种结构示意图;
76.图8为本技术实施例中的通信装置的另一种结构示意图
77.图9为本技术实施例中的通信装置的又一种结构示意图。
78.图10为本技术实施例中的通信设备的硬件示意图。
具体实施方式
79.下面结合本技术实施例中的附图对本技术实施例进行描述。以下描述中,参考形成本技术一部分并以说明之方式示出本技术实施例的具体方面或可使用本技术实施例的具体方面的附图。应理解,本技术实施例可在其它方面中使用,并可包括附图中未描绘的结构或逻辑变化。例如,应理解,结合所描述方法的揭示内容可以同样适用于用于执行所述方法的对应设备或系统,且反之亦然。例如,如果描述一个或多个具体方法步骤,则对应的设备可以包含如功能单元等一个或多个单元,来执行所描述的一个或多个方法步骤(例如,一
个单元执行一个或多个步骤,或多个单元,其中每一个都执行多个步骤中的一个或多个),即使附图中未明确描述或说明这种一个或多个单元。另一方面,例如,如果基于如功能单元等一个或多个单元描述具体装置,则对应的方法可以包含一个步骤来执行一个或多个单元的功能性(例如,一个步骤执行一个或多个单元的功能性,或多个步骤,其中每一个执行多个单元中一个或多个单元的功能性),即使附图中未明确描述或说明这种一个或多个步骤。进一步,应理解的是,除非另外明确提出,本文中所描述的各示例性实施例和/或方面的特征可以相互组合。
80.众所周知,浏览器本身是不支持相互之间直接建立信道进行通信,都是通过服务器进行中转。例如,现在有两个客户端:甲和乙,它们想要通信,首先需要甲和服务器、乙和服务器之间建立信道。甲给乙发送消息时,甲先将消息发送到服务器上,服务器对甲的消息进行中转,发送到乙处,反过来也是一样。这样甲与乙之间的一次消息要通过两段信道,通信的效率同时受制于这两段信道的带宽。同时这样的信道并不适合数据流的传输,如何建立浏览器之间的点对点传输,一直困扰着开发者,网页实时通信(web real time communication,webrtc)应运而生。
81.webrtc是一个支持网页浏览器进行实时语音对话或视频对话的技术,旨在使浏览器能为实时通信(rtc)提供简单的接口。简单来说,webrtc是通过一系列的信令,建立一个浏览器与另一个浏览器之间(peer-to-peer)的信道,这个信道可以发送任何数据,而不需要经过服务器,实现高性能、低延时、点对点通信。图1为本技术实施例中的webrtc的协议栈示意图,参见图1所示,webrtc data channel采用的协议栈是基于用户数据报协议的数据包传输层安全性协议上的流控制传输协议(stream control transmission protocol over datagram transport layer security over interactive connectivity establishment or user datagram protocol,sctp over dtls over ice/udp),其中底层的udp实现低时延通信,中间的dtls实现数据通道安全通信,最后高层的sctp支持在一个sctp连接中建立多条不同可靠性的流(stream)。
82.目前,随着技术发展,出现了一个新的概念——互联网协议多媒体子系统(internet protocol multimedia subsystem,ims)数据通道,其主要技术特征是在长期演进语音承载(voice over long term evolution,volte)的语音业务(voice call)基础上叠加第五代通信技术数据通道(5g data channel),从而将基于ims的实时音视频通信升级为实时交互,丰富了ims使能的业务场景。在技术上,ims数据通道可以看作是一种新增的媒体类型,可以采用webrtc中用到的sctp over dtls over udp作为承载协议。图2为本技术实施例中的ims中不同数据类型的安全传输协议的示意图,参见图2所示,ims数据通道采用sctp over dtls over udp,音频(voice)业务采用安全实时传输协议(secure real time transport protocol,srtp)和视频(video)业务也采用srtp,其中,sctp over dtls over udp采用安全证书校验机制,srtp采用安全密钥校验机制。
83.但是,如果ims数据通道使用的安全证书由终端或者ims数据通道应用自行生成或安装的话,网络侧就会失去对ims数据通道中通信内容的控制和监管能力,影响通信可靠性。
84.为了解决上述问题,本技术实施例提供一种基于ims数据通道的通信方法,该方法可以应用于通信系统,该通信系统可以用于实时音视频通信。图3为本技术实施例中的通信
系统的架构示意图,参见图3中实线所示,该通信系统300可以包括:终端301、密钥管理服务器(key management system,kms)302、证书管理服务器303以及应用服务器(application server,as)304。
85.其中,终端301中的第一终端可以用于向as 304发送加密票据(也可以记为第一加密票据)和第一应用的标识信息,加密票据和第一应用的标识信息用于证书管理服务器303验证第一应用;接收as 304发送的数据通道应用证书,数据通道应用证书为证书管理服务器303在对第一应用验证成功后发送;向终端301中的第二终端发送数据通道应用证书,数据通道应用证书用于第一应用与终端301中的第二终端的第二应用进行ims数据通道业务;
86.第二终端可以用于根据数据通道应用证书验证第一应用;如果对第一应用验证成功,则与第一终端之间建立ims数据通道;根据数据通道应用证书获得第一密钥,通过第一密钥与kms为第一应用分配的第二密钥的配合验证第一应用的数据通道应用证书,进而第一应用与第二应用在ims数据通道中与第一应用通信;如果对第一终端验证失败,则流程结束。
87.kms 302可以用于获得来自证书管理服务器303的加密票据和第一应用的标识信息;解密加密票据,获得加密票据中的应用标识;根据加密票据中的应用标识和来自证书管理服务器发送的第一应用的标识信息对所述第一应用进行验证;如果验证成功,则向证书管理服务器303发送第一密钥,第一密钥与kms 302为第一应用分配的第二密钥相匹配,第一密钥用于证书管理服务器303生成相应的数据通道应用证书(也可以记为第一数据通道应用证书),该数据通道应用证书可以用于第一应用与第二应用进行ims数据通道业务;
88.证书管理服务器303可以用于向as 304发送加密票据和第一应用的标识信息,加密票据和第一应用的标识信息用于kms 302对第一应用进行验证;接收第一密钥,第一密钥是由kms 302在对第一应用301验证成功后发送的;向as 304发送第一密钥对应的数据通道应用证书,数据通道应用证书用于第一应用与第二应用进行ims数据通道业务。
89.需要说明的是,本技术实施例中的第一终端和/或第二终端是一种具有无线通信功能的终端设备,可以部署在陆地上,包括室内或室外、手持、可穿戴或车载;也可以部署在水面上(如轮船等);还可以部署在空中(例如飞机、气球和卫星上等)。上述终端设备可以是手机(mobile phone)、平板电脑(pad)、带无线收发功能的电脑、虚拟现实(virtual reality,vr)终端装置、增强现实(augmented reality,ar)终端装置、工业控制(industrial control)中的无线终端、无人驾驶(self-driving)中的无线终端、远程医疗(remote medical)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等等。终端设备也可以是具有无线通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其它处理设备等。在不同的网络中终端装置可以叫做不同的名称,例如:终端装置、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置、蜂窝电话、无绳电话、会话启动协议(session initiation protocol,sip)电话、无线本地环路(wireless local loop,wll)站、个人数字处理(personal digital assistant,pda)、5g网络或未来演进网络中的终端设备等。在实际应用中,第一终端和第二终端中需安装浏览器应用,如此,第一终端与第二终端可以通过浏览器应用之间的ims数据通道实现实时音视
频交互。
90.上述kms可以部署于网络应用功能(network application function,naf)上,还可以在第三方服务器上。kms可以采用通用认证机制(generic bootstrapping architecture,gba)认证终端301,并在终端301认证通过后与终端301进行安全通信。例如,如果kms 302部署在naf上,终端301通过ua接口与naf连接,参见图3中虚线所示,终端301通过ub接口与自身所归属网络中的引导服务器功能(bootstrapping server function,bsf)305连接,kms 302通过zn接口与自身所归属网络中的bsf 305连接,上述bsf305通过zh接口与归属用户服务器(home subscriber server,hss)306连接。
91.在一些可能的实施方式中,仍参见图3中虚线所示,上述通信网络中还可以包括ims网络中的呼叫会话控制功能(call session control function,cscf)307。其中,终端301可以与cscf 307连接,cscf 307通过ims服务控制(ims service control,isc)接口与as 304连接,as 304与证书管理服务器303连接,终端301可以通过cscf 307以及as304发送消息给证书管理服务器303,其中,cscf 307与as 304之间通过标准会话初始协议(session initiation protocol,sip)进行交互。
92.在实际应用中,cscf可以分为p-cscf(代理cscf)和s-cscf(服务cscf)。
93.下面结合上述通信系统的结构来对本技术实施例提供的基于ims数据通道的通信方法进行说明。
94.图4为本技术实施例中的票据请求流程的示意图,参见图4所示,该方法可以包括:
95.s401:第一终端向kms请求密钥和票据(ticket);
96.当第一终端的第一应用,如直播应用、视频通话应用等需要与第二终端的第二应用进行ims数据通道通信时,首先,第一终端可以向kms发送request_init消息,以请求第一应用对应的密钥和票据。其中,在request_init消息中可以携带有第一应用的标识信息。
97.在一些可能的实施方式中,第一应用的标识信息可以唯一标识第一终端的第一应用,那么,第一应用的标识信息可以包括第一终端的终端标识,或者第一终端的终端标识和第一应用的应用标识。举例来说,如果在同一时间内第一终端中仅有一个应用(即第一应用)向kms请求密钥和票据,则request_init消息中可以携带有第一终端的终端标识(如#ue a);如果在同一时间内第一终端中存在包括第一应用在内的多个应用向kms请求密钥和票据,则request_init消息中可以携带有第一终端的终端标识(如#ue a)和多个应用中某一个应用(如第一应用)的应用标识(如#app a),或者,request_init消息中可以携带有第一终端的终端标识(如#ue a)和多个应用中各个应用的应用标识(如#app 1、#app 2、

、#app n等)。
98.在实际应用中,本技术实施例所说的终端标识可以为用于终端的设备标识,如国际移动用户识别码(international mobile subscriber identity,imsi)、国际移动设备识别码(international mobile equipment identity,imei)等,还可以为使用该终端的用户的用户标识,如互联网协议多媒体公共标识(ip multimedia public identity,impu);应用标识可以为应用标识(application identifier,aid)。当然,可以存在其他形式的标识,本技术实施例不做具体限定。
99.在一些可能的实施方式中,在s401之前,上述方法还可以包括:第一终端与kms采用gba建立通信通道。
100.首先,第一终端向bsf发起gba初始化请求;bsf从hss中获取第一终端的认证信息,生成共享密钥ks以及第一终端的事务标识;bsf将第一终端的认证信息和事务标识发送给第一终端,第一终端对其进行相应的处理后存储;第一终端携带事务标识向kms(即naf)发起认证请求;kms检查自身是否存储有效的密钥,如果没有,则携带事务标识向bsf请求ks,kms与第一终端对ks进行认证鉴权。在认证鉴权成功之后,第一终端获得ks。进一步地,第一终端根据ks推导出于第一终端访问kms的密钥ks_naf,后续第一终端与kms之间的通信可以采用ks_naf进行加密保护。
101.s402:kms为第一应用分配密钥a(即第二密钥)和加密票据a;
102.kms接收来自第一终端的request_init消息(携带第一应用的标识信息),并响应request_init消息,根据第一应用的标识信息为第一应用分配相应的密钥a和加密票据a。其中,加密票据a的加密机制只有kms知道。
103.这里,上述密钥a可以用于对第一应用与第二应用在ims数据通道中进行加密通信。可选的,密钥a可以为私钥。
104.上述加密票据a用于通信网络中的其他网元验证第一应用。可选的,加密票据a可以包括:第一应用的标识信息。
105.进一步地,为了提高可靠性,加密票据a还可以包括:密钥a的密钥索引。在一些可能的实施方式中,密钥a的密钥索引可以为密钥a本身,也可以为密钥a对应的密钥b(公钥),或者密钥a的标识等,当然,密钥索引还可以为其他形式,只要能够通过密钥a的密钥索引唯一确定出密钥a即可,本技术实施例不做具体限定。
106.s403:kms向第一终端发送密钥a和加密票据a。
107.kms向第一终端发送request_resp消息,并在request_resp消息中携带密钥a和加密票据a。
108.以上便是票据请求(ticket request)流程。
109.在一些可能的实施方式中,当第一应用需要与第二应用通过ims数据通道进行加密通信时,第一终端先要建立其与第二终端之间的ims数据通道,而在建立数据通道之前,第一终端需要先向证书管理服务器申请用于ims数据通道业务的数据通道应用证书。
110.那么,图5为本技术实施例中的证书请求流程的示意图,参见图5所示,在s401至s403之后,该方法可以包括:
111.s501:第一终端向as发送加密票据b和第一应用的标识信息;
112.第一终端可以向as发送sip消息,该sip消息中可以携带有加密票据b和第一应用的标识信息,然后,as再将加密票据b和第一应用的标识信息携带在超文本传输安全协议(hyper text transfer protocol over securesocket layer),https)消息中发送给证书管理服务器。可以理解的,由于第一终端还未经过验证,所以加密票据b可以与加密票据a相同(即第一应用合法),也可以与加密票据a不同(即第一应用非法)。
113.需要说明的是,在本技术实施例中,第一应用的标识信息均作为明文进行发送。
114.可选的,第一应用的标识信息可以包括:第一终端的终端标识,如第一终端的imsi;还可以包括第一应用的应用标识,如aid,此时,第一应用的标识信息可以为imsi和aid的组合。
115.需要说明的是,本技术实施例中所说的第一应用合法是指针对于第一应用与第二
应用之间的ims数据通道来说第一应用是合法的,第一应用可以通过ims数据通道与第二应用进行可靠地ims数据通道加密通信;同理,第一应用非法是指针对于第一应用与第二应用之间的ims数据通道来说第一应用是非法的,第一应用不能与第二应用进行ims数据通道加密通信,但是与此同时第一应用对于第一终端与第二终端之间的其他ims数据通道来说也可以是合法的。由此可见,对于不同的应用,其合法性是相对于ims数据通道来说的,这样,能够保证每个ims数据通道上的加密通信的可靠性。
116.在实际应用中,s501可以包括:第一终端向as发送证书请求,其中,as可以在转发给证书管理服务器的证书请求的字段中携带第一应用的标识信息,那么,第一终端可以省略发送第一应用的标识信息的步骤,也就是说,第一终端可以仅将加密票据b发送给as,as自行将加密票据b和第一应用的标识信息一起发送给证书管理服务器。在这种情况下,第一终端在ims网络中已注册。
117.具体地,第一终端可以将加密票据b先发送给s-cscf,再由s-cscf转发给as,as再将第一应用的标识信息(如第一终端的终端标识)以及加密票据b转发给证书管理服务器。
118.例如,第一终端可以通过如下message request消息将加密票据b发送给s-cscf:
119.message sip:as.home1.net sip/2.0
120.via:sip/2.0/udp[5555::aaa:bbb:ccc:ddd]:1357;comp=sigcomp;branch=z9hg4b-knashds7
[0121]
max-forwards:70
[0122]
route:《sip:pcscf1.visited1.net:7531;lr;comp=sigcomp》,《sip:orig@scscf1.home1.net;lr》
[0123]
p-preferred-identity:"john doe"《sip:user1_public1@home1.net》
[0124]
from:《sip:user1_public1@home1.net》;tag=171828
[0125]
to:《sip:as.home1.net.net》
[0126]
call-id:cb03a0s09a2sdfglkj490333
[0127]
cseq:666message
[0128]
content-type:application/vnd.3gpp.certificate//表示证书请求
[0129]
content-length:《length》
[0130]
ticket:ticket//从request_resp中解析出的加密票据b
[0131]
kms uri:kms.operator.example:1234//kms地址
[0132]
s502:as向证书管理服务器发送加密票据b和第一应用的标识信息;
[0133]
进一步地,第一终端还可以向as发送kms地址,as将kms地址转发给证书管理服务器,使得证书管理服务器能够基于kms地址与对应的kms通信。可选的,上述证书请求中还可以携带kms地址。
[0134]
s503:证书管理服务器向kms发送加密票据b和第一应用的标识信息;
[0135]
在一些可能的实施方式中,证书管理服务器可以根据第一终端发送的kms的地址,向对应的kms发送加密的票据b和第一应用的标识信息。
[0136]
在实际应用中,证书管理服务器向kms发送解密请求,该解密请求中可以携带有上述加密票据b和第一应用的标识信息。
[0137]
s504:kms解密加密票据b,获得加密票据b中的标识信息;
[0138]
这里,加密票据b中标识信息可以包括终端标识,或者终端标识和应用标识。可以理解的,由于加密票据b为待验证的票据,那么,该终端标识可以是第一终端的终端标识,也可以不是第一终端的终端标识;同理,加密票据b中的应用标识可以是第一应用的应用标识,也可以不是第一应用的应用标识。
[0139]
s505:kms根据加密票据b中的标识信息和第一应用的标识信息对第一应用进行验证,若对第一应用验证成功,执行s506,若对第一应用验证失败,则流程结束;
[0140]
kms解密加密票据b后,获得标识信息,如终端标识,然后,kms可以将该终端标识与证书管理服务器发送的第一应用的标识信息中的第一终端的终端标识进行匹配,以此来验证加密票据b中的终端标识与发送加密票据b的第一终端的终端标识是否是一致的,如果两者一致(或者相匹配),则表明对第一应用验证成功,即第一应用合法,反之,如果两者不一致(或者不匹配),则表明对第一应用验证失败,即第一应用非法。
[0141]
当然,kms解密加密票据b后,获得的标识信息还可以包括终端标识和应用标识,然后,kms分别将该终端标识和应用标识与第一应用的标识信息中的第一终端的终端标识和第一应用的应用标识进行匹配,以此来验证加密票据b中的终端标识与发送加密票据b的第一应用的标识信息是否是一致,如果两者一致(或者相匹配),则表明对第一应用验证成功,即第一应用合法,反之,如果两者不一致(或者不匹配),则表明对第一应用验证失败,即第一应用非法。
[0142]
在本技术实施例中,为了进一步提升通信的可靠性,加密票据b中还可以包括密钥索引,那么,s505可以包括:kms根据加密票据b中的标识信息、密钥索引和第一应用的标识信息对第一应用进行验证。
[0143]
kms首先将加密票据b中的标识信息与第一应用的标识信息进行匹配,如果两者一致(或者相匹配),kms将加密票据b中的密钥索引与在s402中为第一应用分配的密钥a进行匹配,例如,假设密钥索引为密钥本身,则将该密钥与密钥a进行比对,判断两者是否一致,或者,假设密钥索引为密钥对应的标识,则确定标识对应的密钥是否为密钥a。如果两者一致(或者相匹配),则表明对第一应用验证成功,即第一应用合法,反之,如果两者不一致(或者不匹配),则表明对第一应用验证失败,即第一应用非法。
[0144]
当然,加密票据b中还可以包含其他信息,本技术实施例对此不做具体限定。
[0145]
在一些可能的实施方式中,在s504之后,如果对第一应用验证失败,则kms认为第一应用是非法的,然后kms通知证书管理服务器,使得证书管理服务器拒绝第一终端的证书请求。
[0146]
s506:kms向证书管理服务器发送密钥b(即第一密钥);
[0147]
这里,密钥b与kms在s402为第一应用分配的密钥a相匹配,可以理解的,如果密钥a为私钥,密钥b可以为匹配的公钥。
[0148]
s507:证书管理服务器根据密钥b,生成数据通道应用证书;
[0149]
s508:证书管理服务器向as发送数据通道应用证书;
[0150]
s509:as向第一终端发送数据通道应用证书;
[0151]
证书管理服务器将生成的数据通道应用证书和第一应用的标识信息一起发送给as,as再将数据通道应用证书和第一应用的标识信息一起发送给第一终端,如此,第一终端就可以知道接收到的数据通道应用证书是分配给第一应用的,进而将该数据通道应用证书
与第一应用的标识信息关联保存。在实际应用中,as先将数据通道应用证书和第一应用的标识信息转发给s-cscf,再由s-cscf转发给第一终端。
[0152]
例如,as可以通过如下200(ok)response消息将数据通道应用证书转发给s-cscf:
[0153]
sip/2.0 200ok
[0154]
via:
[0155]
from:
[0156]
call-id:
[0157]
content-type:application/vnd.3gpp.certificate//表示证书响应
[0158]
content-length:《length》
[0159]
certificate:certificate//证书
[0160]
需要说明的是,在s508中,as在接收到来自证书管理服务器的数据通道应用证书之后,可以保存该数据通道应用证书及数据通道应用证书与应用的关联关系,以供后续判定是否允许第一应用与第二应用建立ims数据通道。
[0161]
s510:第一终端使用数据通道应用证书与第二终端的第二应用进行ims数据通道业务。
[0162]
需要说明的是,上述ims数据通道业务可以为:第一应用与第二应用之间与ims数据通道相关的一个或者多个业务,如验证第一应用、判定第一应用与第二应用之间是否允许建立ims数据通道、建立第一应用与第二应用之间的ims数据通道、第一应用与第二应用在ims数据通道上进行加密通信等,当然,还可以包括其他业务,本技术实施例不具体限定。
[0163]
示例性的,在s510中,第一终端在通过s507获得数据通道应用证书之后,可以将该数据通道应用证书发送给第二终端,第二终端在收到数据通道应用证书之后,可以根据密钥a和密钥b,对数据通道应用证书进行验证,并在验证通过后,与第一终端在ims数据通道上进行加密通信,以此来验证第一应用是否允许使用ims数据通道进行加密通信。如果对第一应用验证成功,第二终端确定第一应用是合法的,那么,第二终端与第一终端建立第一应用与第二应用之间的ims数据通道,并在该ims数据通道上进行加密通信,反之,如果对第一应用验证失败,第二终端确定第一应用是非法的,那么,第二终端可以拒绝与第一终端建立第一应用与第二应用之间的ims数据通道。
[0164]
至此,便完成了证书申请流程。
[0165]
举例来说,假设,在同一时间内,ue a(第一终端)的app1(第一应用)要与ue b(第二终端)的app2进行ims数据通道业务,这里,app1和app2可以为不同终端上的同一应用,那么,app1与app2的应用标识是相同的,即为#app1,例如,app1为视频通话应用,app2为同一个视频通话应用;或者,app1和app2还可以为不同终端上的相互匹配的应用,例如,app1为host端应用,而app2为client端应用,那么,app1和app2的应用标识可以具有至少相同的一部分,如app1的应用标识可以为#x-app1,app2的应用标识可以为#x-app2。下面以app1和app2具有相同应用标识#app1为例。
[0166]
第一步、ue a和ue b分别向kms申请密钥和加密票据。kms将密钥a(私钥)和加密票据a分配给了app1;
[0167]
第二步、ue a向as发送证书请求,其中,在证书请求中携带有加密票据a、kms地址以及app1的应用标识(#app 1);由于ue a在ims网络中已经注册,那么,as在收到证书请求
之后,将该证书请求转发给证书管理服务器,其中,在证书请求中携带有加密票据a、kms地址、ue的终端标识(#ue a)和#app 1;
[0168]
第三步、证书管理服务器在接收到证书请求之后,根据kms地址,向kms发送解析请求,请求kms解析加密票据a,其中,在解析请求中携带有加密票据a、#ue a和#app 1;
[0169]
第四步、kms在接收到解析请求之后,解析加密票据a,得到加密票据a中的#ue a和#app 1,然后,kms将加密票据a中的#ue a和#app 1分别与解析请求携带的#ue a和#app 1进行比对,两者一致,那么,kms将#ue a和#app 1对应的密钥b(即密钥a的公钥)发送给证书管理服务器;
[0170]
第五步、证书管理服务器可以根据密钥b生成第一应用对应的数据通道应用证书,再将第一应用对应的数据通道应用证书、#ue a和#app 1发送给as;
[0171]
第六步、as保存第一应用对应的数据通道应用证书、#ue a和#app 1,并转发给ue a;
[0172]
进一步地,对ue b同样执行上述第一步至第六步,as保存第二应用对应的数据通道应用证书、#ue b和#app 1,并转发给ue b。
[0173]
第七步、ue a将sdp offer或者sdp offer附着的sip消息message a发送给as,message a中携带有#ue a和#app 1;
[0174]
第八步、as从该message a中获得#ue a和#app 1,as根据#ue a和#app 1确定是否允许ue a在ims数据通道上传输app1的数据,如果允许,则as向ue b转发message a,并指示ue b允许ue a在ims数据通道上传输app1的数据;反之,如果禁止,则as向ue b转发message a 时,删除#app1。
[0175]
第九步、as接收来自ue b的sdp answer或者sdp answer附着的sip消息message b,#message b中携带有#ue b和#app1;然后,as在转发message b的同时,向ue a指示是否允许ue a在ims数据通道上传输app1的数据;进一步地,as为ue a的app1与ue b的app2建立ims数据通道;
[0176]
第十步、ue a根据指示,确定是否允许ue a在ims数据通道上传输app1的数据。如果允许,则ue a在ims数据通道上将加密后的app1的数据发送给ue b。
[0177]
第十一步、ue b通过解密获得app1的数据。
[0178]
在本技术实施例中,证书管理服务器向第一终端发放可靠的数据通道应用证书,并且ims网络能够获知该数据通道应用证书,避免第一终端手动安装/替换第三方(非通信网络提供)证书和使用不可靠的自签署证书,进而提供可靠地ims数据通道通信。
[0179]
在一些可能的实施例中,第一终端在通过上述s501至s510获得数据通道应用证书之后,可以使用该证书发起ims数据通道业务。在这个过程中,ims网络想要对第一终端和第二终端的ims数据通道业务进行监管,避免第一终端和第二终端绕过ims网络自行通信。那么,图6为本技术实施例中的ims数据通道的通信方法的流程示意图,参见图6所示,在上述s508之后,该方法可以包括:
[0180]
s601:as获得第一应用的数据通道应用证书;
[0181]
这里,通过s501至s508,证书管理服务器为第一应用分配数据通道应用证书,并经由as发送给第一终端,在此过程中,as保存第一应用的数据通道应用证书。
[0182]
s602:as获得第二应用的数据通道应用证书;
[0183]
这里,通过s501至s508,证书管理服务器为第二应用分配数据通道应用证书,并经由as发送给第二终端,在此过程中,as保存第二应用的数据通道应用证书。
[0184]
需要说明的是,第一应用的数据通道应用证书和/或第二应用的数据通道应用证书用于第一应用与第二应用进行ims数据通道业务的。
[0185]
s603:as在dtls握手过程中获得第一终端与第二终端交换的数据通道应用证书;
[0186]
这里,在dtls握手过程中,第一终端和第二终端会分别向as发送数据通道应用证书,以交换证书。此时,进行交换的数据通道应用证书可以为第一应用和第二应用通过s501至s510获得的数据通道应用证书,也可以为第三方(非通信网络)提供的数据通道应用证书。
[0187]
s604:as计算第一终端与第二终端交换的数据通道应用证书对应的第一指纹信息和第二指纹信息;
[0188]
as通过dtls过程获得第一终端与第二终端交换的数据通道应用证书,如来自第一终端的数据通道应用证书和来自第二终端的数据通道应用证书,然后,分别计算这两个证书的指纹信息,得到第一指纹信息和第二指纹信息。
[0189]
s605:as将第一指纹信息与第一应用的数据通道应用证书进行匹配,以及将第二指纹信息与第二应用的数据通道应用证书进行匹配;如果第一指纹信息与第一应用的数据通道应用证书匹配,且第二指纹信息与第二应用的数据通道应用证书匹配,则确认ims数据通道的使用者为合法用户,执行s606,如果第一指纹信息与第一应用的数据通道应用证书不匹配,和/或第二指纹信息与第二应用的数据通道应用证书不匹配,则执行s607;
[0190]
s606:as允许第一应用与第二应用建立ims数据通道;
[0191]
s607:as禁止第一应用与第二应用建立ims数据通道。
[0192]
进一步地,s605中as将指纹信息与数据通道应用证书进行匹配可以包括:as计算数据通道应用证书对应的指纹信息,然后将计算得到的指纹信息与dtls握手过程中交换的数据通道应用证书对应的指纹信息进行比对,判定两者是否一致,若两者一致,则表明两者匹配,反之,若两者不一致,则表明两者不匹配。
[0193]
需要说明的是,上述指纹信息可以为对数据通道应用证书计算得到的摘要信息。
[0194]
在本技术实施例中,第一终端发起ims数据通道业务时,ims网络可以通过检查dtls握手过程中交换的证书的指纹信息是否为证书管理服务器下发数据通道应用证书,以此来拒绝使用非ims网络生成的数据通道应用证书,进而在保证终端安全通信的同时,也使得通信ims网络能够对通信过程的可靠性进行监管。
[0195]
基于相同的发明构思,本技术实施例提供一种通信装置,该通信装置可以为证书管理服务器中的芯片或者片上系统,还可以为证书管理服务器中用于上述任一可能的实施方式所述的方法的功能模块。举例来说,图7为本技术实施例中的通信装置的一种结构示意图,参见图7所示,该通信装置700,包括:通信模块701,用于接收来自as的加密票据和第一应用的标识信息,第一应用的标识信息用于标识第一终端的第一应用;通信模块702,用于向kms发送加密票据和第一应用的标识信息,加密票据和第一应用的标识信息用于kms对第一应用进行验证;接收第一密钥,第一密钥是由kms在对第一应用验证成功后发送的;通信模块701,还用于向as发送第一密钥对应的数据通道应用证书,数据通道应用证书用于第一应用与第二终端的第二应用进行ims数据通道业务。
[0196]
在一些可能的实施方式中,通信模块701,还用于获得kms的地址;第二通信模块,还用于根据kms的地址,向kms发送加密票据和第一应用的标识信息。
[0197]
在另一些可能的实施方式中,通信模块701,还用于向as发送数据通道应用证书和第一应用的标识信息。
[0198]
在另一些可能的实施方式中,第一应用的标识信息包括:第一终端的终端标识;或者,第一终端的终端标识和第一应用的应用标识。
[0199]
在另一些可能的实施方式中,第一终端的终端标识包括:第一终端的设备标识或者使用第一终端的用户的用户标识。
[0200]
在另一些可能的实施方式中,加密票据包括:第一应用的标识信息。
[0201]
在另一些可能的实施方式中,加密票据还包括:第二密钥的密钥索引,第二密钥与第一密钥相匹配,第二密钥是由kms为第一应用分配的。
[0202]
基于相同的发明构思,本技术实施例提供一种通信装置,该通信装置可以为kms中的芯片或者片上系统,还可以为kms中用于实现上述任一可能的实施方式所述的方法的功能模块。举例来说,图8为本技术实施例中的通信装置的另一种结构示意图,参见图8所示,该通信装置800,可以包括:通信模块801,用于获得来自证书管理服务器的第一加密票据和第一应用的标识信息,第一应用的标识信息用于标识第一终端的第一应用;处理模块802,用于解密第一加密票据,获得第一加密票据中的标识信息;根据标识信息和第一应用的标识信息对第一应用进行验证;通信模块801,还用于如果对第一应用验证成功,则向证书管理服务器发送第一密钥,第一密钥与kms为第一应用分配的第二密钥相匹配,第一密钥用于证书管理服务器为第一应用生成数据通道应用证书,数据通道应用证书用于第一应用与第二终端的第二应用进行ims数据通道业务。
[0203]
在一些可能的实施方式中,处理模块802,用于判断标识信息与第一应用的标识信息是否匹配,其中,如果标识信息与第一应用的标识信息相匹配,则表明对第一应用验证成功,如果标识信息与第一应用的标识信息不匹配,则表明对第一应用验证失败。
[0204]
在另一些可能的实施方式中,第一加密票据还包括:密钥索引;第一处理模块,用于根据标识信息、密钥索引和第一应用的标识信息对第一应用进行验证。
[0205]
在另一些可能的实施方式中,处理模块802,用于判断标识信息与第一应用的标识信息是否匹配;如果标识信息与第一应用的标识信息相匹配,则判断密钥索引与第二密钥是否相匹配;其中,如果密钥索引与第二密钥相匹配,则表明对第一应用验证成功;如果密钥索引与第二密钥不匹配,则表明对第一应用验证失败。
[0206]
在另一些可能的实施方式中,仍参见图8所示,上述通信装置800还包括:通信模块803,用于在通信模块801获得来自证书管理服务器的第一加密票据和第一应用的标识信息之前,接收来自第一终端的密钥请求;处理模块802,还用于响应密钥请求,为第一应用分配第二密钥和第二加密票据,第二加密票据包括:第一应用的标识信息,或者第一应用的标识信息和第二密钥的密钥索引;通信模块803,还用于向第一终端发送第二密钥和第二加密票据。
[0207]
在另一些可能的实施方式中,第一应用的标识信息包括:第一终端的终端标识;或者,第一终端的终端标识和第一应用的应用标识。
[0208]
在另一些可能的实施方式中,第一终端的终端标识包括:第一终端的设备标识或
者使用第一终端的用户的用户标识。
[0209]
在另一些可能的实施方式中,通信模块803,还用于与第一终端采用gba建立通信通道。
[0210]
基于相同的发明构思,本技术实施例提供一种通信装置,该通信装置可以为第一终端中的芯片或者片上系统,还可以为第一终端中用于实现上述任一可能的实施方式所述的方法的功能模块。举例来说,图9为本技术实施例中的通信装置的又一种结构示意图,参见图9中实线所示,该通信装置900,包括:通信模块901,用于向as发送加密票据和第一应用的标识信息,第一应用的标识信息用于标识第一终端的第一应用;接收as发送的数据通道应用证书,数据通道应用证书为证书管理服务器在根据加密票据和第一应用的标识信息对第一应用验证成功后发送;通信模块902,用于根据数据通道应用证书与第二终端的第二应用进行ims数据通道业务。
[0211]
在一些可能的实施方式中,通信模块901,还用于向as发送kms的地址,kms的地址用于指示证书管理服务器与kms通信。
[0212]
在另一些可能的实施方式中,第一应用的标识信息包括:第一终端的终端标识;或者,第一终端的终端标识和第一应用的应用标识。
[0213]
在另一些可能的实施方式中,第一终端的终端标识包括:第一终端的设备标识或者使用第一终端的用户的用户标识。
[0214]
在另一些可能的实施方式中,参见图9中虚线所示,上述通信装置还可以包括:通信模块903,还用于在通信模块901向as发送加密票据和第一应用的标识信息之前,向kms请求密钥和票据;接收kms为第一应用分配的第二密钥和加密票据,加密票据包括:第一应用的标识信息,或者第一应用的标识信息和第二密钥的密钥索引。
[0215]
在另一些可能的实施方式中,通信模块903,还用于与kms采用gba建立通信通道。
[0216]
在另一些可能的实施方式中,数据通道应用证书为证书管理服务器根据第一密钥生成的,第一密钥与第二密钥相匹配;通信模块902,还用于当第二终端对第一应用验证成功时,通过第一密钥和第二密钥的配合验证数据通道应用证书。
[0217]
基于相同的发明构思,本技术实施例提供一种通信装置,该通信装置可以为as中的芯片或者片上系统,还可以为as中用于实现上述任一可能的实施方式所述的方法的功能模块。举例来说,仍参见图8所示,该通信装置,包括:通信模块801,用于接收来自第一终端的加密票据和第一应用的标识信息,第一应用的标识信息用于标识第一终端的第一应用;通信模块803,用于将加密票据和第一应用的标识信息发送给证书管理服务器;接收来自证书管理服务器的第一数据通道应用证书,第一数据通道应用证书为证书管理服务器为第一应用分配的,第一数据通道应用证书用于第一应用与第二终端的第二应用进行ims数据通道业务;处理模块802,用于保存第一数据通道应用证书;通信模块801,还用于将第一数据通道应用证书发送给第一终端。
[0218]
在一些可能的实施方式中,通信模块803,还用于接收证书管理服务器为第二应用分配的第二数据通道应用证书,第二数据通道应用证书用于第二应用与第一应用进行ims数据通道业务;第二处理模块,还用于保存第二数据通道应用证书;通信模块801,还用于将第二数据通道应用证书发送给第二终端。
[0219]
在另一些可能的实施方式中,通信模块801,还用于在dtls握手过程中获得来自第
一终端的数据通道应用证书和来自第二终端的数据通道应用证书;处理模块802,还用于将来自第一终端的数据通道应用证书与第一数据通道应用证书进行匹配;将来自第二终端的数据通道应用证书与第二数据通道应用证书进行匹配;如果来自第一终端的数据通道应用证书与第一数据通道应用证书匹配,且来自第二终端的数据通道应用证书与第二数据通道应用证书匹配,则允许第一应用与第二应用建立ims数据通道;如果来自第一终端的数据通道应用证书与第一数据通道应用证书不匹配,和/或来自第二终端的数据通道应用证书与第二数据通道应用证书不匹配,则禁止第一应用与第二应用建立ims数据通道。
[0220]
需要说明的是,上述通信模块701、通信模块702、通信模块801、通信模块803、通信模块901、通信模块902以及通信模块903可以为为收发电路、收发接口、收发器等;处理模块802可以为一个或者多个处理器。
[0221]
基于相同的发明构思,本技术实施例还提供一种终端、证书管理服务器、ksm以及as,与上述一个或者多个实施例中所述的终端、证书管理服务器、ksm或as一致。图10为本技术实施例中的通信设备的硬件示意图,参见图10所示,本技术实施例提供的通信设备1000,如终端、证书管理服务器、ksm以及as,都采用了通用的计算机硬件,包括处理器1001、存储器1002、总线1003、输入设备1004以及输出设备1005。
[0222]
在一些可能的实施方式中,存储器1002可以包括以易失性和/或非易失性存储器形式的计算机存储媒体,如只读存储器和/或随机存取存储器。存储器1002可以存储操作系统、应用程序、其他程序模块、可执行代码、程序数据、用户开户数据、用户订阅数据等。
[0223]
输入设备1004可以用于向通信设备1000输入命令和信息,输入设备1004如键盘或指向设备,如鼠标、轨迹球、触摸板、麦克风、操纵杆、游戏垫、卫星电视天线、扫描仪或类似设备。这些输入设备可以通过总线1003连接至处理器1001。
[0224]
输出设备1005可以用于通信设备1000输出信息,除了监视器之外,输出设备1005还可以为其他外围输出设备,如扬声器和/或打印设备,这些输出设备也可以通过总线1003连接到处理器1001。
[0225]
通信设备1000可以通过网络接口1006连接到网络中,例如连接到局域网(local area network,lan)。在联网环境下,通信设备1000中存储的计算机执行指令可以存储在远程存储设备中,而不限于在本地存储。
[0226]
当终端中的处理器1001执行存储器1002中存储的可执行代码或应用程序时,终端执行以上实施例中的终端一侧的方法步骤,例如执行s401、s501、s510等。具体执行过程参见上述实施例,在此不再赘述。
[0227]
当证书管理服务器中的处理器1001执行存储器1002中存储的可执行代码或应用程序时,终端执行以上实施例中的终端一侧的方法步骤,例如执行s503、s507、s508等。具体执行过程参见上述实施例,在此不再赘述。
[0228]
当kms中的处理器1001执行存储器1002中存储的可执行代码或应用程序时,终端执行以上实施例中的终端一侧的方法步骤,例如执行s402至s403、s504至s506等。具体执行过程参见上述实施例,在此不再赘述。
[0229]
当as中的处理器1001执行存储器1002中存储的可执行代码或应用程序时,终端执行以上实施例中的终端一侧的方法步骤,例如执行s503、s509、s601至s607等。具体执行过程参见上述实施例,在此不再赘述。
[0230]
此外,上述存储器1002中存储有用于实现图7至9中的通信模块701、通信模块702、通信模块801、通信模块803、通信模块901、通信模块902、通信模块903以及处理模块802的功能的计算机执行指令。图7至9中的通信模块701、通信模块702、通信模块801、通信模块803、通信模块901、通信模块902、通信模块903以及处理模块802的功能/实现过程均可以通过图10中的处理器1001调用存储器1002中存储的计算机执行指令来实现,具体实现过程和功能参考上述相关实施例。
[0231]
基于相同的发明构思,本技术实施例提供一种通信系统,该通信系统为上述图1所示通信系统的网络侧,可以包括:证书管理服务器、kms以及as;其中,证书管理服务器、kms和/或as,分别被配置为执行如上述任一可能的实施方式所述的基于ims数据通道的通信方法。
[0232]
基于相同的发明构思,本技术实施例提供一种计算机可读存储介质,计算机可读存储介质存储有指令,当指令在计算机上运行时,用于执行如上述实施例及其任一可能的实施方式所述的基于ims数据通道的通信方法。
[0233]
基于相同的发明构思,本技术实施例提供一种计算机程序或计算机程序产品,当计算机程序或计算机程序产品在计算机上被执行时,使得计算机实现如上述实施例及其任一可能的实施方式所述的基于ims数据通道的通信方法。
[0234]
本领域技术人员能够领会,结合本文公开描述的各种说明性逻辑框、模块和算法步骤所描述的功能可以硬件、软件、固件或其任何组合来实施。如果以软件来实施,那么各种说明性逻辑框、模块、和步骤描述的功能可作为一或多个指令或代码在计算机可读媒体上存储或传输,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于有形媒体,例如数据存储媒体,或包括任何促进将计算机程序从一处传送到另一处的媒体(例如,根据通信协议)的通信媒体。以此方式,计算机可读媒体大体上可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)通信媒体,例如信号或载波。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索用于实施本技术中描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
[0235]
作为实例而非限制,此类计算机可读存储媒体可包括ram、rom、eeprom、cd-rom或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用来存储指令或数据结构的形式的所要程序代码并且可由计算机存取的任何其它媒体。并且,任何连接被恰当地称作计算机可读媒体。举例来说,如果使用同轴缆线、光纤缆线、双绞线、数字订户线(dsl)或例如红外线、无线电和微波等无线技术从网站、服务器或其它远程源传输指令,那么同轴缆线、光纤缆线、双绞线、dsl或例如红外线、无线电和微波等无线技术包含在媒体的定义中。但是,应理解,所述计算机可读存储媒体和数据存储媒体并不包括连接、载波、信号或其它暂时媒体,而是实际上针对于非暂时性有形存储媒体。如本文中所使用,磁盘和光盘包含压缩光盘(cd)、激光光盘、光学光盘、数字多功能光盘(dvd)和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。以上各项的组合也应包含在计算机可读媒体的范围内。
[0236]
可通过例如一或多个数字信号处理器(dsp)、通用微处理器、专用集成电路(asic)、现场可编程逻辑阵列(fpga)或其它等效集成或离散逻辑电路等一或多个处理器来执行指令。因此,如本文中所使用的术语“处理器”可指前述结构或适合于实施本文中所描
述的技术的任一其它结构中的任一者。另外,在一些方面中,本文中所描述的各种说明性逻辑框、模块、和步骤所描述的功能可以提供于经配置以用于编码和解码的专用硬件和/或软件模块内,或者并入在组合编解码器中。而且,所述技术可完全实施于一或多个电路或逻辑元件中。
[0237]
本技术的技术可在各种各样的装置或设备中实施,包含无线手持机、集成电路(ic)或一组ic(例如,芯片组)。本技术中描述各种组件、模块或单元是为了强调用于执行所揭示的技术的装置的功能方面,但未必需要由不同硬件单元实现。实际上,如上文所描述,各种单元可结合合适的软件和/或固件组合在编码解码器硬件单元中,或者通过互操作硬件单元(包含如上文所描述的一或多个处理器)来提供。
[0238]
在上述实施例中,对各个实施例的描述各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0239]
以上所述,仅为本技术示例性的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应该以权利要求的保护范围为准。
再多了解一些

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

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

相关文献