专利名称:基于成对主密钥的授权密钥交换的制作方法
相关申请的交叉参考本发明要求于2003年1月10日申请的,序列号为No.60/439,238的美国临时申请的优先权。
背景技术:
当前无线局域网络(WLAN)系统在用户站点(STA)和新的接入节点(AP)之间至少使用七个消息循环往返,以在漫游过程中建立通信。在不采用预先授权或者类似机制的情况下,则消息的开销会更大,因为在任何符合电气和电子工程师协会(IEEE)802.11环境的系统中安全的授权方案都会导致IEEE 802.11结构中的至少两个或者更多的循环往返。如今,不安全性的操作已经使用了前五个消息。由于非安全的漫游已认为是太昂贵了,因此添加最后的十个或者更多的消息而不优化前五个消息不会提高系统性能。
此外,在目前IEEE 802.11结构,诸如IEEE 802.11a或者IEEE802.11b中,直到交换了第十一个消息之后,接入节点才会得到无赖用户站点的指示,直到序列中的第十二个消息之后,经过授权的用户站点才会检测到无赖接入节点,因此攻击者能够骗取到所有的之前的消息。在能够检测到主动攻击之前,用户站点和接入节点都投入了很大数量的资源,典型地为20或者更多毫秒。可能发生附带的性能下降,例如,攻击者可能有意识地使用序列妨碍信道的使用。
在说明书的结束部分中,详细地指出并明确的声明了作为本发明的主题。但是,通过在阅读附图并参考以下的详细说明,可以最佳程度上得以理解本发明的组织和方法,以及主题,特征和优点。
图1是根据本发明的一个实施例的无线局域网络系统的框图;图2是方法表,用于根据本发明的一个实施例,在接入节点和用户站点之间传输信息。
图3是根据本发明的一个实施例,用于探测响应的现时信息单元的图表。
图4是根据本发明的一个实施例,用于重关联请求的成对主密钥请求信息单元。
图5是根据本发明的一个实施例,重关联响应的成对主密钥响应单元;和图6是根据本发明的一个实施例的无线局域网络系统中,用于授权密钥交换的方法的流程图。
应该理解的是,为了阐述的简单和清晰,在附图中所阐述的单元没有必要按照比例画出。例如,为了清晰,一些元件的尺寸相对于其他元件进行了放大。此外,在附图中重复使用附图标记,以指明是相对应的或者类似的元件。
具体实施例方式
在以下的详细描述中,为了提供对本发明的透彻的理解,提出了若干特定的细节。然而,本领域技术人员应该理解的是,在没有这些特定细节的情况下也可以实现本发明。在其他例子中,众所周知的方法,过程,元件和电路没有进行详细的描述,从而不会混淆本发明。
以下的详细描述中的一些部分,用计算机存储器中的数据比特或者二进制数字信号的算法和操作符号表示。这些算法描述和表示可以是数据处理技术领域的技术人员所使用的技术,从而将他们的工作实质传达给本领域的其他技术人员。
这里有一个算法,并且通常将认为该算法是导致所期望结果的动作或者操作的自相一致的序列。这些包括物理量的物理操作。通常,尽管没有必要,这些物理量采取能够进行存储,传输,合并,比较和其他操作的电子或者磁信号的形式。已经证明的是,有时,主要由于通常使用的原因,将这些信号作为比特,值,元素,符号,字符,条件,数字等是方便的。然而,应该理解的是,所有这些术语和类似的术语都是与适当的物理量相关的,并且它们仅仅是用于这些量的便利的标记。
除非是另有特别声明,否则如以下描述中所理解的,在整个说明书描述中使用诸如处理,运算,计算,决定或者类似术语,表示计算机或者计算系统,或者类似的电子计算设备的行为或处理,这些设备对由计算系统的寄存器或者存储器中用物理量,例如电子量所表示的数据进行操作,或者将数据变换为由计算系统中的存储器,寄存器或者其他类似信息存储,传输或者显示设备中的物理量所类似表示的其他数据。
本发明的实施例可以包括用于执行其操作的设备。这些设备可以为所期望的目的而特殊构造,或者它可以包括通用目的的计算设备,该设备可以由存储在设备中的程序选择性地激活或者重新设置。这种程序可以存储在存储介质中,但不局限于例如任何类型的盘体,包括软盘,光盘,CD-ROM,磁光盘,只读存储器(ROM),随机存取存储器(RAM),电可编程只读存储器(EPROM),电可擦除且可编程只读存储器(EEPROM),闪存存储器,磁卡或者光卡,或者任何适合存储电指令并且能够耦合在用于计算设备的系统总线上的介质。
这里所示出的过程和显示并不固有地与任何特定计算设备或者其他设备相关。根据这里的讲述,各种通用目的的系统都可以用于该程序,或者可以证明构建更加特定的设备以执行所期望的方法也是方便的。从以下的描述中,可以得到多种用于这些系统的所期望的结构。此外,本发明的实施例并不涉及任何特殊编程语言。应该理解的是,各种编程语言都可以执行对这里所描述的本发明的讲授。
在以下的描述和权利要求中,可以使用耦合和连接,并连同它们的派生物。在特定实施例中,连接可以用于表示两个或者更多元件相互之间进行直接物理连接或者进行直接电连接。耦合可以表示两个或者更多元件之间进行直接物理连接或者电连接。然而,耦合还可以意味着两个或者更多元件彼此之间没有直接接触,而是可以相互配合或相互作用。
现在参考图1,描述根据本发明的一个实施例的无线通信系统。在图1所示的通信系统100中,用户站点110可以包括无线收发器112,其与天线118和处理器114耦合。在一个实施例中处理器114可以包括单一处理器,或者可以替换的是,可以包括基带处理器和应用处理器,但本发明的范围不局限在该方面。处理器114可以耦合至存储器16,该存储器16可以包括易失存储器,诸如DRAM,非易失存储器,诸如闪存存储器,或者可以替换的是,可以包括其他类型的存储器,诸如硬盘驱动器,聚合体存储器,或者磁存储器,但是本发明的范围不局限在该方面。存储器116的一部分或者全部可以包含在与处理器114相同的集成电路中,或者可以替换的是,存储器116的一部分或者全部可以放置在集成电路和其他介质中,例如,硬盘驱动器,它可以在处理器114的集成电路的外部,但是本发明的范围不局限在该方面。
用户站点110可以通过无线通信链接120与接入节点124通信,这里接入节点124,和可选的用户站点110可以包括至少一个天线122,或者在可替换的实施例中可以包括多个天线,例如在空分多路存取(SDMA)系统中,多个输入多个输出(MIMO)系统中等等,但是本发明的范围不局限在该方面。在可以替换的实施例中,接入节点124可以是无线蜂窝电信系统中的基站或者节点B,但是本发明的范围不局限在该方面。接入节点124可以与网络126耦合,从而用户站点110通过无线通信链接120与接入节点124通信,可以与网络126通信,包括与网络126耦合的设备。网络126可以包括公共网络,诸如电话网络或者因特网,或者可以替换地,网络126可以包括专用网络,诸如内部网,或者可以是公共网络和专用网络的组合,但是本发明的范围不局限在该方面。在用户站点110和接入节点128之间的通信可以通过无线局域网络(WLAN)实现,例如,符合电气和电子工程师协会(IEEE)标准,诸如IEEE 802.11a,IEEE 802.11b,IEEE 802.16等的网络,但是本发明的范围不局限在该方面。在另外一个实施例中,用户站点110和接入节点124之间的通信可以通过符合第三代伙伴计划(Third Generation PartnershipProject,3GPP)的蜂窝通信网络实现,但是本发明的范围不局限在该方面。
现在参考图2,描述根据本发明的一个实施例,在接入节点和用户站点之间传输信息的方法表。在本发明的一个实施例中,根据IEEE 802.11标准,两个参与方或者两个设备可以相互建立通信,其中在一个特定实施例中可以符合IEEE 802.11i标准,但是本发明的范围不局限在该方面。这里为了参照的目的,A可以指接入节点124,S可以指用户站点110,但是本发明的范围不局限在该方面。如图2所示,接入节点124可以在探测响应中响应来自用户站点110的探测,在探测响应过程中,接入节点124可以向用户站点110发送现时信息(nonce)ANONCE(AP→STA)。在本发明的一个实施例中,现时信息可以是一个值,该值用于与密钥的关联中,并且可以在重新产生密钥中使用。在本发明的一个实施例中,现时信息可以最多使用一次,但是本发明的范围不局限在该方面。在本发明的一个实施例中,现时信息可以是随机或者伪随机值。如图2所示,ANONCE可以指接入节点124的现时信息。在称为重关联请求的过程中,在对探测响应的应答中,用户站点110可以将ANONCE和用户站点110的现时信息SNONCE,连同第一消息完整性码(MIC1)一起返回传输到接入节点124(STA→AP)。SNONCE同样可以是随机或者伪随机值。在响应从用户站点110接收到的重关联请求中,接入节点124将用户站点110的现时信息SNONCE,连同第二消息完整性码(MIC2)返回传输到用户站点110(AP→STA)。消息完整性码MIC1和MIC2可以用于在IEEE 802.11信道上标记信息,并且可以包括HMAC-SHA-1,AES-CBC-MAC和PMAC,或者其它任意密码学安全信息完整性码,但是本发明的范围不局限在该方面。
根据本发明的一个实施例,用户站点110和接入节点124可以共享称之为成对主密钥(PMK)的对称密钥,以控制对它们之间的信道的访问。根据本发明的一个实施例,成对主密钥可以来自密码,或者可以替换的是可以动态地被指定,但是本发明的范围不局限在该方面。根据本发明的一个实施例,成对主密钥可以以安全的方式发布,并且因此对于潜在的对手是不可知的,但是本发明的范围不局限在该方面。此外,如图2所示,根据本发明所执行的安全协议可以用三个控制消息的序列实现,但是本发明的范围不局限在该方面。此外,这样的控制消息序列可以通过彼此通信的两个或者更多节点中的任意一个进行初始化,典型的是,从第一节点到第二节点,从第二节点到第一节点,然后再从第一节点到第二节点,但是本发明的范围不局限在该方面。
现在参考图3,描述根据本发明的一个实施例,用于探测响应的现时信息单元的图表。现时信息单元300可以由接入节点124进行传输,用于重新产生密钥的事件。在本发明的一个实施例中,现时信息单元300可以是如图2所示的ANONCE,并且可以是伪随机值。通过在探测响应中指定ANONCE,可能不会获得重关联查询消息和重关联响应消息之外的第三重关联消息。在本发明的一个实施例中,ANONCE由接入节点124进行缓存,以确认来自用户站点110的重关联请求,如下所述。现时信息单元300可以用于确认现时信息,并且可以由接入节点124和用户站点110所支持,接入节点124和用户站点110基于授权密钥交换(AKE)执行成对主密钥(PMK)。现时信息单元300可以包括一个八位字节的单元ID,一个八位字节的长度指示符,和32个八位字节或者256比特的当前值。在本发明的一个实施例中,现时信息300可以是不同于每个探测响应(Probe Response)的伪随机值。
现在参考图4,描述根据本发明的一个实施例,用于重关联请求的成对主密钥请求信息单元。PMK请求信息单元400可以从用户站点110传输到接入节点124,并且可以包括ANONCE,SNONCE和MIC1,如图2所示。MIC1值将ANONCE和SNONCE绑定在一起,因此,来自重关联请求中的探测响应和SNONCE的各个询问ANONCE不是不独立的。PMK请求信息单元400可以包括一个八位字节的单元ID,一个八位字节的长度指示符,8个八位字节的密钥ID,32个八位字节的ANONCE,32个八位字节的SNONCE,和16个八位字节的MIC,但是本发明的范围不局限在该方面。密钥ID可以是PMK请求单元400的名字。SNONCE可以是由用户站点110产生的伪随机值。PMK请求信息单元400的MIC可以对应于图2的MIC1,并且可以使用所得到的密钥确认密钥(KCK)、ANONCE和SNONCE计算得到,具体如下MIC(KCK,ANONCE||SNONCE)→MIC1其中||表示级联。密钥确认密钥可以由如下得到PRF(PMK,BSSIDAP||MAC-ADDRSTA)→KCK||KEK||TK其中,PMK为成对主密钥,BSSIDAP为接入节点124的介质访问控制(MAC)地址,MAC-ADDRSTA为用户站点110的MAC地址。所获得的密钥为密钥确认密钥(KCK)、密钥加密密钥(KEK)和临时密钥(TK),临时密钥为临时的或者运算中的密钥。PRF指伪随机函数,它可以是任意的伪随机函数。在重关联请求中,用户站点110可以根据从接入节点124接收到的最新探测响应重新生成现时信息值ANONCE,如图2所示,但是本发明的范围不局限在该方面。
在本发明的一个实施例中,MIC的值MIC1可以不对BSSIDAP和MAC-ADDRSTA进行显形保护,因为它们用于计算PTK,因此由MIC1进行隐性保护,但是本发明的范围不局限在该方面。ANONCE的不可预测性可以对接入节点124确保所获得的密钥是新的。该获取可以将BSSIDAP和MAC-ADDRSTA绑定到PTK,因此表明它们是可以与这些密钥一同使用的唯一地址,但是本发明的范围不局限在该方面。
现在参考图5,描述根据本发明的一个实施例,重关联响应的PMK响应单元。PMK响应单元500可以在如图2所示的重关联响应中,从接入节点124传输到用户站点110。PMK响应单元500可以包括一个八位字节的单元ID,一个八位字节的长度指示符,八个八位字节的密钥ID,一个八位字节的组临时密钥(GTK)长度,一个GTK长度个八位字节的包装的GTK,6个八位字节的RSC,32个八位字节的一组当前消息(GNONCE),和16个八位字节的MIC。长度指示符可以是65+n,其中n是GTK长度域的值,其中长度指示符是在PMK信息单元500中的八位字节的数量。密钥ID是用于重关联的PMK响应单元500的名字,MIC2可以从以下得到MIC(KEK,RSN-IEAP||PMK-RESP-IE)其中KEK可以从对应于图4叙述的重关联请求中获得,RSN-IEAP是接入节点124的探测响应现时信息单元300,PMK-RESP-IE是用户站点110的PMK响应信息单元400。在本发明的一个实施例中,用户站点110可以提供随机取值的SNONCE,以提供有效的MIC2值,该值可以允许用户站点110判定如图2所示的从接入节点124接收到的重关联响应是有效值,而不是重新采用的值。其结果是,从PMK获得正确的KCK,从而产生有效的MIC2,因此允许接入节点124得到对于用户站点110的授权,但是本发明的范围不局限在该方面。
现在参考图6,描述根据本发明的一个实施例的无线局域网络系统中,用于授权密钥交换的方法的流程图。如图6所示,方法600可以表示基于图1的用户站点110和接入节点124之间授权的密钥交换(AKE)的成对主密钥(PMK),如图2所阐述,并在这里叙述,但是本发明的范围不局限在该方面。在块610,用户站点110可以将探测请求作为询问传输到的接入节点124。在块612,在接收到探测请求后,接入节点124可以发送它的现时信息单元300ANONCE,作为对探测请求的探测响应。在块614,在接收到探测响应后,用户站点110可以基于ANONCE,它自己的现时信息SNONCE,和基于第一消息完整性码MIC1,产生PMK信息单元400。然后,在块616,通过将PMK信息单元400传输到接入节点124,用户站点110可以在重关联请求中请求重新产生密钥。然后,在块618,基于用户站点110的现时信息SNONCE,和基于第二消息完整性码MIC2,接入节点124可以产生PMK响应信息单元500。在块620,接入节点124可以确定从用户站点110接受到的重关联请求是否有效。在块628中,在重关联请求无效的情况下,可以抛弃重关联请求。反之,在块622,如果重关联请求有效,则接入节点124可以将PMK响应信息单元500作为重关联响应传输到用户站点110。在块624,用户站点110可以判断重关联响应是否有效,如果无效,在块628则可以抛弃该响应。反之,在块626,如果重关联响应有效,则用户站点可以与接入节点124通信,但是本发明的范围不局限在该方面。
尽管采用一定程度上的特殊性描述了本发明,本领域技术人员应该理解,这里的组成部分可以改变而不会脱离本发明的精神和范围。应该确信的是,通过之前的描述,本发明的基于成对主密钥的授权密钥交换和伴随它的很多优点应该会被理解。并且应该清楚的是,在其中的形式上、结构上和组成部分的排列上可以进行各种改变,而不会脱离本发明的范围和思想,或者不会牺牲它的所有的实质性优点,这里,之前所述的形式仅仅是其说明性的实施例,此外也不会提供其实质性的改变。权利要求意图包含和包括这种改变。
权利要求
1.一种方法,包括响应探测请求,在探测响应中传输现时信息。
2.根据权利要求1的方法,还包括从接收所传输的现时信息的用户站点接收基于成对主密钥的信息单元作为重关联请求,其中用户站点基于探测响应中传输的现时信息,附加的现时信息和消息完整性码,生成基于成对主密钥的信息单元,该消息完整性码是从成对主密钥中得到。
3.根据权利要求2的方法,还包括基于附加的现时信息和附加的消息完整性码,生成成对主密钥响应单元,该附加的消息完整性码从成对主密钥中得到;和将成对主密钥响应单元作为重关联响应进行传输。
4.根据权利要求3的方法,还包括在用户站点接收到重关联响应后,与用户站点进行通信。
5.一种方法,包括将探测请求传输到接入节点;和接收响应探测请求而传输的现时信息。
6.根据权利要求5的方法,还包括基于在探测响应中传输的现时信息、附加的现时信息和消息完整性码,生成基于成对主密钥的信息单元,该消息完整性码从该成对主密钥中得到;和将基于成对主密钥的信息单元作为重关联请求传输到接入节点。
7.根据权利要求6的方法,还包括从接入节点接收成对主密钥响应单元,其中成对主密钥响应单元作为重关联响应由接入站点进行传输,并且其是基于附加的现时信息和附加的消息完整性码,该附加的消息完整性码从成对主密钥中得到。
8.根据权利要求7的方法,还包括在接收到重关联响应之后与接入节点进行通信。
9.一种制造的产品,包括其中存储了指令的存储介质,在通过计算机平台执行指令时,通过以下导致授权密钥交换响应探测请求,在探测响应中传输现时信息。
10.根据权利要求9的产品,其中当执行该指令时,还通过以下导致授权密钥交换从接收所传输的现时信息的用户站点接收基于成对主密钥的信息单元作为重关联请求,其中用户站点基于探测响应中的现时信息,附加的现时信息和消息完整性码,生成基于成对主密钥的信息单元,该消息完整性码是从成对主密钥中得到。
11.根据权利要求10的产品,其中当执行该指令时,还通过以下导致授权密钥交换基于附加的现时信息和附加的消息完整性码,生成成对主密钥响应单元,该附加的消息完整性码从成对主密钥中得到;和将成对主密钥响应单元作为重关联响应进行传输。
12.根据权利要求11的产品,其中当执行该指令时,还通过在用户站点接收到重关联响应后与用户站点进行通信,导致授权密钥交换。
13.一种制造的产品,包括其中存储了指令的存储介质,在通过计算机平台执行指令时,通过以下导致授权密钥交换将探测请求传输到接入节点;和接收响应探测请求而传输的现时信息。
14.根据权利要求13的产品备,其中当执行该指令时,还通过以下导致授权密钥交换基于在探测响应中传输的现时信息、附加的现时信息和消息完整性码,生成基于成对主密钥的信息单元,该消息完整性码从成对主密钥中得到;和将基于成对主密钥的信息单元作为重关联请求传输到接入节点。
15.根据权利要求14的产品,其中当执行该指令时,还通过以下步骤导致授权密钥交换从接入节点接收成对主密钥响应单元,其中成对主密钥响应单元作为重关联响应由接入站点进行传输,并且其是基于附加的现时信息和附加的消息完整性码,该附加的消息完整性码从成对主密钥中得到。
16.根据权利要求15的产品,其中当执行该指令时,还通过在接收到重关联响应之后与接入节点进行通信,导致授权密钥交换。
17.一种设备,包括全向天线;收发器,其与上述全向天线耦合;和基带处理器,用于生成要传输到接入节点的探测请求,并且接收响应探测请求而传输的现时信息。
18.根据权利要求17的设备,所述基带处理器基于在探测响应中传输的现时信息、附加的现时信息和消息完整性码,生成基于成对主密钥的信息单元,该消息完整性码从该成对主密钥中得到,将基于成对主密钥的信息单元作为重关联请求传输到接入节点。
19.根据权利要求18的设备,所述基带处理器用于从接入节点接收成对主密钥响应单元,其中成对主密钥响应单元作为重关联响应由接入站点进行传输,并且其是基于附加的现时信息和附加的消息完整性码,该附加的消息完整性码从成对主密钥中得到。
20.根据权利要求19的设备,所述基带处理器用于在接收到重关联响应之后,建立与接入节点的通信。
全文摘要
根据本发明的一个实施例,在无线局域网中可以使用成对主密钥以在重新产生密钥事件期间产生用于授权密钥交换的现时信息。
文档编号H04L12/56GK1846398SQ200480025042
公开日2006年10月11日 申请日期2004年8月20日 优先权日2003年9月2日
发明者J·沃克尔 申请人:英特尔公司