CN103179111A - 一种防止Web 服务被非法调用的方法 - Google Patents

一种防止Web 服务被非法调用的方法 Download PDF

Info

Publication number
CN103179111A
CN103179111A CN2013100763376A CN201310076337A CN103179111A CN 103179111 A CN103179111 A CN 103179111A CN 2013100763376 A CN2013100763376 A CN 2013100763376A CN 201310076337 A CN201310076337 A CN 201310076337A CN 103179111 A CN103179111 A CN 103179111A
Authority
CN
China
Prior art keywords
token
web service
time
call
calling
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2013100763376A
Other languages
English (en)
Other versions
CN103179111B (zh
Inventor
史海波
于海斌
潘福成
里鹏
胡国良
段彬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuxi Cas Ui Information Technology Research & Development Center Co ltd
Shenyang Institute of Automation of CAS
Original Assignee
Wuxi Cas Ui Information Technology Research & Development Center Co ltd
Shenyang Institute of Automation of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuxi Cas Ui Information Technology Research & Development Center Co ltd, Shenyang Institute of Automation of CAS filed Critical Wuxi Cas Ui Information Technology Research & Development Center Co ltd
Priority to CN201310076337.6A priority Critical patent/CN103179111B/zh
Publication of CN103179111A publication Critical patent/CN103179111A/zh
Application granted granted Critical
Publication of CN103179111B publication Critical patent/CN103179111B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明提出一种防止Webservice被非法调用的方法,Webservice使用者若使用Webservice提供者提供的服务,Webservice使用者必须提供调用令牌,Webservice提供者经验证后才能提供服务。所述调用令牌是Webservice提供者验证合法调用的唯一凭证,调用令牌的特征是动态的,以防止令牌的泄露。本发明不依赖于第三方服务,其优点在于:(1)方法简单易用低成本;(2)具有较高的安全性。

Description

一种防止Web 服务被非法调用的方法
技术领域
本发明涉及一种防止Web service被非法调用的方法,属于信息技术领域,特别涉及信息系统间的安全集成。 
背景技术
制造执行系统主要是对生产车间的生产运作过程进行管理,是一套软件系统,制造执行系统的计划、物料等信息来源于ERP系统(企业资源计划系统);制造执行系统的BOM(物料清单)数据来源于PDM系统(产品数据管理系统),同时制造执行系统的计划执行情况还需反馈到企业的CRM系统(客户关系管理系统),制造执行系统在生产过程中的作用相当于信息集成中心系统,需要同周边系统进行大量的信息集成,而进行信息集成的关键技术在于Web service技术。Web service(Web服务)是一个平台独立的,松耦合的,自包含的、基于可编程的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提供者验证合法调用的唯一凭证,调用令牌的特征是动态的,以防止令牌的泄露,所述调用令牌生成方法如下: 
设Web service调用者和Web service提供者的共享密钥为keyshare,调用时的系统时间为Timecall-system,时间的精度为秒级,设Timecall-system-second为调用时系统时间的秒数,设置调用的最大时延为15秒,对调用时间的秒位进行调整,调整公式为:
Timecall-second =[Timecall-second/15]×15,其中[ ]表示取整;
用Timecall-second代替Timecall-system-second,形成调用时间信息Timecall,之后利用对称加密算法对Timecall进行加密,最终形成调用令牌Tokencall
所述验证的方法如下: 
使用Web service提供者的令牌验证模块对调用者的调用合法性进行验证,首先取得被调用时的系统时间,设为TimeInvoke-system,时间的精度为秒级,设TimeInvoke-system-second为调用时系统时间的秒数,设置调用的最大时延为15秒,对调用时间的秒位进行调整,调整公式为:
TimeInvoke-second =[TimeInvoke-second/15]×15,其中[ ]表示取整;
用TimeInvoke-second代替TimeInvoke-system-second,形成调用时间信息TimeInvoke,之后利用与调用令牌相同的对称加密算法对TimeInvokel进行加密,最终形成验证令牌TokenInvoke
在进行验证时,只需比较验证令牌TokenInvoke与调用令牌Tokencall是否相等,相等则通过验证。
Web service使用者与Web service提供者的交互过程包括以下步骤: 
(1)Web service使用者依据调用时间按照调用令牌生成方法生成调用令牌,为Web service服务的访问提供令牌;
(2)选择Web service提供者中的具体方法,并依据方法的方法名、参数名、参数类型对调用信息进行封装,封装为XML格式的信息文;
(3)以keyshare为密钥,采用对称加密算法,对在步骤(2)中形成的XML格式的信息文进行加密处理;
(4)通过Web service实际调用Web service提供者,并将使用keyshare加密后的信息文传递给Web service提供者的统一调用接口方法;
(5)Web service接收到调用请求后,首先生成验证令牌,与传递过来的调用令牌进行对比,若调用令牌不等于验证令牌,则转到记录异常调用处理过程;
(6)若调用令牌等于验证令牌,其利用keyshare,依据对称加密算法对调用消息进行解析;
(7)依据调用信息中的方法名、参数名、参数类型、参数值进行内部执行模块中的实际方法的调用;
(8)将实际方法的调用结果进行XML格式的信息封装,并利用keyshare,采用对称加密算法对信息进行加密处理;
(9)Web service使用者接收到消息后,利用keyshare对返回的调用结果进行解密分析,至此整个Web service调用过程结束。
本发明不依赖于第三方服务,其优点在于:(1)方法简单易用低成本;(2)具有较高的安全性。本方法的令牌是动态令牌,随时间的变迁,令牌也是不同的,这样即使拦截了网络数据包中的令牌,依然不能调用Web service提供者,避免了令牌的盗用。 
附图说明
图1是本发明所涉及的系统体系结构。 
图2是Web service调用者与Web service提供者交互示意图。 
具体实施方式
下面结合附图和实施例对本发明作进一步说明。 
本发明所涉及的系统体系结构如图1所示,系统分为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判断调用是否合法的关键。 
调用令牌生成方法如下: 
设Web service调用者和Web service提供者的共享密钥为keyshare,调用时的系统时间为Timecall-system,这里时间的精度为秒级,设Timecall-system-second为调用时系统时间的秒数,考虑到调用的时延,这里设置最大时延为15秒,则对调用时间的秒位进行调整,调整公式为:
Timecall-second =[Timecall-second/15]×15,其中[ ]为取整函数。
用Timecall-second代替Timecall-system-second,形成调用时间信息Timecall,之后利用通用的对称加密算法对Timecall进行加密,即最终形成调用令牌Tokencall。 
调用信息封装模块,主要是根据调用Web service方法的参数信息,对所传参数进行XML格式化,调用信息包括:方法名、参数个数、参数名、参数类型、参数值、参数方向。其中参数名必须为字母开头;参数类型为整形、字符串、xml;参数方向为In或Out,In代表传递参数给Web service服务提供者,Out代表返回参数给Web service调用者,经信息封装后形成XML格式的信息文。 
调用参数加密模块,主要是对信息封装模块中形成的XML格式的信息文进行加密处理,以防在Web service调用过程中出现信息泄露,在此以keyshare为密钥,采用通用的对称加密算法对信息文进行加密。 
消息解析模块,主要对Web service提供者返回的信息采用keyshare为密钥对返回的消息进行解密处理,Web service提供者返回的消息包括:调用令牌、返回信息。其中返回信息包括:返回参数个数、返回参数名、返回参数类型、返回参数值。 
访问代理模块,主要提供访问Web service提供者的具体通信方法,该模块提供统一访问Web service提供者的接口,其中传入参数为2个,一个是调用令牌,另外一个是调用信息;返回参数为1个,为字符串类型,以供接收Web service提供者返回的信息文。 
所述Web service提供者包括:令牌验证模块、消息解析模块、内部执行调用模块、返回信息封装模块、返回信息加密模块、异常调用日志模块和Web service服务提供模块。 
其中,令牌验证模块,主要用于对调用者的调用合法性进行验证,其取得被调用时的系统时间,设为TimeInvoke-system,这里时间的精度为秒级,设TimeInvoke-system-second为调用时系统时间的秒数,考虑到调用的时延,这里设置最大时延为15秒,则对调用时间的秒位进行调整,调整公式为: 
TimeInvoke-second =[TimeInvoke-second/15]×15,其中[ ]为取整函数。
用TimeInvoke-second代替TimeInvoke-system-second,形成调用时间信息TimeInvoke,之后利用通用的对称加密算法对TimeInvokel进行加密,即最终形成验证令牌TokenInvoke。 
在进行验证时,只需比较验证令牌TokenInvoke与调用令牌Tokencall是否相等即可。 
消息解析模块,其作用与Web service调用者的消息解析模块作用相同。 
内部执行调用模块,本方法的Web service服务提供者,为避免系统集成信息的泄露,对外只提供一个统一的调用方法,即包括2个传入参数,1个返回参数,并且对参数都实行了动态令牌加密处理,其内部通过解析具体传递过来的信息文中包括的方法名,由本模块代理执行合适的方法。 
返回信息封装模块,内部执行调用模块具体执行完毕相应方法后,对于返回信息进行XML格式封装,具体包括:返回参数个数、返回参数名、返回参数类型、返回参数值。 
返回信息加密模块,由内部执行调用模块具体执行完毕相应方法后,对封装完的返回给调用者的信息,以Tokencall为密钥,采用通用的对称加密算法对返回信息加密。 
异常调用日志模块,主要记录对于Web service的非法调用信息,信息包括:调用者IP地址、调用时间、调用内容等信息,可用于Web service管理人员日后进行分析。 
Web service服务提供模块,是提供Web service服务的主体,其提供为完成特定集成任务的若干方法集合,是具体集成任务的实现者,其具体实现方式可以多种,可以基于.Net技术实现,也可以基于J2EE技术实现。 
下面结合图2对本发明的工作过程作进一步说明。 
本发明方法涉及Web service使用者与Web service提供者,两者之间依赖于令牌进行合法性验证,对于验证失败的调用,Web service提供者将拒绝提供服务。本方法的令牌是动态令牌,随时间的变迁,令牌也是不同的,这样即使拦截了网络数据包中的令牌,依然不能调用Web service提供者,避免了令牌的盗用。 
具体步骤如下: 
(1)Web service使用者依据调用时间按照调用令牌生成方法生成调用令牌,为Web service服务的访问提供令牌。
(2)依据实际中需要进行信息集成的情况,选择Web service提供者中的具体方法,并依据方法的方法名、参数名、参数类型等信息对调用信息进行封装,封装为XML格式的信息文。 
(3)以keyshare为密钥,采用通用对称加密算法,对在步骤(2)中形成的XML格式的信息文进行加密处理。 
(4)通过Web service实际调用Web service提供者,并将使用keyshare加密后的信息文传递给Web service提供者的统一调用接口方法。 
(5)Web service接收到调用请求后,首先生成验证令牌,对传递过来的调用令牌进行对比,若调用令牌不等于验证令牌,则其转移到记录异常调用处理过程。 
(6)若调用令牌等于验证令牌,其利用keyshare,依据通用对称加密算法对调用消息进行解析。 
(7)依据调用信息中的方法名、参数名、参数类型、参数值等信息进行内部执行模块中的实际方法的调用。 
(8)将实际方法的调用结果进行XML格式的信息封装,并利用keyshare采用通用对称加密算法对信息进行加密处理。 
(9)Web service使用者,接收到消息后,利用keyshare对返回的调用结果进行解密分析,至此整个Web service调用过程结束。 

Claims (4)

1.一种防止Web service被非法调用的方法,其特征是:Web service使用者若使用Web service提供者提供的服务,Web service使用者必须提供调用令牌,Web service提供者经验证后才能提供服务。
2.如权利要求1所述的一种防止Web service被非法调用的方法,其特征是,所述调用令牌是Web service提供者验证合法调用的唯一凭证,调用令牌的特征是动态的,以防止令牌的泄露,所述调用令牌生成方法如下:
设Web service调用者和Web service提供者的共享密钥为keyshare,调用时的系统时间为Timecall-system,时间的精度为秒级,设Timecall-system-second为调用时系统时间的秒数,设置调用的最大时延为15秒,对调用时间的秒位进行调整,调整公式为:
Timecall-second =[Timecall-second/15]×15,其中[ ]表示取整;
用Timecall-second代替Timecall-system-second,形成调用时间信息Timecall,之后利用对称加密算法对Timecall进行加密,最终形成调用令牌Tokencall
3.如权利要求2所述的一种防止Web service被非法调用的方法,其特征是,所述验证的方法如下:
使用Web service提供者的令牌验证模块对调用者的调用合法性进行验证,首先取得被调用时的系统时间,设为TimeInvoke-system,时间的精度为秒级,设TimeInvoke-system-second为调用时系统时间的秒数,设置调用的最大时延为15秒,对调用时间的秒位进行调整,调整公式为:
TimeInvoke-second =[TimeInvoke-second/15]×15,其中[ ]表示取整;
用TimeInvoke-second代替TimeInvoke-system-second,形成调用时间信息TimeInvoke,之后利用与调用令牌相同的对称加密算法对TimeInvokel进行加密,最终形成验证令牌TokenInvoke
在进行验证时,只需比较验证令牌TokenInvoke与调用令牌Tokencall是否相等,相等则通过验证。
4.如权利要求3所述的一种防止Web service被非法调用的方法,其特征是,Web service使用者与Web service提供者的交互过程包括以下步骤:
(1)Web service使用者依据调用时间按照调用令牌生成方法生成调用令牌,为Web service服务的访问提供令牌;
(2)选择Web service提供者中的具体方法,并依据方法的方法名、参数名、参数类型对调用信息进行封装,封装为XML格式的信息文;
(3)以keyshare为密钥,采用对称加密算法,对在步骤(2)中形成的XML格式的信息文进行加密处理;
(4)通过Web service实际调用Web service提供者,并将使用keyshare加密后的信息文传递给Web service提供者的统一调用接口方法;
(5)Web service接收到调用请求后,首先生成验证令牌,与传递过来的调用令牌进行对比,若调用令牌不等于验证令牌,则转到记录异常调用处理过程;
(6)若调用令牌等于验证令牌,其利用keyshare,依据对称加密算法对调用消息进行解析;
(7)依据调用信息中的方法名、参数名、参数类型、参数值进行内部执行模块中的实际方法的调用;
(8)将实际方法的调用结果进行XML格式的信息封装,并利用keyshare,采用对称加密算法对信息进行加密处理;
(9)Web service使用者接收到消息后,利用keyshare对返回的调用结果进行解密分析,至此整个Web service调用过程结束。
CN201310076337.6A 2013-03-11 2013-03-11 一种防止Web服务被非法调用的方法 Expired - Fee Related CN103179111B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310076337.6A CN103179111B (zh) 2013-03-11 2013-03-11 一种防止Web服务被非法调用的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310076337.6A CN103179111B (zh) 2013-03-11 2013-03-11 一种防止Web服务被非法调用的方法

Publications (2)

Publication Number Publication Date
CN103179111A true CN103179111A (zh) 2013-06-26
CN103179111B CN103179111B (zh) 2015-10-28

Family

ID=48638734

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310076337.6A Expired - Fee Related CN103179111B (zh) 2013-03-11 2013-03-11 一种防止Web服务被非法调用的方法

Country Status (1)

Country Link
CN (1) CN103179111B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103957189A (zh) * 2014-03-28 2014-07-30 北界创想(北京)软件有限公司 应用程序之间的交互方法和装置
CN105187449A (zh) * 2015-09-30 2015-12-23 北京恒华伟业科技股份有限公司 一种接口调用方法及装置
CN107315948A (zh) * 2016-04-26 2017-11-03 阿里巴巴集团控股有限公司 数据调用方法及装置
CN106789395B (zh) * 2016-11-22 2019-10-11 盐城工学院 一种基于Web的分布式PDM系统数据传输监控方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101043478A (zh) * 2007-04-20 2007-09-26 北京航空航天大学 实现消息安全处理的服务网关及方法
CN101110824A (zh) * 2006-07-20 2008-01-23 国际商业机器公司 在联盟计算环境中处理事务的方法和设备
CN101534196A (zh) * 2008-03-12 2009-09-16 因特伟特公司 用于安全调用rest api的方法和装置
CN101572603A (zh) * 2008-04-30 2009-11-04 国际商业机器公司 分布式环境中的组成服务的统一访问控制系统及方法
CN101626291A (zh) * 2008-07-07 2010-01-13 谈剑锋 一种基于ecc算法的身份认证系统和身份认证方法
CN101895555A (zh) * 2010-07-30 2010-11-24 中国科学院软件研究所 一种基于bpel的安全访问业务集成建模方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101110824A (zh) * 2006-07-20 2008-01-23 国际商业机器公司 在联盟计算环境中处理事务的方法和设备
CN101043478A (zh) * 2007-04-20 2007-09-26 北京航空航天大学 实现消息安全处理的服务网关及方法
CN101534196A (zh) * 2008-03-12 2009-09-16 因特伟特公司 用于安全调用rest api的方法和装置
CN101572603A (zh) * 2008-04-30 2009-11-04 国际商业机器公司 分布式环境中的组成服务的统一访问控制系统及方法
CN101626291A (zh) * 2008-07-07 2010-01-13 谈剑锋 一种基于ecc算法的身份认证系统和身份认证方法
CN101895555A (zh) * 2010-07-30 2010-11-24 中国科学院软件研究所 一种基于bpel的安全访问业务集成建模方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103957189A (zh) * 2014-03-28 2014-07-30 北界创想(北京)软件有限公司 应用程序之间的交互方法和装置
CN103957189B (zh) * 2014-03-28 2017-01-25 北界创想(北京)软件有限公司 应用程序之间的交互方法和装置
CN105187449A (zh) * 2015-09-30 2015-12-23 北京恒华伟业科技股份有限公司 一种接口调用方法及装置
CN105187449B (zh) * 2015-09-30 2018-10-02 北京恒华伟业科技股份有限公司 一种接口调用方法及装置
CN107315948A (zh) * 2016-04-26 2017-11-03 阿里巴巴集团控股有限公司 数据调用方法及装置
CN107315948B (zh) * 2016-04-26 2020-09-01 阿里巴巴集团控股有限公司 数据调用方法及装置
CN106789395B (zh) * 2016-11-22 2019-10-11 盐城工学院 一种基于Web的分布式PDM系统数据传输监控方法

Also Published As

Publication number Publication date
CN103179111B (zh) 2015-10-28

Similar Documents

Publication Publication Date Title
CN104767731B (zh) 一种Restful移动交易系统身份认证防护方法
CN104113534B (zh) 应用程序app的登录系统及方法
US9356921B2 (en) Different authentication profiles
WO2021135258A1 (zh) 一种基于智能钥匙的车辆使用方法及装置
CN102377788B (zh) 单点登录系统及其单点登录方法
CN104717648B (zh) 一种基于sim卡的统一认证方法和设备
CN106209726B (zh) 一种移动应用单点登录方法及装置
CN104869102B (zh) 基于xAuth协议的授权方法、装置和系统
CN106209749A (zh) 单点登录方法及装置、相关设备和应用的处理方法及装置
CN101296230B (zh) 基于PKI和PMI的Web服务安全控制方法
CN107786571A (zh) 一种用户统一认证的方法
CN113420319A (zh) 一种基于区块链和权限合约的数据隐私保护的方法和系统
CN104486343A (zh) 一种双因子双向认证的方法及系统
CN107294916A (zh) 单点登录方法、单点登录终端及单点登录系统
CN107846414A (zh) 一种单点登录方法及系统、统一认证系统
CN103179111B (zh) 一种防止Web服务被非法调用的方法
CN102739678B (zh) 单点登录处理系统和单点登录处理方法
CN101582768A (zh) 一种电子广告系统中的登录认证方法及系统
CN103581118A (zh) 一种资源汇聚网关及跨平台授权方法与系统
CN108319827B (zh) 一种基于osgi框架的api权限管理系统及方法
CN107426223B (zh) 云文档加密及解密方法、加密及解密装置、以及处理系统
CN108243188A (zh) 一种接口访问、接口调用和接口验证处理方法及装置
CN106850612A (zh) 一种面向云化系统的密码管理方法及系统
CN111435390A (zh) 一种配电终端运维工具安全防护方法
CN102546528B (zh) 流媒体播放的方法和设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20151028