CN1711740B - 轻度可扩展验证协议的密码预处理 - Google Patents

轻度可扩展验证协议的密码预处理 Download PDF

Info

Publication number
CN1711740B
CN1711740B CN2003801031257A CN200380103125A CN1711740B CN 1711740 B CN1711740 B CN 1711740B CN 2003801031257 A CN2003801031257 A CN 2003801031257A CN 200380103125 A CN200380103125 A CN 200380103125A CN 1711740 B CN1711740 B CN 1711740B
Authority
CN
China
Prior art keywords
client
password
network
hash
database
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CN2003801031257A
Other languages
English (en)
Other versions
CN1711740A (zh
Inventor
格伦·佐恩
戴维·豪拉斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cisco Technology Inc
Original Assignee
Cisco Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cisco Technology Inc filed Critical Cisco Technology Inc
Publication of CN1711740A publication Critical patent/CN1711740A/zh
Application granted granted Critical
Publication of CN1711740B publication Critical patent/CN1711740B/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/162Implementing security features at a particular protocol layer at the data link layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3273Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response for mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/041Key generation or derivation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/043Key management, e.g. using generic bootstrapping architecture [GBA] using a trusted network node as an anchor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/068Authentication using credential vaults, e.g. password manager applications or one time password [OTP] applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • H04L2209/805Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W56/00Synchronisation arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area Networks]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Small-Scale Networks (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Computer And Data Communications (AREA)
  • Organic Low-Molecular-Weight Compounds And Preparation Thereof (AREA)
  • Other Investigation Or Analysis Of Materials By Electrical Means (AREA)

Abstract

一种用于在轻度可扩展验证协议(LEAP)的环境中处理可替换性散列功能的无线验证协议。在网络和客户端之间的验证根据LEAP验证而被管理。利用在客户端和网络两者中的可替换性编码方案的预先知识,可以使经过可替换性编码的数据同步。实现方式是通过在网络上提供可替换性数据库,从而使可替换性数据库能够在LEAP验证过程期间被访问。

Description

轻度可扩展验证协议的密码预处理
技术领域
本发明涉及根据IEEE 802.11标准进行操作的无线设备,并且更具体而言,本发明涉及用于将这种设备验证到网络的无线验证协议。
背景技术
传统的可扩展验证协议(EAP)最初被设计为提供一种构架,该构架用于允许新的验证方法被容易地引入点对点协议(PPP)中。即使EAP最初被设计为作为PPP的一部分进行操作,它也可足够灵活地被实际映射到任意框架化的链路层。在LAN上的IEEE 802.1x EAP(EAPOL)规范定义了一种方法,该方法用于将EAP分组封装到以太网或令牌环分组中,从而可以在LAN上传输这些分组。
在IEEE 802.11规范下的有线等效保密(WEP)协议的安全服务使用加密密钥对无线客户端(或对等点)和网络接入服务器(NAS)之间的数据流量进行加密。WEP协议使用密钥来验证每个客户站点。客户站点必须具有当前密钥以接入网络。NAS(也被称为接入点(AP))也需要密钥来允许接入无线网络。最初,AP具有单个密钥,并且无线小区中的所有流量都将利用该单个密钥进行加密,所述单个密钥必须被编程到每个客户端的无线收发机中。现在,使用EAP验证,AP(或者等同地,集中型验证、授权和计费(AAA)服务器)可以独立获得基于用户专用数据的唯一会话密钥。具体验证协议和密钥分配协议的产生被留给开发商来开发。
无线AP通常依靠集中型AAA服务器来代表其自身验证客户端。较流行类型的AAA服务器之一是远程验证拨号用户服务的服务器(RADIUS)。对RADIUS协议的扩展被定义为允许在AAA服务器和AP之间传递EAP分组。在这种情况下,AP仅作为发生在无线客户端和RADIUS AAA服务器之间的验证会话中的中继代理。RADIUS服务器将客户端验证的结果以及是否允许客户端接入网络告知AP。也可以返回其他参数,包括在客户端和AP之间使用的会话密钥。
在无线环境中,非法AP非常容易伪装为有效AP,并且捕获所有客户端流量。这样,客户端必须能够确保其正在连接到正确的网络。一种用于消除非法AP的这种“中间人”攻击的方法是加入相互验证,从而使客户端能够核实AP的身份,并且AP也能够核实客户端的身份。
此外,协议必须可被有效地执行。在大多数无线收发机的无线卡中的处理器都是相当简单的,必须用汇编语言对其进行编程,并且该处理器以与当前主机系统相比较低的时钟速度运行。这样,必须对协议进行设计,从而使代码将适合于无线卡中的代码存储器。算法必须在合理的时间量中运行,以便使正常的数据流量不会被阻塞太长时间,尤其是在从一个AP漫游到另一AP期间。
在无线LAN世界中的EAP的第一实现方式中,验证方法使用公共密钥密码系统(PKI-公共密钥基本结构)。它是计算密集型的,并且由附接了无线卡的计算机中的主机处理器在客户端一侧进行处理。这种验证方法过于简单,并且无法提供相互验证。为了提供对诸如打印机的嵌入式系统的支持,以及对运行有操作系统的主机机器的支持,感觉需要新方法,该方法能够被嵌入到客户端无线卡的固件中,所述操作系统不具有允许使用PKI验证的支持程序。这样一来,只需要非常小的主机支持,以将用户名和密码提供到无线卡。
新协议必须加入与RADIUS集成的便利性。大多数RADIUS服务器都包括一个模块,该模块处理实际的RADIUS协议,以接口连接一个或多个后端数据库模块,并且执行对客户端信息的实际核实。新的验证方案必须被大量数据库模块所支持。而且,由于某种形式的用户名和密码信息必须被传递到AP,以用于产生加密密钥,因此该协议必须考虑关于数据库模块愿意发布的用户密码的信息类型。
轻度可扩展验证协议(LEAP)将集中型双向验证与动态WEP密钥结合起来。鉴于这一点,典型LEAP的实现环境是NT环境,该NT环境利用MD4散列(hash)功能来产生会话密钥。为了确保LEAP可以在非MD4环境中被利用,则需要一种能够容纳其它可替换性散列功能的体系结构。
发明内容
这里公开并要求保护本发明,在本发明的一个方面中,本发明包括一种用于在LEAP环境中处理可替换性散列功能的无线验证协议。在网络和客户端之间的验证由LEAP验证来管理。利用在客户端和网络两者中的可替换性编码方案的预先知识,实现方式是通过在网络上提供可替换性账户数据库,从而使验证服务器能够在LEAP验证过程期间访问可替换性账户数据库。
根据本发明的一个方面,提供了一种用于验证服务器在轻度可扩展验证协议的环境中处理密码的方法,该方法包括以下步骤:接收来自客户端的验证请求数据;访问可替换性账户数据库;检索与在登陆期间所提供的客户端用户名相关联的可替换性散列用户统一字符编码密码;执行可替换性散列用户统一字符编码密码的MD4散列,从而创建MD4散列密码;以及使用MD4散列密码,经由轻度可扩展验证协议来验证客户端;其中验证请求数据包含密码,该密码不是MD4散列密码。
根据本发明的另一个方面,提供了一种用于验证服务器在轻度可扩展验证协议的环境中处理密码的方法,该方法包括以下步骤:接收来自客户端的验证请求数据;确定请求数据如何被编码;当请求数据没有利用MD4散列被编码时,访问可替换性账户数据库;当请求数据没有利用MD4散列被编码时,检索与在登陆期间所提供的客户端用户名相关联的可替换性散列用户统一字符编码密码;当请求数据没有利用MD4散列被编码时,执行可替换性散列用户统一字符编码密码的MD4散列,从而创建MD4散列密码;以及使用MD4散列密码,经由轻度可扩展验证协议来验证客户端。
根据本发明的又一个方面,提供了一种用于在使用MD4编码方案的网络上验证使用非MD4编码方案的客户端的方法,该方法包括以下步骤:与接入点相关联;响应接入点身份请求;编码客户端密码;并且执行经编码客户端密码的MD4散列,从而创建MD4散列密码。
根据本发明的再一个方面,提供了一种验证服务器,包括:用于接收来自客户端的验证请求的装置;用于对验证请求进行预处理的预处理装置,该预处理装置以通信的方式耦合到验证服务器;以及MD4数据库;其中验证请求经由MD4数据库被核实。
根据本发明的又另一方面,提供了一种网络,包括:接入点;验证服务器;包含密码的数据库;将接入点连接到验证服务器以及数据库的第一通信网络;其中接入点接收包含密码的验证请求,接入点将验证请求中继到验证服务器;其中验证服务器访问数据库,数据库核实密码,并且其中密码不遵从于MD4。
附图说明
为了更全面的理解本发明及其优点,现在结合附图来参考以下描述,在附图中:
图1a根据所公开实施例,示出了利用所述LEAP协议的系统的一般框图;
图1b示出了根据所述LEAP协议利用交换机和无线客户端的系统的可替换性实施例的一般框图;
图1c示出了利用所述协议的有线系统的可替换性实施例的一般框图;
图2示出了图1a中的一般网络实体和相关协议模块的框图;
图3示出了用于在图1a中的无线客户端和AS之间进行相互验证的协议过程的一般流程图;
图4a和图4b每个都根据所公开实施例,示出了用于在AS和客户端中导出各自会话密钥的LEAP加密过程的流程图;
图5a根据所公开实施例,从AS的视角示出了挑战/响应过程的详细流程图;
图5b根据所公开实施例,从客户端的视角示出了挑战/响应过程的详细流程图;
图6a和图6b根据所公开协议实施例,示出了在验证服务器和客户端之间的所述协议分组交换的流程图;
图7根据所公开实施例,示出了并入与接入点进行通信的无线客户端中所使用的LEAP算法的硬件网络接口设备的框图;
图8根据所公开实施例,示出了实现用于可替换性密码散列的AS中的密码预处理的流程图;
图9根据所公开实施例,示出了在客户端中的密码预处理的流程图;
图10根据所公开实施例,示出了当利用非NT数据库实现方式时,在AS中用于导出会话密钥的LEAP加密过程的密码预处理流程图;以及
图11根据所公开实施例,示出了当利用非NT数据库实现方式时,在客户端中用于导出会话密钥的LEAP加密过程的密码预处理流程图。
具体实施方式
所公开的无线验证协议的体系结构用于处理轻度可扩展验证协议(LEAP)环境中的可替换性散列功能。在网络和客户端之间的验证由LEAP验证来管理。根据在客户端和网络两者中的可替换性编码方案的在先知识,实现方式是通过在网络上提供可替换性数据库,从而使验证服务器可以在LEAP验证过程期间访问可替换性数据库。
所公开的无线验证协议还利用EAP、EAPOL、WEP、RADIUS,驻留在EAP中,在网络基础设施和无线客户端之间提供相互验证,提供随机用户专用密码会话密钥的安全来源,提供与现有和广泛网络验证机制(例如RADIUS)之间的兼容性,操作计算速度,并且提供与流行的开发商联网体系结构(例如由MicrosoftTM)相兼容的单一签名能力。因此,所公开的无线验证协议驻留在EAP中,其在下文中被指定为LEAP(轻度可扩展验证协议)。另外,所公开的协议消除了对利用在传统系统中使用的公共/私有密钥机制的需求。对公共/私有密钥的需求的消除提供了一种需要更少程序代码的较低计算密集型协议,从而允许协议引擎被编程到更小的电子组件中,所述电子组件例如是具有多种波形因数的网络接口卡。
LEAP验证协议适用于IEEE 802.11无线局域网(WLAN)环境,并且基于现有的IETF(因特网工程任务组)和IEEE(电气和电子工程师协会)标准。由于LEAP依附于标准协议之上,因此这有助于为无线LAN提供“无缝整合”的要素。
根据以上优点,LEAP算法代码足够小,从而能够被包括在无线卡中。这允许在大范围支持EAP和IEEE 802.1x的系统中容易地实现该协议。LEAP适合于在802.1x中运行,并且提供了验证和密钥管理。
现在参考图1a,其根据所公开的实施例示出了利用所述LEAP协议的系统的一般框图。用于描述新型LEAP协议的基本系统100包括用于在无线通信链路104上与无线客户端106进行通信的无线接入点(AP)102。AP 102提供了无线客户端106对LAN 108的有线网络接入,以访问置于LAN 108上的基中型验证服务器(AS)110来提供这样的服务。AS 110可被配置为运行用于验证、授权和计费(AAA)服务的RADIUS(远程验证拨号用户服务)协议。注意,可以使用诸如DIAMETER之类的其它类型的验证服务器。验证是用来确定谁正在访问资源的过程,并且验证几乎总是最先进行的过程。授权确定经验证的用户可以做什么(例如分配IP地址),而计费是记录用户所采取的行为或所使用的资源。AS 110为可以充当验证者的任意网络实体(例如AP 102)提供AAA服务。
系统100还包括具有用户账户数据库的传统网络服务器112,一旦用户名在系统100上变为可用,该服务器112就将相关的散列用户密码提供到AS 110。
在图1b所示的可选实现方式中,交换机114被包括在AP 102和AS110之间,从而使来自客户端106和AP 102的分组流量通过交换机而被发送到AS 110,并且在客户端106被适当验证时,还将所述分组流量发送到由置于网络108上的服务器(例如账户服务器112)所提供的其他网络服务。
无线网络环境对已知的“中间人”攻击是开放的。因此为了实际降低这种攻击的可能性,LEAP算法提供了相互验证,其中AS 110向客户端106发布一次挑战,而客户端106将适当的响应发送到AS 110,从而“核实”客户端106是可信任的实体。然后,客户端106向AS 110发布相应的挑战,而AS 110将适当的响应发送到客户端106,从而“核实”AS110是可信任的实体,并且所述网络是客户端106想要连接的网络。
IEEE 802.11最多支持使用四个加密密钥,以用于对客户端106和AP102之间的流量进行加密。AP 102使用密钥索引之一作为会话密钥。会话密钥对于每个客户端/接入点连接具有不同值。另一密钥被用于AP 102所发送的多播/广播流量,并且通常对于AP 102的所有客户端110来说,该密钥是相同的。八个字节的随机数被从AS 110发送到客户端106。AS110对客户端106的挑战的数学响应与客户端106对AS 110的挑战的数学响应不完全相同。但是,客户端106和AS 110的数学响应都来源于相同的用户密码。因此,客户端106和AS 110两者都能够在相互挑战-响应过程期间获得另一方的期望响应,以便彼此验证。
在该具体实施例中,在AS 110和客户端106之间的挑战-响应活动基于挑战-握手验证协议(CHAP)。有很多不同类型的CHAP可被利用,并且来自客户端106的响应当然地依赖于AS 110所利用的CHAP类型。由于大多数RADIUS服务器支持MS-CHAP(微软CHAP),因此该方案被选为与MS-CHAP RADIUS服务器数据库兼容。MS-CHAP是一种点对点协议(PPP),其提供了用于在PPP链路上传输多协议数据报的标准方法。PPP定义了可扩展的链路控制协议和网络控制协议族,以用于建立和配置不同的网络层协议。微软的PPP CHAP方言(即MS-CHAP)将微软WindowsTM网络上提供的用户验证功能扩展到远端工作站。微软创建了MS-CHAP以验证远端的WindowsTM工作站,从而在集成Windows网络上使用的加密和散列算法的同时,提供基于LAN的用户所习惯的功能性。
系统100所利用的被公开协议由网络接入服务器(NAS)验证设备(即执行用于验证客户端106的验证者功能的AP 102)所组成,该设备将随机挑战发送(代表AS 110)到客户端106。客户端106包含DES(数据加密标准)算法,在该具体实施例中,该DES算法对挑战进行加密,从而使用正在尝试登陆和访问LAN 108上的服务的客户端用户的用户密码的MD4散列来格式化响应。然后,客户端响应被发送到AP 102。AP102将响应转发到AS 110,以用于询问和验证。AS 110使用用户名和密码的知识来核实响应。在用于接入网络108的必备登陆过程期间,从客户端106接收到用户名。AS 110接收到用户名,并将其传递到用户账户服务器112。账户服务器112在账户数据库上执行与用户名的比较,从而获得相应的已编码用户密码,并且将该已编码密码以用户密码的Unicode(统一字符编码)格式的单个散列的形式回传到AS 110。因此,AS 110并未通过网络108接收来自客户端106的实际用户密码,而是接收来自用户账户服务器112的账户数据库的用户密码的散列版本。(散列功能H被定义为一种转换,该转换采用输入m,并且返回固定尺寸的字符串,该字符串被称为散列值h,即h=H(m),R.L.Rivest开发出MD4加密标准,该MD4加密标准是根据压缩功能而定义的Damgard/Merkle迭代结构。)
所有从AP 102到AS 110的通信都没有被加密。但是,在客户端106和AP 102之间的无线链路104上的通信是根据IEEE 802.11和802.1x体系结构标准,并且可选择地,这样的通信可以被加密。
当无线客户端106寻求接入有线LAN 108时,所公开的协议被用于(经由AS 110)互相验证客户端106和网络,在该网络上,在成功地完成验证过程之后,AP 102允许来自客户端106的“未被改变并未受阻拦的”分组流量被直接用于网络108的服务。(注意,短语“未被改变并未受阻拦的”意味着不再需要重构AP 102从客户端106接收到的消息分组,所述重构过程通常发生在客户端106的验证过程期间。)在验证过程期间,AP 102充当在客户端106和AS 110之间的会话的透明中继。
来自客户端106的EAPOL(LAN上的可扩展验证协议)分组具有EAPOL头部,该头部被去除,并且将其内容作为EAP属性而添加到去往AS 110的RADIUS请求分组中。来自AS 110的RADIUS分组具有被添加到EAPOL分组中,并被发送到客户端106的EAP属性内容。AP 102不需要询问EAP验证的内容。
为了验证客户端106,在客户端106和AP 102之间的所有无线分组流量都利用被封装到EAP信息内的LEAP信息来构建,LEAP信息和EAP信息都利用IEEE 802.1x或RADIUS来进一步封装。无线流量可以利用IEEE 802.11信息而被进一步封装。然后,经封装的客户端信息在无线链路104上被发送到AP 102,然后在AP 102处,客户端信息被重构,以用于网络108的有线协议。因此,客户端信息被提取,并利用LEAP、EAP、RADIUS、UDP和IP将其重新封装到IEEE 802.3格式中。当然,从AP 102到客户端106的分组流量随后被从IEEE 802.3适当地重构为利用无线协议IEEE 802.11和8021x的IEEE 802.11流量。
如果被成功验证,AS 110则通知AP 102客户端106已被成功验证。然后,在系统100正常操作期间的所有来自客户端106的将来流量都未被阻拦并未被改变地穿过AP 102。可替换地,如果验证失败,则禁止客户端110访问网络108的服务。(注意,虽然已经在LAN的上下文中论述了网络108,但是该网络也可以是WAN、内部网络、外部网络等等,在这些网络上的通信使系统100的实体之间的挑战-响应握手更便利。)
现在参考图1b,其示出了根据所述LEAP协议利用交换机114和无线客户端106的系统的可替换性实施例的一般框图。运行LEAP协议的交换机114被置于网络108上的AP 102和AS 110之间,从而在其间交换分组流量。在AP 102(AP 102现在作为请求者)的验证期间,交换机114充当代表AP 102对AS 110的验证者。一旦AP 102被验证,交换机114就接受来自AP 102的所有将来流量。相似地,当客户端106关联到AP 102时,AP 102执行代表客户端106的验证者功能,以用于向AS 110验证客户端106。
现在参考图1c,其示出了利用所述协议的有线系统116的可替换性实施例的一般框图。有线系统116包括置于网络108上的AS 110、账户服务器112和交换机114。在该具体实施例中,图1b的AP 102被去除。交换机114被配置为运行LEAP协议。由于有线客户端106利用有线连接,因此在客户端106和交换机114之间不用加密。
客户端106可以通过执行适当的硬件实现方式而被容易地转换,从而根据图1a和1b进行无线操作,或者在图1c的有线环境中进行操作。计算机116必须首先通过交换机114而验证到AS 110。当被验证时,计算机116充当有线客户端106的验证过程的代理。如上所述,在客户端106和AS 110之间,通过计算机116和交换机114而发生相互验证。该相互验证过程将在下文中进行详细描述。
现在参考图2,其示出了图1a中的一般网络实体以及相关协议接口的框图。有线网络108已经将AS 110和AP 102置于其上。无线客户端106经由通信链路104与AP 102进行通信。在AP 102内部有效地设置了AP网络接口200,用于提供经由链路104与一个或多个无线客户端106之间的无线通信,并且提供经由有线网络108到包括AS 110的网络实体的有线通信。有线网络108被适当地配置为以太网和令牌环体系结构,但是并不局限于这样的体系结构来运行所公开的LEAP协议。AP 102也包含中央处理单元(CPU)202,用于控制单元的所有功能。
客户端106包含客户端无线网络接口206,用于使经由AP网络接口200与AP接口200之间的无线通信更便利。客户端网络接口206被示为包括在客户端协议接口208内包含的LEAP协议算法,但是并不必须如此,而是可以以各种方法将其并入客户端106中。例如,客户端协议接口208可以是适合于提供客户端106的系统CPU(未示出)所需访问速度的任意传统非易失性固件(例如EEPROM、闪存等等)。可替换地,协议算法可以被设计到客户端CPU中,从而使得不需要所示的分离协议接口208。而且,协议算法可以被编码到易被拆除的客户端接口206的控制器(未示出)中,从而可以在需要时替代或更新客户端接口206。
客户端106还包含用户名和密码接口210,从而使客户端106的用户在出于验证目的而被提示输入用户登陆信息时,可以输入用户登陆信息。用于根据新型协议来处理验证步骤的用户名和密码也可以与客户端用户在登陆到微软网络的过程中将使用的用户名和密码相同。
AS 110包括AS网络接口212,该接口212用于在验证过程期间在有线网络108上与AP 102进行通信,并且最终与客户端106进行通信,所述验证过程将在下文中进行详细描述。AS 110执行来自AS 110协议接口214的所公开协议。AS 110通过接口连接远端用户账户服务器112的一个或多个数据库模块216,这些数据库模块216包含用户名和相关用户密码,及其散列。虽然所描述的AS 110是RADIUS类型服务器,但是协议接口214适当地兼容很多非RADIUS类型的服务器。注意,数据库模块216可以驻留在本地位于AS 110上,或者在远端位于网络108上所设置的另一服务器上。
如图1a所示,客户端106是便携式计算机,它可以从小区漫游到小区,以用于经由一个或多个AP单元102而接入有线网络108。但是,无线客户端106也可以是打印机、传真机、复印机、桌上型计算机或其他设备,这些设备可被操作为在所公开协议算法的限制下进行无线通信。
现在参考图3,其示出了用于在图1a的无线客户端106和AS 110之间进行相互验证的协议过程的一般流程图。流程开始于启动端,并且移动到功能框300,在功能框300处,客户端106关联到AP 102。然后如功能框302所指出的,AP 102将EAP身份请求发送到客户端106。流程进入功能框304,在功能框304处,在客户端106中(例如经由登陆过程)获得客户端用户的用户名和密码。用户名被从客户端106发送到AP 102,并被从AP 102转发到AS 110。然后如功能框306所指出的,AS 110向客户端106发布挑战。在功能框308中,客户端106通过执行DES加密步骤,并且将DES加密数据发送到AS 110来进行响应。AS 110基于与接收到的用户名相对应的信息来执行相同的DES加密,并且将其核对从客户端106接收到的经加密响应数据。然后,流程进入判断框312,在判断框312中,如果客户端106不是有效客户端,流程则通过“否”路径到达功能框314,从而禁止网络接入客户端106。然后流程循环回功能框300的输入端,从而重新启动关联过程。如果AS 110确定客户端有效,流程则通过“是”路径到达判断框312,在判断框312中,AS 110通知AP 102客户端有效,AP 102将有效性信息转发到客户端106。
如功能框318所指出的,根据所公开LEAP算法的相互验证方面,客户端106随后启动对AS 110的挑战。流程进入功能框320,在功能框320中,AS 110利用接入接受和指示出密钥值的供应商专用属性来进行响应。如功能框322所指出的,该响应被转发到客户端106,并且客户端106随后执行网络确认。流程进入判断框324,在判断框324中,如果客户端106没有确认网络有效,流程则通过“否”路径到达功能框326,在功能框326中,客户端106断开与网络的关联。然后流程循环回功能框300的输入端,在功能框300中,客户端106可以被迫重新启动关联过程。
如果客户端106确定网络是它想要连接的网络,流程则通过判断框324的“是”路径到达功能框328,在功能框328中,导出会话密钥。如功能框330所指出的,客户端安装会话密钥。在功能框322中,客户端106和AS 110被相互验证,从而现在客户端可以访问置于网络108上的服务。然后过程到达停止端。
现在参考图4a和4b,其中每个都根据所公开实施例示出了用于在AS和客户端106中导出各自会话密钥的LEAP加密过程的流程图。图4a中的会话密钥算法被用于AS 110,并且图4b中的同样算法被用于客户端106(在图4a和4b中以符号“′”,并且在文中以撇号“’”来指代客户端算法编号)。
现在以图4a的AS 110的算法继续讨论,密钥导出过程以Unicode用户密码400(被示为Unicode-Password[])开始。如上所述,客户端用户的用户名被从客户端106发送到AS 110,并且被用于在用户账户服务器112的用户账户数据库中找到相关的用户密码。用户账户服务器112检索相应用户的Unicode密码MD4散列404。注意,可以使用诸如MD5的其他适合的散列算法。MD4散列算法框402的输出是一个16字节的单散列密码404(被示为PasswordHash[16])。该单散列密码404被从账户服务器112发送到AS 110,并被用作对会话密钥算法的输入。
AS密钥导出算法的对等挑战/响应部分被用于在AS 110和客户端106之间的相互验证过程的前半个过程。作为网络验证过程的一部分,AS 110产生对等挑战字408,并将其发送到客户端106。对等挑战/响应部分随后将单散列密码404分割成多个子字(在本实施例中为3个),每个子字具有7个字节,并且将这些子字用作后续加密过程中的加密密钥。这三个7字节的密钥和明文的对等挑战密码408(被示为PeerChallenge[8])被用作对等DES加密过程的输入,以产生“期望的”对等响应字416。(术语“期望的”的重要性将在下文中详细论述。)由于单散列密码404当前长度为16个字节,因此将单散列密码404分割为三个子字的过程剩余了第三子字,该子字的长度不足7字节。因而第一填充框406以零填充单散列密码404的第三子字,从而使三个子字加密密钥的总字节数达到21个字节。
然后,利用三个对等DES加密过程410、412和414对从AS 110经由AP 102而发送到客户端106的8字节对等挑战字408进行三次加密。就是说,经由第一DES框410利用单散列密码404的第一56位子字对对等挑战字408进行DES加密,经由第二DES框412利用单散列密码404的第二56位子字对对等挑战字408进行DES加密,并且以零填充单散列密码404的剩余位,从而创建用于经由第三DES框414来加密对等挑战408的第三56位子字DES密钥。相应DES操作(410、412和414)所产生的输出随后被级联在一起,从而形成24字节“期望的”对等响应字416(被示为PeerResponse[24])。对等响应字416是“期望的”的原因在于,它是在从客户端106接收到实际的加密对等响应字416’(在图4b中,被记作416’以指示由客户端106所产生)之前,在AS 110中计算出的。从客户端106接收到的对等响应字416’必须与由AS 110导出的期望的加密对等响应字416相同。因此,当客户端106回复其产生的对等响应字416’时,AS 110将期望的加密对等响应字416与接收到的客户端106的加密对等响应416’进行比较,以作为验证客户端106的确认步骤。如果比较失败,客户端106则被禁止接入网络。
AS 110的密钥导出算法的网络挑战/响应部分被用于在AS 110和客户端106之间的相互验证过程的后半个过程。网络挑战/响应部分也使用16字节的单散列密码404,但是首先通过第二MD4摘要算法418来传递单散列密码404。所产生的输出是16字节的双散列密码420(被示为PasswordHashHash[16])。网络挑战/响应部分将双散列密码420分割成多个子字(在本实施例中为3个),每个子字具有8个字节,并且将这些子字用作后续加密过程中的加密密钥。三个7字节的密钥和明文的网络挑战密码424’(被示为PeerChallenge[8])被用作网络DES加密过程的输入,以产生网络响应字432。(注意,在文中以撇号“’”,并且在图示中以符号“′”来指代网络挑战密码424,以指示该密码424是从客户端106接收到的。)由于双散列密码420当前长度为16个字节,因此将双散列密码420分割为三个子字的过程剩余了第三子字,该子字的长度不足7字节。因此第二填充框422以零填充双散列密码420的第三子字,从而使三个子字加密密钥的总字节数达到21个字节。
然后,利用三个网络DES加密过程426、428和430对从客户端106接收到的8字节网络挑战字424’进行三次加密。就是说,经由第四DES框426利用双散列密码420的第一56位子字对网络挑战424’进行DES加密,经由第五DES框428利用双散列密码420的第二56位子字对网络挑战424’进行DES加密,并且以零填充双散列密码420的剩余位,从而创建用于经由第六DES框430来加密网络挑战424’的第三56位子字DES密钥。相应DES操作(426、428和430)所产生的输出随后被级联在一起,从而形成24字节的网络响应字432(被示为NetworkResponse[24])。网络响应字432被传输到客户端106,以用于客户端会话密钥算法中的比较,该比较作为用于验证AS 110的确认步骤。如果比较失败,客户端106则认为AS 110是其不希望连接的网络的部件,并且断开关联。
在AS 110会话密钥算法中,对等挑战/响应字(408和416)、网络挑战/响应字(424’和432)以及双散列密码420随后被用于创建80字节的中间字434。中间字434是双散列密码420(在本具体实施例中,也被称为NT密钥)的有序结构,所述双散列密码420与从客户端106接收到的LEAP网络挑战字424’、由AS 110计算出的LEAP网络响应字432、来自AS 110的LEAP对等挑战字408以及由AS 110计算出的对等响应字416级联在一起。然后,中间字434穿过MD5摘要算法436,从而得到16字节的AS会话密钥438(被示为SessionKey[16])。
注意,由AS 110导出的AS会话密钥438被使用共享机密转发到AP102,因此在通过有线网络108将其传输到AP 102期间,会话密钥438不会被损害。
再次参考图4b,在客户端106中的会话密钥算法执行与AS 110的会话密钥算法中相同的操作。但是,所导出的客户端106的中间字434’的构建稍有不同。客户端中间字434’是客户端双散列密码420’、从客户端106发送到AS 110的网络挑战424’、客户端106自己导出的网络响应432’、从AS 110接收到的对等挑战408以及自己导出的对等响应416’的有序级联。
更具体而言,由客户端用户输入的用户密码被转换为Unicode格式400’,并且之后对Unicode密码400’执行MD4摘要过程402’。注意,可以使用诸如MD5的其它适合的散列算法。MD4散列算法框402’的输出是16字节的单散列密码404’(被示为PasswordHash[16])。
客户端密钥导出算法的对等挑战/响应部分被用于AS 110和客户端106之间的相互验证过程中的前半个过程。对等挑战/响应部分将单散列密码404’分割成多个子字(在本实施例中为3个),每个子字具有8个字节,并且将这些子字用作后续加密过程中的加密密钥。三个7字节的密钥和明文的对等挑战密码408(被示为PeerChallenge[8])被用作对等DES加密过程的输入,以产生对等响应字416’。(注意,由于对等挑战密码408接收自AS 110,以作为实体之间的挑战过程的开放步骤的一部分,因此对等挑战密码408不包含符号“′”。)由于单散列密码404’当前长度为16个字节,因此将单散列密码404分割为三个子字的过程剩余了第三子字,该子字的长度不足7字节。因此,第一填充框406’以零填充单散列密码404’的第三子字,从而使三个子字加密密钥的总字节数达到21个字节。
然后,利用三个对等DES加密过程410’、412’和414’对从AS110经由AP 102发送到客户端106的8字节对等挑战字408进行三次加密。就是说,经由第一DES框410’利用单散列密码404’的第一56位子字对接收到的对等挑战408进行DES加密,经由第二DES框412’利用单散列密码404’的第二56位子字对接收到的对等挑战字408进行DES加密,并且以零填充单散列密码404’的剩余位,从而创建用于经由第三DES框414’来加密对等挑战408的第三56位子字DES密钥。相应DES操作(410’、412’和414’)所产生的输出随后被级联在一起,从而形成24字节的对等响应字416’(被示为PeerResponse[24])。从客户端106发送到AS 110的对等响应字416’必须与由AS 110导出的期望的加密对等响应字416相同。这样,当客户端106以其产生的对等响应字416’来回复AS 110时,AS 110将期望的加密对等响应字416与接收到的客户端106的加密对等响应416’进行比较,以作为用于验证客户端106的确认步骤。如果比较失败,客户端106则被禁止接入网络。
客户端的密钥导出算法的网络挑战/响应部分被用于在AS 110和客户端106之间的相互验证过程的后半个过程。作为网络验证过程的一部分,客户端106产生网络挑战字424’,并将其发送到AS 110。网络挑战/响应部分也使用16字节的单散列密码404’,但是首先使单散列密码404’穿过第二MD4摘要算法418’。所产生的输出是16字节的双散列密码420’(被示为PasswordHashHash[16])。网络挑战/响应部分将双散列密码420’分割成多个子字(在本实施例中为3个),每个子字具有8个字节,并且将这些子字用作后续加密过程中的加密密钥。三个7字节的密钥和自己产生的明文网络挑战密码424’(被示为PeerChallenge[8])被用作网络DES加密过程的输入,以产生“期望的”网络响应字432’。由于双散列密码420’当前长度为16个字节,因此将双散列密码420’分割为三个子字的过程剩余了第三子字,该子字的长度不足7字节。因此,第二填充框422’以零填充双散列密码420’的第三子字,从而使三个子字加密密钥的总字节数达到21个字节。
然后,利用三个网络DES加密过程426’、428’和430’对8字节的网络挑战字424’进行三次加密。就是说,经由第四DES框426’利用双散列密码420’的第一56位子字对网络挑战424’进行DES加密,经由第五DES框428’利用双散列密码420’的第二56位子字对网络挑战424’进行DES加密,并且以零填充双散列密码420’的剩余位,从而创建用于经由第六DES框430’来加密网络挑战424’的第三56位子字DES密钥。相应DES操作(426’、428’和430’)所产生的输出随后被级联在一起,从而形成期望的经加密的24字节网络响应字432’(被示为NetworkResponse[24])。在客户端会话密钥算法中,客户端106使用期望的网络响应字432’与从AS 110接收到的实际网络响应432进行比较,以作为用于验证AS 110的确认步骤。如果比较失败,客户端106则认为AS 110是其不希望连接的网络的部件,并且断开关联。
在客户端会话密钥算法中,对等挑战/响应字(408和416’)、网络挑战/响应字(424’和432’)以及双散列密码420’随后被用于创建80字节的中间字434’。中间字434’是双散列密码420’(在本具体实施例中,也被称为NT密钥)的有序结构,所述双散列密码420’与从客户端106发送的LEAP网络挑战字424’、由客户端106计算出的LEAP期望网络响应字432’、从AS 110接收到的LEAP对等挑战字408以及由客户端106计算出的对等响应字416’级联在一起。然后,中间字434’穿过MD5摘要算法436’,从而得到16字节的客户端会话密钥438’(被示为SessionKey[16])。
现在参考图5a,其根据所公开的实施例,从AS 110的视角示出了挑战/响应过程的详细流程图。如上所述,AS会话密钥438是从用户Unicode密码400的双散列密码420、自AS 110到客户端106的对等挑战/响应(408和416)以及自客户端106到AS 110的网络挑战/响应(424’和432)的内容中导出的。IEEE 802.11加密可以基于40位的WEP密钥。大多数供应商还实现了128位(实际上104位)的密钥。客户端和AS密钥导出算法提供了比实际需要更长的会话密钥。
由于每个实体都导出其各自的会话密钥,因此AS会话密钥438和客户端会话密钥438’不在AS 110和客户端106之间进行交换。相反,当AP 102使用共享机密接收来自AS 110的AS会话密钥438时,AP 102将EAPOL-KEY消息发送到客户端106,该消息提供了AS会话密钥438的密钥长度和密钥索引,以用于与客户端会话密钥438’之间的比较。由于客户端106在其自身处导出客户端会话密钥438’,因此AS会话密钥438没有被发送。使用全长的已导出AS会话密钥438来加密AS EAPOL-KEY消息分组。AP 102还发送提供多播密钥的长度、密钥索引和值的EAPOL-KEY消息。该EAPOL-KEY消息分组也使用全长的已导出AS会话密钥438进行加密。
AS 110的EAP模块可能无法访问用户账户服务器112的明文用户密码,这是由于一些后端的数据库不愿意给出该信息。可论证地,最广泛使用的数据库216都是微软Windows NTTM网络数据库。可以从该数据库216中获取的最好信息是被称为NT密钥的值,该NT密钥是用户Unicode密码的前16个字节的MD4散列。Unicode是通用的字符标准,该字符标准使用包含了超过38000个字符的双字节字符集。
继续探讨图5a的流程图,流程开始于启动端,并且移动到功能框500,在功能框500中,在用户执行登陆之后,AS 110接收从客户端106发送出的客户端用户的用户名。然后流程进入功能框502,在功能框502中,AS 110将接收到的用户名发送到用户账户服务器112。在功能框504中,账户服务器112对用户账户数据库216执行搜索,以找到相关的用户密码,并且如前所述,账户服务器112返回的不是明文用户密码,而是由密码400的Unicode版本的MD4摘要402所产生的单散列密码404。AS110的协议接口214将单散列密码404用作产生AS会话密钥438的基础。
在功能框506中,相互验证的第一交互步骤由AS 110开始,AS 110产生对等挑战408,并且将其经由AP 102而发送到客户端106。在这期间,如功能框508所指出的,当AS 110等待客户端106对对等挑战408做出响应时(或者在任意不会阻止验证过程的适当时刻),AS 110的协议接口214产生期望的经加密对等响应416。如上所述,期望的对等响应416是通过首先将单散列密码404分割成三个子字而导出的。由于没有足够数量的位使得这三个子字达到同样尺寸,因此在第一填充过程406中,以零填充第三子字。这三个子字在对对等挑战字408所执行的三个分离的DES加密操作(410、412和414)中被用作密钥,从而产生期望的经加密对等响应416。
流程进入功能框510,其中AS 110接收到来自客户端106的经加密对等响应416’。然后,AS 110将接收到的经加密对等响应416’与自己导出的期望的经加密对等响应416进行比较。流程进入判断框514,以判断该比较是否产生有效的或经验证的客户端106。如果不是,流程则沿着“否”路径进入功能框516,在功能框516中,AS 110通知AP 102验证失败。在功能框518中,AP 102通知客户端106验证失败。在这时,如从功能框518去往功能框500的输入的流程所指出的,AS 110可以请求客户端106再次执行登陆操作。
如果客户端106被成功验证,流程则沿着判断框514的“是”路径进入功能框520,在功能框520中,AS 110存储对等挑战408和自己导出的对等响应416,以备随后用于产生AS会话密钥438。在功能框522中,AS 110接收来自客户端106的网络挑战424’。为了产生用于传回客户端106的网络响应432,在功能框524中,AS 110首先必须使用单散列密码404的第二MD4摘要418来产生双散列密码420。注意,摘要的类型并不局限于MD4,而是可以使用MD5或其他摘要,只要该摘要有助于相关处理器的快速执行,从而使客户端106的分组阻塞不会抑制网络连接的执行即可。第二填充操作422只对双散列密码420执行与第一填充过程406相同类型的填充。双散列密码420被分割成三个子字,其中的第三子字需要进行零填充,以使其具有与其他两个子字相同的位数。然后,这三个子字被用作对接收到的网络挑战424’所执行的三个分离的网络DES操作(426、428和430)的密钥,以产生经加密的网络响应432。AS 110将导出的网络响应432发送到客户端106。
在功能框526中,AS 110现已具有用于导出AS会话密钥438的所有部分,并使用共享机密将其发送到AP 102。中间字434是通过对双散列密码420,以及后面依次跟随的网络挑战424’、网络响应432、对等挑战408以及自己导出的对等响应416的有序级联而形成。然后,使用MD5散列436来摘要化中间字434,以产生AS会话密钥438。
然后如功能框527所指出的,AS 110在指示客户端106加密密钥值的会话密钥分组中包括进供应商专用属性,并且将该分组发送到AP 102。当接收到该分组时,AP 102提取出密钥值,并且将经加密的EAPOL-KEY消息发送到客户端106,该消息指示客户端106AS会话密钥438的密钥长度和密钥索引(四个可获得的密钥之一)。然后,AP 102将附加的经加密EAPOL-KEY消息发送到客户端106,该消息指示出多播密钥的密钥长度、密钥索引和值。注意,这两个经加密的EAPOL-KEY消息都使用全长的AS会话密钥438进行加密。
现在参考图5b,其根据所公开实施例,从客户端106的视角示出了挑战/响应过程的详细流程图。客户端106对其密码执行相似的操作,即散列、填充和加密。流程开始于功能框528,在功能框528中,客户端106与AP 102相关联。然后如功能框530所指出的,客户端用户执行登陆功能,该登陆功能提供他或她的用户名和密码。然后在功能框532中,用户名经由AP 102被从客户端106发送到AS 110。
如功能框534所指出的,在准备导出期望的经加密网络响应432的过程中,客户端106的客户端协议接口208随后对其Unicode密码400’执行MD4摘要402’,以产生单散列密码404’。
在功能框536中,客户端106接收来自AS 110的对等挑战408。客户端106现在必须产生经加密的对等响应416’。为此,客户端协议接口208将单散列密码404’分割成三个子字。第三子字需要更多位,因此第一填充过程406’对这些位填充零,以使第三子字具有与其他两个7字节子字相同的位数。填充操作406’将单散列密码404’转换为24字节的字。这三个7字节子字被分别用作对对等挑战408所执行的对等DES加密操作(410’、412’和414’)的密钥,以产生经加密的对等响应416’。在AS 110协议接口214中,客户端协议接口208包括三个DES功能(410’、412’和414’)中的每一个,这三个DES功能分别对经填充的密码的7字节分段进行操作。就是说,第一DES 410’计算对作为第一输入的经填充单散列密码404’的第一7字节分段,以及作为第二输入的8字节的已接收对等挑战408进行操作,第二DES 412’计算对作为第一输入的经填充单散列密码404’的第二7字节分段,以及作为第二输入的8字节的已接收对等挑战408进行操作,并且第三DES 414’对作为第一输入的经填充单散列密码404’的第三7字节分段,以及作为第二输入的8字节的已接收对等挑战408进行操作。这样,如功能框538所指出的,客户端106产生经加密的对等响应416’,并且将其发送到AS 110。客户端106还在本地存储一份拷贝,以被将来用于产生其客户端会话密钥438’。
在功能框540中,客户端106将网络挑战424’经由AP 102而发送到AS 110。在这期间,或者在不会阻止操作的某一时间点,如功能框542所指出的,客户端106在准备检查AS 110的期望的经加密网络响应432’的过程中产生双散列密码420’。与之前的单散列密码404’相同,双散列密码420’被分割成三个7字节子字,在第二填充过程422’中,需要对最后一个子字进行零填充,以得到与其他两个子字中的每个子字都相同的位数。如功能框544所指出的,这三个7字节子字中的每一个都分别在对网络挑战424’所执行的网络DES加密过程(426’、428’和430’)中被用作密钥,以导出期望的经加密网络响应432’。就是说,第四DES426’计算对作为第一输入的经填充双散列密码420’的第一7字节分段,以及作为第二输入的8字节的自己产生的网络挑战424’进行操作,第五DES 428’计算对作为第一输入的经填充双散列密码420’的第二7字节分段,以及作为第二输入的8字节的自己产生的网络挑战424’进行操作,并且第六DES 430’对作为第一输入的经填充双散列密码420’的第三7字节分段,以及作为第二输入的8字节的自己产生的网络挑战430’进行操作。
然后在功能框546中,客户端106接收来自AS 110的经加密网络响应432。然后如功能框548所指出的,客户端106将经加密的网络响应432与自己导出的期望的经加密网络响应432’进行比较。流程进入判断框550,以判断比较是否成功。如果不成功,流程则沿着“否”路径进入功能框552,在功能框552中,客户端106已经确定该网络不是它想连接的网络,并且与其断开关联。这时,流程循环回功能框528的输入,以用于对AP 102的下一次关联。
如果比较成功,流程则沿着判断框550的“是”路径进入功能框554,在功能框554中,客户端106导出客户端会话密钥438’。在客户端协议接口208中的会话密钥导出与AS 110中的协议接口214所执行的导出过程相似地被完成。客户端106现已具有用于导出客户端会话密钥438’所需的所有部分。中间字434’是通过对双散列密码420’,以及后面依次跟随的网络挑战424’、自己导出的期望网络响应432’、从AS110接收到的对等挑战408以及对等响应416’的有序级联而形成。
然后,使用MD5散列436’来摘要化中间字434’,以得到客户端会话密钥438’。如功能框555所指出的,客户端106从AP 102接收到密钥属性数据、密钥长度和索引信息,并对其进行解码。在成功地比较密钥长度和索引信息之后,流程进入功能框556,在功能框556中,客户端106现已确定网络是其想连接的网络,它安装客户端会话密钥438’,并且访问置于其上的网络服务。然后流程到达停止端。
现在参考图6a和6b,其根据所公开的协议实施例,示出了用于描述在AS 110和客户端106之间的协议分组交换的流程图。该流程图跟随着在AS 110和客户端106之间的相互验证已成功的情形。所公开的新型相互验证过程包括:客户端106首先被有效地验证到AS 110,并且随后客户端106对AS 110的挑战确保网络108是其应该连接的网络。注意,AP102是无线类型的NAS,并且根据图1c,可以利用诸如交换机114之类的有线NAS。
流程开始于功能框600,其中,客户端106“关联”到AP 102。作为关联的前奏,必须首先成功地建立开放和共享密钥IEEE 802.11验证。然后通过客户端106向AP 102发送请求分组来开始IEEE 802.1x关联。AP102通过向客户端106发送响应分组来进行响应。如功能框602所指出的,客户端106向AP 102发送传输。然后如判断框604所指出的,AP102判断接收到的分组流量是否是EAPOL流量,即适合于接入有线LAN108的流量。如果接收到的分组流量是非EAPOL流量,流程则沿着“否”路径进入功能框606,其中AP 102阻挡在客户端106和AP 102之间的任意流量。然后流程循环回判断框604的输入,从而继续监控传输。
如果从客户端106接收到的流量是EAPOL流量(例如EAPOL开始消息),流程则沿着判断框604的“是”路径进入功能框608,其中,AP102开始通过将带有EAP身份请求消息的EAPOL分组发送到客户端106来执行验证者功能。如功能框610所指出的,客户端106以EAP身份响应消息来做出响应。AP 102接收来自客户端106的EAP身份响应分组,并且将接收到的客户端分组重构为EAPOL格式(即带有EAP属性的RADIUS接入请求),以转发到AS 110。流程进入功能框612,其中AP102将客户端身份响应分组转发到AS 110。
如功能框614所指出的,AS 110以挑战请求消息来响应于AP 102,所述挑战请求消息带有包含了LEAP服务器挑战的EAP属性。流程进入功能框616,其中AP 102接收挑战请求分组,并将其转发到客户端106。如功能框618所指出的,客户端106通过发送LEAP挑战响应来响应于AP 102。流程前进至端点620,该端点620将图6a的流程图连接到图6b的流程图。
继续从端点620开始参考图6b,流程进入功能框622,其中AP 102将带有EAP属性的客户端接入请求发送到AS 110。然后流程进入判断框624,以判断客户端接入请求是否是有效请求。如果不是,流程则沿着“否”路径进入功能框626,其中AS 110将具有EAP失败属性的拒绝消息发送到AP 102。然后流程返回功能框600(图6a中)的输入,从而重新开始关联过程。
如果客户端接入请求有效,流程则沿着判断框624的“是”路径进入功能框628,其中,AS 110将带有EAP成功属性的EAPOL接入挑战消息发送到AP 102。然后如功能框630所指出的,AP 102将带有EAP成功属性的EAPOL分组转发到客户端106,从而指示客户端106已被成功验证。
现在,客户端106通过向网络发送挑战,以确保该网络是其想连接的网络来开始相互验证过程的后半部分。由于客户端106现在是可信任的客户端,因此客户端分组流量可以未被改变并且未被阻拦地通过AP 102而到达AS 110。(如上所述,相互验证被并入以降低发生中间人攻击情形的可能性。)如功能框632所指出的,客户端106将LEAP挑战请求经由AP 102发送到AS 110。如功能框634所指出的,AP 102将带有EAP属性的挑战请求转发到AS 110。
然后,流程进入功能框636,其中AS 110通过将带有LEAP挑战响应的包含了EAP属性的RADIUS接入接受分组发送到AP 102,来响应于客户端挑战请求。所述分组还包括包含了会话和小区多播密钥的供应商专用属性,该属性将加密密钥的值告知AP 102。流程进入功能框638,其中AP 102将带有LEAP客户端挑战响应的EAPOL分组转发到客户端106。AP 102还将带有多播密钥的EAPOL-KEY以及带有会话ID和密钥长度的EAPOL-KEY发送到客户端106。然后客户端106核实挑战响应,并且如果其无效,则断开关联。如果AS 110挑战响应有效,流程则进入功能框640,其中客户端106安装密钥。然后如功能框642所指出的,AP 102对去往和来自客户端106的所有流量都不阻挡。然后过程到达停止端。
以下实例程序采用明文Unicode密码400作为输入,并且输出双散列密码密钥420。
static void
hashpwd(uint8*pwd,size t pwdlen,uint8 * hash)
{
    MD4CTX md4Context;
    uint8unicodepwd[256 * 2];
    int i;
    memclr(hash,21);
    memclr(unicodepwd,sizeof(unicodepwd));
    for(i=0;i<pwdlen;i++){
        unicodepwd[i*2]=*pwd++;
    MD4Init(&md4Context);
    MD4Update(&md4Context,unicodepwd,pwdlen * 2 * 8);
    MD4Final(hash,&md4Context);
    MD4Init(&md4Context);
    MD4Update(&md4Context,hash,16*8);
    MD4Final(hash,&md4Context);
}
分组格式
由LEAP所使用的EAPOL分组头部目前依照802.1x规范。在该规范中的一个未被定义的方面是:在EAPOL-KEY消息中,全长的导出会话密钥既被用于创建分组签名,也被用于加密多播密钥的密钥值。
EAP分组头部如RFC 2284所定义,据此通过引用并入了RFC 2284。由于EAP请求/响应类型可被定义为用于新的验证算法,因此EAP是可扩展的。EAP分组的数据段被EAP协议例程所透明地传递。
LEAP使用请求/响应类型17,其中17是由IANA(因特网分配号码权威机构)所分配的一个号码。LEAP挑战消息424是EAP请求,其请求类型被设置为17(用于LEAP)。分组的数据段的内容如以下表1所示。
表1LEAP挑战分组数据段
  尺寸(字节)   描述  值
  1   版本  1
  1   未使用  0
  1   挑战长度  8
  8   8字节的挑战数据  随机
  N   用户名  来自EAP身份响应
LEAP挑战响应分组432是EAP响应,其响应类型被设置为17。该LEAP分组的数据段的内容如以下表2所示。
表2LEAP挑战响应分组数据段
  尺寸(字节)   描述  值
  1   版本  1
  1   未使用  0
  1   挑战响应长度  24
  24   挑战响应  挑战和用户密码的MS- CHAP散列
  N   用户名
由LEAP所使用的唯一一种非标准的RADIUS属性是用于将会话密钥从RADIUS服务器110发送到AP 102的供应商专用属性。AS会话密钥438使用供应商AV对属性被发送。RADIUS属性是类型26的(用于供应商专用)。供应商ID适合于特定的供应商(例如对于思科技术公司ID=9)并且供应商类型为1(对于AV(属性-供应商)对)。属性专用数据如以下表3所示。
表3属性专用数据
  尺寸(字节)   描述   值
  17   AV对标识符   “leap:session-key=”
  2   用于加密程序的salt   随机
  1   密钥字段的长度   16
  16   密钥值的加密
  15   填充子字段   来自RFC 2548
如RFC 2548所定义的,密钥值以与MS-MPPE-Send-Key属性相似的方式被加密,据此通过引用并入了RFC 2548。
处于安全性原因,需要对在NAS(例如AP 102)和AS 110之间传递的某些属性进行加密。在供应商专用属性的上下文中所论述的“Salt加密”包含类型26的属性,其包含供应商ID和供应商定义的信息。RADIUS定义了密码隐藏机制,以用于接入请求中的用户名-密码属性;即,基于共享机密的单向MD5摘要和请求验证者,来利用八位序列对属性值进行XOR操作。Salt加密将唯一的两字节Salt值添加到每个要加密的属性中。该Salt将与共享机密和请求验证者级联在一起,以作为MD5摘要的输入,从而产生初始的16字节XOR值,在RADIUS事务中,该16字节XOR值对于每个经加密的属性是唯一的。初始的和后续的XOR值被用于加密属性的载荷。可以通过对载荷进行编码来扰乱属性的实际信息部分的长度,其中所述载荷依次具有实际数据的长度、数据和可选填充。
详细示例
以下是对IEEE 802.1x标准格式中的实例跟踪的各种散列字的概括,并且将在下文中对其导出进行更详细描述。
客户端用户的用户名=dellvira;
与用户名相关联的客户端密码=dellvira;
AP共享机密=secret(用于AS 110);
LEAP客户端密码=dellvira;
NT散列=Unicode密码的MD4散列,Unicode密码是字符的两个字节,而不是一个字节;密码的NT散列=
4E8612CC8A0558B89283C0580E58C951;
对客户端的挑战=5E2A842AA64BDD27;
客户端响应=
2C91D9AEC747589239BF3E5EEF8DEFAA1EC8D34C0DB3CE3;
Unicode密码的双MD4散列=
8E9B8CB54E96AD7D762C2B3F263F5EA7;
对RADIUS服务器的挑战=578FC0651CCAE28E;
RADIUS响应=
89E2A270F3D0365CE4812BCD11479CB 182C2C00436D16723;
会话密钥=MD5(A cat B cat C cat D cat E),其中cat=级联,
A=PasswordHashHash[16];
B=ChallengeToRadius[8];
C=ChallengeToRadiusResponse[24];
D=ChallengeToClient[8];
E=ChallengeToClientResponse[24];
会话密钥=18CA91B6982C44CBDD4A53367CD6A07B;
来自在先RADIUS请求的验证者=
9D03IOD10B4A43D9679E868405788EF0;
用于加密程序的Salt=2C11;
RADIUS服务器的AP机密=secret;
经加密的会话密钥(从AS 110到AP 102)=
78B60C798390BED47954A03B239EAB8AB3F27D8D24CF62CDD289F3D6E991B49D
详细跟踪
如上所述,AP 102在初始状态中进行操作,所述初始状态是阻挡所有去往或来自客户端106的非EAPOL分组。具体的会话密钥导出算法开始于:客户端106以信号告知AP 102(在以下实例跟踪中,也被记作NAS或网络接入服务器)EAPOL-START消息。
客户端->NAS(EAPOL-START)
EAPOL版本:01
EAPOL类型:01=开始
长度:0000=0
01010000
****************************************************************
跟踪继续到:AP 102通过将带有EAP身份请求消息的EAPOL分组发送到客户端106来做出响应。
NAS->Client(EAPOL:EAP身份请求)
01 00 00 34 01 00 00 34*..4....4*
01 00 6e 65 74 77 6f 72 6b 69 64 3d 43 49 53 43*..networkid=CISC*
4f 2c 6e 61 73 69 64 3d 43 69 73 63 6f 20 53 65*O,nasid=Cisco Se*
63 75 72 65 20 49 49 2c 70 6f 72 74 69 64 3d 30*cure II,portid=0*
EAPOL版本:01
EAPOL类型:00=EAP
长度:     0034=52字节
EAP内容:
代码:  01=请求
标识符:00
长度:  0034=52字节
类型:  01=身份
值:   “networkid=CISCO,nasid=Cisco Secure II,portid=0”
****************************************************************
然后客户端106以EAP身份响应消息来响应于AP 102,所述EAP身份响应消息是客户端用户名“dellvira”。
客户端->NAS(EAP:身份响应)
01 00 00 Od 02 00 00 Od 01 64 65 6c 6c 76 69 72*.........dellvir*
61*a*
EAPOL版本:01
EAPOL类型:00=EAP
长度:00 Od=13字节
EAP内容:
代码:  02=响应
标识符:00
长度:  00 Od=13字节
类型:  01=身份
值:    “dellvira”
****************************************************************
然后,AP 102将接收到的客户端106的身份响应转发到AS 110。
NAS->RADIUS(转发身份响应)
01 03 00 84 31 91 aO a3*...1...*
a2 44 ce c8 90 d8 9e 1d 62 84 ff cO 01 Oa 64 65*.D......b.....de*
6c 6c 76 69 72 61 04 06 cO aS 82 e4 1e Oe 30 30*llvira........00*
34 30 39 36 34 37 36 65 63 36 If Oe 30 30 34 30*4096476ec6..0040*
39 36 33 35 65 38 65 64 20 11 43 69 73 63 6f 20*9635e8ed.Cisco*
53 65 63 75 72 65 20 49 49 05 06 00 00 00 1d Oc*Secure II.......*
06 00 00 05 78 3d 06 00 00 00 13 4f Of 02 00 00*..x=.....O.....*
Od 01 64 65 6c 6c 76 69 72 61 50 12 Ob bf bd d9*..dellviraP.....*
46 f9 b6 aS 53 7b 85 4c 17 b 2 06 e9*F...S{.L.........*
RADIUS代码:01=请求
标识符:03
长度:00 84
验证者:31 91 a0 a3 a2 44 ce c8 90 d8 9e 1d 62 84 ff c0属性:
类型:01=用户名
长度:0a=10
值:“dellvira”
类型:04=NAS IP地址
长度:06=6
值:c0 a8 82 e4
类型:1e=被叫ID
长度:0e=14
值:“004096476ec6”
类型:1f=呼叫ID
长度:0e=14
值:“00409635e8ed”
类型:20=NAS ID
长度:11=17
值:“Cicso Secure II”
类型:05=NAS端口
长度:06=6
值:1d=29
类型:0c=框化MTU
长度:06=6
值:0578=1400
类型:3d=NAS端口类型
长度:06=6
值:00 00 00 13=无线的
类型:4f=EAP
长度:0f=15
值:EAP内容
代码:  02=响应
标识符:00
长度:  00 0d=13字节
类型:01=身份
值:“dellvira”
类型:50=消息验证者
长度:12=18
值:0b bf bd d9 46 f9 b6 a8 53 7b 85 4c 17 b2 06 e9
****************************************************************
AS 110以具有EAP属性的挑战请求来响应于AP 102,所述EAP属性包含了LEAP服务器挑战。
RADIUS->NAS(挑战请求)
Ob 03 00 3e 60 ff ce 59
93 10 fe 2f Oc 22 6c 79 7a 04 4e 7b 50 12 3e 6b*.../.″lyz.N{P.>k*
98 64 b8 a7 37 b2 6b 64 ab e3 3d 73 28 8a 4f 18*.d..7.kd..=s(.O.*
01 00 00 16 11 01 00 08 5e 2a 84 2a a6 4b dd 27*........
6c 6c 76 69 72 61*llvira..........*
RADIUS代码:0b=挑战
标识符:03
长度:00 3e
验证者:60 ff ce 59 93 10 fe 2f 0c 22 6c 79 7a 04 4e 7b
属性:
类型:50=消息验证者
长度:12=18
值:3e 6b 98 64 b8 a7 37 b2 6b 64 ab e3 3d 73 28 8a
类型:4f=EAP
长度:18=24
值:EAP内容
代码:  01=请求
标识符:00
长度:  00 16=22字节
类型:  11=LEAP挑战
值:    LEAP挑战内容
值:
版本:01
未使用:00
挑战长度:08
挑战:5e 2a 84 2a
      a6 4b dd 27
用户名:6c 6c 76 69
        72 61
****************************************************************
AP 102从AS 110接收到带有LEAP挑战请求的EAPOL分组,并且将其转发到客户端106。
NAS->客户端(转发挑战请求)
01 00 00 16* *
01 00 00 16 11 01 00 08 5e 2a 84 2a a6 4b dd 27*........′*.*.K.I*
6c 6c 76 69 72 61*llvira..........*
EAPOL版本:01
EAPOL类型:00=EAP
长度:     00 16=22字节
EAP内容:
代码:  01=请求
标识符:00
长度:  00 16=22字节
类型:  11=LEAP挑战
值:    LEAP挑战内容
值:
版本:01
未使用:00
挑战长度:08
挑战:5e 2a 84 2a
      a6 4b dd 27
用户名:6c 6c 76 69
        72 61
****************************************************************
客户端106从AP 102接收到RADIUS挑战请求,并且以LEAP挑战响应来响应于AP 102。
客户端->NAS(挑战响应)
01 00 00 28 02 00 0028 11 01 00 18*((*
02 c9 Id 9a ec 74 75 89 23 9b f3 e5 ee f8 de fa*.....tu.#.......
al ec 8d 34 cO db 3c e3 64 65 6c 6c 76 69 72 61*...4..<.dellvira*
EAPOL版本:01
EAPOL类型:00=EAP
长度:     00 28=40字节
EAP内容:
代码:  02=响应
标识符:00
长度:  00 28=40字节
类型:  11=LEAP挑战
值:LEAP挑战响应内容
值:
版本:01
未使用:00
挑战长度:18
挑战响应:02 c9 1d 9a
          ec 74 75 89
          23 9b f3 e5
          ee f8 de fa
          a1 ec 8d 34
          c0 db 3c e3
用户名:64 65 6c 6c
        76 69 72 61
****************************************************************
AP 102接收到来自客户端106的LEAP挑战响应,重构用于EAPOL的分组,并且将其作为带有EAP属性的RADIUS接入请求而转发到AS110。
NAS->RADIUS(转发挑战响应)
01 04 00 9f 4a 1c 97 bd*...J...*
27 b5 a3 3f 79 49 fe ea e4 7d 08 92 01 Oa 64 65*′..?yI}de*
6c 6c 76 69 72 61 04 06 cO a8 82 e4 1e Oe 30 30*llvira........00*
34 30 39 36 34 37 36 65 63 36 1f Oe 30 30 34 30*4096476ec6..0040*
39 36 33 35 65 38 65 64 20 11 43 69 73 63 6f 20*9635e8ed.Cisco*
53 65 63 75 72 65 20 49 49 05 06 00 00 00 1d Oc*Secure II.......*
06 00 00 05 78 3d 06 00 00 00 13 4f 2a 02 00 00....X=.....0*...*
28 11 01 00 18 02 c9 Id 9a ec 74 75 89 23 9b f3*(.........tu.#..*
e5 ee f8 de fa a1 ec 8d 34 cO db 3c e3 64 65 6c*4<.del*
6c 76 69 72 61 50 12 cd d8 1b 2a ea 4c 47 3a b4*lviraP....*.IjG:.*
70 43 8f 8b 20 1c O1*
RADIUS代码:01=请求
标识符:03
长度:00 9f=159
验证者:4a 1c 97 bd 27 b5 a3 3f 79 49 fe ea e4 7d 08 92
属性:
类型:01=用户名
长度:0a=10
值:“dellvira”
类型:04=NAS IP地址
长度:06=6
值:c0 a8 82 e4
类型:1e=被叫ID
长度:0e=14
值:“004096476ec6”
类型:1f=呼叫ID
长度:0e=14
值:“00409635e8ed”
类型:20=NAS ID
长度:11=17
值:“Cicso Secure II”
类型:05=NAS端口
长度:06=6
值:1d=29
类型:0c=框化MTU
长度:06=6
值:05 78=1400
类型:3d=NAS端口类型
长度:06=6
值:00 00 00 13=无线的
类型:4f=EAP
长度:2A=42
值:EAP内容
代码:  02=响应
标识符:00
长度:  00 28=40字节
类型:  11=LEAP挑战
值:    LEAP挑战响应内容
值:
版本:01
未使用:00
挑战长度:18
挑战响应:02 c9 1d 9a
          ec 74 75 89
          23 9b f3 e5
          ee f8 de fa
          a1 ec 8d 34
          c0 db 3c e3
用户名:64 65 6c 6c
        76 69 72 61
类型:50=消息验证者
长度:12=18
值:cd d8 1b 2a ca 4c 47 3a b4 70 43 8f 8b 20 1c 01
****************************************************************
然后AS 110判断接入请求是否有效。如果不是,AS 110则将带有EAP失败属性的拒绝消息发送到AP 102。如果有效,AS 110则发送带有EAP成功属性的接入挑战。对于成功情形的跟踪代码提供如下。
RADIUS->NAS(挑战请求-EAP成功)
02 04 00 3e 77 31 e9 33..>w1.3*
33 c1 31 6f e2 fl a9 4e e5 58 ce fc 50 12 dc 6a*3.1u...N.X..P..j*
b8 43 df 24 d7 72 32 80 83 96 9f 1a b2 2b 1b 06*.C.$.r2......+..*
00 00 00 b4 1c 06 00 00 00 2d 08 06 ff ff ff ff*
4f 06 03 00 00 04*0*
RADIUS代码:02=接受(随后的版本是处于“挑战”中)
标识符:04
长度:00 2e
验证者:77 31 e9 33 33 c1 31 6fe2 fl a9 4e e5 58 ce fc
属性:
类型:50=消息验证者
长度:12=18
值:dc 6a b8 43 df 24 d7 72 32 80 83 96 9f 1a b2 2b
类型:1b=会话超时时间
长度:06
值:00 00 00 b4=180秒
类型:1c=空闲超时时间
长度:06
值:00 00 00 2d
类型:08=框化IP地址
长度:06
值:ff ff ff ff
类型:4f=EAP
长度:06=6字节
值:EAP内容
代码:03=成功
标识符:00
长度:00 04=4字节
****************************************************************
AP 102从AS 110接收作为带成功的EAP代码内容的EAPOL分组的RADIUS接入挑战消息,并且将其转发到客户端106。
NAS->客户端(转发EAP-成功)
01 00 00 04 03 00 00 04*.........*
EAPOL版本:01
EAPOL类型:00=EAP
长度:00 04=4
EAP内容:
代码:03=成功
标识符:00
长度:00 04
****************************************************************
客户端106接收对于AP 102的成功消息,并且经由AP 102发起其自己的对AS 110的LEAP挑战请求。
客户端->NAS(挑战请求)
01 00 00 18 01 00 00 18 11 01 00 08 57 8f c0 65 W..e*
1c ca e2 8e 64 65 6c 6c 76 69 72 61*....dellvira....*
EAPOL版本:01
EAPOL类型:00=EAP
长度:     00 18=24
EAP内容:
代码:01=请求
标识符:00
长度:00 18=24
类型:11=LEAP挑战
值:LEAP挑战内容
值:
版本:01
未使用:00
挑战长度:08
挑战响应:57 8f c0 65
          1c ca e2 8e
用户名:64 65 6c 6c
        76 69 72 61
****************************************************************
AP 102接着将客户端挑战请求转发到AS 110,以作为带有EAP属性的RADIUS请求。
NAS->RADIUS(挑战请求)
01 05 00 8f 9d 03 10 d1*.......*
Ob 4a 43 d9 67 9e 86 84 05 78 8e fO 01 Oa 64 65*.JC.g....x....de*
6c 6c 76 69 72 61 04 06 cO a8 82 e4 1e Oe 30 30*llvira........00*
34 30 39 36 34 37 36 65 63 36 If Oe 30 30 34 30*409 6476ec6..0040*
39 36 33 35 65 38 65 64 20 11 43 69 73 63 6t 20*9635e8ed.Cisco*
53 65 63 75 72 65 20 49 49 05 06 00 00 00 1d Oc*Secure II.......*
06 00 00 05 78 3d 06 00 00 00 13 4f 1a 01 00 00....x=.....0....*
18 11 01 00 08 57 8f cO 65 1c ca e 2 8e 64 65 6c.....W..e....del*
6c 76 69 72 61 50 12 54 7b 09 1b 6b 68 61 79 ec*lviraP.T{..khay.*
bO 7b 21 34 20 bf 40*.114.........
RADIUS代码:01=请求
标识符:05
长度:00 8f=143
验证者:9d 03 10 d1 0b 4a 43 d9 67 9e 86 84 05 78 8e f0属性:
类型:01=用户名
长度:0a=10
值:“dellvira”
类型:04=NAS IP地址
长度:06=6
值:c0 a8 82 e4
类型:1e=被叫ID
长度:0e=14
值:“004096476ec6”
类型:1f=呼叫ID
长度:0e=14
值:“00409635e8ed”
类型:20=NAS ID
长度:11=17
值:“Cicso Secure II”
类型:05=NAS端口
长度:06=6
值:1d=29
类型:0c=框化MTU
长度:06=6
值:05 78=1400
类型:3d=NAS端口类型
长度:06=6
值:00 00 00 13=无线的
类型:4f=EAP
长度:1A=26
值:EAP内容
代码:01=挑战
标识符:00
长度:00 18=24字节
类型:11=LEAP挑战
值:LEAP挑战内容
值:
版本:01
未使用:00
挑战长度:08
挑战:57 8f c0 65
      1c ca e2 8e
用户名:64 65 6c 6c
        76 69 72 61
类型:50=消息验证者
长度:12=18
值:54 7b 09 1b 6b 68 61 79 ec b0 7b 21 34 20 bf 40
****************************************************************
AS 110以带有包含了LEAP客户端挑战响应的EAP属性和包含了会话和小区多播密钥的特有属性的接入接受消息来响应于AP 102。
RADIUS->NAS(带有挑战响应和特有供应商密钥的“接受”)
02 05 00 9d 7f 89 6a 4d*.....jM*
c3 ac 4e 37 78 b6 61 5e 84 db 11 d7 50 12 e2 8a*..N7x.a....P...*
49 af cb b2 2a ae Oe e8 71 42 9f c8 88 ff 1b 06*1...*...qD......
00 00 00 b4 1c 06 00 00 00 2d 08 06 ff ff ff
4f 2a 02 00 00 28 11 01 00 18 89 e2 a2 70 f3 d0
36 5c e4 81 2b cd 11 47 9c b1 82 c2 cO 04 36 d1*6\..+..G......6.*
67 23 64 65 6c 6c 76 69 72 61 1a 3b 00 00 00 09*9#dellvira.;....*
01 35 6c 65 61 70 3a 73 65 73 73 69 6f 6e 2d 6b*.51eap:session-k*
65 79 3d 2c 11 78 b6 Oc 79 83 90 be d4 79 54 aO*ey=,.x..y....yT.*
3b 23 9e ab 8a b3 f2 7d 8d 24 cf 62 cd d2 89 f3*;#.....}.$.b....*
d6 e9 91 b4 9d *
RADIUS代码:02=接受
标识符:05
长度:00 9d
验证者:7f 89 6a 4d c3 ac 4e 37 78 b6 61 5e 84 db 11 d
属性:
类型:50=消息验证者
长度:12=18
值:e2 8a 49 af cb b2 2a ae 0e e8 71 42 9f c8 88
类型:1b=会话超时时间
长度:06
值:00 00 00 b4=180秒
类型:1c=空闲超时时间
长度:06
值:00 00 00 2d
类型:08=框化IP地址
长度:06
值:ff ff ff ff
类型:4f=EAP
长度:2A=42
值:EAP内容
代码:02=响应
标识符:00
长度:00 28=40字节
类型:11=LEAP挑战
值:LEAP挑战响应内容
值:
版本:01
未使用:00
挑战长度:18
挑战响应:89 e2 a2 70
          f3 d0 36 5c
          e4 81 2b cd
          11 47 9c h1
        82 c2 c0 04
        36 d1 67 23
用户名:64 65 6c 6c 76 69 72 61
类型:1a=供应商
长度:3b=59
值:00 00 00 09=Cisco
类型:01=发送密钥
长度:35=53
值:参考RFC 2548
AV对标识符
“leap:session-key=”
6c 65 61 70 3a 73 65 73
73 69 6f 6e 2d 6b 65 79
3d
用于加密程序的Salt
2c 11
经加密块
1字节长度
16字节的加密密钥
15字节的填充
78 b6 0c 79 83 90 be d4
79 54 a0 3b 23 9e ab 8a
b3 f2 7d 8d 24 cf 62 cd
d2 89 f3 d6 e9 91 b4 9d
******************************************************************
AP 102从AS 110接收带有LEAP客户端挑战响应的EAPOL分组,并且将响应转发到客户端106。
RADIUS:将EAPOL分组发送到客户端
01 00 00 28*(*
02 00 00 28 11 01 00 18 89 e2 a2 70 f3 d0 36 5c*...(.....p..6\*
e4 81 2b cd 11 47 9c b1 82 c2 c0 04 36 d1 67 23*+G 6.g#*
64 65 6c 6c 76 69 72 61*dellvira........*
EAPOL版本:01
EAPOL类型:00=EAP
长度:00 28=40字节
EAP内容:
代码:02=响应
标识符:00
长度:00 28=40字节
类型:11=LEAP挑战
值:LEAP挑战响应内容
值:
版本:01
未使用:00
挑战长度:18
挑战响应:89 e2 a2 70
          f3 d0 36 5
          e4 81 2b cd
          11 47 9c b1
          82 c2 c0 04
          36 d1 67 23
用户名:64 65 6c 6c 76 69 72 61
**********************************************************************
AP 102将带有小区多播密钥的EAPOL-KEY分组发送到客户端106。
NAS->客户端(EAPOL-KEY多播密钥)
01 03 00 39 01 00 Od 00 00 00 00 00*..9........*
3b 00 01 60 44 77 8b 72 25 4d 6b 6f 56 37 aO 49*;..′Dw.r%MkoV7.I*
d8 1a b1 00 32 51 12 ab e2 99 5b a5 36 15 32 6d *...2Q...[.6.2m*
f3 e6 3a 4d b4 be 71 2e d3 e3 Ob 1c d6 99 07 64*..:M..q........d*
7a * z *
EAPOL版本:01
EAPOL类型:03=EAPOL-KEY
长度:00 39=57字节
描述符类型:01=RC4
密钥长度:00 0d=13
重放:00 00 00 00 00 3b 00 01
密钥矢量:60 44 77 8b 72 25 4d 6b 6f 56 37 a0 49 d8 1a b1
密钥索引:00
密钥签名:32 51 12 ab e2 99 Sb a5 36 15 32 6d f3 e6 3a 4d
密钥:b4 be 71 2e d3 e3 Ob 1c d6 99 07 64 7a
****************************************************************
AP 102将带有包括了会话ID和密钥长度的会话参数的EAPOL-KEY分组发送到客户端106。
RADIUS:发送EAPOL会话密钥参数
01 03 00 2c 01 00 Od 00 00 00 00 00 3b 00 02 4e
dO 4f 31 35 65 1e e2 Oa fl 54 c8 00 e3 57 45 83*.015e....T...WE.*
a1 3b 19 01 60 4c 3d 05 26 1d e6 9d 82 49 47 f7 IG.*
EAPOL版本:01
EAPOL类型:03=EAPOL-KEY
长度:002c=44字节
描述符类型:01=RC4
密钥长度:00 0d=13
重放:00 00 00 00 00 3b 00 02
密钥矢量:4e d0 4f 31 35 65 1e e2 0a fl 54 c8 00 e3 57 45
密钥索引:83=LEAP会话密钥(索引3)
密钥签名:a1 3b 19 01 60 4c 3d 05 26 1d e6 9d 82 49 47 7
密钥:
然后,客户端106安装密钥,并且AP 102对所有去往和来自客户端106的分组流量都不阻挡。
现在参考图7,其根据所公开实施例,示出并入了与AP 102进行通信的无线客户端所使用的LEAP算法的硬件网络接口设备700的框图。接口设备700(与客户端接口206、AP接口200和AS 110接口212类似)包含用于控制板载功能的控制逻辑702。例如,控制逻辑702经由算法互连705而操作性连接到算法逻辑704,所述算法互连705例如是在其中包含了已编码的所公开LEAP算法的现场可编程门阵列(FPGA)器件。可替换地,算法逻辑704可以是非易失性体系结构(例如EEPROM),从而将算法存储于其中,并且上载到控制逻辑702中,以用于在正常操作的条件下进行高速执行。网络接口设备700包括操作性连接到控制逻辑702的存储器706,以用于在接口设备700的正常操作期间提供信息交换与存储。存储器706恰当地符合于控制逻辑702的速度和体系结构需求(例如闪存),以及接口设备700的构成因素。可以认为,存储器706和算法器件704可以被分离地或共同地设计到控制逻辑702中。
网络接口设备700还包括无线(或有线)发射/接收接口708,其用于根据IEEE 802.11和IEEE 802.1x协议并且根据所公开的LEAP算法,与AP 102进行无线通信。接口设备700还包括硬件互连接口710,其用于在网络接口设备700和利用该网络接口设备700的无线客户端设备110之间提供功率和通信信号。控制逻辑702通过硬件接口总线712连接到硬件互连710。控制逻辑702通过总线路径714与发射/接收接口708进行通信,从而有助于去往和来自AP 102的EAP和LEAP分组的通信。
注意,接口设备700可以是插入到例如笔记本(或膝上型)计算机的专用插槽中的PC卡(即符合于更早的PCMCIA标准的卡)。可替换地,接口设备700并入了所公开的新型特征,并且符合CardBus标准。此外,接口设备700可以被设计到无线设备110的母板中,从而使单个控制逻辑702(或处理器)处理所有母板功能,包括接口到AP 102的通信。
适合于包括所公开算法的无线客户端106的类型例如包括,但不局限于,具有接口设备700的便携式手持设备、具有符合PCI标准的无线接口设备700的桌上型计算机以及便携式电子板(例如PDA等)。
LEAP仅仅是能够运行上述EAP的一种验证类型。另一种是EAP-TLS(EAP-传输层安全性)。EAP-TLS设置了相互验证以及两端点之间的集成保护密码协商和密钥交换。EAP-TLS会话通常开始于验证者和对端协商EAP。然后,验证者将EAP请求/身份分组发送到对端,并且对端将以包含了对端用户ID的EAP响应/身份分组来响应于验证者。从这一点延伸,虽然在名义上EAP会话发生在PPP验证者和对端之间,但是验证者可以充当传递设备,该传递设备对从对端接收到的EAP分组进行封装,以用于传输到RADIUS服务器或后端的安全性服务器。从本领域技术人员所公知的资源中,能够获得对EAP-TLS的进一步描述。
现在参考图8,其根据所公开实施例,示出了用于实现可替换性密码散列的密码预处理算法的流程图。如上所述,并且根据其优选实现方式,LEAP被用于具有基于NT的账户数据库的微软NTTM环境中。由于在客户端和网络验证过程中的LEAP算法的输入都是用户Unicode密码的MD4散列,因此对用户Unicode密码的编码方案是直接与LEAP体系结构兼容的MD4散列功能。这样,当在NT环境中实现LEAP时,LEAP能够直接使用与网络环境相同的数据库。
但是,不是所有网络都具有用户账户数据库的基于NT的体系结构,并且因此可能使用不同于MD4的散列功能,即用于产生可替换性密码编码用户账户数据库的诸如SHA-1之类的“可替换性”散列功能,来执行散列处理。这样,LEAP的当前优选实现方式无法应用于这样的非NT网络,而是需要额外的密码预处理步骤来产生LEAP算法的输入。例如,可替换性用户账户数据库可能包括大量可替换性散列处理密码,这些密码都是使用对客户端Unicode密码的SHA-1散列功能或者本领域技术人员公知的任意其他散列功能来进行的散列处理。
所公开的LEAP密码预处理算法克服了该问题,其中,客户端106、AS 110和用户账户数据库通过如下方式来使用非MD4的可替换性散列功能:它们继续允许基本同步的网络接入信息和客户端接入信息的LEAP处理,从而使客户端106和RADIUS服务器110即使利用可替换性散列功能,也处于等同的数量起始点上。这是通过在网络上预先提供可替换性用户账户数据库来实现的。如上所述,账户数据库可以驻留在本地的AS110上,也可以驻留在远端。在任意情况下,账户数据库都可被AS 110所访问,以用于验证过程。
例如,考虑根据SHA-1散列功能而经过散列处理的用户密码的账户数据库。为了完成验证过程,在可以执行LEAP处理之前,RADIUS服务器110和客户端106需要利用等同的码字(即散列字)在预定的持续时间内完成相互握手过程。因此,账户数据库和客户端106所使用的编码方案必须相同,以便产生等同的代码数量。在该具体示例中,最终将获得的等同码字是用户Unicode密码的SHA-1散列。因此,经编码的客户端接入信息和经编码的网络接入信息都包含用户Unicode密码的SHA-1散列。
在这种非NT实现方式以及基于NT的实现方式中,客户端和网络环境两者的编码方案都是预先已知的。因此,当应用是用于非NT账户数据库环境时,可以在客户端和基于网络的验证系统两者中,预先实现所公开的密码预处理算法。因此,在非NT实现方式中,可以正常地执行LEAP验证过程,就好像其处于基于NT的实现方式中一样。
当账户数据库是基于NT的数据库时,账户数据库包括经编码的用户密码(或经编码的客户端接入信息),如以上利用图4a的框400和402所指出的,该经编码的用户密码是通过利用MD4散列功能对用户Unicode密码进行散列处理而产生的。在该具体的非NT数据库实施例中,RADIUS AS服务器110访问包括了用户Unicode密码的SHA-1散列的可替换性账户数据库,该非NT数据库的实施例利用可替换性SHA-1散列功能来产生经编码的用户Unicode密码的可替换性账户数据库。然后,通过采用SHA-1散列的Unicode密码的MD4散列,而不是采用Unicode密码的MD4散列(如图4a和4b所示)来继续进行所公开的LEAP算法。
继续探讨图8的流程图,流程开始于判断框800,在判断框800中判断将在其中实现LEAP的环境是否是基于NT的环境。如果不是,流程则沿着“否”路径进入功能框802,其中,可替换性账户数据库被安装在网络中,从而使AS 110可以在验证过程期间访问可替换性数据库。在所公开的实施例中,可替换性账户数据库是手工提供的,因此网络管理员预先知道在验证过程中将执行什么编码方案。注意,在已知工业中使用多种更加普遍的可替换性编码功能的更加强有力的实现方式中,可以提供多个相应的可替换性账户数据库,从而使AS 110可以根据客户端106所使用的编码方案来自动访问适当的可替换性数据库,并且在其中检索正确的已编码Unicode密码。
一旦可替换性数据库已就位,流程就继续到功能框804,其中AS 110接收来自客户端106的验证请求数据。如功能框806所指出的,响应于该请求数据,AS 110访问用户账户数据库(位于本地的AS 110中,或者位于远端,例如用户账户服务器112中)。在功能框808中,AS 110检索与在用户登陆期间所提供的客户端用户名相关联的可替换性散列的用户Unicode密码。然后在功能框810中,AS 110的LEAP算法通过对可替换性散列的用户Unicode密码执行MD4散列来继续正常执行。
如果环境是基于NT的,流程则沿着判断框800的“是”路径进入功能框810,从而执行利用LEAP算法的验证。
现在参考图9,其根据所公开实施例,示出了在客户端中的密码预处理的流程图。在基于NT的环境中,客户端106通常将被预先配置利用客户端用户密码的Unicode版本的MD4散列的编码方案。但是,当客户端的操作系统是非NT操作系统时,编码方案将是非MD4的,因此需要执行密码预处理,以便使AS 110和客户端106对相同的初始字执行LEAP算法,以便产生等同的代码数量。在该具体示例中,客户端106将SHA-1散列功能用作编码方案。因此,在客户端106执行了Unicode密码的SHA-1散列之后,在客户端106上将通过执行其MD4散列来继续正常执行LEAP处理。客户端106和RADIUS AS 110现在将位于数量上等同的处理点上,从而可以执行LEAP算法。
继续探讨图9的流程图,流程开始于功能框900,其中客户端106关联到AP 102并且响应于AP 102的身份请求。一旦客户端用户已经输入了他或她的用户名和密码,流程就进入功能框902,其中SHA-1散列功能(即被称为可替换性散列)被用于对客户端密码进行编码。然后如功能框904所指出的,为了开始正常的LEAP算法处理,对客户端Unicode密码的可替换性散列进行MD4散列处理。
现在参考图10,其根据所公开实施例,示出了当利用非NT数据库实现方式时,在AS 110中用于导出会话密钥的LEAP加密过程的密码预处理流程图。框400、401和403是预先发生的,这是因为一旦操作环境被确定为非NT环境,Unicode密码400的可替换性散列401(最终被记为AlternativePasswordHash[16]403)就被包括在可替换性账户数据库中。当客户端用户名已经被AS 110接收到,并且已经被转发到用户账户数据库(其可以位于分离的网络服务器节点上,或者位于AS 110中)时,从用户账户数据库访问单散列可替换性密码403,通过对其应用MD4散列功能402,并且完成产生AS会话密钥438的过程来继续执行AS 110的正常LEAP算法405(图4a),其中验证是成功的。
现在参考图11,其根据所公开实施例,示出了当利用非NT数据库实现方式时,在客户端106中用于导出会话密钥的LEAP加密过程的密码处理流程图。一旦客户端用户已经将客户端密码输入到客户端设备106中,就在内部产生Unicode密码400’,并且由可替换性散列功能(被记作Alt-Hash)401’对其进行散列处理,从而产生16位的可替换性单散列密码散列403’(被记作AlternativePasswordHash[16])。还要注意,在可替换实施例中,用产Unicode密码400’的可替换性散列可能已经被预先准备好,并且被存储在客户端设备106的客户端数据库中,以用于在与AP102的关联过程中,一旦输入了客户端用户名,就可以对其进行检索。在这样的实现方式中,可以只限制在客户端数据库中找到其可替换性散列403的那些已授权用户对客户端设备106的访问使用。
在任意情况下,一旦已经产生了单散列可替换性密码403’,就可以通过对其应用MD4散列功能402’,并且完成产生客户端会话密钥438’的过程来继续执行用于客户端106的正常LEAP算法405’(图4b)。
如上所述,客户端106和AS 110两者随后都处于可以完成相互验证的状态中,并且如果被成功验证,就可以提供网络接入。注意,也可以根据图7的LEAP算法实现方式,以硬件来实现密码预处理算法。
虽然已经详细描述了优选实施例,但是应该理解,无需脱离由所附权利要求书所定义的本发明的精神和范围就可以在本发明中进行各种改变、替代和变换。
本申请是2001年12月14日递交的题为“无线验证协议”的未决美国专利申请No.10/017,544的部分继续专利,据此通过引用并入其全部内容。

Claims (15)

1.一种用于验证服务器在轻度可扩展验证协议的环境中处理密码的方法,该方法包括以下步骤:
接收来自客户端的验证请求数据;
访问可替换性账户数据库;
检索与在登陆期间所提供的客户端用户名相关联的可替换性散列用户统一字符编码密码;
执行所述可替换性散列用户统一字符编码密码的MD4散列,从而创建MD4散列密码;以及
使用所述MD4散列密码,经由所述轻度可扩展验证协议来验证所述客户端;
其中所述验证请求数据包含密码,该密码不是MD4散列密码。
2.如权利要求1所述的方法,其中所述验证请求使用预定的编码方案被编码。
3.如权利要求1所述的方法,其中所述验证服务器已经接入到多个可替换性账户数据库,所述方法还包括将所述验证请求的编码方案匹配到所述多个可替换性账户数据库之一。
4.一种用于验证服务器在轻度可扩展验证协议的环境中处理密码的方法,该方法包括以下步骤:
接收来自客户端的验证请求数据;
确定所述请求数据如何被编码;
当所述请求数据没有利用MD4散列被编码时,访问可替换性账户数据库;
当所述请求数据没有利用MD4散列被编码时,检索与在登陆期间所提供的客户端用户名相关联的可替换性散列用户统一字符编码密码;
当所述请求数据没有利用MD4散列被编码时,执行所述可替换性散列用户统一字符编码密码的MD4散列,从而创建MD4散列密码;以及
使用所述MD4散列密码,经由所述轻度可扩展验证协议来验证所述客户端。
5.一种用于在使用MD4编码方案的网络上验证使用非MD4编码方案的客户端的方法,该方法包括以下步骤:
与接入点相关联;
响应接入点身份请求;
编码客户端密码;并且
执行所述经编码客户端密码的MD4散列,从而创建MD4散列密码。
6.如权利要求5所述的方法,还包括将所述MD4散列密码发送到所述接入点,其中所述接入点使用轻度可扩展验证协议来处理所述MD4散列密码。
7.一种验证服务器,包括:
用于接收来自客户端的验证请求的装置;
用于对所述验证请求进行预处理的预处理装置,该预处理装置以通信的方式耦合到所述验证服务器;以及
MD4数据库;
其中所述验证请求经由所述MD4数据库被核实。
8.如权利要求7所述的验证服务器,其中所述预处理装置还包括:
用于访问遵从于非MD4的数据库的装置,其中所述验证请求能够经由所述非MD4数据库被核实,所述非MD4数据库返回密码;以及
用于对所述密码执行MD4散列,并且创建MD4散列密码的装置;
其中所述验证服务器使用所述MD4散列密码来验证所述客户端。
9.如权利要求8所述的验证服务器,其中所述遵从于非MD4的数据库被放置在远离所述验证服务器的位置上。
10.如权利要求7所述的验证服务器,其中所述客户端经由轻度可扩展验证协议而被验证。
11.如权利要求7所述的验证服务器,其中所述预处理装置还包括用于对所述验证请求执行MD4散列的装置。
12.一种网络,包括:
接入点;验证服务器;包含密码的数据库;将所述接入点连接到所述验证服务器以及所述数据库的第一通信网络;其中所述接入点接收包含密码的验证请求,所述接入点将所述验证请求中继到所述验证服务器;其中所述验证服务器访问所述数据库,所述数据库核实所述密码,并且其中所述密码不遵从于MD4。
13.如权利要求12所述的网络,其中所述数据库对所述密码执行MD4散列。
14.如权利要求13所述的网络,其中所述验证服务器还包括用于与所述数据库进行通信的预处理器。
15.如权利要求14所述的网络,其中所述验证服务器经由轻度可扩展验证协议来验证所述验证请求。
CN2003801031257A 2002-10-14 2003-10-14 轻度可扩展验证协议的密码预处理 Expired - Lifetime CN1711740B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/270,843 US20040019786A1 (en) 2001-12-14 2002-10-14 Lightweight extensible authentication protocol password preprocessing
US10/270,843 2002-10-14
PCT/US2003/032551 WO2004036864A2 (en) 2002-10-14 2003-10-14 Lightweight extensible authentication protocol password preprocessing

Publications (2)

Publication Number Publication Date
CN1711740A CN1711740A (zh) 2005-12-21
CN1711740B true CN1711740B (zh) 2010-08-25

Family

ID=32106404

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2003801031257A Expired - Lifetime CN1711740B (zh) 2002-10-14 2003-10-14 轻度可扩展验证协议的密码预处理

Country Status (8)

Country Link
US (1) US20040019786A1 (zh)
EP (1) EP1552664B1 (zh)
CN (1) CN1711740B (zh)
AT (1) ATE406028T1 (zh)
AU (1) AU2003284144B2 (zh)
CA (1) CA2502299A1 (zh)
DE (1) DE60323116D1 (zh)
WO (1) WO2004036864A2 (zh)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7325246B1 (en) * 2002-01-07 2008-01-29 Cisco Technology, Inc. Enhanced trust relationship in an IEEE 802.1x network
US7349972B2 (en) * 2002-02-01 2008-03-25 Hewlett-Packard Development Company, L.P. Secure initialization of communication with a network resource
US7346358B2 (en) * 2002-06-24 2008-03-18 Intel Corporation Logical boundaries in communications networks
DE10393526T5 (de) * 2002-10-17 2005-09-29 Enterasys Networks, Inc., Andover System und Verfahren für IEEE 802.1X Benutzerauthentifizierung in einem Netzzutrittsgerät
US7346772B2 (en) * 2002-11-15 2008-03-18 Cisco Technology, Inc. Method for fast, secure 802.11 re-association without additional authentication, accounting and authorization infrastructure
CN100341305C (zh) * 2002-11-26 2007-10-03 华为技术有限公司 基于802.1x协议的组播控制方法
US7698550B2 (en) * 2002-11-27 2010-04-13 Microsoft Corporation Native wi-fi architecture for 802.11 networks
US7284062B2 (en) * 2002-12-06 2007-10-16 Microsoft Corporation Increasing the level of automation when provisioning a computer system to access a network
US20040225709A1 (en) * 2003-05-06 2004-11-11 Joseph Kubler Automatically configuring security system
RU2328083C2 (ru) * 2003-11-11 2008-06-27 Сименс Акциенгезелльшафт Способ обеспечения трафика данных между первым оконечным устройством и первой сетью, а также вторым оконечным устройством и второй сетью
US7760882B2 (en) 2004-06-28 2010-07-20 Japan Communications, Inc. Systems and methods for mutual authentication of network nodes
US7725716B2 (en) 2004-06-28 2010-05-25 Japan Communications, Inc. Methods and systems for encrypting, transmitting, and storing electronic information and files
WO2006003675A2 (en) * 2004-07-12 2006-01-12 Syed Ibrahim Abdul Hameed Khan System, method of generation and use of bilaterally generated variable instant passwords
US8510225B2 (en) 2004-09-01 2013-08-13 Research In Motion Limited Split channel authenticity queries in multi-party dialog
US7941671B2 (en) * 2004-10-14 2011-05-10 Oracle International Corporation Method and apparatus for accommodating multiple verifier types with limited storage space
US7724728B2 (en) * 2005-04-19 2010-05-25 Cisco Technology, Inc. Policy-based processing of packets
US20060269066A1 (en) * 2005-05-06 2006-11-30 Schweitzer Engineering Laboratories, Inc. System and method for converting serial data into secure data packets configured for wireless transmission in a power system
US7716724B2 (en) * 2005-06-16 2010-05-11 Verizon Business Global Llc Extensible authentication protocol (EAP) state server
US8001584B2 (en) * 2005-09-30 2011-08-16 Intel Corporation Method for secure device discovery and introduction
DE102006004237A1 (de) * 2006-01-30 2007-08-16 Siemens Ag Verfahren und Vorrichtung zur Vereinbarung eines gemeinsamen Schlüssels zwischen einem ersten Kommunikationsgerät und einem zweiten Kommunikationsgerät
US8533338B2 (en) 2006-03-21 2013-09-10 Japan Communications, Inc. Systems and methods for providing secure communications for transactions
JP4863777B2 (ja) * 2006-06-07 2012-01-25 富士通株式会社 通信処理方法及びコンピュータ・システム
WO2008010003A1 (en) * 2006-07-14 2008-01-24 Abb Research Ltd. Secure password-based authentication and key distribution protocol with robust availability properties
US20080077972A1 (en) * 2006-09-21 2008-03-27 Aruba Wireless Networks Configuration-less authentication and redundancy
US8245284B2 (en) * 2006-10-05 2012-08-14 Microsoft Corporation Extensible network discovery
US7899188B2 (en) 2007-05-31 2011-03-01 Motorola Mobility, Inc. Method and system to authenticate a peer in a peer-to-peer network
KR100969668B1 (ko) * 2008-11-25 2010-07-14 충남대학교산학협력단 디지털 방송용 제한수신장치를 다운로드하는 방법
US8326358B2 (en) * 2009-01-30 2012-12-04 Research In Motion Limited System and method for access control in a portable electronic device
US8958554B2 (en) * 2009-11-30 2015-02-17 Red Hat, Inc. Unicode-compatible stream cipher
CN102457373B (zh) * 2010-10-19 2016-09-07 鸿富锦精密工业(深圳)有限公司 手持设备双向验证系统及方法
US9684898B2 (en) * 2012-09-25 2017-06-20 Google Inc. Securing personal identification numbers for mobile payment applications by combining with random components
KR102098239B1 (ko) * 2012-12-04 2020-04-08 삼성전자주식회사 무선 통신 시스템에서 인터넷 프로토콜 어드레스를 설정하는 방법 및 장치
US9282093B2 (en) * 2013-04-30 2016-03-08 Microsoft Technology Licensing, Llc Synchronizing credential hashes between directory services
US10264510B2 (en) * 2013-11-06 2019-04-16 Kt Corporation Method and device for transmitting and receiving data in wireless LAN system
US9876783B2 (en) * 2015-12-22 2018-01-23 International Business Machines Corporation Distributed password verification
US20200053578A1 (en) * 2018-08-08 2020-02-13 Comcast Cable Communications, Llc Verification of wireless network connection
US10846432B2 (en) * 2018-09-11 2020-11-24 OneLogin, Inc. Secure data leak detection
US11005821B2 (en) 2019-01-08 2021-05-11 Citrix Systems, Inc. Server for detecting a proxy device in a communications path and related methods
CN113114464B (zh) * 2020-01-13 2023-10-27 中国移动通信集团重庆有限公司 统一安全管理系统及身份认证方法
EP3879422A1 (en) 2020-03-09 2021-09-15 Carrier Corporation Network identifier and authentication information generation for building automation system controllers
JP2023540264A (ja) * 2020-08-24 2023-09-22 イレブン ソフトウェア インコーポレイテッド 分散コンピューティングを使用したeapolハンドシェイクのためのキー照合
CN113630387B (zh) * 2021-07-21 2023-04-07 北京景安云信科技有限公司 基于代理实现对MySQL协议认证过程中用户名和密码替换的方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1186580A (zh) * 1995-04-13 1998-07-01 西门子公司 在用户计算机设备u和网络计算机设备n之间计算机辅助交换密钥的方法
CN1350382A (zh) * 2001-11-29 2002-05-22 东南大学 基于pki的vpn密钥交换的实现方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5721779A (en) * 1995-08-28 1998-02-24 Funk Software, Inc. Apparatus and methods for verifying the identity of a party
US5875394A (en) * 1996-12-27 1999-02-23 At & T Wireless Services Inc. Method of mutual authentication for secure wireless service provision
US6457130B2 (en) * 1998-03-03 2002-09-24 Network Appliance, Inc. File access control in a multi-protocol file server
US6317829B1 (en) * 1998-06-19 2001-11-13 Entrust Technologies Limited Public key cryptography based security system to facilitate secure roaming of users
US6760752B1 (en) * 1999-06-28 2004-07-06 Zix Corporation Secure transmission system
US6976168B1 (en) * 1999-07-23 2005-12-13 Mcafee, Inc. System and method for adaptive cryptographically synchronized authentication
US6769000B1 (en) * 1999-09-08 2004-07-27 Nortel Networks Limited Unified directory services architecture for an IP mobility architecture framework
FI20000760A0 (fi) * 2000-03-31 2000-03-31 Nokia Corp Autentikointi pakettidataverkossa
US20030035547A1 (en) * 2001-03-27 2003-02-20 John Newton Server with multiple encryption libraries
US20030031151A1 (en) * 2001-08-10 2003-02-13 Mukesh Sharma System and method for secure roaming in wireless local area networks

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1186580A (zh) * 1995-04-13 1998-07-01 西门子公司 在用户计算机设备u和网络计算机设备n之间计算机辅助交换密钥的方法
CN1350382A (zh) * 2001-11-29 2002-05-22 东南大学 基于pki的vpn密钥交换的实现方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
叶锡君,吴国新,许勇,束坤.一次性口令认证技术的分析与改进.计算机工程26 9.2000,26(9),27-29. *

Also Published As

Publication number Publication date
CA2502299A1 (en) 2004-04-29
EP1552664A2 (en) 2005-07-13
DE60323116D1 (de) 2008-10-02
AU2003284144A1 (en) 2004-05-04
US20040019786A1 (en) 2004-01-29
EP1552664B1 (en) 2008-08-20
WO2004036864A3 (en) 2004-07-01
CN1711740A (zh) 2005-12-21
AU2003284144B2 (en) 2009-03-26
WO2004036864A2 (en) 2004-04-29
ATE406028T1 (de) 2008-09-15

Similar Documents

Publication Publication Date Title
CN1711740B (zh) 轻度可扩展验证协议的密码预处理
US6996714B1 (en) Wireless authentication protocol
US8515078B2 (en) Mass subscriber management
JP3863852B2 (ja) 無線環境におけるネットワークへのアクセス制御方法及びこれを記録した記録媒体
CN106211152B (zh) 一种无线接入认证方法及装置
CA2792490C (en) Key generation in a communication system
US7370350B1 (en) Method and apparatus for re-authenticating computing devices
EP1589695B1 (en) A method for the access of the mobile terminal to the WLAN and for the data communication via the wireless link securely
US8582762B2 (en) Method for producing key material for use in communication with network
US20080222714A1 (en) System and method for authentication upon network attachment
WO2004034645A1 (ja) Wlan相互接続における識別情報の保護方法
KR20050064119A (ko) 인터넷접속을 위한 확장인증프로토콜 인증시 단말에서의서버인증서 유효성 검증 방법
WO2011076008A1 (zh) 一种wapi终端与应用服务器传输文件的系统及方法
US8788821B2 (en) Method and apparatus for securing communication between a mobile node and a network
US20090113522A1 (en) Method for Translating an Authentication Protocol
US20040010713A1 (en) EAP telecommunication protocol extension
CN101426190A (zh) 一种服务访问认证方法和系统
Youssef et al. Securing authentication of TCP/IP layer two by modifying challenge-handshake authentication protocol
CN114386020A (zh) 基于量子安全的快速二次身份认证方法及系统
JP2006191429A (ja) 集合型宅内ネットワークにおける認証方法及びシステム
US20060173981A1 (en) Secure web browser based system administration for embedded platforms
CN114760093A (zh) 通信方法及装置
WO2005038608A2 (en) Mass subscriber management
Lee et al. Performance of an efficient performing authentication to obtain access to public wireless LAN with a cache table
EP1604294A2 (en) Secure web browser based system administration for embedded platforms

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CX01 Expiry of patent term

Granted publication date: 20100825

CX01 Expiry of patent term