首页> 中国专利> 一种客户端与WEB服务端的交互方法及系统

一种客户端与WEB服务端的交互方法及系统

摘要

本发明公开了一种客户端与WEB服务端的交互方法及系统,通过系统平台接收用户所请求的WEB服务;所述客户端根据客户端记号和平台编号加密形成第一签名串,并在用户所请求的WEB服务对应的请求URL中加入所述第一签名串和平台编号;所述WEB服务端从带有所述第一签名串和平台编号的请求URL中分离出第一签名串,并根据所述平台编号及其对应关联的客户端记号加密形成第二签名串;判断所述第一签名串与第二签名串是否相同,若是,则所述WEB服务端根据所述请求URL返回所述WEB服务对应的WEB服务结果至所述系统平台;使得客户端与WEB服务端的数据交互安全性大大提高,实现了客户端与WEB服务端交互安全控制,带来了方便。

著录项

  • 公开/公告号CN104144161A

    专利类型发明专利

  • 公开/公告日2014-11-12

    原文格式PDF

  • 申请/专利权人 北京彩云动力教育科技有限公司;

    申请/专利号CN201410322010.7

  • 申请日2014-07-08

  • 分类号H04L29/06;H04L29/08;

  • 代理机构深圳市君胜知识产权代理事务所;

  • 代理人王永文

  • 地址 100000 北京市海淀区上地信息路2号1号楼24层24D

  • 入库时间 2023-12-17 02:14:13

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-03-22

    授权

    授权

  • 2014-12-10

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20140708

    实质审查的生效

  • 2014-11-12

    公开

    公开

说明书

技术领域

本发明涉及WEB服务领域,尤其涉及的是一种客户端与WEB服务端的交互方法及系统。

背景技术

现有技术一般采用基于SOAP(Simple Object Access Protocol,简单对象访问协议)协议的WEB服务来进行传输,由于SOAP协议在最初设计时,只是一个传送协议,没有考虑安全性的问题。尽管可以通过WSE3.0、IIS的安全机制或SOAP自带的用户名和密码服务进行加密等,但都存在限制性,且只能实现点到点传输的安全,无法提供端到端的安全,导致WEB服务的安全性不高。

因此,现有技术还有待于改进和发展。

发明内容

本发明要解决的技术问题在于,提供一种客户端与WEB服务端的交互方法及系统,旨在解决现有的WEB服务交互的安全性低的问题。

本发明解决技术问题所采用的技术方案如下:

一种客户端与WEB服务端的交互方法,其中,包括以下步骤:

A、WEB服务端预先给客户端分配客户端记号,并对客户端上的系统平台分配平台编号,将所述客户端记号与所述平台编号对应关联;

B、所述系统平台接收用户所请求的WEB服务;

C、所述客户端根据所述客户端记号和平台编号加密形成第一签名串,并在用户所请求的WEB服务对应的请求URL中加入所述第一签名串和平台编号;

D、所述系统平台将带有所述第一签名串和平台编号的请求URL发送至WEB服务端;

E、所述WEB服务端从带有所述第一签名串和平台编号的请求URL中分离出第一签名串,并根据所述平台编号及其对应关联的客户端记号加密形成第二签名串;

F、判断所述第一签名串与第二签名串是否相同,若是,则所述WEB服务端根据所述请求URL返回所述WEB服务对应的WEB服务结果至所述系统平台。

所述的客户端与WEB服务端的交互方法,其中,所述步骤C具体包括:

C1、客户端根据所述客户端记号和平台编号经过MD5加密形成第一签名串;

C2、将所述第一签名串和平台编号拼接到用户所请求的WEB服务对应的请求URL上。

所述的客户端与WEB服务端的交互方法,其中,所述步骤F具体包括:

F1、所述WEB服务端根据所述请求URL返回所述WEB服务对应的json数据或html页面至所述系统平台。

所述的客户端与WEB服务端的交互方法,其中,所述步骤C还包括:

C3、在用户所请求的WEB服务对应的请求URL中加入时间戳。

所述的客户端与WEB服务端的交互方法,其中,所述步骤F还包括:

F2、判断WEB服务端接收所述请求URL时的时间与所述请求URL中的时间戳的时间差是否超过时间阈值,当所述时间差没有超过时间阈值时,则所述WEB服务端根据所述请求URL返回所述WEB服务对应的WEB服务结果至所述系统平台。

一种客户端与WEB服务端的交互系统,其中,包括:客户端和WEB服务端;

所述客户端包括:

接收模块,用于通过系统平台接收用户所请求的WEB服务;

请求URL生成模块,用于根据所述客户端记号和平台编号加密形成第一签名串,并在用户所请求的WEB服务对应的请求URL中加入所述第一签名串和平台编号;

请求URL发送模块,用于通过系统平台将带有所述第一签名串和平台编号的请求URL发送至WEB服务端;

所述WEB服务端包括:

预先标记模块,用于预先给客户端分配客户端记号,并对客户端上的系统平台分配平台编号,将所述客户端记号与所述平台编号对应关联;

签名串分离及生成模块,用于从带有所述第一签名串和平台编号的请求URL中分离出第一签名串,并根据所述平台编号及其对应关联的客户端记号加密形成第二签名串;

签名串对比模块,用于判断所述第一签名串与第二签名串是否相同,若是,则所述WEB服务端根据所述请求URL返回所述WEB服务对应的WEB服务结果至所述系统平台。

所述的客户端与WEB服务端的交互系统,其中,所述请求URL生成模块包括:

第一签名串生成单元,用于客户端根据所述客户端记号和平台编号经过MD5加密形成第一签名串;

请求URL生成单元,用于将所述第一签名串和平台编号拼接到用户所请求的WEB服务对应的请求URL上。

所述的客户端与WEB服务端的交互系统,其中,所述签名串对比模块用于判断所述第一签名串与第二签名串是否相同,若为是,则所述WEB服务端根据所述请求URL返回所述WEB服务对应的json数据或html页面至所述系统平台。

所述的客户端与WEB服务端的交互系统,其中,所述请求URL生成模块包括:

时间加入单元,用于在用户所请求的WEB服务对应的请求URL中加入时间戳。

所述的客户端与WEB服务端的交互系统,其中,所述签名串对比模块包括:

时间对比单元,用于判断WEB服务端接收所述请求URL时的时间与所述请求URL中的时间戳的时间差是否超过时间阈值,当所述时间差没有超过时间阈值时,则所述WEB服务端根据所述请求URL返回所述WEB服务对应的WEB服务结果至所述系统平台。

本发明所提供的一种客户端与WEB服务端的交互方法及系统,有效地解决了现有的WEB服务的数据交互的安全性不高的问题,通过WEB服务端预先给客户端分配客户端记号,并对客户端上的系统平台分配平台编号,将所述客户端记号与所述平台编号对应关联;所述系统平台接收用户所请求的WEB服务;所述客户端根据所述客户端记号和平台编号加密形成第一签名串,并在用户所请求的WEB服务对应的请求URL中加入所述第一签名串和平台编号;所述系统平台将带有所述第一签名串和平台编号的请求URL发送至WEB服务端;所述WEB服务端从带有所述第一签名串和平台编号的请求URL中分离出第一签名串,并根据所述平台编号及其对应关联的客户端记号加密形成第二签名串;判断所述第一签名串与第二签名串是否相同,若是,则所述WEB服务端根据所述请求URL返回所述WEB服务对应的WEB服务结果至所述系统平台;通过将预先给客户端分配客户端记号和对客户端上的系统平台分配平台编号加密生成第一签名串,并拼接入WEB服务对应的请求URL中,验签通过的请求URL,WEB服务端根据URL中的参数把结果返回给调用的系统平台,所述系统平台根据各自的应用需要给用户呈现WEB服务结果,使得客户端与WEB服务端的数据交互安全性大大提高,通过生成签名串并验证实现了客户端与WEB服务端交互的安全控制,通过软件实现,成本较低,带来了大大的方便。

附图说明

图1为本发明提供的客户端与WEB服务端的交互方法较佳实施例的流程图。

图2为本发明提供的客户端与WEB服务端的交互系统较佳实施例的结构框图。

具体实施方式

本发明提供一种客户端与WEB服务端的交互方法及系统,为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

请参阅图1,图1为本发明提供的客户端与WEB服务端的交互方法较佳实施例的流程图,如图所示,所述方法包括以下步骤:

步骤S100、WEB服务端预先给客户端分配客户端记号,并对客户端上的系统平台分配平台编号,将所述客户端记号与所述平台编号对应关联;

步骤S200、所述系统平台接收用户所请求的WEB服务;

步骤S300、所述客户端根据所述客户端记号和平台编号加密形成第一签名串,并在用户所请求的WEB服务对应的请求URL(Uniform Resource Locator,统一资源定位符,是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址)中加入所述第一签名串和平台编号;

步骤S400、所述系统平台将带有所述第一签名串和平台编号的请求URL发送至WEB服务端;

步骤S500、所述WEB服务端从带有所述第一签名串和平台编号的请求URL中分离出第一签名串,并根据所述平台编号及其对应关联的客户端记号加密形成第二签名串;

步骤S600、判断所述第一签名串与第二签名串是否相同,若是,则所述WEB服务端根据所述请求URL返回所述WEB服务对应的WEB服务结果至所述系统平台。

下面结合具体的实施例对上述步骤进行详细的描述。

在步骤S100中,WEB服务端预先给客户端分配客户端记号,并对客户端上的系统平台分配平台编号,将所述客户端记号与所述平台编号对应关联。具体来说,WEB服务端预先给多个客户端及多个系统平台分配对应的标识,在实际应用时,对每一个客户端分配对应的客户端记号,也就是Token(令牌,该令牌是个数字或字母形式的字符串,用于身份验证)值,所述Token值为WEB服务端的生产厂商与客户端的用户双方协商好的;并对每一个对客户端上的系统平台分配平台编号,也就是系统平台对应的System ID。所述系统平台为外部系统平台,用户通过客户端上的系统平台与WEB服务端进行交互。举例说明如下:用户需要某个WEB服务端提供的某WEB服务,这必须得通过与WEB服务端合作的系统平台才能登入从而得到对应的WEB服务结果,而系统平台是安装在客户端上的。并且,Token值和System ID是对应关联的,也就是说客户端的Token值与客户端上的系统平台的System ID是相互关联的,通过System ID便可得知客户端的Token值。进一步地,Token值和System ID是一一对应的关系,分发给系统平台的客户端都有唯一的Token值。

在步骤S200中,所述系统平台接收用户所请求的WEB服务。具体来说,就是用户通过客户端上的系统平台向WEB服务端发送想要接收的WEB服务请求。这与现有的WEB服务请求相同,此处不作过多描述。

在步骤S300中,所述客户端根据所述客户端记号和平台编号加密形成第一签名串,在用户所请求的WEB服务对应的请求URL中加入所述第一签名串和平台编号。具体来说,当用户需要使用某WEB服务时,客户端便会根据所述客户端的Token值和系统平台的System ID加密形成第一签名串,然后将所述第一签名串和平台编号加入用户所请求的WEB服务对应的请求URL中。

进一步地,所述步骤S300包括:S310、客户端根据所述客户端记号和平台编号经过MD5(Message Digest Algorithm ,消息摘要算法第五版,一种加密算法)加密形成第一签名串;S320、将所述第一签名串和平台编号拼接到用户所请求的WEB服务对应的请求URL上。在实际应用时,客户端会按预先设置的规则把约定好的Token值和System ID,经过MD5加密形成第一签名串sign,最后将第一签名串sign拼接到用户所请求的WEB服务对应的请求URL上。

在步骤S400中,所述系统平台将带有所述第一签名串和平台编号的请求URL发送至WEB服务端。具体来说,客户端根据用户请求的WEB服务、客户端记号和平台编号生成带有所述第一签名串和平台编号的请求URL,返回供系统平台发送至WEB服务端。

在步骤S500中,所述WEB服务端从带有所述第一签名串和平台编号的请求URL中分离出第一签名串,并根据所述平台编号及其对应关联的客户端记号加密形成第二签名串。具体来说,收到请求URL的Web服务端,从中分离出第一签名串,并得到对应的平台编号,由于所述客户端记号与所述平台编号对应关联,WEB服务端根据平台编号便可得到对应的客户端记号,然后WEB服务端根据所述客户端记号和平台编号加密形成第二签名串。也就是说,WEB服务端根据URL参数中的System ID找到对应的Token值,生成第二签名串进而来验证第一签名串。

在步骤S600中,判断所述第一签名串与第二签名串是否相同,若是,则所述WEB服务端根据所述请求URL返回所述WEB服务对应的WEB服务结果至所述系统平台。具体来说,就是对比前后的第一签名串和第二签名串是否相同,若相同,则表明验证通过,URL请求合法,则所述WEB服务端根据所述请求URL返回所述WEB服务对应的WEB服务结果至所述系统平台,从而完客户端与WEB服务端的交互成。这样,WEB服务端通过验证第一签名串便可实现了系统平台与WEB服务端交互的安全控制。

在实际应用时,所述步骤S600具体包括:S610、所述WEB服务端根据所述请求URL返回所述WEB服务对应的json数据或html页面至所述系统平台。也就是说,验签通过的请求,WEB服务根据URL中的参数,实现内部逻辑,通过生成json(JavaScript Object Notation,是一种轻量级的数据交换格式)数据或返回html(HyperText Markup language,超级文本标记语言)页面,把结果返回给调用的系统平台;外部系统平台根据各自的应用需要,给用户呈现结果。返回结果以html页面形式,以页面形式直观呈现给用户,方便系统平台开发,不用进行对WEB服务端的WEB服务二次开发;返回结果以json数据流形式,由于json数据为标准数据格式,即通用格式,方便传输,可广泛应用于其它程序及设备。这样的结果反馈,可满足合作平台多方面的快速开发和应用。

进一步地,为了提高客户端与WEB服务端的交互的安全性,所述步骤S300还包括:S330、在用户所请求的WEB服务对应的请求URL中加入时间戳。也就是说,在所述请求URL中加入时间参数,譬如所述时间戳为用户请求WEB服务的时间。

进一步地,所述步骤S600还包括:S620、判断WEB服务端接收所述请求URL时的时间与所述请求URL中的时间戳的时间差是否超过时间阈值,当所述时间差没有超过时间阈值时,则所述WEB服务端根据所述请求URL返回所述WEB服务对应的WEB服务结果至所述系统平台。也就是说,所述请求URL不仅带有第一签名串和平台编号,还包括时间戳。WEB服务端接收系统平台发送的带有第一签名串、平台编号及时间戳的请求URL,WEB服务端根据接收时间与时间戳的时间差,判断是否超过时间阈值,譬如1小时,若超过,则表明用户请求WEB服务已经过去很长时间,将该请求URL判定为无效;若未超过,则表明该请求URL还在有效范围内,则所述WEB服务端根据所述请求URL返回所述WEB服务对应的WEB服务结果至所述系统平台。也就是在验证签名串的基础上,添加了时间验证,从而提高了安全性。

进一步地,验签通过的请求信息将存入session(会话,用于存储需要在整个用户会话过程中保持其状态的信息,例如登录信息或用户浏览 WEB应用程序时需要的其它信息),用于以后的其它请求URL的鉴权。

对本发明举例说明如下:所述WEB服务端为现有的直播视频web服务、点播视频web服务和试卷web服务,系统平台(即WEB服务端的合作平台)为全课网平台、福建成长课堂平台和成长帮手平台。当用户通过上述任一平台请求上述任一WEB服务时,客户端程序负责生成加第一签名串的请求URL和验证第一签名串,WEB服务端根据不同的system ID来区分生成不同的系统平台的返回数据。而直播视频web服务、点播视频web服务和试卷web服务则返回json数据或直接返回html页面的形式至福建成长课堂、全课网或成长帮手等平台上。

本发明提供的客户端与WEB服务端的交互方法,Web服务和外部系统平台的通信安全,是基于客户端的加签(MD5签名)URL的安全验证。Web服务不要求外部系统提供的账号和密码来判断是否合法,用户的合法性还是通过外部系统来进行判断,带来了大大的方便。

基于上述客户端与WEB服务端的交互方法,本发明实施例还提供了一种客户端与WEB服务端的交互系统,如图2所示,所述系统包括:客户端100和WEB服务端200;

所述客户端100包括:

接收模块110,用于通过系统平台接收用户所请求的WEB服务;

请求URL生成模块120,用于根据所述客户端记号和平台编号加密形成第一签名串,并在用户所请求的WEB服务对应的请求URL中加入所述第一签名串和平台编号;

请求URL发送模块130,用于通过系统平台将带有所述第一签名串和平台编号的请求URL发送至WEB服务端;

所述WEB服务端200包括:

预先标记模块210,用于预先给客户端分配客户端记号,并对客户端上的系统平台分配平台编号,将所述客户端记号与所述平台编号对应关联;

签名串分离及生成模块220,用于从带有所述第一签名串和平台编号的请求URL中分离出第一签名串,并根据所述平台编号及其对应关联的客户端记号加密形成第二签名串;

签名串对比模块230,用于判断所述第一签名串与第二签名串是否相同,若为是,则所述WEB服务端根据所述请求URL返回所述WEB服务对应的WEB服务结果至所述系统平台。

进一步地,所述请求URL生成模块120包括:

第一签名串生成单元,用于客户端根据所述客户端记号和平台编号经过MD5加密形成第一签名串;

请求URL生成单元,用于将所述第一签名串和平台编号拼接到用户所请求的WEB服务对应的请求URL上。

进一步地,所述签名串对比模块230用于判断所述第一签名串与第二签名串是否相同,若为是,则所述WEB服务端根据所述请求URL返回所述WEB服务对应的json数据或html页面至所述系统平台。

进一步地,所述请求URL生成模块120包括:

时间加入单元,用于在用户所请求的WEB服务对应的请求URL中加入时间戳。

进一步地,所述签名串对比模块230包括:

时间对比单元,用于判断WEB服务端接收所述请求URL时的时间与所述请求URL中的时间戳的时间差是否超过时间阈值,当所述时间差没有超过时间阈值时,则所述WEB服务端根据所述请求URL返回所述WEB服务对应的WEB服务结果至所述系统平台。

综上所述,本发明提供的一种客户端与WEB服务端的交互方法及系统,通过WEB服务端预先给客户端分配客户端记号,并对客户端上的系统平台分配平台编号,将所述客户端记号与所述平台编号对应关联;所述系统平台接收用户所请求的WEB服务;所述客户端根据所述客户端记号和平台编号加密形成第一签名串,并在用户所请求的WEB服务对应的请求URL中加入所述第一签名串和平台编号;所述系统平台将带有所述第一签名串和平台编号的请求URL发送至WEB服务端;所述WEB服务端从带有所述第一签名串和平台编号的请求URL中分离出第一签名串,并根据所述平台编号及其对应关联的客户端记号加密形成第二签名串;判断所述第一签名串与第二签名串是否相同,若是,则所述WEB服务端根据所述请求URL返回所述WEB服务对应的WEB服务结果至所述系统平台;通过将预先给客户端分配客户端记号和对客户端上的系统平台分配平台编号加密生成第一签名串,并拼接入WEB服务对应的请求URL中,验签通过的请求URL,WEB服务端根据URL中的参数把结果返回给调用的系统平台,所述系统平台根据各自的应用需要给用户呈现WEB服务结果,使得客户端与WEB服务端的数据交互安全性大大提高,通过生成签名串并验证实现了客户端与WEB服务端交互的安全控制,通过软件实现,成本较低,给用户带来了大大的方便。

应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号