通信装置及其控制方法

文档序号:7794876阅读:256来源:国知局
通信装置及其控制方法
【专利摘要】一种第一通信装置用作提供加密密钥的提供装置或用作接收由提供装置提供的加密密钥的接收装置,并且该第一通信装置执行用于与另一装置共享加密密钥的密钥共享处理,该第一通信装置确认第一通信装置是否在存在于第一通信装置所加入的网络上的多个装置之间执行的密钥共享处理中用作所述提供装置;比较新加入所述网络的第二通信装置的识别信息与第一通信装置的识别信息;以及基于确认和比较的结果,确定第一通信装置是否在第一和第二通信装置之间执行的密钥共享处理中将用作提供装置。
【专利说明】通信装置及其控制方法
[0001]本申请是于2008年12月2日提交的、题为“通信装置、其控制方法和存储介质”的国际申请号为PCT/JP2008/072216、国家申请号为200880118786.X的专利申请的分案申请。
【技术领域】
[0002]本发明涉及通信装置及其控制方法。
【背景技术】
[0003]为了防止数据被拦截、篡改等,通信数据常规上被加密。确保安全的通信路径在能够容易地拦截数据的无线通信中特别重要。
[0004]例如,在用于无线LAN的基础设施模式中,通信终端和访问点被提供有称为WEP(有线等效保密,Wired Equivalent Privacy)的标准规范。利用WEP,事先在通信终端和访问点中设定加密密钥,并在每次进行通信时通过使用该加密密钥来确保安全性。但是,在这种方案中,加密密钥是恒定地固定的,并且WEP中采用的加密算法的强度低。出于这些原因,已指出存在WEP不能确保安全性的许多情形。
[0005]为了解决该问题,已开发了称为WPA (W1-Fi保护访问,W1-Fi Protected Access)的标准规范。WPA不仅通过提高加密算法的强度,而且通过为通信终端加入网络的每个会话生成新的加密密钥,来增加安全性。
[0006]在基础设施模式中,经由访问点将数据发送到其它通信终端,从而被执行的唯一直接通信是利用访问点执行的。因此,仅需要确保与访问点的通信的安全性。但是,在ad-hoc模式中没有访问点,从而与希望与之通信的伙伴直接地进行通信。换句话说,为了使终端与其它终端进行加密通信,每一终端必须持有用于其它终端中的每一个的加密密钥或者利用整个网络中共用的加密密钥。
[0007]在每一终端持有用于其它终端中的每一个的加密密钥的情况下,随着终端的数量增加,管理加密密钥变得更加复杂和困难。
[0008]但是,利用整个网络中共用的加密密钥减少了每一终端在密钥管理方面的负担。
[0009]例如,日本专利公开N0.2006-332895讨论了一种在ad_hoc模式中使用加密密钥的方法。
[0010]但是,当使用共用的加密密钥时,存在难以向新加入网络的新终端分发相同的加密密钥的问题。
[0011]用于无线LAN的WPA方案使用“组密钥”作为由多个终端共享的加密密钥。通过实施四路握手(four-way handshake )和组密钥握手,从发起四路握手的终端向伙伴终端发送组密钥。但是,当在ad-hoc模式中时,发起四路握手的终端未被设定。
[0012]而且,在ad-hoc模式中,没有用于集中管理网络上存在的终端的方案。从而,已加入网络的终端不知道哪些终端不持有组密钥。出于这种原因,对于已加入网络的终端来说,难以发现哪些终端不持有组密钥并发起四路握手。[0013]最后,当新加入网络的终端发起四路握手时,结果是该新终端分发组密钥,从而,不能将到目前为止一直在网络上使用的组密钥分发给该新终端。

【发明内容】

[0014]本发明的目的是,即使在诸如ad-hoc模式的环境中,也使得能够与新加入网络的通信装置共享加密密钥。
[0015]根据本发明的一个方面,提供一种第一通信装置,所述第一通信装置用作提供加密密钥的提供装置或用作接收由提供装置提供的加密密钥的接收装置,并且执行用于与另一装置共享加密密钥的密钥共享处理,所述第一通信装置包括:确认单元,适于确认第一通信装置是否在存在于第一通信装置正加入的网络上的多个装置之间执行的密钥共享处理中用作提供装置;比较单元,适于比较新加入网络的第二通信装置的识别信息与第一通信装置的识别信息;以及确定单元,适于基于由确认单元执行的确认的结果和由比较单元执行的比较的结果,确定第一通信装置是否在第一通信装置和第二通信装置之间执行的密钥共享处理中将用作提供装置。
[0016]根据本发明的另一方面,提供一种用于第一通信装置的控制方法,所述第一通信装置用作提供加密密钥的提供装置或用作接收由提供装置提供的加密密钥的接收装置,并且执行用于与另一装置共享加密密钥的密钥共享处理,所述控制方法包括以下步骤:确认第一通信装置是否在存在于第一通信装置正加入的网络上的多个装置之间执行的密钥共享处理中用作提供装置;比较新加入网络的第二通信装置的识别信息与第一通信装置的识别信息;以及基于在确认步骤中执行的确认的结果和在比较步骤中执行的比较的结果,确定第一通信装置是否在第一通信装置和第二通信装置之间执行的密钥共享处理中将用作提供装置。
[0017]根据本发明,即使在诸如ad-hoc模式的环境中,也可以与新加入网络的通信装置共享加密密钥。
[0018]从(参照附图)对示例性实施例的以下描述,本发明的进一步的特征将变得明显。【专利附图】

【附图说明】
[0019]被并入说明书中并构成其一部分的附图示出本发明的实施例,并与描述一起用于解释本发明的原理。
[0020]图1是示出终端的框图。
[0021]图2是示出其中三个终端形成ad-hoc网络的配置的图。
[0022]图3是示出终端的内部的软件功能框图。
[0023]图4是示出由终端A、B和C执行的操作的序列图(I)。
[0024]图5是示出由终端A、B和C执行的操作的序列图(2)。
[0025]图6是示出由终端A、B和C执行的操作的序列图(3)。
[0026]图7是示出由终端A、B和C执行的操作的序列图(4)。
[0027]图8是示出由预先存在的终端A或预先存在的终端B执行的操作的流程图。
[0028]图9是示出由新终端C执行的操作的流程图。
[0029]图10是示出由作为先前的认证方的终端执行的操作的流程图。【具体实施方式】
[0030]现在根据附图详细地描述本发明的优选实施例。
[0031]下面,将参照附图详细地描述根据本发明的通信装置。尽管下面描述使用遵照IEEE802.11系列的无线LAN系统的例子,但本发明也可被应用于其它的通信方案。
[0032]首先,将描述在本发明的优选实施例中使用的硬件配置。
[0033]图1是示出根据本实施例的通信装置的配置的例子的框图。101表示整个通信装置。102是通过执行存储在存储单元103中的控制程序来控制整个装置的控制单元。控制单元102还执行用于与其它通信装置交换加密密钥的序列控制。103是存储由控制单元102执行的控制程序以及诸如通信参数的各种信息的存储单元。由执行存储在存储单元103中的控制程序的控制单元102进行后面提到的操作流程图和序列图中示出的各种操作。104是用于执行无线通信的无线单元。105是显示各种项目的显示单元,并具有使它能够使用IXD或LED等来输出视觉上可识别的信息、或者使用扬声器等来执行音频输出的功能性。107是天线控制单元,108是天线。
[0034]图3是示出由根据本实施例的通信装置执行的软件功能块的配置的例子的框图。
[0035]301表示整个终端。302是接收用于各种类型的通信的分组的分组接收单元。303是发送用于各种类型的通信的分组的分组发送单元。304是控制诸如探测(probe)请求的设备搜索信号的发送的搜索信号发送单元。由搜索信号发送单元304进行后面讨论的探测请求的发送。此外,还由搜索信号发送单元304进行探测响应(它是所接收到的探测请求的响应信号)的发送。
[0036]305是控制从另一终端接收诸如探测请求的设备搜索信号的搜索信号接收单元。由搜索信号接收单元305进行后面讨论的探测请求的接收。还由搜索信号接收单元305进行探测响应的接收。注意,发送探测响应的设备的各种信息(自己信息)被添加到每一探测响应。
[0037]306是执行用于与其它通信装置交换会话密钥和组密钥的处理序列的控制的密钥交换控制单元。密钥交换控制单元306执行用于本实施例中例示的WPA密钥交换处理中进行的四路握手和组密钥握手中的各种消息接发(messaging)处理。
[0038]以下将简要描述WPA (W1-Fi保护访问)的四路握手和组密钥握手。在本实施例中,四路握手和组密钥握手被描述为用于交换加密密钥的处理。但是,也可以将它们描述为用于共享加密密钥的共享处理,其中,一个通信装置向伙伴通信装置提供加密密钥或关于加密密钥的信息。
[0039]在认证设备(认证方)和被认证设备(请求方,supplicant)之间执行四路握手和组密钥握手。注意,以下将认证设备(认证方)作为执行认证的设备且将被认证设备(请求方)作为被认证的设备而讨论。
[0040]在四路握手中,认证方和请求方事先对共享密钥共享(预共享密钥),并且在生成会话密钥时使用这个预共享密钥。
[0041]首先,认证方生成随机数(第一随机数),并向请求方发送包含所生成的第一随机数的消息I。
[0042]已接收到消息I之后,请求方自身也生成随机数(第二随机数)。请求方然后从它自身生成的第二随机数、从认证方接收到的第一随机数、和预共享密钥生成会话密钥。
[0043]已生成会话密钥之后,请求方向认证方发送包含第二随机数和它自己的加密/认证支持信息(WPAIE或RSNIE)的消息2。
[0044]已接收到消息2之后,认证方从它自身生成的第一随机数、从请求方接收到的第二随机数、和预共享密钥生成会话密钥。在此阶段,如果认证方和请求方的第一随机数、第二随机数和预共享密钥是同样的,那么它们生成相同的会话密钥。
[0045]已生成会话密钥之后,认证方向请求方发送包含它自己的加密/认证支持信息(WPAIE或RSNIE)和会话密钥安装指令的消息3。
[0046]当发送/接收了消息3时,认证方和请求方可安装会话密钥。
[0047]已接收到消息3之后,请求方向认证方发送消息4,通知认证方消息3已被接收到。
[0048]以此方式,通过在认证方和请求方之间发送/接收消息I至4的四路握手,来交换用作加密密钥的会话密钥(实际上,用于生成会话密钥的随机数被交换)。通过该交换,可以在网络上共享加密密钥。
[0049]注意,可在发送/接收了消息4时安装会话密钥。
[0050]同时,在组密钥握手中,认证方使用在四路握手中交换的会话密钥来加密组密钥。认证方然后向请求方发送包含加密的组密钥的消息I。组密钥是用于执行组通信的加密密钥。因此,在已正与另一通信装置共享的组密钥还要与请求方共享的情况下,组密钥被发送。在不存在正与另一通信装置共享的组密钥或者与另一通信装置共享的组密钥将不与请求方共享的情况下,认证方生成组密钥并将生成的组密钥发送给请求方。
[0051]请求方使用会话密钥来解密包含于所接收到的消息I中的组密钥,并向认证方发送消息2,通知认证方消息I已被接收到。
[0052]以此方式,可以通过在认证方和请求方之间发送/接收消息I和2的组密钥握手,来共享用作组通信的加密密钥的组密钥。
[0053]如到目前为止所述的那样,认证方可被称为提供加密密钥的提供装置,而请求方可被称为接收由认证方(提供装置)提供的加密密钥的接收装置(接收设备等)。
[0054]注意,四路握手和组密钥握手已被IEEE802.1li标准化,从而,对于其细节,应参照 IEEE802.1li 规范。
[0055]307是保持由密钥交换控制单元306交换的会话密钥和组密钥的加密密钥保持单元。可基于保持在加密密钥保持单元307中的信息,确定是否已与另一通信装置发生密钥交换。
[0056]308是随机数生成单元。正是随机数生成单元308生成当密钥交换控制单元306如先前所述生成会话密钥时使用的随机数信息。在生成组密钥时也可使用由随机数生成单元308生成的随机数。
[0057]注意,无论被实施为软件或是硬件,所有的功能块都具有相互关系。此外,上述功能块是例子;单个功能块可由多个功能块构成,并且,功能块中的任一个可被进一步划分成执行多个功能的块。
[0058]图2是示出终端A22、B23和C24以及由终端A22和B23创建的ad-hoc网络21的图。
[0059]每一终端提供有基于IEEE802.11的无线LAN通信的功能性,通过无线LAN ad-hoc(以下简称为“ad-hoc”)通信来执行无线通信,并具有先前参照图1和图3描述的配置。
[0060]图2假定终端A22 (以下称为“终端A”)和终端B23 (以下称为“终端B”)已经交换了加密密钥。在本实施例中,在已发生在终端A和B之间的加密密钥交换处理中,终端A用作认证方,终端B用作请求方。并且,为了统一在终端之间共享的加密密钥,假定将其MAC(媒体访问控制)地址为最高的终端用作认证方而进行用于交换加密密钥的处理。注意,通过基于词典(lexicographic)顺序的比较,来确定MAC地址的大小关系。
[0061]这里,考虑新通信装置即终端C24 (以下称为“终端C”)加入已通过交换加密密钥而建立的网络21的情形。
[0062]为了使终端C加入网络21,终端C首先通过广播来发送探测请求(要被搜索的终端未被指定),于是,构成网络21的终端中的一个,或者终端A或终端B,返回探测响应。这里,在IEEE802.11无线LANad-hoc网络中,每一终端随机地发送信标。当探测请求已通过广播被发送时,指定紧接在接收到探测请求之前发送信标的终端要返回探测响应。
[0063]处理序列依赖于是终端A还是终端B返回探测响应而改变。
[0064]另外,当终端C加入网络21时执行的处理序列还依赖于返回探测响应的终端对于如下加密密钥交换处理的作用而不同:当从终端C接收到探测请求时,所述加密密钥交换处理是激活的(active)。
[0065]图4是示出在如下情况中执行的处理序列的图:其中,当终端的MAC地址大小关系是终端A>终端B〉终端C时,终端C在发送探测请求时已从终端B接收到探测响应。
[0066]首先,为了尝试加入已由终端A和B创建的网络21,终端C通过广播发送探测请求(F401)。
[0067]在终端A和B之中,已接收到探测请求的终端向终端C返回探测响应。这里,终端B紧接在接收到探测请求之前已发送了信标,从而,由终端B向终端C返回探测响应(F402)。
[0068]已接收到探测响应之后,终端C将它自己的MAC地址的大小与探测响应的源的MAC地址(换句话说,终端B的MAC地址)的大小相比较。返回探测响应的终端B也将它自己的MAC地址的大小与探测响应的目的地的MAC地址(换句话说,作为探测请求的源的终端C的MAC地址)的大小相比较,并确定其间的大小关系(F403)。
[0069]作为此比较的结果,终端B确定终端C和B的MAC地址处于终端C〈终端B的大小关系。另外,终端B确认它自身在与终端A进行的加密密钥交换处理中起到的作用。如先前所述,对于MAC地址,终端A>终端B,终端B用作请求方;因此,终端B在它与终端C的关系中也不起认证方的作用。这是因为,如果终端B要变成认证方并与终端C执行加密密钥交换处理,那么加密密钥将失去它们在网络上的统一性。因此,终端B不确定终端C的作用,而是让终端A确定该作用。结果,终端B确定不与终端C进行加密密钥交换处理,并向终端C发送密钥交换拒绝通知(F404)。
[0070]并且,终端B向终端A发送新终端信息通知,向终端A通知终端C已加入网络(F405)。当新终端信息通知被发送时,在该通知中包含新终端或者终端C的MAC地址。
[0071]已接收到新终端信息通知之后,终端A将包含于新终端信息通知中的终端C的MAC地址与它自己的MAC地址相比较,并确定对于MAC地址而言终端A>终端C。结果,确定终端A继续用作认证方,而终端C用作请求方。终端A然后向终端C发送四路握手的消息I(F406)。[0072]如果终端A和终端C能够通信,那么四路握手继续,之后进行组密钥握手(F407至F411)。注意,终端A将它通过与终端B进行的加密密钥交换处理提供给终端B的加密密钥(组密钥)发送给终端C。这使得可以在整个网络中统一加密密钥。
[0073]如先前所提及,四路握手和组密钥握手的机制如在IEEE802.1li规范中所描述的那样,因此这里将省略其细节。
[0074]图4示出终端B响应于由终端C发送的探测请求而返回探测响应的情况。下面,将参照图5描述当终端A返回探测响应时执行的序列。
[0075]首先,为了尝试加入已由终端A和B创建的网络21,终端C通过广播来发送探测请求(F501)。
[0076]在终端A和B之中,已接收到探测请求的终端向终端C返回探测响应。这里,终端A紧接在接收到探测请求之前已发送了信标,从而,由终端A向终端C返回探测响应(F502)。
[0077]已接收到探测响应之后,终端C将它自己的MAC地址的大小与探测响应的源的MAC地址(换句话说,终端A的MAC地址)的大小相比较,并确定其间的大小关系。返回探测响应的终端A也将它自己的MAC地址的大小与探测响应的目的地的MAC地址(换句话说,作为探测请求的源的终端C的MAC地址)的大小相比较,并确定其间的大小关系(F503)。
[0078]作为该比较的结果,终端A确定终端C和A的MAC地址处于终端C〈终端A的大小关系。另外,终端A确认它自身在与终端B进行的加密密钥交换处理中起到的作用。如先IU所述,对于MAC地址,终纟而A〉终纟而B,并且终纟而A用作认证方;因此,确定终纟而A在它与终端C的关系中也用作认证方,而终端C用作请求方。这是因为,可通过以终端A作为认证方并以终端C作为请求方执行加密密钥交换处理,在整个网络中统一加密密钥。
[0079]终端A由此继续用作认证方,并向终端C发送用于四路握手的消息I (F504)。
[0080]如果终端A和C能够通信,那么四路握手继续,之后进行组密钥握手(F505至F509)。如前面那样,终端A将它通过与终端B进行的加密密钥交换处理提供给终端B的加密密钥(组密钥)发送给终端C。这使得可以在整个网络中统一加密密钥。
[0081 ] 虽然图4和图5示出终端的MAC地址之间的关系为终端A>终端B〉终端C的情况,但是,也可考虑该关系为终A〉终纟而C〉终纟而B或者终C〉终纟而A〉终纟而B的情况。
[0082]下面,将考虑终端的MAC地址之间的大小关系为终端A>终端C〉终端B的情况。
[0083]如关系为终端A>终端B〉终端C的前面提到的情况中那样,可以考虑探测响应的源为终端A或终端B的两种情形。
[0084]首先将讨论从终端A返回探测响应的情况。在这种情况下,终端A确定MAC地址之间的大小关系为终端A>终端C,并还在终端A和终端B之间进彳丁的加SS钥父换处理中起到认证方的作用。因此,确定终端A继续用作认证方,而终端C用作请求方。这导致与图5所示的序列相同的序列。
[0085]接着将讨论从终端B返回探测响应的情况。在这种情况下,终端B在图4中的F403处确定终C和A的MAC地址处于终纟而C〉终纟而B的大小关系。另外,终纟而B在终纟而B和终端A之间执行的加密密钥交换处理中起到请求方的作用。因此,终端B不就终端C将起到哪种作用进行确定,并且假定该作用依赖于终端A和终端C的MAC地址之间的大小关系。其原因在于,如果在该时间点处终端B确定终端C将是认证方并与终端C执行加密密钥交换处理,那么加密密钥将在整个网络中不匹配。[0086]因此,终端B向终端C发送密钥交换拒绝通知(F404),并向终端A发送新终端信息通知(F405)。已接收到新终端信息通知之后,终端A然后将它自己的MAC地址与终端C的MAC地址相比较,并且确定以终端A用作认证方并以终端C用作请求方与终端C执行密钥交换处理。这导致与先前在图4中示出的序列相同的序列。
[0087]最后,将考虑终端的MAC地址之间的大小关系为终端C〉终端A>终端B的情况。
[0088]在这种情况下,也可考虑探测响应的源为终端A或终端B的两种情形。首先,将参照图6中的序列图来描述当终端B返回探测响应时执行的序列。
[0089]首先,为了尝试加入已由终端A和B创建的网络21,终端C通过广播发送探测请求(F601)。
[0090]在终端A和B之中,已接收到探测请求的终端向终端C返回探测响应。这里,终端B紧接在接收到探测请求之前已发送了信标,因此由终端B向终端C返回探测响应(F602)。
[0091]已接收到探测响应之后,终端C将它自己的MAC地址的大小与探测响应的源的MAC地址(换句话说,终端B的MAC地址)的大小相比较,并确定其间的大小关系。返回探测响应的终端B也将它自己的MAC地址的大小与探测响应的目的地的MAC地址(换句话说,作为探测请求的源的终端C的MAC地址)的大小相比较,并确定其间的大小关系(F603)。
[0092]作为该比较的结果,终端B确定终端C和B的MAC地址处于终端C〉终端B的大小关系。另外,终端B确认它自身在与终端A进行的加密密钥交换处理中起到的作用。如先前所述,对于MAC地址,终端A>终端B,并且终端B确认用作请求方。因此,终端B不就终端C将起哪种作用进行确定,并且假定该作用依赖于终端A与终端C的MAC地址之间的大小关系。其原因在于,如果在该时间点处终端B确定终端C将是认证方并与终端C执行加密密钥交换处理,那么加密密钥将在整个网络中不匹配。因此,终端B向终端C发送密钥交换拒绝通知(F604),并且还向终端A发送新终端信息通知,将终端C已加入网络通知终端A(F605)。
[0093]已接收到新终端信息通知之后,终端A将包含于新终端信息通知中的终端C的MAC地址与它自己的MAC地址相比较,并确定对于MAC地址,终端A〈终端C。结果,确定终端A用作请求方,而终端C用作认证方。为了请求四路握手的发起,终端A然后向终端C发送EAPOL-START (F606)。
[0094]这里所指的“EAPOL-START”是用于请求认证的发起的消息,并且,在本实施例中被用作用于请求加密密钥交换处理的发起的消息。
[0095]已接收到EAPOL-START之后,终端C向终端A发送四路握手的消息I (F607)。如果终端A和C能够通信,那么四路握手继续,之后进行组密钥握手(F608至F612)。
[0096]为了使到目前为止由终端A起到的网络认证方的作用传递到终端C,终端A向终端C传送它所知晓的请求方的信息(在本实施例中,终端B的信息)(F613)。
[0097]已被通知请求方之后,终端C与作为请求方的终端B执行新的加密密钥交换处理(F614至F619)。这里,终端C也向终端B发送它通过与终端A进行的加密密钥交换处理提供给终端A的加密密钥(组密钥)。这使得可以在整个网络中统一加密密钥。
[0098]注意,在F613中,终端A可将终端C是新的认证方通知终端B (所述终端B已为终端A所知是请求方),而不是向终端C传送请求方的信息。在这种情况下,已接收到通知的请求方终端B可通过向终端C发送EAPOL-START来与终端C执行加密密钥交换处理。[0099]以此方式,即使在新的终端C是认证方的情况下,也与所有的预先存在的终端执行加密密钥交换处理,从而可在整个网络中统一加密密钥。
[0100]下面,将参照图7描述当终端A返回探测响应时执行的序列。
[0101]首先,为了尝试加入已由终端A和B创建的网络21,终端C通过广播来发送探测请求(F701)。
[0102]在终端A和B之中,已接收到探测请求的终端向终端C返回探测响应。这里,终端A紧接在接收到探测请求之前已发送了信标,从而由终端A向终端C返回探测响应(F702)。
[0103]已接收到探测响应之后,终端C将它自己的MAC地址的大小与探测响应的源的MAC地址(换句话说,终端A的MAC地址)的大小相比较,并确定其间的大小关系。返回探测响应的终端A也将它自己的MAC地址的大小与探测响应的目的地的MAC地址(换句话说,作为探测请求的源的终端C的MAC地址)的大小相比较,并确定其间的大小关系(F703)。
[0104]作为该比较的结果,终端A确定终端C和A的MAC地址处于终端A〈终端C的大小关系。
[0105]另外,终端A确认它自身在与终端B进行的加密密钥交换处理中起到的作用。如先前所述,对于MAC地址,终端A>终端B,并且终端A用作认证方;因此,确定终端A在它与终端C的关系中用作请求方,而终端C用作认证方。为了请求四路握手的发起,终端A然后向终端 C 发送 EAPOL-START (F704)。
[0106]已接收到EAPOL-START之后,终端C向终端A发送四路握手的消息I (F705)。如果终端A和C能够通信,那么四路握手继续,之后进行组密钥握手(F706至F710)。
[0107]为了将到目前为止由终端A起到的网络认证方的作用传递到终端C,终端A向终端C传送它所知晓的请求方的信息(在本实施例中,终端B的信息)(F711)。
[0108]已被通知请求方之后,终端C与每一请求方执行新的加密密钥交换处理(F712至F717)。这里,终端C也向终端B发送它通过与终端A进行的加密密钥交换处理提供给终端A的加密密钥(组密钥)。这使得可以在整个网络中统一加密密钥。
[0109]注意,在F711中,终端A可将终端C是新的认证方通知终端B(所述终端B已为终端A所知是请求方),而不是向终端C传送请求方的信息。在这种情况下,已接收到通知的请求方终端B可通过向终端C发送EAPOL-START来与终端C执行加密密钥交换处理。
[0110]以此方式,即使在新的终端C是认证方的情况下,也与所有的预先存在的终端执行加密密钥交换处理,从而可在整个网络中统一加密密钥。
[0111]现在将描述用于实施到目前为止所描述的处理序列的每一终端的操作流程图。
[0112]图8是示出存在于预先存在的网络21上的终端(以下称为“预先存在的终端”)之中响应来自新终端C的探测请求的终端的操作流程的图。
[0113]首先,预先存在的终端(在本实施例中,终端A或终端B)接收来自新终端C的探测请求(S801)。在接收探测请求的预先存在的终端之中,紧接在接收到探测请求之前发送了信标的预先存在的终端发送探测响应(S802 )。
[0114]发送探测响应的预先存在的终端然后将它自己的MAC地址与探测响应的目的地终端或者终端C的MAC地址相比较(S803 )。
[0115]在比较结果指示该预先存在的终端自己的MAC地址比新终端的MAC地址大的情况下,该预先存在的终端确认它在与另一预先存在的终端执行的加密密钥交换处理中起到的作用(S804)。
[0116]在该预先存在的终端用作请求方、或者换句话说在本实施例中是预先存在的终端B的情况下,该预先存在的终端确定自身不确定新终端C的作用。该预先存在的终端B然后向新终端C发送密钥交换拒绝通知(S805),并且,向在该预先存在的终端B自身用作请求方时作为认证方的终端、或者换句话说在本实施例中向预先存在的终端A发送新终端信息通知(S806)。
[0117]在S804中,在该预先存在的终端用作认证方、或者换句话说在本实施例中是预先存在的终端A的情况下,该预先存在的终端确定该预先存在的终端自身是认证方而新终端C是请求方。该预先存在的终端A然后通过向新终端C发送四路握手的消息I来发起加密密钥交换处理(S807)。这里,通过在预先存在的终端A和B之间进行的加密密钥交换处理而提供给预先存在的终端B的加密密钥(组密钥)被发送给新终端C。通过这样,包括新终端的网络上的终端的加密密钥可被统一。
[0118]也可考虑S803中执行的MAC地址比较的结果指示该预先存在的终端自身的MAC地址比新终端的MAC地址低的情况。在这种情况下,同样,该预先存在的终端确认它自身在与另一预先存在的终端进行的加密密钥交换处理中起到的作用(S808)。
[0119]在该终端自身用作请求方、或者换句话说在本实施例中是预先存在的终端B的情况下,该预先存在的终端确定自身不确定新终端C的作用。该预先存在的终端B然后向新终端C发送密钥交换拒绝通知(S809),并向在该预先存在的终端B自身用作请求方时作为认证方的终端、或者换句话说在本实施例中向预先存在的终端A发送新终端信息通知(S810)。
[0120]之后,在由预先存在的终端A执行的MAC地址确定的结果指示新终端C是认证方的情况下,预先存在的终端B从新终端C接收四路握手的消息1(S815)。作为替代方案,预先存在的终端B从预先存在的终端A接收指示新终端C已变成新认证方的通知(S815)。
[0121]已从新终端C接收到四路握手的消息I之后,预先存在的终端B与新终端C进行四路握手和组密钥握手(S816)。
[0122]同时,在预先存在的终端B已从预先存在的终端A接收到指示新终端C已变成新认证方的通知的情况下,预先存在的终端B通过向新终端C发送EAPOL-START而与新终端C进行加密密钥交换处理(S816)。
[0123]注意,在S816中,预先存在的终端B从新终端C接收加密密钥,该加密密钥与通过在新终端C和预先存在的终端A之间进行的加密密钥交换处理提供给预先存在的终端A的加密密钥(组密钥)是同样的。这在整个网络中统一了加密密钥。
[0124]在S815中未接收到任何消息的情况意味着预先存在的终端A已确定继续起认证方的作用,并且,因为不需要预先存在的终端B执行加密密钥交换处理,所以处理于是结束。
[0125]在S808中的确定结果指示预先存在的终端自身用作认证方、或者换句话说在本实施例中是预先存在的终端A的情况下,确定新终端C将是认证方并且该预先存在的终端自身将是请求方(S811)。预先存在的终端A然后向新终端C发送EAPOL-START (S812),并且与新终端C进行加密密钥交换处理(S813)。之后,为了在整个网络中统一加密密钥,预先存在的终端A将它到目前为止已知晓的请求方的信息、或者换句话说本实施例中预先存在的终端B的信息转发给新终端C (S814)。注意,在S814中,预先存在的终端A可向到目前为止被预先存在的终端A所知是请求方终端的预先存在的终端B传送作为新认证方的新终端C的信息。
[0126]下面,将参照图10描述接收到在图8中的S806或S810中提供的新终端信息通知的终端(在本实施例中,预先存在的终端A)的操作流程图。
[0127]在与预先存在的终端B执行的加密密钥交换处理中用作认证方的预先存在的终端A从用作请求方的预先存在的终端B接收新终端信息通知(S1001)。如上所述,新终端C的MAC地址包含于该新终端信息中。
[0128]在接收到新终端信息通知时,预先存在的终端A将包含于新终端信息中的新终端C的MAC地址与它自己的MAC地址相比较(S1002)。
[0129]如果S1002中的比较结果指示该终端自身的MAC地址较大,那么确定预先存在的终端A将继续用作认证方并且新终端C将变成请求方(S1003)。预先存在的终端A然后通过向新终端C发送四路握手的消息1,来发起加密密钥交换处理(S1004)。这里,与通过在预先存在的终端A和B之间进行的加密密钥交换处理提供给预先存在的终端B的加密密钥(组密钥)相同的加密密钥被发送给新终端C。这使得可以在整个网络中统一加密密钥。
[0130]但是,如果S1002中的比较结果指示该终端自身的MAC地址较小,那么确定新终端C将是认证方并且预先存在的终端A将用作请求方(S1005)。
[0131]预先存在的终端A然后向新终端C发送EAPOL-START (S1006)。如果预先存在的终端A和新终端C能够通信,那么然后进行四路握手和组密钥握手(S1007)。之后,为了在整个网络中统一加密密钥,预先存在的终端A向新终端C转发它到目前为止已知晓的请求方、或者预先存在的终端B的信息(S1008)。注意,在S1008中,预先存在的终端A可向到目前为止被预先存在的终端A所知是请求方终端的预先存在的终端B传送作为新认证方的新终端C的信息。
[0132]现在将参照图9描述新终端C的操作流程图。
[0133]新终端C通过广播来发送探测请求(S901),并从预先存在的终端接收探测响应(S902)。
[0134]在接收到探测响应时,新终端C将它自己的MAC地址与作为探测响应的源的终端的MAC地址相比较(S903 )。
[0135]在比较结果指示新终端C自己的MAC地址比作为探测响应的源的终端的MAC地址大的情况下,新终端C确认它是否要从作为探测响应的源的终端接收密钥交换拒绝通知(S904)。
[0136]在密钥交换拒绝通知已被接收到的情况下,新终端C等待从作为探测响应的源的终端以外的预先存在的终端接收四路握手的消息I或EAPOL-START (S905)。这里,在这些消息中的一个已被接收到的情况下,当作为消息的源的终端的BSSID (网络识别符)与作为探测响应的源的终端的BSSID是同样的时,过程前进到S906。这使得可以在确认该预先存在的终端是否与作为探测响应的源的终端属于相同的网络之后执行加密密钥交换处理。
[0137]同时,在这些消息均没有被接收到的情况下,或者,在这些消息中的任一条已被接收到但作为该消息的源的终端的BSSID与作为探测响应的源的终端的BSSID不同的情况下,过程返回S901。在本实施例中,预先存在的终端A是这些消息之一的源。[0138]在S906中,新终端C接着进行四路握手和组密钥握手,并且与预先存在的终端A的加密密钥交换处理被完成。注意,在S905中已接收到四路握手的消息I的情况下,新终端C用作请求方,而如果已接收到EAPOL-START,那么新终端C用作认证方。
[0139]之后,当新终端C从在与预先存在的终端执行的密钥交换处理中用作请求方的终端(在本实施例中,预先存在的终端B)接收到信息通知(S907)时,过程前进到S908。然后,通过向包含于该通知中的预先存在的终端B发送四路握手的消息1,来发起密钥交换处理(S908)。注意,在新终端C在S906的加密密钥交换处理中用作认证方的情况下,在S907中接收到预先存在的终端B的信息。在这种情况下,在S908中,新终端C还向预先存在的终端B发送与在S906中执行的加密密钥交换处理中提供给预先存在的终端A的加密密钥相同的加密密钥。
[0140]另外,在S907中从在与预先存在的终端执行的密钥交换处理中用作请求方的终端(在本实施例中,终端B)接收到EAPOL-START的情况下,也与预先存在的终端B执行相同的密钥交换处理(S908)。
[0141]执行这种处理使得可以:即使在新终端C是认证方的情况下,也在整个网络中统一加密密钥。
[0142]在S904中没有接收到密钥交换拒绝通知的情况下,新终端C确定它自己的作用是认证方的作用(S909),并且,执行加密密钥交换处理(S910)。
[0143]在S903中执行的MAC地址比较的结果指示新终端C自身的MAC地址比作为探测响应的源的终端的MAC地址低的情况下,新终端C确定它自己的作用是请求方的作用(S911)。
[0144]新终端C然后等待从预先存在的终端接收四路握手的消息1(S912)。这里,在四路握手的消息I已被接收到的情况下,当作为消息I的源的终端的BSSID与作为探测响应的源的终端的BSSID是同样的时,过程前进到S913。这使得可以在确认该终端是否与作为探测响应的源的终端属于相同的网络之后执行加密密钥交换处理。但是,在四路握手的消息I还没有被接收到的情况下,或者,在消息I已被接收到但作为消息I的源的终端的BSSID与作为探测响应的源的终端的BSSID不同的情况下,过程返回S901。
[0145]在S913中,新终端C接着与作为消息I的源的终端执行四路握手和组密钥握手,并且加密密钥交换处理被完成(S913)。这里,新终端C接收与通过在预先存在的终端之间进行的加密密钥交换处理而在预先存在的终端之间共享的加密密钥相同的加密密钥。这在整个网络中统一了加密密钥。
[0146]如到目前为止所述的那样,发送探测响应的预先存在的终端基于该预先存在的终端自身在预先存在的终端之间进行的密钥交换处理中起到的作用,确定是否要与新终端执行密钥交换处理。并且,确定与新终端执行密钥交换处理的预先存在的终端确定在自身和新终端之间进行的密钥交换处理中要起到的作用,并且,新终端根据该确定来操作。以此方式,通过互相协同地操作的终端,可以在整个网络中容易地统一加密密钥。
[0147]注意,图9的S903中的MAC地址比较处理可被省略。在这种情况下,新终端C可待机所设定量的时间,用于从预先存在的终端接收四路握手的消息I或EAPOL-START,然后基于它被通知的消息来确定它自己的作用。这里,在从预先存在的终端已接收到四路握手的消息的情况下,新终端C可用作请求方,而如果EAPOL-START已被接收到,那么新终端C可用作认证方。[0148]并且,在图4至7中示出的序列图仅是本发明的例子。换句话说,不言而喻的是,与图4至7中示出的序列图不同的序列图也包含于本发明的范围内,只要它们实现图8至10中示出的确定流程图中所示的细节的本质即可。
[0149]虽然到目前为止已描述了本发明的实施例,但应注意,这仅描述了本发明的例子,并且本发明的范围并不意在限于前述实施例。在不背离本发明的基本精神的情况下,可以以各种方式修改实施例。
[0150]例如,虽然上面的实施例使用WPA标准所规定的密钥交换消息来描述,但是,密钥交换方法不限于此。任何密钥交换方法都可被使用,只要它能够实现相同的作用即可。
[0151]并且,虽然使用MAC地址的大小关系来确定密钥交换处理中的作用,但是可使用MAC地址以外的识别信息来执行该确定。
[0152]最后,虽然以上的实施例描述了新终端C加入其中两个终端已加入的网络的情况,但是本发明也可被应用在已存在三个或更多个预先存在的终端的情况中。例如,可以考虑在终端C已加入网络之后,为了使新终端D加入网络而进行加密密钥交换处理的情况。在这种情况下,响应于来自终端C的探测请求而返回探测响应的终端在图8的S804和S808中确定要在终端A、B和C之间进行的密钥交换处理中所起的作用。基于该确定的结果来执行随后的处理流程使得可以在整个网络中统一加密密钥。
[0153]虽然已参照示例性实施例描述了本发明,但应理解,本发明不限于所公开的示例性实施例。随附的权利要求的范围应被赋予最宽的解释,以包含所有这样的修改以及等同的结构和功能。
[0154]本申请要求在2007年12月5日提交的日本专利申请N0.2007-314793的权益,在此通过参考而并入其全部内容。
【权利要求】
1.一种通信装置,包括: 确定部件,用于确定所述通信装置将用作用于向接收装置提供通信参数的提供装置还是用于从提供装置接收通信参数的接收装置; 提供部件,用于在所述通信装置将用作提供装置的情况下,将用于在无线网络中进行通信的通信参数提供给第一其它通信装置; 发送部件,用于将指示加入所述无线网络的第一其它通信装置的信息发送给第二其它通信装置。
2.根据权利要求1所述的通信装置,其中,确定部件基于从另一装置接收的信息和与所述通信装置自身有关的信息之间的比较来执行确定。
3.根据权利要求1所述的通信装置,其中,由发送部件发送的指示第一其他通信装置的信息供第二其他通信装置用来建立与第一其它通信装置的通信组。
4.根据权利要求1所述的通信装置,其中,发送部件响应于从第二其它通信装置接收到探测请求,将指示第一其它通信装置的信息发送给第二其它通信装置。
5.根据权利要求1所述的通信装置,其中,通信参数包括用于执行加密通信的加密密钥。
6.根据权利要求1所述的通信装置,其中,依赖于由发送部件发送的指示第一其它通信装置的信息,在第一其他通信装置和第二其它通信装置之间执行四路握手。
7.根据权利要求1所述的通信装置,其中,在所述通信装置和第一其它通信装置建立通信组的情况下,发送部件将指示第一其它通信装置的信息发送给第二其它通信装置。
8.根据权利要求1所述的通信装置,其中,在所述通信装置和第一其它通信装置之间执行了四路握手的情况下,发送部件将指示第一其它通信装置的信息发送给第二其它通信>j-U ρ?α装直。
9.根据权利要求1所述的通信装置,其中,确定部件通过遵照ΙΕΕΕ802.11的无线网络中的通信来执行确定。
10.根据权利要求2所述的通信装置,其中,确定部件在由与所述通信装置自身有关的信息指示的数大于由从另一装置接收的信息指示的数的情况下确定所述通信装置将用作提供装置,并且在由与所述通信装置自身有关的信息指示的数小于由从另一装置接收的信息指示的数的情况下确定所述通信装置将用作接收装置。
11.根据权利要求1所述的通信装置,其中,发送部件将指示第一其它通信装置的信息发送给不加入所述无线网络的第二其它通信装置。
12.根据权利要求1所述的通信装置,其中,提供装置是在WPA(W1-Fi保护访问)中规定的认证方,接收装置是在WPA中规定的请求方。
13.根据权利要求1所述的通信装置,其中,提供装置是在ΙΕΕΕ802.1li中规定的认证方,接收装置是在ΙΕΕΕ802.1li中规定的请求方。
14.根据权利要求1所述的通信装置,其中,发送部件响应于由确定部件进行的确定来发送指示第一其它通信装置的信息。
15.一种通信装置的控制方法,所述控制方法包括: 确定所述通信装置将用作用于向接收装置提供通信参数的提供装置还是用于从提供装置接收通信参数的接收装置;在所述通信装置将用作提供装置的情况下,将用于在无线网络中进行通信的通信参数提供给第一其它通信装置; 将指示加入所述无线网络的第 一其它通信装置的信息发送给第二其它通信装置。
【文档编号】H04L9/08GK103716156SQ201410009544
【公开日】2014年4月9日 申请日期:2008年12月2日 优先权日:2007年12月5日
【发明者】后藤史英 申请人:佳能株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1