公开/公告号CN104767766A
专利类型发明专利
公开/公告日2015-07-08
原文格式PDF
申请/专利权人 广州视源电子科技股份有限公司;
申请/专利号CN201510232820.8
申请日2015-05-08
分类号H04L29/06(20060101);H04L9/00(20060101);
代理机构11227 北京集佳知识产权代理有限公司;
代理人屈慧丽;曹志霞
地址 510663 广东省广州市高新技术产业开发区科学城科珠路192号4楼
入库时间 2023-12-18 09:48:08
法律状态公告日
法律状态信息
法律状态
2018-03-27
授权
授权
2015-08-05
实质审查的生效 IPC(主分类):H04L29/06 申请日:20150508
实质审查的生效
2015-07-08
公开
公开
技术领域
本发明涉及通信技术领域,尤其涉及一种Web Service接口验证方法、Web Service服务器、客户端。
背景技术
Web Service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(可扩展标记语言)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。简言之,Web Service是一种跨编程语言和跨操作系统平台的远程调用技术。
目前Web Service服务接口验证方式分为两种、一种是无需验证,所有人都可以访问的无需验证的Web Service服务适用于开放给公众使用的服务,如天气预报数据;另一种是通过用户凭证验证方式,需要验证的Web Service服务适用于提供私有的服务,适用于所有需要数据保密的情况。
现有的技术方案中用户凭证验证方式的Web Service接口缺点是一旦用户凭证被截取,则有可能导致服务接口被破解,重要数据被窃取。另外,用户凭证的验证方式需要在服务器端记录用户数据列表,包括用户名、密码、访问权限等,记录、管理并运用这些数据,实现起来较为复杂。
发明内容
本发明实施例提供了一种Web Service接口验证方法、Web Service服务器、客户端,能够有效加强了验证安全性。
本发明中一种Web Service接口验证方法,包括:
生成密钥对,该密钥对包括公钥和私钥;
存储私钥并将公钥发送至客户端;
当客户端来访问时,向客户端发送获取验证参数请求;
接收客户端发送的验证参数,该验证参数包括客户端信息和加密验证参数;
通过私钥对加密验证参数解密,得到解密验证参数;
判断验证参数是否与解密验证参数一致,若是,则通过验证,若否,则中断处理。
可选的,该加密验证参数包括:
加密的验证串,其为通过公钥对客户端信息和获取数据结果条件加密得到;
加密的获取数据结果条件,其为通过公钥对获取数据结果条件加密得到。
可选的,通过所述私钥对所述加密验证参数解密,得到解密验证参数具体包括:
通过私钥对加密的验证串解密得到第一客户端信息和第一获取数据结果条件;
通过私钥对加密的获取数据结果条件解密得到第二获取数据结果条件。
可选的,判断所述验证参数是否与所述解密验证参数一致,若是,则通过验证,若否,则中断处理包括:
判断所述客户端信息与第一客户端信息是否一致,若否,则触发异常处理,若是,则判断第一获取数据结果条件与第二获取数据结果条件是否一致,若第一获取数据结果条件和第二获取数据结果条件不一致,则中断处理,若第一获取数据结果条件和第二获取数据结果条件一致,则发送满足获取数据结果条件的数据至客户端。
本发明还提供了一种Web Service服务器,包括:
生成单元,用于生成密钥对,该密钥对包括公钥和私钥;
存储单元,用于存储私钥;
第一发送单元,用于将公钥发送至客户端;
第二发送单元,用于当客户端来访问时,向客户端发送获取验证参数请求;
第一接收单元,用于接收客户端发送验证参数,该验证参数包括客户端信息和加密验证参数;
解密单元,用于通过私钥对加密验证参数解密,得到解密验证参数;
判断单元,用于判断验证参数是否与解密验证参数一致;
通过验证单元,用于当所述验证参数与所述解密验证参数一致时通过验证;
中断处理单元,用于当所述验证参数与所述解密验证参数不一致时中断处理。
可选的,
该解密单元包括:
第一解密子单元,用于通过私钥对加密的验证串解密得到第一客户端信息和第一获取数据结果条件;
第二解密子单元,用于通过私钥对加密的获取数据结果条件解密得到第二获取数据结果条件。
可选的,
该判断单元包括:
第一判断子单元,用于判断客户端信息与第一客户端信息是否一致;
第二判断子单元,用于判断第一获取数据结果条件与第二获取数据结果条件是否一致。
可选的,
该Web Service服务器还包括:
第三发送单元,用于发送满足获取数据结果条件的数据至客户端。
本发明还提供了一种客户端,包括:
第二接收单元,用于接收Web Service服务器发送的公钥;
第三接收单元,用于接收Web Service服务器发送的获取验证参数请求;
第一加密单元,用于使用公钥对客户端信息和获取数据结果条件加密得到的加密的验证串;
第二加密单元,用于使用公钥对获取数据结果条件加密得到的加密的获取数据结果条件;
第四发送单元,用于发送客户端信息、加密的验证串和加密的获取数据结果条件;
第四接收单元,用于接收满足获取数据结果条件的数据。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明中的,Web Service服务器首先生成密钥对,该密钥对包括公钥和私钥,接着,存储私钥并将公钥发送至客户端,当客户端来访问时,向客户端发送获取验证参数请求,再接收客户端发送验证参数,该验证参数包括客户端信息和加密验证参数,接着,通过私钥对加密验证参数解密,得到解密验证参数,最后判断验证参数是否与解密验证参数一致,若是,则通过验证,若否,则中断处理。上述验证方法不需要通过用户凭证来验证,通过密钥对提高了验证安全性。
附图说明
图1为本发明中一种Web Service接口验证方法一个实施例流程图;
图2为本发明中一种Web Service接口验证方法另一个实施例流程图;
图3为本发明中一种Web Service服务器实施例结构示意图;
图4为本发明中一种客户端实施例结构示意图;
图5为本发明中一种Web Service接口验证系统实施例结构示意图。
具体实施方式
本发明实施例提供了一种Web Service接口验证方法、Web Service服务器、客户端,与现有技术相比免除用户验证方式所包含的用户名、密码和访问权限,能够有效加强了验证安全性。
请参阅图1,本发明中一种Web Service接口验证方法一个实施例,包括:
101、生成密钥对,该密钥对包括公钥和私钥;
在本实施例中,Web Service服务器首先生成秘钥对,秘钥对包括公钥和私钥,该秘钥对可以为128位以上。
需要说明的是,公钥与私钥是通过一种算法得到的一个密钥对,公钥是密钥对中公开的部分,私钥则是非公开的部分。公钥通常用于加密会话密钥、验证数字签名,或加密可以用相应的私钥解密的数据。通过这种算法得到的密钥对能保证在世界范围内是唯一的。使用这个密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密。比如用公钥加密数据就必须用私钥解密,如果用私钥加密也必须用公钥解密,否则解密将不会成功。
上述加密算法可以使用安全外壳协议(SSH,Secure Shell),SSH由IETF的网络工作小组所制定,SSH为建立在应用层和传输层基础上的安全协议。SSH协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台,几乎适用所有UNIX平台。
102、存储私钥并将公钥发送至客户端;
在本实施例中,Web Service服务器将私钥存储在本地,而将公钥发送给客户端。
需要说明的是,公钥和密钥要存储在不同的地方,以免加密数据被破解。
103、当客户端来访问时,向客户端发送获取验证参数请求;
在本实施例中,当客户端访问Web Service服务器时,Web Service服务器将向客户端索取验证参数,通过获取验证参数请求的形式发送,具体的验证参数内容在后续实施例中将详细说明。
104、接收客户端发送的验证参数,该验证参数包括客户端信息和加密验证参数;
在本实施例中,Web Service服务器发送获取验证参数请求后,客户端将根据上述请求内容发送验证参数,Web Service服务器则接收上述验证参数,该验证参数包括客户端信息和加密验证参数。
105、通过私钥对加密验证参数解密,得到解密验证参数;
在本实施例中,Web Service服务器通过私钥对加密验证参数解密,得到解密验证参数。
需要说明的是,由于Web Service服务器初始生成的秘钥对是唯一的,因此访问的客户端若使用的公钥与Web Service服务器的私钥不匹配,则解密得到的解密验证参数与验证参数不一致。
106、判断验证参数是否与解密验证参数一致,若是则执行步骤107,否则执行步骤108;
107、通过验证;
108、中断处理。
在本实施例中,Web Service服务器对解密后的解密验证参数和客户端发 送的验证参数进行一致性校验,如果不一致则中断处理,如果一致则接口验证成功,可以出发后续步骤。
下面请参阅图2,本发明中一种Web Service接口验证方法另一个实施例,包括:
201、生成密钥对,该密钥对包括公钥和私钥;
202、存储私钥并将公钥发送至客户端;
203、当客户端来访问时,向客户端发送获取验证参数请求;
在本实施例中,步骤201至步骤203与步骤101至步骤103完全相同,不做赘述。
204、接收客户端发送的验证参数,该验证参数包括客户端信息和加密验证参数;
其中,加密验证参数包括:
加密的验证串,其为通过公钥对客户端信息和获取数据结果条件加密得到;
加密的获取数据结果条件,其为通过公钥对获取数据结果条件加密得到;
其中,获取数据结果条件包括索取数据的特征,例如希望得到一跟香蕉,可以描述其为一种水果、黄色,筒状、弧形,且两头尖。
在本实施例中,Web Service服务器能够接收客户端通过公钥对客户端信息和获取数据结果条件加密得到的加密的验证串、使用公钥对获取数据结果条件加密得到的加密的获取数据结果条件以及客户端信息。
需要说明的是,客户端进行二重加密,能够提高安全性。
205、通过私钥对加密的验证串解密得到第一客户端信息和第一获取数据结果条件;
在本实施例中,Web Service服务器使用私钥对加密的验证串解密能够得到第一客户端信息和第一获取数据结果条件,其中,若客户端使用的公钥与Web Service服务器所使用的秘钥不匹配,则无法解密或者解密得到的第一客户端信息和第一获取数据结果条件与原客户端信息及获取数据结果条件不符。
206、通过私钥对加密的获取数据结果条件解密得到第二获取数据结果条 件;
在本实施例中,Web Service服务器使用私钥对加密的获取数据结果条件解密得到第二获取数据结果条件,此处与原获取数据结果条件和解密得到的获取数据结果条件相区分。若客户端使用的公钥与Web Service服务器所使用的秘钥不匹配,则无法解密或者解密得到的第一数据结果条件与第二获取数据结果条件不符。
207、判断客户端信息与第一客户端信息是否一致,若是则执行步骤209,否则执行步骤208;
208、触发异常处理;
209、判断第一获取数据结果条件与第二获取数据结果条件是否一致,若是则执行步骤211,否则执行步骤210;
210、中断处理;
211、发送满足获取数据结果条件的数据至客户端。
在本实施例中,Web Service服务器判断客户端信息与第一客户端信息是否一致,不一致则进行异常处理,一致则继续判断第一获取数据结果条件与第二获取数据结果条件是否一致,若不一致则中断,若一致则将满足获取数据结果条件的数据发给客户端。
本实施例中,在第一实施例的基础上不但增加双重校验步骤,而且还能根据获取数据结果条件推送相应数据,使得验证过程可控。最后,Web Service服务器还可以更新密钥对,客户端替换新公钥,继续循环该方案。
上面对本发明提供的一种Web Service接口验证方法实施例进行了描述,下面请参阅图3,本发明还提供了一种Web Service服务器实施例,包括:
生成单元301,用于生成密钥对,该密钥对包括公钥和私钥;
存储单元302,用于存储私钥;
第一发送单元303,用于将公钥发送至客户端;
第二发送单元304,用于当客户端来访问时,向客户端发送获取验证参数请求;
第一接收单元305,用于接收客户端发送的验证参数,该验证参数包括客户端信息和加密验证参数;
解密单元306,用于通过私钥对加密验证参数解密,得到解密验证参数;
判断单元307,用于判断验证参数是否与解密验证参数一致;
通过验证单元308,用于当所述验证参数与所述解密验证参数一致时通过验证;
中断处理单元309,用于当所述验证参数与所述解密验证参数不一致时中断处理。
其中,解密单元306包括:
第一解密子单元3061,用于通过私钥对加密的验证串解密得到第一客户端信息和第一获取数据结果条件;
第二解密子单元3062,用于通过私钥对加密的获取数据结果条件解密得到第二获取数据结果条件;
判断单元307包括:
第一判断子单元3071,用于判断客户端信息与第一客户端信息是否一致;
第二判断子单元3072,用于判断第一获取数据结果条件与第二获取数据结果条件是否一致。
该Web Service服务器进一步包括:
第三发送单元310,用于发送满足获取数据结果条件的数据至客户端。
下面以一个应用中的例子对上述单元之间的通信关系进行说明:
首先,生成单元301生成密钥对,该密钥对包括公钥和私钥;
接着,存储单元302存储私钥,第一发送单元303将公钥发送至客户端;
当客户端来访问时,第二发送单元304向客户端发送获取验证参数请求;
在本实施例中,该验证参数包括:客户端信息和加密验证参数;
该加密验证参数包括:
加密的验证串,其为通过公钥对客户端信息和获取数据结果条件加密得到;
加密的获取数据结果条件,其为通过公钥对获取数据结果条件加密得到。
其中,获取数据结果条件包括索取数据的特征,例如希望得到一跟香蕉,可以描述其为一种水果、黄色,筒状、弧形,且两头尖。
再由第一接收单元305接收客户端通过公钥对客户端信息和获取数据结 果条件加密得到的加密的验证串、使用公钥对获取数据结果条件加密得到的加密的获取数据结果条件以及客户端信息。
在本实施例中,Web Service服务器能够接收客户端通过公钥对客户端信息和获取数据结果条件加密得到的加密的验证串、使用公钥对获取数据结果条件加密得到的加密的获取数据结果条件以及客户端信息。
需要说明的是,客户端进行二重加密,能够提高安全性。
第一解密子单元3061通过私钥对加密的验证串解密得到第一客户端信息和第一获取数据结果条件;
在本实施例中,Web Service服务器使用私钥对加密的验证串解密能够得到第一客户端信息和第一获取数据结果条件,其中,若客户端使用的公钥与Web Service服务器所使用的秘钥不匹配,则无法解密或者解密得到的第一客户端信息和第一获取数据结果条件与原客户端信息及获取数据结果条件不符。
第二解密子单元3062通过私钥对加密的获取数据结果条件解密得到第二获取数据结果条件;
在本实施例中,Web Service服务器使用私钥对加密的获取数据结果条件解密得到第二获取数据结果条件,此处与原获取数据结果条件和解密得到的获取数据结果条件相区分。若客户端使用的公钥与Web Service服务器所使用的秘钥不匹配,则无法解密或者解密得到的第一数据结果条件与第二获取数据结果条件不符。
第一判断子单元3071判断客户端信息与第一客户端信息是否一致;
第二判断子单元3072判断第一获取数据结果条件与第二获取数据结果条件是否一致;
最后,第三发送单元310发送满足获取数据结果条件的数据至客户端。
请参阅图4,本发明提供的一种客户端实施例,具体包括:
第二接收单元401,用于接收Web Service服务器发送的公钥;
第三接收单元402,用于接收Web Service服务器发送的获取验证参数请求;
第一加密单元403,用于使用公钥对客户端信息和获取数据结果条件加密 得到的加密的验证串;
第二加密单元404,用于使用公钥对获取数据结果条件加密得到的加密的获取数据结果条件;
第四发送单元405,用于发送客户端信息、加密的验证串和加密的获取数据结果条件;
第四接收单元406,用于接收满足获取数据结果条件的数据。
下面以一个实际应用中的例子对上述单元之间的通信关系进行描述:
首先,第二接收单元401接收Web Service服务器发送的公钥;
然后,第三接收单元402接收Web Service服务器发送的获取验证参数请求;
接着,第一加密单元403使用公钥对客户端信息和获取数据结果条件加密得到的加密的验证串;第二加密单元404使用公钥对获取数据结果条件加密得到的加密的获取数据结果条件;
再由第四发送单元405将上述户端信息、加密的验证串和加密的获取数据结果条件发给web服务器;
最后,第四接收单元406接收满足获取数据结果条件的数据。
下面请参阅图5,本发明提供的一种Web Service接口验证系统,具体包括:
Web Service服务器501和客户端502;
Web Service服务器501与客户端502建立通信;
该Web Service服务器501包括:
生成单元5011,用于生成密钥对,密钥对包括公钥和私钥;
存储单元5012,用于存储私钥;
第一发送单元5013,用于将公钥发送至客户端;
第二发送单元5014,用于当客户端来访问时,向客户端发送获取验证参数请求;
第一接收单元5015,用于接收客户端发送的通过公钥加密的验证参数和验证参数;
解密单元5016,用于通过私钥对所述加密验证参数解密,得到解密验证 参数;
判断单元5017,用于判断验证参数是否与解密验证参数一致;
通过验证单元5018,用于当所述验证参数与所述解密验证参数一致时通过验证;
中断处理单元5019,用于当所述验证参数与所述解密验证参数不一致时中断处理。
其中,解密单元5016进一步包括
第一解密子单元50161,用于通过私钥对加密的验证串解密得到第一客户端信息和第一获取数据结果条件;
第二解密子单元50162,用于通过私钥对加密的获取数据结果条件解密得到第二获取数据结果条件;
判断单元5017包括:
第一判断子单元50171,用于判断客户端信息与第一客户端信息是否一致;
第二判断子单元50172,用于判断第一获取数据结果条件与第二获取数据结果条件是否一致;
第三发送单元5010,用于发送满足获取数据结果条件的数据至客户端。
该客户端502包括:
第二接收单元5021,用于接收web服务器发送的公钥;
第三接收单元5022,用于接收web服务器发送的获取验证参数请求;
第一加密单元5023,用于使用公钥对客户端信息和获取数据结果条件加密得到的加密的验证串;
第二加密单元5024,用于使用公钥对获取数据结果条件加密得到的加密的获取数据结果条件;
第四发送单元5025,用于发送客户端信息、加密的验证串和加密的获取数据结果条件;
第四接收单元5026,用于接收满足获取数据结果条件的数据。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,系统和单元的具体工作过程,可以参考前述方法实施例中的对应 过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统可以通过其它的方式实现。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
机译: 电气设备的远程控制系统,例如建筑物中的空调设备具有Web服务器,该Web服务器将从Web客户端接收的命令传输到集中式技术管理服务器,以控制电气设备
机译: 当客户端希望访问Web服务器上的数据时,使用连接到身份验证服务的Web服务器对旧服务器进行客户端身份验证
机译: / Web电话系统基于Web服务器/呼叫服务器集成的Web呼叫电话和客户端服务业务模型