用于建立多个会话的系统和方法

文档序号:7636327阅读:183来源:国知局
专利名称:用于建立多个会话的系统和方法
用于建立多个会话的系统和方法背景技术本发明 一般地涉及网络安全性,更具体地涉及允许单个设备通过一次登录(login)来建立多个会话(session)的系统和方法。网络安全性已经成为商业上的一个关键问题。因此,不同的应用和系 统需要彼此进行认证。这些认证是在隔离的环境(context)中进行的,并 使得建立了多个安全的经认证的会话。例如,在无线环境下, 一个接入点(access point)可以运行多个不同 的应用或子系统。结果,该接入点需要进行多次认证。当通过包括数百个 接入点的网络而大量增加时,这会急剧地加大AAA (认证、授权和计费(Authentication, Authorization and Accounting ))月艮务器的负荷。现有的单点登录系统(single sign-on system)倾向于对用户方的优 化,以通过对用户隐藏随后的认证来使得用户不必连续地登录不同的应 用。典型地,用户执行单点登录以"解锁"对安全证书的存取。这些证书 随后被单点登录系统用于按需地对用户是否有权访问其它应用进行认证。 例如,从麻省理工学院可以获得的Kerberos以及许多其它商业产品对用户 是否有权访问票据(ticketing)服务器进行认证。用户请求其意欲使用的 各个应用的票据。当用户启动一个应用时,票据被单点登录系统用于建立 与各个应用的安全会话。用户设备将票据提交给所述应用的认证方(authenticator),认证方随后通过票据服务器对该票据进行认证。因此, 所述设备还是执行了多次认证,即使单点登录系统对用户隐藏对应用的认 证。发明内容根据本发明的一个方面,在此描述了一种系统和方法,该系统和方法 允许设备完成针对一个AAA服务器或多个AAA服务器的一次成功的认证 序列,从而得到用于不同应用或子系统的许多安全会话,例如,由客户端身份、AAA服务器的策略、客户端(例如,AP)在初始化时的配置或其任意组合决定的数量的安全会话。根据本发明的一个方面,在此公开了一种系统和方法,该系统和方法 允许按需将多个会话的认证请求分发给不同的认证服务器。在一个实施例 中,认证服务器起到作为其它认证方的代理的作用,并将请求发送到不相 交认证服务器。可替换地,认证服务器具有其它认证方的全局知识,并能 够按需将请求分发给不同认证服务器。如果所述认证服务器中的任意一个 认证服务器能够处理多个请求,则可以使用所述经分发的请求的集合。根据本发明的一个方面,在此描述了一种对用于单个请求方的经认证的多个会话的建立进行优化的方法。该方法包括利用认证服务器来对请 求方进行认证,并确定用于该请求方的至少一个其它会话。认证服务器通 过所述至少一个其它会话的认证方来启动所述用于请求方的至少一个其它 会话。本发明的几个方面包括用于实施这里所描述的方法的系统和指令的 计算机可读介质。本发明的一个方面在于其允许在设备上的附加子系统立即通过经认证的安全会话而开始工作,而无需完整的认证交换,因此降低了 AAA服务器的流量。根据本发明的一个方面,在此公开了一种用于通过认证服务器来建立 多个会话的方法。所述方法包括从请求方的认证方接收该请求方的认证请 求。判断是否存在用于所述请求方的至少一个其它会话。所述请求方的至 少一个其它会话由所述至少一个其它会话的服务器来启动。根据本发明的一个方面,在此公开了一种根据本发明的一个方面来配 置的认证服务器。该认证服务器被配置用于从请求方的认证方接收该请求 方的认证请求。所述认证服务器被配置用于响应于所述认证请求而通过请 求方的至少一个其它会话的服务器来启动所述请求方的至少一个其它会 话。根据本发明的一个方面,在此公开了一种认证服务器。该认证服务器 包括用于从请求方的认证方接收该请求方的认证请求的装置。所述认证服
务器还包括用于确定请求方的至少一个其它会话的装置,以及用于通过所 述至少一个其它会话的服务器来启动所述请求方的至少一个其它会话的装置。
本领域技术人员根据以下描述将很容易了解本发明的其它目的,在以 下描述中,仅通过举例说明最适于实施本发明的最佳模式中的一种来示出 和描述了本发明的优选实施例。正如将被实现的,本发明可以有其它不同 的实施例,并且能够在不脱离本发明的情况下在各个明显的方面对其几个 细节进行修改。因此,附图和描述的本质将被认为是示意性的,而非限制 性的。


结合在说明书中并形成说明书的一部分的附图与用于说明本发明的原 理的描述一起示出了本发明的几个方面。
图1是根据本发明的一个方面的系统的框图2是根据本发明的一个优选实施例的无线局域网的框图; 图3是一个示例性网络,其中,认证服务器代理向附加认证服务器发 送认证请求;
图4是采用认证服务器的服务器群的示例性网络;
图5是采用认证服务器和多个授权服务器的示例性网络;
图6是用于实施本发明的一个方面的计算机系统的框图7是根据本发明的一个方面的方法的框图8是根据本发明的一个方面的方法的详细框图9是用于建立多个会话的方法的框图。 '
具体实施例方式
在通篇说明书中示出的优选实施例和示例应当被认为是本发明的示 例,而非对本发明的限制。本发明提供了用于单个设备提供安全地认证的 多个会话的建立的解决方案,以消除对若干冗余的认证交换(exchange) 的需要。设备通过AAA服务器来完成一次完整的认证序列,从而得到由
客户身份和AAA服务器策略来确定的不同应用或子系统所需要的数量的
安全会话。当设备被认证时,AAA服务器确定用于该设备的其它会话。 AAA服务器生成用于其它会话的会话密钥,向另一会话发送一个密钥并向 所述设备发送相应的密钥,以允许设备在无需完整的认证交换的情况下通 过所述经认证的安全会话来开始运作。
请求方设备(supplicant device)被利用逻辑(logic)来配置,以使其 了解其维护的不同子系统以及它们的相对优先权,所述子系统中的一些可 能需要认证。这里所使用的"逻辑"包括但并不限于硬件、固件、软件和/ 或各个的组合,以执行一种或多种功能或者一个或多个动作,和/或引起其 它组件的功能或动作。例如,基于期望的应用或需要,逻辑可以包括软件 控制的微处理器,诸如专用集成电路(ASIC)、可编程逻辑设备、包含指 令的存储设备等的分立逻辑,或者用硬件来实现的组合逻辑。逻辑还可以 完全体现为软件。
当请求方开始建立用于预定义的"初始"子系统的经认证的会话时, 附加的经认证会话的列表被采用,以指示附加会话。在一个实施例中,所 述列表被请求方在登录到认证服务器的过程中附接。在另一个实施例中, 所述列表被存储在认证服务器中。
AAA服务器被利用逻辑来配置,以识别用于请求方的附加会话的列 表。AAA服务器响应于该列表而向认证方发送用于附加会话的附加会话密 钥。AAA服务器还将向请求方和初始认证方发送会话密钥,该会话密钥可 以与用于附加会话的会话密钥一起或分开来发送。
认证方被利用逻辑来配置,以在被AAA服务器按例如会话密钥的形 式而非按来自请求方的认证请求的形式来提示时,对会话的建立进行处 理。这使得设备上的另外的子系统立即开始利用经认证的安全会话来运 作,同时无需完整的认证交换。
本发明的一个方面在于其降低了对执行认证的设备的负荷,以及对 AAA服务器的负荷,AAA服务器必须执行对每一个会话的认证。本发明 还减小了处理所有的认证过程所需要的消息的数目,从而也降低了网络流
现在参考图1,其示出了根据本发明的一个方面的系统100的框图。
请求方102与认证方104进行双向通信。在一个优选实施例中,请求方 102是希望经由认证方104来接入网络的客户端。认证方104与认证服务 器106进行双向通信。在一个优选实施例中,认证服务器106是AAA (认 证、授权和计费)服务器,例如远程认证拨入用户服务(RADIUS: Remote Authentication Dial-In User Service, RFC 2865)月艮务器。另外,认 证方104、认证服务器106或者其两者为了另外的应用1、 110,应用2、 114,...和应用N、 118而分别与认证方108, 112...和116进行双向通信。 从合乎逻辑的角度来看,每一个应用都有其自身的认证方。但是,对于位 于同一个设备上的应用来说,认证方有可能却并不必然是在相同的逻辑框 (box)上运行的相同的代码,对于各个单独的认证会话具有各自的环
境o
当请求方102第一次与网络相连接时,认证方104具有仅允许认证请 求消息在请求方102和认证服务器106之间传送的逻辑。在请求方102被 认证之前,与应用1、 108,应用2、 110,...,应用N、 112的会话被在无 线交换机204中的逻辑禁止。当认证服务器106对请求方102进行认证 时,在认证服务器中的逻辑向认证方104和请求方102发送用于会话的加 密材料(keying material)。
另外,或者与认证过程一起或者作为单独的过程,在认证服务器106 中的逻辑至少确定一个用于请求方102的其它会话,例如,应用1、 108, 应用2、 110,...应用N、 112。在一个实施例中,在请求方的逻辑向认证 服务器106发送附加会话的列表,例如,作为消息的一部分的信息元素 (IE: Information Element)来添加。可替换地,认证服务器106利用逻辑 来从可以访问认证服务器的数据库取回该服务器的数据库条目。数据库优 选地位于认证服务器106中,但是也可以位于其它地方。
本发明考虑到了几种根据一次认证来生成多个会话的方法。本发明考 虑到了使请求方和网络架构两者都了解所采用的方法和装置。因此,请求 方向认证方104或者认证服务器106发送信号以指示其希望建立所述多个 会话。替换实施例是基于策略决定是由认证方104还是认证服务器106来
做出的。不过逻辑是相同的,即,在请求方为AP的情况下,AP必须通过
向作为EAP方法自身的802.1X EAP认证添加的元素将对此事的认可用信 号进行通知,或能够隐式地理解为其所有的认证都将产生多个会话。认证 方104或认证服务器106在AP开始多个会话的建立之前确认AP有权建立 所述多个会话。
当认证服务器106确定至少有一个用于请求方102的其它会话时,认 证服务器106为所述至少一个其它会话而开始与认证方进行会话,例如, 应用1、 110的认证方108,应用2、 114的认证方112,...,和应用N、 118的认证方116。
会话是通过生成唯一的新的加密材料来建立的,所述新的加密材料被 传送给各个会话。这可以通过以下方式来实现(a)认证方104或认证服 务器106发布密钥并将它们分发给请求方和应用两者(经由它们的认证 方);或者(b)认证方104或认证服务器106与请求方(例如,如图2所 示的AP) —起生成会话唯一密钥,所述会话唯一密钥随后被分发给应用
(经由它们的认证方)。
对于前一种由端点(endpoint)来导出密钥的情况,所述端点可以是 请求方102、认证服务器106 (例如,AS)或认证方104 (例如, WDS)。对于端点为请求方102的情况,请求方102将在成功认证之后发 出其希望使用的各个应用的密钥。如何通过使用例如EAP-FAST来实现这 一操作的示例是进一步引起在请求方102和认证服务器106之间的EAP-TLV 请求响应交换, 其中,EAP-TLV要求请求方提供所有会话密钥,每 一个会话密钥被都映射到具体应用。应当使用"主会话密钥"或者由请求 方102和认证服务器106共同导出的加密材料来对每个密钥进行密钥封装
(keywrap)。注意,EAP-TLV是受EAP-FAST隧道(tunnel)保护的。 认证服务器106随后对EAP-TLV以及应用和相应会话密钥进行解密。对 于每一个应用,认证服务器106随后应当使用其持有的关于该应用的共享 秘密(secret)来对请求方的相应会话密钥进行密钥封装,并分发该密钥。 其应当对请求方已经定义的并且认证服务器106己经验证为有权建立初始 会话的每一个应用执行上述操作。
对于由认证服务器106来生成用于请求方102和认证方104两者的会 话密钥的情况,随后认证服务器106和请求方102必须保持用于进行认证 的会话以进一步向请求方102提供那些密钥。认证服务器106将使用其与 各个应用共享的共享秘钥来对所生成的与特定应用和请求方相对应的会话 密钥进行密钥封装,并将其分发给该应用。类似地,其应当对会话密钥和 应用标识符进行密钥封装,并在其仍然保持的(为了认证)与请求方的的 会话中分发这个信息。
对于后一种共同导出密钥的情形,作为一个示例,当通过生成加密材 料的诸如EAP-TLS、 PEAP和EAP-FAST之类的方法来使用EAP认证时, 这个加密材料可以被用于生成用于各个会话的密文唯一密钥 (cryptographically unique key)。在这些方法中,用于生成各个应用的密 文唯一密钥的主私有密钥(master secret key)(根据RFC 3748)或者 EMSK (根据draft-ietf-eap-keying-01.txt)如下所示
-给定来自作为结果的成功的EAP方法的用于包括"主"或原始应用 在内的各个应用的名为appl thru appn的主共享秘钥(MSK),它们的会 话密钥能够按如下所示地生成
-应用1 (下称Appl)的会话密钥=hmac-shal(msk,"唯一的 <这
里是唯一的应用名称〉会话密钥的推导"i| Appl-身份II请求方-身份II <
链接串(concatenated string)的长度>)
-应用n的会话密钥=hmac-shal(msk,"唯一的<对应用n命名〉会
话密钥的推导"II Appl-身份II请求方-身份II <链接串的长度〉) -其中,H表示链接
-其中, <这里是唯一的应用名称>是该应用的唯一标志标识符, 并且必须与其它应用不相同
-其中, <链接串的长度〉是通过链接生成的串的总长度。 图2是根据本发明的一个优选实施例的无线局域网200的框图。如图 所示,接入点202是请求方,而交换机端口 204是接入点202的认证方。 交换机端口 204与接入点202进行双向通信。交换机端口 204将接入点 202耦合到主干网络212。主干网络212可以具有任意合适的有线网络拓
扑、无线网络拓扑或其组合。
当接入点202第一次期望连接到主干网络212时,认证服务器206通 过交换机端口 204来对其进行认证。在接入点202经过认证之前,交换机 端口 204在接入点202和认证服务器206之间交换认证消息,并阻止接入 点202与任何其它与主干网络212相连接的设备进行通信。
在成功对接入点202进行认证之后,认证服务器206生成用于无线交 换机204和接入点202之间的通信的会话密钥。在一个优选实施例中,认 证服务器206还生成用于接入点202和无线域服务器208之间的通信的会 话密钥。
另外,根据本发明的一个方面,认证服务器206对接入点202是否应 当针对耦合到网络212的其它应用(例如应用212)被认证进行判断,应 用212由另外的认证方210来认证。
在操作过程中,"中心"或主认证方(在这个示例中为认证服务器 206)对其可能还需要为接入点202建立与哪个"应用"的会话进行判 断。接入点202首先被认证是否有权访问WDS (无线域服务器,或控制 器)208。不过,接入点202也被认证是否有权访问与其相连接的交换机 端口 204以及其可能需要建立会话的其它服务器(例如,呼叫管理员或 DHCP服务器等)。
在一个优选实施例中,认证服务器206作出响应以经由例如IE来从接 入点202接收附加会话的列表。在另一个优选实施例中,认证服务器206 访问数据库以确定附加会话。
例如,当认证服务器206确定接入点202应当建立与附加认证方210 的会话时,认证服务器206生成接入点202和附加认证方210之间的会话 的会话密钥。优选地,认证服务器206在接入点202的认证过程中确定接 入点202和附加认证方210之间的会话。这将允许认证服务器向接入点 202发送一个信息,该信息包括用于交换机端口 204的会话密钥、用于无 线域服务器208的会话密钥和用于附加认证方210的会话密钥。认证服务 器206还向交换机端口 204、无线域服务器208和附加认证方210发送用 于接入点202的会话密钥。200680006411.5
说明书第9/18页
附加认证方210被利用逻辑来配置,所述逻辑做出响应以从认证服务
器206接收会话密钥,从而与接入点202建立经认证的安全的会话。这使 得在接入点202上的另外的子系统可以立即开始使用经认证的安全会话来 工作,同时使得不必与附加认证方210进行完整的认证交换。
虽然以上的示例示出了用于为一个接入点建立多个会话的过程,但是 本域技术人员能够容易地想到相同的过程也适用于为利用网络212的任意 设备建立多个会话。例如,与接入点202相关联的客户端(未示出)可以 使用该过程,其中,接入点202起到认证方的作用。作为另一个示例,当 对交换机端口 204或无线域服务器208进行认证时,可以使用所述过程。
本发明的一个方面在于其支持不相交认证服务器群(disjoint authentication server farm)和不相交策略或授权服务器。本发明的一个方 面在于其支持这样的一个系统在该系统中,不同的认证方实际上由不相 交认证服务器来支持,允许初始认证服务器接收请求以起到代理的作用, 其中,不同的认证服务器服务于该请求。本发明的一个方面在于其支持这
样的一个系统在该系统中,认证服务器实际上是服务器群,并且出于负载平衡的目的,经聚合的请求可以被分发到各个不同的服务器。本发明的 一个方面支持这样的一个系统,在该系统中,认证服务器从不同的认证方 获取来自其它(一个或多个)认证服务器的具体策略信息。
例如,能够从地址在170 West Tasman Drive, San Jose, CA 95134的思 科技术公司获得的思科接入点(Cisco Access Point)包含多个子系统,所 述子系统需要针对不同的认证方进行认证。在很大的垂直环境中,大量的 接入点可能同时上线,这对AAA服务器基础设施造成了巨大的负担。
图3是示例网络300,其中认证服务器306代理向附加认证服务器 316、 326、 336发送认证请求。请求方302通过向认证方304发送请求来 启动会话。请求方302与认证方304进行双向通信。在一个优选实施例 中,请求方302是希望经由认证方304来接入网络306 (例如,分布网 络)的客户端。认证方304与认证服务器306进行双向通信。在一个优选 实施例中,认证服务器306是AAA (认证、授权和计费)服务器,例如 RADIUS (远程认证拨入用户服务,RFC2865)服务器。
当请求方302第一次连接网络时,认证方304具有仅允许认证请求信 息在请求方302和认证服务器306之间传送的逻辑。这里所使用的"逻 辑"包括但不限于硬件、固件、软件和/或各个的组合,以执行一种或多种 功能或者一个或多个动作,和/或引起其它组件的功能或动作。例如,基于 期望的应用或需要,逻辑可以包括软件控制的微处理器,诸如专用集成电 路(ASIC)、可编程逻辑器件、包含指令的存储设备等的分立逻辑,或者 用硬件来实现的组合逻辑。逻辑还可以完全体现为软件。在请求方302经 过认证之前,与应用1、 310,应用2、 320,...应用N、 330的会话被认 证方304中的逻辑禁止。当认证服务器306对请求方302进行认证时,在 认证服务器306中的逻辑向认证方304和请求方302发送用于会话的加密 材料。
另外,或者与认证过程一起或者作为单独过程,在认证服务器306中 的逻辑至少确定一个用于请求方302的其它会话,例如,应用1、 310,应 用2、 320,...应用N, 330。在一个实施例中,在请求方302的逻辑向认 证服务器306发送附加会话的列表,例如,作为消息的一部分的信息元素 (IE)来添加。可替换地,认证服务器306利用逻辑来从可以访问认证服 务器的数据库取回该服务器的数据库条目。数据库优选地位于认证服务器 306中,但是也可以位于其它地方,只要该地方是认证服务器306可访问 的。
本发明提供了几种根据一次认证来生成多个会话的方法。本发明考虑 到了使请求方和网络基础设施两者都了解所采用的方法和装置。因此,请 求方向认证方304或者认证服务器306发送信号以指示其希望建立所述多 个会话。可替换实施例是基于策略决定是由认证方304还是认证服务器 306来做出的。不过逻辑是相同的,S卩,例如在请求方为AP的情况下, AP必须通过向作为EAP方法自身的802.1XEAP认证添加的元素将对此事 的认可用信号迸行通知,或能够隐式地理解为其所有的认证都将产生多个 会话。认证方304或认证服务器306在AP开始多个会话的建立之前确认 该AP有权建立所述多个会话。
当认证服务器306确定至少有一个用于请求方302的其它会话时,认
证服务器306起到代理的作用,并为所述至少一个其它会话而启动与认证服务器的会话,所述认证服务器例如是应用1、 310的认证服务器316,应 用2、 320的认证服务器326,...,和应用N、 330的认证服务器336。因 此,为了与应用310、 320、 330中的一个或多个建立至少一个其他会话, 认证服务器306与相应的认证服务器316、 326、 336进行通信,而不是与 认证方314、 324、 334进行通信。会话是通过生成唯一的新的加密材料来建立的,所述新的加密材料被 传送给各个会话。这可以利用几种合适的技术中的任意一种来实现。例 如,认证服务器306可以发布密钥,并分别经由它们的认证服务器316、 326、 336来将它们分发给请求方302和应用310、 320、 330。作为另一个 示例,密钥可以由认证服务器316、 326、 336为相应的应用310、 320、 330来导出,所述应用随后会把用于请求方的密钥发给认证服务器306, 而将用于应用310、 320、 330的相应密钥分发给应用310、 320、 330。以下是如何利用网络300来支持巨大网络的示例。在这个示例中,请 求方302是无线接入点(AP: access point),而认证方304是无线交换 机。当请求方(AP) 302上电时,其连接认证方304以接入分布网络 308。认证方304将接入请求转发到认证服务器306。认证服务器306对请 求方302进行认证(g卩,验证请求方是谁),并判断请求方302是否有权 接入网络308。另外,如果请求方(AP) 302需要访问另外的应用(例如,应用 310、 320、 330),则由请求方(AP)向认证服务器306发送应用列表 (例如,经由与该接入请求相耦合的IE),或者由认证服务器306对请求 方302有权访问哪些其他应用进行判断。认证服务器306随后与和所述一 个或多个应用相关联的认证服务器(例如,分别用于应用310、 320、 330 的认证服务器316、 326、 336)进行通信。用于请求方302与应用310、 320、 330中的一个或多个之间的会话的加密材料可以由认证服务器306, 与应用310、 320、 330相关联的认证服务器316、 326、 336来生成,或者 可以在认证服务器306与和应用310、 320、 330相关联的各个认证服务器 316、 326、 336之间共同来导出。图4是采用认证服务器的服务器群402的示例性网络400。在这个示 例中,请求方302向认证方304发送接入网络的请求。认证方304将该请 求转发到服务器群402,其中认证服务器306、 316、 326、 336中的一个对 所述请求进行处理。可选地,服务器群402可以采用负载均衡器(load balancer) 404。负载均衡器404包括以下逻辑,所述逻辑用于确定认证服 务器306、 316、 326、 336上的负载,并基于它们当前的负载来将认证请 求导向认证服务器306、 316、 326、 336中的一个。在所述服务器群的示例中,认证服务器306、 316、 326、 336中的任意 一个都可以起到用于认证方304和/或用于应用310、 320、 330的认证服务 器的作用。此外,如果认证服务器306、 316、 326、 336中的一个确定其 负载处于阈值水平(例如,在容量或容量的某个百分比处),则其可以将 来自请求方302的请求转发到另一个认证服务器306、 316、 326、 336。另 外,对请求方302的认证请求进行处理的认证服务器306、 316、 326、 336 并不必须是与启动和应用310、 320、 330中的一个或多个的会话的服务器 相同的服务器。作为一个示例,如果请求方302试图接入网络400并要求访问应用N 330,则认证方304将该请求传送到服务器群402,在其中的认证服务器 306、 316、 326、 336中的一个对来自请求方302的请求进行处理。例如, 认证服务器306能够处理来自请求方302的请求。认证服务器306能够确 定请求方302必须与应用310、 320、 330中的一个(在本示例中为应用 330)建立会话。认证服务器306可以通过检查由请求方302发送的请求 (例如,可以附接一列表,例如使用TLV)或者通过使用其它手段(例 如,认证服务器306可以访问的数据库)来进行上述确定。认证服务器 103可以启动与请求方302和应用330的会话,或者认证服务器306可以 与认证服务器306、 316、 326、 336中的一个进行通信以启动会话。 一旦 会话己经被启动,则密钥就可以在请求方302和应用330之间交换。如果 认证服务器306启动了所述会话,则其可以交换两个密钥。如果另一个认 证服务器(例如,服务器316、 326、 336中的一个)启动了所述会话,则 该服务器可以将一个密钥传送到应用330,而将另一个密钥传送到认证服
务器306,认证服务器306将其转发到请求方302。图5是采用一个认证服务器和多个授权(或策略)服务器516、 526、 536的示例性网络500。在这个示例中,请求方302连接认证方304以请求 接入网络500。对请求方302进行认证的认证方304通过认证服务器306 来对请求方302进行认证。认证服务器306随后判断是否为请求方302建 立附加会话,例如与应用310、 320、 330中的一个或多个建立会话。但 是,在本示例中,认证服务器306对请求方302进行认证,而授权(或策 略)服务器516、 526、 536分别被用于判断请求方302是否有权访问应用 310、 320、 330。因此,当认证服务器306确定请求方302请求了与应用310、 320、 330中的一个或多个的附加会话时,认证服务器306经由相应的授权(或 策略)服务器516、 526、 536来判断请求方302是否有权访问应用310、 320、 330。请求方302可以经由TLV或附接到其请求接入网络500的请求 上的列表来请求访问应用310、 320、 330。可替换地,认证服务器306可 以维护用于确定请求方302的附加会话的数据库,或者具有对该数据库的 访问权。图6是用于实现本发明的一个方面的计算机系统600的框图。例如, 计算机系统600适合被图1的请求方102,认证方104,认证服务器106, 应用1、 108,应用2、 110,...和应用N、 112,以及图2的接入点202, 交换机部分204,认证服务器206,无线域服务器208和附加认证方210 中的至少一个采用。例如,计算机系统600适合被图3的请求方302,认 证方304,认证服务器306、 316、 326、 336,应用1、 310,应用2、 320,...,和应用N、 330,以及图4的负载均衡器402,禾Q/或图5的授权 服务器516、 526、 536中的至少一个采用。计算机系统600包括总线602或用于传送消息的其他通信机构,以及 与总线602相耦合的用于处理信息的处理器604。计算机系统600还包括 诸如随机存取存储器(RAM)或其他动态存储设备之类的与总线602相耦 合的主存储器606,用于存储信息和将由处理器604来执行的指令。主存 储器606还可以被用于存储在执行将由处理器604处理的指令的过程中的 临时变量或其它中间信息。计算机系统600还包括与总线602相耦合的只 读存储器(ROM) 608或其它静态存储设备,用于存储处理器604的静态 信息和指令。诸如磁盘或光盘之类的存储设备610被提供并与总线602相 耦合,用于存储信息和指令。本发明的一个方面涉及使用计算机系统600用于为单个客户端建立多 个会话。根据本发明的一个实施例,由计算机系统600响应于处理器604 执行包含在主存储器606中的一个或多个指令的一个或多个序列来提供单 个设备的多个会话的建立。那样的指令可以被从诸如存储设备610之类的 另一个计算机可读介质读取到主存储器606中。包含在主存储器606中的 指令序列的运行致使处理器604执行这里所描述的处理步骤。在多处理配 置中的一个或多个处理器也可以被用于执行包含在主存储器606中的指令 序列。在可替换实施例中,硬连线(hard-wired)电路或ASIC可以被用于 替换软件指令或者与软件指令组合起来,以实施本发明。因此,本发明的 实施例并不限于硬件电路和软件的任何具体组合。这里所使用的术语"计算机可读介质"指的是向处理器604提供指令 以用于执行的任意介质。这样的介质可以采用许多形式,包括但不限于非 易失性介质、易失性介质和传输介质。非易失性介质例如包括光盘或磁 盘,例如存储设备610。易失性介质包括动态存储器,例如主存储器 606。传输介质包括同轴电缆、铜导线和光纤,包括组成总线602的布 线。传输介质还可以采用声波或光波的形式,例如在射频(RF)和红外线 (IR)数据通信过程中生成的那些。计算机可读介质的一般形式例如包括 软盘(floppy disk)、软磁盘(flexible disk)、硬盘、磁卡、纸带、具有 孔的图案的任何其它物理介质、RAM 、 PROM 、 EPROM 、 FLASHPROM、任何其它存储芯片或盒式磁带(cartridge)、下文中将描 述的载波、或者计算机可读的任何其它介质。计算机系统600还包括与总线602相耦合的通信接口 618。通信接口 618提供对网络链路620的双向数据通信耦合,网络链路620与本地网络 622相连接。例如,通信接口 618可以是综合业务数字网(ISDN)卡或调 制解调器,以提供与相应类型电话线的数据通信连接。作为另一个示例,
通信接口 618可以是局域网(LAN)卡,以提供与可兼容LAN的数据通 信连接。也可以采用无线链路。在任意这样的实施方式中,通信接口 618 发送并接收承载着表示各种类型信息的数字数据流的电信号、电磁信号或 光信号。网络链路620典型地通过一个或多个网络来向其它数据设备提供数据 通信。例如,网络链路620可以通过本地网络622来提供与其它计算机 (未示出)的连接。考虑到上述的结构和功能特征,通过参考图7-9将更好地理解根据本 发明不同方面的方法。虽然,出于简化说明的目的,图7-9的方法是按执 行顺序来示出和描述的,但是应当了解并理解,本发明并不受示出顺序的 限制,因为根据本发明的一些方面可以和其它方面按与这里所示出和描述 的不同的顺序进行和/或与所述其它方面同时进行。此外,并不是示出的所 有特征都是实施根据本发明的一个方面的方法所需要的。本发明的实施例 是适于用硬件、软件、或者其组合来实施所述方法的。图7是根据本发明的一个方面对单个请求方的经认证的多个会话的建 立进行优化的方法700的框图。在702,请求方被认证服务器认证。例 如,请求方启动与认证方的会话,该认证方在请求方和认证服务器之间传 送消息,以允许请求方被认证服务器认证。在704,对是否存在用于请求方的附加会话进行判断。为了确定附加 会话,请求方可以向认证服务器发送潜在附加会话的列表,或者认证服务 器访问包含用于所述请求方的会话信息的数据库。在706,认证服务器通过附加会话的认证方来启动请求方的所述附加 会话。所述的启动包括以下步骤生成用于在请求方和附加会话之间的会 话的会话密钥对,将所述会话密钥对中的一个密钥发送到请求方,而将另 一个发送到附加会话的认证方。在从认证服务器接收到密钥之后,所述附 加会话的认证方作出响应以在没有附加的认证步骤的情况下建立与请求方 的经认证的安全的会话。在一个优选实施例中,附加会话的认证方已经经过认证服务器的认 证。否则,认证服务器对附加会话的认证方进行认证。
在一个优选实施例中,请求方同时接收到用于其认证方和用于附加会 话的认证方的密钥。这将请求方和认证服务器之间的流量减到最小。图8是是根据本发明的一个方面对单个设备的经认证的多个会话的建立进行优化的方法800的详细框图。方法800从802开始,在802,设备 开始登录其认证方。认证方允许设备和认证服务器之间的通信,但是在设 备经过认证之前禁止该设备的其它通信。如果在804判断得出登录不成功 (否),则处理返回到802。否则,如果在804登录成功(是),则处理 继续向前到806。在806,在设备和原始认证方之间的会话被建立,并且用于设备和原 始认证方之间的会话的会话密钥被生成。在步骤808,会话密钥被发送到 原始认证方。在810,认证服务器确定存在用于所述设备的另一个会话。用于判断 是否存在用于所述设备的另一个会话的一种技术是由该设备向认证服务器 发送附加会话或潜在附加会话的列表。用于判断是否存在用于所述设备的 另一个会话的另一种技术是由认证服务器来访问数据库或其它记录存储系 统。在一个实施例中,所述数据库位于认证服务器上,在另一个实施例 中,其位于网络的其它地方。在812,用于另一个会话的会话密钥被生成。在814,该用于另一个 会话的会话密钥被发送到所述另一个会话的认证方。根据本发明的一个方 面,用于另一个会话的认证方响应于会话密钥的接收而建立与所述设备的 经认证的安全会话。这允许设备立即与另一个会话进行通信,而无需任何 在设备和所述另一个会话的认证方之间的另外的认证。在用于另一个会话 的会话密钥已经被传递之后,设备使用其用于所述另一个会话的相应会话 密钥来与该另一个会话的认证方进行通信。为了增加安全性,另一个会话 的认证方应当经过认证服务器的认证。这使得认证方可以确保从认证服务 器接收到的密钥是来自可信任的源的。优选地,在设备登录之前对另一个 会话的认证方进行认证,以使得仅发生密钥交换;否则,认证服务器在发 送密钥之前还将对另一个会话的认证方进行认证。在816,与设备的原始认证方的会话密钥相对应的会话密钥以及与发
送到另一个会话的认证方的会话密钥相对应的会话密钥被发送到所述设 备。在一个优选实施例中,所述密钥被同时发送以减小设备和认证服务器 之间的通信次数。但是,即使密钥被分开发送,本发明仍然更优于现有技 术系统,原因在于设备并不必须执行与另一个会话的认证方的认证,该认 证将需要另一个会话的认证方、认证服务器和设备之间的额外通信。应当注意,步骤812-816是为各个会话来执行的。对于多个会话,它们可以被同时执行。图9是用于涉及不相交认证和/或授权服务器的多会话的建立的方法 900的框图。在902,请求方被认证。请求方是由从对请求方进行认证的 认证方接收请求的认证服务器来认证的。在904,对请求方是否要求附加会话进行判断。存在几种能够用于做 出这种判断的技术。例如,请求方可以请求,例如经由附接到其请求接入 网络的请求上的列表或者经由IE,来启动附加会话。作为另一个示例,网 络基础设施可以存储用于请求方的应用列表,例如,认证服务器可访问的 数据库。在906,认证服务器判断其是否需要(或者应当)与另一个服务器进 行通信。例如,如果认证服务器是服务器群的一部分,并且该认证服务器 的负载达到了关键的负载点,则在请求方和附加会话之间的认证可以被卸 载,并由另一个认证服务器来执行。可替换地,如果认证服务器是服务器 群的一部分,并达到了关键负载点,则在该服务器群中的另一个认证服务 器可以执行用于请求方和用于附加会话的认证。在其它实施例中,用于附加会话的一个或多个应用可以具有一个关联 认证服务器。远程应用例如可能会具有其自身的认证服务器。此外,在其它实施例中,用于附加会话的一个或多个应用可以具有多 个关联认证或策略服务器。在这些实施例中,认证服务器对请求方进行验 证(认证)。认证服务器随后通过所述认证或策略服务器来验证请求方是 否有权访问应用。如果在906判断得出对于附加会话至少需要一个其它服务器(是), 则在908,认证服务器代理所述另一个服务器并为请求方与该另一个服务
器进行通信。除了为了负载均衡而改变认证服务器之外,与用于对请求方 进行认证和/或授权的其它服务器的通信也被在服务器之间交换。否则 (否),执行910。在910,所述附加会话被启动。这可能需要对请求方、请求方的认证 方进行认证,或者对两者都进行认证。如果附加会话需要密钥,则它们随后由合适的认证和/或授权服务器来生成。在912,用于附加会话的密钥被请求方的认证服务器获得。在914,密钥被分发。如果附加会话涉及附加服务器或不相交服务器,则所述附加服务器或不相交服务器可以将密钥分发给应用和请求方的 认证服务器。请求方的认证服务器随后会将附加应用的会话密钥转发到请 求方。请求方的认证服务器可以将附加应用的密钥与由请求方的认证服务 器建立的会话密钥一起转发到请求方,或者分开来发送所述密钥。以上所述包括本发明的示例性实施方式。为了描述本发明,当然不可 能描述组件或方法的每一种可能组合,但是本域普通技术人员将意识到本 发明的其它组合和置换是可能的。因此,本发明意图囊括在所附权利要求 的精神和范围内的所有那样的变化、修改和改变,所附权利要求应当根据 它们公平、合法和公正地享有的宽度来解释。
权利要求
1.一种对单个请求方的经认证的多个会话的建立进行优化的方法,其包括利用认证服务器对所述请求方进行认证;确定用于所述请求方的至少一个其它会话;以及利用所述至少一个其它会话的认证方来启动用于所述请求方的所述至少一个其它会话。
2. 如权利要求1所述的方法,所述确定至少一个其它会话还包括从所 述请求方向所述认证服务器发送所述至少一个其它会话的列表。
3. 如权利要求1所述的方法,其中,所述确定至少一个其它会话还包 括确定所述请求方是有权启动所述至少一个其它会话的。
4. 如权利要求1所述的方法,所述确定至少一个其它会话还包括由所 述认证服务器来从所述认证服务器可访问的数据库取回用于所述请求方的 数据库条目。
5. 如权利要求1所述的方法,所述启动至少一个其它会话还包括 分发用于建立所述请求方和所述认证方之间的会话的第一会话密钥; 所述启动用于所述请求方的至少一个其它会话还包括向所述至少一个其它会话的认证方分发第二会话密钥;以及 向所述请求方分发密钥集合;其中,所述密钥集合包括与所述第一会话密钥相对应的第一密钥和与 所述第二会话密钥相对应的第二密钥。
6. 如权利要求1所述的方法,其中,在所述请求方被认证之前,利用 所述认证服务器来对所述至少一个其它会话进行认证。
7. 如权利要求1所述的方法,其中,所述请求方是无线接入点,所述 认证方是将所述接入点耦合到主干网络的交换机端口,所述主干网络将所 述交换机端口耦合到所述认证服务器。
8. 如权利要求7所述的方法,其中,所述至少一个其它会话中的一个 是通过用于所述接入点的无线域服务器来建立的。
9. 如权利要求8所述的方法,还包括由所述认证服务器来向所述交换机端口分发第一会话密钥,以建立所述接入点和所述交换机端口之间的会话;通过所述无线域服务器来启动所述至少一个其它会话还包括由所述认 证服务器向所述无线域服务器分发第二会话密钥;以及由所述认证服务器来向所述接入点分发密钥集合;其中,所述密钥集合包括与所述第一会话密钥相对应的第一密钥和与 所述第二会话密钥相对应的第二密钥。
10. —种系统,其包括用于利用认证服务器来对请求方进行认证的装置; 用于确定所述请求方的至少一个其它会话的装置;以及 用于通过所述认证服务器利用所述至少一个其它会话的认证方来启动 所述请求方的至少 一个其它会话的装置。
11. 如权利要求IO所述的系统,所述用于确定至少一个其它会话的装 置还包括用于从所述请求方向所述认证服务器发送所述至少一个其它会话 的列表的装置。
12. 如权利要求10所述的系统,所述用于确定至少一个其它会话的装 置还包括用于通过所述认证服务器从所述认证服务器可访问的数据库取回 用于所述请求方的数据库条目的装置。
13. 如权利要求IO所述的系统,所述用于启动至少一个其它会话的装 置还包括用于向所述至少一个其它会话的认证方分发用于所述至少一个其它会 话的第一密钥的装置;以及用于向所述请求方分发与用于所述至少一个其它会话的第一密钥相对 应的第二密钥的装置。
14. 如权利要求IO所述的系统,所述用于启动至少一个其它会话的装 置还包括用于分发用于建立所述请求方和所述认证方之间的会话的第一会话密 钥的装置; 所述用于启动所述请求方的至少一个其它会话的装置还包括用于向所 述至少一个其它会话的认证方分发第二会话密钥的装置;以及用于向所述请求方分发密钥集合的装置;其中,所述密钥集合包括与所述第一会话密钥相对应的第一密钥和与 所述第二会话密钥相对应的第二密钥。
15. 如权利要求IO所述的系统,其中,所述请求方是无线接入点,所 述认证方是将所述接入点耦合到主干网络的交换机端口 ,所述主干网络将 所述交换机端口耦合到所述认证服务器。
16. 如权利要求15所述的系统,其中,所述至少一个其它会话中的一 个是利用所述接入点的无线域服务器来建立的。
17. 如权利要求16所述的系统,还包括用于通过所述认证服务器向所述交换机端口分发第一会话密钥,以建立所述接入点和所述交换机端口之间的会话的装置;所述用于利用所述无线域服务器来启动所述至少一个其它会话的装置 还包括用于通过所述认证服务器来向所述无线域服务器分发第二会话密钥 的装置;以及用于通过所述认证服务器来向所述接入点分发密钥集合的装置; 其中,所述密钥集合包括与所述第一会话密钥相对应的第一密钥和与 所述第二会话密钥相对应的第二密钥。
18. —种指令的计算机可读介质,其包括 用于从设备接收登录请求的装置;用于响应于所述用于接收登录请求的装置来对所述设备进行认证的装置;用于确定所述设备的至少一个其它会话的装置; 用于生成用于所述至少一个其它会话的会话密钥对的装置; 用于向所述至少一个其它会话的认证方分发所述会话密钥对中的一个 密钥的装置;以及用于向所述设备发送所述会话密钥对中的第二密钥的装置。
19. 如权利要求18所述的计算机可读介质,还包括 用于生成用于建立所述设备和所述设备的认证方之间的会话的第二会 话密钥对的装置;以及用于向所述设备的认证方分发所述第二会话密钥对中的第一密钥的装置;其中,所述用于向所述设备发送所述会话密钥对中的一个密钥的装置 响应于用于生成第二会话密钥对的装置而发送所述第二会话密钥对的第二 密钥,所述会话密钥对的第二密钥至少是用于所述至少一个其它会话的认 证方的。
20. —种通过认证服务器来建立多个会话的方法,其包括 从请求方的认证方接收所述请求方的认证请求; 确定所述请求方的至少一个其它会话;以及利用所述至少一个其它会话的认证服务器来启动所述请求方的至少一 个其它会话。
21. 如权利要求1所述的方法,其中,用于所述请求方的认证请求包 括所述至少一个其它会话的列表。
22. 如权利要求1所述的方法,还包括确定所述请求方是有权进行所 述至少一个其它会话的。
23. 如权利要求1所述的方法,所述确定至少一个其它会话还包括取 回用于所述请求方的数据库条目,所述数据库条目包括用于所述请求方的 至少一个其它会话的列表。
24. 如权利要求l所述的方法,所述启动至少一个其它会话还包括 从所述服务器接收用于所述至少一个其它会话的加密数据;以及 将所述加密数据转发到所述请求方。
25. 如权利要求5所述的方法,所述将加密数据转发到所述请求方还 包括将用于所述至少一个其它会话的加密数据与用于建立所述请求方和所 述请求方的认证方之间的会话的加密数据一起转发。
26. 如权利要求1所述的方法,其中,所述请求方是无线接入点,而 所述请求方的认证方是将所述接入点耦合到分布网络的无线交换机。
27. 如权利要求1所述的方法,还包括将所述认证请求转发到另一个 认证服务器。
28. 如权利要求1所述的方法,其中,用于所述至少一个其它会话的 服务器是由认证服务器和授权服务器组成的群组中的一个。
29. —种认证服务器,其包括所述认证服务器被配置用于从请求方的认证方接收所述请求方的认证请求;以及所述认证服务器被配置用于响应于所述认证请求以通过用于所述请求 方的至少一个其它会话的服务器来启动所述请求方的至少一个其它会话。
30. 如权利要求IO所述的认证服务器,其中,所述认证服务器被配 置用于从所述认证请求中获取所述至少一个其它会话的列表。
31. 如权利要求IO所述的认证服务器,还包括所述认证服务器被配置用于确定所述请求方是有权进行所述至少一个其它会话的。
32. 如权利要求12所述的认证服务器,所述确定至少一个其它会话 还包括取回用于所述请求方的数据库条目,所述数据库条目包括用于所述 请求方的至少一个其它会话的列表。
33. 如权利要求12所述的认证服务器,所述认证服务器还被配置用 于通过访问用于所述至少一个其它会话的授权服务器来验证所述请求方是 否有权进行所述至少一个其它会话。
34. 如权利要求10所述的认证服务器,还包括所述认证服务器被 配置用于基于预定条件来将所述认证请求转发到另一个认证服务器。
35. 如权利要求IO所述的认证服务器,其中,用于所述至少一个其 它会话的服务器是由认证服务器和授权服务器组成的群组中的一个。
36. —种认证服务器,其包括用于从请求方的认证方接收所述请求方的认证请求的装置; 用于确定所述请求方的至少一个其它会话的装置;以及 用于利用所述请求方的至少一个其它会话的服务器来启动所述请求方 的至少一个其它会话的装置。
37. 如权利要求17所述的认证服务器,还包括用于确定所述请求方 有权进行所述至少一个其它会话的装置。
38. 如权利要求17所述的认证服务器,所述用于启动至少一个其它 会话的装置还包括用于从所述服务器接收用于所述至少一个其它会话的加密数据的装 置;以及用于将所述加密数据转发到所述请求方的装置。
39. 如权利要求17所述的认证服务器,其中,用于所述至少一个其 它会话的服务器是由认证服务器和授权服务器组成的群组中的一个。
全文摘要
本发明提供了一种系统和方法,该系统和方法允许设备完成针对AAA服务器的一次完整的认证序列,从而得到由客户端的身份和AAA服务器的策略决定的不同的应用或子系统所需要的数量的安全会话。当对设备进行认证时,对是否存在用于该设备的其它会话进行判断。通过生成唯一的新的加密材料来建立其它会话,所述加密材料被传送给各个会话。所述系统和方法还支持用于多会话的建立的不相交认证服务器群和不相交策略或授权服务器。认证服务器可以具有用于请求方的附加会话的认证方的全局知识,并能够按需来将认证请求分发给不同的认证服务器。
文档编号H04L9/00GK101129014SQ200680006411
公开日2008年2月20日 申请日期2006年3月31日 优先权日2005年4月4日
发明者南希·卡姆温恩特, 杰里米·斯蒂格里兹, 马克·克里斯彻尔 申请人:思科技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1