[发明专利]数据访问方法、服务器和终端有效
申请号: | 201110388487.1 | 申请日: | 2011-11-29 |
公开(公告)号: | CN103139163A | 公开(公告)日: | 2013-06-05 |
发明(设计)人: | 阳鹤翔 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L9/32 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 苏培华 |
地址: | 英属开曼群岛大开*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 访问 方法 服务器 终端 | ||
技术领域
本申请涉及网络技术领域,特别是涉及一种数据访问方法、服务器和终端。
背景技术
随着网络和电子商务的飞速发展,越来越多的服务平台应运而生,这些服务平台为了给使用者提供更多更好的服务,常常需要接入第三方应用。在这种情况下,用户在使用这些平台提供的多样化服务的同时,使用这些应用和服务的安全性也不断受到挑战。
第三方应用与服务平台API(Application Programming Interface,应用程序接口)服务器之间的通信安全性是用户使用平台提供的应用和服务的安全性的主要方面。为了保证这种安全性,通常会在提出第三方应用请求时,对请求进行加密。如,淘宝开放平台为了保证第三方应用与淘宝开放平台API服务器之间通信的安全性,防止信息盗用、数据篡改等恶意攻击行为,淘宝开放平台API服务器使用了APIKEY(API签名)的签名机制。
这种签名机制在应用API时,需要通过一个客户端程序(非浏览器程序)向服务器端发送一个APIKEY,在APIKEY获得通过后,才能应用请求的API,并且,该APIKEY将在整个应用过程中一直使用。然而,如果该固定APIKEY在应用API过程中被非合法使用者恶意获取,尤其是在使用移动终端进行无线通信的环境下,则该恶意获取者可以非法无数次的用该APIKEY使用API,进行非法活动,造成APIKEY合法用户的损失。
总之,需要本领域技术人员迫切解决的一个技术问题就是:如何能够保证终端用户访问和应用API的安全性。
发明内容
本申请提供了一种数据访问方法、服务器和终端,以解决现在技术中,终端用户,尤其是通过客户端程序访问和应用API的安全性的问题。
为了解决上述问题,本申请公开了一种数据访问方法,包括:在一次终端通过客户端程序请求使用服务器端的应用程序接口API的过程中,所述服务器端接收所述终端发送的使用所述API的请求,所述请求中包括应用程序接口签名APIKEY,所述APIKEY由所述终端根据所述服务器端发送的动态密钥和所述终端保存的公钥生成,所述客户端程序包括除浏览器之外的用于请求所述服务器端的API的应用程序;所述服务器端根据所述请求确定所述终端发送的APIKEY与所述服务器端的APIKEY一致;所述服务器端允许所述终端使用所述API,并生成新的动态密钥发送给所述终端在下一次请求中使用。
优选地,所述APIKEY由所述终端根据所述服务器端发送的动态密钥和所述终端保存的公钥生成包括:所述终端根据所述服务器端发送的所述动态密钥、存储的与所述服务器端一致的公钥和/或请求参数,使用加密算法,生成所述APIKEY。
优选地,所述请求还包括所述终端的客户端标识;所述服务器端根据所述请求确定所述终端发送的APIKEY与所述服务器端的APIKEY一致的步骤包括:所述服务器端根据所述客户端标识,获得所述服务器端存储的所述动态密钥;使用与所述终端相同的所述加密算法,根据获得的所述动态密钥生成所述服务器端的APIKEY;判断所述服务器端的APIKEY与所述终端发送的所述APIKEY是否一致;若是,则确定所述终端发送的APIKEY与所述服务器端的APIKEY一致。
优选地,在所述服务器端生成新的动态密钥发送给所述终端在下一次请求中使用的步骤之后,还包括:若所述服务器端向所述终端发送所述新的动态密钥失败,则所述服务器端向所述终端发送错误信息,并在所述错误信息中携带所述新的动态密钥;或者,若所述服务器端向所述终端发送所述新的动态密钥失败,所述服务器端保存生成所述APIKEY的所述动态密钥,根据保存的所述动态密钥决定是否允许所述终端下一次请求使用API。
优选地,在所述服务器端接收所述终端发送的使用所述API的请求的步骤之前,还包括:所述服务器端接收所述终端发送的请求与安全无关的页面的请求,向所述终端返回所述终端的客户端标识和所述动态密钥。
为了解决上述问题,本申请还公开了一种服务器,包括:第一接收模块,用于在一次终端通过客户端程序请求使用所述服务器的应用程序接口API的过程中,接收所述终端发送的使用所述API的请求,所述请求中包括应用程序接口签名APIKEY,所述APIKEY由所述终端根据所述服务器发送的动态密钥和所述终端保存的公钥生成,所述客户端程序包括除浏览器之外的用于请求所述服务器端的API的应用程序;校验模块,用于根据所述请求确定所述终端发送的APIKEY与所述服务器的APIKEY一致;生成发送模块,用于允许所述终端使用所述API,并生成新的动态密钥发送给所述终端在下一次请求中使用。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110388487.1/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置