认证方法 相关的美国申请
这一申请权利要求如下同时待审的临时专利申请的优先权:专利申请序列号60/291,796,律师备案号3COM-3730.CTO.US.PRO,命名为“无线网络中的通过分配密钥进行升级设备以及用户认证的一种方案”,其提交日期为2001年5月16日,并转让给本发明的专利受让人。
【技术领域】
当前公开的内容涉及计算机网络领域。更特别的,当前公开的内容涉及网络环境中的认证过程和加密的通信。该公开内容展示了一种在无线网络中通过密钥的分配来认证用户和设备的方案。
背景技术
硬件技术和软件开发的连续发展使计算机系统和其他如个人数字助手、电子图书、蜂窝电话等的电子设备,可以应用在多种不同的实践和应用中。其中一些实现金融和商业交易、计算机辅助设计、通信、数据存储和数据仓库、教育等等。另外,将单独的计算机和其他电子设备连接成网络环境将极大的增强它们的功能。在一个网络环境中,用户可以交换信息,共享一般的存储文件,整合资源,通过电子邮件和视频会议进行通信。更进一步,随着无线通信地出现,联网的计算机几乎可以和其他任何电脑或电子设备进行通信和交换信息,而无需通过电线配置物理的将它们连接在一起。
在无线环境中存在无线客户端和一个接入点。在客户端和接入点之间的通信要通过公共的大气空间传播,所以这一通信对任何在该范围内的人来讲是可见的。为了保护通信的私密性和通信的传输内容,信息通常是需要加密的。为了使能这一加密过程,就要为使用无线网络的每个客户端分配一个密钥。
保证客户端设备可以有效的接收到特定网络的密钥也是很重要的,以及反过来,该网络也要被特定的客户端设备认可。同时该设备的用户同意通过这个网络进行通信也很重要。因此,必须使用某种形式的认证协议对设备、网络和用户进行认证。
对一个网络而言,为了检验用户是否有权限访问该网络资源,可以使用很多种方法检验用户标识。对于局域网,IEEE的草案标准802.1x/D11规定了如何完成这个过程。为了控制用户到网络的接入,该草案建立了从申请者到认证器,以及可选的从认证器到认证服务器传送认证信息的基础。
同有线网络相比,当用户试图连接到无线网络时,无线网络有一个额外的问题需要解决。通常,有线网络依赖于受到保护的分布系统(例如,由导管保护的电缆,固定在配线架上的交换机)来确保它们承载的业务不会通过非授权方式被中途截取或修改。另一方面,无线网络是通过公众均可接入的无线信道进行通信的。因此,无线网络必须提供其他的方法来保护它们的传送信息。通常,这要求无线网络设备进行加密并完整保护它们间的传送信息。
以前的一些方案已经解决了在无线局域网中的用户鉴别、授权和密钥分配的问题。在一个解决方案中,用户和网络通过共享的机密,通常是密码,来进行相互认证。一种值得肯定的方案是通过在用户和网络之间共享的机密来创建密钥,随后它们可使用该密钥来保护在用户的无线设备和网络之间传送信息的机密性和完整性。这两种方案在安全的认证用户和创建密钥中具有一定优势。
然而,当接入点的增加,创建并管理存储在这些接入点上的用户名和密码变得越来越困难。特别的,如果在网络中存在多于一个的无线设备接入点,所有这样的设备必须使用相同的用户名/密码数据库的拷贝。这意味着当一个密码改变,或者从数据库中添加或删除一个用户的时候,这些修改必须安全地传送到其他的接入点。当存在大量接入点的时候,保证每个用户名/密码数据库的每个拷贝的同步变得很困难。这可能会造成安全性的危机。
为了解决这些规模的问题,其他发明和方法使用了存储在第三方系统中的中心数据库(数据库中可以存储用户名和密码或者其他的认证信息)。该同时待审的公共所有的美国专利申请,律师备案号3COM-2995.WHD,专利序号09/560,396,其提交日期为2000年4月28日,作者为Danny M.Nessett以及其他人,其命名为“在通信的双方与第三方共享密钥的情况下认证Diffie-Hellman密钥协商协议”,因此,它将作为背景资料在参考目录中引入,它描述了一种无线设备(潜在的同使用该设备的用户相呼应)和网络使用已认证的Diffle-Hellman密钥协商创建共享的的密钥的方案。使用这种密钥对它们之间传送信息进行保护,保证信息的机密性和完整性。在Diffle-HellMan密钥协商交换期间,无线设备和接入点都要对用于生成共享密钥的信息进行签名,并且该信息要被传送到可信任的第三方。这一签名使用了无线设备或该无线设备用户与第三方之间共享的机密,并且该签名也使用了在接入点和第三方之间共享的另一个机密。可信任的第三方测试签名,并且如果这些签名是正确的,它将重签名这一信息,以保证无线设备以及接入点接收的信息是来自相互的双方。
一旦交换完成,只有无线设备和接入点知道共享的密钥。而可信任的第三方并不知道密钥。本发明的一个缺点就是它要求无线设备和接入点都需要具有有效的处理能力。这将增加这些设备的成本,并且因此会缩减他们的市场。另外一个缺点就是它需要一个专门的服务器或者进程来进行签名和重签名信息。
为了弥补第一缺点,同时待审的公共所有的美国专利申请,律师备案号3COM-3000.WHD,专利序号09/561,416,其提交日期为2000年4月28日,作者为Danny M.Nessett以及其他人,其命名为“使用密钥租借方法来增强认证协议”,此处作为背景资料在参考目录中引入,它描述了一种方案,其中一旦一个无线设备和接入点相互认证并且共享一个密钥,这两个设备就可以快速的重新认证,并且重新建立该密钥而无需通过更多资源的大量协议交换。例如,假设无线设备和接入点可以通过上面提到的参考专利申请3Com-2995.WHD所描述的专利进行相互认证并建立一个共享密钥。假如无线设备和接入点失去联系,随后重新建立了联系,无线设备和接入点可以使用快速重新认证的方案进行相互认证,并生成共享密钥,而无需引入在3Com-2995.WHD中描述方案中的固有开销。
即使使用快速重认证,在某些应用中,一些无线设备和接入点也没有足够的计算资源,以及足够的时间来执行在3Com-2995.WHD专利应用中描述的过程,以满足在一些配置中用户和系统需求。存在这样一种方案,它调用一个过程,该过程将大部分对无线设备和接入点来讲是必须的程序上载到一个接入点服务器,其中这些程序完成它们之间的相互认证并产生一个共享的密钥。该方案有减轻这种负荷的优势,但是也有将共享密钥透露给接入点服务器的劣势。在一些配置中,为了减小无线设备和/或接入点的计算负荷,这是一个可接受的风险。在另外一些配置中,这种风险是不可接受的。这种方案也有和认证Diffie-Hellman方案一样的缺点,即它们需要一个特殊的服务器或者进程来签名或重签名信息。
其他人也对在无线网络中解决相互认证和共享密钥的分发问题提出了解决方案。一个途径是使用可扩展认证协议和EAP-TLS。在这个方案中,无线设备通过使用带有客户侧证书的TLS,对一个通常在接入点外部但是和它可以安全通信的认证服务器进行认证。这个协议(带有可选的客户侧证书)完成无线设备和认证服务器的相互认证(NB:不是无线设备和接入点),并且在二者之间建立一个共享密钥。接着,认证服务器使用它到接入点的安全通道来给接入点发送共享密钥(准确地说,认证服务器发送给接入点计算一个它要和无线设备共享的密钥所必要的全部信息)。它也向接入点确保无线设备的身份。
这种方案的优点是使用了标准的安全协议(比如TLS,EAP-TLS),并且接入点具有非常小的计算负担。它的缺点就是需要公共密钥的配置(为了支持客户端侧证书),并且,认证服务器也知道在无线设备和接入点之间共享的密钥(技术上,用于产生该密钥的信息是已知的)。
另一种解决方案将使用Kerberos,EAP-GSS协议,以及802.1x来完成无线设备和接入点的相互认证,并在这二者之间分发共享密钥。在这个方案中,接入点作为Kerberos服务器,它使用IAKERB协议来接收和转发请求到代表无线设备的KDC(它作为Kerberos客户端)。大致可以这样认为,无线设备通过接入点和KDC通信,接收发送到运行在接入点的Kerberos服务器的通知单。在这个过程中,接入点服务器获得用于运行在无线设备上的(伪)服务器的通知单。这两个设备用这些通知单来完成相互的认证并建立共享密钥。
这种方案的一个优点就是它分发通知单(ticket)到无线设备,这些通知单可以用于后来和接入点的重新连接中而无需和KerberosKDC相互作用。另一个优点是它使用标准协议来实现它的一些功能。这种方案的缺点就是它需要对Kerberos基础结构进行配置,密钥对于KDC和无线设备以及接入点来讲一样都是已知的,无线设备和接入点都要对每个Kerberos事务做大量处理(例如,初始化交换,为了重新认证而进行的无线设备对通知单的使用),并且它使用了非标准的协议(在书写本文时),它使用特定的EAP-GSS和IAKERB协议来实现它的部分功能。
关于这些方案还有一个问题没有被讨论,就是他们是否适应于现存的配置。一个小的商业公司要拥有足够的专业知识和资源来实现任何类型的安全基础结构是不太可能的。因此,在同时待审的公共所有的美国专利应用,律师备案号3COM-2999.WHD,专利序号09/561,088,其提交日期为2000年4月28日,作者为Albert Young以及其他人,其命名为“在不安全的无线通信信道中实现受保护的相互认证”,以及律师备案号3COM-3001.WHD,专利序号09/900,617,其提交日期为2001年7月6日,作者为Danny M.Nessett以及其他人,其命名为“在主认证协议之后的第二认证协议中使用密钥租借”,这里将它们作为背景资料在参考目录中引入,其中描述的这些方案在这些配置中是通常地有利的。
小型和中型的企业也可能不具备专业知识和资源来实现一个庞大的安全基础结构,在这种情况下,它们和小型的商业公司具有相同的地位。然而小型的、中型的和大型的企业的另外的问题就是这些方案如何适应现存的配置。一个需要考虑的事情是使用哪个认证服务器。
差不多没有例外的,对企业网络的远程接入需要使用RADIUS服务器来控制接入到该网络的用户。如果支持远程接入的企业为了保护无线网络而使用一个不同的用户认证服务器而不是RADIUS服务器,这些企业就必须找到一种方法来合并两个服务器的数据库或者分别维护和管理这两个认证数据库,其中一个服务器用于远程接入,一个用于接入到无线网络。由于Kerberos KDC不存储直接和用户名相关联的密码,所以当其中一个用户认证服务器是Kerberos KDC时,两种策略都特别的困难。相反地,Kerberos KDC存储一个密码的散列作为密钥。
通过使用公共的认证数据库来试图合并RADIUS服务器和Kerberos KDC,这要求密码的存储(那么KDC不得不动态的将其转换为密钥)或者使用散列的密码作为RADIUS服务器和用户使用的密钥用于认证。前面的方法违背了Kerberos的一个设计目标,即避免在服务器上存储密码。已知的Kerberos KDC应用都不能支持这个目标。由于已经广泛使用的远程接入客户端并不使用Kerberos转换算法将密码转换成认证数据,所以后面的方法也是不切实际的。
还有另外一个方案,可以用它来解决合并用于无线网络保护和远程接入的认证数据库的问题。对于无线网络保护,它将相互认证和密钥的分发的步骤分成两个阶段。它通过在接入点和用户设备上保留设备标识以及和这些标识相关的共享机密,并在中心用户认证服务器上保留用户标识实现上述目标。
这个方案通过如下的方法使用这一数据。首先,网络和客户端设备使用设备标识以及和它相关的共享机密来完成相互认证。在这个过程中,要生成一个密钥来保护这两者之间的通信。一旦这一步完成,用户通过能访问中心用户认证数据库的中心认证服务器来完成到网络的认证。也可以使用这个数据库进行用户认证,以控制到无线网络的接入以及从远端位置到网络的接入。
仅后面一个方案通过使用标准的远程接入机制支持使用公共远程接入和无线网络用户认证数据库来进行配置。然而,本方案不可大规模化。对于具有大量接入点的配置,在某种程度上,在每个接入点上以保持数据同步的方式管理客户端标识和共享机密是非常困难的。
为了相互的认证客户端设备和接入点,需要一种方法和系统。可被客户端设备和接入点使用的用于保护它们之间通信的密钥也是需要的。一旦在客户端设备和接入点之间通信受到保护,客户端设备需要使用用户的标识来完成用户到使用中心认证系统的网络的认证。为了无线网络接入和远程接入而使用的公共认证数据库也是需要的,它既不会在客户端设备也不会在接入点上引入可观的计算负荷。
【发明内容】
因此,本发明提供了一种用于相互认证客户端设备和接入点的方法。本发明创建一个密钥,客户端设备和接入点可以使用该密钥来保护它们之间的通信。该密钥可以由网络设备(例如,本地接入点)创建或者它可以由中心认证服务器创建。一旦客户端设备和网络设备之间的通信受到保护,客户端设备可使用用户标识来实现用户到使用中心认证系统的网络的认证。使用公共认证数据库来进行无线网络的接入和远程接入,它既不会在客户端设备也不会在接入点上引入可观的计算负荷。
在一个实施例中,本发明提供一种接入到受控网络的认证的方法。在一个实施例中,本发明完成第二电子设备到第一电子设备的认证,并且随后完成第一电子设备到第二电子设备的认证。第一电子设备和第二电子设备随后基于它们共享机密确定一个密钥,该密钥用于两个设备之间的加密通信。第一电子设备和第二电子设备随后到中心认证服务器认证一个用户。在一个实施例中,第一电子设备是客户端设备,而第二电子设备是网络设备。在另一个实施例中,第二电子设备是中心认证服务器。
本发明的其他特性和优势对于那些具有本领域一般技术并阅读了下面结合伴随图示对推荐的实施例所进行的详细描述的人来讲是非常明显的,这些图示通过举例显示了本发明的原理。
【附图说明】
这些伴随的图示,并入本发明并形成了本规范的一部分,它们和描述一起阐明了本发明的实施例,它的作用是解释本发明的原理:
图1显示了一个可以在其上实现本发明的实施例的示范性的电子系统平台。
图2显示了可以在其上实现本发明实施例的示范性的网络环境,它包括无线和有线通信。
图3显示了用于交换密钥的电子设备的认证以及用于接入网络的用户的认证的流程图。
图4A,4B和4C显示了根据本发明的一个实施例,在认证过程中以及密钥分配的过程中信息交换的数据流程图。
图5A和5B显示了根据本发明的另一个实施例,在认证过程中以及密钥分配的过程中信息交换的数据流程图。
【具体实施方式】
对于本发明推荐的实施例将给出详细的参考,它们中的例子将在伴随的图示中显示。同时本发明将结合推荐的实施例进行描述,可以理解它们并不能将本发明限制于这些实施例中。相反的,本发明意图覆盖可替换的,经过修改的以及对等的实施例,它们包含在本发明的精神和外延中,就像在附加的权利要求中定义的那样。另外,在下面的描述中,为了解释的目的,规定了多个具体的细节,这是为了深入的理解本发明。但是,对于熟悉这项技术的人来讲非常明显的是不需要应用这些特定的细节就可以实现本发明。在其他的例子中,熟知的结构和设备以框图的方式显示,这样作的目的是防止模糊本发明。另外的,在其他的例子中,并没有详细描述熟知的方法,过程,部件以及电路,这样就不会不必要的模糊本发明的各个方面。
符号和术语
在下面的详细描述中的某些部分,将使用术语过程,步骤,逻辑框图,处理以及其他标识对数据比特的操作的符号,这些操作可以在计算计的内存中执行。这些描述以及标识是由那些对数据处理技术精通的人使用的方法,它们可以最有效的将它们的主旨转发给其他对这个技术熟悉的人。在这里,一个过程,计算机执行的步骤,逻辑框图,进程等等,总体上被看作是一个自洽的步骤序列或者引导期望结果的指令。这些步骤需要对物理量进行物理操纵。通常,虽然并不必须,这些量以电子或者磁性信号的形式出现,它们可以被存储,转发,合并,比较以及或者在计算机系统中操作。通常,原理上由于共享使用的原因,称这些信号为比特,值,成分,符号,字符,术语,数字或者类似的东西,这样做经过证明是方便的。
但是,需要明确的是,所有的这些以及相似的术语要与适合的物理量相关联,并且仅仅是应用到这些量上的为了方便而使用的标签。除非特殊说明,否则正如从下面的讨论中很明显可以看到的,提及电子系统或者计算机系统或者类似的如PDA(个人数字助理),手提电话,寻呼机,光或者机械计算机等等的电子计算设备的动作以及过程,在本发明的自始至终的讨论中都使用了术语如“生成”或者“确定”或者“接收”或者“检验”或者“加密”或者“发送”或者“传送”或者“解密”或者“使能”或者“计算”或者“计数”或者“提供”或者“传送”或者类似的术语。电子设备或者类似的计算机系统或者其他设备操纵数据,并且将在计算机系统的注册表中以及内存中的作为物理(电子)量表示数据转换为其他类似的在计算机系统内存中或者注册表中或者其他这样的信息存储器中,传送或者显示装置中的作为物理量表示的数据。
在推荐的应用中,本发明的实施例将结合认证申请。在一个实施例中,认证协议由EAP-TLS协议支持。需要肯定的是本发明的实施例也可以使用其他的认证协议。
需要进一步肯定的是在下面的详细描述中将使用一些附加符号。一些这样附加符号如下:
|:串连操作。根据一些协议指示对象的链接。
Digest(n):n的消息摘要。指示一个单向散列函数。
Dev_id:和一个设备相关的一个标识。
Secret(Dev_id):由客户端设备和它所连接的网络所共享的机密。
User_name:一个用户的名字。
User_credentials:用于认证的用户信任状。
Shared_Key:从Digest(Dev_id,Secret(Dev_id),x,y)中选择的一些比特。
Dev_certificate:客户端设备的公共密钥证书。
Serv_certificate:中心认证服务器的公共密钥。
示范性计算机系统
参考图1,本发明的若干部分包含在计算机可读的和计算机可执行的指令中,它驻留在,例如,像计算机系统这样的电子系统的计算机可读的媒质中。图1说明了一个示范性电子设备100,将在其上实现本发明的实施例。可以肯定,图1中的电子设备100是几个不同计算机系统和电子设备的代表,本发明可以在这些设备上进行操作,这些设备包括但不限于台式机,笔记本电脑,PDA(个人数字助理),手提电话,寻呼机等等。
电子系统100包括一个用于交换信息的地址/数据总线109,处理器101连接总线109用来处理信息和指令,非易失性内存(ROM-只读存储器)102连接总线109用于存储静态信息和处理器101执行的指令,并且易失性内存(RAM-随机接入存储器)103连接总线109用于存储信息和处理器101执行的指令。电子设备100也包括数据存储设备104,比如磁盘或光盘并且磁盘驱动器连接总线109用于存储信息和指令。数据存储设备104可包括一个或者多个可移动的磁盘或光盘存储媒质,例如磁盘,磁带,SD(安全数字的)卡,MMC(多媒体卡),这些都是计算机可读存储器。电子设备100的存储器单元包括易失性存储器102,非易失性存储器103,和数据存储设备104。
图1中的电子设备还包括输入/输出设备108,它连接总线109用于在电子设备100和网络200间提供物理通信连接。就像这样,输入/输出设备108使得中央处理单元101可以和与网络200相连接的其他电子系统进行通信。可以肯定的是,在本实施例中,通过有线通信接口或者无线通信接口(比如IEEE802.11b接口),输入/输出设备108提供传输和接收信息的功能。
电子设备100还可以包含一个可选的字母数字的输入设备106,该输入设备包括字母数字以及功能键,它们和总线109相连用于给处理器101转发信息和命令选择。可选的显示设备105也可以和总线相连用于给计算机用户显示信息。显示设备105可以是液晶显示器(LCD),阴极射线管(CRT),其它的平面控制板显示器,电子文件显示器,或者其他适合生成用户可识别的图像以及字母数字的显示设备。
电子设备100还包含可选择的光标控制或者引导设备107,它也和总线109相连用于给处理器101转发信息并进行命令选择。光标控制设备107允许用户动态的标志在显示设备105的屏幕上的可视的符号(光标)的二维的移动。光标控制设备107的很多实现以及在该领域已知的技术可以包括光标滚动球,鼠标,光鼠,触摸杆,触摸屏,操纵杆,或者字母数字输入设备106上的特殊键,这些键可以标志给定的方向移动或者位移的方式。或者,值得肯定的是可以通过使用特殊的键及/或者键序列命令从字母数字输入设备106的输入来引导和/或者激活光标。
示范性的网络环境
本发明的实施例,用于在无线网络中通过密钥分配实现设备和用户相互认证的方案,它包括用于给客户端设备(如,无线网络中的无线用户或者有线网络中的有线用户)和网络设备(如无线网络上的接入点或者有线网络中的调制解调器)提供一个安全通信的网络的系统,并且它在网络环境中是可以实施的。图2显示了一个示范性的无线网络环境200,在其中将会实施本发明的一个实施例。所显示的无线网络环境包括一个通过连接250连接到网络设备210和网络设备220的中心认证服务器(CAS)230。在一个实施例中,连接250是一个物理连接(例如,有线的),诸如在以太网,令牌环,或者光纤网络配置中的连接。在其他的实施例中,连接250是使用无线通信技术的无线连接,诸如红外传输,或者其他在中心认证服务器230和网络设备210、网络设备220之间不需要物理(有线)连接的连接技术。
继续参考图2,值得肯定的是,在另外的实施例中,可能仅仅一个单一的网络设备通过连接250连接到中心认证服务器230。值得进一步肯定的是,在另一个的实施例中,多于两个的在图2显示的网络设备将会连接到CAS 230。根据本发明的实施例所实现的网络环境的范围,在还有另外一个的实施例中,将会有几十个甚至几百个的网络设备连接到接入服务器230。还值得进一步肯定的是,如果连接250是CAS 230分别到网络设备210以及220的无线连接,就将假设在CAS 230和网络设备之间具有预先分配的密钥。
继续参考图2,无线网络环境200可以包括多个无线客户端设备(例如,无线客户端设备201,204,206以及208,分别地)通过无线连接240连接到网络设备210和网络设备220。值得肯定的是无线客户端设备201,204,206以及208中的每一个都可以和网络设备210或者220进行通信。另外的,连接240,即一个无线连接,使用无线通信技术,诸如红外传输、扩展频谱无线电传输、窄带无线电传输,或者其他不需要网络设备210、网络设备220以及无线用户201、204、206以及208之间的物理(有线)连接的连接技术。无线客户端设备201、204、206以及208,网络设备210以及220,以及中心认证服务器230可以由电子系统来实现,例如图1中的电子系统100。在本实施例中,无线客户端设备,网络设备以及CAS通过连接240以及250、连接到多个网络资源,例如,文件服务器、打印机、因特网网关,等等。
图3显示了过程300,其中根据本发明的一个实施例,电子设备通过认证来交换密钥,而用户通过认证接入网络。在图3的步骤301,为了和网络进行通信,第一电子设备和第二电子设备相连。在本发明的一个实施例中,第一电子设备是客户端设备,如手提电脑,而第二电子设备是网络设备,如无线接入点。在另外的实施例中,第一设备是客户端设备,而第二设备是中心网络认证服务器。
为了建立与网络之间的安全的通信,每个电子设备必须得到其他电子设备的认证。这个双向的认证在此就可以理解为相互认证。图3的步骤302显示了这个认证,根据本发明的一个实施例,第二设备使用了通常的认证协议完成到第一设备的认证。反过来,如图3中步骤303所示,第一设备完成到第二设备的认证。这就组成了相互认证,并且这样两个设备完成了相互认证。
在步骤304,根据一个实施例,完成相互认证的第一和第二电子设备根据在这两个设备中共享的机密确定了一个密钥。一旦确定了这个密钥,根据一个实施例,就可以使用这个密钥来加密网络之间的通信,来保证通信是安全的。
一旦建立了安全的通信,第一电子设备的用户必须经过认证才能和网络进行通信。在一个实施例中,如图3的步骤305所示,用户到中心认证服务器进行认证。一旦用户经过网络的认证,就建立了通信,因而用户可以在网络中开始发送和接收操作。
现在参考图4A,本发明一个实施例的开始步骤通过数据流图400的方式显示。在这个实施例中,设备的机密存储在网络设备中,如图2的210和220,因此这一实施例适合小型业务以及其他配置,其中网络设备的数目很小并且密钥更新的后勤是合情合理的。在该实施例中,信息流在客户设备202,网络设备210和中心认证服务器230之间传输。
在图4A的步骤401,客户端设备202通过抽取随机数x开始。随后客户端设备202将这个随机数x和它的设备标识一起发送到网络设备210。
在步骤402,网络设备210使用设备标识来确定它和客户端设备202之间共享的机密。随后网络设备210产生一个随机数y,因此我们现在有两个随机数x和y。
在图4A的步骤403,根据本发明的一个实施例,网络设备210根据设备标识、它和客户端设备202共享的机密以及由客户端设备202发送的随机数x计算一个单向的散列函数,Digest(Dev_id|Secret(Dev_id)|x)。网络设备210随后发送Digest(Dev_id|Secret(Dev_id)|x)以及随机数y给客户端设备202。其他网络并不知道这个共享的机密,Secret(Dev_id),所以,从这点来看,网络设备210向客户端设备202证明了它是正确的网络设备。
在图4A的步骤404中,随后网络设备210将计算另外的散列函数,Digest(Dev_id|Secret(Dev_id)|x|y),它是由客户端设备202在步骤401的时候发送的设备标识、网络设备210和客户端设备202之间的机密与随机数x和y的一个串连的摘要。网络设备可以从这个摘要选择若干比特用作一个加密密钥。
在步骤405,客户端设备202计算Digest(Dev_id|Secret(Dev_id)|x),并且在步骤406将这个值和从网络设备210在步骤403接收到的值进行比较。如果两个值不一致,那么就不会对网络设备进行认证,而且会话将会结束。如果两个值匹配,那么就显示了对于客户端设备202来讲网络设备210是正确的,而且因此客户端设备202将会完成到网络设备210的认证。
在图4A的步骤407,客户端设备202确定这一摘要,Digest(Dev_id|Secret(Dev_id)|x|y),就像网络设备210在步骤304处所作的。从这个摘要,客户端设备202选择了和网络设备在步骤404所选择的一样的比特,这样客户端设备202现在可以使用它来加密所有和网络设备210之间的未来通信。
一旦网络设备210得到客户端设备202的认证,客户端设备202必须得到网络设备210的认证,以达到相互的认证。在图4A所示的步骤408中,客户端设备202计算了一个不同的单向散列函数Digest(Dev_id|Secret(Dev_id)|y),该函数包含了由网络设备210在步骤403发送的随机数y,并把该值发送给网络设备210。
现在来参考图4B的步骤409,网络设备210独立的计算这一摘要,Digest(Dev_id|Secret(Dev_id)|y)。在步骤410,网络设备将比较从步骤409得到的摘要的值以及在图4A的步骤408中由客户端设备202发送的值。如果两个值不一致,由于客户端设备202对网络设备210来讲并不是正确的,所以将终止会话。如果两个值相互匹配,客户端设备202将会得到网络设备210的认证,并且,根据本发明的一个实施例,将会达到相互的认证。
从图4B的步骤411开始,允许业务的传送,并且网络设备210将使用在图4A的步骤404建立的共享密钥加密它发送的信息。在步骤412,网络设备210发送一个消息给客户端设备202,请求该用户的标识。
从图4B的步骤413开始,根据本发明的一个实施例,由客户端设备202发送的数据将受到密钥保护,该密钥是在图4A的步骤407计算得到的。仅仅是客户端设备202和网络设备210知道该密钥,因此,任何在这两个设备之间中途截获的传输数据不能够被解密。
在步骤414,根据本发明的一个实施例,客户端设备202发送给网络设备210该用户的标识以及一些用户得到中心认证服务器230的认证所需要的信任状。
然后,网络设备210在图4B的步骤415将用户的标识和用户的信任状转发给中心认证服务器。在步骤416,根据一个实施例,中心认证服务器230试图使用几个存在的认证协议中的一个完成用户到网络的认证。
现在参考图4C,在步骤417中,假设认证成功,就像在步骤418中所示的那样,中心认证服务器230向网络设备210回送一个成功的消息。
在图4C所示的步骤419,网络设备210将成功消息回送给客户端设备202,并允许客户端设备接入到网络中来。步骤420显示了客户端设备202接收到成功消息,并从此可以向网络上发送以及从网络上接收信息。
如果图4C的步骤417的认证失败了,中心认证服务器230将向网络设备210发送一个失败的消息,就像步骤421所示的那样。在步骤422网络设备将会把该失败的消息回送给客户端设备202,否决用户对网络的接入,并停止信息传送。步骤423显示了用户接收到了失败的消息。
现在参考图5A,本发明的又一个实施例由流程图500显示。对于具有大量的网络设备或者接入点的大型的商业和配置来讲,以保持数据同步的方式在每一个网络设备中管理用户标识以及共享机密是很困难的。本发明的实施例提供了一种可规模化的方法,即通过客户端设备202和中心认证服务器230之间的相互认证,使用中心认证服务器230建立用于保护客户端设备202和网络设备210之间的通信的密钥,完成用户为了接入网络到中心认证服务器的认证。
在本实施例中,使用了对这项技术基本了解的人所熟知的标准协议。该协议为可扩展认证协议(EAP),并为密钥的分配使用了传输层安全(TLS),或者EAP-TLS。EAP-TLS使用了公共密钥密码术,其在中心认证服务器230进行认证。
在图5A的步骤501,客户端设备202抽取了一个随机数x,并将其嵌入到一个“hello”消息中,发送到网络设备210。在步骤502,网络设备210将转发用户的“hello(x)”消息到中心认证服务器(CAS)230。
在步骤503,CAS 230抽取一个随机数y,并发送一个服务器的“hello”给网络设备210,其中嵌入了该随机数y。和“hello(y)”一起,它还将发送给网络设备210一个证书,即该服务器的公共密钥,以及一个对于用户证书(或者是用户的公共密钥)的请求消息以及一个“hello-done”(或者我已经完成)消息。
在本实施例中,在步骤504,网络设备210将转发从步骤503得到的CAS 230的消息给客户端设备202。在图5A的步骤505,接收CAS 230的证书的过程完成了CAS 230到客户端设备202的认证。客户端设备202现在使用这一信息,以及使用EAP-TLS协议,确定一个主机密,并从中提取一个会话密钥,从此以后,客户端设备202将使用该密钥来保护它和网络设备210之间的通信。
在步骤506中,客户端设备202发送它的证书,一个EAP-TLS密钥交换,一个“改变密码定义”的消息以及一个“完成”的消息到网络设备210。在步骤507,网络设备210将从客户端设备202接收的消息转发给CAS 230。
在图5A的步骤508,CAS 230接收到具有客户端设备证书的消息,并通过该证书完成客户端设备202到CAS 230的认证。此时,客户端设备202以及中心认证服务器230就完成了相互认证。CAS230使用消息其它的部分以及EAP-TLS协议来确定用来产生会话密钥的主机密。随后CAS 230将该主机密发送给网络设备202,并使用它和网络设备202共享的机密来对其进行保护。
在图5A的步骤509,根据本实施例,网络设备210提取主机密,并使用它以及EAP协议来加密并保护和客户端设备202以及服务器210之间的未来信息。
根据本发明的一个实施例,在图5A的步骤510,网络设备210给客户端设备202发送一个EAP标识消息,并请求用户的标识。
现在来参考图5B,流程图500将继续图5A中的流程图。根据一个实施例,用户认证要通过快速认证完成。根据本实施例,在步骤511,客户端设备202发送一个标准的EAP响应给网络设备210,其中包含用户的名字。
在图5B的步骤512,网络设备210将用户的名字转发给中心认证服务器(CAS)230。在步骤513,CAS 230抽取一个随机数z并向网络设备发送一个EAP请求,以及一个包含随机数z的第一询问。
在图5B的步骤514,网络设备210将ERP请求以及第一询问转发给客户端设备202。在步骤515中,客户端设备202发送给网络设备210一个EAP响应以及另一个包含EAP响应的第二询问。
在图5B的步骤516,网络设备210将第二询问以及EAP响应转发给CAS 230。随后,如步骤517所示,CAS 230将比较发送给客户端设备202的第一询问以及和从客户端设备202接收到的第二请求,并确定它们是否一致。
如果两个询问一致,CAS 230发送给网络设备210一个成功消息,如步骤518所示。在步骤519,网络设备210随后将消息转发给客户端设备,而且现在用户已经完成到网络的认证,所以允许在用户和网络之间转发业务。在步骤520,客户端设备202接收到成功消息,并且现在可以发送由会话密钥来保护的信息给网络,这个会话密钥是和网络设备210共享的。
在步骤517,如果两个询问不一致,CAS 230将发送给网络设备210一个失败的消息,如图5B的步骤521所示。在步骤522,网络设备210将这个失败消息转发给客户端设备202,并且阻塞客户端设备202以及网络之间的业务流。
在步骤523中,客户端设备接收到失败消息,该消息通知用户到网络的接入被拒绝了。
对本发明公开的内容的一个简短的总结就是,在一个计算机网络中,一种相互认证一个客户端设备和一个网络接口,以及将一个用户认证到网络中并交换密钥的方法。在一个实施例中,该方法包括,在本地网络设备点认证客户端设备,其中客户端设备和本地网络设备点交换一个加密密钥,然后客户被一个中心认证服务器认证。在另外的实施例中,该方法包含在中心认证服务器认证客户端设备,其中客户端设备和中心认证服务器交换一个密钥,该密钥与一个由中心认证服务器和网络设备共享的机密一起被发送的网络设备中。在本实施例中,用户也是在中心认证服务器处被认证的。
前面对本发明的特定实施例的描述的目的就是显示和描述。它们并不是意图详细的说明,或者将本发明限定到前面所描述的形式中。明显地,根据前面地描述,对本发明可以进行许多修改和改变。选择这些实施例并对其进行描述的目的是更好的解释本发明的原理以及它实际的应用,因此,使其他对这项技术熟悉的人可以更好的利用本发明以及根据它们适合特定地使用的不同条件而修改应用多个实施例。本发明的范围由附加在其后的权利要求以及它们的对等体意图定义。