一种跨域认证方法和系统的制作方法

文档序号:7943591阅读:277来源:国知局
专利名称:一种跨域认证方法和系统的制作方法
技术领域
本发明涉及网络安全领域,特别涉及一种跨域认证方法和系统。
背景技术
当前大规模分布式网络环境中,处于不同域中的企业、机构之间出现了 越来越多的业务往来,隶属于不同信任域的用户进行跨域信息交互和访问也 越来越多。
目前,实体A在5争域访问其他信任域中的实体B时,跨域认证普遍采用 的解决方法是由实体B所在信任域的认证服务器直接对实体A进行跨域身份 认证。其中,同构域为采用同种认证体制的信任域,异构域为采用不同种认 证体制的信任域。现有的认证体制包括PKI ( Public Key Infrastructure, 7>开密钥基础i殳施)iU正体制、Ke r be r o s认i正体制、IBC (Identity- Based Cryptography,基于身份的认证体制)认证体制等。
其中,对于跨同构域的认证中,比如基于PKI认证体制的信任域A向基 于PKI认证体制的信任域B进行跨域认证时,需要建立从目标证书到认证方 信任锚之间的一条或多条候选的证书路径(或称为证书链),证书路径中的每 一个证书都需要被检查和验证,这种交叉证书路径处理的过程非常复杂,使 得认证服务器在直接验证非本域用户证书的过程变得繁瑣低效。
另外,对于跨异构域的认证中,由于不同信任域之间的认证体制互不兼 容,导致用户的身份凭证形式不同,例如PKI中采用身份证书,Kerberos中 采用票据形式等。所以认证服务器在直接验证非本域用户身份凭证时,认证 服务器识别身份凭证时需要对身份凭证的形式进行转换,同样,也使得认证 服务器在直接验证非本域用户凭证的过程变得繁瑣低效。

发明内容
本发明提供的跨域认证的方法和系统,以解决跨域认证中认证服务器在直接验证非本域用户凭证时繁瑣低效的问题。
一方面,提供了一种跨域认证方法,包括至少两个信任域,建立不同信 任域中的认证服务器之间基于公开密钥基础设施PKI认证体系的信任关系, 当第 一信任域中的第 一 实体跨域访问第二信任域中的第二实体时,所述方法
包括
步骤A:所述第一信任域中的第一认证服务器对所述第一实体进行身份 认证,并将认证结果发送给所述第二信任域中的第二认证服务器;
步骤B:所述第二认证服务器利用预先建立的所述基于PKI认证体系的 信任关系验证所述第一认证服务器是否合法,合法则执行步骤C,否则结束;
步骤C:所述第二认证服务器判断接收到的所述认i正结果是否为认证通 过,是则跨域认证成功,否则跨域认证失败。
另一方面,还提供了一种跨域认证系统,包括至少两个信任域,所述系 统包括
信任关系建立模块,用于建立不同信任域中的认证服务器之间基于公开 密钥基础设施PKI认证体系的信任关系;
第 一域认证模块,用于当第 一信任域中的第 一 实体跨域访问第二信任域 中的第二实体时,所述第 一信任域中的第 一认证服务器对所述第 一 实体进行 身份认证,并将认证结果发送给跨域认证才莫块;
PKI认证模块,用于所述第二认证服务器利用所述信任关系建立模块建 立的所述基于PKI认证体系的信任关系验证所述第一认证服务器的合法性; 跨域认证模块,用于当所述PKI认证模块验证所述第 一认证服务器为合 法时,所述第二认证服务器判断接收到的所述认证结果是否为认证通过,是 则跨域认证成功,否则跨域认证失败。
上述第一信任域、第二信任域,第一认证服务器、第二认证服务器,和 第一实体、第二实体是为了区分不同的信任域、认证服务器和实体而进行的 标识,与顺序先后没有关系。同理,对于第二信任域中的第二实体向第一信 任域中的第一实体进行跨域访问时,是一样的。
本发明提供的跨域认证方法和系统的有益效果是通过在不同信任域中 的认证服务器之间建立基于PKI认证体系的信任关系,不同信任域中的两个
6认证服务器之间利用这种互相信任的关系传送认证结果实现跨域认证,从而 解决了跨同构域认证中交叉证书路径处理复杂的问题,及跨异构域中认证服 务器认证不同形式的身份凭证时需要对身份凭证的形式进行转换的问题,从
而简化了跨域认证流程,提高了跨域认证效率;进一步的,本发明还可以在
首次跨域访问成功后,将认证成功的信息记录在第二认证服务器上,这样当 第一实体想再次跨域访问第二实体时,就可以直接进行跨域访问,而无需再
进行跨域认证,实现了透明高效的跨域单点访问。


图1是本发明实施例提供的一种跨域认证方法流程图2是本发明实施例提供的另 一种跨域认证方法流程图3是本发明实施例提供的另 一种跨域认证方法流程图4是本发明实施例提供的另一种跨域认证方法流程图4-1是本发明实施例4提供的一种优选的跨域认证方法流程图5是本发明实施例提供的一种跨域认证系统结构图5-1是本发明实施例5提供的一种跨域认证系统示意图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发 明实施方式作进一步地详细描述。 实施例一
参见图1,为本发明实施例提供了一种跨域认证方法, 首先,步骤101:建立不同信任域中的认证服务器之间基于PKI认证体 系的信任关系。优选的方式为将不同信任域中的认证服务器归属于基于PKI 认证体系中的同 一个信任认证中心CA,该信任认证中心CA为每个认证服 务器颁发证书,根据PKI i^正理i仑可知, 一个CA的所有实体都自动信任该 CA所签发的所有证书,这样就建立起认证服务器之间的信任关系了 。这里, 可以包含至少两个信任域,相应的,认证服务器的数量也有至少两个。其中
7实体可以是用户、应用服务器等。 跨域认证的方法包括如下步骤,
步骤102:实体A向实体B发送跨域访问请求; 步骤103:实体B将认证服务器B的标识发送给实体A; 步骤104:实体A向域A的认证服务器A发送包含认证服务器B的标 识的认证请求;
步骤105:域A的认证服务器A对实体A进行身份认证,将认证结果依 据上述认证服务器B的标识发送给域B的认证服务器B;
其中认证服务器对本域内实体进行身份认证时,由于各信任域采用的认 证体制不同(如PKI, Kerberos等),认证服务器根据其所属域的认证体制对 域内实体进行身份认证。
比如,域A釆用的是PKI认证体制,则此时认证服务器A可以采用证 书方式、口令方式,或证书方式与口令方式的结合的方式对实体A进行身份 认证。其中,认证服务器A采用证书方式对实体A进行身份认证的过程举例 "i兌明3口下
第一步实体A向认证服务器A发送认证请求消息{实体A身份证书, 用认证服务器A />钥加密的临时密钥,由该临时密钥加密的实体A标识和随 机数ru"
第二步认证服务器A收到消息后验证实体A身份证书有效性和证书路 径,验证失败则拒绝。 -验证成功后查询用户是否已注册,未注册则拒绝,已 经注册则读耳又实体A的用户信息,解密出临时密钥乂人而解密出随机数和实体 A身份标识并与实体A的身份证书声明比较是否一致,若一致则向实体A发 送消息(由实体A公钥加密的本次会话的会话密钥,由该会话密钥加密的认 证服务器的身份标识,收到的随机数ru,认证服务器A产生的随机数ra〉。
第三步实体A收到消息后解密若看到自己发送出的随机数ru则信任 认证服务器A,并发送消息(用本次会话密钥加密的由认证服务器A产生的 随机数ra)。认证服务器A收到消息后解密若看到自己产生的随机数ra则信 任实体A,认证结果为认证通过,否则认证结果为未通过。
8认证服务器A采用口令方式对实体A进行身份认证的过程举例说明如

第一步实体A向认证服务器A发送一个随机数ru作为挑战值。 第二步认证服务器A收到实体A的挑战值ru后产生对用户的挑战值
ra,然后对ru、 ra和口令链接求散列值,向实体A发送消息{挑战值ra,散
列值}。
第三步实体A收到消息后按相同方法求散列值,与收到的散列值比较, 不同则认证结果为未通过,相同则信任认证服务器A,用会话密钥对{认证服 务器前后产生的随机数ra和口令链接后的散列值}加密后发送给认证服务器 A,认证服务器A收到消息后做散列值验证,若匹配则信任实体A,认证结 果为iU正通过。
口令方式认证,或先进行口令方式认i正通过后再进行i正书方式认证。
步骤106:认证服务器B利用预先建立的上述基于PKI认证体系的信任 关系验证认证服务器A是否合法,合法则执行步骤107,否则结束;
证服务器A的合法性,等等。
步骤107:认证服务器B判断接收到的认证结果是否为认证通过,是则 跨域认证成功,否则跨域认证失败。
通过在不同信任域中的认证服务器之间建立基于PKI认证体系的信任关
结果实现跨域认证,从而解决了跨同构域认证中交叉证书路径处理复杂的问 题,及跨异构域中认证服务器认证不同形式的身份凭证时需要对身份凭证的 形式进行转换的问题,从而简化了跨域认证流程,提高了跨域认证效率。 为了进一步提高跨域认证的安全性,进一步的,还可以在步骤107之前 增加认证服务器B对实体B进行身份认证的步骤。
本发明实施例中是利用认证服务器B的标识来识别认证服务器A将对实 体A的认证结果发送给哪个认证服务器的,在实际应用中,不限于这种方 法,还可以采用其他方法进行标识。
9本发明实施例中上述域A、域B,认证服务器A、认证服务器B,和实 体A、实体B是为了区分不同的信任域、认证服务器和实体而进行的标识, 与顺序先后没有关系。同理,对于域B中的实体B向域A中的实体A进行 跨域访问时,是一样的。
可以理解,上述域A、域B,认证服务器A、认证服务器B,实体A、 实体B也可以被称为第一信任域,第二信任域,第一认证服务器、第二认 证服务器,第一实体、第二实体。
实施例二
参见图2,为本发明实施例提供的另一种跨域认证的方法,
首先,步骤201:建立不同信任域中的认证服务器之间基于PKI认证体 系的信任关系。优选的方式为将不同信任域中的认证服务器归属于基于PKI 认证体系中的同 一个信任认证中心CA,该信任认证中心CA为每个认证服 务器颁发^^正书,根据PKI认证理-沦可知, 一个CA的所有实体都自动信任该 CA所签发的所有证书,这样就建立起认证服务器之间的信任关系了 。这里, 可以包含至少两个信任域,相应的,认证服务器的数量也有至少两个。其中 实体可以是用户、应用服务器等。
当上述至少两个信任域中的域A的实体A要跨域访问域B的实体B时, 跨域认证的方法包括如下步骤,
步骤202:实体A向实体B发送^,域访问请求;
步骤203:实体B判断域B的认证服务器B上是否记录有实体A认证成 功的信息,是则跨域认证成功,结束;否则执行步骤204;
步骤204:实体B将认证服务器B的标识4是供给实体A;
步骤205:实体A向域A的认证服务器A发送包含认证服务器B的标 识的认证请求;
步骤206:域A的认证服务器A对实体A进行身份认证,将认证结果依 据上述认证服务器B的标识发送给域B的认证服务器B;
步骤207:认证服务器B利用预先建立的上述基于PKI认证体系的信任 关系验证认证服务器A是否合法,合法则执行步骤208,否则结束;验证的方法可以是认证服务器B通过验证认证服务器A的证书来验证认 证服务器A的合法性,等等。
步骤208:认证服务器B判断接收到的认证结果是否为认证通过,是则 跨域认证成功,将实体A认证成功的信息记录在认证服务器B上;否则跨域 认证失败。
为了进一步提高跨域认证的安全性,进一步的,还可以在步骤208之前 增加认证服务器B对实体B进行身份认证的步骤。
可见,通过在不同信任域中的认证服务器之间建立基于PKI认证体系的 信任关系,不同信任域中的两个认证服务器之间利用这种互相信任的关系传 送认证结果实现跨域认证,从而解决了跨同构域认证中交叉证书路径处理复 杂的问题,及跨异构域中认证服务器认证不同形式的身份凭证时需要对身份 凭证的形式进行转换的问题,从而简化了跨域认证流程,提高了跨域认证效 率。进一步的,在首次跨域访问成功后,将认证成功的信息记录在认证服务 器B上,这样当实体A想再次跨域访问实体B时,就可以直接进行跨域访 问,而无需再进行跨域认i正,实现了透明高效的跨域单点访问。
本发明实施例中是利用认证服务器B的标识来识别认证服务器A将对实 体A的认证结果发送给哪个认证服务器的,在实际应用中,不限于这种方 法,还可以采用其他方法进行标识。
本发 明实施例中上述域A、域B,认证服务器A、认证服务器B,和实 体A、实体B是为了区分不同的信任域、认证服务器和实体而进行的标识, 与顺序先后没有关系。同理,对于域B中的实体B向域A中的实体A进行 跨域访问时,是一样的。
可以理解,上述域A、域B,认证服务器A、认证服务器B,实体A、 实体B也可以被称为第一信任域,第二信任域,第一认证服务器、第二认 证服务器,第一实体、第二实体。
实施例三
参见图3,为本发明实施例提供的另一种跨域认证方法,
首先,步骤301:建立不同信任域中的认证服务器之间基于PKI认证体系的信任关系。优选的方式为将不同信任域中的认证服务器归属于基于
PKI认证体系中的同 一个信任认证中心CA,该信任认证中心CA为每个认 证服务器颁发证书,根据PKI认证理论可知, 一个CA的所有实体都自动 信任该CA所签发的所有证书,这样就建立起认证服务器之间的信任关系 了。这里,可以包含至少两个信任域,相应的,认证服务器的数量也有至少 两个。其中实体可以是用户、应用服务器等。
步骤302:利用上述信任关系在上述不同域的认证服务器之间建立会话 密钥;
优选的,建立会话密钥的方法可以是,域A中的认证服务器A将上述建 立信任关系时颁发的证书发送到域B中的认证服务器B,认证服务器B对 该证书验证通过后,建立会话密钥,用上述证书中包含的认证服务器A的 公钥加密上述会话密钥,发送给认证服务器A,认证服务器A用自己的私 钥解密后得到会话密钥。当然,利用基于PKI认证机制在不同信任域的服 务器之间建立会话密钥的方法不限于上述方法,还有其他多种方法都可以实 现。
其中,在上述至少两个信任域中的域A和域B之间利用上述信任关系建 立会话密钥,则当域A中的实体A要跨域访问域B中的实体B时,跨域认 证的方法包括如下步骤,
步骤303:实体A向实体B发送跨域访问请求; 步骤304:实体B将认证服务器B的标识发送给实体A; 步骤305:实体A向域A的认证服务器A发送包含认证服务器B的标 识的认证请求;
步骤306:域A的认证服务器A对实体A进行身份认证,将认证结果和 认证服务器A的标识依据上述认证服务器B的标识发送给域B的认证服务 器B;
步骤307:认证服务器B依据接收到的认证服务器A的标识查找是否有 与认证服务器A的标识对应的会话密钥,是则说明认证服务器A和认证服务 器B之间是信任的,则执行步骤308,否则结束;
步骤308:认证服务器B判断接收到的认证结果是否为认证通过,是则
123争域认证成功,否则^,域认证失败。
通过在不同信任域中的认证服务器之间建立基于PKI认证体系的信任关 系,不同信任域中的两个认证服务器之间利用这种互相信任的关系传送认证 结果实现跨域认证,从而解决了跨同构域认证中交叉证书路径处理复杂的问
形式进行转换的问题,从而简化了跨域认证流程,提高了跨域认证效率。
为了进一步提高跨域认证的安全性,进一步的,还可以在步骤308之前 增加认证服务器B对实体B进行身份认证的步骤。
本发明实施例中是利用认证服务器B的标识来识别认证服务器A将对实 体A的认证结果发送给哪个认证服务器的,在实际应用中,不限于这种方 法,还可以采用其他方法进行标识。
本发明实施例中上述域A、域B,认证服务器A、认证服务器B,和实 体A、实体B是为了区分不同的信任域、认证服务器和实体而进行的标识, 与顺序先后没有关系。同理,对于域B中的实体B向域A中的实体A进行 跨域访问时,是一样的。
可以理解,上述域A、域B,认证服务器A、认证服务器B,实体A、 实体B也可以被称为第一信任域,第二信任域,第一认证服务器、第二认 证服务器,第一实体、第二实体。
实施例四
参见图4,为本发明实施例提供的另一种跨域认证方法, 首先,步骤401:建立不同信任域中的认证服务器之间基于PKI认证体 系的信任关系。优选的方式为将不同信任域中的认证服务器归属于基于 PKI认证体系中的同 一个信任认证中心CA,该信任认证中心CA为每个认 证服务器颁发证书,根据PKI认证理论可知, 一个CA的所有实体都自动 信任该CA所签发的所有证书,这样就建立起认证服务器之间的信任关系 了。这里,可以包含至少两个信任域,相应的,认证服务器的数量也有至少 两个。其中实体可以是用户、应用服务器等。
步骤402:利用上述信任关系在上述不同域的认证服务器之间建立会话
13密钥;
优选的,建立会话密钥的方法可以是,域A中的认证服务器A将上述建
立信任关系时颁发的证书发送到域B中的认证服务器B,认证服务器B对 该证书验证通过后,建立会话密钥,用上述证书中包含的认证服务器A的 公钥加密上述会话密钥,发送给认证服务器A,认证服务器A用自己的私 钥解密后得到会话密钥。当然,利用基于PKI认证机制在不同信任域的服 务器之间建立会话密钥的方法不限于上述方法,还有其他多种方法都可以实 现。
其中,在上述至少两个信任域中的域A和域B之间利用上述信任关系建 立会话密钥,则当域A中的实体A要跨域访问域B中的实体B时,跨域认 证的方法包括如下步骤,
步骤403:实体A向实体B发送跨域访问请求;
步骤404:实体B判断域B的认证服务器B上是否记录有实体A认证成 功的信息,是则跨域认证成功,结束;否则执行步骤405;
步骤405:实体B将认证服务器B的标识发送给实体A;
步骤406:实体A向域A的认证服务器A发送包含认证服务器B的标 识的认证请求;
步骤407:域A的认证服务器A对实体A进行身份认证,将认证结果和 认证服务器A的标识依据上述认证服务器B的标识发送给域B的认证服务 器B;
步骤408:认证服务器B依据接收到的认证服务器A的标识查找是否有 与认证服务器A的标识对应的会话密钥,是则说明认证服务器A和认证服务 器B之间是信任的,则执行步骤409,否则结束;
步骤409:认证服务器B判断接收到的认证结果是否为认证通过,是则 跨域认证成功,否则跨域认证失败。
为了进一步提高跨域认证的安全性,进一步的,还可以在步骤409之前 增加认证服务器B对实体B进行身份认证的步骤。
可见,通过在不同信任域中的认证服务器之间建立基于PKI认证体系的送认证结果实现跨域认证,从而解决了跨同构域认证中交叉证书路径处理复
凭证的形式进行转换的问题,从而简化了跨域认证流程,提高了跨域认证效 率。进一步的,在首次跨域访问成功后,将认证成功的信息记录在认证服务
器B上,这样当实体A想再次3争域访问实体B时,就可以直接进行^夸域访 问,而无需再进行跨域认证,实现了透明高效的跨域单点访问。
本发明实施例中是利用认证服务器B的标识来识别认证服务器A将对实 体A的认证结果发送给哪个认证服务器的,在实际应用中,不限于这种方 法,还可以采用其他方法进行标识。
本发明实施例中上述域A、域B,认证服务器A、认证服务器B,和实 体A、实体B是为了区分不同的信任域、认证服务器和实体而进行的标识, 与顺序先后没有关系。同理,对于域B中的实体B向域A中的实体A进行 跨域访问时,是一样的。
可以理解,上述域A、域B,认证服务器A、认证服务器B,实体A、 实体B也可以被称为第一信任域,第二信任域,第一认证服务器、第二认 证服务器,第一实体、第二实体。
参见图4-1,为本方法的一个优选方案,首先,将不同信任域中的认i正 服务器归属于基于PKI认证体系中的同一个信任认证中心CA,该信任认证 中心CA为每个认证服务器颁发证书,根据PKI认证理论可知, 一个CA的 所有实体都自动信任该CA所签发的所有证书,建立起认证服务器之间的信 任关系了。然后,上述建立了互相之间信任关系的不同信任域中的域A和 域B之间建立会话密钥key3,当上述域A中的用户u要跨域访问域B中的 应用服务器App时,其中域A和域B都采用PKI认证机制,用户u在域A 的认证服务器ASa认证通过后,建立二者之间建立会话密钥keyl,应用服 务器App在域B的认证服务器ASb注册后,建立二者之间建立会话密钥 key2,然后执行下述步骤
① 用户u向应用服务器App发送跨域访问请求;
② 应用服务器App验证认证服务器ASb是否记录有用户u的跨域认证 成功的信息,若有则说明用户u为已经被域B的认证服务器ASb认证通过的,跨域认证成功,结束;否则应用服务器App向用户u发 送消息串{ASb标识,App证书},其中App证书包含有App公钥信 息;ASb标识为认证服务器B的标识; ③用户u收到上述消息串后,从其中的App证书中解析得到App公钥, 并生成对应用服务器App的挑战值urc,用App公钥加密消息串(u 标识,urc},将加密后的消息串发送给应用服务器App; u标识为用 户u的标识;
应用服务器App用App私钥解密接收到上述消息串,并生成对用户u 的挑战值brc,再用认证服务器ASb的公钥加密消息串(App标识, brc, urc},得到消息M,发送给用户u;
⑤ 用户u收到消息后,向认证服务器ASa发送认证请求,认证请求包 含《密文C, ASb标识,消息M),其中密文C用会话密钥keyl加密 {H(M), NH寻到的;其中H(M)为用户u对消息M进行散列运算的结 果,N为用户u与认证服务器ASa本次会话的流水号,这里不限于散 列运算,可以选用其他的加密算法得到H(M), N也不限于流水号, 比如还可以采用当前时间等;
⑥ 认证服务器ASa对用户u进行本域身份认证,从域A的授权服务器 中查询用户u的访问权限等信息,生成用户消息串uM,向认证服务 器ASb发送消息串(密文D, ASa标识,消息M》,其中密文D为用 会话密钥key3加密消息串(uM, R(Asa-u), H(M》得到的;其中H(M) 可以是认证服务器ASa从步骤⑤中接收到的消息串中得到的M散列 值H(M),也可以是用会话密钥keyl解密密文C得到消息M后,利 用和用户u使用相同的散列算法对消息M进行散列运算,生成M的 散列值H(M); R(Asa-u)表示认证服务器ASa对用户u的认证结果。 可以zf旦不限于用凄t字0和1分别^C表i人i正失败和^人i正通过。
⑦ 认证服务器ASb根据ASa标识查找是否有与其对应的会话密钥key3, 未找到则说明ASa与ASb之间并未建立信任关系,结束认证过程; 有的话,说明ASa对ASb而言是可信的,即认证服务器ASa是合法 的,ASb用会话密钥key3解密密文D得到H(M), ASb用与ASa端
16使用的相同的散列算法对收到的M进行散列运算,得到H(M),,比 对H(M)与H(M),是否一致, 一致则说明消息确实是由可信的认证服 务器ASa发送的,且消息M未被第三方修改过,即消息M是完整的。 解密密文D得出认证服务器ASa对用户u的认证结果R(Asa-u),才艮 据R(Asa-u)判断是否对用户u认证通过,当R(Asa-u)为0时说明对用 户u认证未通过,当R(Asa-u)为1时说明对用户u认证通过,此时向 认证服务器ASa发送消息,允许用户u对应用服务器App进行跨域访 问,步骤可以是ASb查找是否有消息M中的APP标识,有则说明应 用服务器App已经在认证服务器ASb上注册,则向认证服务器ASa发 送消息串(密文E,密文F },其中密文E为利用会话密钥key3加密 消息串(brc, u标识,R(Asb-u), uM〉得到的,密文F为利用会话密钥 key3加密消息串(urc, key2' }得到的;key2'为用应用服务器A卯 的/^钥加密key2得到的。
⑧ 认证服务器ASa用会话密钥key3解密密文F,根据urc判断是否为 用户u生成的,是则向用户u发送消息串(密文E,密文G),其中密 文G为用会话密钥key 1加密{urc, key2' }得到的;
⑨ 用户u用会话密钥keyl解密密文G,得到自己生成的挑战值urc,判 断认证服务器ASb和应用服务器App的合法性,向应用服务器发送 消息串(密文E, key2' },应用服务器App利用私钥解密key2'得到 key2,利用key2解密密文E,得到brc, u标识,R(Asb-u), uM,来 验证用户身份的合法性,完成跨域认证,之后便可以依据用户信息串 uM进行跨域访问了。
实施例五
参见图5,为本发明实施例提供的一种跨域认证系统,包括至少两个信 任域,所述系统包括
信任关系建立模块,用于建立不同信任域中的认证服务器之间基于公开 密钥基础设施PKI认证体系的信任关系;
第 一域认证;漠块,用于当第 一信任域中的第 一 实体跨域访问第二信任域
17中的第二实体时,所述第 一信任域中的第 一认证服务器对所述第 一实体进行 身份认证,并将认证结果发送给跨域认证模块;
PKI认证模块,用于第二认证服务器利用上述信任关系建立模块建立的 基于PKI认证体系的信任关系验证第一i人证服务器的合法性;
跨域认证模块,用于当上述PKI认证模块验证第 一认证服务器为合法时, 第二认证服务器判断接收到的认证结果是否为认证通过,是则跨域认证成 功,否则3争域认i正失败。
其中,信任关系建立模块具体用于将不同信任域中的认证服务器归属于 基于PKI认证体系中的同 一个信任认证中心CA,信任认证中心CA为认证 服务器颁发证书。
进一步的,上述信任关系建立模块还包括会话密钥建立单元,用于利用 上述信任关系在不同信任域中的认证服务器之间建立会话密钥,相应的,
第 一域认证模块还包括标识发送单元,用于第 一认证服务器将第 一认证 服务器标识发送给第二认证服务器;
PKI认证模块具体用于第二认证服务器依据标识发送单元发送来的第一 认证服务器标识查找是否有与第 一认证服务器标识对应的会话密钥,来验证 第一认证服务器的合法性。
通过在不同信任域中的认证服务器之间建立基于PKI认证体系的信任关 系,不同信任域中的两个认证服务器之间利用这种互相信任的关系传送认证 结果实现跨域认证,从而解决了跨同构域认证中交叉证书路径处理复杂的问
形式进行转换的问题,从而简化了跨域认证流程,提高了跨域认证效率。
进一步的,为了进一步提高跨域认证中的安全性,所述系统还包括第二 域认证模块,用于第二认证服务器对第二实体进行身份认证。
再进一步的,上述跨域认证模块还包括记录单元,用于当跨域认证成功 后,在第二认证服务器上记录第一实体被认证成功的信息;相应的,所述系 统还包括判断模块,用于第二实体在接收到第一实体的跨域访问请求后,判 断第二认证服务器上是否记录有该第 一 实体被认证成功的信息。这样当第一 实体想再次跨域访问第二实体时,就可以直接进行跨域访问,而无需再进行
18跨域认证,实现了透明高效的跨域单点访问。
上述第一信任域、第二信任域,第一认证服务器、第二认证服务器,和 第一实体、第二实体是为了区分不同的信任域、认证服务器和实体而进行的 标识,与顺序先后没有关系。同理,对于第二信任域中的第二实体向第一信 任域中的第一实体进行跨域访问时,是一样的。
参见图5-1,各信任域中的认证服务器根据需要依托PKI信任体系建立
相互信任关系,形成一种域间分布式认证,域内集中式认证的分布式结构。 认证体系结构中包括两个或两个以上不同信任域之间的跨域认证,每个 信任域可采用相同的认证体制,也可根据需要采用不同的认证体制。如图
5-1中所示,认证体系结构中包括三个不同的信任域域A、域B和域C, 其中域A和域B均采用PKI认证体制,域C采用Kerberos认证体制。域A、 B内实体分别信任认证中心CA1、 CA2,认证中心为本域内实体(包括用户、 应用服务器、认证服务器等)颁发公钥证书,具体为CA1向用户1、应用 服务器l、认证服务器1颁发公钥证书,CA2与此类似。域C中实体均在 认证服务器中注册,具体为应用服务器4的信息注册到认证服务器中。
根据采用的认证体制不同,分别设立认证服务器负责实体间的认证,其 中域A和域B分别包括i人证服务器1和2,域C包括iU正服务器3和Kerberos 服务器。
依托PKI信任体系建立各信任域中认证服务器的相互信任关系。为实现 跨域认证,将各域的认证服务器建立在统一的PKI认证体系之下,由PKI 体系中的CA为各认证服务器颁发证书,从而使得各域中的认证服务器属于 同一个根CA,建立了各认证服务器之间的信任关系。如图5-l中PKI认证 体系为认证服务器l、 2和3分别颁发证书,通过同一个根CA建立三个认 证服务器之间的相互信任关系。其中认证服务器的功能包括本域内集中认证 和域间分布式认证。
域内采用集中式认证各信任域内由认证服务器负责统一认证,其中域 A和域B分别由认证服务器1和2负责本域内实体的统一身份认证,域C 通过认证服务器3对域内实体实施统一身份认证。但是由于采用的认证体制 不同,各域内认i正月l务器的认证过程不同,按照相应的认证方法对域内实体实施集中统一的身份认证,如认证服务器1和2 ,根据证书链的构建和验
证,对本域实体进行认证;认证服务器3,同票据授权服务器一起,按照认 证业务交换、授权票据业务交换和用户/服务器认证交换,对本域实体进行 认证。
域间采用分布式认证认证服务器验证非本信任域用户身份时,通过与 用户所属域的认证服务器交互,完成分布式认证。当用户跨域访问应用服务 器时,应用服务器要求用户到应用服务器所在域认证服务器身份认证。用户 首先到本域认证服务器进行域内身份认证,由该认证服务器向应用服务器所 属域的认证服务器发送用户身份认证的结果;应用服务器所属域的认证服务 器根据接收到的认证结果,判断该实体是否通过身份认证。例如图5-l中, 认证服务器2验证用户1的身份时,首先由用户1所属域A中的认证服务 器对用户l进行身份认证,并将用户1在本域内的认证结果提交给认证服务 器2,通知用户l身份是否认证通过,进而由认证服务器2决定用户l身份 iU正通过与否。
域A与域C,域B与域C之间的跨域认证过程与以上流程同理。 以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范
围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均
包含在本发明的保护范围内。
权利要求
1、一种跨域认证的方法,包括至少两个信任域,其特征在于,建立不同信任域中的认证服务器之间基于公开密钥基础设施PKI认证体系的信任关系,当第一信任域中的第一实体跨域访问第二信任域中的第二实体时,所述方法包括步骤A所述第一信任域中的第一认证服务器对所述第一实体进行身份认证,并将认证结果发送给所述第二信任域中的第二认证服务器;步骤B所述第二认证服务器利用预先建立的所述基于PKI认证体系的信任关系验证所述第一认证服务器是否合法,合法则执行步骤C,否则结束;步骤C所述第二认证服务器判断接收到的所述认证结果是否为认证通过,是则跨域认证成功,否则跨域认证失败。
2、 如权利要求1所述的跨域认证方法,其特征在于,所述建立不同信任 域中的认证服务器之间基于PKI认证体系的信任关系具体为将不同信任 域中的认证服务器归属于基于PKI认证体系中的同一个信任认证中心CA, 所述信任认证中心CA为所述认证服务器颁发证书。
3、 如权利要求1所述的跨域认证方法,其特征在于,所述建立不同信任 域中认证服务器之间基于PKI认证体系的信任关系之后还包括利用所述信 任关系在属于不同信任域中的认证服务器之间建立会话密钥的步骤,相应 的,步骤A还包括所述第一认证服务器将第一认证服务器标识发送给第二 认证服务器;步骤B中所述第二认证服务器利用预先建立的所述基于PKI认证体系的 信任关系验证所述第一认证服务器是否合法的步骤具体为所述第二认证服 务器依据所述第 一认证服务器标识查找是否有与所述第 一认证服务器标识 对应的会话密钥,是则所述第一认证服务器为合法。
4、 如权利要求1-3中任一项所述的跨域认证方法,其特征在于,步骤C 跨域认证成功后还包括在所述第二认证服务器上记录所述第一实体被认证 成功的信息的步骤;相应的,步骤A之前还包括所述第二实体在接收到所述第一实体的跨 域访问请求后,判断所述第二认证服务器上是否记录有所述第 一实体被认证成功的信息的步骤,是则跨域认证成功,结束;否则执行步骤A。
5、 如权利要求1-3中任一项所述的跨域认证方法,其特征在于,所述步 骤B之前还包括所述第二认证服务器对所述第二实体进行身份认证的步骤。
6、 一种跨域认证的系统,包括至少两个信任域,其特征在于,所述系统 包括信任关系建立模块,用于建立不同信任域中的认证服务器之间基于公开 密钥基础设施PKI认证体系的信任关系;第一域认证模块,用于当第一信任域中的第一实体跨域访问第二信任域 中的第二实体时,所述第 一信任域中的第 一认证服务器对所述第 一 实体进行 身份认证,并将认证结果发送给跨域认证模块;PKI认证模块,用于所述第二认证服务器利用所述信任关系建立^^莫块建 立的所述基于PKI认证体系的信任关系验证所述第 一认证服务器的合法性;跨域认证模块,用于当所述PKI认证模块验证所述第 一认证服务器为合 法时,所述第二认证服务器判断接收到的所述认证结果是否为认证通过,是 则3争域认i正成功,否则跨域认证失败。
7、 如权利要求6所述的跨域认证系统,其特征在于,所述信任关系建立 模块具体用于将不同信任域中的认证服务器归属于基于PKI认证体系中的 同一个信任认证中心CA,所述信任认证中心CA为所述认证服务器颁发证 书。
8、 如权利要求6所述的跨域认证系统,其特征在于,所述信任关系建立 模块还包括会话密钥建立单元,用于利用所述信任关系在所述不同信任域中 的认证服务器之间建立会话密钥,相应的,所述第 一域认证模块还包括标识发送单元,用于所述第 一认证服务器将 第 一认证服务器标识发送给第二认证服务器;所述PKI认证模块具体用于所述第二认证服务器依据所述标识发送单元 发送来的第 一认证服务器标识查找是否有与所述第 一认证服务器标识对应 的会话密钥,来验证所述第一认证服务器的合法性。
9、 如权利要求6-8中任一项所述的跨域认证系统,其特征在于,所述跨 域认证模块还包括记录单元,用于当跨域认证成功后,在所述第二认证服务器上记录所述第一实体被认证成功的信息;相应的,所述系统还包括判断模块,用于所述第二实体在接收到所述第 一实体的跨域访问请求后,判断所述第二认证服务器上是否记录有所述第一实体被认证成功的信息。
10、如权利要求6-8中任一项所述的跨域认证系统,其特征在于,所述 系统还包括第二域认证模块,用于所述第二认证服务器对所述第二实体进行 身份认证。
全文摘要
本发明公开一种跨域认证方法和系统,属于网络安全领域。所述方法为建立不同信任域中的认证服务器之间基于PKI认证体系的信任关系,当第一信任域的第一实体跨域访问第二信任域的第二实体时,第一信任域中的第一认证服务器对第一实体进行身份认证,并将认证结果发送给第二信任域中的第二认证服务器;第二认证服务器利用预先建立的信任关系验证第一认证服务器为合法时,判断接收到的认证结果为认证通过时,跨域认证成功。所述系统包括信任关系建立模块、第一域认证模块、PKI认证模块和跨域认证模块。本发明提供的方法和系统简化了跨域认证流程,提高了跨域认证效率;进一步,还实现了透明高效的跨域单点访问。
文档编号H04L29/06GK101453476SQ20091000005
公开日2009年6月10日 申请日期2009年1月6日 优先权日2009年1月6日
发明者任志宇, 单棣斌, 斌 张, 智 杨, 艳 杨, 陈性元 申请人:中国人民解放军信息工程大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1