一种通信安全校验方法及其装置制造方法

文档序号:7805697阅读:113来源:国知局
一种通信安全校验方法及其装置制造方法
【专利摘要】本发明实施例公开了一种通信安全校验方法,包括:客户端生成客户端令牌Token,并将所述客户端Token发送给所述服务器;所述客户端接收所述服务器返回的验证消息;其中,所述验证消息中携带有所述客户端Token,以及所述服务器生成的服务器Token,所述服务器Token用于唯一标识所述服务器发送的消息;所述客户端对所述验证消息中携带的客户端Token进行校验,并当校验通过后,向所述服务器返回携带有所述服务器Token的第一确认消息;当所述客户端接收到所述服务器返回的第二确认消息时,确认与该服务器之间的通信安全。本发明实施例还公开了一种客户端和服务器。采用本发明,可以提高通信安全性。
【专利说明】一种通信安全校验方法及其装置
【技术领域】
[0001]本发明涉及通信【技术领域】,尤其涉及一种通信安全校验方法及其装置。
【背景技术】
[0002]移动化时代,云端控制单个App (应用)的应用场景非常普遍。该应用场景中,消息推送本质上就是以轮询方式不断请求服务器,但对于移动设备来说,若每个应用都有各自的轮询框架,则会非常耗电,针对该问题,Google公司研发了统一的消息推送平台GCM(Google Cloud Messaging,谷歌云消息推送)平台,可以为所有应用提供统一的消息推送服务。
[0003]现有基于GCM平台的消息推送技术中,客户端向GCM平台申请RegID (Registrat1n IDentity,注册标识)后,向服务器上报该RegID。服务器直接根据该RegID控制客户端,在该过程中,服务器和客户端不会做安全校验处理,安全性较低。

【发明内容】

[0004]本发明实施例所要解决的技术问题在于,提供一种通信安全校验方法及其装置,提高通信安全性。
[0005]为了解决上述技术问题,本发明实施例提供了一种通信安全校验方法,应用于包括谷歌云消息推送GCM平台、客户端,以及服务器的系统,该方法包括:
[0006]客户端生成客户端令牌Token,并将所述客户端Token发送给服务器;其中,所述客户端Token用于唯一标识所述客户端发送的消息;
[0007]所述客户端接收所述服务器返回的验证消息;其中,所述验证消息中携带有所述客户端Token,以及所述服务器生成的服务器Token,所述服务器Token用于唯一标识所述服务器发送的消息;
[0008]所述客户端对所述验证消息中携带的客户端Token进行校验,并当校验通过后,向所述服务器返回携带有所述服务器Token的第一确认消息;
[0009]当所述客户端接收到所述服务器返回的第二确认消息时,确认与所述服务器之间的通信安全;其中,所述第二确认消息是所述服务器在接收到所述第一确认消息时,对所述服务器Token校验通过后发送的。
[0010]其中,所述客户端将所述客户端Token发送给服务器之前,还包括:
[0011]所述客户端向所述GCM平台发送用于申请注册标识RegID的消息,并接收所述GCM平台返回的RegID。
[0012]其中,所述客户端将所述客户端Token发送给所述服务器,具体包括:
[0013]所述客户端将所述客户端Token携带在向服务器上报RegID的消息中发送给所述服务器。
[0014]其中,该方法还包括:
[0015]当所述客户端对所述验证消息中的客户端Token校验不通过,或,在预设时间内未接收到所述服务器返回的第二确认消息时,确认通信不安全。
[0016]其中,所述客户端生成客户端Token后,存储所述客户端Token ;
[0017]所述客户端对所述验证消息中携带的客户端Token进行校验,具体包括:
[0018]所述客户端获取所述验证消息中携带的客户端Token,并与自身存储的客户端Token进行比较,若二者相同,则确认校验通过;否则,确认校验不通过。
[0019]其中,所述客户端生成客户端Token,具体包括:
[0020]所述客户端根据预设规则和参数生成客户端Token ;
[0021]所述客户端对所述验证消息中携带的客户端Token进行校验,具体包括:
[0022]当所述客户端接收到所述服务器返回的验证消息时,所述客户端根据所述预设规则和参数再次生成客户端Token,并将该客户端Token与所述验证消息中携带的客户端Token进行比较,若二者相同,则确认校验通过;否则,确认校验不通过。
[0023]其中,所述预设参数包括以下之一或多个:
[0024]所述客户端的国际移动设备识别码ME1、媒体访问控制MAC地址、系统版本号。
[0025]其中,所述客户端对所述验证消息中携带的客户端Token校验通过后,还包括:
[0026]所述客户端在所述第一确认消息携带业务请求信息,以使所述服务器对所述第一确认消息中携带的服务器Token校验通过后,根据所述业务请求信息进行相应的业务处理。
[0027]其中,所述客户端确认与所述服务器之间的通信安全之后,还包括:
[0028]所述客户端向所述服务器发送业务请求信息,以使所述服务器根据所述业务请求信息进行相应的业务。
[0029]其中,所述业务请求信息包括:
[0030]注册请求信息、数据访问请求信息、数据上传请求信息、或数据下载请求信息。
[0031]本发明实施例还提供了一种通信安全校验方法,应用于包括谷歌云消息推送GCM平台、客户端,以及服务器的系统,该方法包括:
[0032]服务器接收客户端发送的客户端令牌Token;其中,所述客户端Token用于唯一标识所述客户端发送的消息;
[0033]所述服务器生成服务器Token,并向所述客户端发送携带所述客户端Token以及服务器Token的验证消息;其中,所述服务器Token用于唯一标识所述服务器发送的消息;
[0034]当所述服务器接收到所述客户端返回的第一确认消息时,所述服务器对所述第一确认消息中携带的服务器Token进行校验,并当校验通过后,确认与所述客户端之间的通信安全,并向所述客户端返回第二确认消息;其中,所述第一确认消息是所述客户端在接收到所述验证消息时,对所述客户端Token校验通过后发送的。
[0035]其中,所述服务器接收客户端发送的客户端令牌Token,具体包括:
[0036]所述服务器接收所述客户端发送的上报注册标识RegID的消息,该消息中携带有所述客户端Token。
[0037]其中,所述服务器生成服务器Token后,存储所述服务器Token ;
[0038]所述服务器对所述第一确认消息中携带的服务器Token进行校验,具体包括:
[0039]所述服务器获取所述第一确认消息中携带的服务器Token,并与自身存储的服务器Token进行比较,则确认校验通过;否则,确认校验不通过。[0040]其中,所述服务器生成服务器Token,具体包括:
[0041 ] 所述服务器根据预设规则和参数生成服务器Token ;
[0042]所述服务器对所述第一确认消息中携带的服务器Token进行校验,具体包括:
[0043]当所述服务器接收到所述客户端返回的第一确认消息时,根据所述预设规则和参数再次生成服务器Token,并将该服务器Token与所述第一确认消息中携带的服务器Token进行比较,若二者相同,则确认校验通过;否则,确认校验不通过。
[0044]其中,所述预设参数包括以下之一或多个:
[0045]所述服务器的媒体访问控制MAC地址、当前时间戳信息、所述客户端上报的注册标识RegID。
[0046]其中,当所述服务器Token中包含有时间戳信息时;
[0047]所述服务器对所述第一确认消息中携带的服务器Token进行校验,具体包括:
[0048]当所述服务器确定接收到所述第一确认消息的时间,与所述时间戳信息对应的时间之间的差值未超过阈值时,对所述第一确认消息中携带的服务器Token进行校验;否则,确认校验不通过。
[0049]其中,该方法还包括:
[0050]当所述服务器在预设时间内未接收到所述客户端返回的第一确认消息,或,对所述第一确认消息中携带的服务器Token校验不通过时,确认通信不安全。
[0051]其中,当所述第一确认消息中还携带有业务请求信息时,所述服务器对所述第一确认消息中携带的服务器Token校验通过后,还包括:
[0052]所述服务器根据所述业务请求信息进行相应的业务处理。
[0053]其中,所述服务器向所述客户端返回第二确认消息之后,还包括:
[0054]所述服务器接收所述客户端发送的业务请求信息,并根据所述业务请求信息进行相应的业务处理。
[0055]其中,所述业务请求信息包括:
[0056]注册请求信息、数据访问请求信息、数据上传请求信息、或数据下载请求信息。
[0057]相应地,本发明实施例还提供了一种客户端,应用于包括谷歌云消息推送GCM平台以及服务器的系统,所述客户端包括:
[0058]生成模块,用于生成客户端令牌Token ;其中,所述客户端Token用于唯一标识所述客户端发送的消息;
[0059]发送模块,用于将所述客户端Token发送给所述服务器;
[0060]接收模块,用于接收所述服务器返回的验证消息;其中,所述验证消息中携带有所述客户端Token,以及所述服务器生成的服务器Token,所述服务器Token用于唯一标识所述服务器发送的消息;
[0061]校验模块,用于对所述验证消息中携带的客户端Token进行校验,并当校验通过后,通过所述发送模块向所述服务器返回携带有所述服务器Token的第一确认消息;
[0062]确认模块,用于当所述客户端接收到所述服务器返回的第二确认消息时,确认与所述服务器之间的通信安全;其中,所述第二确认消息是所述服务器在接收到所述第一确认消息时,对所述服务器Token校验通过后发送的。
[0063]其中,还包括:[0064]获取模块,用于向所述GCM平台发送用于申请注册标注RegID的消息,并接收所述GCM平台返回的RegID。
[0065]其中,所述发送模块具体用于,将所述客户端Token携带在向服务器上报RegID的消息中发送给所述服务器。
[0066]其中,所述确认模块还用于,当所述校验模块对所述验证消息中的客户端Token校验不通过,或,所述客户端在预设时间内未接收到所述服务器返回的第二确认消息时,确认通信不安全。
[0067]其中,所述客户端还包括:
[0068]存储模块,用于存储所述生成模块生成的客户端Token ;
[0069]所述校验模块具体用于,获取所述验证消息中携带的客户端Token,并与所述存储模块存储的客户端Token进行比较,若二者相同,则确认校验通过;否则,确认校验不通过。
[0070]其中,所述生成模块具体用于,根据预设规则和参数生成客户端Token ;
[0071]所述生成模块还用于,当所述接收模块接收到所述服务器返回的验证消息时,根据所述预设规则和参数再次生成客户端Token ;
[0072]所述校验模块具体用于,将所述生成模块再次生成的客户端Token与所述验证消息中携带的客户端Token进行比较,若二者相同,则确认校验通过;否则,确认校验不通过。
[0073]其中,所述预设参数包括以下之一或多个:
[0074]所述客户端的国际移动设备识别码ME1、媒体访问控制MAC地址、系统版本号。
[0075]其中,所述发送模块还用于,在所述第一确认消息中携带业务请求信息,以使所述服务器对所述第一确认消息中携带的服务器Token校验通过后,根据所述业务请求信息进行相应的业务处理。
[0076]其中,所述发送模块还用于,向所述服务器发送业务请求信息,以使所述服务器根据所述业务请求信息进行相应的业务。
[0077]其中,所述业务请求信息包括:
[0078]注册请求信息、数据访问请求信息、数据上传请求信息、或数据下载请求信息。
[0079]相应地,本发明实施例还提供了一种服务器,应用于包括谷歌云消息推送GCM平台、以及客户端的系统,所述服务器包括:
[0080]接收模块,用于接收客户端发送的客户端令牌Token ;其中,所述客户端Token用于唯一标识所述客户端发送的消息;
[0081]生成模块,用于生成服务器Token ;其中,所述服务器Token用于唯一标识所述服务器发送的消息;
[0082]发送模块,用于向所述客户端发送携带所述客户端Token以及服务器Token的验证消息;
[0083]校验模块,用于当所述服务器接收到所述客户端返回的第一确认消息时,对所述第一确认消息中携带的服务器Token进行校验,并当校验通过后,通过所述发送模块向所述客户端返回第二确认消息;其中,所述第一确认消息是所述客户端在接收到所述验证消息时,对所述客户端Token校验通过后发送的;
[0084]确认模块,用于当所述校验模块校验通过后,确认与所述客户端之间的通信安全。
[0085]其中,所述接收模块具体用于,接收所述客户端发送的上报注册标识RegID的消息,该消息中携带有所述客户端Token。
[0086]其中,所述服务器还包括:
[0087]存储模块,用于存储所述服务器Token ;
[0088]所述校验模块具体用于,获取所述第一确认消息中携带的服务器Token,并与所述存储模块存储的服务器Token进行比较,则确认校验通过;否则,确认校验不通过。
[0089]其中,所述生成模块具体用于,根据预设规则和参数生成服务器Token ;
[0090]所述生成模块还用于,当所述接收模块接收到所述客户端返回的第一确认消息时,根据所述预设规则和参数再次生成服务器Token ;
[0091]所述校验模块具体用于,将所述生成模块再次生成的服务器Token与所述第一确认消息中携带的服务器Token进行比较,若二者相同,则确认校验通过;否则,确认校验不通过。
[0092]其中,所述预设参数包括以下之一或多个:
[0093]所述服务器的媒体访问控制MAC地址、当前时间戳信息、所述客户端上报的注册标识RegID。
[0094]其中,当所述服务器Token中包含有时间戳信息时;
[0095]所述校验模块具体用于,当确定接收到所述第一确认消息的时间,与所述时间戳信息对应的时间之间的差值未超过阈值时,对所述第一确认消息中携带的服务器Token进行校验;否则,确认校验不通过。
[0096]其中,所述确认模块还用于,当所述服务器在预设时间内未接收到所述客户端返回的第一确认消息,或,所述检验模块对所述第一确认消息中携带的服务器Token校验不通过时,确认通信不安全。
[0097]其中,还包括:
[0098]第一处理模块,用于当所述第一确认消息中还携带有业务请求信息时,根据所述业务请求信息进行相应的业务处理。
[0099]其中,所述接收模块还用于,接收客户端发送的业务请求信息;
[0100]所述服务器还包括:
[0101]第二处理模块,用于根据所述业务请求信息进行相应的业务处理。
[0102]其中,所述业务请求信息包括:
[0103]注册请求信息、数据访问请求信息、数据上传请求信息、或数据下载请求信息。
[0104]实施本发明实施例,具有如下有益效果:
[0105]客户端和服务器通过生成客户端Token和服务器Token,并在交互消息中携带该客户端Token和服务器Token,根据该客户端Token和服务器Token互相校验,实现了通信双方的安全校验,提高了通信安全性。
【专利附图】

【附图说明】
[0106]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。[0107]图1为本发明实施例提供的一种通信安全校验方法的流程示意图;
[0108]图2为本发明实施例提供的另一种通信安全校验方法的流程示意图;
[0109]图3为本发明实施例提供的另一种通信安全校验方法的流程示意图;
[0110]图4为本发明实施例提供的一种客户端的结构示意图;
[0111]图5为本发明实施例提供的另一种客户端的结构示意图;
[0112]图6为本发明实施例提供的另一种客户端的结构示意图;
[0113]图7为本发明实施例提供的另一种客户端的结构示意图;
[0114]图8为本发明实施例提供的一种服务器的结构示意图;
[0115]图9为本发明实施例提供的另一种服务器的结构示意图;
[0116]图10为本发明实施例提供的另一种服务器的结构示意图;
[0117]图11为本发明实施例提供的另一种服务器的结构示意图;
[0118]图12为本发明实施例提供的另一种服务器的结构示意图。
【具体实施方式】
[0119]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0120]如图1所示,为本发明实施例提供的一种通信安全校验方法的流程示意图,该方法可以应用于包括GCM平台、客户端,以及服务器的系统,该方法可以包括以下步骤:
[0121]步骤101、客户端生成客户端Token,并将该客户端Token发送给服务器。
[0122]具体的,在基于GCM平台的统一消息推送系统中,客户端可以向GCM平台发送用于申请RegID的消息,并接收该GCM平台返回的RegID。客户端申请到RegID后,需要将该RegID上报给服务器。
[0123]在本发明实施例中,客户端生成客户端Token(令牌)后,可以通过将该客户端Token携带在向服务器上报RegID的消息中发送给服务器,也可以通过单独的消息发送给服务器。其中,该客户端Token由客户端生成,用于唯一标识该客户端发送的消息。
[0124]其中,客户端Token可以是客户端根据预设规则和参数生成的唯一字符串标识,该预设参数可以包括客户端的机型信息,如IMEI(Internat1nal Mobile EquipmentIdentity,国际移动设备识别码),系统版本等信息,或客户端的MAC (Media AccessControl,媒体访问控制)地址等信息中的一个或多个;该预设规则可以为hash算法、或其他加密算法,其具体生成过程在此不再赘述。
[0125]需要注意的是,客户端向GCM平台申请RegID,以及客户端生成客户端Token之间并不存在必然的时序关系,即客户端可以先向GCM平台申请RegID,并在获取到RegID后,生成客户端Token,也可以先生成客户端Token,并在生成客户端Token后向GCM平台申请RegID, 二者的执行顺序并不影响本发明的保护范围。
[0126]步骤102、客户端接收服务器返回的验证消息。
[0127]具体的,在本发明实施例中,服务器接收到客户端发送的客户端Token时,通过GCM平台向客户端返回携带该客户端Token,以及服务器生成的服务器Token的验证消息。其中,服务器Token由服务器生成,用于唯一标识该服务器发送的消息。
[0128]其中,服务器Token可以为服务器根据预设的规则和参数生成的唯一字符串标识,该预设参数可以为客户端的RegID、服务器的MAC地址以及时间戳等信息中的一个或多个,该预设规则可以为hash算法、或其他加密算法,其具体生成过程在此不再赘述。
[0129]步骤103、客户端对该验证消息中携带的客户端Token进行校验,并当校验通过后,向服务器返回携带有该服务器Token的第一确认消息。
[0130]具体的,在本发明实施例中,当客户端接收到服务器(通过GCM平台)返回的验证消息时,可以对该验证消息中携带的客户端Token进行校验,其具体校验方式至少包括但不限于以下方式:
[0131]方式一、客户端在生成客户端Token后,可以存储该客户端Token,当客户端接收到服务器返回的验证消息时,客户端获取该验证消息中携带的客户端Token,并与自身存储的客户端Token进行比较,若二者相同,则确认校验通过,否则,确定校验不通过。
[0132]方式二、客户端接收到服务器返回的验证消息,并获取该验证消息中携带的客户端Token后,可以根据预设规则和参数再次生成客户端Token,并将该新生成的客户端Token与验证消息中携带的客户端Token进行比较,若二者相同,则确认校验通过,否则,确认校验不通过。
[0133]当客户端对验证消息中携带的客户端Token校验通过时,向服务器返回携带有上述服务器Token的第一确认消息;当客户端对验证消息中携带的客户端Token校验不通过时,则确认通信不安全,此时,客户端可以直接丢弃该验证消息,或者,不对该验证消息进行处理和响应。
[0134]此外,若客户端向服务器发送携带有客户端Token的上报RegID的消息后,在预设时间内未接收到服务器返回的验证消息,则客户端确认通信不安全。
[0135]步骤104、当客户端接收到服务器返回的第二确认消息时,确认与该服务器之间的通信安全;其中,该第二确认消息是服务器在接收到所述第一确认消息时,对服务器Token校验通过后发送的。
[0136]具体的,在本发明实施例中,服务器接收到客户端发送的第一确认消息后,对该第一确认消息中携带的服务器Token进行校验,若校验通过,则确认与该客户端之间的通信安全,并向客户端返回第二确认消息;若校验不通过,则确认与该客户端之间的通信不安全,不向客户端返回第二确认消息。
[0137]当客户端接收到服务器返回的第二确认消息时,确认与该服务器之间的通信安全。
[0138]进一步地,在本发明实施例的一种实现方案中,客户端对验证消息中携带的客户端Token校验通过后,可以在向服务器发送的第一确认消息中携带业务请求信息,如,注册请求信息、数据访问请求信息、数据上传请求信息、或数据下载请求信息,以使服务器对该第一确认消息中携带的服务器Token校验通过后,根据该业务请求进行相应的业务处理。
[0139]在另一实现方案中,客户端可以在确认与服务器之前的通信安全之后,向服务器发送业务请求信息,如,注册请求信息、数据访问请求信息、数据上传请求信息、或数据下载请求信息,以使服务器根据该业务请求信息进行相应的业务。
[0140]如图2所示,为本发明实施例提供的另一种通信安全校验方法的流程示意图,该方法可以应用于包括GCM平台、客户端,以及服务器的系统,该方法可以包括以下步骤:
[0141]步骤201、服务器接收客户端发送的客户端Token。
[0142]具体的,在基于GCM平台的统一消息推送系统中,客户端可以向GCM平台发送用于申请RegID的消息,并接收该GCM平台返回的RegID。客户端申请到RegID后,需要将该RegID上报给服务器。
[0143]在本发明实施例中,客户端生成客户端Token(令牌)后,可以通过将该客户端Token携带在向服务器上报RegID的消息中发送给服务器,也可以通过单独的消息发送给服务器。其中,该客户端Token由客户端生成,用于唯一标识该客户端发送的消息。
[0144]步骤202、服务器生成服务器Token,并向客户端发送携带客户端Token以及服务器Token的验证消息。
[0145]具体的,在本发明实施例中,服务器接收到客户端发送的客户端Token时,通过GCM平台向客户端返回携带有该客户端Token,以及服务器生成的服务器Token的验证消
肩、O
[0146]其中,该服务器Token可以为服务器根据预设的规则和参数生成的唯一字符串标识,该预设参数可以为客户端的RegID、服务器的MAC地址以及时间戳等信息中的一个或多个,该预设规则可以为hash算法、或其他加密算法,其具体生成过程在此不再赘述。
[0147]需要注意的是,服务器接收客户端发送的客户端Token,以及服务器生成服务器Token之间并不存在必然的时序关系,即服务器可以在接收到客户端发送的客户端Token之前,生成服务器Token,也可以在接收到客户端发送的客户端Token之后,生成服务器Token, 二者的执行顺序并不影响本发明的保护范围。
[0148]步骤203、当服务器接收到客户端返回的第一确认消息时,服务器对该第一确认消息中携带的服务器Token进行校验,并当校验通过后,确认与该客户端之间的通信安全,并向客户端返回第二确认消息。
[0149]具体的,在本发明实施例中,当客户端接收到服务器(通过GCM平台)返回的验证消息时,对该验证消息中携带的客户端Token进行校验,并当校验通过后,向服务器返回携带有服务器Token的第一确认消息。
[0150]服务器接收到客户端返回的第一确认消息时,对该第一确认消息中携带的服务器Token进行校验,其具体校验方法至少可以包括但不限于以下方式:
[0151]方式一、服务器在生成服务器Token后,可以存储该服务器Token,当服务器接收到客户端返回的第一确认消息时,服务器获取该第一确认消息中携带的服务器Token,并与自身存储的服务器Token进行比较,若二者相同,则确认校验通过,否则,确定校验不通过。
[0152]方式二、服务器接收到客户端返回的第一确认消息,并获取该第一确认消息中携带的服务器Token后,可以根据预设规则和参数再次生成服务器Token,并将该新生成的服务器Token与第一确认消息中携带的服务器Token进行比较,若二者相同,则确认校验通过,否则,确认校验不通过。
[0153]进一步地,在本发明实施例中,当服务器生成的服务器Token中包含有时间戳信息时,服务器对第一确认消息中携带的服务器Token进行校验时,可以确定接收到该第一确认消息的时间,与时间戳信息对应的时间之间的差值是否超过阈值(可以预先设定):若未超过阈值,则对该第一确认消息中携带的服务器Token进行校验(其具体校验方式可以如上所描述);若超过阈值,则认为该服务器Token已过期,确认校验不通过。
[0154]服务器对第一确认消息中的服务器Token校验通过后,确认与该客户端之间的通信安全,并向客户端返回第二确认消息;当服务器对第一确认消息中的服务器Token校验不通过时,确认通信不安全,不向客户端返回第二确认消息。
[0155]此外,若服务器向客户端发送验证消息后,未在预设时间内接收到客户端返回的第一确认消息,则确认通信不安全。
[0156]客户端接收到服务器返回的第二确认消息后,确认与该服务器之间的通信安全。
[0157]进一步地,在本发明实施例的一种实现方案中,客户端向服务器发送的第一确认消息中还可以携带有业务请求信息,如,注册请求信息、数据访问请求信息、数据上传请求信息、或数据下载请求信息。相应地,服务器接收到该第一确认消息,并对该第一确认消息中携带的服务器Token校验通过后,可以根据该第一确认消息中携带的业务请求信息进行相应的业务处理。
[0158]在另一实现方案中,客户端可以在确认与服务器之间的通信安全之后,向服务器发送业务请求信息,如,注册请求信息、数据访问请求信息、数据上传请求信息、或数据下载请求信息。相应地,服务器接收到该业务请求信息后,可以根据该业务请求信息进行相应的业务处理。
[0159]为了使本领域技术人员更好地理解本发明实施例提供的技术方案,下面结合具体的应用场景对本发明实施例提供的技术方案进行描述。
[0160]在该实施例中,以客户端向服务器进行注册为例进行描述。
[0161]如图3所示,为本发明实施例提供的一种通信安全校验方法的流程示意图,该方法可以应用于包括GCM平台、客户端,以及服务器的系统,该方法包括以下步骤:
[0162]步骤301、客户端向GCM平台申请RegID,并生成客户端Token。
[0163]步骤302、客户端将RegID和客户端Token上报给服务器。
[0164]步骤303、服务器生成服务器Token,并通过GCM平台向客户端发送携带有该客户端Token和服务器Token的验证消息。
[0165]步骤304、客户端对验证消息中携带的客户端Token进行校验,并当校验通过后,向服务器返回携带有服务器Token以及注册信息的第一确认消息。
[0166]步骤305、服务器对第一确认消息中携带的服务器Token进行校验,并当校验通过后,根据该第一确认消息中携带的注册信息进行注册处理。
[0167]其中,服务器对服务器Token校验通过后,根据注册信息进行注册处理与现有技术中服务器根据客户端上报的注册信息进行的具体处理相同,其具体实现在此不再赘述。
[0168]步骤306、服务器向客户端返回注册结果。
[0169]通过以上描述可知,在本发明实施例提供的技术方案中,客户端和服务器通过生成客户端Token和服务器Token,并在交互消息中携带该客户端Token和服务器Token,根据该客户端Token和服务器Token互相校验,实现了通信双方的安全校验,提高了通信安全性。
[0170]基于上述方法实施例系统的技术构思,本发明实施例还提供了一种客户端,可以应用到上述方法实施例中。
[0171]如图4所示,为本发明实施例提供的一种客户端的结构示意图,该客户端可以应用于包括GCM平台以及服务器的系统,该客户端可以包括:
[0172]生成模块41,用于生成客户端令牌Token ;其中,所述客户端Token用于唯一标识所述客户端发送的消息;
[0173]发送模块42,用于将所述客户端Token发送给服务器;
[0174]接收模块43,用于接收所述服务器返回的验证消息;其中,所述验证消息中携带有所述客户端Token,以及所述服务器生成的服务器Token,所述服务器Token用于唯一标识所述服务器发送的消息;
[0175]校验模块44,用于对所述验证消息中携带的客户端Token进行校验,并当校验通过后,通过所述发送模块42向所述服务器返回携带有所述服务器Token的第一确认消息;
[0176]确认模块45,用于当所述客户端接收到所述服务器返回的第二确认消息时,确认与服务器之间的通信安全;其中,所述第二确认消息是所述服务器在接收到所述第一确认消息时,对所述服务器Token校验通过后发送的。
[0177]其中,所述确认模块45还用于,当所述校验模块对所述验证消息中的客户端Token校验不通过,或,所述客户端在预设时间内未接收到所述服务器返回的第二确认消息时,确认通信不安全。
[0178]其中,所述发送模块42还用于,在所述第一确认消息中携带业务请求信息,以使所述服务器对所述第一确认消息中携带的服务器Token校验通过后,根据所述业务请求信息进行相应的业务处理;或者,
[0179]所述发送模块42还用于,向所述服务器发送业务请求信息,以使所述服务器根据所述业务请求信息进行相应的业务。
[0180]其中,所述业务请求信息包括:
[0181]注册请求信息、数据访问请求信息、数据上传请求信息、或数据下载请求信息。
[0182]如图5所示,为本发明实施例提供的另一种客户端的结构示意图,该客户端可以应用于包括GCM平台以及服务器的系统,该客户端可以包括:
[0183]获取模块51,用于向所述GCM平台发送用于申请注册标注RegID的消息,并接收所述GCM平台返回的RegID ;
[0184]生成模块52,用于生成客户端令牌Token ;其中,所述客户端Token用于唯一标识所述客户端发送的消息;
[0185]发送模块53,用于将所述客户端Token发送给所述服务器;
[0186]所述发送模块53具体用于,将所述客户端Token携带在向服务器上报RegID的消息中发送给所述服务器;
[0187]接收模块54,用于接收所述服务器返回的验证消息;其中,所述验证消息中携带有所述客户端Token,以及所述服务器生成的服务器Token,所述服务器Token用于唯一标识所述服务器发送的消息;
[0188]校验模块55,用于对所述验证消息中携带的客户端Token进行校验,并当校验通过后,通过所述发送模块53向所述服务器返回携带有所述服务器Token的第一确认消息;
[0189]确认模块56,用于当所述客户端接收到所述服务器返回的第二确认消息时,确认与所述服务器之间的通信安全;其中,所述第二确认消息是所述服务器在接收到所述第一确认消息时,对所述服务器Token校验通过后发送的。[0190]如图6所示,为本发明实施例提供的另一种客户端的结构示意图,该客户端可以应用于包括GCM平台以及服务器的系统,该客户端可以包括:
[0191]生成模块61,用于生成客户端令牌Token ;其中,所述客户端Token用于唯一标识所述客户端发送的消息;
[0192]存储模块62,用于存储所述生成模块61生成的客户端Token ;
[0193]发送模块63,用于将所述客户端Token发送给所述服务器;其中,所述RegID是所述客户端向所述GCM平台申请的;
[0194]接收模块64,用于接收所述服务器返回的验证消息;其中,所述验证消息中携带有所述客户端Token,以及所述服务器生成的服务器Token,所述服务器Token用于唯一标识所述服务器发送的消息;
[0195]校验模块65,用于对所述验证消息中携带的客户端Token进行校验,并当校验通过后,通过所述发送模块63向所述服务器返回携带有所述服务器Token的第一确认消息;
[0196]确认模块66,用于当所述客户端接收到所述服务器返回的第二确认消息时,确认通信安全;其中,所述第二确认消息是所述服务器在接收到所述第一确认消息时,对所述服务器Token校验通过后发送的。
[0197]其中,所述校验模块65具体用于,获取所述验证消息中携带的客户端Token,并与所述存储模块存储的客户端Token进行比较,若二者相同,则确认校验通过;否则,确认校验不通过。
[0198]如图7所示,为本发明实施例提供的另一种客户端的结构示意图,该客户端可以应用于包括GCM平台以及服务器的系统,该客户端可以包括:
[0199]生成模块71,用于生成客户端令牌Token ;其中,所述客户端Token用于唯一标识所述客户端发送的消息;
[0200]所述生成模块71具体用于,根据预设规则和参数生成客户端Token ;
[0201]发送模块72,用于将所述客户端Token发送给所述服务器;
[0202]接收模块73,用于接收所述服务器返回的验证消息;其中,所述验证消息中携带有所述客户端Token,以及所述服务器生成的服务器Token,所述服务器Token用于唯一标识所述服务器发送的消息;
[0203]校验模块74,用于对所述验证消息中携带的客户端Token进行校验,并当校验通过后,通过所述发送模块72向所述服务器返回携带有所述服务器Token的第一确认消息;
[0204]确认模块75,用于当所述客户端接收到所述服务器返回的第二确认消息时,确认与所述服务器之间的通信安全;其中,所述第二确认消息是所述服务器在接收到所述第一确认消息时,对所述服务器Token校验通过后发送的。
[0205]其中,所述生成模块71还用于,当所述接收模块接收到所述服务器返回的验证消息时,根据所述预设规则和参数再次生成客户端Token ;
[0206]所述校验模块74具体用于,将所述生成模块再次生成的客户端Token与所述验证消息中携带的客户端Token进行比较,若二者相同,则确认校验通过;否则,确认校验不通过。
[0207]其中,所述预设参数包括以下之一或多个:
[0208]所述客户端的国际移动设备识别码ME1、媒体访问控制MAC地址、系统版本号。[0209]基于上述方法实施例系统的技术构思,本发明实施例还提供了一种服务器,可以应用到上述方法实施例中。
[0210]如图8所示,为本发明实施例提供的一种服务器的结构示意图,该服务器可以应用于包括GCM平台以及客户端的系统,该服务器可以包括:
[0211]接收模块81,用于接收客户端发送的客户端令牌Token ;其中,所述客户端Token用于唯一标识所述客户端发送的消息;
[0212]生成模块82,用于生成服务器Token ;其中,所述服务器Token用于唯一标识所述服务器发送的消息;
[0213]发送模块83,用于向所述客户端发送携带所述客户端Token以及服务器Token的验证消息;
[0214]校验模块84,用于当所述服务器接收到所述客户端返回的第一确认消息时,对所述第一确认消息中携带的服务器Token进行校验,并当校验通过后,通过所述发送模块83向所述客户端返回第二确认消息;其中,所述第一确认消息是所述客户端在接收到所述验证消息时,对所述客户端Token校验通过后发送的;
[0215]确认模块85,用于当所述校验模块校验通过后,确认与所述客户端之间的通信安全。
[0216]其中,所述接收模块81具体用于,接收所述客户端发送的上报注册标识RegID的消息,该消息中携带有所述客户端Token。
[0217]其中,所述确认模块85还用于,当所述服务器在预设时间内未接收到所述客户端返回的第一确认消息,或,所述检验模块对所述第一确认消息中携带的服务器Token校验不通过时,确认通信不安全。
[0218]其中,所述服务器Token中包含有时间戳信息;
[0219]所述校验模块84具体用于,当确定接收到所述第一确认消息的时间,与所述时间戳信息对应的时间之间的差值未超过阈值时,对所述第一确认消息中携带的服务器Token进行校验;否则,确认校验不通过。
[0220]如图9所示,为本发明实施例提供的另一种服务器的结构示意图,该服务器可以应用于包括GCM平台以及客户端的系统,该服务器可以包括:
[0221]接收模块91,用于接收客户端发送的客户端令牌Token ;其中,所述客户端Token用于唯一标识所述客户端发送的消息;
[0222]生成模块92,用于生成服务器Token ;其中,所述服务器Token用于唯一标识所述服务器发送的消息;
[0223]存储模块93,用于存储所述服务器Token ;
[0224]发送模块94,用于向所述客户端发送携带所述客户端Token以及服务器Token的验证消息;
[0225]校验模块95,用于当所述服务器接收到所述客户端返回的第一确认消息时,对所述第一确认消息中携带的服务器Token进行校验,并当校验通过后,通过所述发送模块94向所述客户端返回第二确认消息;其中,所述第一确认消息是所述客户端在接收到所述验证消息时,对所述客户端Token校验通过后发送的;
[0226]确认模块96,用于当所述校验模块校验通过后,确认通信安全。[0227]其中,所述校验模块95具体用于,获取所述第一确认消息中携带的服务器Token,并与所述存储模块存储的服务器Token进行比较,则确认校验通过;否则,确认校验不通过。
[0228]如图10所示,为本发明实施例提供的另一种服务器的结构示意图,该服务器可以应用于包括GCM平台以及客户端的系统,该服务器可以包括:
[0229]接收模块1001,用于接收客户端发送的客户端令牌Token ;其中,所述客户端Token用于唯一标识所述客户端发送的消息;
[0230]生成模块1002,用于生成服务器Token ;其中,所述服务器Token用于唯一标识所述服务器发送的消息;
[0231]所述生成模块1002具体用于,根据预设规则和参数生成服务器Token ;
[0232]发送模块1003,用于向所述客户端发送携带所述客户端Token以及服务器Token的验证消息;
[0233]校验模块1004,用于当所述服务器接收到所述客户端返回的第一确认消息时,对所述第一确认消息中携带的服务器Token进行校验,并当校验通过后,通过所述发送模块向所述客户端返回第二确认消息;其中,所述第一确认消息是所述客户端在接收到所述验证消息时,对所述客户端Token校验通过后发送的;
[0234]确认模块1005,用于当所述校验模块校验通过后,确认与所述客户端之间的通信安全。
[0235]其中,所述生成模块1002还用于,当所述接收模块接收到所述客户端返回的第一确认消息时,根据所述预设规则和参数再次生成服务器Token ;
[0236]所述校验模块1004具体用于,将所述生成模块再次生成的服务器Token与所述第一确认消息中携带的服务器Token进行比较,若二者相同,则确认校验通过;否则,确认校验不通过。
[0237]其中,所述预设参数包括以下之一或多个:
[0238]所述服务器的媒体访问控制MAC地址、当前时间戳信息、所述客户端上报的注册标识RegID。
[0239]如图11所示,为本发明实施例提供的另一种服务器的结构示意图,该服务器可以应用于包括GCM平台以及客户端的系统,该服务器可以包括:
[0240]接收模块1101,用于接收客户端发送的客户端令牌Token ;其中,所述客户端Token用于唯一标识所述客户端发送的消息;
[0241]生成模块1102,用于生成服务器Token ;其中,所述服务器Token用于唯一标识所述服务器发送的消息;
[0242]发送模块1103,用于向所述客户端发送携带所述客户端Token以及服务器Token的验证消息;
[0243]校验模块1104,用于当所述服务器接收到所述客户端返回的第一确认消息时,对所述第一确认消息中携带的服务器Token进行校验,并当校验通过后,通过所述发送模块向所述客户端返回第二确认消息;其中,所述第一确认消息是所述客户端在接收到所述验证消息时,对所述客户端Token校验通过后发送的;
[0244]确认模块1105,用于当所述校验模块校验通过后,确认与所述客户端之间的通信安全。
[0245]第一处理模块1106,用于当所述第一确认消息中还携带有业务请求信息时,根据所述业务请求信息进行相应的业务处理。
[0246]其中,所述业务请求信息包括:
[0247]注册请求信息、数据访问请求信息、数据上传请求信息、或数据下载请求信息。
[0248]如图12所示,为本发明实施例提供的另一种服务器的结构示意图,该服务器可以应用于包括GCM平台以及客户端的系统,该服务器可以包括:
[0249]接收模块1201,用于接收客户端发送的客户端令牌Token ;其中,所述客户端Token用于唯一标识所述客户端发送的消息;
[0250]生成模块1202,用于生成服务器Token ;其中,所述服务器Token用于唯一标识所述服务器发送的消息;
[0251]发送模块1203,用于向所述客户端发送携带所述客户端Token以及服务器Token的验证消息;
[0252]校验模块1204,用于当所述服务器接收到所述客户端返回的第一确认消息时,对所述第一确认消息中携带的服务器Token进行校验,并当校验通过后,通过所述发送模块向所述客户端返回第二确认消息;其中,所述第一确认消息是所述客户端在接收到所述验证消息时,对所述客户端Token校验通过后发送的;
[0253]确认模块1205,用于当所述校验模块校验通过后,确认与所述客户端之间的通信安全。
[0254]其中,所述接收模块1201还用于,接收客户端发送的业务请求信息;
[0255]相应地,该服务器还可以包括:
[0256]第二处理模块1206,用于根据所述业务请求信息进行相应的业务处理。
[0257]其中,所述业务请求信息包括:
[0258]注册请求信息、数据访问请求信息、数据上传请求信息、或数据下载请求信息。
[0259]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random AccessMemory, RAM)等。
[0260]以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。
【权利要求】
1.一种通信安全校验方法,应用于包括谷歌云消息推送GCM平台、客户端,以及服务器的系统,其特征在于,该方法包括: 客户端生成客户端令牌Token,并将所述客户端Token发送给服务器;其中,所述客户端Token用于唯一标识所述客户端发送的消息; 所述客户端接收所述服务器返回的验证消息;其中,所述验证消息中携带有所述客户端Token,以及所述服务器生成的服务器Token,所述服务器Token用于唯一标识所述服务器发送的消息; 所述客户端对所述验证消息中携带的客户端Token进行校验,并当校验通过后,向所述服务器返回携带有所述服务器Token的第一确认消息; 当所述客户端接收到所述服务器返回的第二确认消息时,确认与所述服务器之间的通信安全;其中,所述第二确认消息是所述服务器在接收到所述第一确认消息时,对所述服务器Token校验通过后发送的。
2.如权利要求1所述的方法,其特征在于,所述客户端将所述客户端Token发送给服务器之前,还包括: 所述客户端向所述GCM平台发送用于申请注册标识RegID的消息,并接收所述GCM平台返回的RegID。
3.如权利要求2所述的方法,其特征在于,所述客户端将所述客户端Token发送给所述服务器,具体包括: 所述客户端将所述客户端Token携带在向服务器上报RegID的消息中发送给所述服务器。
4.如权利要求1所述的方法,其特征在于,该方法还包括: 当所述客户端对所述验证消息中的客户端Token校验不通过,或,在预设时间内未接收到所述服务器返回的第二确认消息时,确认通信不安全。
5.如权利要求1所述的方法,其特征在于,所述客户端生成客户端Token后,存储所述客户端Token ; 所述客户端对所述验证消息中携带的客户端Token进行校验,具体包括: 所述客户端获取所述验证消息中携带的客户端Token,并与自身存储的客户端Token进行比较,若二者相同,则确认校验通过;否则,确认校验不通过。
6.如权利要求1所述的方法,其特征在于, 所述客户端生成客户端Token,具体包括: 所述客户端根据预设规则和参数生成客户端Token ; 所述客户端对所述验证消息中携带的客户端Token进行校验,具体包括: 当所述客户端接收到所述服务器返回的验证消息时,所述客户端根据所述预设规则和参数再次生成客户端Token,并将该客户端Token与所述验证消息中携带的客户端Token进行比较,若二者相同,则确认校验通过;否则,确认校验不通过。
7.如权利要求6所述的方法,其特征在于,所述预设参数包括以下之一或多个: 所述客户端的国际移动设备识别码ME1、媒体访问控制MAC地址、系统版本号。
8.如权利要求1所述的方法,其特征在于,所述客户端对所述验证消息中携带的客户端Token校验通过后,还包括:所述客户端在所述第一确认消息携带业务请求信息,以使所述服务器对所述第一确认消息中携带的服务器Token校验通过后,根据所述业务请求信息进行相应的业务处理。
9.如权利要求1所述的方法,其特征在于,所述客户端确认与所述服务器之间的通信安全之后,还包括: 所述客户端向所述服务器发送业务请求信息,以使所述服务器根据所述业务请求信息进行相应的业务。
10.如权利要求8或9所述的方法,其特征在于,所述业务请求信息包括: 注册请求信息、数据访问请求信息、数据上传请求信息、或数据下载请求信息。
11.一种通信安全校验方法,应用于包括谷歌云消息推送GCM平台、客户端,以及服务器的系统,其特征在于,该方法包括: 服务器接收客户端发送的客户端令牌Token ;其中,所述客户端Token用于唯一标识所述客户端发送的消息; 所述服务器生成服务器Token,并向所述客户端发送携带所述客户端Token以及服务器Token的验证消息;其中,所述服务器Token用于唯一标识所述服务器发送的消息;当所述服务器接收到所述客户端返回的第一确认消息时,所述服务器对所述第一确认消息中携带的服务器Token进行校验,并当校验通过后,确认与所述客户端之间的通信安全,并向所述客户端返回第二确认消息;其中,所述第一确认消息是所述客户端在接收到所述验证消息时,对所述 客户端Token校验通过后发送的。
12.如权利要求11所述的方法,其特征在于,所述服务器接收客户端发送的客户端令牌Token,具体包括: 所述服务器接收所述客户端发送的上报注册标识RegID的消息,该消息中携带有所述客户端Token。
13.如权利要求11所述的方法,其特征在于,所述服务器生成服务器Token后,存储所述服务器Token ; 所述服务器对所述第一确认消息中携带的服务器Token进行校验,具体包括: 所述服务器获取所述第一确认消息中携带的服务器Token,并与自身存储的服务器Token进行比较,则确认校验通过;否则,确认校验不通过。
14.如权利要求11所述的方法,其特征在于,所述服务器生成服务器Token,具体包括: 所述服务器根据预设规则和参数生成服务器Token ; 所述服务器对所述第一确认消息中携带的服务器Token进行校验,具体包括: 当所述服务器接收到所述客户端返回的第一确认消息时,根据所述预设规则和参数再次生成服务器Token,并将该服务器Token与所述第一确认消息中携带的服务器Token进行比较,若二者相同,则确认校验通过;否则,确认校验不通过。
15.如权利要求14所述的方法,其特征在于,所述预设参数包括以下之一或多个: 所述服务器的媒体访问控制MAC地址、当前时间戳信息、所述客户端上报的注册标识RegID0
16.如权利要求11所述的方法,其特征在于,当所述服务器Token中包含有时间戳信息时;所述服务器对所述第一确认消息中携带的服务器Token进行校验,具体包括: 当所述服务器确定接收到所述第一确认消息的时间,与所述时间戳信息对应的时间之间的差值未超过阈值时,对所述第一确认消息中携带的服务器Token进行校验;否则,确认校验不通过。
17.如权利要求11所述的方法,其特征在于,该方法还包括: 当所述服务器在预设时间内未接收到所述客户端返回的第一确认消息,或,对所述第一确认消息中携带的服务器Token校验不通过时,确认通信不安全。
18.如权利要求11所述的方法,其特征在于,当所述第一确认消息中还携带有业务请求信息时,所述服务器对所述第一确认消息中携带的服务器Token校验通过后,还包括: 所述服务器根据所述业务请求信息进行相应的业务处理。
19.如权利要求11所述的方法,其特征在于,所述服务器向所述客户端返回第二确认消息之后,还包括: 所述服务器接收所述客户端发送的业务请求信息,并根据所述业务请求信息进行相应的业务处理。
20.如权利要求19所述的方法,其特征在于,所述业务请求信息包括: 注册请求信息、数据访问请求信息、数据上传请求信息、或数据下载请求信息。
21.一种客户端,应用于包括谷歌云消息推送GCM平台以及服务器的系统,其特征在于,所述客户端包括: 生成模块,用于生成客户端令牌Token ;其中,所述客户端Token用于唯一标识所述客户端发送的消息; 发送模块,用于将所述客户端Token发送给所述服务器; 接收模块,用于接收所述服务器返回的验证消息;其中,所述验证消息中携带有所述客户端Token,以及所述服务器生成的服务器Token,所述服务器Token用于唯一标识所述服务器发送的消息; 校验模块,用于对所述验证消息中携带的客户端Token进行校验,并当校验通过后,通过所述发送模块向所述服务器返回携带有所述服务器Token的第一确认消息; 确认模块,用于当所述客户端接收到所述服务器返回的第二确认消息时,确认与所述服务器之间的通信安全;其中,所述第二确认消息是所述服务器在接收到所述第一确认消息时,对所述服务器Token校验通过后发送的。
22.如权利要求21所述的客户端,其特征在于,还包括: 获取模块,用于向所述GCM平台发送用于申请注册标注RegID的消息,并接收所述GCM平台返回的RegID。
23.如权利要求22所述的客户端,其特征在于, 所述发送模块具体用于,将所述客户端Token携带在向服务器上报RegID的消息中发送给所述服务器。
24.如权利要求21所述的客户端,其特征在于, 所述确认模块还用于,当所述校验模块对所述验证消息中的客户端Token校验不通过,或,所述客户端在预设时间内未接收到所述服务器返回的第二确认消息时,确认通信不安全。
25.如权利要求21所述的客户端,其特征在于,所述客户端还包括: 存储模块,用于存储所述生成模块生成的客户端Token ; 所述校验模块具体用于,获取所述验证消息中携带的客户端Token,并与所述存储模块存储的客户端Token进行比较,若二者相同,则确认校验通过;否则,确认校验不通过。
26.如权利要求21所述的客户端,其特征在于, 所述生成模块具体用于,根据预设规则和参数生成客户端Token ; 所述生成模块还用于,当所述接收模块接收到所述服务器返回的验证消息时,根据所述预设规则和参数再次生成客户端Token ; 所述校验模块具体用于,将所述生成模块再次生成的客户端Token与所述验证消息中携带的客户端Token进行比较,若二者相同,则确认校验通过;否则,确认校验不通过。
27.如权利要求26所述的客户端,其特征在于,所述预设参数包括以下之一或多个: 所述客户端的国际移动设备识别码ME1、媒体访问控制MAC地址、系统版本号。
28.如权利要求21所述的客户端,其特征在于, 所述发送模块还用于,在所述第一确认消息中携带业务请求信息,以使所述服务器对所述第一确认消息中携带的服务器Token校验通过后,根据所述业务请求信息进行相应的业务处理。
29.如权利要求21所述的客户端,其特征在于, 所述发送模块还用于,向所述服务器发送业务请求信息,以使所述服务器根据所述业务请求信息进行相应的业务。
30.如权利要求28或29所述的客户端,其特征在于,所述业务请求信息包括: 注册请求信息、数据访问请求信息、数据上传请求信息、或数据下载请求信息。
31.一种服务器,应用于包括谷歌云消息推送GCM平台、以及客户端的系统,其特征在于,所述服务器包括: 接收模块,用于接收客户端发送的客户端令牌Token ;其中,所述客户端Token用于唯一标识所述客户端发送的消息; 生成模块,用于生成服务器Token ;其中,所述服务器Token用于唯一标识所述服务器发送的消息; 发送模块,用于向所述客户端发送携带所述客户端Token以及服务器Token的验证消息; 校验模块,用于当所述服务器接收到所述客户端返回的第一确认消息时,对所述第一确认消息中携带的服务器Token进行校验,并当校验通过后,通过所述发送模块向所述客户端返回第二确认消息;其中,所述第一确认消息是所述客户端在接收到所述验证消息时,对所述客户端Token校验通过后发送的; 确认模块,用于当所述校验模块校验通过后,确认与所述客户端之间的通信安全。
32.如权利要求31所述的服务器,其特征在于, 所述接收模块具体用于,接收所述客户端发送的上报注册标识RegID的消息,该消息中携带有所述客户端Token。
33.如权利要求31所述的服务器,其特征在于,所述服务器还包括: 存储模块,用于存储所述服务器Token ;所述校验模块具体用于,获取所述第一确认消息中携带的服务器Token,并与所述存储模块存储的服务器Token进行比较,则确认校验通过;否则,确认校验不通过。
34.如权利要求31所述的服务器,其特征在于, 所述生成模块具体用于,根据预设规则和参数生成服务器Token ; 所述生成模块还用于,当所述接收模块接收到所述客户端返回的第一确认消息时,根据所述预设规则和参数再次生成服务器Token ; 所述校验模块具体用于,将所述生成模块再次生成的服务器Token与所述第一确认消息中携带的服务器Token进行比较,若二者相同,则确认校验通过;否则,确认校验不通过。
35.如权利要求34所述的服务器,其特征在于,所述预设参数包括以下之一或多个: 所述服务器的媒体访问控制MAC地址、当前时间戳信息、所述客户端上报的注册标识RegID0
36.如权利要求31所述的服务器,其特征在于,当所述服务器Token中包含有时间戳信息时; 所述校验模块具体用于,当确定接收到所述第一确认消息的时间,与所述时间戳信息对应的时间之间的差值 未超过阈值时,对所述第一确认消息中携带的服务器Token进行校验;否则,确认校验不通过。
37.如权利要求31所述的服务器,其特征在于, 所述确认模块还用于,当所述服务器在预设时间内未接收到所述客户端返回的第一确认消息,或,所述检验模块对所述第一确认消息中携带的服务器Token校验不通过时,确认通信不安全。
38.如权利要求31所述的服务器,其特征在于,还包括: 第一处理模块,用于当所述第一确认消息中还携带有业务请求信息时,根据所述业务请求信息进行相应的业务处理。
39.如权利要求31所述的服务器,其特征在于, 所述接收模块还用于,接收客户端发送的业务请求信息; 所述服务器还包括: 第二处理模块,用于根据所述业务请求信息进行相应的业务处理。
40.如权利要求38或39所述的服务器,其特征在于,所述业务请求信息包括: 注册请求信息、数据访问请求信息、数据上传请求信息、或数据下载请求信息。
【文档编号】H04L29/06GK104038490SQ201410253562
【公开日】2014年9月10日 申请日期:2014年6月9日 优先权日:2014年6月9日
【发明者】胡月鹏, 王春雷, 刘强 申请人:可牛网络技术(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1