首页> 中国专利> 使用探测的两个设备之间的安全无线链路

使用探测的两个设备之间的安全无线链路

摘要

公开了使用探测的两个设备之间的安全无线链路。通过使用位于未加入网络的设备之间的明文无线传输即“探测”,可以在两个设备之间建立安全无线通信链路,即配对。一个设备可以广播指示它正在寻求建立配对的第一探测。另一个设备可以用第二探测来响应,并且这两个设备可以例如通过使用附加探测交换另外的信息来建立共享秘密。此后,任一设备可以通过使用从共享秘密提取的加密密钥对消息进行加密而发送该消息到另一个设备;加密的信息也可以在探测中发送。接收设备可以从探测中提取加密的消息并且使用加密密钥来解密该消息。该加密的消息可以包括能由接收设备用来加入无线网络的证书。

著录项

  • 公开/公告号CN102387501A

    专利类型发明专利

  • 公开/公告日2012-03-21

    原文格式PDF

  • 申请/专利权人 苹果公司;

    申请/专利号CN201110372584.1

  • 发明设计人 B·布拉德利;

    申请日2011-08-30

  • 分类号H04W12/04(20090101);H04W12/12(20090101);H04W48/00(20090101);

  • 代理机构中国国际贸易促进委员会专利商标事务所;

  • 代理人邹姗姗

  • 地址 美国加利福尼亚

  • 入库时间 2023-12-18 04:42:57

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-03-25

    授权

    授权

  • 2012-05-02

    实质审查的生效 IPC(主分类):H04W12/04 申请日:20110830

    实质审查的生效

  • 2012-03-21

    公开

    公开

说明书

技术领域

本公开总体上涉及电子设备之间的无线通信,更特别地涉及提供在两个设 备之间的安全无线链路。

背景技术

无线网络已经变得无处不在。电气与电子工程师协会(IEEE)已经颁布了 用于使电子设备能够相互通信的802.11标准族,其也被称为“WiFi”。这些标准 (包括802.11a,802.11b,802.11g和802.11n)定义了用于在设备之间传送信息 的频率、调制、数据率以及消息格式。一般地说,在兼容802.11的无线网络(也 被称为“WiFi网络”)中,有一个管理该WiFi网络的指定的“接入点”,其通常 具有到因特网的有线连接。在其他的操作中,该接入点可以在联网的设备之间 路由消息。该WiFi网络具有名称(一般可由与该接入点交互的网络管理员配 置),该接入点会定期地进行广播,那些知晓该名称或者从接入点的广播中发现 该网络名称的设备可以通过向该接入点发送“加入”请求来加入该网络。一般来 说,接入点将只在加入网络的设备之间路由消息。

当然,无线信号很容易被拦截。相应地,该WiFi标准提供了各种各样的安 全协议,例如有线等效保密(“WEP”),WiFi保护接入(“WPA”)以及IEEE 802.11i(也被称为“WPA2”)。这些协议提供了:在网络上发送的信息被加密并 指定要使用的特定加密技术。该WiFi网络接入点可针对特定的安全协议配置。

通常,加入安全WiFi网络的设备需要知道一个可用来加密和解密消息的特 定于网络的密码或者密钥。尽管该密码或密钥通常不在设备之间无线传送,但 是该安全WiFi网络中的接入点可以要求任何试图加入该网络的设备证明它知 道该密码或密钥,例如,通过正确地加密一个随机质询(challenge)。为了将计 算机连接至安全WiFi网络,用户可以从该网络管理员获取该密码并将其输入到 计算机,例如,作为对由在该计算机上运行的网络配置程序生成的提示的响应。

然而最近,WiFi使能设备的领域已经开始扩展超出计算机至包括一系列外 围设备。例如,已经开发了使用802.11标准进行通信的无线打印机。一些外围 设备具有有限的用户接口,这使得用户难以或者无法将用于WiFi网络的密码或 者密钥输入到该设备。通常,需要首先通过有线接口(例如,USB)将该外围 设备连接至计算机以便配置该WiFi接口,然后将该外围设备切换至无线操作模 式。

发明内容

本发明的特定的实施方式提供了用于通过利用针对在尚未加入网络的设备 之间交换消息的无线网络协议的支持,而在两个设备(此处指的是“控制器”和 “附件”)之间建立安全无线链路(此处指的是“配对”)的技术。这些消息在这 里被称为“探测(probe)请求”以及“探测响应”,或者更一般地称为“探测”。在 基于IEEE802.11标准的无线网络的情况下,探测请求和探测响应帧可被用作 探测。在此使用的探测可被用于在两个WiFi使能的设备(包括计算机、移动设 备、外围设备以及其他设备)之间交换消息序列。该序列可包括用于在两个设 备之间建立共享秘密的消息;一旦建立了该共享秘密,该两个设备就可以安全 地传送其他消息,该其他消息包括但不限于使得其中一个设备能够加入无线网 络的消息(例如,网络名称和密码或者其他证书)。

任意两个具有适当配置的无线接口的设备都可以建立配对。在此描述的一 些实施方式中,一个设备(“控制器”)可以广播初始探测,以宣告它正在搜寻 可与它配对的设备。另一个设备(“附件”)可以用另一个请求配对的探测来响 应该初始探测。这两个设备可以建立共享秘密以及/或者验证另一个设备具有相 同的共享秘密。在一些实施方式中,共享秘密可以通过交换其他的探测来建立 以及/或者验证。在其他实施方式中,建立共享秘密所需的所有消息都可以在探 测的初始交换中提供,并且共享秘密可以通过诸如用户确认的其他机制来验证。 每个设备可以使用共享秘密生成附加的加密以及认证密钥。后者的这些密钥可 以用来保护(例如,加密和/或者认证)可在使用了附加的探测请求和探测响应 的设备之间传送的消息内容。

在一些实施方式中,在设备之间交换的受保护消息内容可以包括加入安全 无线网络所需的证书,例如网络名称和密码或者密钥。例如,具有受限用户接 口(例如,WiFi使能的打印机)的附件可以与控制器(例如,WiFi使能的个 人计算机)建立配对,并且可以通过该配对获得用于该控制器当前加入的无线 网络的证书。该附件然后可以使用这些证书加入该无线网络。一旦该附件已经 加入该无线网络,该附件和控制器就可以通过那个网络互相通信或者与其他设 备通信。此刻,配对可以被终止,或者配对链路可以被保持作为边带通信路径。

在一些实施方式中,该配对处理可以主要是自动化的,需要很少的用户介 入或者不需要用户介入。任何用户介入可以是简单的,如验证附件和控制器之 间的密码匹配,或者在一个设备上(例如,控制器)输入由另一个设备(例如, 附件)提供的密码。

本发明的一个方面涉及用于在附件和控制器之间建立无线通信链路的方 法。控制器可以广播第一探测来指示该控制器正在搜寻可与之配对的附件。附 件可以接收该第一探测,并且用提供了关于该附件的信息的第二探测来响应。 控制器和附件可以通过利用附加的探测交换各自的公共密钥来建立共享秘密, 所述附加的探测包括由附件发送的第三探测以及由控制器发送的第四探测。控 制器和附件可以各自确证其他设备共享相同秘密,并可以使用共享秘密各自生 成另外的加密密钥。此后,每个设备都可以通过使用该另外的加密密钥来加密 消息并且在第五探测中发送该加密的消息来向其他设备发送消息。接收设备可 以从第五探测中提取该加密的消息,并使用该另外的加密密钥来解密该消息。 在一些实施方式中,该加密的消息可以与认证数据一起发送,从而允许接收方 验证该消息的起源和完整性。

本发明的另一个方面涉及具有无线接口的附件。耦合至该无线接口的处理 器可被配置为与控制器通信以使用探测序列来建立配对,以通过该配对从控制 器获得用于加入无线网络的证书,以及使用该证书加入该无线网络。此后,假 定控制器也在相同的无线网络上,附件和控制器可以通过该无线网络以及/或者 配对来通信。在一些实施方式中,附件可以具有最小的用户接口或者没有用户 接口;如果希望的话,用户可以通过与控制器交互来控制附件的配对和网络加 入的行为。

本发明的另一个方面涉及具有无线接口和用户接口的控制器。耦合至无线 接口和用户接口的处理器可被配置为与附件通信以使用探测序列来建立配对。 建立配对可以包括通过用户接口与用户进行通信,以确认附件应当被允许加入 无线网络,以及/或者获得用于该附件的密码,该密码用来建立配对。一旦建立 了配对,控制器可以向附件安全地发送用于加入无线网络的证书(例如,作为 包括在发送给附件的探测中的加密消息)。一旦附件加入无线网络,控制器和附 件就可以通过无线网络和/或者配对进行通信。

下面详细的描述与附图一起将提供对本发明的本质和优点的更好理解。

附图说明

图1示出了在本发明的特定实施方式中使用的操作原理。

图2是根据本发明实施方式的控制器的框图。

图3是根据本发明实施方式的附件的框图。

图4是根据本发明另一实施方式的附件的框图。

图5是在本发明的一些实施方式中使用的探测帧结构的框图。

图6是根据本发明实施方式的可由附件采用以建立与控制器的配对的处理 的流程图。

图7是根据本发明实施方式的可由控制器采用以建立与附件的配对的处理 的流程图。

图8A-8B是根据本发明实施方式的用于在控制器和附件之间建立配对的处 理的流程图。

图9A-9B是根据本发明实施方式的用于在控制器和附件之间建立配对的处 理的流程图。

图10示出了根据本发明实施方式的可以在控制器上显示的密码提示。

图11示出了根据本发明实施方式的可由发送方(其既可以是附件也可以是 控制器)用来向与该发送方配对的接收方设备发送消息的处理。

图12示出了根据本发明实施方式的可由接收方(其既可以是附件也可以是 控制器)用来从与该接收方配对的发送方设备接收消息的处理。

图13是根据本发明实施方式的可由附件用来加入无线网络的处理的流程 图。

图14是根据本发明实施方式的可由控制器执行以方便附件加入无线网络 的处理的流程图。

图15是根据本发明实施方式的可由控制器用来方便附件加入无线网络的 处理的流程图。

图16是根据本发明一些实施方式的附件设备的功能框图。

图17A-17C是根据本发明一些实施方式的控制器设备的功能框图。

具体实施方式

本发明的一些特定实施方式提供了用于通过利用用于在尚未加入网络的设 备之间交换消息的无线网络协议的支持,在两个设备(此处指的是“控制器”和 “附件”)之间建立安全无线链路(此处指的是“配对”)的技术。这些消息在这 里被称为“探测请求”以及“探测响应”,或者更一般地称为“探测”。

例如,IEEE802.11标准设置了消息在称为“帧”的结构中被发送。该标准定 义了可以广播搜寻要加入的网络的设备的探测请求帧、以及可由接收了探测请 求的接入点发送的探测响应帧。以这种方式,设备可以自动地识别可用的无线 网络。根据该标准,探测请求帧或探测响应帧可以并入“信息元素”,该信息元 素的内容可以由特定的供应商来定义。

本发明的一些实施方式利用IEEE探测请求帧和探测响应帧的供应商特定 信息元素来支持在任意两个WiFi使能的设备(其包括计算机和外围设备)之间 交换消息序列。该序列可以包括在两个设备之间建立共享秘密的消息;一旦建 立了该共享秘密,这两个设备就可以安全地传送其他消息,所述其他消息包括 但不限于使其中一个设备能够加入标准WiFi网络的信息。

任意两个具有合适配置的无线接口的设备都可以建立配对。在此描述的一 些实施方式中,一个设备(“控制器”)可以广播初始“浏览”探测以宣告它正在 搜寻可与它配对的设备。该浏览信号可以被包括在802.11探测请求帧的信息元 素中或在其他类型的探测请求中。另一个设备(“附件”)可以用包括附件识别 信息的识别探测来响应该浏览探测。该识别信息可以被包括在802.11探测响应 帧的信息元素中或在其他类型的探测中。两个设备可以建立共享秘密,以及/或 者验证另一个设备具有相同的共享秘密。在一些实施方式中,该共享秘密可以 通过交换其他的探测来建立和/或验证。在另其他实施方式中,建立共享秘密所 需的全部信息都可以在探测的初始交换中提供,以及共享秘密可以通过诸如用 户确认的其他机制来验证。每个设备可以使用该共享秘密来生成附加的加密和 认证密钥。后者的这些密钥可以用来保护(例如,加密和/或者认证)在使用附 加的探测请求和探测响应的设备之间可以传送的消息内容。例如,受保护的(例 如,加密的)消息内容可以被包括在IEEE802.11探测请求帧或探测响应帧内 的信息元素中。

在一些实施方式中,在设备之间交换的受保护消息内容可以包括加入安全 无线网络所需要的证书,例如网络名称以及密码或密钥。例如,具有受限用户 接口(例如,WiFi使能的打印机)的附件可以与控制器(例如,WiFi使能的 个人计算机)建立配对,并且可以通过该配对获得用于控制器当前加入的无线 网络的证书。附件然后可以使用这些证书来加入该无线网络。一旦附件已经加 入了无线网络,附件和控制器就可以通过那个网络互相通信或者与其他设备通 信。此刻,该配对就可以被终止,或者该配对链路可以被保持作为边带通信路 径。

在一些实施方式中,配对处理可以主要是自动化的,需要很少的用户介入 或者不需要用户介入。任何用户介入可以是简单的,如验证附件和控制器之间 的密码匹配,或者在一个设备上(例如,控制器)输入由另一个设备(例如, 附件)提供的密码。

图1示出了在本发明的一些特定实施方式中使用的操作原理。图1中示出 的是控制器100(在这里是个人计算机)以及附件110(例如,打印机)和120 (例如,立体声扬声器)。控制器100和附件110、120中的每个都包括诸如标 准WiFi卡的无线通信接口以及各种其他组件,其中的例子在下面详细描述。

控制器100和附件110可以通过交换嵌入在探测请求和探测响应的消息来 建立安全的、直接通信链路(也被称作配对)112。术语“探测”在此也被用来可 互换地包含探测请求和探测响应。一旦建立了配对112,控制器100和附件110 就可以使用另外的探测来互相发送加密消息。同样,控制器100和附件120可 以通过交换内嵌在探测中的消息来建立配对122。一旦建立了配对122,控制器 100和附件120就可以通过使用附加的探测来互相发送加密消息。

该探测被无线地发送,并且附件110可以检测与配对122相关联的探测。 类似地,附件120可以检测与配对112相关联的探测。为了提供安全性,一旦 建立了配对,就可以按照专用于该特定配对的方式加密消息;因此,例如,配 对112可以提供与配对122不同的加密密钥。结果,附件110不能解密包含在 与配对122相关的探测中的消息。(类似地,附件120不能解密包含在与配对112 相关的探测中的消息)。在下面描述用来建立配对的技术的具体例子,包括建立 特定于配对的加密密钥。

如图1所示,在一些实施方式中,单个控制器可以同对与多个附件配对。 在一些实施方式中,控制器100可以处于一次建立仅一个配对的处理中;然而, 一旦建立了一个配对(例如,配对112),控制器100就可以在保持第一配对可 用的同时建立第二配对(例如,配对122)。在其他实施方式中,控制器100可 以同时建立多个配对,例如,如果在探测请求和探测响应中包含有足够的识别 信息使得控制器100可以可靠地确定接收到的消息的来源,以及如果每个附件 能够确定它或者其他的设备是否是接收到的消息的目的地。在其他实施方式中, 控制器100可以被限制为一次只能与一个附件建立配对。因此,例如,如果附 件110开始与控制器100配对,则附件120可能需要等待直到配对112完全建 立。在另选实施方式中,如果当附件110正处在建立它的配对的处理中时,附 件120尝试发起与控制器100的配对,则控制器100可以中止与附件110的通 信以服务来自附件120的配对请求。也可以采用其他的用于区分配对操作的优 先顺序的规则。

值得注意的是,图1中示出的设备是示例性的,并且可以进行变化和修改。 例如,尽管控制器100被描绘为个人计算机,但是控制器100还可以是其他类 型的设备,包括但不限于膝上型计算机、平板计算机、智能电话、移动通信或 计算设备,等等。另外,控制器100不必是或者包括显著的计算能力;任何能 够执行在此描述的控制器操作的设备都可以被用作控制器。

同样,附件110和120被分别描绘为打印机和一对立体声扬声器,但是也 可以采用其他类型的附件——包括任何具有无线通信接口的设备。其他可以作 为附件的设备的例子包括外围设备、照相机、包括电子医疗设备的个人电子设 备,以及家用电器。如同控制器100一样,任何能够执行在此描述的附件操作 的设备都可以被用作附件。显然,“附件”区别于控制器的地方在于,在配对处 理期间,该附件接收并响应于来自该控制器的初始探测请求。

在一些实施方式中,附件可以是具有受限的接口或者不具有接口的设备。 例如,扬声器120可以产生声音,但是无需具有任何能够检测用户动作的部件 (例如,按钮、拨盘、触摸敏感区,等等)。类似地,打印机110能够在纸上生 成任意的图像(采用黑色和白色或者取决于实施的颜色),并且可以具有能够显 示一些特证或者简单状态灯的显示器;用户输入接口可能提供仅一个或两个控 制按钮。这种受限的用户接口或者不存在用户接口会使得用户难以或不可能输 入网络名称、密码或者其他用于加入传统安全无线网络所需的证书。一些实施 方式允许附件无线地且安全地获取网络证书,而与该附件只有很少或者没有用 户交互,从而简化将这种附件连接至无线网络的任务。

在此使用的术语“探测请求”和“探测响应”(或者“探测”)一般是指从特定 的无线网络的环境之外发送的消息。这些消息可以包括对发送设备的识别以及/ 或者对关于接收设备的信息的请求。这些消息可以被广播,或者在一些实施方 式中,如果发送方具有用于接收方的识别信息,则一些消息可以被单播(即, 寻址到特定的接收方)。探测通常在明文(cleartext)中发送(尽管在下述的一 些实施方式中,可以在明文探测请求或探测响应中内嵌加密的消息)。尽管可以 使用IEEE802.11兼容的探测请求帧和探测响应帧,但是本发明并不限于这些 与IEEE802.11标准兼容的特定帧或者网络。

图2是根据本发明实施方式的控制器200的框图。控制器200(例如,实 现图1的控制器100)可以包括各种部分,例如处理器202、用户接口204、无 线接口206以及存储介质208。

可以被实现为一个或多个集成电路(例如,传统的微处理器或者微控制器) 的处理器202可以控制器200的操作。在各种实施方式中,处理器202可以响 应于程序代码执行各种程序,并且可以保持多个同时执行的程序或处理。在任 何给定的时间,要执行的一些或者全部的程序代码可以驻存于处理器202中以 及/或者存储介质(例如,存储介质208)中。

通过合适的编程,处理器202可以提供用于控制器200的各种功能。例如, 响应于由用户接口204提供的用户输入信号,处理器202可以启动应用程序(字 处理器、网络浏览器,等等),运行存储的媒体内容,控制无线接口206以建立 或者终止网络连接,或者发送和接收数据和其他信号,等等。

用户接口204可以包括诸如键盘、触摸板、触摸屏、滚轮、点击滚轮、拨 盘、按钮、开关、键板、麦克风等的输入设备以及诸如视频屏幕、指示灯、扬 声器、头戴式受话器插孔等的输出设备,连同支持电子元件(例如,数字-模拟 或者模拟-数字转换器、信号处理器等)。用户可以操作用户接口204的输入设 备来调用控制器200的功能,并且可以通过用户接口204的输出设备观看以及/ 或者收听来自控制器200的输出。

无线接口206可以提供用于控制器200的数据通信能力。在一些实施方式 中,无线接口206可以包括用于接入无线语音和/或者数据网络(例如,使用先 进的数据网络技术,例如3G、4G或者EDGE、WiFi(IEEE802.11标准族), 或者其他无线通信技术,或者上述技术的任意组合)的射频(RF)收发器部件。 无线接口206可以使用硬件部件(例如,天线、调制器/解调器、编码器/解码器, 以及其他模拟的和/或者数字的信号处理电路)和软件部件的组合来实现。

存储介质208可以例如采用盘、闪存或者任何其他非易失性存储介质来实 现。在一些实施方式中,存储介质208可以存储要由处理器202执行的程序代 码(包括应用程序和操作系统程序)。这些代码可以包括与以下所描述的建立和 附件的配对相关的程序代码。存储介质208还可以存储诸如可以被控制器200 播放或者流式传输至其他设备的媒体资源(音频、视频、静态图像,等等)、个 人信息电子文档、以及/或者用户的数据文件的数据,以及其他信息。在一些实 施方式中,存储介质208可以存储与特定无线网络相关的网络证书210(例如, 网络名称以及密码),其中控制器200可以通过无线接口206连接至所述网络。

值得注意的是,控制器200是示例性的并且可能有多种变化和修改。控制 器200可以具有在此未具体描述的能力(例如,移动电话、基于卫星的导航) 以及无需具有媒体回放能力。在此使用的术语“控制器”一般是指可以响应于对 安全无线链路或者配对的请求并随后建立与其他设备的配对的任何设备。

在一些实施方式中,控制器200还可以使用其他输入/输出通道与用户或者 其他设备交换信息。其他输入/输出通道的例子包括在音频线输入和输出路径 (例如,音频插孔)上的模拟信号;与图像分析器结合的照相机、条形码读取 器或者其他成像设备(用于输入);可以生成机器可读图像的显示屏(用于输出); 传感器,例如加速计、陀螺仪或者接近检测器(通过传感器,可以采用设备的 运动、朝向或者位置来向控制器200输入信息);不可见(例如,红外)光检测 器以及/或者发射器,超声波检测器以及/或者发射器;等等。

图3是根据本发明实施方式的附件300的框图。附件300(例如,实现图1 的打印机附件110)可以包括处理器302、用户接口304、无线接口306、存储 介质308以及打印元件310。

可以被实现为一个或多个集成电路(例如,传统的微处理器或者微控制器) 的处理器302可以控制附件300的操作。在各种实施方式中,处理器302可以 响应于程序代码执行各种程序,并且可以保持多个同时执行的程序或处理。在 任何给定的时间,要执行的一些或者全部程序代码可以驻存于处理器302中以 及/者在诸如存储介质308的存储介质中。

用户接口304可以是象传统打印机的简单接口。例如,一些打印机提供具 有很少数量的按钮和状态指示灯的最小接口。其他打印机提供了较为复杂的接 口——例如,包括字符行显示器或者其他显示器,以及键盘、触摸屏等——以 支持交互菜单来方便调整打印机设置、选择纸张或纸张路径、取消作业、故障 检修,等等。在一些实施方式中,用户接口304的显示器可被用于向用户提供 信息以确证例如如下描述的配对。

无线接口306至少可以提供用于附件300的数据通信能力。在一些实施方 式中,无线接口306可以包括用于接入无线数据网络(例如,采用3G、4G或 者EDGE、WiFi,或者其他移动通信技术,或者上述技术的任意组合)的射频 (RF)收发器部件。无线接口306可以使用硬件部件(例如,天线、调制器/ 解调器、编码器/解码器以及其他模拟和/或数字信号处理电路)和软件部件的组 合来实现。

存储介质308可以采用例如盘、闪存或者任何其他非易失性存储介质来实 现。在一些实施方式中,存储介质308可以存储要由处理器302执行的程序代 码(包括例如打印控制程序)。该代码可以包括与如下所述的建立和控制器的配 对相关的程序代码。

打印元件310可以包括各种电子部件和/或机械部件,例如,给纸器、喷墨 装置、激光打印装置等。

图4是根据本发明另一实施方式的附件400的框图。附件400(例如,实 现图1的扬声器附件120)可以包括处理器402、无线接口406、存储介质408 以及扬声器410。

可以被实现为一个或多个集成电路(例如,传统的微处理器或者微控制器) 的处理器402可以控制附件400的操作。在各种实施方式中,处理器402可以 响应于程序代码执行各种程序,并且可以保持多个同时执行的程序或处理。在 任何给定的时间,一些或者全部的要执行的程序代码可以驻存于处理器402中 以及/或者在诸如存储介质408的存储介质中。

无线接口406至少可以提供用于附件400的数据通信能力。在一些实施方 式中,无线接口406可以包括用于接入无线数据网络(例如,采用3G、4G或 者EDGE、WiFi,或者其他移动通信技术,或者上述技术的任意组合)的射频 (RF)收发器部件。无线接口406可以使用硬件部件(例如,天线、调制器/ 解调器、编码器/解码器,以及其他模拟和/或数字信号处理电路)和软件部件的 组合来实现。

存储介质408可以采用例如盘、闪存或者任何其他非易失性存储介质来实 现。在一些实施方式中,存储介质408可以存储要由处理器402执行的程序代 码(包括例如与解码通过无线接口406接收的数字音频相关的代码)。该代码可 以包括与如下所述的建立和控制的配对相关的程序代码。在一些实施方式中, 存储介质408还可以存储设备密码412,该设备密码412可以是设备固件的一 部分或者被硬编码到设备中。设备密码412可以在如下所述的建立配对时使用。

扬声器410可以包括各种电子部件和/或机械部件,例如放大器、换能器、 扬声器纸盆(speaker cone)、输出插孔等。在一些实施方式中,处理器402可 以通过无线接口406接收数字音频数据,将该数据转换为模拟信号,以及将该 模拟信号提供给扬声器410中的扬声器驱动器。在一些实施方式中,扬声器410 还可以包括辅助输入插孔(例如,标准3.5mm音频插孔)并且可以通过该路径 接收模拟音频信号。

不象附件300,附件400没有示出具有用户接口,并且实际上附件无需具 有任何用户接口。在一些实施方式中,该用户接口可被限制为例如电源开关、 输入源选择器、音量控制器等等。

值得注意的是,附件300和400是示例性的并且可以进行变化以及修改。 在此使用的术语“附件”一般是指任何可以与控制器建立配对的设备,并且由该 配对提供的通信链路可被用于任何目的,包括但不限于方便该附件加入该控制 器所属的网络。在一些实施方式中,与附件功能相关的数据和控制信号可以使 用配对链路来发送。因此,附件可被用于各种目的,包括打印、播放声音、显 示视频、向控制器提供数据(例如,传感器读数)、接收和处理来自控制器的数 据等等。附件并不限于诸如扬声器或者照相机的外围设备;其他的例子包括家 用电器(例如,冰箱、传统烤箱、微波炉、洗衣机,等等)以及个人电子设备 (例如,锻炼监控器、电子医疗设备)。任何具有无线接口和适当配置的设备都 可以用作附件。

此外,尽管参考如图2至4所示的特定框图描述了控制器和附件,但是应 当理解的是,这些方框是为了方便描述而定义的,而不是意味着部件部分的特 定物理配置。另外,这些方框无需对应于物理上分立的部件。这些方框可被配 置为用于执行各种操作,例如通过对处理器进行编程或者提供合适的控制电路, 并且各种方框依据如何获得初始配置可以是可重配置的或者不是可重配置的。 本发明的实施方式可以在各种装置中实现,包括使用电路和软件的任何组合实 现的电子设备。

如在此描述的,控制器和附件可以通过交换探测来建立无线配对。图5是 在本发明的一些实施方式中可采用的探测帧结构500的框图。

探测帧结构500包括多个字段;在一些实施方式中,这些字段的一些或者 全部可以对应于由IEEE802.11标准规定的帧结构。例如,帧控制字段502可 以提供关于帧的一般性信息,例如,协议版本、帧类型(例如,识别为探测请 求帧或者探测响应帧)以及其他可由接收设备用来解释接收到的无线信号流的 信息。持续时间字段504可以提供持续时间信息,例如如在IEEE802.11标准 中定义的。地址字段506可以指定发送方的地址以及帧500的预定接收方,以 及例如如在IEEE802.11标准中指定的其他地址信息。序列字段508可以包含 可用于从多个接收到的多个片段重构帧的序列信息。数据字段510可以包含帧 内容,其包括要由接收方处理的数据。校验和字段512可以包括检错码和/或纠 错码,例如32比特循环冗余校验。

用于探测请求帧或者探测响应帧的数据字段510可以包括一个或多个信息 元素520。每个信息元素(“IE”)520可以是包含各种字段的结构。元素ID字 段522可以识别IE的类型。例如,信息元素可以是标准元素或供应商特定元素, 并且元素ID字段522可被用于指示IE520是否是标准的或者供应商特定的。 在此描述的实施方式中,假定是供应商特定的信息元素,但是值得注意的是, 在此描述的信息元素可以成为将来标准的一部分。长度字段524指示IE520的 长度(例如,以字节为单位)。供应商字段526可以包括与供应商特定的信息元 素520相关联的供应商的唯一标识符。该供应商可以例如是能够执行在此描述 的配对操作的控制器的制造商。在一些实施方式中,字段526中的供应商标识 符可以是由IEEE分配的24位组织唯一标识符(OUI);也可以使用其他标识 符。子类型字段528可以提供供应商分配的子类型。在一些实施方式中,子类 型字段528在所有配对相关的探测中具有固定值,并且该字段被用于指示信息 元素520用于配对。

子IE字段530可以包含一个或多个子IE540。如所示出的,子IE540提 供了类型标识符字段542,该类型标识符字段542指示在该子元素中提供的信 息的类型。可以提供的信息的类型的例子包括:识别与IE520相关的操作(例 如,搜寻要配对的附件、协商密钥、认证共享秘密、发送诸如无线网络证书的 加密消息)的操作码;目标设备的地址;会话标识符;序列号码;加密密钥; 随机数(random nonce);认证者或数字签名;加密数据;设备能力和/或配置 信息;设备名称(制造商和/或型号名称);网络证书(其可以是加密的,例如, 如下所述的)。在下面描述使用各种信息类型的例子。

长度字段544可被用于指示子IE540的长度。有效载荷字段546可以包含 由类型标识符字段542识别的信息。

值得注意的是,在此描述的探测格式是示例性的并且可以进行变化和修改。 在一些实施方式中,探测帧是与定义探测请求帧和探测响应帧的IEEE802.11 标准兼容的,但是也可以使用其他的探测格式。可以采用任何可用来在设备之 间传送信息的数据结构作为探测,其中至少一个设备还没有加入无线网络。

现在将要描述可用来在附件和控制器之间建立配对的处理的例子。

图6是根据本发明实施方式的由附件用来建立与控制器的配对的处理600 的流程图。处理600开始于方框602,在方框602处,附件(例如,附件300 或附件400)确定应尝试创建配对。在一些实施方式中,这种确定是在附件的 启动处理期间自动进行的;在其他实施方式中,用户可以操作该附件的控制器 来启动该处理。在还有其他实施方式中,尝试在启动时自动创建配对还是等待 特定指令,是该附件的可配置参数。

在方框604,附件可以接听并且接收来自控制器的“浏览”探测请求;其指 示了该控制器正在搜寻(或者浏览)可与之配对的附件。在一些实施方式中, 该浏览探测请求可被接收为如上所述的探测帧500。在这种情况下,探测帧500 可以包含(例如,在子IE字段530中)用于指示控制器正在搜寻或者浏览可与 之配对的附件的操作码。例如可以通过不指定接收方地址,来广播浏览探测请 求。在802.11兼容的网络的情况下,典型的是只有接入点接听并且响应探测请 求;其他设备则忽略探测请求。然而,既然探测请求不受阻碍地被广播,所以 除接入点之外的设备也可以检测并响应该探测请求。

在方框606,附件可以发送探测响应至控制器。在一些实施方式中,探测 响应可以作为如上所述的探测帧500被发送。在这种情况下,探测帧500可以 包括(例如,在子IE字段530中)关于该附件的识别信息,例如制造商的名称、 型号名称以及特定性能信息(例如,附件是否可以动态地或者基于存储密码执 行密钥协商)。探测响应可以寻址至如下控制器,即在方框604接收到来自该控 制器的探测请求。如果在方框604接收到多个探测请求,则附件可以选择一个 控制器。在一些实施方式中,附件选择从其接收到探测请求的第一个控制器; 在其他实施方式中,选择最后一个控制器。在还有其他实施方式中,可以使用 其他选择规则,或者如果附件具有能够提示用户的接口,则附件可以提示用户 选择附件应当与之配对的控制器。

在方框608,附件和控制器可以建立并交换公共加密密钥。在一些实施方 式中,公共密钥是使用附加的探测来交换的。在使用探测帧500的情况下,密 钥可以被并入为子IE字段530中的字IE;也可以使用其他格式。在一些实施 方式中,可以动态地协商密钥;在其他实施方式中,密钥的生成可以基于与附 件相关的固定密码。在下面描述使用这些技术中的每一种的配对处理的例子。

在方框610,附件可以计算共享秘密,并且可以通过确认控制器具有相同 的共享秘密来确证该控制器。例如,附件和控制器可以各自都显示一些基于该 共享秘密的信息。如果二者具有相同的秘密,则显示应当匹配,并且可以要求 用户来验证该匹配。另选地,附件和控制器可以各自使用随机质询来验证另外 一个具有相同的共享秘密。在下面描述使用这些技术中的每一种的配对处理的 例子。

在方框612,附件可以基于共享秘密生成附加的加密和认证密钥。在方框 614,附件可以使用该附加的密钥与控制器安全地进行通信。例如,附件可以使 用该密钥来加密一个消息,然后在探测中的信息元素(或其他数据项)中发送 该加密消息。类似地,该附件可以接收包含来自控制器的加密消息的探测,并 且可以使用该密钥来解密和认证该消息。方框614中通过配对的通信可以无限 期地继续下去;当通信完成时,处理600可以结束。

图7是根据本发明实施方式的由控制器用来建立与附件的配对的处理700 的流程图。当控制器在方框702中确定应当尝试与附件配对时,处理700开始。 例如,用户可以指示控制器搜寻可与之配对的附件。

在方框704,该控制器可以广播浏览探测请求,用以指示该控制器正在浏 览能够配对的附件。在一些实施方式中,该探测请求可以被广播为如上所述的 探测帧500。在这种情况下,探测帧500可以包含(例如,在子IE字段530中) 指示该控制器正在搜寻或者浏览可与之配对的附件的操作码。该探测请求可以 包括它是通过例如不指定接收方地址被广播的指示。

在方框706,该控制器可以接收来自附件的探测响应。在一些实施方式中, 该探测响应可以作为如上所述的探测帧500被发送。在这种情况下,探测帧500 可以包括(例如,在子IE字段530中)关于该附件的识别信息,例如制造商的 名称、型号名称、以及特定性能信息,例如该附件是否可以动态地或者基于存 储密码执行密钥协商。该探测响应可以被寻址至该控制器。在一些实施方式中, 该控制器可以在方框706接收多个探测响应。

在一些实施方式中,该控制器可以在进一步继续之前提示用户。例如,该 控制器可以显示询问用户是否应连接该附件的消息;该消息可以包括从探测请 求中提取的附件识别信息。如果用户授权该连接,则控制器可以继续。当在方 框706中接收到来自多个附件的探测响应时,控制器可以要求用户以选择与之 配对的附件。在其他实施方式中,控制器可以在没有先获得用户授权的情况下 继续配对。

在方框708,附件和控制器可以建立并交换公共加密密钥。在一些实施方 式中,公共密钥是使用附加的探测来交换的。当使用探测帧500时,该密钥可 以被并入为子IE字段530中的子IE;也可以使用其他格式。在一些实施方式 中,可以动态地协商密钥;在其他实施方式中,密钥的生成可以基于与该附件 相关联的固定密码。下面描述使用这些技术中的每一个的配对处理的示例。

在方框710,控制器可以计算共享秘密并且可以通过确认附件具有相同的 共享秘密来确证该附件。例如,附件和控制器可以显示基于共享密钥的一些信 息,如果二者具有相同的秘密,则所述信息应当匹配,并且用户可验证该匹配。 另选地,附件和控制器可以各自使用随机质询来验证另一个具有相同的共享秘 密。在下面描述使用这些技术中的每一个的配对处理的示例。

在方框712,控制器可以基于该共享秘密生成附加的加密和认证密钥。在 方框714,控制器可以使用该附加的密钥与附件安全地进行通信。例如,控制 器可以使用密钥加密消息,然后在探测中的信息元素(或其他数据项)中发送 该加密消息。类似地,控制器可以接收包含来自附件的加密消息的探测,并且 可以使用该密钥解密和认证该消息。方框714中给出的通过安全配对链路的通 信可以无限期地继续下去;当通信完成时,处理700可以结束。

值得注意的是,处理600和700是例示性的,可以进行多种变化和修改。 描述为顺序执行的步骤可以并行执行,步骤的顺序可以改变,并且步骤也可以 被修改、合并、添加或者省略。例如,可以采用探测请求和探测响应的多种序 列来建立用于配对的安全性(密钥、共享秘密,等等)。可以采用各种加密技术 和算法;下面将描述一些示例。该探测可以是与IEEE802.11兼容的探测请求 帧和探测响应帧,或者是与其他无线联网协议兼容的其他格式的消息。一般地, 期望该探测是在明文中(即,不加密地)被发送;任何具有合适性能的设备都 可以读取该消息。在一个配对中,可以通过在将消息内容内嵌于明文探测(例 如,作为信息元素或者其他数据项)之前例如以如上所述的方式对其加密来提 供安全性。

在一些实施方式中,可以使用少至两个的探测来完成配对。例如,由控制 器发送的初始探测请求可以包括该控制器的公共密钥,并且由附件发送的初始 探测响应可以包括该附件的公共密钥。(因此,方框608可以与方框604和606 一起发生;同样,方框708可以与方框704和706一起发生)。也可以执行对共 享秘密的确证,而无需交换其他探测;下面描述示例。

一旦使用处理600和700建立了安全配对链路,任何类型的信息都可以通 过该链路进行传送,仅受到依赖于实现的带宽限制。在一些实施方式中,附件 可以使用在方框614提供的配对从控制器获取用于无线网络的证书(例如,受 保护的IEEE802.11网络的名称和密码或密钥);该附件然后可以使用这些证书 加入那个网络。一旦附件加入了该无线网络,通过该配对链路的通信就可以被 停止,尽管在一些实施方式中,这种通信可以继续,用以提供通信边带。

其他类型的可以通过配对链路传送的信息包括用于附件、控制器或者二者 的配置参数和/或控制信号。因此,例如,配对的附件可以用作控制器的远端控 制设备(通过在探测中发送命令至控制器),反之亦然。如果由探测提供的带宽 足够的话,可以在设备之间流式传输数据。(对于现在的IEEE802.11标准,由 探测请求帧和探测响应帧提供的带宽一般对于高质量媒体流式传输是不够的; 其他实现方式可以提供更高的带宽)。

如上所指出的,一些实施方式在方框608和610(或者708和710)提供动 态密钥协商和确证,而其他实施方式提供基于固定设备密码的密钥协商和确证。 图8A-8B是根据本发明实施方式的用于提供两种另选方式的处理800的流程 图。

在方框802,控制器(例如,控制器200)可以例如从用户接收定位可与之 配对的附件的指令。例如,由控制器执行的应用程序可以包括具有用户可操作 (例如,通过从菜单中进行选择)的控件(control)的用户接口,来指示控制 器搜寻可用于配对的附件。在其他实施方式中,用于定位附件的指令可以是在 控制器的操作期间自动生成的(例如,定期地),且无需用户启动。在方框804, 控制器可以广播探测请求(例如,如上所述的)来浏览能够进行配对的附件。 这一般类似于前述的处理700中的方框704。

在方框806,附件可以从控制器接收探测请求。在方框808,附件可以通过 向该控制器发送探测响应(例如,如上所述的)来响应。这一般类似于前述的 处理600中的方框606。

在方框810,控制器可以从附件接收该探测响应。在方框812,该控制器可 以与用户确认是否进行配对。如上所述的,在一些实施方式中,该控制器可以 显示询问用户是否应连接该附件的消息;该消息可以包括从探测请求提取的附 件识别信息。如果控制器接收到来自多个附件的探测响应,则方框812可以包 括提示用户选择与之配对的附件。假定用户确认应继续进行配对,控制器可以 继续。在其他实施方式中,控制器可以在没有先获得用户授权的情况下继续进 行配对,并且方框812可以忽略。

在方框814,控制器可以确定附件是否使用动态密钥协商或者基于固定密 码的密钥。如果附件不使用动态密钥协商,则可以使用在图9A-9B中示出的且 在下面描述的顺序,如在方框816中指示的。

对于动态密钥协商,处理800的剩余部分在图8B中示出。在方框822,控 制器可生成其私有密钥(“CPRIV”)以及公共密钥(“CPUB”)。在一个实施方 式中,控制器可以生成32字节的强加密随机数据,使用例如Curve25519(椭 圆曲线Diffie-Hellman方法,记载于http://cr.yp.to/ecdh.html)的加密算法将该 数据转换为私有密钥CPRIV,并且从CPRIV计算公共密钥CPUB。可以用其 他生成公共-私有密钥对的技术来替代。

在方框824,控制器可以使用探测请求向附件发送该公共密钥CPUB。公 共密钥CPUB可以被包括作为信息元素或者其他数据项。公共密钥可以作为明 文发送。控制器还可以在探测请求中的一个或多个信息元素中包括其他信息, 例如随后会被包括在所有的与配对会话相关联的探测请求和探测响应中的唯一 会话ID。使用会话ID可以帮助控制器和附件确定配对链路的状态(例如,密 钥协商是否在进行中或者结束了)以及相应地处理接收到的探测请求和探测响 应。在一些实施方式中,其他信息还可以包括唯一序列标识符(在会话中是唯 一的),其允许探测响应与特定的探测请求相匹配。

在方框826,附件可以接收包含控制器的公共密钥CPUB的探测请求。附 件可以在方框828生成它自己的私有密钥(“APRIV”)以及公共密钥 (“APUB”)。在一个实施方式中,附件可以生成32位的强加密随机数据,使 用诸如Curve25519的加密算法将该数据转换为私有密钥APRIV,并且从 APRIV计算公共密钥APUB。可以用其他生成公共-私有密钥对的技术来替代; 一般地,应当在方框822和828使用兼容技术。在方框830,附件可以使用探 测响应向控制器发送它的公共密钥APUB。

在方框832,控制器可以接收该探测响应并提取APUB。在这一阶段,控 制器和附件各自都在处理公共密钥APUB和CPUB中。

在方框834和836,控制器和附件可以分别基于公共密钥APUB和CPUB 计算共享秘密。在一些实施方式中,该共享秘密是采用Curve25519计算的;其 他加密算法也可以来替代。一般地,两个设备应当使用相同的算法来提供共享 秘密(即,两个设备都知晓的一个秘密)。

在方框838和840,控制器和附件分别从该共享秘密计算密码。例如,诸 如SHA-256的散列算法可被应用到该共享秘密或者该共享秘密的一些功能。结 果或者其中一部分可以被转换为可被用作密码的字母数字字符串(例如,8个 字符)。尽管可以采用多种技术生成密码,但附件和控制器应当使用可获得匹配 和相关密码的技术。在方框842和844,控制器和附件分别将它们计算的密码 呈现给用户。例如,控制器200可以在它的显示器上显示该密码。打印机附件 (例如,附件300)可以在它的用户接口显示器上显示该密码或者打印包含该 密码的页面。用户可以比较这两个密码以确认它们匹配,例如,通过操作控制 器和/或附件上的输入控件来确认该匹配。在方框846和848,附件和控制器可 以分别接收该确认。在一些实施方式中,用户可以通过仅一个设备(例如,控 制器)的用户接口来提供确认,该设备可以通过发送探测将该确认传送至另一 个设备(例如,附件)。如果未接收到确认,未接收到确认的一个或多个设备可 以停止处理800。

在一些实施方式中,附件可能无法显示密码。例如,如图1中所示的扬声 器附件120不具备显示设备。在这种情况下,作为替代,可以采用基于密码的 认证,例如,如下面参考图9A-9B所描述的。

假定该密码被验证,在方框850和852,控制器和附件可以分别从共享秘 密生成附加的加密和认证密钥。可以例如采用诸如先进加密标准(“AES”,记 载于http://en.wikipedia.org/wiki/Advanced_Encryption_Standard)以及/或者 Poly1305-AES消息认证码(记载于http://cr.yp.to/mac.html)的标准技术来得出 这些密钥。

此时,认为配对已经建立,以及可以采用在方框850和852建立的密钥来 在控制器和附件之间安全地通信。下面会描述安全地发送和接收信息的特定处 理的示例。

如上所指出的,处理800包括由控制器和附件将密码呈现给用户,并要求 用户来验证密码匹配。在一些实施方式中,对一些特定的设备来说,将密码呈 现给用户是不方便的或者不可能的。例如,如图1所示的扬声器附件120不包 括任何显示能力;尽管这种能力是可以添加的,但是可能不希望这么做(例如, 出于成本或者美观的原因)。因此,一些实施方式提供了基于密码的认证以补充 或者替代动态密钥协商。

在一些实施方式中,处理800可以被修改以减少建立配对所交换的探测个 数。例如,在方框802由控制器发送的初始探测请求可以包括控制器公共密钥 CPUB,以及在方框808由附件发送的初始探测响应可以包括附件公共密钥 APUB;在那种情况下,在方框824和832发送附加的探测就可以被省略。如 果在之后的步骤中不使用探测,例如,如果用户可以与每个设备单独地交互来 验证密码匹配(在方框846和848),则可以使用少至两个的探测(来自控制器 的一个请求和来自附件的一个响应)来生成配对。

图9A-9B是根据本发明实施方式的用于基于密码认证的处理900的流程 图。如图8A所示的,处理800和900都是可用的,由控制器基于附件提供的 信息来决定使用哪一个。在其他实施方式中,处理900可以在不执行处理800 的情况下执行,在这种情况下,所有的附件都必须支持基于密码的认证。

处理900在控制器接收到来自附件的探测请求以指示该附件正在搜寻建立 配对后开始。这种情况中的探测请求可以指示该附件采用基于密码的认证。在 方框902,该控制器可以向附件发送包含会话ID的探测请求。如上所指出的, 该会话ID是由控制器分配的并专用于与特定附件的配对。

在方框904,附件可以接收该探测请求。在这个实施方式中,附件可以具 有永久地存储在存储器或者其他附件可访问的存储设备中的固定的或者预设的 密码(例如,图4中的附件400具有存储在存储介质408中的设备密码412), 以及在方框906,附件可以使用该密码生成公共密钥(“APUB”)。在一个实施 方式中,附件使用安全遥控密码(“SRP”,记载于http://srp.standford.edu/)来 生成公共密钥APUB。在方框908,附件可以生成随机值(random salt),例如 与SRP兼容的随机值。在方框910,附件可以发送包含公共密钥APUB和该随 机值的探测响应到控制器。这个探测响应以及所有后续的探测请求或探测响应 还可以包括在方框902由控制器提供的会话ID。

在方框912,控制器可以接收来自附件的探测响应。在方框914,控制器可 以提示用户输入该附件的密码至该控制器。在这个实施方式中,假定用户可以 获得该附件的密码。该密码可以被提供给用户,例如,在与附件打包的文档中、 附于附件的装饰上、作为附件主体上的打印密码、或者以其他方式。在一些情 况下,附件序列号或者其他唯一识别码可被用作该密码。

当给定用于传送密码给用户的选项范围时,在方框914提示或提醒用户在 哪里发现该附件的密码可能是有帮助的。在一些实施方式中,附件可以向控制 器提供关于它的密码位于哪里的信息。例如,不同的位置代码可被定义为指示 “左侧”、“右侧”、“顶部”、“底部”、“前面”、“背面”以及“文档”。该附件可以 在探测请求或探测响应(例如,附件发送的用以定位配对搭档的初始探测请求, 或者处理900中在方框910发送的探测响应)的信息元素(或其他数据项)中 包括合适的位置代码。

图10例示了根据本发明实施方式的可以在控制器上显示的密码提示。窗口 1000包含该提示。标题栏1002识别该控制器正试图连接至的附件,提示1004 要求用户在文本框1006中输入密码。提示消息1008告诉用户密码可位于何处。 在一些实施方式中,控制器可以通过从附件接收到的探测请求或探测响应读取 位置代码并且根据该位置代码选择合适的文本,来生成提示消息1008。

再次参考图9A,在方框916,控制器可以通过用户输入设备接收该密码。 在一些实施方式中,用户可以命令控制器取消或者放弃配对处理而不是输入密 码。在方框918,控制器可以生成它自己的公共密钥(CPUB);可以使用SRP 或其他技术。在方框920,控制器可以基于附件的公共密钥APUB、控制器的 公共密钥CPUB、以及从附件接收到的随机值计算共享秘密(例如,使用SRP)。 在方框922,控制器可以例如采用SRP计算证明它已经知晓附件的密码的响应 (“CRESP”)。

处理900的剩余部分在图9B中示出。在方框924,控制器可以发送包括公 共密钥CPUB和响应CRESP的探测请求。

在方框926,附件可以接收该探测请求。在方框928,附件可以基于该附件 的公共密钥APUB、控制器的公共密钥CPUB、以及在方框908(图9A)生成 的随机值,计算共享秘密(例如,使用SRP)。在方框930,附件可以使用该计 算的共享秘密来验证从控制器接收到的响应CRESP。在一些实施方式中,如果 验证失败,处理900就终止。假定验证成功,在方框932,附件可以计算它自 己的响应(“ARESP”)来证明它也知晓附件的密码。在方框934,附件可以在 探测响应中发送响应ARESP到控制器。

在方框936,控制器可以接收探测响应,以及在方框938,控制器可以验证 该响应ARESP。如同在方框930中一样,在一些实施方式中,验证失败会导致 处理900的终止。如果验证成功,在方框940,控制器就可以基于该共享秘密 计算加密和认证密钥。如同在处理800中一样,这些密钥可以分别采用AES以 及Poly1305-AES来计算。

类似地,一旦附件确证了控制器的响应(CRESP),在方框942,附件也可 以基于共享秘密计算加密和认证密钥。

此时,配对被建立,以及可以采用在方框940和942建立的密钥进行安全 的通信。下面会描述安全地发送和接收消息的特定处理的示例。

值得注意的是,在此描述的配对处理是例示性的,并且可以进行多种修改 和变化。描述为顺序执行的步骤可以并行执行,步骤的顺序可以改变,并且步 骤也可以被修改、合并、添加或者省略。例如,可以改变生成各种密钥的顺序。 附件和控制器可以同时执行特定的计算。

尽管在此描述的实施方式标识可被用于建立配对的特定序列的探测请求和 探测响应,但是其他实施方式可以使用不同的探测序列。(相应地,任何使用顺 序号码来区分探测,例如“第一”、“第二”等等,应当被理解为仅仅是区分使用, 而不是在探测中需要特定的时间顺序)。此外,也可以使用上面没有明确地示出 或者描述的附加的探测请求和探测响应。例如,在一些协议中,例如IEEE 802.11,发送探测请求的设备期望在特定时间段内接收到探测响应;如果没有接 收到响应,则等待响应的处理可能超时。在一些实施方式中,接收到探测请求 的设备可以发送第一探测响应,以确认收到该探测请求并且指示(例如,通过 信息元素)该探测请求的发送者需要等待多久来获得响应。该请求设备可以使 用指定的超时来决定在重新发送请求或者放弃处理之前需要针对响应等待多 久。这允许响应设备执行比缺省的超时时间段更长时间的计算;该响应设备可 以在超时时间段内发送探测响应来指示请求设备应当等待完整的响应。

还应当指出的是,处理800和900可以被实施以便控制器只发送探测请求 而没有探测响应,同时附件只发送探测响应而没有探测请求。因此,控制器无 需能够检测或者响应于探测请求。

对特定的加密和认证技术(AES、SRP等等)的识别是例示性的,可以用 其他技术来替代。期望的是,控制器和附件在配对中采用兼容的技术,以便任 一设备可以成功地认证和解密由对方发送的消息。

在一些实施方式中,当控制器正处于与第一附件建立配对的进程中时,第 二附件可能会尝试与该控制器配对。例如,在图1的实施方式中,当控制器100 正处于与扬声器120建立配对的进程中时,打印机110可能会发送探测请求以 寻求发起配对处理。控制器100可被配置为按照多种方式来处理该情形。

在一些实施方式中,一旦第一配对处理被启动,控制器会保持在该第一处 理中,而忽略其他试图发起配对的探测请求,直到该第一处理完成或者放弃。 在其他实施方式中,如果在第一处理仍在继续时接收到发起配对的第二请求, 则控制器可以放弃第一处理,并基于该第二请求开始第二配对处理。后者的设 计选择在用户出错或者在配对处理期间改变主意并想重新开始的情况下是有帮 助的;用户无需等待第一处理完成或超时。在另外其他实施方式中,控制器可 被配置为同时管理多个配对处理。

类似地,附件接收来自多个控制器的浏览探测也是可能的。在一些实施方 式中,附件可以响应于从其接收到浏览探测的第一控制器,而忽略任何后续浏 览请求直到与第一控制器的配对结束。在其他实施方式中,如果在配对进程中 (可以是已建立或者正在建立的进程中)接收到浏览探测,该附件可以终止当 前配对,并通过响应于最近的浏览探测来开始新的配对处理。在附件具有用户 接口的实施方式中,附件可以提示用户是否要响应于新的浏览探测而终止当前 的配对。

如上所述,处理800和900使得在控制器和附件之间建立配对——安全无 线链路。每个设备都可以确证另外一个,并且两个设备可以建立共享秘密,该 共享秘密对于任何正在监控该无线通信的闯入者来说都是难以确定的。一旦建 立了配对之后,配对就可以被用于安全的(加密的和/或者认证的)通信。图11 和图12是根据本发明实施方式的用于通过无线配对来发送和接收安全消息的 处理的流程图。

图11示出了根据本发明实施方式的由发送方(既可以是附件也可以是控制 器)用于向与该发送方配对的接收方设备发送消息的处理1100。在例如采用如 上所述的任意处理建立了配对之后,处理1100开始(方框1102)。在方框1104, 发送方可以准备将要安全发送的消息。这可以包括,例如,生成数据、检索存 储的信息、格式化或者编码数据,等等。在方框1106,发送方可以采用与配对 相关联的加密密钥(例如,采用如上所述的任意处理生成的AES密钥)来加密 该消息。在方框1108,发送方可以生成要用作认证目的的随机数的随机数据, 例如,16字节。在方框1110,发送方可以基于该消息、随机数以及与配对相关 联的认证密钥(例如,采用如上所述的任意处理生成的Poly1305-AES码)生成 认证符(数据块)。

在方框1112,发送方可以发送包括加密消息、随机数以及认证符数据块的 探测(其可以是探测请求或者探测响应)。这些项可以被包括在探测中作为信息 元素或者其他数据元素。发送方也可以在探测中包括与配对相关联的会话ID。 在一些实施方式中,只有消息本身被加密;诸如会话ID和随机数的其他项则不 被加密。(可以采用加密技术来生成认证符,但不再另外加密)。一旦发送了探 测请求,处理1100就可以结束(方框1114)。

图12例示了根据本发明实施方式的由接收方(既可以是附件也可以是控制 器)用于从与该接收方配对的发送方设备接收消息的处理1200。在这个例子中, 假定消息是采用图11的处理1100发送的。在例如采用如上所述的任意处理建 立了配对之后,处理1200开始(方框1202)。在方框1204,接收方可以接收包 括与配对相关联的会话标识符的探测(其可以是探测请求或者探测响应)。在方 框1206,接收方可以从该探测中提取加密消息、随机数以及认证符块。在方框 1208,接收方可以使用该认证符和该随机数,连同它自己的认证密钥(例如, 其如上所述的Poly1305-AES码)来验证该消息的真实性。如果在方框1210验 证了真实性,接收方就可以继续到方框1212以解密该加密消息。在这个实施方 式中,如果在方框1210真实性未被验证,接收方可以简单地忽略该消息。

处理1200在方框1214结束。假定该消息被认证以及解密,接收方就可以 以取块于消息的内容的特定动作来操作该信息。如前面所提到的,任何类型的 配置信息、控制信号或者其他数据都可以被包括在使用探测发送的加密消息中。 在一些实施方式中,对该消息进行响应可以包括使用探测发送加密消息回到发 送方。在那种情况下,接收方变成采用处理1100的发送方;因此,同一设备可 以在一个时间工作为发送方,并且在另一个时间工作为接收方。

值得注意的是,在此描述的通信处理是例示性的,并且可以进行多种变化 和修改。描述为顺序执行的步骤可以并行执行,步骤的顺序可以改变,并且步 骤也可以被修改、合并、添加或者省略。其他加密技术可以替代在此描述的技 术。

如所指出的,可以采用处理1100和1200在附件和控制器之间传送任何信 息。在一些实施方式中,控制器可以在与附件配对时加入传统的无线网络(例 如,IEEE802.11兼容的网络)。一旦建立了配对,控制器就可以使用安全链路 来向附件提供它加入该无线网络所需的证书(例如,网络名称和密码)。

图13是根据本发明实施方式的可由附件(例如,图1的附件110或120) 用于加入无线网络的处理1300的流程图。在该处理中,假定无线网络是由接入 点来管理,该接入点确定其他设备是否可以加入该网络并通过该接入点访问各 种资源(例如,因特网)。

处理1300开始于方框1302,在方框1302,附件确定它应该尝试加入无线 网络。该确定可以在设备启动时自动地、响应于用户输入、或者在其他情况下 进行。在方框1304,附件可以收听来自能够与该附件建立配对的控制器的浏览 探测请求。该控制器可以是,但也不必是,网络接入点,并且也不需要该附件 具有任何关于存在任何无线网络或者用于任何无线网络的接入证书的信息。

在方框1306,附件可以确定是否检测到浏览探测。如果没有检测到浏览探 测,则该附件可以继续收听(方框1304)或者结束处理1300。如果检测到浏览 探测,则在方框1308,该附件可以与控制器(例如,使用另外的探测)通信以 建立配对。例如,可以采用上述的处理800和/或900。

一旦建立了配对,在方框1310,附件可以通过配对链路从控制器获取用于 无线网络的证书(例如,网络名称和密码)。例如,可以采用上述的处理1100 和1200,其中无线网络证书包括在由控制器发送到附件的加密消息中,例如, 在探测请求中。控制器可以但不必在它向附件提供证书时加入无线网络。在一 些实施方式中,附件没有明确请求网络证书;控制器可被配置为一旦建立了配 对就自动地发送证书(例如,在探测请求中)。在其他实施方式中,方框1310 可以包括例如使用探测向控制器发送对证书的请求。

在方框1312,附件可以发送该无线网络证书到网络接入点。可以使用诸如 WEP、WPA或WPA2(在IEEE802.11兼容网络的情形下)的传统技术来将 证书或从证书得出的信息安全地发送到接入点。

在方框1314,附件可以等待关于它是否成功加入该网络的确认。如果没有, 处理1300可以在方框1316结束,或者附件可以再次尝试(例如,返回到方框 1312以重新发送证书,或者返回到方框1310以获得新的证书)。

在加入网络之后,附件可以使用无线网络协议与网络上的其他设备通信(方 框1318)。在一些实施方式中,一旦附件加入该无线网络,与控制器的配对就 被终止。在其他实施方式中,配对会话可以无限期地保持开放,以允许控制器 和附件在边带中通信,而不管任一设备是否保持加入该无线网络。

在一些实施方式中,用户可以通过与控制器交互来控制该配对以及网络加 入处理。图14是根据本发明实施方式的可由控制器执行以便于附件加入无线网 络的处理1400的流程图。

当控制器准备与无线附件配对时,处理1400开始(方框1402)。例如,用 户可以在控制器上启动应用程序,以提供用于与无线设备通信的控制接口。在 一些实施方式中,该程序可以是用于播放媒体资源的程序,其通过无线网络向 附件流式传输数字媒体数据(例如,由本申请的受让人苹果公司提供的媒体资源管理程序)。

在方框1404,控制器可以接收来自用户的定位无线附件的指令。例如,用 户可以与应用程序交互来指示控制器搜寻无线附件。在方框1406,控制器可以 广播浏览探测,例如,指示该控制器正在搜寻可与之配对的附件的探测请求。

在方框1408,控制器可以从该附件接收探测响应。如上所述,该探测响应 可以包括关于该附件的信息。在方框1410,控制器可以向用户显示关于附件的 信息(例如,从该探测响应中提取的信息)。在方框1412,控制器可以从用户 接收关于配对应当继续的确认。如果没有接收到确认,则处理1400可以结束(方 框1414),或者返回至方框1406以搜寻来自不同附件的探测请求。

一旦在方框1412接收到确认,控制器就可以在方框1416开始与附件的密 钥协商处理(例如,上述的处理800)。在方框1418,作为密钥协商的一部分, 控制器可以显示例如如上所述的用于用户确认的密码。在方框1420,用户可以 确认该密码。如果该密码不能被确认,则处理1400可以在方框1422结束,或 者返回至更前的方框再次尝试。如果该密码被确认,控制器就可以在方框1424 完成该配对(例如,完成处理800)。在一些实施方式中,完成配对可以包括发 送探测到附件以确认已经建立配对。

一旦建立了配对,在方框1426,控制器可以例如使用上述的处理1100和 1200通过配对连路向附件发送无线网络证书,其中无线网络证书包括在由控制 器向附件发送的加密消息中,例如,在探测请求中。在一些实施方式中,控制 器可以获取用户输入来选择附件要加入的网络,或者它可以自动地选择该控制 器已经加入的无线网络或者之前已经识别出(例如,被用户)的优选无线网络。 在一些实施方式中,控制器可被设置为,一旦建立配对,则自动地向附件发送 证书(例如,在探测请求中)。在其他实施方式中,方框1426可以包括从附件 接收对该证书的请求;可以使用探测通过配对来发送这种请求。

在方框1428,控制器可以确定附件是否已经加入网络。如果没有,处理1400 可以在方框1430结束,或者返回到更前的阶段重试,或者处理1400可以在方 框1428等待,直到附件加入或者直到接收到其他用户指令。一旦附件已经加入 网络,在方框1432,控制器就可以通过该无线网络与该附件进行通信,例如, 向附件流式传输媒体数据。

如上所指出的,在一些实施方式中,可以使用基于密码的认证而非密钥协 商来建立配对。图15是根据本发明实施方式的可由控制器采用以便于支持基于 密码的认证的附件加入无线网络的处理1500的流程图。

当控制器准备与无线附件配对时,处理1500开始(方框1502)。在方框1504, 控制器可以从用户接收定位无线附件的指令。在方框1506,控制器可以广播浏 览探测,并且在方框1508,控制器可以从附件接收探测响应。这些方框一般类 似于上述处理1400中的对应的方框。

在方框1510,控制器可以向用户显示关于附件的信息。在这个例子中,在 方框1508从附件接收到的探测响应可以包括关于该附件使用基于密码的认证 的指示,以及在方框1512,控制器可以例如采用图10的提示画面来提示用户 输入该附件密码,。在方框1514,密码的输入可以用于确认控制器应当继续; 如果密码没有被输入(例如,用户取消了该操作),处理1500可以在方框1516 结束。

在方框1518,控制器可以部分地基于在方框1510由用户提供的密码与该 附件建立配对例如,根据上述的处理900)。

一旦建立了安全配对链路,在方框1520,控制器可以通过该链路向附件发 送无线网络证书。这一般类似于上述处理1400的方框1426。

在方框1522,控制器可以确定附件是否已经加入网络。如果没有,处理1500 可以在方框1524结束,或者返回到更前的阶段重试,或者控制器可以在方框 1522等待,直到附件加入或者直到接收到其他用户指令。一旦附件已经加入网 络,在方框1526,控制器就可以通过该无线网络与该附件进行通信,例如,向 附件流式传输媒体数据。

根据一些实施方式,图16示出了根据上述本发明的原理配置的附件设备 1600的功能框图。该设备的功能块可以由硬件、软件或者硬件和软件的结合来 实现以执行本发明的原理。本领域技术人员理解,图16中示出的功能块可以合 并或者拆分为子块来实现上述本发明的原理。因此,本说明书可以支持对在此 描述的功能块的任何可能的合并或拆分或者进一步限定。

如图16中所示的,附件设备1600包括无线接口1602以及均耦合至无线接 口1602的第一接收模块1604、发送模块1606、建立模块1608、第二接收模块 1610和加入模块1612。

在一些实施方式中,第一接收模块1604被配置为通过无线接口1602接收 由控制器发送的浏览探测请求,该浏览探测请求指示该控制器可用于配对。发 送模块1606被配置为响应于该浏览探测请求通过无线接口1602发送识别探测 响应,该识别探测响应包括附件识别信息。建立模块1608被配置为建立与控制 器的配对。第二接收模块1610被配置为通过无线接口1602从控制器接收与无 线网络相关联的证书,其中该证书是作为在从控制器接收到的另外的探测请求 中的加密信息元素而接收到的。加入模块1612被配置为使用由第二接收模块 1610接收的证书来加入无线网络。

在一些实施方式中,浏览探测请求中的每一个以及另外的探测请求包括与 IEEE802.11标准族兼容的探测请求帧,并且识别探测响应是与IEEE802.11标 准族兼容的探测响应帧。

在一些实施方式中,附件设备1600还可以包括扬声器1620、耦合至无线 接口1602的第三接收模块1622、耦合至无线接口1602的转换模块1624以及 耦合至无线接口1602的第一驱动模块1626。第三接收模块1622被配置为通过 该无线网络从控制器接收流式传输的语音数据,其中该接收紧随着加入该无线 网络而发生。转换模块1624被配置为将该流式传输的语音数据转换为模拟信 号。第一驱动模块1626被配置为使用该模拟信号驱动该扬声器。

在一些实施方式中,附件设备1600还可以包括打印元件1630、耦合至无 线接口1602的第四接收模块1632、以及耦合至无线接口1602的第二驱动模块 1634。第四接收模块1632被配置为通过该无线网络接收来自控制器的数据,其 中该接收紧随着加入该无线网络而发生。第二驱动模块1634被配置为响应于该 数据驱动打印元件而生成打印输出。

根据一些实施方式,图17A-17C示出了根据上述本发明的原理配置的控制 设备1700的功能框图。该设备的功能块可以由硬件、软件或者硬件和软件的结 合来实现以执行本发明的原理。本领域技术人员理解,在图17A-17C中示出的 功能块可以合并或者拆分为子块来实现上述本发明的原理。因此,本说明书可 以支持对在此描述的功能块的任何可能的合并或拆分或者进一步限定。

如图17A所示,控制器设备1700包括无线接口1702,用户接口1704,以 及均耦合至无线接口1702和用户接口1704的检测模块1706、第一通信模块 1708、第二通信模块1710和发送模块1712。

在一些实施方式中,检测模块1706被配置为通过无线接口检测来自附件的 第一探测,该第一探测包括附件识别信息。第一通信模块1708被配置为通过用 户接口1704通信,以确认该附件应当加入无线网络。第二通信模块1710被配 置为通过无线接口1702与附件通信以建立配对,其中建立该配对包括:使用多 个附加的探测与该附件交换信息,该多个附加的探测包括由控制器接收的第三 探测和由控制器发送的第四探测;以及通过用户接口获取对共享秘密的确认。 发送模块1712被配置为在建立配对之后通过无线接口1702向附件发送与无线 网络相关联的证书,其中该证书是在包含于第五探测中的加密消息中发送的。

在一些实施方式中,如图17B所示的,第一通信模块1708还包括提取模块 1720、呈现模块1722以及接收模块1724。提取模块1720被配置为从第一探测 中提取附件识别信息。呈现模块1722被配置为通过用户接口1704向用户呈现 所提取的附件识别信息的至少一部分。接收模块1724被配置为通过用户接口 1704接收关于附件应当加入该无线网络的确认。

在一些实施方式中,如图17C所示,第二通信模块1710还包括:生成模 块1732,被配置为通过控制器生成控制器公共密钥;第二发送模块1734,被配 置为通过控制器发送第四探测到附件,该第四探测包括控制器公共密钥;第一 接收模块1736,被配置为通过控制器接收包括附件公共密钥的第三探测;第一 计算模块1738,被配置为通过控制器至少部分基于该控制器公共密钥和附件公 共密钥来计算共享秘密;第二计算模块1740,被配置为通过控制器从共享秘密 计算密码;呈现模块1742,被配置为通过控制器经用户接口向用户呈现该密码; 第二接收模块1744,被配置为通过控制器经用户接口接收关于该密码与附件计 算的密码匹配的确认;以及第三计算模块1746,被配置为使用该共享秘密计算 另外的加密密钥,其中该另外的加密密钥被用于加密证书。

在一些实施方式中,控制设备1700还可以包括:确认模块1752,配置为 在发送证书之后确认该附件已经加入无线网络;以及第二发送模块1754,配置 为在确认附件已经加入无线网络之后,经无线网络向附件发送数据。

值得注意的是,在此描述的加入网络的处理是例示性的,并且可以进行多 种变化和修改。描述为顺序执行的步骤可以并行执行,步骤的顺序可以改变, 并且步骤也可以被修改、合并、添加或者省略。附件和控制器可以使用多种技 术来建立配对,从而允许附件获取用于无线网络的证书,然后该附件可以加入 该无线网络。另外,尽管控制器被描述为向附件提供无线网络证书,值得注意 的是,在此描述的配对可以支持双向通信,并且还可以由附件向控制器提供网 络证书(或其他配置信息或控制信号)。

尽管已经关于特定的实施方式描述了本发明,但是本领域技术人员可以认 识到多种修改是可能的。例如,尽管构想可以采用为IEEE802.11兼容的无线 网络定义的探测请求帧和探测响应帧在在这些网络的环境中实现本发明,其中 包括供应商特定的信息元素来提供上述的各种数据项,但是还可构想,其他无 线协议(现有的或将来的)可以包括用于在尚未加入网络的设备之间传送信息 的消息格式。本发明的实施方式也可以针对这些协议而改变。因此,尽管在此 描述的特定信息被包括在探测请求或探测响应中,但是这种用法是例示性的, 并且一般性术词“探测”可被理解为包含探测请求和探测响应,以及其他可以在 尚未加入公共网络的两个无线设备之间交换的消息格式。

在上述的实施方式中,配对处理可以由控制器广播浏览探测请求启动,期 望配对的附件可以响应于该探测请求。如上所述,在这些实施方式中的控制器 无需能够接收或响应于探测请求。在一些另选实施方式中,配对处理可以由附 件广播探测请求启动,控制器可以响应于该探测请求以指示它可以用于与该附 件配对。

另外,尽管为了示例的目的参考了特定的加密技术,但是应理解的是本发 明并不限于任何特定的加密技术,只要控制器和附件使用兼容的技术。

尽管上述的实施方式参考了特定的硬件和软件部件,但是本领域技术人员 可以意识到,硬件和/或软件部件的不同组合都可以被采用,以及被描述为由硬 件实现的特定操作也可以由软件来执行,反之亦然。

电路、逻辑模块、处理器和/或者其他部件可以被配置为执行在此描述的各 种操作。本领域技术人员可以意识到,依赖于实施,这些配置可以通过特定部 件的设计、建立、互连以及/或者编程来实现,以及仍然依赖于实施,配置的部 件对不同的操作可以是或者可以不是重配置的。例如,可编程处理器可以通过 提供合适的可执行代码来配置;专用逻辑电路可以通过合适地连接逻辑门以及 其他电路元件等等来配置。

包括本发明的各种特征的计算机程序可以在各种计算机可读存储介质上编 码;合适的介质包括磁盘或者磁带、诸如紧凑盘(CD)或DVD(数字通用盘) 的光学存储介质、闪存等等。利用程序代码编码的计算机可读存储介质可以与 可兼容设备打包或者与其他设备分隔开。另外,程序代码可被编码以及通过符 合多种协议的有线光学以及/或者无线网络(包括,因特网)被发送,从而允许 分发(例如,通过因特网下载)。

因此,尽管已经关于特定实施方式描述了本发明,值得注意的是,本发明 旨在涵盖在后面的权利要求的范围内的所有修改和等同替换。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号