一种基于ws协议的信息卡认证方法及系统的制作方法

文档序号:7686882阅读:211来源:国知局
专利名称:一种基于ws协议的信息卡认证方法及系统的制作方法
技术领域
本发明涉及网络信息安全中的信息认证技术,特别是涉及一种基于Web服务(WS)协议的信息卡认证方法及系统。
背景技术
因特网(Internet)对于用户和业务而言,其价值仍在持续增长。越来越多的人在日常生活中需要使用网络,从购物、办理银行业务、支付账单到多媒体和娱乐消费。然而,随着网上操作的增值,Internet自身已经变得更为复杂、更容易受到攻击并且更加危险。人们对在线身份的盗取、欺诈和隐私的关注程度不断提高,因此,便引入了许多数字标识系统,但是,目前没有系统能够满足不同数字标识方案的需要,所以目前人们 还是分别使用着许多不同的标识系统,且在不断开发更多的系统。结果,当前Internet上数字标识的状态是不协调的大杂烩,成为了每个Web站点上具有不同用户体验的用户的负担;并且,由于提供的数字标识系统非常脆弱,也限制了电子商务更完整的实现。为了解决上述问题,业界引入了标识元系统,所谓标识元系统是基于数字身份的互操作架构,在标识元系统下建立的信息卡模型,允许用户拥有并管理基于不同技术、不同实现方法和不同提供商的一系列的数字身份,使用该模型,用户可以继续使用现有的身份管理基础设施,并选择最适合他们的身份技术。但是,标识元系统发展还不够成熟,在实际应用中局限性还很大,比如由于现有的信息卡模型建立系统中,针对一个用户只有身份选择器(IdentitySelector) —台设备来保存信息卡,所以信息卡下载到该设备上之后,用户只能从这台固定的设备上登录,对实际使用造成非常大的不便;另外,由于普通用户可以对信息卡进行创建,没有权限的限制,任何用户都能轻易接触到信息卡,这使信息卡的安全性和保密性受到很大影响。此外,标识元系统下建立的信息卡模型目前对WS的简单对象访问协议(SOAP)消息加密,主要是使用安全套接层(SSL)的HTTPS方法,而此方法存在很多问题,包括=HTTPS提供的是点对点安全保护;HTTPS是在传输层提供安全保障的,而不是在消息层面,导致不可能达到消息安全所需要的灵活性的要求;HTTPS分配好共享密钥后,传递消息的时候并没有使用数字签名技术,而这一项功能恰恰是在电子商务中不可或缺的。

发明内容
有鉴于此,本发明的目的在于提供一种基于WS协议的信息卡认证方法及系统,能解决信息建立及传输过程中出现的机密性、完整性、身份鉴别的问题。为达到上述目的,本发明的技术方案是这样实现的本发明提供了一种基于WS协议的信息卡认证方法,该方法包括用户登录依赖方(Relying Party), Relying Party向身份选择器客户端(Identity Selector Client)请求令牌并确定策略;用户使用 Identity Selector Client通过身份选择器服务器(Identity Selector Server)验证身份后登录IdentitySelectorClient ;Identity Selector Client 将信息卡提交给标识提供方(IdentityProvider)进行认证并接收令牌,将令牌返回给Relying Party。上述方案中,该方法还包括Identity Selector Client收到请求令牌的信息后,要求用户输入用户名和密码登录Identity Selector Client,并将用户名和密码上传到Identity Selector Server进行验证,如果验证不通过,则拒绝用户继续操作,如果验证通过,则继续操作。上述方案中,所述Identity Selector Client将信息卡提交给IdentityProvider为Identity Selector Client将信息卡中的相关信息编写成SOAP信息,并对该SOAP信息进行XML签名和XML加密,之后发送到Identity Provider。
上述方案中,所述将令牌返回给Relying Party后,该方法还包括RelyingParty对接收到的令牌进行XML签名匹配,XML签名匹配之后进行XML解密,解密成功后允许用户进行访问。上述方案中,所述用户登录Relying Party之前,该方法还包括用户以管理员身份登录Identity Provider,从Identity Provider所管理的所有用户名中,选定要为其建立信息卡的用户名;为所选的用户名创建信息卡;用户以管理员身份为所选用户分发信息卡。本发明还提供了一种基于WS协议的信息卡认证系统,该系统包括IdentityProvider> Identity Selector Client、 Identity Selector Server 及 RelyingParty ;其中,Identity Provider,用于对Identity Selector Client提交的信息卡进行认证,并向 Identity Selector Client 返回令牌;Identity Selector Client,用于接收 Relying Party 请求令牌的信息,与RelyingParty确定策略,向Identity Selector Server请求验证登录用户身份并接收验证结果,向Identity Provider提交信息卡进行认证并接收令牌,将令牌返回给RelyingParty ;Identity Selector Server,用于接收Identity Selector Client请求验证登录用户身份的信息,并向Identity Selector Client返回验证结果;Relying Party,用于向 Identity Selector Client 请求令牌,并与 IdentitySelectorClient 确定策略,接收 Identity Selector Client 返回的令牌。上述方案中,所述Identity Selector Client,还用于向用户要求输入用户名和密码,再将用户名和密码编写成为验证登录用户身份的请求发送到IdentitySelectorServer ;所述Identity Selector Server,还用于接收验证登录用户身份的请求。上述方案中,所述Identity Selector Client,还用于将用户选定的信息卡中的相关信息编写成SOAP信息,并对SOAP信息进行XML签名和XML加密后,发送给IdentityProvider ;所述IdentityProvider,还用于接收Identity Selector Client提交的经过XML签名和XML加密编写成SOAP信息的信息卡进行解析并做认证。上述方案中,所述Relying Party,还用于对接收到的令牌进行XML签名匹配,签名匹配之后进行XML解密,解密成功后才能允许用户进行访问。上述方案中,所述Identity Provider,还用于与所接入的系统同步数据库同步数据库,并设置所得到的用户名的初始密码。上述方案中,所述Identity Provider,还用于创建信息卡,从IdentitySelectorServer中查询所选用户名的状态是否在线并接收用户状态信息,当用户状态为在线时,从 Identity Selector Server 中查询所选用户名所在的 Identity SelectorClient的IP地址并接收IP地址,根据IP地址将信息卡传送到Identity SelectorClient,当用户名状态为不在线时,将信息卡发到Identity Selector Server ;相应的,所述Identity Selector Server,还用于接收 Identity Provider 的所选用户名所在的Identity Selector Client的是否在线的查询,并向其返回用户状态信息,之后接收Identity Provider的所选用户名所在的Identity Selector Client的I P地址的查询并返回IP地址,当Identity Provider所选用户不在线的时候,接收并保存Identity Provider发送的信息卡;所述IdentitySelector Client,还用于接收Identity Provider发送的信息卡,将信息卡上传并保存在Identity Selector Server。上述方案中,所述Identity Provider包括颁发令牌模块、同步用户模块、管理证书模块、创建信息卡模块和分发信息卡模块;其中,颁发令牌模块,接收Identity Selector Client提交的经过XML签名和XML加密编写成SOAP信息的信息卡,对信息卡进行解析并认证,给Identity SelectorClient返回令牌;同步用户模块,用于向所要接入的系统获取数据库,用户从同步数据库中选择所选的要建立信息卡的用户名,将所选用户名的用户信息发送给创建信息卡模块;管理证书模块,用于存储X509证书,且接收创建信息卡模块的建立证书指令,建立X509证书,向创建信息卡模块提供X509证书;创建信息卡模块,用于接收同步用户模块发来的用户信息,为该用户名创建信息卡,如果要创建的是X509证书类型的信息卡,则先查看管理证书模块中,所选用户名是否有X509证书,如果存在,则直接从管理证书模块读取X509证书,为所选用户名建立信息卡,如果不存在,则向管理证书模块发出建立证书的指令,读取X509证书之后使用该X509证书为所选用户名建立信息卡;如果要创建用户名/密码类型的信息卡,则为所选用户名在创建信息卡模块直接创建用户名/密码类型的信息卡,最后将信息卡发送给分发信息卡模块;分发信息卡模块,用于接收并保存创建信息卡模块发送的信息卡,接收用户为所选用户名分发信息卡的指令,从Identity Selector Server获取做所选用户名的状态信息,之后从 Identity Selector Server 查询所选用户名所在的 IdentitySelector Client的IP地址,根据IP地址将信息卡传送到Identity Selector Client,当所选用户名状态为不在线时,将信息卡发到Identity Selector Server。上述方案中,所述Identity Selector Client包括注册模块,登录模块,上传信息卡模块、下载信息卡模块、认证信息卡模块和验证信息卡模块;其中,注册模块,用于接收登录模块的通知,向Identity Selector Server发送注册信息;登录模块,用于接收Relying Party的请求令牌信息,要求用户输入用户名和密码登录,将用户名和密码上传到Identity Selector Server进行用户身份验证,还用于记录用户名的状态是否在线,并将状态通知给注册模块;上传信息卡模块,用于根据用户的指令从下载信息卡模块中选取信息卡并上传到Identity Selector Server ;下载信息卡模块,用于接收并存储Identity Provider发送的信息卡,从IdentitySelector Server下载用户选中的信息卡,还用于接收Identity SelectorServer的用户身份验证结果,用户选择信息卡后将信息卡发送给验证信息卡模块,还用于将上传信息卡模块选取的信息卡发送给上传信息卡模块;验证信息卡模块,用于接收下载信息卡模块发送的信息卡,接收用户输入的信息 卡密码进行验证,并将验证通过的信息卡提交给认证信息卡模块,还用于接收用户修改信息卡密码的指令,将用户的旧密码发送到Identity Provider做验证,接收验证通过的通知后,将用户的新密码发送给Identity Provider,若接收验证失败的通知,则用户无法修改密码;认证信息卡模块,用于将验证信息卡模块提交的信息卡中的相关信息编写成SOAP信息,并进行XML签名和XML加密并发送给Identity Provider,接收Identity Provider返回的令牌,最后将令牌发送给Relying Party。上述方案中,所述Identity Selector Server进一步包括注册用户模块、验证用户模块、接收信息卡模块、发放信息卡模块;其中,注册用户模块,用于接收Identity Selector Client的注册信息,记录用户的状态,产生用户信息,给验证用户模块提供状态信息和用户信息;验证用户模块,用于接收Identity Provider的用户的状态查询,从注册用户模块获取用户名的状态信息后向Identity Provider返回所选用户名的状态信息,还用于接收Identity Provider的用户名所使用的Identity Selector Client的IP地址的请求信息,从注册模块获取用户信息并从用户信息中提取出IP地址,向Identity Provider返回用户名所使用的Identity Selector Client的IP地址,还用于接收Identity SelectorClient的用户名和密码对其进行验证并向Identity SelectorClient返回验证结果;接收信息卡模块,用于接收并保存Identity Provider发送的信息卡,还用于接收并保存Identity Selector Client上传的信息卡,接收发放信息卡模块的信息卡查询指令,将用户所选信息卡发送给发放信息卡模块;发放信息卡模块,用于根据Identity Selector Client的下载请求,将信息卡发给 Identity Selector Client。上述方案中,所述Relying Party包括激活Identity Selector Client模块和验证令牌模块;其中,激活Identity Selector Client模块,用于接收用户的访问请求,向IdentitySelector Client 发送请求令牌的信息,并与 Identity Selector Client 确定策略,接收验证令牌模块的允许用户访问信息,接收用户的访问;验证令牌模块,用于接收Identity Selector Client发来的令牌,进行验证,验证通过之后,通知激活Identity Selector Client模块允许用户访问。由上述实现方案可以看出,本发明所提供的基于WS协议的信息卡认证方法及系统,具有以下的优点和特点I)本发明中Identity Provider和Relying Party之间使用XML签名实现了双向认证,Identity Selector Client 与 Identity Provider 之间的 SOAP 消息米用 XML 签名和XML加密的加密方式,从而解决了信息传输过程中出现的机密性、完整性、身份鉴别的问题。2)本发明的信息卡创建和分发完全由管理员创建和分发,普通用户没有权限对信息卡进行操作,从而保证了信息卡的安全性及保密性。3)本发明提供的 Identity Selector Client 和 Identity SelectorServer,使用户可以根据实际需要将某些信息卡上传到Identity Selector Server, 当IdentitySelector Client端没有所需要的信息卡时,用户可以选择从IdentitySelectorServer上下载,从而解决了信息卡只能在特定设备上登录的问题。


图I为本发明基于WS协议的信息卡认证系统的结构示意图;图2为本发明基于WS协议的信息卡认证方法的流程示意图。
具体实施例方式本发明的基本思想是用户登录Relying Party, Relying Party向IdentitySelector Client 请求令牌并确定策略;用户使用 Identity Selector Client 通过身份选择器服务器(Identity Selector Server)验证身份后登录Identity SelectorClient ;验证通过,Identity Selector Client 将信息卡提交给 Identity Provider 进行认证并接收令牌,最后由Identity Selector Client将令牌返回给Relying Party。其中,所述确定策略是指Relying Party与Identity Selector Client确定信息交互时相互发送的信息格式,以及确定Identity Selector Client跟与其交互的设备之间所发送的信息内包含的内容以及信息的格式。下面结合附图及具体实施例对本发明再作进一步详细的说明。本发明提供了一种基于WS协议的信息卡认证系统如图I所示,包括IdentityProvider 11、Identity Selector Client 12、Identity Selector Server 13 和 RelyingParty 14 ;其中,Identity Provider 11,用于对 Identity Selector Client 12 提交的信息卡进行认证,并向Identity Selector Client 12返回令牌;其中,所述令牌指由Identity Provider 11对信息卡进行验证后,返回的认证安全信息,信息卡分为两种类型用户名/密码式信息卡和X509证书式信息卡;所述对信息卡进行认证指,IdentityProvider 11 对 Identity Selector Client12提交的经过XML签名和XML加密编写成SOAP信息的信息卡进行解析并做认证;Identity Selector Client 12,用于接收Relying Party 14请求令牌的信息,与Relying Party 14确定策略,向Identity Selector Server 13请求验证登录用户身份并接收验证结果,向Identity Provider 11提交信息卡进行认证并接收令牌,将令牌返回给Relying Party 14 ;其中,所述向Identity Selector Server 13请求验证登录用户身份为IdentitySelector Client 12向用户要求输入用户名和密码,再将用户名和密码编写成为验证登录用户身份的请求,并发送到Identity Selector Server 13进行用户的登录身份验证;如果Identity Selector Server 13返回的验证结果为验证通过,贝U用户可以使用输入的用户名继续进行信息卡的认证操作,如果Identity Selector Server 13返回的验证结果为验证失败,则拒绝用户使用输入的用户名继续操作。所述向Identity Provider 11 发送信息卡为用户在 Identity Selector Client12查看其输入的用户名下所拥有的信息卡,选定信息卡,再将信息卡中的相关信息编写成SOAP信息,并对该SOAP信息进行XML签名和XML加密后,发送到Identity Provider 11 ;这里,所述信息卡中的相关信息由与Relying Party 14确定策略所决定。 所述Identity Selector Client 12,自身的浏览器支持信息卡认证方式,所述浏览器为目前可使用的大部分浏览器,比如IE7. O以上版本、遨游浏览器等,暂时不支持的浏览器为FireFox浏览器;所述Identity Selector Client 12 与 Identity Provider 11 和 Relying Party14之间的所有交互信息,都采用XML签名和XML加密;Identity Selector Server 13,用于接收Identity Selector Client 12请求验证登录用户身份的信息,并向Identity Selector Client 12返回验证结果。这里,所述Identity Selector Server 13,进一步用于对登录用户身份进行用户名和密码是否正确的验证,如果用户名和密码为正确的则通知IdentitySelector Client12验证通过,否则通知Identity Selector Client 12验证失败。Relying Party 14,用于向 Identity Selector Client 12 请求令牌,并与IdentitySelector Client 12确定策略,接收Identity Selector Client 12返回的令牌。所述接收Identity Selector Client 12返回的令牌,还包括对令牌进行验证,具体为Relying Party 14对接收到的令牌进行XML签名匹配,签名匹配之后进行XML解密,解密成功后才能允许用户进行访问;所述XML解密为使用Relying Party 14内部产生的公用密钥进行XML解密。Relying Party 14,进一步用于接收用户的访问请求;这里,所述Relying Party 14是实际所访问的系统的接口设备,使用本发明所提供的系统通过Relying Party 14可接入实际访问的系统。Identity Provider 11,还用于与所接入的系统同步数据库同步数据库,并设置所得到的用户名的初始密码,例如将初始密码设为111111 ;Identity Provider 11,还用于创建信息卡,从 Identity Selector Server 13 中查询所选用户名的状态是否在线并接收用户状态信息,当用户状态为在线时,从IdentitySelector Server 13中查询所选用户名所在的Identity Selector Client 12的IP地址并接收IP地址,根据IP地址将信息卡传送到Identity Selector Client 12,当用户名状态为不在线时,将信息卡发到Identity Selector Server 13 ;
相应的,所述Identity Selector Server 13,还用于接收 Identity Provider11的所选用户名所在的Identity Selector Client 12的是否在线的查询,并向其返回用户状态信息,之后接收Identity Provider 11的所选用户名所在的IdentitySelectorClient 12的IP地址的查询并返回IP地址,当Identity Provider 11所选用户不在线的时候,接收并保存Identity Provider 11发送的信息卡;所述Identity Selector Client 12,还用于接收 Identity Provider 11 发送的信息卡,也可以选择信息卡上传并保存在Identity Selector Server。所述创建信息卡包括如果要创建用户名/密码类型的信息卡,则为所选用户名在Identity Provider 11直接创建用户名/密码类型的信息卡;如果要创建的是X509证书类型的信息卡,则先查看Identity Provider 11中,所选用户是否有X509证书,如果存在,则直接使用X509证书建立所选用户信息卡,如果不存在,则在Identity Providerll为所选用户名创建X509证书,之后使用该X509证书建立信息卡。 Identity Selector Client 12,还用于接收用户的修改信息卡密码的指令,将用户的旧密码发送到Identity Provider 11做验证,接收验证通过信息后,将用户输入的信息卡新密码发送给Identity Provider 11,若接收的验证结果为失败,则用户无法修改密码;相应的,Identity Provider 11,还用于接收 Identity Selector Clientl2 发送的旧密码做验证后向Identity Selector Client 12返回验证结果,保存Identity SelectorClient 12发送的新密码。所述Identity Provider 11进一步包括颁发令牌模块、同步用户模块、管理证书模块、创建信息卡模块和分发信息卡模块;其中,颁发令牌模块,接收Identity Selector Client 12提交的经过XML签名和XML加密编写成SOAP信息的信息卡,对信息卡进行解析并认证,给IdentitySelector Client 12返回令牌;同步用户模块,用于向所要接入的系统获取数据库,用户从同步数据库中选择所选的要建立信息卡的用户名,将所选用户名的用户信息发送给创建信息卡模块;管理证书模块,用于存储X509证书,且接收创建信息卡模块的建立证书指令,建立X509证书,向创建信息卡模块提供X509证书;创建信息卡模块,用于接收同步用户模块发来的用户信息,为该用户名创建信息卡,如果要创建的是X509证书类型的信息卡,则先查看管理证书模块中,所选用户名是否有X509证书,如果存在,则直接从管理证书模块读取X509证书,为所选用户名建立信息卡,如果不存在,则向管理证书模块发出建立证书的指令,读取X509证书之后使用该X509证书为所选用户名建立信息卡;如果要创建用户名/密码类型的信息卡,则为所选用户名在创建信息卡模块直接创建用户名/密码类型的信息卡,最后将信息卡发送给分发信息卡模块;分发信息卡模块,用于接收并保存创建信息卡模块发送的信息卡,接收用户为所选用户名分发信息卡的指令,从Identity Selector Server 13获取所选用户名的状态信息,之后从Identity Selector Server 13查询所选用户名所在的IdentitySelectorClient 12的IP地址,根据IP地址将信息卡传送到Identity Selector Clientl2,当所选用户名状态为不在线时,将信息卡发到Identity Selector Server 13。
所述Identity Selector Client 12进一步包括注册模块,登录模块,上传信息卡模块、下载信息卡模块、认证信息卡模块和验证信息卡模块;其中,注册模块,用于接收登录模块的通知,向Identity Selector Server 13发送注册信息;这里,所述注册信息指用户所选定的用户名称下的密码、部门等信息以及IP地址。登录模块,用于接收Relying Party 14的请求令牌信息,要求用户输入用户名和密码登录,将用户名和密码上传到Identity Selector Server 13进行用户身份验证,还用于记录用户名的状态是否在线,并将状态通知给注册模块;上传信息卡模块,用于根据用户的指令从下载信息卡模块中选取信息卡并上传到Identity Selector Server 13 ; 下载信息卡模块,用于接收并存储Identity Provider 11发送的信息卡,从Identity Selector Server 13下载用户选中的信息卡,还用于接收IdentitySelectorServer 13的用户身份验证结果,用户选择信息卡后将信息卡发送给验证信息卡模块,还用于将上传信息卡模块选取的信息卡发送给上传信息卡模块;验证信息卡模块,用于接收下载信息卡模块发送的信息卡,接收用户输入的信息卡密码进行验证,并将验证通过的信息卡提交给认证信息卡模块,还用于接收用户修改信息卡密码的指令,将用户的旧密码发送到Identity Provider 11做验证,接收验证通过信息后,将用户的新密码发送给Identity Provider 11,若接收验证失败的信息,则用户无法修改密码;其中,所述用户输入的信息卡旧密码是为了验证用户修改信息卡密码的合法性。认证信息卡模块,用于将验证信息卡模块提交的信息卡中的相关信息编写成SOAP信息,并进行XML签名和XML加密并发送给Identity Provider 11,接收IdentityProvider 11返回的令牌,最后将令牌发送给Relying Party 14。所述Identity Selector Server 13进一步包括注册用户模块、验证用户模块、接收信息卡模块、发放信息卡模块;其中,注册用户模块,用于接收Identity Selector Client 12的注册信息,记录用户的状态,产生用户信息,给验证用户模块提供状态信息和用户信息;其中,所述用户信息指用户所选定的用户名称下的密码、部门等信息以及该用户名所在的Identity Selector Client 12的IP地址;状态信息指用户是否在线。验证用户模块,用于接收Identity Providerll的用户的状态查询,从注册用户模块获取用户名的状态信息后向Identity Provider 11返回所选用户名的状态信息,还用于接收 Identity Provider 11 的用户名所使用的 Identity Selector Clientl2 的 IP地址的请求信息,从注册模块获取用户信息并从用户信息中提取出IP地址,向IdentityProvider 11返回用户名所使用的Identity Selector Client 12的IP地址,还用于接收Identity Selector Client 12的用户名和密码对其进行验证并向Identity SelectorClient 12返回验证结果;接收信息卡模块,用于接收并保存Identity Provider 11发送的信息卡,还用于接收并保存Identity Selector Client 12上传的信息卡,接收发放信息卡模块的信息卡查询指令,将用户所选信息卡发送给发放信息卡模块;这里,所述接收并保存Identity Providerll发送的信息卡是指如果所要发放信息卡的Identity Selector Clientl2不在线,那么将信息卡发放给IdentitySelectorServer 13的接收信息卡模块。发放信息卡模块,用于根据Identity Selector Clientl2的下载请求,将信息卡发给 Identity Selector Client 12。所述Relying Party 14 进一步包括激活 Identity Selector Client 模块和验证令牌模块;其中,激活Identity Selector Client模块,用于接收用户的访问请求,向 IdentitySelector Client 12 发送请求令牌的信息,并与 Identity Selector Client 12确定策略;验证令牌模块,用于接收Identity Selector Client 12发送的令牌,对令牌进行XML签名匹配,签名匹配之后进行XML解密,解密成功后才能允许用户进行访问;所述XML解密为使用Relying Party 14内部产生的密钥进行XML解密验证通过之后,通知激活Identity Selector Client模块允许用户访问。如图2所示,本发明基于WS协议的信息卡认证方法,包括以下步骤步骤201 :用户登录Relying Party访问某类资源时,Relying Party向IdentitySelector Client发送请求令牌的信息,双方确定策略。这里,所述令牌指由Identity Provider对用户的信息卡进行验证后,返回的认证安全信息,信息卡分为两种类型用户名/密码式信息卡和X509证书式信息卡。步骤202 :Identity Selector Client收到请求令牌的信息后,向用户要求输入用户名和密码,Identity Selector Client将收到的用户输入的用户名和密码上传到Identity Selector Server进行验证,如果验证不通过,则拒绝用户使用输入的用户名继续操作,如果验证通过,则进入步骤203。步骤203 :用户使用输入的用户名成功登录Identity Selector Client,查看用户名下所拥有的信息卡,选定信息卡。这里,一个用户名下所拥有的信息卡可以有多个,且可以是不同类型的信息卡,所述不同类型的信息卡是指用户名/密码类型的信息卡和X509证书类型信息卡。所述选定信息卡还包括用户在Identity Selector Client查看其输入的用户名下信息卡的信息,确定使用其中一个信息卡时,输入信息卡密码,比如所选信息卡的类型是X509,那么输入信息卡密码后,即可确定使用该信息卡,否则会要求用户输入信息卡密码,实现用户名/密码的认证。其中,所述信息卡密码可在Identity Selector Client上修改,修改过程具体包括当用户向Identity Selector Client发出修改信息卡密码的指令后,IdentitySelector Client 要求用户输入信息卡旧密码;Identity Selector Client将用户输入的旧密码后发送给Identity Provider进行验证,如果验证成功,则向IdentitySelector Client 返回验证通过的通知,Identity Selector Client 要求用户输入新密码,Identity Selector Client将用户输入的新密码发送到Identity Provider保存;否则验证失败,则向Identity Selector Client返回验证失败的通知,用户无法修改密码。步骤204 :Identity Selector Client将信息卡中的相关信息编写成SOAP信息,并对该SOAP信息进行XML签名和XML加密后,发送到Identity Provider。这里,所述信息卡中的相关信息由步骤201中确定的策略所决定。步骤205 :Identity Provider对进行XML签名和XML加密并编写成SOAP信息的信息卡进行解析后做认证,认证通过后,向Identity Selector Client返回令牌。步骤206:Identity Selector Client接收令牌,并将令牌发送给Relying Party。本步骤具体包括IdentitySelector Client 从 Identity Provider 接收令牌和向Relying Party发送令牌,所有传输信息都经过XML签名和XML加密。步骤207 Relying Party接收令牌后,验证令牌,验证通过后允许用户访问资源。 这里,所述验证令牌进一步包括Relying Party对接收到的令牌进行XML签名匹配,签名匹配之后进行XML解密,解密成功后才能允许用户进行访问;所述XML解密为使用Relying Party内部产生的密钥进行XML解密。上述处理过程中,在步骤201之前,该方法还包括以下步骤步骤a :用户以管理员身份从Identity Provider所管理的所有用户名中,选定要为其建立信息卡的用户名。这里,所述管理员身份指用户使用管理员的账号和密码登录;所述所有用户名是指同步数据库后得到的所有用户名;所述同步数据库为从所连接的系统的数据库中获取所有用户名,并设置所得到的用户名的初始密码,例如将初始密码设为111111。所述管理的所有用户名是Identity Provider在使用某一个管理员账号登录时,该管理员身份下所有的用户名。步骤b :用户以管理员身份为所选的用户名Identity Provider创建信息卡。这里,所述创建信息卡包括如果要创建用户名/密码类型的信息卡,则为所选用户名在Identity Provider直接创建用户名/密码类型的信息卡;如果要创建的是X509证书类型的信息卡,则先查看Identity Provider中,所选用户是否有X509证书,如果存在,则直接使用X509证书建立所选用户信息卡,如果不存在,则在Identity Provider为所选用户名创建X509证书,之后使用该X509证书建立信息卡。步骤c :用户以管理员身份为所选用户名分发信息卡。这里,所述分发信息卡为向所选用户名显示在线时使用的IdentitySelectorClient分发信息卡,所选用户名显示为不在线时,将信息卡分发到IdentitySelector Server,保存到所选用户名下。所述步骤c进一步包括用户以管理员身份向Identity Provider发出向所选用户名分发信息卡的指令,Identity Provider从Identity Selector Server中查询所选用户名的状态是否在线,当在线时,Identity Provider从Identity Selector Server获取所选用户名所在的 Identity Selector Client 的 IP 地址,根据 IP 地址,IdentityProvider将信息卡传送到 Identity Selector Client, Identity Selector Client 也可以选择信息卡上传并保存在Identity Selector Server ;当所选用户名状态为不在线时,IdentityProvider将信息卡发到Identity Selector Server进行保存,用户使用该用户名登录Identity Selector Client 后,可以从 Identity Selector Server 选择信息卡并下载。 以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
权利要求
1.一种基于WS协议的信息卡认证方法,其特征在于,该方法包括 用户登录依赖方(Relying Party), Relying Party向身份选择器客户端(IdentitySelector Client)请求令牌并确定策略; 用户使用Identity Selector Client通过身份选择器服务器(IdentitySelectorServer)验证身份后登录 Identity Selector Client ; Identity Selector Client将信息卡提交给标识提供方(Identity Provider)进行认证并接收令牌,将令牌返回给Relying Party。
2.根据权利要求I所述的方法,其特征在于,该方法还包括IdentitySelectorClient收到请求令牌的信息后,要求用户输入用户名和密码登录IdentitySelectorClient,并将用户名和密码上传到Identity Selector Server进行验证,如果验证不通过,则拒绝用户继续操作,如果验证通过,则继续操作。
3.根据权利要求I所述的方法,其特征在于,所述IdentitySelector Client将信息卡提交给Identity Provider为Identity Selector Client将信息卡中的相关信息编写成简单对象访问协议(SOAP)信息,并对该SOAP信息进行XML签名和XML加密,之后发送到Identity Provider。
4.根据权利要求I所述的方法,其特征在于,所述将令牌返回给RelyingParty后,该方法还包括=Relying Party对接收到的令牌进行XML签名匹配,XML签名匹配之后进行XML解密,解密成功后允许用户进行访问。
5.根据权利要求I所述的方法,其特征在于,所述用户登录RelyingParty之前,该方法还包括用户以管理员身份登录Identity Provider,从IdentityProvider所管理的所有用户名中,选定要为其建立信息卡的用户名;为所选的用户名创建信息卡;用户以管理员身份为所选用户分发信息卡。
6.一种基于WS协议的信息卡认证系统,其特征在于,该系统包括=IdentityProvider、Identity Selector Client、Identity Selector Server 及 Relying Party ;其中, Identity Provider,用于对Identity Selector Client提交的信息卡进行认证,并向Identity Selector Client 返回令牌; Identity Selector Client,用于接收Relying Party请求令牌的信息,与RelyingParty确定策略,向Identity Selector Server请求验证登录用户身份并接收验证结果,向Identity Provider提交信息卡进行认证并接收令牌,将令牌返回给RelyingParty ; Identity Selector Server,用于接收Identity Selector Client请求验证登录用户身份的信息,并向Identity Selector Client返回验证结果; Relying Party,用于向 Identity Selector Client 请求令牌,并与 IdentitySelectorClient 确定策略,接收 Identity Selector Client 返回的令牌。
7.根据权利要求6所述的系统,其特征在于,所述IdentitySelector Client,还用于向用户要求输入用户名和密码,再将用户名和密码编写成为验证登录用户身份的请求发送到 Identity Selector Server ; 所述Identity Selector Server,还用于接收验证登录用户身份的请求。
8.根据权利要求6所述的系统,其特征在于,所述IdentitySelector Client,还用于将用户选定的信息卡中的相关信息编写成SOAP信息,并对SOAP信息进行XML签名和XML加密后,发送给Identity Provider ; 所述 Identity Provider,还用于接收 Identity Selector Client 提交的经过 XML 签名和XML加密编写成SOAP信息的信息卡进行解析并做认证。
9.根据权利要求6所述的系统,其特征在于,所述RelyingParty,还用于对接收到的令牌进行XML签名匹配,签名匹配之后进行XML解密,解密成功后才能允许用户进行访问。
10.根据权利要求6所述的系统,其特征在于,所述IdentityProvider,还用于与所接入的系统同步数据库同步数据库,并设置所得到的用户名的初始密码。
11.根据权利要求10所述的系统,其特征在于,所述IdentityProvider,还用于创建信息卡,从Identity Selector Server中查询所选用户名的状态是否在线并接收用户状态信息,当用户状态为在线时,从Identity Selector Server中查询所选用户名所在的Identity Selector Client的IP地址并接收IP地址,根据IP地址将信息卡传送到Identity Selector Client,当用户名状态为不在线时,将信息卡发到Identity SelectorServer ; 相应的,所述Identity Selector Server,还用于接收Identity Provider的所选用户名所在的Identity Selector Client的是否在线的查询,并向其返回用户状态信息,之后接收Identity Provider的所选用户名所在的Identity Selector Client的IP地址的查询并返回IP地址,当Identity Provider所选用户不在线的时候,接收并保存IdentityProvider发送的信息卡; 所述Identity Selector Client,还用于接收Identity Provider发送的信息卡,将信息卡上传并保存在Identity Selector Server。
12.根据权利要求11所述的系统,其特征在于,所述IdentityProvider包括颁发令牌模块、同步用户模块、管理证书模块、创建信息卡模块和分发信息卡模块;其中, 颁发令牌模块,接收Identity Selector Client提交的经过XML签名和XML加密编写成SOAP信息的信息卡,对信息卡进行解析并认证,给Identity SelectorClient返回令牌; 同步用户模块,用于向所要接入的系统获取数据库,用户从同步数据库中选择所选的要建立信息卡的用户名,将所选用户名的用户信息发送给创建信息卡模块; 管理证书模块,用于存储X509证书,且接收创建信息卡模块的建立证书指令,建立X509证书,向创建信息卡模块提供X509证书; 创建信息卡模块,用于接收同步用户模块发来的用户信息,为该用户名创建信息卡,如果要创建的是X509证书类型的信息卡,则先查看管理证书模块中,所选用户名是否有X509证书,如果存在,则直接从管理证书模块读取X509证书,为所选用户名建立信息卡,如果不存在,则向管理证书模块发出建立证书的指令,读取X509证书之后使用该X509证书为所选用户名建立信息卡;如果要创建用户名/密码类型的信息卡,则为所选用户名在创建信息卡模块直接创建用户名/密码类型的信息卡,最后将信息卡发送给分发信息卡模块; 分发信息卡模块,用于接收并保存创建信息卡模块发送的信息卡,接收用户为所选用户名分发信息卡的指令,从Identity Selector Server获取做所选用户名的状态信息,之后从 Identity Selector Server 查询所选用户名所在的 IdentitySelector Client 的 IP地址,根据IP地址将信息卡传送到Identity Selector Client,当所选用户名状态为不在线时,将信息卡发到Identity Selector Server。
13.根据权利要求11所述的系统,其特征在于,所述IdentitySelector Client包括注册模块,登录模块,上传信息卡模块、下载信息卡模块、认证信息卡模块和验证信息卡模块;其中, 注册模块,用于接收登录模块的通知,向Identity Selector Server发送注册信息;登录模块,用于接收Relying Party的请求令牌信息,要求用户输入用户名和密码登录,将用户名和密码上传到Identity Selector Server进行用户身份验证,还用于记录用户名的状态是否在线,并将状态通知给注册模块; 上传信息卡模块,用于根据用户的指令从下载信息卡模块中选取信息卡并上传到Identity Selector Server ; 下载信息卡模块,用于接收并存储Identity Provider发送的信息卡,从IdentitySelector Server下载用户选中的信息卡,还用于接收Identity SelectorServer的用户身份验证结果,用户选择信息卡后将信息卡发送给验证信息卡模块,还用于将上传信息卡模块选取的信息卡发送给上传信息卡模块; 验证信息卡模块,用于接收下载信息卡模块发送的信息卡,接收用户输入的信息卡密码进行验证,并将验证通过的信息卡提交给认证信息卡模块,还用于接收用户修改信息卡密码的指令,将用户的旧密码发送到Identity Provider做验证,接收验证通过的通知后,将用户的新密码发送给Identity Provider,若接收验证失败的通知,则用户无法修改密码; 认证信息卡模块,用于将验证信息卡模块提交的信息卡中的相关信息编写成SOAP信息,并进行XML签名和XML加密并发送给Identity Provider,接收Identity Provider返回的令牌,最后将令牌发送给Relying Party。
14.根据权利要求11所述的系统,其特征在于,所述IdentitySelector Server进一步包括注册用户模块、验证用户模块、接收信息卡模块、发放信息卡模块;其中, 注册用户模块,用于接收Identity Selector Client的注册信息,记录用户的状态,产生用户信息,给验证用户模块提供状态信息和用户信息; 验证用户模块,用于接收Identity Provider的用户的状态查询,从注册用户模块获取用户名的状态信息后向Identity Provider返回所选用户名的状态信息,还用于接收Identity Provider的用户名所使用的Identity Selector Client的IP地址的请求信息,从注册模块获取用户信息并从用户信息中提取出IP地址,向Identity Provider返回用户名所使用的 Identity Selector Client 的 IP地址,还用于接收 Identity Selector Client的用户名和密码对其进行验证并向Identity SelectorClient返回验证结果; 接收信息卡模块,用于接收并保存Identity Provider发送的信息卡,还用于接收并保存Identity Selector Client上传的信息卡,接收发放信息卡模块的信息卡查询指令,将用户所选信息卡发送给发放信息卡模块; 发放信息卡模块,用于根据Identity Selector Client的下载请求,将信息卡发给Identity S elector Client。
15.根据权利要求11所述的系统,其特征在于,所述RelyingParty包括激活Identity Selector Client模块和验证令牌模块;其中, 激活Identity Selector Client模块,用于接收用户的访问请求,向IdentitySelector Client 发送请求令牌的信息,并与 Identity Selector Client 确定策略,接收验证令牌模块的允许用户访问信息,接收用户的访问; 验证令牌模块,用于接收Identity Selector Client发来的令牌,进行验证,验证通过之后,通知激活Identity Selector Client模块允许用户访问。
全文摘要
本发明公开了一种基于WS协议的信息卡认证方法,该方法包括用户登录依赖方(Relying Party),Relying Party向身份选择器客户端(Identity SelectorClient)请求令牌并确定策略;用户使用Identity Selector Client通过身份选择器服务器(Identity Selector Server)验证身份后登录Identity Selector Client;IdentitySelector Client将信息卡提交给标识提供方(Identity Provider)进行认证并接收令牌,将令牌返回给Relying Party。本发明还同时公开了一种基于WS协议的信息卡认证系统,解决了信息传输过程中出现的机密性、完整性、身份鉴别的问题。
文档编号H04L29/06GK102811210SQ201110149978
公开日2012年12月5日 申请日期2011年6月3日 优先权日2011年6月3日
发明者章洋, 吴步丹, 程渤, 陈俊亮, 周海静 申请人:北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1