一种基于签名机制的REST安全系统技术方案

技术编号:8685611 阅读:289 留言:0更新日期:2013-05-09 05:13
本发明专利技术提供一种基于签名机制的REST安全系统,本系统是以签名机制为核心,在http请求中封装sessionkey和参数的md5加密信息,通过传递这种加密过的数据以应对黑客在传输中的拦截和数据篡改等恶意攻击,同时加密数据也可以保护用户的隐私信息,达到安全的目的与现有技术相比较,本发明专利技术至少具有如下有益效果:本发明专利技术的基于签名的REST使用模型,在API方法被调用之前通过认证授权先限制非法用户访问本应用,然后当用户通过认证后访问API时,获取这个API所属应用的私钥,再在请求中获取此RESTAPI要求的参数,根据参数和私钥两项使用约定好的格式把他们组织起来,然后进行md5加密,加密后的数据放置到请求里;从而达到安全的目的。

【技术实现步骤摘要】

本专利技术涉及web安全领域,具体地说是一种基于签名机制的REST安全系统
技术介绍
当前,REST的流行使得越来越多的框架开始支持REST,REST—表述性状态转移,为我们构建下一代高性能、高可伸缩性、简单性、可移植性、可靠性的Web程序提供了一个架构风格上的准则。Web是简单的,Web更是可编程的,REST利用简单的HTTP、URI标准和XML语言构建起轻量级的Web服务,从而大幅度地提升了开发效率和程序性能 在这个过程中,随着安全成为了 SOA实现的主要宗旨之一,以及REST迅速成为流行的SOA实现方案之一,关于REST安全成为了及时的话题。因为REST是基于HTTP的,而REST服务有跟标准的web应用一样的容易受攻击的倾向,并且REST没有预定义的安全方法,必须依靠开发人员定义自己的安全方法来维护资源调用。为此,我们提出一 种基于签名机制的REST安全模型,以满足安全的需要。
技术实现思路
本专利技术的目的是提供一种基于签名机制的REST安全系统。能够使web用户可以在使用网络提供的API时更加安全。本专利技术的目的是按以下方式实现的,本系统是以签名机制为核心,在http请求中封装session key和参数的md5加密信息,通过传递这种加密过的数据以应对黑客在传输中的拦截和数据篡改等恶意攻击,同时加密数据也可以保护用户的隐私信息,达到安全的目的。系统结构包括:认证授权单元(1),请求封装单元(2),异常处理单元(3),其中: 认证授权单元(I)包括用户验证和用户授权两个模块;用于确保用户的认证和用户授权的用途,确保用户知道他授予什么样的数据和权限,在调用rest类型api的时候首先需要经过认证授权保证用户的合法性,然后通过在请求里添加签名防止session key的盗用以及数据篡改等恶意攻击行为的发生; 签名单元(2)根据请求参数和应用的私钥生成一个签名,并将这个签名追加到用户请求中; 异常处理单元(3)负责处理REST API调用失败时抛出的异常; 具体步骤如下: 第一步:验证与授权,客户端应用在调用REST API之前,必须获得认证授权系统的授权,从技术的角度来看获得授权就是获取一个Session Key ; 第二步:接口调用,先定义一个签名方法: S: { 将请求参数格式化为“key=value”格式,即“kl=vl”、“k2=v2”、“k3=v3” ; 将上述格式化好的参数键值对,以字典序升序排列后,拼接在一起,即“kl=vlk2=v2k3=v3” ;在拼接好的字符串末尾追加上API应用的私钥; 上述字符串的MD5值即为签名的值;} 接着使用这个方法对请求进行处理得到签名;第三步:发送请求,通过HTTP协议,客户端使用HTTP的标准方法与服务器端通信;第四步:异常处理,由于每个API调用都是通过发送HTTP请求来完成的,因此都有可能因为发送的参数不合法、发送频率过快次数过多、平台服务器出问题各种原因而导致API调用失败,API调用失败时服务器端会抛出一个异常,并将异常信息序列化后返回给客户端,客户端根据异常信息的类型做异常处理的操作。本专利技术的有益效果是:该系统与现有技术相比较,是基于签名的REST使用模型,在API方法被调用之前通过认证授权先限制非法用户访问本应用,然后当用户通过认证后访问API时,获取这个API所属应用的私钥,再在请求中获取此REST API要求的参数,根据参数和私钥两项使用约定好的格式把他们组织起来,然后进行md5加密,加密后的数据放置到请求里;从而达到安全的目的。附图说明图1是根据本专利技术用户如何安全地调用应用服务器的API流程 图2是用于安全调用REST API的系统结构示意图。具体实施例方式参照说明书附图对本专利技术的方法作以下详细地说明。第一步:验证与授权,客户端应用在调用REST API之前,必须获得认证授权系统的授权。从技术的角度来看获得授权就是获取一个Session Key ; 第二步:接口调用,这里我们先定义一个签名算法: S: { 将请求参数格式化为“key=value”格式,即“kl=vl”、“k2=v2”、“k3=v3” ; 将上述格式化好的参数键值对,以字典序升序排列后,拼接在一起,即“kl=vlk2=v2k3=v3” ; 在拼接好的字符串末尾追加上API应用的私钥; 上述字符串的MD5值即为签名的值;} 接着我们使用这个算法对请求进行处理得到签名;第三步:发送请求,通过HTTP协议,客户端使用HTTP的标准方法与服务器端通信;第四步:异常处理,由于每个API调用都是通过发送HTTP请求来完成的,因此都有可能因为发送的参数不合法、发送频率过快次数过 多、平台服务器出问题等原因而导致API调用失败。API调用失败时服务器端会抛出一个异常,并将异常信息序列化后返回给客户端,客户端根据异常信息的类型做异常处理的操作。除说明书所述的技术特征外,均为本专业技术人员的已知技术。本文档来自技高网...

【技术保护点】
一种基于签名机制的REST安全系统,?其特征在于系统包括:认证授权单元(1),请求封装单元(2),异常处理单元(3),其中:认证授权单元(1)包括用户验证和用户授权两个模块;用于确保用户的认证和用户授权的用途,确保用户知道他授予什么样的数据和权限,在调用rest类型api的时候首先需要经过认证授权保证用户的合法性,然后通过在请求里添加签名防止session?key的盗用以及数据篡改等恶意攻击行为的发生;签名单元(2)根据请求参数和应用的私钥生成一个签名,并将这个签名追加到用户请求中;异常处理单元(3)负责处理REST?API调用失败时抛出的异常;具体步骤如下:第一步:验证与授权,客户端应用在调用REST?API之前,必须获得认证授权系统的授权,从技术的角度来看获得授权就是获取一个Session?Key;第二步:接口调用,先定义一个签名方法:S:{将请求参数格式化为“key=value”格式,即“k1=v1”、“k2=v2”、“k3=v3”;?将上述格式化好的参数键值对,以字典序升序排列后,拼接在一起,即“k1=v1k2=v2k3=v3”;?在拼接好的字符串末尾追加上API应用的私钥;?上述字符串的MD5值即为签名的值;}接着使用这个方法对请求进行处理得到签名;第三步:发送请求,通过HTTP协议,客户端使用HTTP的标准方法与服务器端通信;第四步:异常处理,由于每个API调用都是通过发送HTTP请求来完成的,因此都有可能因为发送的参数不合法、发送频率过快次数过多、平台服务器出问题各种原因而导致API调用失败,API调用失败时服务器端会抛出一个异常,并将异常信息序列化后返回给客户端,客户端根据异常信息的类型做异常处理的操作。...

【技术特征摘要】
1.一种基于签名机制的REST安全系统,其特征在于系统包括:认证授权单元(1),请求封装单元(2),异常处理单元(3),其中: 认证授权单元(1)包括用户验证和用户授权两个模块;用于确保用户的认证和用户授权的用途,确保用户知道他授予什么样的数据和权限,在调用rest类型api的时候首先需要经过认证授权保证用户的合法性,然后通过在请求里添加签名防止session key的盗用以及数据篡改等恶意攻击行为的发生; 签名单元(2)根据请求参数和应用的私钥生成一个签名,并将这个签名追加到用户请求中; 异常处理单元(3)负责处理REST API调用失败时抛出的异常; 具体步骤如下: 第一步:验证与授权,客户端应用在调用REST API之前,必须获得认证授权系统的授权,从技术的角度来看获得授权就是获取一个Session Key ; 第二步:...

【专利技术属性】
技术研发人员:王帅张培训刘俊朋许磊刘凡凡
申请(专利权)人:浪潮电子信息产业股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1