[发明专利]安全调用表述性状态转移应用编程接口的方法和系统在审
申请号: | 201510208327.2 | 申请日: | 2015-04-28 |
公开(公告)号: | CN104780176A | 公开(公告)日: | 2015-07-15 |
发明(设计)人: | 陈岚;肖京;雷君 | 申请(专利权)人: | 中国科学院微电子研究所 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L9/32 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王宝筠 |
地址: | 100029 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 安全 调用 表述 性状 转移 应用 编程 接口 方法 系统 | ||
技术领域
本发明涉及计算机网络技术领域,更具体地说,涉及一种安全调用表述性状态转移应用编程接口的方法和系统。
背景技术
REST(Representational State Transfer,表述性状态转移)是一种针对网络应用的设计和开发方式。当前,REST的流行使得越来越多的框架开始支持REST,为我们构建下一代高性能、高可伸缩性、简单性、可移植性以及高可靠性的Web程序提供了一个架构风格上的准则。其中,REST风格架构具有如下特点:所有的事物都被抽象为资源,每个资源都对应一个唯一的资源标示符URI,对资源的各类操作并不会改变其资源标示符URI,所有的操作都是无状态的。
随着使用者对安全性的要求越来越高,关于REST的安全话题已经成为人们关注的重点之一。由于REST-API(Application Programming Interface,应用编程接口)的无状态性,即下一次的调用请求和这一次的调用请求是完全无关的,因此,每一次调用请求都得做身份认证。但是,由于TLS(Transport Layer Security,安全传输层协议)的服务器端配置相对复杂,且其对客户端的兼容性较差,不适用于这种数据量大、调用频度高的泛在网络的物联网应用,因此,必须依靠开发人员定义自己的安全方法来维护资源的操作,防止调用REST-APT时受到攻击。
发明内容
有鉴于此,本发明提供了一种安全调用表述性状态转移应用编程接口的方法和系统,以保证调用REST-API的安全性,防止调用REST-APT时受到攻击。
为实现上述目的,本发明提供如下技术方案:
一种安全调用表述性状态转移应用编程接口的方法,包括:
接收用户发送的表述性状态转移应用编程接口调用请求,所述调用请求包括所述用户的用户名、请求调用参数、时间戳和签名;
判断所述用户是否为注册用户;
若为未注册用户,则拒绝所述调用请求,并向所述用户返回错误信息;
若为注册用户,则根据数据库中保存的所述用户的密码以及所述时间戳和请求调用参数生成参考签名,并判断所述参考签名与所述用户发送的签名是否一致;
若不一致,拒绝所述调用请求,并向所述用户返回错误信息;
若一致,判断接收所述调用请求的时间是否在有效期内,若在有效期内,同意所述调用请求,并向所述用户返回请求调用数据,若不在,则拒绝所述调用请求,并向所述用户返回错误信息。
优选的,所述签名是根据所述请求调用参数、时间戳和所述用户的密码生成并加密的,所述参考签名与所述签名的生成和加密方式相同。
优选的,所述接收用户发送的表述性状态转移应用编程接口调用请求之前,还包括:
接收所述用户的注册请求,并对所述用户进行认证,认证通过后,向所述用户发送授权的用户名和对应的密码,所述用户名和密码与所述用户一一对应。
优选的,所述判断接收所述调用请求的时间是否在有效期内包括:
判断接收所述调用请求的时间与当前时间是否相差不超过10s;
若不超过,则在有效期内,若超过,则不在有效期内。
优选的,所述向所述用户返回的错误信息是指提示所述用户拒绝所述调用请求的原因的信息。
一种安全调用表述性状态转移应用编程接口的系统,包括:
接收模块,用于接收用户发送的表述性状态转移应用编程接口调用请求,所述调用请求包括所述用户的用户名、请求调用参数、时间戳和签名;
第一判断模块,用于判断所述用户是否为注册用户,若为未注册用户,则拒绝所述调用请求,并发送第一控制指令至发送模块,若为注册用户,则发送第二控制指令至加密模块;
加密模块,用于在接收到所述第二控制指令后,根据数据库中保存的所述用户的密码以及所述时间戳和请求调用参数生成参考签名,并将所述签名发送至第二判断模块;
第二判断模块,用于判断所述参考签名与所述用户发送的签名是否一致,若不一致,则拒绝所述调用请求,并发送所述第一控制指令至发送模块,若一致,进一步判断接收所述调用请求的时间是否在有效期内,若在有效期内,则同意所述调用请求,并发送第三控制指令至发送模块,若不在,则拒绝所述调用请求,并发送所述第一控制指令至发送模块;
发送模块,用于在接收到所述第一控制指令后,向所述用户返回错误信息;在接收到所述第三控制指令后,向所述用户返回请求调用数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院微电子研究所,未经中国科学院微电子研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510208327.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:物联网感知设备云端仿真系统的信息安全保障方法
- 下一篇:一种内容安全存取方法