一种webservice单点登录的方法

文档序号:7549956阅读:1919来源:国知局
专利名称:一种web service单点登录的方法
技术领域
本发明属于通信技术领域,具体涉及的是一种web service单点登录的方法。
背景技术
随着移动互联网的发展,android、IOS等智能手机应用大量涌现,为适应市场所需应用的快速变化、便利外部合作方的协作应用,以及对公司软件开发投资的保护,服务提供方纷纷应用SOA架构,提供web service服务;结合当前流行的CAS (统一认证系统)架构,避免重复性的登陆等代码编写工作,使能专注于业务应用。出于对web service应用的安全性、鉴权、性能等综合性考虑,本发明人提出了一种简单、实用的web service单点登陆方法。

发明内容
本发明的目的在于提供一种简单、实用的web service单点登录的方法,以提高用户的体验感、便于业务整合以及方便实施,同时提高web service接口的防攻击能力。本发明的目的是通过以下技术方案实现的。一种web service单点登录的方法,包括步骤:S1、客户端发送用户标识和密码到鉴权中心,鉴权中心对该用户标识和密码进行验证,如验证通过,则进入S2 ;否则,则登陆失败;S2、鉴权中心把生成的随机字符串、当前服务器时间、登陆标识作为用户登录信息存储在系统中,并返回客户端;S3、客户端接收随机字符串和服务器时间后保存随机字符串,并算出本地时间和服务器时间的相对值,以备后续请求生成时间戳,在会话失效前不再重复S1、S2、S3 ;S4、客户端将请求参数、时间戳和随机字符串进行MD5运算,得到指纹数据,并将该指纹数据连同请求参数、时间戳一起发送给web service应用服务器;S5、Web service应用服务器收到上述请求后,比较请求时间戳和服务器时间,如果请求时间戳在服务器时间上下一分钟范围内,则提取请求参数、时间戳和指纹数据,并请求鉴权中心进行鉴权;否则,则返回客户端请求非法;S6、鉴权中心接收web service应用服务器的鉴权请求,根据用户标识从鉴权中心服务器系统中提取用户登录信息,通过请求参数、时间戳和随机字符串进行MD5运算,得到指纹数据,并与请求的指纹数据进行比较,如果相同,则返回web service应用服务器鉴权成功,并更新系统中当前用户登录信息中的登陆时间,然后进入S7;否则,则鉴权失败;进入S8 ;S7、Web service应用服务器接收到鉴权成功结果后,根据请求参数进行业务处理,并把处理结果返回客户端,客户端发起新业务请求,重复S4 ;S8、Web service应用服务器接收到鉴权失败结果后,直接返回客户端处理失败结果O
优选地,S2还包括:鉴权中心用于处理web service应用的鉴权请求。本发明与现有技术相比,有益效果在于:本发明提供的web service单点登录的方法,通过鉴权中心对客户端的登陆请求进行验证,并返回随机字符串和当前服务器时间给客户端,客户端根据返回的信息和请求数据进行MD5计算得到指纹数据与请求参数构造请求报文,而Web service应用服务器对请求中时间戳校验,通过后,提取参数请求鉴权中心进行鉴权,并在鉴权成功后,进行业务处理,并把处理结果返回客户端。本发明系统构建在单点登录原理之上,利用MD5运算的不可逆性和完整性的校验原理,验证用户身份,以及参数的完整、未经篡改;利用参与MD5运算的时间戳参数来防止攻击,本发明实现了一次登录即可在不同系统中访问需登录访问的业务,极大提高用户的体验感和便于业务整合,同时提高了 web service接口的防攻击能力。


图1为本发明的时序图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。请参阅图1所示,图1为本发明的时序图。其中本发明提供的web service单点登录的方法,具体包括步骤如下:S1、客户端发送用户标识和密码到鉴权中心,鉴权中心对该用户标识和密码进行验证,如验证通过,则进入S2 ;否则,则返回登陆失败;S2、鉴权中心返回随机字符串和当前服务器时间给客户端;鉴权中心将用户标识、随机字符串和当前服务器时间存储在鉴权中心服务器系统中。S3、客户端接收随机字符串和服务器时间后保存随机字符串,并算出本地时间和服务器时间的相对值,以备后续请求生成时间戳,在会话失效前不再重复S1、S2、S3 ;S4、客户端将请求参数、时间戳和随机字符串进行MD5运算,得到指纹数据,并将该指纹数据连同请求参数、时间戳一起发送给web service应用服务器;S5、Web service应用服务器收到上述请求后,比较请求时间戳和服务器时间,如果请求时间戳在服务器时间上下一分钟范围内,则提取请求参数、时间戳和指纹数据,并请求鉴权中心进行鉴权;否则,则返回客户端请求非法;S6、鉴权中心接收web service应用服务器的鉴权请求,根据用户标识从鉴权中心服务器系统中提取用户登录信息,通过请求参数、时间戳和随机字符串进行MD5运算,得到指纹数据,并与请求的指纹数据进行比较,如果相同,则返回web service应用服务器鉴权成功,并进入S7 ;否则,则鉴权失败;进入S8 ;S7、Web service应用服务器接收到鉴权成功结果后,根据请求参数进行业务处理,并把处理结果返回客户端,客户端发起新业务请求,重复S4 ;S8、Web service应用服务器接收到鉴权失败结果后,直接返回客户端处理失败结果O其中智能手机、PAD等各种客户端访问web service登陆接口,发送用户标识和密码到鉴权中心,鉴权中心验证该用户标识和密码成功后,返回随机字符串(128位或更长的随机字符串,token)和当前服务器时间给客户端,并把该用户标识(如用户名)和随机字符串、当前服务器时间放到鉴权中心服务器系统(Key-Value系统)中保存;客户端接收随机字符串和服务器时间后保存随机字符串,算出本地时间和服务器时间的相对值,以备后续请求生成时间戳,至于密码和随机字符串的网络安全传输在其它文档中再说明。当客户端请求web service应用时,则将请求参数+时间戳+随机字符串进行MD5运算,以得到指纹数据(sign),并该指纹数据连同请求参数、时间戳一起发送给webservice应用服务器,指纹数据和时间戳可放在报文头中,请求参数则可放在报文内容中。Web service应用服务器接收到上述请求后,首先比较请求时间戳和服务器时间,如果请求时间戳在服务器时间上下一分钟范围内,则提取请求参数、时间戳和指纹数据,并请求鉴权中心进行鉴权;鉴权中心接收到web service应用服务器的鉴权请求后,根据用户标识从Key-Value系统中提取随机字符串,并将请求参数+时间戳+随机字符串进行MD5运算,得到指纹数据,并将该指纹数据与请求的指纹数据进行比较,如果相同,则更新当前请求用户的登陆时间,返回web service应用服务器鉴权成功的信息;否则,则返回鉴权失败的信息。Web service应用服务器接收到鉴权结果后,根据鉴权结果决定进行接下来的业务处理,如果返回的结果为鉴权失败,直接返回客户端处理失败;如果返回结果为鉴权成功,则根据请求参数进行业务处理,并把处理结果返回给客户端。本发明构建在单点登录原理之上,利用MD5运算的不可逆性,完整性校验原理,利用保存在客户端和鉴权中心的随机字符串分别参与客户端和鉴权中心的运算,以验证用户身份以及验证参数的完整、未经篡改,利用参与MD5运算的时间戳参数来防止重放攻击。本发明实现了一种简单、实用的web service单点登录方法,使开发人员能更多的关注业务,用户可在一次登录就在不同系统中访问需登录访问业务,增强了用户体验,方便公司进行业务整合,并融合了部分web service安全性方面的考虑。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种web service单点登录的方法,其特征在于包括步骤: 51、客户端发送用户标识和密码到鉴权中心,鉴权中心对该用户标识和密码进行验证,如验证通过,则进入S2 ;否则,则登陆失败; 52、鉴权中心把生成的随机字符串、当前服务器时间、登陆标识作为用户登录信息存储在系统中,并返回客户端; 53、客户端接收随机字符串和服务器时间后保存随机字符串,并算出本地时间和服务器时间的相对值,以备后续请求生成时间戳,在会话失效前不再重复S1、S2、S3 ; 54、客户端将请求参数、时间戳和随机字符串进行MD5运算,得到指纹数据,并将该指纹数据连同请求参数、时间戳一起发送给web service应用服务器; 55、Webservice应用服务器收到上述请求后,比较请求时间戳和服务器时间,如果请求时间戳在服务器时间上下一分钟范围内,则提取请求参数、时间戳和指纹数据,并请求鉴权中心进行鉴权;否则,则返回客户端请求非法; 56、鉴权中心接收webservice应用服务器的鉴权请求,根据用户标识从鉴权中心服务器系统中提取用户登录信息,通过请求参数、时间戳和随机字符串进行MD5运算,得到指纹数据,并与请求的指纹数据进行比较,如果相同,则返回web service应用服务器鉴权成功,并更新系统中当前用户登录信息中的登陆时间,然后进入S7 ;否则,则鉴权失败;进入S8 ; 57、Webservice应用服务器接收到鉴权成功结果后,根据请求参数进行业务处理,并把处理结果返回客户端,客户端发起新业务请求,重复S4 ; 58、Webservice应用服务器接收到鉴权失败结果后,直接返回客户端处理失败结果。
2.根据权利要求1所述的webservice单点登录的方法,其特征在于S2还包括:鉴权中心用于处理web service应用的鉴权请求。
全文摘要
本发明公开了一种web service单点登录的方法,通过鉴权中心对客户端的登陆请求进行验证,并返回随机字符串和当前服务器时间给客户端,客户端根据返回的信息和请求数据进行MD5计算得到指纹数据与请求参数构造请求报文,而Webservice应用服务器对请求中时间戳校验,通过后,提取参数请求鉴权中心进行鉴权,并在鉴权成功后,进行业务处理,并把处理结果返回客户端。本发明系统构建在单点登录原理之上,利用MD5运算的不可逆性和完整性的校验原理,验证用户身份,以及参数的完整、未经篡改;利用参与MD5运算的时间戳参数来防止攻击,本发明实现了一次登录即可在不同系统中访问需登录访问的业务,极大提高用户的体验感和便于业务整合,同时提高了web service接口的防攻击能力。
文档编号H04L29/08GK103139200SQ20131000641
公开日2013年6月5日 申请日期2013年1月6日 优先权日2013年1月6日
发明者刘均, 欧祥瑞 申请人:深圳市元征科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1