一种跨域权限管理系统及方法转让专利

申请号 : CN200910169756.8

文献号 : CN101645900B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 吴亚非李新友任金强陈晨

申请人 : 国家信息中心

摘要 :

本发明公开一种跨域权限管理系统,其中的前端代理模块在用户和应用系统之间、应用系统和身份认证模块之间以及应用系统和权限确认模块之间建立数据传输通道;身份认证模块支持多个认证机构颁发的身份证书,以对访问应用系统的用户进行身份认证;权限确认模块面向整个跨域权限管理系统中的全部应用系统,用于确认用户对于该应用系统的访问权限,并将确认后的用户权限传输至前端代理模块;数据库用于存储与所述用户、所述多个认证机构和所述多个应用系统有关的数据。此外,本发明还公开一种跨域权限管理方法。本发明提供的系统和方法能够实现跨越信任域和应用域的权限管理,并使其中的应用系统拥有足够的适应性和拓展性,同时可提高用户访问效率。

权利要求 :

1.一种跨域权限管理系统,其特征在于,包括身份认证模块、权限确认模块、数据库、多个应用系统以及对应于每一应用系统而设置在其前端的前端代理模块,其中所述前端代理模块用于在用户和应用系统之间、应用系统和身份认证模块之间以及应用系统和权限确认模块之间建立数据传输通道,以进行数据交互;

所述身份认证模块支持多个认证机构颁发的身份证书,用于对试图访问所述应用系统的用户进行身份认证,并将用户身份认证结果传输至所述前端代理模块;

所述权限确认模块面向整个跨域权限管理系统中的全部应用系统,用于根据来自前端代理模块的用户权限查询请求和数据库中存储的相关数据来确认用户对于该应用系统的访问权限,并将确认后的用户访问权限传输至前端代理模块,以便所述前端代理模块确定用户是否能够访问该应用系统;以及所述数据库用于存储与所述用户、所述多个认证机构和所述多个应用系统有关的数据。

2.根据权利要求1所述的跨域权限管理系统,其特征在于,所述身份认证模块包括认证服务接口、证书认证单元和认证机构管理单元,其中所述认证服务接口用于将来自该身份认证模块外部的用户身份认证请求及相关信息传输至证书认证单元,以及将来自证书认证单元的用户身份认证结果向该身份认证模块外部传输;

所述证书认证单元用于根据来自认证服务接口的用户身份认证请求而向认证机构管理单元发送查找认证机构的请求,以及在认证机构管理单元确认该用户身份证书是由该身份认证模块所支持的认证机构颁发后,对该用户身份证书进行认证,并将认证结果传输至所述认证服务接口;以及 所述认证机构管理单元根据所述查找认证机构的请求以及数据库中存储的相关数据而确认所述用户身份证书是否为该身份认证模块支持的认证机构所颁发的证书,并将结果传输至所述证书认证单元。

3.根据权利要求2所述的跨域权限管理系统,其特征在于,所述认证机构管理单元还执行下述操作:添加认证机构、和/或删除认证机构、和/或对认证机构信息进行删除、添加和查看。

4.根据权利要求2所述的跨域权限管理系统,其特征在于,所述认证机构管理单元还进行下述设置:为每一个认证机构设置根证书、设置是否校验证书状态、设置证书校验方式以及设置证书废除列表管理和在线证书状态协议服务信息管理功能。

5.根据权利要求2所述的跨域权限管理系统,其特征在于,所述认证机构管理单元根据用户身份证书中所包含的认证机构密钥标识符和/或认证机构DN来确认颁发所述用户身份证书的认证机构。

6.根据权利要求2所述的跨域权限管理系统,其特征在于,所述证书认证单元对所述用户身份证书进行认证具体包括:对用户身份证书进行证书有效性验证、证书合法性验证和证书状态的验证。

7.根据权利要求6所述的跨域权限管理系统,其特征在于,所述权限确认模块包括查询服务接口、权限识别单元和应用管理单元,其中所述查询服务接口用于在前端代理模块和权限识别单元之间建立数据传输通道,以将来自所述前端代理模块的用户权限查询请求及相关信息传输至所述权限识别单元,以及将来自权限识别单元的用户权限查询结果传输至前端代理模块;

所述权限识别单元用于根据来自所述查询服务接口的用户权限查询请求和目标URL而向应用管理单元发送查找应用信息的请求, 以及根据由应用管理单元所确定的应用信息而对用户针对该应用的属性权限进行识别,而后将与用户权限信息传输至所述查询服务接口;

所述应用管理单元根据所述查找应用信息的请求以及数据库中的相关存储数据而确定与该应用相关的信息,并将该应用信息传输至所述权限识别单元,以便权限识别单元使用该应用信息而对用户针对该应用的属性权限进行识别。

8.一种跨域权限管理方法,适用于跨域权限管理系统,其特征在于,所述方法包括下述步骤:

1)将跨域权限管理系统所支持的多个认证机构的信息及所述多个认证机构所颁发的用户身份证书进行存储;

2)设置并存储与多个应用系统有关的信息以及用户针对各应用系统的访问权限信息;

3)根据所存储用户身份证书和多个认证机构的信息,对访问应用系统的用户进行身份认证;

4)在确定访问所述应用系统的用户具有有效身份后,根据所存储的与多个应用系统有关的信息和用户针对各应用系统的访问权限来确定用户对于所述应用系统的访问权限;以及

5)在确定用户对所述应用系统具有访问权限后,允许该用户访问所述应用系统。

9.根据权利要求8所述的跨域权限管理方法,其特征在于,所述步骤3)中具体包括下述步骤:

31)根据用户身份证书中所包含的认证机构密钥标识符和/或认证机构DN来确认所述用户身份证书的认证机构,确认用户身份证书的颁发机构是否为步骤1)中所存储的颁发机构,如果是,则转到步骤32);如果否,则提示未通过身份认证;

32)确认用户身份证书的有效性、合法性及该证书目前状态。

10.根据权利要求8所述的跨域权限管理方法,其特征在于,在所述步骤4)中具体包括下述步骤:

41)根据用户权限查询请求和目标URL而查找相应的应用信息;

42)根据查找到的应用信息和用户信息而对用户针对该应用系统的属性权限进行识别,以确定用户对于该应用系统的访问权限。

说明书 :

一种跨域权限管理系统及方法

技术领域

[0001] 本发明涉及信息安全技术,具体而言,涉及一种跨域的用户权限管理系统及相关方法。

背景技术

[0002] 随着社会与经济的高速发展,计算机网络发挥着越来越重要的作用,例如各类公司、政府机关已逐渐建立起多应用、多服务的IT架构。通常来说,目前所使用的各类应用、服务系统是由不同的开发商在不同时期采用不同的技术建设的,如:邮件系统、政府内部办公系统、公文管理系统、呼叫系统、GIS系统等。在这些应用系统中,由于系统的基础构架、编码方式、应用资源类型等不同,而使得大多数应用系统都采用自成一体的身份认证、用户管理、授权管理系统,然而这样会限制各类应用系统之间的信息共享和信息交换,形成的信息孤岛。尤其是身份认证技术的快速发展,各地CA(Certificate Authority,认证机构,其核心职能是发放和管理用户的数值证书)可为当地的各类应用系统发放由各自所认定的数字身份证书,然而这些数字证书并不通用,也不能进行相互认证,这样便产生了这样的情形:即,虽然可确保信息资源安全,但是在无形中却加大了各个应用系统之间的壁垒,使得各个应用系统变得更加独立。
[0003] 由上可知,每一个CA在其所管辖的领域范围内是所有用户的身份合法性权威,而在另一个领域内则不具有这种权威效力,所以不同的领域范围都有不同的CA作为用户身份的合法性权威。目前,应用系统会信任自己所在领域内的CA为最终用户所颁发的证书,所以这些最终用户可以使用该CA为其颁发的证书来登录该应用系统,这样便使得不同的应用系统都只信任自己所在领域范围内的CA所颁 发的证书。然而在实际应用中,对于普通用户来说存在同时访问不同领域范围的应用系统的需要。
[0004] 基于此,本领域的技术人员提出了跨域权限管理的课题。目前所采用的跨域权限管理通常包括下述方式:一种方式是让每个应用系统去支持更多其它领域的CA;另一种方式是使用交叉认证解决用户跨域访问的问题。但是在实际应用中,这两种方式都存在下述缺点:即,实现难度大、难以管理,并且流行的应用容器均不提供支持等,这极大地增大了系统的开发难度。
[0005] 为此,一个新的课题就摆在本领域技术人员的面前:即,如何构建一个权限管理系统,使其既支持多CA认证机构又支持多应用系统。

发明内容

[0006] 为解决上述问题,本发明提供一种跨域权限管理系统和跨域权限管理方法,其能够实现跨越信任域和应用域的权限管理,并使其中的应用系统能够拥有足够的适应性和拓展性,同时可提高用户访问效率。
[0007] 为此,本发明提供一种跨域权限管理系统,其包括身份认证模块、权限确认模块、数据库、多个应用系统以及对应于每一应用系统而设置在其前端的前端代理模块。其中,所述前端代理模块用于在用户和应用系统之间、应用系统和身份认证模块之间以及应用系统和权限确认模块之间建立数据传输通道,以进行数据交互;所述身份认证模块支持多个认证机构颁发的身份证书,用于对试图访问所述应用系统的用户进行身份认证,并将用户身份认证结果传输至所述前端代理模块;所述权限确认模块面向整个跨域权限管理系统中的全部应用系统,用于根据来自前端代理模块的用户权限查询请求和数据库中存储的相关数据来确认用户对于该应用系统的访问权限,并将确认后的用户访问权限传输至前端代理模块,以便所述前端代理模块确定用户是否能够访问该应用系统;以及所述数据库用于存储与所述用户、所述多个认证机构和所述多个应用系统有关的数据。
[0008] 其中,所述身份认证模块包括认证服务接口、证书认证单元和认证机构管理单元。所述认证服务接口用于将来自该身份认证模块外部的用户身份认证请求及相关信息传输至证书认证单元,以及将来自证书认证单元的用户身份认证结果向该身份认证模块外部传输;所述证书认证单元用于根据来自认证服务接口的用户身份认证请求而向认证机构管理单元发送查找认证机构的请求,以及在认证机构管理单元确认该用户身份证书是由该身份认证模块所支持的认证机构颁发后,对该用户身份证书进行认证,并将认证结果传输至所述认证服务接口;以及所述认证机构管理单元根据所述查找认证机构的请求以及数据库中存储的相关数据而确认所述用户身份证书是否为该身份认证模块支持的认证机构所颁发的证书,并将结果传输至所述证书认证单元。
[0009] 其中,所述认证机构管理单元还执行下述操作:添加认证机构、和/或删除认证机构、和/或对认证机构信息进行删除、添加和查看。
[0010] 其中,所述认证机构管理单元还进行下述设置:为每一个认证机构设置根证书、设置是否校验证书状态、设置证书校验方式以及设置证书废除列表管理和在线证书状态协议服务信息管理功能。
[0011] 其中,所述认证机构管理单元根据用户身份证书中所包含的认证机构密钥标识符和/或认证机构DN来确认颁发所述用户身份证书的认证机构。
[0012] 其中,所述证书认证单元对所述用户身份证书进行认证具体包括:对用户身份证书进行证书有效性验证、证书合法性验证和证书状态的验证。
[0013] 其中,所述权限确认模块包括查询服务接口、权限识别单元和应用管理单元。所述查询服务接口用于在前端代理模块和权限识别单元之间建立数据传输通道,以将来自所述前端代理模块的用户权限查询请求及相关信息传输至所述权限识别单元,以及将来自权限识别单元的用户权限查询结果传输至前端代理模块;所述权限识别单元用于根据来自所述查询服务接口的用户权限查询请求和目标 URL而向应用管理单元发送查找应用信息的请求,以及根据由应用管理单元所确定的应用信息而对用户针对该应用的属性权限进行识别,而后将与用户权限信息传输至所述查询服务接口;所述应用管理单元根据所述查找应用信息的请求以及数据库中的相关存储数据而确定与该应用相关的信息,并将该应用信息传输至所述权限识别单元,以便权限识别单元使用该应用信息而对用户针对该应用的属性权限进行识别。
[0014] 此外,本发明还提供一种跨域权限管理方法,其适用于跨域权限管理系统。所述方法包括下述步骤:1)将跨域权限管理系统所支持的多个认证机构的信息及所述多个认证机构所颁发的用户身份证书进行存储;2)设置并存储与多个应用系统有关的信息以及用户针对各应用系统的访问权限信息;3)根据所存储用户身份证书和多个认证机构的信息,对访问应用系统的用户进行身份认证;4)在确定访问所述应用系统的用户具有有效身份后,根据所存储的与多个应用系统有关的信息和用户针对各应用系统的访问权限来确定用户对于所述应用系统的访问权限;以及5)在确定用户对所述应用系统具有访问权限后,允许该用户访问所述应用系统。
[0015] 其中,所述步骤3)具体包括下述步骤:31)根据用户身份证书中所包含的认证机构密钥标识符和/或认证机构DN来确认所述用户身份证书的认证机构,确认用户身份证书的颁发机构是否为步骤1)中所存储的颁发机构,如果是,则转到步骤32);如果否,则提示未通过身份认证;32)确认用户身份证书的有效性、合法性及该证书目前状态。 [0016] 其中,所述步骤4)具体包括下述步骤:41)根据用户权限查询请求和目标URL而查找相应的应用信息;42)根据查找到的应用信息和用户信息而对用户针对该应用系统的属性权限进行识别,以确定用户对于该应用系统的访问权限。
[0017] 相对于现有技术,本发明具有下述有益效果:
[0018] 由于本发明提供的跨域权限管理系统具有可支持多个认证机构的身份认证模块,并由其对试图访问应用系统的用户进行身份认证, 这样,无论这些用户是归属于同一个认证机构,还是分别归属于不同的认证机构,只要其所归属的认证机构是所述多个认证机构中的任意一个,那么该身份认证模块就都可以对其进行身份认证,这样,该跨域权限管理系统就实现了跨越信任域的权限管理。同时,由于本发明提供的跨域权限管理系统具有面向整个跨域权限管理系统中的全部应用系统的权限确认模块,并且针对每一应用系统而设置有前端代理模块,这样,只要前端代理模块向该权限确认模块传输与访问应用系统的用户及该应用系统相关的信息及相应请求,那么该权限确认模块就可以确认该用户是否对该应用系统享有访问权限,而无论该用户是否属于该应用系统,也就是说,只要是属于该跨域权限管理系统中的用户并且对其进行了相应授权,则该用户就可以访问具有相应授权的任何应用系统。由是,本发明提供的跨域权限管理系统还可以实现跨越应用域的权限管理。 [0019] 类似地,本发明提供的跨域权限管理方法同样可以实现跨越信任域和应用域的权限管理。
[0020] 由上可知,本发明提供的跨域权限管理系统和方法能够在确保数据安全性的前提下,最大程度地使其中的应用系统能够拥有足够的适应性和拓展性,同时大大减少用户访问不同信任域、应用域时的不便,提高了用户的访问效率。

附图说明

[0021] 图1为本发明一个具体实施例提供的跨域权限管理系统的总体结构图; [0022] 图2为图1所示身份认证模块的具体结构图;
[0023] 图3为图2所示身份认证模块进行身份认证时的流程示意图;以及 [0024] 图4为本发明一个具体实施例提供的跨域权限管理方法的流程示意图。 具体实施方式
[0025] 为使本技术领域的人员更好地理解本发明的技术方案,下面结合附图对本发明提供的跨域权限管理系统和跨域权限管理方法进行详细描述。
[0026] 首先,对本发明所涉及的一些术语进行定义。由于近些年来,伴随着数字身份认证技术飞速发展以及国家信息化建设的普及,一些域的概念经常被人提及,例如安全域、信任域、应用域等等。为了避免混淆,有必要在此对本发明所涉及的“域”做一定义说明:本发明所说的“域”包括信任域和应用域,所谓信任域是指以CA机构为划分基准,也就是说,将由同一家CA机构进行数字认证并使用其所发放的数字证书的单位和个人统一划归为一个信任域;所谓应用域是指以应用系统为划分基准,将一个应用系统所涉及的范围(其包括的用户、资源等)划归为一个应用域。事实上,一个信任域中可以有多个应用域,一个应用域中也可以有多个信任域,而且在某些特定情况下,信任域和应用域的范围也可以是完全重叠的。
[0027] 接下来,请一并参阅图1和图2,其中,图1示出了本发明一个具体实施例提供的跨域权限管理系统;图2示出了本发明中所采用的身份认证模块的具体结构图。 [0028] 如图所示,本实施例提供的跨域权限管理系统包括身份认证模块、权限确认模块、数据库、多个应用系统(应用系统1、应用系统2直至应用系统n,在此,n为大于2的整数)以及对应于每一应用系统而设置在其前端的前端代理模块(前端代理模块1、前端代理模块2直至前端代理模块n,在此,n为大于2的整数)。
[0029] 其中,前端代理模块用于在用户和应用系统之间、应用系统和身份认证模块之间以及应用系统和权限确认模块之间建立数据传输通道,以进行数据交互。事实上,前端代理模块的一部分功能类似于针对应用系统的登录模块。
[0030] 身份认证模块支持多个认证机构所颁发的身份证书,用于根据数据库中存储的相关数据对欲访问所述应用系统的用户进行身份认证,并将用户身份认证结果传输至所述前端代理模块。
[0031] 权限确认模块面向整个跨域权限管理系统中的全部应用系统, 用于根据来自前端代理模块的用户权限查询请求和数据库中存储的相关数据来确认用户对于该应用系统的访问权限,并将确认后的用户访问权限传输至所述前端代理模块,以便前端代理模块确定用户是否能够访问该应用系统。
[0032] 需要指出的是,权限确认模块在此进行确认的用户访问权限是一种粗粒度的访问权限,也就是说,是确认用户是否具有登录到该应用系统的权限,至于用户针对应用系统中的具体数据资源的权限及其管理类似于现有技术中相应的权限管理,在此不予赘述。 [0033] 数据库用于存储与所述用户、所述多个认证机构和所述多个应用系统有关的数据。
[0034] 可以理解的是,本发明提供的跨域权限管理系统具有可支持多个认证机构(例如,认证机构1,……,认证机构m,其中m是大于1的整数)的身份认证模块,并由其对试图访问应用系统的用户进行身份认证,这样,无论这些用户是归属于同一个认证机构,还是分别归属于不同的认证机构,只要其所归属的认证机构是所述多个认证机构中的任意一个,那么该身份认证模块就都可以对其进行身份认证,这样,该跨域权限管理系统就实现了跨越信任域的权限管理。同时,由于本发明提供的跨域权限管理系统具有面向整个跨域权限管理系统中的全部应用系统(应用系统1、应用系统2……应用系统n,其中n为大于2的整数)的权限确认模块,并且针对每一应用系统而设置有前端代理模块,这样,只要前端代理模块向该权限确认模块传输与访问应用系统的用户及该应用系统相关的信息及相应请求,那么该权限确认模块就可以确认该用户是否对该应用系统享有访问权限,而无论该用户是否属于该应用系统,也就是说,只要是属于该跨域权限管理系统中的用户并且对其进行了相应授权,则该用户就可以访问具有相应授权的任何应用系统,例如应用系统1中的用户在具有相应权限的前提下,也可以被允许访问应用系统2。这样,本发明提供的跨域权限管理系统还可以实现跨越应用域的权限管理。
[0035] 下面对身份认证模块和权限确认模块分别予以详细说明。
[0036] 本实施例中所采用的身份认证模块可以支持多CA认证,以取代原系统中各自孤立的身份认证模块,并进行集中、统一的身份认证。具体地,身份认证模块可以包括认证服务接口、证书认证模块、认证机构管理模块和数据库。
[0037] 其中,所述认证服务接口用于将来自该身份认证模块外部(例如,来自用户和/或前端代理模块)的用户身份认证请求及相关信息传输至证书认证单元,以及将来自证书认证单元的用户身份认证结果传输至该身份认证模块外部(例如,来自用户和/或前端代理模块)。
[0038] 所述证书认证单元用于根据来自认证服务接口的用户身份认证请求而向认证机构管理单元发送查找认证机构的请求,以及在认证机构管理单元确认该用户身份证书是由该身份认证模块所支持的认证机构颁发后,对该用户身份证书进行认证,并将认证结果传输至所述认证服务接口。
[0039] 具体地,在认证机构管理单元确认该用户身份证书是由该身份认证模块所支持的认证机构颁发后,证书认证单元对该用户身份证书进行下述验证:即,证书有效性验证、证书合法性验证和证书状态的验证。
[0040] 所述认证机构管理单元根据来自证书认证单元的查找认证机构的请求以及数据库中存储的信息而确认用户证书是否为该身份认证模块所支持的认证机构颁发的证书,并将结果发送至证书认证单元。该认证机构管理单元可以根据用户身份证书中所包含的认证机构密钥标识符和/或认证机构DN来确认颁发所述用户身份证书的认证机构。 [0041] 实际应用中,所述认证机构管理单元还执行下述操作:添加认证机构、和/或删除认证机构、和/或对认证机构信息进行删除、添加和查看。而且,认证机构管理单元还进行下述设置:为每一个认证机构设置根证书、设置是否校验证书状态、设置证书校验方式以及设置CRL(Certificate revocation lists,证书废除列表,亦称证书黑名单)管理和OCSP(Online Certificate Status Protocol,在线证书状态协议)服务信息管理功能。借助于该认证机构管理单元,身份认证 模块可以对其信任的认证机构进行管理,为实现对多CA的支持奠定基础。
[0042] 本实施例中所采用的权限确认模块可以包括查询服务接口、权限识别单元和应用管理单元。
[0043] 其中,所述查询服务接口用于在前端代理模块和权限识别单元之间建立数据传输通道,以将来自所述前端代理模块的用户权限查询请求及相关信息传输至所述权限识别单元,以及将来自权限识别单元的用户权限查询结果传输至前端代理模块。 [0044] 所述权限识别单元用于根据来自所述查询服务接口的用户权限查询请求和目标URL(Uniform Resource Locator,统一资源定位器)而向应用管理单元发送查找应用信息的请求,以及根据由应用管理单元所确定的应用信息而对用户针对该应用的属性权限进行识别,而后将与用户权限信息传输至所述查询服务接口。
[0045] 所述应用管理单元根据所述查找应用信息的请求以及数据库中的相关存储数据而确定与该应用相关的信息,并将该应用信息传输至所述权限识别单元,以便权限识别单元使用该应用信息而对用户针对该应用的属性权限进行识别。
[0046] 在实际应用中,跨域权限管理系统通过应用管理单元对各应用系统进行管理,每个受保护的应用系统都必须已在应用管理单元中注册。注册应用时须要设置应用系统的名称、应用系统的唯一标识、应用系统的类型(BS、CS)、应用系统的接入方式(Agent、模拟代填等)、应用系统的地址、应用系统的通讯类型(明文、密文)以及需要向此应用传递的额外信息等。
[0047] 当各应用系统完成在应用管理单元中的注册后,当某一用户试图访问上述跨域权限管理系统中的某一应用系统(例如,应用系统1)时,设置在该应用系统1前端并与该应用系统1相关的前端代理模块(Agent)1会检查用户是否通过身份认证和权限确认,若否,则执行下述操作:使用户转向身份认证模块以进行身份认证,同时将用户试图访问的应用系统URL传递给权限确认模块,由权限确认模块将此URL与应用管理单元中注册的应用系统的地址逐一进行识 别,进而确定用户试图访问的是哪个应用系统,并在确定应用系统后,由权限确认模块取出应用标识(权限确认模块中定义的应用系统的唯一标识),通过权限标识单元可以查找到与该应用系统有关的一切信息,例如:访问控制规则信息、用户在此应用系统中的从账号信息等。
[0048] 当用户成功通过身份认证和权限确认后,根据前述前端代理模块所传递URL而将用户转回应用系统。此时,前端代理模块在确认用户已经通过身份认证并完成权限确认后,根据访问控制信息决定用户是否可以访问此应用系统。
[0049] 请参阅图3,其中示出了图2所示可支持多CA的身份认证模块进行用户身份认证时的流程示意图。
[0050] 其中,在步骤210中,根据用户的数字身份证书、用户相关信息和预先存储在数据库中的认证机构信息,确认该身份证书的认证机构,即,该身份证书的颁发机构。 [0051] 具体地,当用户试图访问某个应用系统时,该应用系统会将用户交给身份认证模块(例如身份认证网关)进行身份认证。此时,用户会向身份认证网关出示自己的身份证书,当身份认证网关接收到用户提交的身份证书时会查找其认证机构。该身份认证网关设计了两种查找方法,当用户的身份证书中包含颁发者密钥标识符扩展项时,因用户的身份证书中的颁发者密钥标识与认证机构的主题密钥标识是相等的,所以身份认证网关使用此扩展项中的颁发者密钥标识就能在认证机构管理中查找到其认证机构。当用户的身份证书中不包含颁发者密钥标识扩展时,身份认证网关就使用用户身份证书中的颁发者DN查找其认证机构。
[0052] 步骤220,在确认用户身份证书的认证机构为本身份认证网关所支持的认证机构后,再验证该用户身份证书是否在有效期内,如果是,则转到步骤240,继续进行后续验证;如果否,则转到步骤230。
[0053] 步骤230,提示出现身份证书未在有效期内的错误,并指示未通过身份认证。 [0054] 步骤240,验证该身份证书是否合法,即,通过校验该数字证书 的CA签名信息来验证信任关系,也就是验证该用户身份证书是否是其所属认证机构颁发的,如果是,则转到步骤260,以继续进行后续验证;如果否,则转到步骤250。
[0055] 步骤250,提示出现身份证书并非其认证机构所颁发的错误,并指示未通过身份认证。
[0056] 步骤260,在确认信任关系验证成功后,继续验证该用户身份证书的状态,具体地,根据用户证书的认证机构配置信息中对CRL、OCSP服务等信息的配置对用户证书的状态进行校验,如果用户证书已经被冻结或注销,则状态验证不能通过,并转到步骤270;如果用户证书状态正常,转到步骤280。
[0057] 步骤270,提示出现身份证书当前状态无效的错误,并指示未通过身份认证。 [0058] 步骤280,提示用户的身份证书成功通过网关的身份认证,并且整个证书认证过程结束。
[0059] 作为另一个技术方案,本发明还提供一种跨域权限管理方法,其适用于跨域权限管理系统。下面结合图4所示实施例对本发明提供的方法进行详细说明。 [0060] 如图所示,本实施例提供的跨域权限管理方法包括下述步骤: [0061] 步骤410,将跨域权限管理系统所支持的多个认证机构的信息及所述多个认证机构所颁发的用户身份证书进行存储。
[0062] 步骤420,设置并存储与多个应用系统有关的信息以及用户针对各应用系统的访问权限信息;
[0063] 步骤430,根据所存储用户身份证书和多个认证机构的信息,对访问应用系统的用户进行身份认证。
[0064] 具体地,根据用户身份证书中所包含的认证机构密钥标识符和/或认证机构DN来确认所述用户身份证书的认证机构,确认用户身份证书的颁发机构是否为步骤410中所存储的颁发机构,如果是,则继续对用户身份证书的有效性、合法性及该证书目前状态进行验证;如果否,则提示未通过身份认证。具体过程类似于前面结合图3所作描述,在此不再赘述。
[0065] 步骤440,在确定访问所述应用系统的用户具有有效身份后,根据所存储的与多个应用系统有关的信息和用户针对各应用系统的访问权限来确定用户对于所述应用系统的访问权限。
[0066] 具体地,根据用户权限查询请求和目标URL而查找相应的应用信息,并根据查找到的应用信息和用户信息而对用户针对该应用系统的属性权限进行识别,以确定用户对于该应用系统的访问权限。
[0067] 步骤450,在确定用户对所述应用系统具有访问权限后,允许该用户访问所述应用系统。
[0068] 由上可知,采用本发明提供的跨域权限管理系统和跨域权限管理方法,能够在同时支持多家CA的数字认证的基础上,适应多种不同类型的应用系统,为其提供按需定制的信息资源构架和角色权限设定功能,在确保数据安全性的前提下,最大程度地使应用系统能够拥有足够的适应性和拓展性。也就是说,本发明提供的跨域权限管理系统和方法不仅可以实现跨越信任域的权限管理,而且还可以实现跨越应用域的权限管理。 [0069] 可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。