一种应用的访问控制方法及装置与流程

文档序号:11236764阅读:612来源:国知局
一种应用的访问控制方法及装置与流程

本发明涉及计算机应用领域,特别涉及一种应用的访问控制方法及装置。



背景技术:

在移动互联网时代,很多企业随着业务规模和种类的扩展,企业内部的应用软件数量越来越多,同时,各应用软件之间的相互调用也越来越普遍。如此,互联网环境中的各种黑客软件很容易利用应用软件间的调用关系,对企业内部的应用软件进行攻击和破坏。例如,如果一个应用软件被黑客入侵,则黑客可以通过该应用软件非法访问企业内的其他应用软件。

目前尚未提出一种网络环境下的应用的访问控制方案,以防止互联网环境中各种非法访问对应用的攻击和破坏,确保应用的安全性。



技术实现要素:

有鉴于此,本发明实施例提供一种应用的访问控制方法,该方法能够保证访问应用的安全性。

本发明实施例还提供一种应用的访问控制装置,该装置能够保证访问应用的安全性。

根据上述目的,本发明是这样实现的:

一种应用的访问控制方法,包括:

第一应用接收第二应用的超文本传输协议http请求,所述http请求的统一资源定位符url中携带所述第二应用的接入关键词、随机数及签名数据;

所述第一应用根据所述第二应用的接入关键词确定所述第二应用被允许访问所述第一应用,根据所述第二应用的随机数确定所述http请求为非重复请求,以及根据所述第二应用的签名数据确定所述http请求未被篡改,则所述第一应用响应所述第二应用的所述http请求。

所述第一应用设置有配置文件,所述配置文件中至少包括:

所述第一应用的接入关键词appkey;

所述第一应用的校验密码secret;以及,

被允许访问所述第一应用的应用的appkey和secret。

所述第一应用根据所述第二应用的接入关键词确定所述第二应用被允许访问所述第一应用,包括:

所述第一应用从所述第二应用的http请求中获取所述第二应用的appkey;

所述第一应用确定所述第一应用的配置文件中是否包括所述第二应用的appkey,如果包括,则所述第一应用确定所述第二应用被允许访问所述第一应用。

所述第一应用根据所述第二应用的随机数确定所述http请求为非重复请求,包括:

所述第一应用确定所述第一应用的访问记录中是否包括所述第二应用的随机数;其中,所述第一应用的访问记录中包括访问过所述第一应用的应用的随机数;

如果所述第一应用的访问记录中包括所述第二应用的随机数,所述第一应用确定所述第二应用的http请求为非重复请求。

所述第一应用根据所述第二应用的签名数据确定所述http请求未被篡改,包括:

所述第一应用从所述第一应用的配置文件中查询所述第二应用的appkey和secret;

所述第一应用根据查询到的所述第二应用的appkey和secret计算所述第二应用的签名数据;

所述第一应用确定计算出的所述第二应用的签名数据与所述http请求中的签名数据是否一致;

如果一致,所述第一应用确定所述http请求未被篡改。

所述第一应用根据查询到的所述第二应用的appkey和secret计算所述第二应用的签名数据,包括:

若所述http请求为get请求,则所述第一应用根据公式sign=md5(uri+params+appkey+nonce+secret)计算所述第二应用的签名数据;

若所述http请求为post请求,则所述第一应用根据公式sign=md5(uri+appkey+nonce+secret).getbyte+body.getbyte计算所述第二应用的签名数据;

上述公式中,sign为签名数据,uri为所述第二应用的统一资源标识符,params为get请求的参数,appkey为所述第一应用从配置文件中查询到的所述第二应用的appkey,nonce为http请求中携带的随机数,secret为所述第一应用从配置文件中查询到的所述第二应用的校验密码,body为post请求的数据体,getbyte是取二进制数据,md5为所采用的密码算法。

所述get请求中的url还包括所述第一应用的uri及params。

所述post请求中的url还包括所述第一应用的uri。

一种应用的访问控制装置,包括:接收模块、过滤器及验证模块,其中,

接收模块,用于接收第二应用的http请求,所述http请求的url中携带所述第二应用的接入关键词、随机数及签名数据;

过滤器,用于根据所述第二应用的接入关键词确定所述第二应用被允许访问所述第一应用;

验证模块,用于根据所述第二应用的随机数确定所述http请求为非重复请求,以及根据所述第二应用的签名数据确定所述http请求未被篡改,则所述第一应用响应所述第二应用的所述http请求。

还包括:设置模块及发送模块,其中,

设置模块,用于设置第二应用的http请求,所述http请求的url中携带所述第二应用的接入关键词、随机数及签名数据;

发送模块,用于将http请求发送。

由上述方案可以看出,本发明实施例在访问第一应用时,发送第二应用超文本传输协议(http)请求,所述请求中的统一资源定位符(url)携带有第二应用的接入关键词、随机数及签名数据,第一应用根据请求中的接入关键词确定是否允许被访问,根据随机数确定是否被重复请求,根据签名数据确定请求中的数据是否被篡改,这样,就可以保证访问应用的安全性。

附图说明

图1为本发明实施例提供的一种应用的访问控制方法流程图;

图2为本发明实施例提供的一种应用的访问控制装置结构示意图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明作进一步详细说明。

为了在访问应用时保证安全性,本发明实施例在发送第二应用的超文本传输协议http请求的url携带有为能够访问第一应用的第二应用的接入关键词、随机数及签名数据,第一应用根据请求中的接入关键词确定是否允许被访问,根据随机数确定是否被重复请求,根据签名数据确定请求中的数据是否被篡改。

图1为本发明实施例提供的应用访问控制方法流程图,其具体步骤为:

步骤101、第一应用被访问时,接收第二应用发送的http请求,所述http请求的url中携带所述第二应用的接入关键词、随机数及签名数据;

在本步骤中,每一个应用都对应唯一接入关键词(appkey),在被访问时,对应唯一的第一应用的第二应用的接入关键词(accesskey);

步骤102、第一应用根据所述第二应用的接入关键词确定所述第二应用被允许访问所述第一应用;

在本步骤中,如果第一应用确认所述第二应用的接入关键词是能够访问第一应用的第二应用对应的接入关键词,则允许被访问,否则,则第一应用不允许被访问;

在本步骤中,在应用中设置过滤器,能够从url获得所述第二应用的接入关键词后进行验证;

步骤103、第一应用根据所述第二应用的随机数确定所述http请求为非重复请求;

在本步骤中,第一应用查询自身存储的访问记录,如果第一应用确认所述随机数已经出现过,则说明所述请求为重复请求,直接不接受请求,如果不是,则接受请求;

步骤104、第一应用根据所述第二应用的签名数据确定所述http请求未被篡改,则所述第一应用响应所述第二应用的所述http请求;

在本步骤中,第一应用对签名数据进行验证,如果验证通过,则所述http请求携带的数据没有被篡改,如果验证不通过,则所述http请求带的数据被篡改。

在该方法中,所述http请求为get请求或post请求。

在该方法中,每一个应用都记为app,比如app01,app02,…,appn。每个应用都设置有appkey以及校验密码(secret),每个应用还有自己可以访问的其他应用,同理其他应用也可以访问自身应用。因此,每个应用都具有配置文件,其中配置文件中包含的内容至少为:appkey、secret、可以被访问的应用的appkey和secret的集合,简称为allowdeaccesskeyandsecrets。将应用的配置文件设置在计算机网络侧中,应用在使用时就能够读取该配置文件,确定自己的appkey和secret,也确定可以被访问的appkey及secret。应用的配置文件是计算机网络的鉴权服务的基础,也是应用访问保护的基础。

在该方法中,应用确定了自身的配置文件后,通过计算机网络访问其他应用时就可以使用配置文件,完成对其他应用的访问,也就是第二应用对第一应用的访问。

在该方法中,http请求为get请求时,在get请求中的url中设置了第二应用的接入关键词、随机数及签名数据,其中,所述接入关键词为第二应用的appkey,第二应用的签名数据的计算公式如公式(1):

sign=md5(uri+params+appkey+nonce+secret)公式(1);

其中,uri为所述第二应用的统一资源标识符,params为get请求的参数,appkey为所述第一应用从配置文件中查询到的所述第二应用的appkey,nonce为http请求中携带的随机数,secret为所述第一应用从配置文件中查询到的所述第二应用的校验密码。

在get请求中的url中还可以包括第一应用的uri及params。

在该方法中,http请求为post请求时,在post请求中的url中设置了第二应用的接入关键词、随机数及签名数据,所述接入关键词为第二应用的appkey,第二应用的签名数据的计算公式如公式(2):

sign=md5(uri+appkey+nonce+secret).getbyte+body.getbyte公式(2);

其中,uri为所述第二应用的统一资源标识符,params为get请求的参数,appkey为所述第一应用从配置文件中查询到的所述第二应用的appkey,nonce为http请求中携带的随机数,secret为所述第一应用从配置文件中查询到的所述第二应用的校验密码,body为post请求的数据体,getbyte是取二进制数据,md5为所采用的密码算法。

在post请求中的url中还包括第一应用的uri。

在该方法中,经过了sign签名的get请求或post请求,就可以保证应用间调用的数据不可以被篡改,一旦有篡改就无法被第一应用处理。

在本发明实施例中,将http请求中的url按照上述设置,并将http请求中的url设置规则及应用的过滤器验证规则进行编程后封装,打包为软件开发工具包(sdk)文件,供应用间的访问时调用该sdk文件进行http请求的设置。

图2为本发明实施例提供的一种应用的访问控制装置结构示意图,如果为被访问应用,也就是第一应用,包括:接收模块201、过滤器202及验证模块203,其中,

接收模块201,用于接收第二应用的http请求,所述http请求的url中携带所述第二应用的接入关键词、随机数及签名数据;

过滤器202,用于根据所述第二应用的接入关键词确定所述第二应用被允许访问所述第一应用;

验证模块203,用于根据所述第二应用的随机数确定所述http请求为非重复请求,以及根据所述第二应用的签名数据确定所述http请求未被篡改,则所述第一应用响应所述第二应用的所述http请求。。

在该装置中,如果为访问应用,也就是第二应用,还包括:设置模块204及发送模块205,其中,

设置模块204,用于设置第二应用的http请求,所述http请求的url中携带所述第二应用的接入关键词、随机数及签名数据;

发送模块205,用于将http请求发送。

在该装置中,所述http请求为get请求或post请求。

以上举较佳实施例,对本发明的目的、技术方案和优点进行了进一步详细说明,所应理解的是,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1