具体实施方式
请参阅图1,图1为本发明实施例提供的一种通信系统的示意图,通信系统包括接入点AP以及AP服务范围的基本服务集(Basic ServiceSet,BSS)内的站点。
IEEE802.11规范规定了2.4GHz、5GHz甚至60GHz频谱上的无线传输的物理层和MAC层协议。在一个IEEE802.11规范规定的基本服务集BSS中,AP为一个BSS中的承担控制实体功能的站点,向与其关联的其他站点提供到分布系统(Distribution System,DS)的接入。此外AP还可以用点协调功能(Point Control Function,PCF)来协调各站点的数据发送。本实施例中的通信系统中的AP关联了站点1~5共5个站点。
其中,以下本发明实施例中所提到的站点,是指用户站点或用户终端等。
请参阅图2,图2是本发明实施例提供的第一种分配寻址标识的方法的流程图,本实施例以接入点的角度来进行描述,本实施例的分配寻址标识的方法包括:
S101:接入点向其服务的基本服务集BSS内至少两个站点通知每个站点对应的加密的新MAC地址,并指示预定更改条件;
其中,本实施例中,寻址标识包括MAC地址。
接入点分别向至少两个站点通知每个站点对应的加密的新MAC地址,并指示预定更改条件。以使得至少两个站点在达到预定更改条件时,分别将各自的MAC地址更改为各自的新MAC地址。
其中,指示预定更改条件可以有以下几种可能的实现方式:
1)接入点向至少两个站点通知每个站点对应的加密的新MAC地址时,携带指示更改的预定时间或预定时间点;
2)接入点向至少两个站点通知每个站点对应的加密的新MAC地址后,通过单播的方式分别向至少两个站点发送更改指示消息;
3)接入点向至少两个站点通知每个站点对应的加密的新MAC地址后,通过广播的方式向至少两个站点群发更改指示消息。
也就是说,指示预定更改条件可以以单播或广播的方式发送,其中,优选通过广播发送。当以单播的方式发送时,可以在进行所述通知的同一时间发送并携带进行更改的时间信息。当以广播发送时,接入点可以在工作信道上广播一个更改指示消息,指示站点进行MAC地址的更改。
各个站点在获得各自对应的新MAC地址,并达到预定更改条件时,将新MAC地址配置到MAC层。在随后的消息交互中,以站点的新MAC地址作为寻址标识。
S102:在达到预定更改条件时,接入点将至少两个站点的MAC地址更新为站点对应的新MAC地址,以使得后续自站点接收和向站点发送消息时,以新MAC地址作为站点的MAC地址;
在达到预定更改条件时,接入点将其内部的至少两个站点的MAC地址更新为站点对应的新MAC地址。这样,在下一个自站点接收的消息和向站点发送的消息中,以站点的新MAC地址作为站点的MAC地址。
通过上述本发明实施例的详细描述,可以理解,本发明通过接入点来调整整个基本服务集中多个站点的MAC地址变换,向多个站点通知每个站点对应的加密的新MAC地址,以使每个站点在达到预定更改条件时,分别将各自的MAC地址更改为其对应的新MAC地址,在达到预定更改条件时,接入点也将多个站点的MAC地址更新为站点对应的新MAC地址。通过这样的方式,接入点向站点发送的新MAC地址经过加密,窃听者无法窃取到新MAC地址。通过控制多个站点都变换MAC地址,因此更改MAC地址后,窃听者无法继续追踪终端MAC地址获取用户隐私,保障了用户的隐私安全。
请参阅图3,图3是本发明实施例提供的第二种分配寻址标识的方法的流程图,本实施例以接入点的角度来进行描述,本实施例的分配寻址标识的方法包括:
S201:接入点与至少两个站点之间进行加密密钥协商,接入点获取用于对每个站点的新MAC地址进行加密的加密密钥;
接入点与至少两个站点的每个站点分别进行共享加密密钥协商,接入点得到用于对站点的新MAC地址进行加密的加密密钥Ekey。本发明实施例中的加密密钥可以是对称加密密钥或非对称加密密钥。
当加密密钥为对称加密密钥时,以接入点与站点1进行加密密钥协商为例,接入点跟站点1进行共享加密密钥协商,接入点得到Ekey1,接入点以Ekey1为对称加密算法的加密密钥,对站点1的新MAC地址进行加密。当在优选实施例中,需要同时更新站点的关联标识(Association ID,AID)时,也用该加密密钥对新AID进行加密。站点1用Ekey1解密得到新MAC地址和新AID。其中,接入点与站点1在认证阶段的四步握手阶段由成对主密钥(Pairwise Master Key,PMK)生成成对瞬时密钥(Pairwise Transient Key,PTK),再由PTK生成临时密钥(Temporal Key,TK)。
本实施例中,可以由PTK直接截取128位得到的TK来做为Ekey1;或者由PTK在截取KCK(Key Confirmation Key,密钥确认密钥)、KEK(Key Encryption Key,密钥加密密钥)、TK后的剩余位中取128位的密钥来作为Ekey1;或者,接入点与站点1进行随机数(Nonce)交换后,以双方随机数及TK来衍生出Ekey1;更多地,接入点与站点1在进行随机数(Nonce)交换后,以双方随机数、时间戳(timestamp)及TK来衍生出Ekey1。衍生方法有多种,如以随机数、时间戳和TK进行散列算法运算SHA-256后取高128位或低128位等。相应地,密钥协商过程为四步握手及随机数交换等过程。
当加密密钥为非对称加密密钥时,通常是一个公钥。同样以接入点与站点1进行加密密钥协商为例。比如,当使用RSA(Rivest ShamirAdleman)算法时,Ekey1为站点1发送给接入点的一个RSA公钥。接入点以Ekey1对站点1的新MAC地址和新AID进行加密,站点1收到后以相应的RSA私钥进行解密。相应的密钥协商过程主要为公钥发送接收过程。
接入点以与站点协商好的加密密钥对站点的新MAC地址和新AID进行加密。其中,对新MAC地址和新AID的加密可以两个一起加密,也可以分开单独加密。比如以Ekey1对站点1的新MAC地址(MAC1-1)和新AID(AID1-1)进行加密为例。这里的Ekey1可以是对称加密密钥或非对称加密密钥,本发明实施例中优选对称加密密钥。
当Ekey1为对称加密密钥时,加密MAC1-1和AID1-1的加密方式可以为AES-CCM方式,Ekey1为128比特的密钥,其加密式可以表示为:
加密的MAC1-1和AID1-1=AES-CCM-128Ekey1(MAC1-1和AID1-1)
需要说明的是,MAC1-1和AID1-1可以分别进行加密,如
加密的MAC1-1=AES-CCM-128Ekey1(MAC1-1)
加密的AID1-1=AES-CCM-128Ekey1(AID1-1)
上述只是以接入点与站点1进行加密密钥协商为例进行说明,接入点与其他站点的加密密钥协商的过程以及对新MAC地址和新AID进行加密的过程跟上述基本一致,在此不一一赘述。
S202:接入点确认其服务的基本服务集BSS内的至少两个站点各自对应的新MAC地址;
在优选实施例中,为进一步避免窃听者通过跟踪AID而追踪到用户隐私,可以同时更新站点的AID。当需要同时更新站点的AID时,接入点确认其服务的基本服务集BSS内的至少两个站点各自的新MAC地址时,同时确认每个站点对应的新AID。
其中,每个站点分别对应不同的新MAC地址和新AID。
其中,本实施例中提供接入点确认其服务的BSS内的至少两个站点各自对应的新MAC地址和新AID的两种可能的实现方式,当然,在能够实现本发明目的的基础上,也可以采用其他可能的方式来实现。
第一种方式:接入点接收其服务的BSS内的至少两个站点的更改请求,每个站点的更改请求中包括每个站点请求的新MAC地址。也就是说,站点会在请求中携带自己优先希望使用的新MAC地址。当接入点接收到至少两个站点的更改请求后,对每个站点请求的新MAC地址进行唯一性查证,在唯一性查证通过时,为每个站点分配新AID。以每个站点请求的新MAC地址和分配的新AID作为确定的站点对应的新MAC地址和新AID。
其中,本发明实施例中,对站点请求的新MAC地址进行唯一性查证的一种可能的实现方式可以是:将站点请求的新MAC地址与接入点服务的基础服务集BSS内的所有站点的MAC地址进行比对,若站点请求的新MAC地址当前未被接入点服务的BSS内任何一个站点使用过,则认为站点请求的新MAC地址唯一性查证通过。
第二种方式:接入点为其服务的BSS内的至少两个站点分配新MAC地址和新AID,每个站点分配的新MAC地址和新AID为确认的站点对应的新MAC地址和新AID。
需要说明的是,上述步骤S201与S202在实际应用过程中,不严格区分先后,也就是说,可以先执行S201再执行S202,或者先执行S202再执行S201,甚至可以S201与S202同步执行。
S203:接入点向至少两个站点通知每个站点对应的加密的新MAC地址,并指示预定更改条件;
接入点分别向至少两个站点通知每个站点对应的加密的新MAC地址,并指示预定更改条件。以使得至少两个站点在达到预定更改条件时,分别将各自的MAC地址更改为各自的新MAC地址。
其中,在优选实施例中,为了避免窃听者通过跟踪AID进一步获取用户隐私,在更新站点的MAC地址的同时,将站点的AID也一起更改。因此,在优选实施例中,接入点向至少两个站点通知每个站点对应的加密的新MAC地址时,还可以通知每个站点对应的加密的新AID。以使得至少两个站点在达到预定更改条件时,将各自的MAC地址和新AID都更改为各自的新MAC地址和新AID。
当接入点确认其服务的BSS内的至少两个站点各自对应的新MAC地址和新AID是通过上述第一种方式实现时,接入点以单播方式向每个站点回复确认消息,确认消息指示同意站点使用其请求的新MAC地址,并向每个站点通知新AID。而当站点请求的新MAC地址在唯一性查证没有通过时,回复的确认消息中携带一个符合唯一性的新MAC地址。其中,新AID可以在确认消息中携带,或通过另一消息发送。
当接入点确认其服务的BSS内的至少两个站点各自对应的新MAC地址和新AID是通过上述第二种方式实现时,接入点可以通过单播方式分别向至少两个站点发送站点对应的加密的新MAC地址和新AID。
在实际实现中,可以定义一个信息元素(Information Element,IE)或是一个新的管理帧(Management Frame)来完成MAC地址和AID更改的相关消息交互;此外在IEEE802.11中还定义了一种叫做操作帧(Action Frame)的管理帧,通过定义新的操作类别(Action Category)来定义一种单独业务活动需要的管理帧。本实施例以定义一种操作帧为例进行说明,但并不以此为限。
请参阅图4,图4是本实施例提供的一种操作帧的示意图,其中在MAC头中的帧控制字段中,如果Type域的Type Value=00,指示该帧为管理帧,如Subtype域的Subtype Value=1101,则进一步指示该帧为管理帧中的操作帧(也可以示意为如图5中所示的Subtype=操作帧)。其中,RA表示Receiver Address,即消息的接收地址;TA表示TransmitterAddress,即消息的发送地址;在操作帧的帧主体中定义一个新的操作类别的标识,表示为ID(Identity,身份)更改业务的操作,以Change ID表示,简化表示为CID,长度为1字节。CID消息模式位表示该操作帧是用于标识更改安排指示还是用于标识更改确认。其中,标识更改安排指示是用于指示该帧是接入点向站点发送的,用于指示更改寻址标识,而标识更改确认是指示该帧是站点向接入点发送的,对接入点更改寻址标识指示的确认。
其中,示例性的,CID消息模式ID对应关系可以见下表1所示:
表1:CID消息模式ID对应情况
例如,根据表1的描述,当接入点向站点1发送新的MAC地址和AID等信息时,CID消息模式ID设为1,并在后面的CID元素内容中带上加密的MAC和AID及标识更改时间信息。如图5所示,其中RA为站点1当前地址MAC1-0,即更改前的MAC地址。
站点1接收接入点发送的消息后,解密得到MAC1-1和AID1-1,向AP回复一个确认消息,表示接受MAC1-1和AID1-1。如图6所示。
另外,接入点向站点发送MAC地址和AID时,可以不带时间信息T,以接入点向站点1发送MAC1-1和AID1-1为例,其操作帧的示意图如图7所示。在这种情况下,接入点可以以广播方式向各站点发送一个更改指示消息来使各站点进行更改,该广播消息也可以通过一个操作帧来实现。如图8所示。
或者,更改指示消息也可以通过信标(Beacon)帧等广播消息添加一个指示位(如图8所示的Indication)来向各站点指示,比如当指示位被置1时,站点接收到信标帧后进行MAC地址和AID的更新,当指示位被置0时,站点接收到信标帧后不进行MAC地址和AID的更新。
上述都是以接入点与站点1的交互进行举例说明,接入点跟其他站点的交互过程基本一致,不一一赘述。
S204:在达到预定更改条件时,接入点将至少两个站点的MAC地址更新为站点对应的新MAC地址,以使得后续自站点接收和向站点发送消息时,以新MAC地址作为站点的MAC地址。
当同时需要更新站点的AID时,在达到预定更改条件时,接入点将至少两个站点的MAC地址和AID更新为站点对应的新MAC地址。
当接入点向站点通知新MAC地址和新AID时携带了指示更改的预定时间或预定时间点时,各站点收到的时间信息能够保证各站点和接入点在同一时间后进行更改,如当时间信息为一个计时时刻,各站点的TSF(Timing Synchronization Function,定时同步功能)时间与接入点是保持同步的,当各站点与接入点的计时器都计时到该时刻后,各站点将接入点分配的新MAC和新AID配置到MAC层,接入点也将各站点的MAC地址和AID进行更新,以使得当收到发送地址为新的MAC地址的站点消息时,接入点可以确定该站点的信息及该站点的共享信息,如共享数据加密密钥等。在随后的消息交互中,以站点的新MAC地址、新AID的至少一种作为寻址标识。
因为,AP在关联阶段向站点分配了16位的AID。在省电模式下,终端发送的PS-Poll(Power Saving Poll,省电轮询)消息中会明文携带AID,因此终端若仅仅变换了MAC地址,窃听者还可以通过分析AID找到终端的新旧MAC地址的对应关系,从而重新锁定该终端。所以本实施例中所提供的分配寻址标识的方法,每个站点的MAC地址进行更新的同时,也同时更改AID。一方面,接入点向站点发送的新MAC地址和新AID都经过加密,窃听者无法窃取到新MAC地址和新AID。另一方面,通过控制多个站点都变换MAC地址和AID,因此更改后,窃听者无法继续追踪终端MAC地址和AID获取用户隐私,保障了用户的隐私安全。
需要说明的是,本发明各实施例中的各种帧的示意图仅是一种示意,每个帧中各字段或域的取值或取值所代表的含义也仅是一种示意,具体可以根据实际情况来确定,本发明对此不作限定,其他地方不再赘述。
请参阅图9,图9是本发明实施例提供的第三种分配寻址标识的方法的流程图,本实施例以站点的角度来进行描述,本实施例分配寻址标识的方法包括以下步骤:
S301:站点获知由其所在的基本服务集BSS内的接入点通知的站点对应的加密的新MAC地址,解密获得新MAC地址,并获取预定更改条件,每个站点分别对应不同的新MAC地址;
因为,AP在关联阶段向站点分配了16位的AID。在省电模式下,终端发送的PS-Poll(Power Saving Poll,省电轮询)消息中会明文携带AID,因此终端若仅仅变换了MAC地址,窃听者还可以通过分析AID找到终端的新旧MAC地址的对应关系,从而重新锁定该终端。
所以在一种较为优选的实施例中,可以同时更改站点的MAC地址和AID来避免窃听者通过跟踪站点的AID来追踪到用户的隐私信息。接入点向站点通知新MAC地址的同时,同时也向站点通知站点对应的新AID。因此,在本发明优选实施例中,站点获知站点对应的加密的新MAC地址时,同时获知站点对应的加密的新AID,解密获得新MAC地址和新AID,每个站点分别对应不同的新MAC地址和新AID。
其中,站点在获知其对应的加密的新MAC地址和新AID之前,还包括:站点与接入点之间进行加密密钥协商,以使站点根据协商的加密密钥类型,使用对应的解密方法解密获得新MAC地址和新AID。加密密钥可以是对称加密密钥或非对称加密密钥。比如当加密密钥为对称加密密钥时,站点用对应的密钥进行解密,而当加密密钥为非对称加密密钥时,站点以密钥对应的私钥进行解密。其中,密钥协商以及加密过程可以参考上述实施例中相关部分,在此不一一赘述。
站点获知站点对应的加密的新MAC地址和新AID的一种实现方式是站点接收接入点为其对应分配的加密的新MAC地址和新AID,从而获知其对应的加密的新MAC地址和新AID。
另一种实现方式是:站点向接入点请求MAC地址更改,即向接入点发送更改请求,站点的更改请求中可以包括站点请求的新MAC地址,其中,需要说明的是,请求中携带的新MAC地址也是经加密的,其加密方式可以参考上述实施例的相关部分,在此不再赘述。接入点接收到站点的更改请求,并解密得到请求的新MAC地址,进行唯一性查证,然后给出一个确认消息以作为对所述更改请求的响应。站点从接入点响应更改请求的确认消息中,获知站点对应的加密的新MAC地址,并可进一步获知新AID。
当站点请求的新MAC地址通过唯一性查证时,站点对应的新MAC地址即为其请求的新MAC地址,而当站点请求的新MAC地址没有通过唯一性查证时,站点对应的新MAC地址为接入点为站点分配的符合唯一性的新MAC地址,而站点对应的新AID都是接入点为站点分配的。新AID可以在确认消息中携带,也可以通过另一消息单独发送。
其中,站点向接入点发送更改请求,在具体实现中,也可以通过定义操作帧或新的管理帧或者新的信息元素(IE)来实现,操作帧的定义方法在实施例二及实施例三中已进行了说明。本实施例中以定义新的IE为例进行说明,但并不以此为限。新定义的信息元素可以携带在各类管理帧中发送,如探测请求/响应(Probe Request/Response)、重新关联请求/响应(Reassociation Request/Response)、信标(Beacon)帧等管理帧。
如图10是本发明实施例中站点向接入点发送更改请求的IE格式示意图。其中,Subtype表示该IE将在哪种管理帧中带出,例如,当该IE在重新关联请求帧中带出时,Subtype value=0010;当该IE在重新关联响应帧中带出时,Subtype value=0011;当在信标帧中带出时,Subtypevalue=1000。RA为接收地址,TA为发送地址。
CID信息元素主要包括:
信息元素ID:1字节,针对某一业务重新定义一个新的信息元素时,需要新注册一个信息元素ID,当接收方接收到消息时,根据信息元素ID识别业务类型;
信息元素长度:定义了该信息元素的长度;
CID消息模式和CID元素内容:根据不同的消息模式携带不同的内容,如请求request模式(对应表中为1)时携带优先MAC地址,响应response模式(对应表中为2)时携带确认指示和AID,指示位Indication模式(对应表中为4)时携带空内容,如表2所示。
表2:CID消息模式与内容对应表
以站点1向接入点请求为例。站点1决定一个优先MAC地址MAC1-1,并对其进行加密,加密方式如前所述。站点1向接入点发送重新关联请求,携带CID IE,其帧格式如图11所示。
接入点在接收到重新关联请求后获得其中的CID IE,然后解密其中的加密的MAC1-1,得到MAC1-1。随后接入点将MAC1-1进行BSS内唯一性查证,查证方式可以是将MAC1-1与BSS内所有站点的MAC地址进行对比,当MAC1-1当前未被任何一个STA使用时,认为MAC1-1在BSS内具备唯一性。接入点对为站点1新分配的AID1-1进行加密。
接入点向站点1发送重新关联响应,携带CID IE,其帧格式如图12所示。
当接入点接收到至少两个站点的更改请求时,接入点可以广播一个消息,携带指示信息。比如,接入点可以广播一个信标(Beacon)帧。在Beacon帧中以某一位来指示各站点进行寻址标识(本实施例中为MAC地址,或,MAC地址和AID)更改;或者,在Beacon帧中携带CID IE,消息格式如图13所示。
在另一种可能的实现方式中,接入点向站点的确认消息中还携带了更改时间T。接入点所在的BSS内至少两个站点能够支持寻址标识(本实施例中是指MAC地址,或MAC地址与AID)的更改。当满足标识更改触发条件时,至少两个站点会在满足标识更改触发条件后某一个时间段t内向接入点发送MAC地址更改请求。因此,当接入点接收到第一个站点的更改请求后,若计时为T0,则接入点规定的时间T满足以下条件时,可以保证T时刻到达前会至少收到两个站点的更改请求,即T>T0+t。
S302:站点在满足预定更改条件时,将当前使用的MAC地址更改为站点对应的新MAC地址,以使得后续自接入点接收和向接入点发送消息时,以新MAC地址作为站点的MAC地址;
当站点在获知站点对应的加密的新MAC地址,同时获知了站点对应的加密的新AID时,站点在满足预定更改条件时,将当前使用的MAC地址和AID更新为其对应的新MAC地址和新AID。
在以上提供实施例的基础上,为更进一步清楚描述本发明的分配寻址标识的方法,以下通过接入点与至少两个站点的交互作为举例说明,其中,在以下举例的几个实施例中,站点i表示站点1以外的任何一个站点。MAC1-1和AID1-1分别是站点1的新MAC地址和新AID,MAC1-0为站点1更改前的MAC地址。同理,MACi-1和AIDi-1分别是站点i的新MAC地址和新AID,MACi-0为站点i更改前的MAC地址。
请参阅图14,图14是本发明实施例提供的第四种分配寻址标识的方法的流程图,本实施例适用于以上所提到的接入点主动为站点分配新MAC地址和新AID的情形,本实施例的方法包括以下步骤:
401:接入点与站点1进行共享加密密钥协商(Ekey1);
接入点与站点1之间进行共享加密密钥协商,确定用于对站点1的新MAC和新AID进行加密的密钥Ekey1。
402:接入点与站点i进行共享加密密钥协商(Ekeyi);
接入点与站点i之间进行共享加密密钥协商,确定用于对站点i的新MAC和新AID进行加密的密钥Ekeyi。
403:接入点加密MAC1-1和AID1-1;
404:接入点向站点1发送操作帧(MAC1-1,AID1-1,T);
接入点向站点1发送操作帧,该操作帧携带加密的MAC1-1和AID1-1,以及标识更改时间T,相应的接收地址为MAC1-0。
405:站点1解密获得MAC1-1和AID1-1;
406:站点1向接入点发送操作帧(确认);
站点1向接入点发送一个操作帧,用于确认已收到MAC1-1和AID1-1,相应的发送地址为MAC1-0。
407:接入点向站点i发送操作帧(MACi-1,AIDi-1,T);
接入点向站点i发送操作帧,该操作帧携带加密的MACi-1和AIDi-1,以及标识更改时间T,相应的接收地址为MACi-0。
408:站点i解密获得MACi-1和AIDi-1;
站点i接收后,进行解密获得MACi-1,AIDi-1。
409:站点i向接入点发送操作帧(确认);
站点i向接入点发送一个操作帧,用于确认已收到MACi-1和AIDi-1,相应的发送地址为MACi-0。
410-1:接入点计时器计时到T;
410-2:站点1计时器计时到T;
410-3:站点i计时器计时到T;
上述410-1至410-3只是为了便于区分的步骤编号,事实上,其本身并没有实质的先后顺序之分。
411:接入点更新各站点的MAC地址和AID;
412:站点1更新为MAC1-1和AID1-1;
413:站点i更新为MACi-1和AIDi-1;
在接入点与站点的计时器都计时到T后,接入点和站点都进行MAC地址和AID的更新。
作为另一种可能的实现方式,接入点向站点发送操作帧时,可以不携带指示更改时间T,见图15所示,图15是本发明实施例提供的第五种分配寻址地址的方法的流程图,图15所示实施例与图14所示实施例的区别在于:
在步骤404以及步骤407中,接入点向站点发送的操作帧中不携带指示更改时间T,而步骤410变为:接入点向站点发送操作帧(标识更改指示),相应的接收地址为广播地址。其余各个步骤的具体实现都跟图14所示实施例一致,请参见之前的详细描述。
也就是说,在本实施例中,接入点在通知站点新MAC和新AID时,不指示更改时间,而在发送新MAC和新AID后,通过广播一个操作帧,用于指示更改,站点在接收到指示后,进行MAC和AID的更新,接入点也在发出指示后,进行各个站点的MAC和AID的更新。
请参阅图16,图16是本发明实施例提供的第六种分配寻址标识的方法的流程图,本实施例适用于以上所提到站点通过向接入点请求以获得新MAC地址和新AID的情形,本实施例的方法包括以下步骤:
501:接入点与站点1进行共享加密密钥协商(Ekey1);
接入点与站点1之间进行共享加密密钥协商,确定用于对站点1的新MAC和新AID进行加密的密钥Ekey1。
502:接入点与站点i进行共享加密密钥协商(Ekeyi);
接入点与站点i之间进行共享加密密钥协商,确定用于对站点i的新MAC和新AID进行加密的密钥Ekey1。
503:站点1加密MAC1-1;
站点1将自己优先希望使用的新MAC地址MAC1-1进行加密。
504:站点1向接入点发送重新关联请求(MAC1-1);
站点1向接入点发送重新关联请求,该请求中包括站点1优先希望使用的加密的MAC1-1,相应的发送地址为MAC1-0。
505:接入点解密MAC1-1,查证唯一性;
接入点解密得到MAC1-1,并对MAC1-1进行唯一性查证。其中,接入点对MAC1-1进行唯一性查证的一种可能的实现方式可以是:将MAC1-1与接入点服务的基础服务集BSS内的所有站点的MAC地址进行比对,若MAC1-1地址当前未被接入点服务的BSS内任何一个站点使用过,则认为MAC1-1唯一性查证通过。
506:接入点加密AID1-1;
在MAC1-1通过唯一性查证时,接入点为站点1分配新关联标识AID1-1,并对AID1-1进行加密。
507:接入点向站点1发送重新关联响应(AID1-1);
接入点向站点1发送重新关联响应,指示同意其使用MAC1-1,并在响应中携带AID1-1,相应的接收地址为MAC1-0。
508:站点1解密AID1-1;
站点1解密获得AID1-1。
509:站点i加密MACi-1;
站点i将自己优先希望使用的新MAC地址MACi-1进行加密。
510:站点i向接入点发送重新关联请求(MACi-1);
站点i向接入点发送重新关联请求,该请求中包括站点i优先希望使用的加密的MACi-1,相应的发送地址为MACi-0。
511:接入点向站点i发送重新关联响应(AIDi-0);
接入点解密获得MACi-1,并进行唯一性查证,在MACi-1通过唯一性查证时,为站点i分配一个新关联标识AIDi-1。接入点向站点i发送重新关联响应,指示同意其使用MACi-1,并在响应中携带AIDi-1,接收地址为MAC1-0。
512:站点i通过解密获得AIDi-1。
513:接入点广播信标帧(标识更改指示);
接入点向各站点广播信标帧,指示各站点进行MAC地址和AID的更改。
514:接入点更新各站点的MAC地址和AID;
515:站点1更新为MAC1-1和AID1-1;
516:站点i更新为MACi-1和AIDi-1;
站点在接收到信标帧时,进行各自MAC地址和AID的更新,接入点在广播信标帧后,也进行各站点MAC地址和AID的更新。
作为另一种可能的实现方式,接入点向站点发送重新关联响应时,可以携带指示更改时间T,见图17所示,图17是本发明实施例提供的第七种分配寻址标识的方法的流程图,图17所示实施例与图16所示实施例的区别在于:
在步骤507以及511接入点向站点发送的重新关联响应中携带了指示更改时间T;
相应的,步骤513变为:
513-1:接入点计时器计时到T;
513-2:站点1计时到T;
513-3:站点i计时到T;
其余各个步骤的具体实现与图16所示实施例的一致,请参阅上述的详细描述。
也就是说,本实施例中,接入点在向站点做出重新关联响应时,指示了更改的时间T,接入点与站点都在计时到T后,进行MAC地址和AID的更新。
需要说明的是,图14-17所示实施例中,只是本发明实施例的一种具体举例,在进行描述的时候,为了便于区分给各个步骤的编号,事实上并不是用于限定步骤的先后顺序。比如接入点与站点1、接入点与站点i之间进行共享密钥协商,或者站点1向接入点、站点i向接入点发送重新关联请求等,这些在实际运行过程中,可能并不严格区分先后,甚至有可能同步执行。因此,本领域技术人员应该理解,上述各个步骤的编号并不是实际意义上的执行先后顺序。
请参阅图18,图18是本发明实施例提供的第一种接入点的结构示意图,本实施例的接入点100包括通知模块11以及更新模块12,其中:
通知模块11用于向接入点服务的基本服务集BSS内至少两个站点通知每个站点对应的加密的新MAC地址,并指示预定更改条件,以使得至少两个站点在达到预定更改条件时,将各自的MAC地址更改为各自的新MAC地址;
通知模块11分别向至少两个站点通知每个站点对应的加密的新MAC地址,并指示预定更改条件。以使得至少两个站点在达到预定更改条件时,分别将各自的MAC地址更改为各自的新MAC地址。
其中,通知模块11指示预定更改条件可以有以下几种可能的实现方式:
1)向至少两个站点通知每个站点对应的加密的新MAC地址时,携带指示更改的预定时间或预定时间点;
2)向至少两个站点通知每个站点对应的加密的新MAC地址后,通过单播的方式分别向至少两个站点发送更改指示消息;
3)向至少两个站点通知每个站点对应的加密的新MAC地址后,通过广播的方式向至少两个站点群发更改指示消息。
也就是说,通知模块11指示预定更改条件可以以单播或广播的方式发送,其中,优选通过广播发送。当以单播的方式发送时,通知模块11可以在进行所述通知的同一时间发送并携带进行更改的时间信息。当以广播发送时,通知模块11可以在工作信道上广播一个更改指示消息,指示站点进行MAC地址的更改。
各个站点在获得各自对应的新MAC地址,并达到预定更改条件时,将新MAC地址配置到MAC层。在随后的消息交互中,以站点的新MAC地址作为寻址标识。
更新模块12用于在达到预定更改条件时,将至少两个站点的MAC地址更新为站点对应的新MAC地址,以使得后续自站点接收和向站点发送消息时,以新MAC地址作为站点的MAC地址。
更新模块12在达到预定更改条件时,将至少两个站点的MAC地址更新为站点对应的新MAC地址,在下一个向站点发送的消息和自站点接收的消息中,以站点的新MAC作为寻址标识。
通过上述本发明实施例提供的接入点的详细描述,可以理解,本发明通过接入点来调整整个基本服务集中多个站点的MAC地址变换,向多个站点通知每个站点对应的加密的新MAC地址,以使每个站点在达到预定更改条件时,分别将各自的MAC地址更改为其对应的新MAC地址,在达到预定更改条件时,接入点也将多个站点的MAC地址更新为站点对应的新MAC地址。通过这样的方式,接入点向站点发送的新MAC地址都经过加密,窃听者无法窃取到新MAC地址。通过控制多个站点都变换MAC地址,因此更改MAC地址后,窃听者无法继续追踪MAC地址获取终端用户隐私,保障了用户的隐私安全。
请进一步参阅图19,图19是本发明实施例提供的第二种接入点的结构示意图,本实施例的接入点200包括通知模块21、更新模块22、确认模块23以及密钥获取模块24,其中:
通知模块21用于向至少两个站点通知每个站点对应的加密的新MAC地址,并指示预定更改条件,以使得至少两个站点在达到预定更改条件时,将各自的MAC地址更改为各自的新MAC地址。
在优选实施例中,为避免窃听者通过跟踪AID而追踪到用户隐私,可以同时更新站点的AID。当需要同时更新站点的AID时,通知模块21向至少两个站点通知每个站点对应的加密的新MAC地址的同时,还向至少两个站点通知每个站点对应的加密的新AID。
更新模块22用于在达到预定更改条件时,将至少两个站点的MAC地址更新为站点对应的新MAC地址,以使得后续自站点接收和向站点发送消息时,以新MAC地址作为站点的MAC地址。
如果通知模块21中同时通知了站点对应的加密的新AID时,更新模块22在达到预定更改条件时,将至少两个站点的MAC地址和AID更新为站点对应的新MAC地址和新AID。以使得后续自站点接收和向站点发送消息时,以站点的新MAC地址、新AID的至少一种作为寻址地址。
确认模块23用于确认接入点服务的基本服务集BSS内的至少两个站点各自对应的新MAC地址和新AID,每个站点分别对应不同的新MAC地址和新AID。
确认模块23用于接收接入点服务的BSS内的至少两个站点的更改请求,每个站点的更改请求中包括每个站点请求的新MAC地址,对每个站点请求的新MAC地址进行唯一性查证,在唯一性查证通过时,为每个站点分配新AID,每个站点请求的新MAC和分配的新AID即为确认的站点的新MAC地址和新AID。
通知模块21以单播方式向每个站点回复确认消息,确认消息指示同意站点使用请求的新MAC地址,并向每个站点通知新AID。
其中,新AID在确认消息中携带或通过另一消息发送。
确认模块23用于为接入点服务的BSS内的至少两个站点分配新MAC地址和新AID,每个站点分配的新MAC地址和新AID为确认的站点对应的新MAC地址和新AID。
通知模块21通过单播方式分别向至少两个站点发送站点对应的加密的新MAC地址和新AID。
每个站点分别对应不同的新MAC地址和新AID。
也就是说,本实施例中提供确认模块23确认接入点服务的BSS内的至少两个站点各自对应的新MAC地址和新AID的两种可能的实现方式,当然,在能够实现本发明目的的基础上,也可以采用其他可能的方式来实现。
第一种方式:接入点接收其服务的BSS内的至少两个站点的更改请求,每个站点的更改请求中包括每个站点请求的新MAC地址。也就是说,站点会在请求中携带自己优先希望使用的新MAC地址。当接入点接收到至少两个站点的更改请求后,对每个站点请求的新MAC地址进行唯一性查证,在唯一性查证通过时,为每个站点分配新AID。以每个站点请求的新MAC地址和分配的新AID作为确定的站点对应的新MAC地址和新AID。
第二种方式:接入点为其服务的BSS内的至少两个站点分配新MAC地址和新AID,每个站点分配的新MAC地址和新AID为确认的站点对应的新MAC地址和新AID。
当确认模块23确认其服务的BSS内的至少两个站点各自对应的新MAC地址和新AID是通过上述第一种方式实现时,通知模块21以单播方式向每个站点回复确认消息,确认消息指示同意站点使用其请求的新MAC地址,并向每个站点通知新AID。而当站点请求的新MAC地址在唯一性查证没有通过时,回复的确认消息中携带一个符合唯一性的新MAC地址。其中,新AID可以在确认消息中携带,或通过另一消息发送。
当确认模块23确认其服务的BSS内的至少两个站点各自对应的新MAC地址和新AID是通过上述第二种方式实现时,通知模块21通过单播方式分别向至少两个站点发送站点对应的加密的新MAC地址和新AID。
在实际实现中,可以定义一个信息元素(Information Element,IE)或是一个新的管理帧(Management Frame)来完成MAC地址和AID更改的相关消息交互;此外在IEEE802.11中还定义了一种叫做操作帧(Action Frame)的管理帧,通过定义新的操作类别(Action Category)来定义一种单独业务活动需要的管理帧。本实施例以定义一种操作帧为例进行说明,但并不以此为限。
密钥获取模块24用于与至少两个站点之间进行加密密钥协商,获取用于对每个站点的新MAC地址进行加密的加密密钥,加密密钥为对称加密密钥或非对称加密密钥。
接入点通过密钥获取模块24与至少两个站点的每个站点分别进行共享加密密钥协商,得到用于对站点的新MAC地址进行加密的加密密钥Ekey。本发明实施例中的加密密钥可以是对称加密密钥或非对称加密密钥。
当加密密钥为对称加密密钥时,以接入点与站点1进行加密密钥协商为例,接入点跟站点1进行共享加密密钥协商,接入点得到Ekey1,接入点以Ekey1为对称加密算法的加密密钥,对站点1的新MAC地址进行加密。当在优选实施例中,需要同时更新站点的AID时,也用该加密密钥对新AID进行加密。站点1用Ekey1解密得到新MAC地址和新AID。其中,接入点与站点1在认证阶段的四步握手阶段由成对主密钥(Pairwise Master Key,PMK)生成成对瞬时密钥(Pairwise Transient Key,PTK),再由PTK生成临时密钥(Temporal Key,TK)。
本实施例中,可以由PTK直接截取128位的TK来做为Ekey1;或者由PTK在截取KCK、KEK、TK后的剩余位中取128位的密钥来作为Ekey1;或者,接入点与站点1进行随机数(Nonce)交换后,以双方随机数及TK来衍生出Ekey1;更多地,接入点与站点1在进行随机数(Nonce)交换后,以双方随机数、时间戳(timestamp)及TK来衍生出Ekey1。衍生方法有多种,如以随机数、时间戳和TK进行散列算法运算SHA-256后取高128位或低128位等。相应地,密钥协商过程为四步握手及随机数交换等过程。
当加密密钥为非对称加密密钥时,通常是一个公钥。同样以接入点与站点1进行加密密钥协商为例。比如,当使用RSA(Rivest ShamirAdleman)算法时,Ekey1为站点1发送给接入点的一个RSA公钥。接入点以Ekey1对站点1的新MAC地址和新AID进行加密,站点1收到后以相应的RSA私钥进行解密。相应的密钥协商过程主要为公钥发送接收过程。
接入点以与站点协商好的加密密钥对站点的新MAC地址和新AID进行加密。其中,对新MAC地址和新AID的加密可以两个一起加密,也可以分开单独加密。比如以Ekey1对站点1的新MAC地址(MAC1-1)和新关联标识(AID1-1)进行加密为例。这里的Ekey1可以是对称加密密钥或非对称加密密钥,本发明实施例中优选对称加密密钥。
当Ekey1为对称加密密钥时,加密MAC1-1和AID1-1的加密方式可以为AES-CCM方式,Ekey1为128比特的密钥,其加密式可以表示为:
加密的MAC1-1和AID1-1=AES-CCM-128Ekey1(MAC1-1和AID1-1)
需要说明的是,MAC1-1和AID1-1可以分别进行加密,如
加密的MAC1-1=AES-CCM-128Ekey1(MAC1-1)
加密的AID1-1=AES-CCM-128Ekey1(AID1-1)
上述只是以接入点与站点1进行加密密钥协商为例进行说明,接入点与其他站点的加密密钥协商的过程以及对新MAC地址和新AID进行加密的过程请参阅上述相关部分,在此不一一赘述。
密钥获取模块24将获取的加密密钥通知确认模块23,确认模块23用加密密钥对站点的新MAC地址和新AID进行加密后再通过通知模块21通知到站点。
在达到通知模块21通知的预定更改条件时,更新模块22将其内部的至少两个站点的MAC地址更新为站点对应的新MAC地址,将至少两个站点的AID更改为站点对应的新AID。
当通知模块21向站点通知新MAC地址和新AID时携带了指示更改的预定时间或预定时间点时,各站点收到的时间信息能够保证各站点和接入点都到同一时间后进行更改。如当时间信息为一个计时时刻,各站点的TSF时间与接入点是保持同步的,当各站点与接入点的计时器都计时到该时刻后,各站点将接入点分配的新MAC和新AID配置到MAC层,接入点也将各站点的MAC地址和AID进行更新,以使得当收到发送地址为新的MAC地址的站点消息时,接入点可以确定该站点的信息及该站点的共享信息,如共享数据加密密钥等。在随后的消息交互中,以站点的新MAC地址、新AID的至少一种作为寻址标识。
需要说明的是,图18与图19所示实施例中的接入点能够实现本发明图2与图3所示实施例中方法的各个步骤,在本实施例中,各个模块的划分只是一种举例,在能够实现本发明目的的基础上,接入点内各个模块的划分也可以是其他方式,比如几个模块集成一个模块来实现。
请参阅图20,图20是本发明实施例提供的第一种站点的结构示意图,本实施例的站点300包括获得模块31和更改模块32,其中:
获得模块31用于获知站点对应的加密的新MAC地址,解密获得新MAC地址,并获取预定更改条件,每个站点分别对应不同的新MAC地址;
在一种较为优选的实施例中,为了避免窃听者通过跟踪站点的AID来追踪到用户的隐私信息,接入点向站点通知新MAC地址的同时,同时也向站点通知站点对应的新AID。因此,在本发明优选实施例中,获得模块31在获知站点对应的加密的新MAC地址时,还可以获知站点对应的加密的新AID,解密获得新MAC地址和新AID。
获得模块31通过接收接入点为站点对应分配的加密的新MAC地址和新AID,解密获得新MAC地址和新AID。
或者,获得模块31通过向接入点发送更改请求,站点的更改请求中包括站点请求的新MAC地址,从接入点响应更改请求的确认消息中,获知站点对应的加密的新MAC地址,并进一步获知新AID。
获得模块31从接入点响应更改请求的确认消息中获知新AID;或从接入点发送的另一消息中获知新AID。
获得模块31获知站点对应的加密的新MAC地址和新AID的一种实现方式是接收接入点为其对应分配的加密的新MAC地址和新AID,从而获知站点对应的加密的新MAC地址和新AID。
另一种实现方式是:获得模块31向接入点请求MAC地址更改,即向接入点发送更改请求,更改请求中包括站点请求的新MAC地址,其中,需要说明的是,请求中携带的新MAC地址也是经加密的,其密钥协商以及加密过程可以参考上述实施例中相关部分,在此不再赘述。接入点接收到站点的请求,并解密得到请求的新MAC地址,进行唯一性查证,然后给出一个确认消息以作为对所述请求的响应。站点从接入点响应更改请求的确认消息中,获知站点对应的加密的新MAC地址,并进一步获知新AID。
当站点请求的新MAC地址通过唯一性查证时,站点对应的新MAC地址即为其请求的新MAC地址,而当站点请求的新MAC地址没有通过唯一性查证时,站点对应的新MAC地址为接入点为站点分配的符合唯一性的新MAC地址,而站点对应的新AID都是接入点为站点分配的。新AID可以在确认消息中携带,也可以通过另一消息单独发送。
在另一种可能的实现方式中,接入点向站点的确认消息中还携带了更改时间T。接入点所在的BSS内至少两个站点能够支持寻址标识(本实施例中为MAC地址,或MAC地址与AID)。当满足更改触发条件时,至少两个站点会在满足更改触发条件后某一个时间段t内向接入点发送MAC地址更改请求。因此,当接入点接收到第一个站点的更改请求后,若计时为T0,则接入点规定的时间T满足以下条件时,可以保证T时刻到达前会至少收到两个站点的更改请求,即T>T0+t。
其中,站点向接入点发送更改请求,在具体实现中,也可以通过定义操作帧或新的管理帧或者新的信息元素(IE)来实现,操作帧的定义方法在实施例二及实施例三中已进行了说明。本实施例中以定义新的IE为例进行说明,但并不以此为限。新定义的信息元素可以携带在各类管理帧中发送,如探测请求/响应(Probe Request/Response)、重新关联请求/响应(Reassociation Request/Response)、信标(Beacon)帧等管理帧。
更改模块32用于在满足预定更改条件时,将站点的MAC地址更改为站点对应的新MAC地址,以使得后续自接入点接收和向接入点发送消息时,以新MAC地址作为站点的MAC地址。
更改模块32在满足预定更改条件,将站点当前使用的MAC地址更新为站点对应的新MAC地址。
当获得模块31获得站点对应的新MAC地址时,同时获知了站点对应的加密的新AID时,更改模块32在满足预定条件时,将站点当前使用的MAC地址和AID都更新为站点对应的新MAC地址和新AID,在下一次接收消息时,以新MAC地址、新AID的至少一种作为寻址标识。
在本发明实施例提供的另一种站点中,请继续参阅图20,站点300进一步包括密钥协商模块33,其中:
密钥协商模块33用于与接入点进行加密密钥协商;
获得模块31根据密钥协商模块33协商的加密密钥类型,使用对应的解密方法解密获得所述新MAC地址和新AID,加密密钥为对称加密密钥或非对称加密密钥。
获得模块31在获知站点对应的加密的新MAC地址和新AID之前,还包括:密钥协商模块33与接入点之间进行加密密钥协商,以使获得模块31根据协商的加密密钥类型,使用对应的解密方法解密获得新MAC地址和新AID。加密密钥可以是对称加密密钥或非对称加密密钥。比如当加密密钥为对称加密密钥时,站点用对应的密钥进行解密,而当加密密钥为部队称加密密钥时,站点以密钥对应的私钥进行解密。其中,密钥协商以及加密过程可以参考上述实施例中的相关部分,在此不一一赘述。
需要说明的是,图20所示实施例提供的站点能够实现图9所示方法实施例中的各个步骤,在本实施例中站点的各个模块的划分只是一种举例说明,并不用于具体限定本发明的范围。在能够实现本发明目的的基础上,站点的功能模块也可以是别的划分方式,比如几个模块集成一个模块上实现等。
请参阅图21,图21是本发明实施例提供的第三种接入点的结构示意图,本实施例的接入点400包括处理器41(可以为一个或多个,本发明各实施例中以一个为例)、存储器42、接收器43、发送器44以及总线系统45,其中:
处理器41控制接入点400的操作,处理器41还可以称为CPU(Central Processing Unit,中央处理单元)。处理器41可能是一种集成电路芯片,具有信号的处理能力。处理器41还可以是通用处理器、数字信号处理器(DSP,Digital Signal Processing)、专用集成电路(ASIC,Application Specific Integrated Circuit)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器42可以包括只读存储器和随机存取存储器,并向处理器41提供指令和数据。存储器42的一部分还可以包括非易失性随机存取存储器(NVRAM)。
接入点400的各个组件通过总线系统45耦合在一起,其中总线系统45除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。该总线系统可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(Peripheral Component Interconnect,外部设备互连)总线或EISA(Extended Industry Standard Architecture,扩展工业标准体系结构)总线等。所述总线可以是一条或多条物理线路,当是多条物理线路时可以分为地址总线、数据总线、控制总线等。在本发明的其它一些实施例中,处理器41、存储器42以及接收器43、发送器44也可以通过通信线路直接连接。但是为了清楚说明起见,在图中将各种总线都标为总线系统45。
存储器42存储了如下的元素,可执行模块或者数据结构,或者它们的子集,或者它们的扩展集:
操作指令:包括各种操作指令,用于实现各种操作。
操作系统:包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
在本发明实施例中,处理器41通过调用存储器42存储的操作指令(该操作指令可存储在操作系统中),执行如下操作:
处理器41通过发送器44向接入点服务的基本服务集BSS内至少两个站点通知每个站点对应的加密的新MAC地址,并指示预定更改条件,以使得至少两个站点在达到预定更改条件时,将各自的MAC地址更改为各自的新MAC地址。
作为一种优选的实施例,处理器41通过发送器44向至少两个站点通知每个站点对应的加密的新MAC地址时,还可以向至少两个站点通知每个站点对应的加密的新AID。
其中,处理器41通过发送器44指示预定更改条件可以有以下几种可能的实现方式:
1)向至少两个站点通知每个站点对应的加密的新MAC地址时,携带指示更改的预定时间或预定时间点;
2)向至少两个站点通知每个站点对应的加密的新MAC地址后,通过单播的方式分别向至少两个站点发送更改指示消息;
3)向至少两个站点通知每个站点对应的加密的新MAC地址后,通过广播的方式向至少两个站点群发更改指示消息。
也就是说,处理器41指示预定更改条件可以以单播或广播的方式发送,其中,优选通过广播发送。当以单播的方式发送时,处理器41通过发送器44可以在进行所述通知的同一时间发送并携带进行更改的时间信息。当以广播发送时,处理器41可以通过发送器44在工作信道上广播一个更改指示消息,指示站点进行MAC地址和AID的更改。
各个站点在获得各自对应的新MAC地址和新AID,并达到预定更改条件时,将新MAC地址和新AID配置到MAC层。在随后的消息交互中,以站点的新MAC地址、新AID的至少一种作为寻址标识。
处理器41进一步在达到预定更改条件时,将接入点端的至少两个站点的MAC地址更新为站点对应的新MAC地址,以使得后续自站点接收和向站点发送消息时,以新MAC地址作为站点的MAC地址。
当处理器41向站点通知了站点对应的新AID时,在达到预定更改条件时,将至少两个站点的MAC地址更新为站点对应的新MAC地址,将至少两个站点的AID更新为站点对应的新AID,在后续向站点发送或自站点接收消息时,以站点的新MAC地址、新AID的至少一种作为寻址标识。
处理器41还可进一步用于确认接入点服务的基本服务集BSS内的至少两个站点各自对应的新MAC地址和新AID,每个站点分别对应不同的新MAC地址和新AID。
处理器41通过接收器43接收接入点服务的BSS内的至少两个站点的更改请求,每个站点的更改请求中包括每个站点请求的新MAC地址,对每个站点请求的新MAC地址进行唯一性查证,在唯一性查证通过时,为每个站点分配新AID,每个站点请求的新MAC和分配的新AID即为确认的站点的新MAC地址和新AID。
处理器41通过发送器44以单播方式向每个站点回复确认消息,确认消息指示同意站点使用请求的新MAC地址,并向每个站点通知新AID。
其中,新AID在确认消息中携带或通过另一消息发送。
处理器41还可以用于为接入点服务的BSS内的至少两个站点分配新MAC地址和新AID,每个站点分配的新MAC地址和新AID为确认的站点对应的新MAC地址和新AID。
处理器41通过发送器44以单播方式分别向至少两个站点发送站点对应的加密的新MAC地址和新AID。
每个站点分别对应不同的新MAC地址和新AID。
也就是说,本实施例中处理器41确认接入点服务的BSS内的至少两个站点各自对应的新MAC地址和新AID的两种可能的实现方式,当然,在能够实现本发明目的的基础上,也可以采用其他可能的方式来实现。
第一种方式:处理器41通过接收器43接收接入点服务的BSS内的至少两个站点的更改请求,每个站点的更改请求中包括每个站点请求的新MAC地址。也就是说,站点会在请求中携带自己优先希望使用的新MAC地址。当处理器41通过接收器43接收到至少两个站点的更改请求后,对每个站点请求的新MAC地址进行唯一性查证,在唯一性查证通过时,为每个站点分配新AID。以每个站点请求的新MAC地址和分配的新AID作为确定的站点对应的新MAC地址和新AID。
第二种方式:处理器41为接入点服务的BSS内的至少两个站点分配新MAC地址和新AID,每个站点分配的新MAC地址和新AID为确认的站点对应的新MAC地址和新AID。
当处理器41确认其服务的BSS内的至少两个站点各自对应的新MAC地址和新AID是通过上述第一种方式实现时,处理器41通过发送器44以单播方式向每个站点回复确认消息,确认消息指示同意站点使用其请求的新MAC地址,并向每个站点通知新AID。而当站点请求的新MAC地址在唯一性查证没有通过时,回复的确认消息中携带一个符合唯一性的新MAC地址。其中,新AID可以在确认消息中携带,或通过另一消息发送。
当处理器41确认接入点服务的BSS内的至少两个站点各自对应的新MAC地址和新AID是通过上述第二种方式实现时,处理器41通过发送器44以单播方式分别向至少两个站点发送站点对应的加密的新MAC地址和新AID。
在实际实现中,定义一个信息元素(Information Element,IE)或是一个新的管理帧(Management Frame)来完成MAC地址和AID更改的相关消息交互;此外在IEEE802.11中还定义了一种叫做操作帧(ActionFrame)的管理帧,通过定义新的操作类别(Action Category)来定义一种单独业务活动需要的管理帧。关于操作帧以及IE格式的相关介绍可以参阅前述实施例的相关部分描述,在此不再赘述。
处理器41还用于通过所述发送器44和接收器43与至少两个站点之间进行加密密钥协商,获取用于对每个站点的新MAC地址进行加密的加密密钥,加密密钥为对称加密密钥或非对称加密密钥。
处理器41与至少两个站点的每个站点分别进行共享加密密钥协商,得到用于对站点的新MAC地址和新AID进行加密的加密密钥Ekey。本发明实施例中的加密密钥可以是对称加密密钥或非对称加密密钥。
当加密密钥为对称加密密钥时,以接入点与站点1进行加密密钥协商为例,处理器41跟站点1进行共享加密密钥协商,处理器41得到Ekey1,处理器41以Ekey1为对称加密算法的加密密钥,对站点1的新MAC地址进行加密。当在优选实施例中,需要同时更新AID时,也用该加密密钥对新AID进行加密。站点1用Ekey1解密得到新MAC地址和新AID。其中,接入点与站点1在认证阶段的四步握手阶段由成对主密钥(Pairwise Master Key,PMK)生成成对瞬时密钥(Pairwise TransientKey,PTK),再由PTK生成临时密钥(Temporal Key,TK)。
本实施例中,可以由PTK直接截取128位得到的TK来做为Ekey1;或者由PTK在截取KCK、KEK、TK后的剩余位中取128位的密钥来作为Ekey1;或者,接入点与站点1进行随机数(Nonce)交换后,以双方随机数及TK来衍生出Ekey1;更多地,接入点与站点1在进行随机数(Nonce)交换后,以双方随机数、时间戳(timestamp)及TK来衍生出Ekey1。衍生方法有多种,如以随机数、时间戳和TK进行散列算法运算SHA-256后取高128位或低128位等。相应地,密钥协商过程为四步握手及随机数交换等过程。
当加密密钥为非对称加密密钥时,通常是一个公钥。同样以接入点与站点1进行加密密钥协商为例。比如,当使用RSA(Rivest ShamirAdleman)算法时,Ekey1为站点1发送给接入点的一个RSA公钥。接入点以Ekey1对站点1的新MAC地址和新AID进行加密,站点1收到后以相应的RSA私钥进行解密。相应的密钥协商过程主要为公钥发送接收过程。
处理器41以与站点协商好的加密密钥对站点的新MAC地址和新AID进行加密。其中,对新MAC地址和新AID的加密可以两个一起加密,也可以分开单独加密。比如以Ekey1对站点1的新MAC地址(MAC1-1)和新AID(AID1-1)进行加密为例。这里的Ekey1可以是对称加密密钥或非对称加密密钥,本发明实施例中优选对称加密密钥。
上述只是以接入点与站点1进行加密密钥协商为例进行说明,接入点与其他站点的加密密钥协商的过程以及对新MAC地址和新AID进行加密的过程跟上述基本一致,在此不一一赘述。
在处理器41通过发送器44向站点通知新MAC地址和新AID时携带了指示更改的预定时间或预定时间点时,各站点收到的时间信息能够保证各站点和接入点在统一时间后进行更改。如当时间信息为一个计时时刻,各站点的TSF时间与接入点是保持同步的,当各站点与接入点的计时器都计时到该时刻后,各站点将接入点分配的新MAC和新AID配置到MAC层,接入点也将各站点的MAC地址和AID进行更新,以使得当收到发送地址为新的MAC地址的站点消息时,接入点可以确定该站点的信息及该站点的共享信息,如共享数据加密密钥等。在随后的消息交互中,以站点的新MAC地址、新AID的至少一种作为寻址标识。
上述本发明实施例揭示的方法可以应用于处理器41中,或者由处理器41实现。在实现过程中,上述方法的各步骤可以通过处理器41中的硬件的集成逻辑电路或者软件形式的指令完成。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器42,处理器41读取存储器42中的信息,结合其硬件完成上述方法的步骤。
请参阅图22,图22是本发明实施例提供的第二种站点的结构示意图,本实施例的站点500包括处理器51(可以为一个或多个,本发明各实施例中以一个为例)、存储器52、接收器53、发送器54以及总线系统55,其中:
处理器51控制站点500的操作,处理器51还可以称为CPU(CentralProcessing Unit,中央处理单元)。处理器51可能是一种集成电路芯片,具有信号的处理能力。处理器51还可以是通用处理器、数字信号处理器(DSP,Digital Signal Processing)、专用集成电路(ASIC,ApplicationSpecific Integrated Circuit)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器52可以包括只读存储器和随机存取存储器,并向处理器51提供指令和数据。存储器52的一部分还可以包括非易失性随机存取存储器(NVRAM)。
站点500的各个组件通过总线系统55耦合在一起,其中总线系统55除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。该总线系统可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(Peripheral Component Interconnect,外部设备互连)总线或EISA(Extended Industry Standard Architecture,扩展工业标准体系结构)总线等。所述总线可以是一条或多条物理线路,当是多条物理线路时可以分为地址总线、数据总线、控制总线等。在本发明的其它一些实施例中,处理器51、存储器52以及接收器53、发送器54也可以通过通信线路直接连接。但是为了清楚说明起见,在图中将各种总线都标为总线系统55。
存储器52存储了如下的元素,可执行模块或者数据结构,或者它们的子集,或者它们的扩展集:
操作指令:包括各种操作指令,用于实现各种操作。
操作系统:包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
在本发明实施例中,处理器51通过调用存储器52存储的操作指令(该操作指令可存储在操作系统中),执行如下操作:
处理器51获知站点对应的加密的新MAC地址,解密获得新MAC地址,并获取预定更改条件,每个站点分别对应不同的新MAC地址。
在一种较为优选的实施例中,为了避免窃听者通过跟踪站点的AID来追踪到用户的隐私信息,接入点向站点通知新MAC地址的同时,同时也向站点通知站点对应的新AID。因此,在本发明优选实施例中,处理器51在获知站点对应的加密的新MAC地址时,还可以获知站点对应的加密的新AID,解密获得新MAC地址和新AID。
处理器51可以通过接收器53接收接入点为站点对应分配的加密的新MAC地址和新AID,解密获得新MAC地址和新AID。
或者,处理器51通过发送器54向接入点发送更改请求,站点的更改请求中包括站点请求的新MAC地址,从接入点响应更改请求的确认消息中,获知站点对应的加密的新MAC地址,并进一步获知新AID。
其中,处理器51从接入点响应更改请求的确认消息中获知新AID;或从接入点发送的另一消息中获知新AID。
也就是说,处理器51获知站点对应的加密的新MAC地址和新AID的一种实现方式是接收接入点为其对应分配的加密的新MAC地址和新AID,从而获知站点对应的加密的新MAC地址和新AID。
另一种实现方式是:处理器51通过发送器54向接入点请求MAC地址更改,即向接入点发送更改请求,更改请求中包括站点请求的新MAC地址,其中,需要说明的是,请求中携带的新MAC地址也是经加密的,其加密方式请参见前述实施例的相关部分,在此不再赘述。接入点接收到站点的请求,并解密得到请求的新MAC地址,进行唯一性查证,然后给出一个确认消息以作为对所述请求的响应。站点从接入点响应更改请求的确认消息中,获知站点对应的加密的新MAC地址,并进一步获知新AID。
其中,本实施例中接入点对站点请求的新MAC地址进行唯一性查证的一种可能的实现方式可以是:将站点请求的新MAC地址与接入点服务的基础服务集BSS内的所有站点的MAC地址进行比对,若站点请求的新MAC地址当前未被接入点服务的BSS内任何一个站点使用过,则认为站点请求的新MAC地址唯一性查证通过。
当站点请求的新MAC地址通过唯一性查证时,站点对应的新MAC地址即为其请求的新MAC地址,而当站点请求的新MAC地址没有通过唯一性查证时,站点对应的新MAC地址为接入点为站点分配的符合唯一性的新MAC地址,而站点对应的新AID都是接入点为站点分配的。新AID可以在确认消息中携带,也可以通过另一消息单独发送。
在另一种可能的实现方式中,接入点向站点的确认消息中还携带了更改时间T。接入点所在的BSS内至少两个站点能够支持寻址标识(本实施中为MAC地址,或MAC地址与AID)。当满足更改触发条件时,至少两个站点会在满足更改触发条件后某一个时间段t内向接入点发送MAC地址更改请求。因此,当接入点接收到第一个站点的更改请求后,若计时为T0,则接入点规定的时间T满足以下条件时,可以保证T时刻到达前会至少收到两个站点的更改请求,即T>T0+t。
其中,站点向接入点发送更改请求,在具体实现中,也可以通过定义操作帧或新的管理帧或者新的信息元素(IE)来实现,操作帧的定义方法在实施例二及实施例三中已进行了说明。本实施例中以定义新的IE为例进行说明,但并不以此为限。新定义的信息元素可以携带在各类管理帧中发送,如探测请求/响应(Probe Request/Response)、重新关联请求/响应(Reassociation Request/Response)、信标(Beacon)帧等管理帧。其中,IE的相关示意以及详细信息描述请参阅前述实施例的相关部分。
处理器51进一步用于在满足预定更改条件时,将站点的MAC地址更改为站点对应的新MAC地址,以使得后续自接入点接收和向接入点发送消息时,以新MAC地址作为站点的MAC地址。
当处理器51获得站点对应的新MAC地址时,同时获知了站点对应的加密的新AID时,处理器51在满足预定条件时,将站点的MAC地址和AID都更新为站点对应的新MAC地址和新AID,在下一次接收消息时,以新MAC地址、新AID的至少一种作为寻址标识。
其中,处理器51还用于与接入点进行加密密钥协商,以根据协商的加密密钥类型,使用对应的解密方法解密获得新MAC地址和新AID,加密密钥为对称加密密钥或非对称加密密钥。
比如当加密密钥为对称加密密钥时,处理器51用对应的密钥进行解密,而当加密密钥为部队称加密密钥时,处理器51以密钥对应的私钥进行解密。其中,密钥协商以及加密过程请参见上述实施例的相关部分描述,在此不一一赘述。
在以上实施例提供的接入点与站点的基础上,本发明实施例进一步提供一种通信系统,该通信系统包括上述任一实施例提供的接入点以及上述任一实施例提供的站点。接入点与站点的具体功能实现请参阅以上各个实施例的详细描述,在此不再赘述。
上述本发明实施例揭示的方法可以应用于处理器51中,或者由处理器51实现。在实现过程中,上述方法的各步骤可以通过处理器51中的硬件的集成逻辑电路或者软件形式的指令完成。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器52,处理器51读取存储器52中的信息,结合其硬件完成上述方法的步骤。
通过本发明实施例提供的分配寻址标识的方法及接入点、站点、通信系统,可以理解,本发明通过接入点来调整整个基本服务集中多个站点的MAC地址变换,向多个站点通知每个站点对应的加密的新MAC地址和新AID,以使每个站点在达到预定更改条件时,分别将各自的MAC地址和AID更改为其对应的新MAC地址和新AID,在达到预定更改条件时,接入点也将多个站点的MAC地址更新为站点对应的新MAC地址,将站点的AID更新为站点对应的新AID。通过这样的方式,接入点向站点发送的新MAC地址和新AID都经过加密,窃听者无法窃取到新MAC地址和新AID。通过控制多个站点都变换MAC地址和AID,因此更改后,窃听者无法继续追踪MAC地址和AID获取终端用户隐私,保障用户的隐私安全。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。