具体实施方式
现在将在下文中参考附图来更完整地描述了本发明的一些实施方式,其中在附图中显示了本发明的一些而非全部实施方式。事实上,可以将本发明实现为多种不同的形式并且不应该将本发明理解为仅限于本文所述的实施方式,而是提供了这些实施方式以便本文的公开满足可以应用的法律要求。相似的附图标记始终涉及相似的元素
如本文所使用的,术语“电路”涉及(a)仅硬件的电路实现(利润模拟电路和/或数字电路中的实现);(b)电路与包括存储在一个或多个计算机可读介质上的软件和/或固件指令的计算机程序产品的组合,其中该软件和/或固件指令一起工作以导致装置执行本文所述的一个或多个功能;以及(c)即使软件或固件没有物理出现也需要该软件或固件来进行操作电路例如微处理器或微处理器的一部分。“电路”的定义适用于该术语在本文包括任意权利要求中的全部使用。作为进一步的实例,如本文所使用的,术语“电路”还包括这样一种实现,其中该实现包括一个或多个处理器和/或该处理器的一部分并且伴有软件和/或固件。作为另一个实例,如本文所使用的术语“电路”还包括例如移动电话的基带集成电路或应用处理器集成电路或服务器、蜂窝网络设备、其他网络设备和/或其他计算设备中的类似的集成电路。
图1示出了根据本发明的一个示例性实施方式用于执行可靠的网络、能力和服务发现的终端装置102。将会理解,处理本文所示以及所述的那些实施方式之外,本发明的范围还包括许多潜在的实施方式。同样地,虽然图1示出了用于执行可靠的网络、能力和服务发现的终端装置102的配置的一个实例,也可以使用大量其他配置来实现本发明的实施方式。
可以将终端装置102实现为台式计算机、膝上计算机、移动终端、移动计算机、移动电话、移动通信设备、游戏设备、数码相机/摄像机、音频/视频播放器、电视设备、收音机设备、数字视频录像机、定位设备、服务器、网络节点、彼此通信的多个计算设备,他们的任意组合,诸如此类。在一个示例性实施方式中,可以将终端装置102实现为移动终端,如图3中所示的移动终端。
在此方面,图3示出了用于代表根据本发明的实施方式的终端装置102的一个实施方式的移动终端10的方框图。但是应该理解,所示以及下文所述的移动终端10仅仅用于说明可以实现和/或受益于本发明的实施方式的终端装置102的一种类型,并且因此不应该用其来限制本发明的范围。虽然为了示例的目的说明并且在下文中将描述电子设备的多个实施方式,但是其他类型的电子设备如移动电话、移动计算机、个人数字助理(PDA)、寻呼机、膝上计算机、台式计算机、游戏设备、电视机以及任意其他类型的电子设备可以使用本发明的实施方式。
如图所示,移动终端10可以包括与发射器14和接收器16通信的天线12(或多个天线12)。该移动终端还可以包括用于分别向发射器提供信号并且从接收器接收信号的处理器20。这些信号可以包括根据可应用蜂窝系统和/或任意数量的不同的有线或无线网络技术的空中接口标准的信令信息,其中该不同的有线或无线网络技术报考但不限于Wi-FiTM、无线局域网(WLAN)技术如电气电子工程师协会(IEEE)802.11、802.16等等。另外这些技术可以包括语音数据、用户生成数据、用户请求数据等等。在此方面,移动终端可能能够用一个或多个空中接口标准、通信协议、调制类型、接入类型等等来进行操作。更具体而言,移动终端可能能够根据各种第一代(1G)、第二代(2G)、2.5G、第三代(3G)通信协议、第四代(4G)通信协议、因特网协议多媒体子系统(IMS)通信协议(例如会话初始协议(SIP))等等来进行操作。例如移动终端可能能够根据2G无线通信协议IS-136(时分多址(TDMA))全球移动通信系统(GSM)、IS-95(码分多址(CDMA))等等来进行操作。并且,移动终端可能能够根据例如2.5G无线通信协议通用分组无线服务(GPRS)、增强型数据GSM环境(EDGE)等等来进行操作。此外移动终端可能能够根据例如3G无线通信协议如通用移动通信系统(UMTS)、码分多址2000(CDMA2000)、宽带码分多址(WCDMA)、时分同步码分多址(TD-SCDMA)等等来进行操作。移动终端可能另外能够根据3.9G无线通信协议如长期演进(LTE)或演进通用陆地无线接入网(E-UTRAN)等等来进行操作。另外移动终端可能能够根据第四代(4G)无线通信协议以及可能在未来开发的类似地无线通信协议来进行操作。
一些窄带先进移动电话系统(NAMPS)以及整体接入通信系统(TACS)、移动终端也可以受益于本发明的实施方式,如双模式或更高模式的电话(例如数字/模拟或TDMA/CDMA/模拟电话)。另外,移动终端10可能能够根据无线保真(Wi-Fi)或微波接入全球互通(WiMAX)协议来进行操作。
要理解,处理器20可以包括用于实现移动终端10的音频/视频功能的电路。可以将处理器20实现为包括电路、伴随有数字信号处理器的一个或多个微处理器、不伴随数字信号处理器的一个或多个处理器、一个或多个处理器、一个或多个微核处理器、一个或多个控制器、处理器电路、一个或多个计算机、包括诸如ASIC(专用集成电路)或FPGA(现场可编程门阵列)的集成电路的各种其他处理元件或他们的一些组合。处理器可以另外包括内部语音编码器(VC)20a、内部数据调制解调器(DM)20b等等。此外,该处理器可以包括用于在存储在存储器中的一个或多个软件程序上进行操作的功能。处理器20可能能够例如操作连接程序如网络浏览器。该连接程序的功能可能允许移动终端10根据协议如无线应用协议(WAP)、超文本传输协议(HTTP)等等来发射并且接收网络内容如基于位置的内容。移动终端10可能能够使用传输控制协议/因特网协议(TCP/IP)来在因特网或其他网络上发射并且接收网络内容。
移动终端10还可以包括用户接口,该用户接口包括例如可以可操作地耦合到处理器20的耳机或扬声器24、振铃22、麦克风26、显示器28、用户输入接口等等。在此方面,处理器20可以包括用户接口电路,该用户接口电路被配置用于至少控制用户接口的一个或多个元件如扬声器24、振铃22、麦克风26、显示器28等等的一些功能。处理器20和/或包括处理器20的用户接口电路可以被配置用于通过存储在处理器20可接入的存储器(例如易失性存储器40、非易失性存储器42等等)上的计算机程序指令(例如软件和/或固件)来控制用户接口的一个或多个元件的一个或多个功能。移动终端可以包括电池,该电池用于向与该移动终端相关的各种电路例如用于提高机械振动以充当可检测的输出的电路供电。用户输入接口可以包括用于允许移动终端接收数据的设备如小键盘30、触摸屏、操作杆和/或其他输入设备。在包括小键盘的实施方式中,该小键盘可以包括数字(0-9)以及相关键(#、*)和/或用于操作移动终端的其他键。
如图3中所示的,移动终端10还可以包括一个或多个用于共享并且/获得数据的装置。例如该移动终端可以包括短距离射频(RF)收发器和/或询问器64,以便可以根据RF技术与电子设备共享和/或从该电子设备获得数据。移动终端可以包括其他短距离收发器例如红外(IR)收发器66、使用由蓝牙特殊兴趣集团开发的蓝牙无线技术蓝牙(BT)收发器68、无线通用串行总线(USB)收发器70等等。蓝牙收发器60可能能够根据超低功率蓝牙技术(例如Wibree)无线标准来进行操作。在此方面,移动终端10并且具体而言该短距离收发器可能能够向该移动终端的附近如10米内的电子设备发射数据和/或从该电子设备接收数据。移动终端可能能能够根据各种无线网络技术包括无线保真(Wi-Fi)、WLAN技术如IEEE 802.11技术、IEEE 802.1u技术、IEEE 802.16技术、Wi-Fi联盟(WFA)技术等等来向电子设备发射数据和/或从电子设备接收数据。
移动终端10可以包括存储器如可以存储与越多越好相关的信息元素的一个或多个用户身份模块(SIM)38、一个或多个通用用户身份模块(USIM)、一个或多个可去除用户身份模块(R-SIM)等等。除了SIM之外,移动终端10可以包括其他可除去的和/或固定存储器。移动终端10可以包括易失性存储器40和/或非易失性存储器42。易失性存储器40可以包括例如包括动态的和/或静态的随机访问存储器(RAM)的RAM、片上或片下高速缓冲存储器等等。非易失性存储器42可以是嵌入式的和/或可去除的,其可以包括例如只读存储器、闪存、磁存储设备(例如硬盘、软盘驱动、磁带等等)、光盘驱动和/或介质、非易失性存储器随机访问存储器(NVRAM)等等。与易失性存储器40类似,非易失性存储器42可以包括用于数据的临时存储的高速缓冲存储器区域。该存储器可以存储被移动终端用于指示该移动终端的功能的一个或多个软件程序、指令、信息的片段、数据等等。存储器可以包括例如能够唯一性地标识移动终端10的标识符,如国际移动设备标识(IMEI)码。
现在返回图1,在该示例性实施方式中,终端装置102包括各种装置,如用于执行本文的各种功能的处理器120、存储器122、通信接口124、用户接口126以及发现电路128。可以将终端装置102的如本文所述这些装置实现为例如电路、硬件元件(例如合适地编程的处理器、组合型逻辑电路等等)、包括存储在可由合适配置的除了我设备(例如处理器120)执行的计算机可读介质(例如存储器122)上计算机可读程序指令(例如软件或固件)的计算机程序产品或他们的组合。
可以将处理器120实现为包括电路、伴随有数字信号处理器的一个或多个微处理器、不伴随数字信号处理器的一个或多个处理器、一个或多个处理器、一个或多个微核处理器、一个或多个控制器、处理器电路、一个或多个计算机、包括诸如ASIC(专用集成电路)或FPGA(现场可编程门阵列)的集成电路的各种其他处理元件或他们的一些组合。因此虽然图1中将处理器120示为单个处理器,但是在一些实施方式中,处理器120可以包括多个处理器。可以将多个处理器实现在单个计算设备上或可以将多个处理器分布在共同地被配置用于作为终端装置102来运作的多个计算设备上。多个处理器可以可操作地彼此通信并且可以共同地被配置用于执行如本文所述的终端装置102的一个或多个功能。在将终端装置102实现为移动终端10的实施方式中,可以将处理器120实现为处理器20或者处理器120可以包括处理器20。在一个示例性实施方式中,处理器120可以被配置用于执行存储器112中所存储的处理器120可接入的指令。当这些指令被处理器120执行时,这些指令导致终端装置102执行如上所述的终端装置102的一个或多个功能。这样,不管是由硬件还是软件方法或他们的组合来配置的,处理器120都包括当如此配置时能够执行根据本发明的实施方式的操作的实体。因此例如当将处理器120实现为ASIC、FPGA等等时,处理器120可以包括用于执行本文所述的一个或多个操作的具体配置的硬件。备选地,作为另一个实例,当将处理器120实现为指令的执行器时,如可以存储在存储器122中时,该指令可以具体配置处理器120执行本文所述的一个或多个算法和操作。
存储器122可以包括例如易失性和/或非易失性存储器。虽然在图1中将存储器122示为单个存储器,但是存储器122可以包括多个存储器。可以将多个存储器实现在单个计算设备上或者分布在多个计算设备上。存储器122可以包括易失性存储器、非易失性存储器或他们的一些组合。在此方面,易失性存储器可以包括例如硬盘、随机访问存储器、高速缓冲存储器、闪存、压缩盘只读存储器(CD-ROM)、数字多用途盘只读存储器(DVD-ROM)、光盘、被配置用于存储信息的电路或他们的一些组合。在将终端装置102实现为移动终端10的实施方式中,存储器122可以包括易失性存储器40和/或非易失性存储器42。存储器122可以被配置用于存储用于使得终端装置102能够执行根据本发明的实施方式的各种功能的信息、数据、应用、指令等等。例如在至少一些实施方式中,存储器122可以被配置用于缓存由处理器120处理的输入数据。另外或备选地,在至少一些实施方式中,存储器122可以被配置用于存储由处理器120执行的指令。存储器122可以存储静态和/或动态信息形式的信息。在发现电路128执行他们的能够期间,可以由发现电路128存储和/或使用该存储信息。
可以将通信接口124实现为被配置用于从/向另一个设备(例如第三方实体(例如图4中所示的第三方实体108)、接入点(例如图4中所示的接入点104)等等)接收和/或发射数据的任意设备或被实现为包括存储在计算机可读介质(例如存储器122)上的并且可被处理器(例如处理器120)执行的计算机可读程序指令的电路、硬件、计算机程序产品的装置或他们的组合。在至少一个实施方式中,可以至少部分地将通信接口124实现为处理器120或者由处理器120控制通信接口124。在此方面,通信接口124可以例如经由总线与处理器120通信。通信接口124可以包括例如天线、发射器、接收器、收发器和/或用于允许与另一个计算设备的通信的支持硬件或软件。通信接口124可以被配置用于使用可用于计算设备之间的通信的任意协议来接收和/或发射数据。通信接口124可以另外例如经由总线与存储器122、用户接口126和/或发现电路128通信。
用户接口126可以与处理器120通信,以接收用户输入的指示和/或向用户提供可听的、可视的、机械的或其他输出。同样,用户接口126可以包括例如键盘、鼠标、操作杆、显示器、触摸屏显示器、麦克风、扬声器和/或其他输入/输出机制。在将终端装置102实现为服务器的实施方式中,可以减少用户接口126的方案,或者甚至可以消除用户接口126。备选地,在将终端装置102实现为服务器的实施方式中,可以将用户接口126的至少一些方案实现在由与终端装置102通信的用户使用的装置上。用户接口126可以例如经由总线与存储器122、通信接口124和/或发现电路128通信。
可以将发现电路128实现为各种装置,如电路、硬件、包括存储在计算机可读介质(例如存储器122)上并且由计算设备(例如处理器120)执行的计算机可读程序指令的计算机程序产品或他们的一些组合,并且在一个实施方式中可以将发现电路128实现为处理器120或者由处理器120控制发现电路128。在将发现电路128实现为与处理器120独立的实施方式中,发现电路128可以与处理器120通信。发现电路128可以进一步经由例如总线与存储器122、通信接口124、用户接口126中的一个或多个通信。发现电路128可以被配置用于执行可靠的网络、能力和服务发现,以便使得终端装置102能够在执行验证时在与接入点104认证之前或者在不执行验证时在与接入点104相关联之前,从接入点104请求被验证为可靠的经签名的标识、能力和服务信息。根据示例性实施方式,在执行认证时,可以在与接入点104相关联之前或之后请求经签名的标识、能力和服务信息。
发现电路128可以被配置用于执行网络发现以发现一个或多个接入点104。在一些实施方式中,发现电路128可以被配置用于接收包括针对接入点104的标识、能力和服务信息的广播消息。在备选实施方式中,发现电路128可以向接入点104询问标识、能力和服务信息。该标识信息可以包括用于网络认证的服务集合标识符(SSID)、介质访问控制(MAC)地址、统一资源标识符(URI)。能力信息可以包括由接入点104或网络等等提供的能力的列表。服务信息可以包括从接入点104等等可接入的服务的列表。但是在发现阶段期间,该标识、能力和服务信息可能未被签名并且因此不能被发现电路128验证为可靠的标识、能力和服务信息。因此,发现电路128可以提供针对经签名的标识、能力和服务信息的请求到接入点104的传输。在示例性实施方式中,针对经签名的标识信息的请求可以独立于针对经签名的服务信息的请求和/或针对经签名的能力信息的请求。在一些实施方式中,请求可以是根据IEEE 802.1lu的通用广告服务(GAS)请求。根据一些示例性实施方式,请求可以是根据Wi-Fi联盟(WFA)的特定于销售商属性。
根据一个示例性实施方式,来自发现电路128的请求可以包括一个或多个查询信息字段和用于指示该请求的长度的字段。每个查询信息字段可以包括与由用户接口126请求的经签名的标识、能力和服务信息的类型相对应查询信息标识符,如SSID、MAC地址、URI、服务列表、网络接入标识符(NAI)领域列表、完全合格域名(FQDN)列表、网络能力列表、接入点能力列表等等。服务列表可以包括在接入点104上本地主控的服务的列表,例如当打印机也是接入点104时的打印;由接入点104所属的网络110提供接入的服务的列表;或者例如专用网络中实体的第三方实体108(其中接入点104给出对该第三方实体108的直接访问)所提供的服务的列表。网络能力列表可以包括网络可以向终端装置102提供的能力的列表。接入点能力列表可以被接入点104可以向终端装置102提供的能力的列表。根据某些实施方式,如果已经预先确定了要提供的经签名的标识、能力和服务信息,则该请求可以不需要查询信息字段。在一些实施方式中,发现电路128可以经由查询信息字段或者经由该请求中独立的字段请求接入点104的数字证书。该请求可以在发现阶段期间数据传输未被保护时被发送,例如在执行认证时向接入点104进行认证之前、或者在不执行认证时与接入点104关联之前,所以该请求的一些实施方式还可以包括随机数或临时(nonce)字段。发现电路128可以生成随机或伪随机数并且将其包括在该请求的该随机数字段中。可以在对该请求的经签名的响应中复制该随机数,以防止攻击如重播攻击和中间人攻击。
发现电路128还可以被配置用于从接入点104接收针对该请求的响应。在一个示例性实施方式中,响应可以是根据IEEE 802.1lu的GAS响应。在一些实施方式中,响应可以是根据WFA的特定于供应商的属性。根据示例性实施方式,该响应可以包括一个或多个响应信息字段和用于指示该响应的长度的字段。每个响应信息字段本身可以包括:包含请求数据的字段、包含与请求数据的查询信息标识符相对应的标识符的字段、包含经签名的字段以及用于指示响应信息字段的长度的字段。在一个示例性实施方式中,每个响应信息字段包括用于该请求中所包括的随机数的字段。备选地,在一些实施方式中,可以将该随机数附加到该请求数据。由于该请求和响应中所包括的信息无需是专用的,所以接入点104和发现电路128之间的通信仅仅需要是可靠的而不需要是加密的。
根据示例性实施方式,响应信息字段之一可以包含用于接入点104的数字证书。在备选实施方式中,可以与响应独立地接入点104的数字证书或者见该数字证书衣服到该响应。用于接入点104的示例性数字证书可以包括该数字证书的发布者、接入点104的身份、该数字证书的有效起止日期、接入点104的公钥已经发布者的签名。因此,在一些实施方式中,包括该数字证书的响应信息可以不需要签名字段,因为该数字证书可以已经包括该数字证书的发布者的签名。
发现电路128可以被配置用于利用该响应中的数据来可靠地验证接入点104的经签名的标识、能力和服务信息。在示例性实施方式中,发现电路128可以将响应中接收的接入点104的数字证书用于验证。然后发现电路128可以使用该接入点的信任数字证书来验证该响应的响应信息字段中所提供的信息。
根据示例性实施方式,发现电路128可以通过验证接入点104的数字证书中包括的发布者签名来验证接入点104的数字证书。发现电路128可以使用发布者的数字证书来验证发布者的签名。在某些实施方式中,发现电路128可能先前已经接入并且验证了发布者的数字证书,因此可以信任由该发布者签名的接入点104的数字证书。如果发现电路128不信任该发布者,则发现电路128可以接入该发布者的数字证书并且验证该证书的发布者的签名。发现电路128可以继续迭代地验证数字证书链中的每个证书的发布者的签名,直到发现电路128信任至少一个发布者为止。一旦发现电路128信任数字证书链中的至少一个发布者,发现电路128可以信任接入点104的数字证书。
在各种示例性实施方式中,可以使用公钥基础设施(PKI)对数字证书进行发布、签名和验证。在此方面,数字证书的发布者可以用该发布者的私钥来对发布给接收方(例如接入点104)的数字证书进行签名。发现电路128可以获得该发布者的对应的公钥。根据一个示例性的实施方式,发现电路128可以从发布者的数字证书获得该发布者的公钥。发现电路128还可以将发布者的公钥应用于数字证书中的发布者签名,以验证是该发布者实际对接收方的签名数字证书进行了签名。发现电路128然后可以信任接收方的数字证书。
根据备选实施方式,发现电路128可能已经访问了接入点104的数字证书的信任拷贝。因此,在某些实施方式中,发现电路128可以信任接入点104的数字证书而无需发布者的经签名的任意进一步的验证。
发现电路128可以进一步被配置用于验证该响应的响应信息字段中所包括的请求数据。在此方面,发现电路128可以从接入点104的验证数字证书获得接入点104的公钥。在一个示例性实施方式中,发现电路128可以将接入点104的公钥应用于响应信息字段的签名字段中所包括的签名。因此,发现电路128可以验证:该请求数据字段中所包括的信息由接入点104使用接入点104的私钥进行签名。在验证请求数据字段中所包括的信息之后,发现电路128可以根据该信息来标识接入点104和从接入点104可接入的服务和/或能力的列表。发现电路128然后选择用于通信的接入点104。
在备选实施方式中,接入点104可以不在去往发现电路128的响应中提供接入点104的数字证书。根据某些实施方式,如上所述,发现电路128可能已经访问了接入点104的数字证书。例如,发现电路128先前可能已经获得接入点104的数字证书的拷贝。在此方面,发现电路128先前可能已经验证了先前获得的接入点104的数字证书或者尚未验证。在其他示例性实施方式中,发现电路128可能访问可用于获得接入点104的数字证书的拷贝的网络。例如,发现电路128可以访问独立的3G连接。在另一个示例中,发现电路128可以经由接入点104访问网络连接,同时尝试发现新的接入点104。
根据各种备选实施方式,接入点104可以不具有数字证书。在此方面,可以由不同的可靠的源对响应进行签名。在示例性实施方式中,可以由第三方实体108对响应进行签名。在一些实施方式中,由第三方实体108签名的响应可以包括由发现电路128发送的随机数。根据各种实施方式,第三方实体108可以包括接入点104所属的网络运营商的服务器。在备选实施方式中,对响应进行签名的第三方实体108还可以包括证书机构(CA)、接入点104的制造商、经由接入点104提供网络接入的公司,等等。在这些实施方式中,发现电路128可以验证可靠源的数字证书,如上文关于接入点104所述的。
现在参考图2,接入点104可以包括任意移动的或固定的计算设备并且可以被实现为被配置用于提供网络侧服务如提供到终端装置102的接入的服务器、台式计算机、膝上计算机、移动终端10等等。还可以将接入点实现为被配置用于提供网络侧服务如提供到终端装置102的接入的多个计算设备的组合。在此方面,可以将接入点104实现为例如服务器集群和/或可以实现为可以跨多个计算设备例如移动终端10分配的分布式计算系统。在一个实施方式中,可以将接入点104实现为允许终端装置102经由例如Wi-Fi来连接到无线网络的服务提供商或网络运营商的无线接入点(WAP)。在某些实施方式中,接入点104可以位于从终端装置102的单跳(single hop)处。
在示例性实施方式中,接入点104包括用于执行本文所述的各种功能的各种装置,如处理器220、存储器222、通信接口224和标识电路228。可以将如本文所述的接入点104的这些装置实现为例如电路、硬件元件(例如,适当编程的处理器、组合型逻辑电路等等)、包括存储在可以合适配置的处理设备(例如处理器220)执行的计算机可读介质(例如存储器222)上的计算机可读程序指令(例如软件或固件)的计算机程序产品或他们的组合。
可以将处理器220实现为各种装置,包括伴随有数字信号处理器的一个或多个微处理器、不伴随数字信号处理器的一个或多个处理器、一个或多个处理器、一个或多个微核处理器、一个或多个控制器、处理器电路、一个或多个计算机、包括诸如ASIC(专用集成电路)或FPGA(现场可编程门阵列)的集成电路的各种其他处理元件或他们的一些组合。因此虽然图2中将处理器220示为单个处理器,但是在一些实施方式中,处理器220可以包括多个处理器。可以将多个处理器实现在单个计算设备上或可以将多个处理器分布在共同地被配置用于作为接入点104来运作的多个计算设备上。多个处理器可以可操作地彼此通信并且可以共同地被配置用于执行如本文所述的接入点104的一个或多个功能。在将接入点104实现为移动终端10的实施方式中,可以将处理器220实现为处理器20或者处理器220可以包括处理器20。在一个示例性实施方式中,处理器220可以被配置用于执行存储器222中所存储的处理器220可接入的指令。当这些指令被处理器220执行时,这些指令导致接入点104执行如上所述的接入点104的一个或多个功能。这样,不管是由硬件还是软件方法或他们的组合来配置的,处理器220都包括当如此配置时能够执行根据本发明的实施方式的操作的实体。因此例如当将处理器220实现为ASIC、FPGA等等时,处理器220可以包括用于执行本文所述的一个或多个操作的具体配置的硬件。备选地,作为另一个实例,当将处理器220实现为指令的执行器时,如可以存储在存储器222中时,该指令可以具体配置处理器220执行本文所述的一个或多个算法和操作。
存储器222可以包括例如易失性和/或非易失性存储器。虽然在图2中将存储器222示为单个存储器,但是存储器222可以包括多个存储器。可以将多个存储器实现在单个计算设备上或者分布在多个计算设备上。存储器222可以包括易失性存储器、非易失性存储器或他们的一些组合。在此方面,易失性存储器可以包括例如硬盘、随机访问存储器、高速缓冲存储器、闪存、压缩盘只读存储器(CD-ROM)、数字多用途盘只读存储器(DVD-ROM)、光盘、被配置用于存储信息的电路或他们的一些组合。在将接入点104实现为移动终端10的实施方式中,存储器222可以包括易失性存储器40和/或非易失性存储器42。存储器222可以被配置用于存储用于使得接入点104能够执行根据本发明的实施方式的各种功能的信息、数据、应用、指令等等。例如在至少一些实施方式中,存储器222可以被配置用于缓存由处理器220处理的输入数据。另外或备选地,在至少一些实施方式中,存储器222可以被配置用于存储由处理器220执行的指令。存储器222可以存储静态和/或动态信息形式的信息。该存储的信息可以由标识电路228在执行其功能期间存储和/或使用。
可以将通信接口224实现为被配置用于从/向另一个设备(例如第三方实体(例如图4中所示的第三方实体108)、接入点(例如图4中所示的接入点104)等等)接收和/或发射数据的任意设备或被实现为包括存储在计算机可读介质(例如存储器222)上的并且可被处理器(例如处理器220)执行的计算机可读程序指令的电路、硬件、计算机程序产品的装置或他们的组合。在至少一个实施方式中,可以至少部分地将通信接口224实现为处理器220或者由处理器220控制通信接口224。在此方面,通信接口224可以例如经由总线与处理器220通信。通信接口224可以包括例如天线、发射器、接收器、收发器和/或用于允许与另一个计算设备的通信的支持硬件或软件。通信接口224可以被配置用于使用可用于计算设备之间的通信的任意协议来接收和/或发射数据。通信接口224可以另外例如经由总线与存储器222、用户接口226和/或标识电路228通信。
可以将标识电路228实现为各种装置,例如电路、硬件元件、包括存储在计算机可读介质(例如存储器222)上的并且由处理设备(例如处理器220)执行的计算机可读程序指令的计算机程序产品或他们的组合,并且在一个实施方式中,可以将标识电路228实现为处理器220或者由处理器220控制。在将标识电路228实现为与处理器220独立的实施方式中,标识电路228可以与处理器220通信。标识电路228还可以经由总线与存储器222或通信接口224中的一个或多个通信。标识电路228可以被配置用于提供经过签名的标识、能力和服务信息,使得终端装置102能够将来自接入点104的标识、能力和服务信息验证为可靠的。在一些示例性实施方式中,标识电路228可以被配置用于在执行认证时在终端装置102与接入点104认证之前、或者在不执行认证时在终端装置102与接入点104关联之前提供经签名的标识、能力和服务信息。根据示例性实施方式,在执行认证时,可以在终端装置102与接入点104关联之前或之后提供经过签名的标识、能力和服务信息。
标识电路228可以被配置用于提供接入点104的身份的广播。在示例性实施方式中,接入点104的身份可以包括用于网络认证的服务集合标识符(SSID)、介质访问控制(MAC)地址、统一资源标识符(URI)等等。另外,标识电路228可以被配置用于提供从接入点104可接入的服务列表的广播。
根据各种实施方式,标识电路228还可以被配置用于从终端装置102接收针对经签名的标识、能力和服务信息的请求。该请求的形式可以是802.1 lu GAS请求、根据WFA的特定于销售商的属性等等。在一个示例性实施方式中,请求可以包括一个或多个查询信息字段,每个查询信息字段包括所请求的标识、能力和服务信息的类型的指示。在备选实施方式中,如果要提供的经签名的标识、能力和服务信息是预先确定的,则该请求可以不包括任何查询信息字段。根据某些实施方式,针对经签名的标识信息的请求可以独立于针对签名服务信息的请求和/或针对签名能力信息的请求。
标识电路228还可以被配置用于构建对来自终端装置102的请求的响应。在示例性实施方式中,标识电路228可以被配置用于构建与一个或多个查询信息字段相对应的一个或多个响应信息字段。备选地,一个或多个响应信息字段可以对应于要提供的预先确定的经签名的标识、能力和服务信息。每个响应信息字段可以包括:包含所请求数据的字段、包含与所请求数据的查询信息标识符相对应的标识符的字段、包含签名的字段以及用于指示响应信息字段的长度的字段。在某些实施方式中,每个响应信息字段附加地包括用于请求中的随机数的字段。备选地,在一些实施方式,可以将该随机数附加到请求数据。根据各种示例实施方式,标识电路228可以对所请求的数据进行签名,并且可以将签名包括在查询信息字段的签名字段中。标识电路228可以被配置用于构建一个响应,其包括一个或多个响应信息字段以及用于指示该响应的长度的字段。
根据示例性实施方式,接入点104可以已经发布了数字证书。接入点104的数字证书可以包括接入点104的公钥和该数字证书的发布者的签名。标识电路228可以被配置用于使用与接入点104的数字证书中的公钥相对应的私钥对所请求数据的每个片段进行签名。在某些实施方式中,标识电路228可以附加地或备选地利用私钥对响应进行签名。在此方面,响应可以包括包含响应的签名的附加字段。在各种实施方式中,由标识电路228签名的信息可以包括请求中提供的随机数。
接入点104的数字证书可以由第三方实体108发布和签名。在一个实施方式中,第三方实体108可以包括CA,其发布接入点104的数字证书并对其签名。终端装置102可以确定该CA是可靠的,并且因此信任该数字证书。在某些实施方式中,终端装置102可能在从标识电路228接收响应之前已经验证了CA。根据一个示例性实施方式,CA可以具有他自己的已被终端装置102验证的数字证书。在示例性实施方式中,CA的数字证书可以在终端装置102中预先配置并且被认为是受信任的。
在备选实施方式中,第三方实体108可以包括接入点104所属的网络运营商的服务器。在此方面,该网络运营商可以具有他自己的可以被终端装置102验证的数字证书。在一个示例性实施方式中,如果终端装置102不信任该网络运营商的数字证书,终端装置102可以验证网络运营商的数字证书的发布者。根据备选实施方式,第三方实体108可以属于经由接入点104提供因特网连接的公司。与第三方实体108包括网络运营商服务器的实施方式类似,该公司可以具有他自己的可以被终端装置102验证的数字证书。
在又一个备选实施方式中,接入点104的制造商可以发布接入点104的数字证书并且对其进行签名。在此方面,制造商可以对与接入点104相关的各种标识、能力和/或服务信息进行签名。例如,制造商可以对接入点104的SSID或MAC地址进行签名,使得其能够在没有该制造商的批准的情况下被修改。在修改经签名的标识、能力和/或服务信息的情况下,该制造商将必须重新签名新标识、能力和/或服务信息。该制造商可以具有他自己的可以被终端装置102验证的数字证书。在示例性实施方式中,制造商的数字证书可以在终端装置102中预先配置并且被认为是受信任的。
不论接入点104的数字证书的发布者如何,终端装置102可以验证接入点104的数字证书的发布者。在示例性实施方式中,如果终端装置102不信任接入点104的数字证书的发布者,则终端装置102可以验证发布者的数字证书。终端装置102可以继续迭代地验证数字证书的发布者直到可以信任该发布者为止。只要从受信任发布者到接入点104存在数字证书链,终端装置102就可以信任接入点104的数字证书。
根据各种示例性实施方式,接入点104可以不具有数字证书。例如,用于发布和维护接入点104的数字证书的运营成本可能过高。在这些实施方式中,标识电路228可以被配置用于将请求从终端装置102转发给第三方实体108。标识电路228还可以转发请求中包括的随机数。在示例性实施方式中,标识电路228可以被配置用于提供与第三方实体108的安全通信。在此方面,标识电路228可以具有与第三方实体108的预定义安全性关联。
在某些实施方式中,第三方实体108可以拥有终端装置102所请求的与接入点104相关的标识、能力和服务信息。在此方面,第三方实体108可以有权代表接入点104对接入点104的有关标识、能力和服务信息进行签名。因此,第三方实体108可以生成上文关于标识电路228描述的响应并对其进行签名。在某些实施方式中,如果请求接入点104与针对其请求信息的接入点104不同,则第三方实体可拒绝对与接入点104相关的标识、能力和服务信息进行签名。第三方实体108可以将经过签名的响应传输回标识电路228。在某些实施方式中,经过签名的响应可以包括第三方实体108的数字证书。标识电路228然后可以将经过签名的响应向终端装置102的传输。在此方面,终端装置102可以如上关于接入点104所述,验证第三方实体108的数字证书。
图4示出了根据本发明的一个示例性实施方式用于执行可靠的网络、能力和服务发现的系统100的方框图。将会理解,处理本文所示以及所述的那些实施方式之外,本发明的范围还包括许多潜在的实施方式。这样,虽然图4示出了用于执行可靠的网络、能力和服务发现的系统的配置的一个实例,也可以使用大量其他配置来实现本发明的实施方式。
在至少一些实施方式中,系统100包括接入点104、终端装置102和第三方实体108。在至少一些实施方式中,系统100还包括网络110。网络110可以包括一个或多个有线网络、一个或多个无线网络(例如蜂窝网络、无线局域网、无线个人局域网、无线城域网等等)或其一些组合,并且在一些实施方式中包括因特网。在一个实施方式中,网络110包括公共和移动网络(例如蜂窝网络),如可以由网络运营商(例如蜂窝网络提供商)来实现。网络110可以作为专用数据网络、公共数据网络如因特网、GPRS网络、CDMA核心网、WIMAX网络等等来进行操作。但是将会理解,在本文参考了对于网络标准和/或该网络标准特有的术语的情况下,仅仅通过实例而非限制的方式来提供该参考。另外,虽然系统100为了实例的目的示出了单个终端装置102、单个接入点104和单个第三方实体108,打算系统可以包括多个终端装置102、接入点104和第三方实体108。
第三方实体108可以包括任何移动的或固定的计算设备,并且可以被实现为被配置用于提供网络侧服务(例如,提供对终端装置102的网络接入)的服务器、台式计算机、膝上计算机、移动终端10等等。可以将第三方实体108也可实现为被配置用于提供网络侧服务(例如,提供对终端装置102的网络接入)的多个计算设备的组合。在此方面,可以将第三方实体108实现为例如服务器集群和/或可以实现为可以跨多个计算设备例如移动终端10分配的分布式计算系统。在一个实施方式中,可以将第三方实体108实现为网络运营商的服务器等等。虽然在图4中将第三方实体108显示为经由网络110连接到接入点104,但是在一些实施方式中,可以将第三方实体108直接连接到接入点104。
接入点104可以包括任何移动的或固定的计算设备,并且可以被实现为被配置用于提供网络侧服务(例如,提供对终端装置102的网络接入)的服务器、台式计算机、膝上计算机、移动终端10、WAP等等。接入点104也可实现为被配置用于提供网络侧服务(例如,提供对终端装置102的网络接入)的多个计算设备的组合。在此方面,可以将接入点104实现为例如服务器集群和/或可以实现为可以跨多个计算设备例如移动终端10分配的分布式计算系统。在一个实施方式中,可以将接入点104实现为WAP等等。在一些实施方式中,接入点104位于来自终端装置102的单跳处。
终端装置102可以包括任何设备,其被配置用于在网络发现期间从接入点104请求经签名的标识、能力和服务信息,并且验证响应中所接收的信息以确保对接入点104的可靠选择。在此方面,终端装置102可以实现为台式计算机、膝上计算机、移动终端、移动计算机、移动电话、移动通信设备、游戏设备、数码相机/摄像机、音频/视频播放器、电视设备、收音机设备、数字视频录像机、定位设备、服务器、网络节点、彼此通信的多个计算设备,他们的任意组合,诸如此类。在一个示例性实施方式中,终端装置102可以实现为如图3中所示的移动终端10。
图5示出了根据本发明的一个示例性实施方式用于执行可靠的网络、能力和服务发现的示例性方法的流程图。在此方面,图5示出了可以由标识电路228执行的操作。该方法可以包括在操作500处从接入点接收广播消息。但是将会理解,操作500不是操作510的先决条件。在此方面,终端装置102可以询问接入点而无需接收广播消息。该方法然后包括:在操作510处,在执行认证时在与接入点认证之前、或者在不执行认证时在与接入点相关联之前,发送针对经签名的接入点信息的请求。操作520可以包括接收包括经签名的接入点信息的响应。该方法然后可以包括:在操作530处,使用数字证书来验证该经签名的接入点信息。根据本发明的另一个实施方式,该方法可以可选地在操作540继续。操作540可以包括至少部分地基于经过验证的经签名的接入点信息来选择用于通信的接入点。
图6示出了根据本发明的一个示例性实施方式用于执行可靠的网络、能力和服务发现的示例性方法的流程图。在此方面,图6示出了可以由标识电路228执行的操作。该方法可以包括在操作600处从接入点接收广播消息。但是将会理解,操作600不是操作610的先决条件。在此方面,标识电路228可以接收针对经签名的接入点信息的请求而无需广播消息。该方法然后可以包括:在操作610处,在执行认证时在认证之前、或者在不执行认证时在关联之前,接收针对经签名的接入点信息的请求。操作620可以包括对所请求的接入点信息进行签名。该方法然后可以包括:在操作630处构建对请求的响应,该响应包括经过签名的接入点信息。操作640可以包括发送经签名的响应。
图7示出了根据本发明的一个示例性实施方式用于执行可靠的网络、能力和服务发现的示例性方法的流程图。在此方面,图7示出了可以由标识电路228执行的操作。该方法可以包括在操作700处广播接入点的标识、能力和服务信息。但是将会理解,操作700不是操作710的先决条件。在此方面,标识电路228可以接收针对经签名的接入点信息的请求而无需广播消息。该方法然后可以包括:在操作710处,在执行认证时在认证之前、或者在不执行认证时在关联之前,接收针对经签名的接入点信息的请求。操作720可以包括向第三方实体提供该请求以用于签名。该方法然后可以包括:在操作730处,从第三方实体接收经过签名的响应。操作740可以包括发送经过签名的响应。
图5-图7是根据本发明的示例性实施方式的系统、方法和计算机程序产品的流程图。要理解,可以由各种装置,如硬件和/或包括具有存储在其中的计算机可读程序代码部分的至少一个计算机可读存储介质的计算机程序产品,来实现流程图中的每个方框或步骤以及流程图中的方框的组合。例如,可以由计算机程序产品的计算机指令来实现本文所述的一个或多个程序。在此方面,可以由移动终端、服务器或其他计算设备(例如终端装置102或接入点104)一个或多个存储设备来存储并且由该计算设备中的处理器(例如处理器120或220)来执行本文所述的用于实现程序的计算机程序产品。在至少一些实施方式中,可以由多个计算设备的存储设备来存储包括用于实现上述程序的计算机程序产品的计算机程序指令。如我们将明白的,可以将任何该计算机程序产品加载到计算机或其他可编程装置上以产生这样一种机器,使得包括在该计算机或其他可编程装置上执行的指令的计算机程序指令创建用于实现流程图方框或步骤中指定的功能的装置。此外,计算机程序产品可以包括可以在其上存储计算机程序指令的一个或多个计算机可读存储器,使得该一个或多个计算机可读存储器能够指导计算机或其他可编程装置按照具体方式进行运作,使得该计算机程序产品包括用于实现流程图方框或步骤中指定的功能的制品。也可以将一个或多个计算机程序产品的计算机程序指令加载到计算机或其他可编程装置,以导致将要在该计算机或其他可编程装置上执行的一系列操作步骤,以产生计算机实现的过程,该过程使得在计算机或其他可编程装置计算机或其他可编程装置上执行的指令提供用于实现流程图方框或步骤中指定的功能的步骤。
因此,流程图的方框或步骤支持用于执行指定功能的装置的组合以及用于执行指定功能的步骤的组合。还将立即,可以由用于执行专用硬件和计算机产品的专用功能或步骤或功能和步骤的组合的基于专用硬件的计算机系统来实现流程图中的一个或多个方框或步骤以及流程图中的方框或步骤的组合。
可以用多种方式执行上述功能。例如,可以使用用于执行每个上述功能的任意合适的装置来执行本发明的实施方式。在一个实施方式中,可以对本发明的全部或部分元素提供合适配置的处理器。在另一个实施方式中,可以提供计算机程序产品来配置并且在计算机程序产品的控制之下操作本发明的全部或部分元素。用于执行本发明的实施方式的方法的计算机程序产品包括计算机可读介质,如非易失性存储介质和实现在计算机可读存储介质中的计算机可读程序代码部分,如一系列计算机指令。
这样,本发明的一些实施方式为计算设备和计算设备用户提供多个优势。本发明的实施方式提供执行可靠的网络、能力和服务发现。本发明的各种实施方式允许移动设备可以在执行认证时在与接入点认证之前、或者在不执行认证时在与接入点相关联之前,可靠地标识接入点。在此方面,移动设备可以避免在某些实施方式中选择流氓或欺诈接入点,因此避免暴露于流氓或欺诈接入点的恶意攻击。另外在示例性实施方式中,移动设备可以排除耗时的认证过程的不必要的重复。
下文提供了本发明的附加示例性实施方式。根据本发明的一个示例性方法包括:提供针对经签名的接入点信息的请求的传输,其中该请求在执行认证的情况下在与接入点认证之前、或者在不执行认证的情况下在与接入点相关联之前被提供以用于传输;接收包括经签名的接入点信息的响应;并且使用数字证书来验证经签名的接入点信息。根据一些示例性实施方式,验证经签名的接入点信息可以包括验证该数字证书的发布者的签名,以及使用该数字证书中的信息来验证该经签名的接入点信息。此外,根据一些示例性实施方式,验证该经签名的接入点信息还包括:使用公钥基础设施(PKI)来验证该经签名的接入点信息。根据一些示例性实施方式,该请求可以包括随机数,并且响应包括该请求的该随机数。在一些示例性实施方式中,该方法可以包括至少部分地基于该验证经签名的接入点信息来选择用于通信的接入点。根据一些示例性实施方式,针对经签名的接入点信息的请求可以包括一个或多个标识符,该一个或多个标识符中的每一个可以对应于所请求的接入点信息的类型。根据一些示例性实施方式,接入点信息包括服务集合标识符(SSID)、介质访问控制(MAC)地址、统一资源标识符(URI)、服务列表、网络接入标识符(NAI)领域列表或完全合格域名(FQDN)列表中的至少一个。
执行可靠的网络、能力和服务发现的相关示例性装置包括至少一个处理器和包括计算机程序代码的至少一个存储器,该至少一个存储器和该计算机程序代码被配置用于用该至少一个处理器导致该装置至少执行各种功能。在此方面,导致该示例性装置执行:提供针对经签名的接入点信息的请求的传输,其中该请求在执行认证的情况下在与接入点认证之前、或者在不执行认证的情况下在与接入点相关联之前被提供以用于传输;接收包括经签名的接入点信息的响应;并且使用数字证书来验证该经签名的接入点信息。根据一些示例性实施方式,验证该经签名的接入点信息可以包括验证该数字证书的发布者的签名,以及使用该数字证书中的信息来验证该经签名的接入点信息。根据一些示例性实施方式,验证该经签名的接入点信息可以包括:使用公钥基础设施(PKI)来验证该经签名的接入点信息。根据一些示例性实施方式,该请求可以包括随机数并且响应包括该请求的该随机数。在一些示例性实施方式中,还导致该示例性装置执行:至少部分地基于该验证经签名的接入点信息来选择用于通信的接入点。根据一些示例性实施方式,对于经签名的接入点信息的请求可以包括一个或多个标识符,该一个或多个标识符中的每一个可以对应于所请求的接入点信息的类型。根据一些示例性实施方式,接入点信息包括服务集合标识符(SSID)、介质访问控制(MAC)地址、统一资源标识符(URI)、服务列表、网络接入标识符(NAI)领域列表或完全合格域名(FQDN)列表中的至少一个。
另一个示例性实施方式是一种具有存储在其中的可执行计算机可读程序指令的计算机可读存储介质。该计算机可读存储介质的计算机可读程序指令用于导致一种装置执行各种功能。在此方面,该导致该示例性装置执行:提供针对经签名的接入点信息的请求的传输,其中在执行认证的情况下在与接入点认证之前、或者在不执行认证的情况下在与接入点相关联之前,提供该请求的传输;接收包括经签名的接入点信息的响应;并且使用数字证书来验证该经签名的接入点信息。此外根据一些示例性实施方式,验证该经签名的接入点信息可以包括验证该数字证书的发布者的签名,以及使用该数字证书中的信息来验证该经签名的接入点信息。根据一些示例性实施方式,验证该经签名的接入点信息可以包括使用公钥基础设施(PKI)来验证该经签名的接入点信息。根据一些示例性实施方式,该请求可以包括随机数并且响应包括该请求的该随机数。在一些示例性实施方式中,还导致该示例性装置执行:至少部分地基于该验证经签名的接入点信息来选择用于通信的接入点。根据一些示例性实施方式,对于经签名的接入点信息的请求可以包括一个或多个标识符,该一个或多个标识符中的每一个可以对应于请求接入点信息的类型。根据一些示例性实施方式,接入点信息包括服务集合标识符(SSID)、介质访问控制(MAC)地址、统一资源标识符(URI)、服务列表、网络接入标识符(NAI)领域列表或完全合格域名(FQDN)列表中的至少一个。
另一个示例性实施方式是一种用于执行可靠的网络、能力和服务发现的示例性设备。该示例性设备包括:用于提供针对经签名的接入点信息的请求的传输的装置,其中请求在执行认证的情况下在与接入点认证之前、或者在不执行认证的情况下在与接入点相关联之前被提供以用于传输;用于接收包括经签名的接入点信息的响应的装置;用于使用数字证书来验证该经签名的接入点信息的装置。此外根据一些示例性实施方式,验证该经签名的接入点信息可以包括验证该数字证书的发布者的签名,以及使用该数字证书中的信息来验证该经签名的接入点信息。根据一些示例性实施方式,验证该经签名的接入点信息可以包括使用公钥基础设施(PKI)来验证该经签名的接入点信息。根据一些示例性实施方式,请求可以包括随机数,并且响应包括该请求的该随机数。在一些示例性实施方式中,该示例性装置还包括用于至少部分地基于该验证经签名的接入点信息来选择用于通信的接入点的模块。根据一些示例性实施方式,对于经签名的接入点信息的请求可以包括一个或多个标识符,该一个或多个标识符中的每一个可以对应于请求接入点信息的类型。根据一些示例性实施方式,接入点信息包括服务集合标识符(SSID)、介质访问控制(MAC)地址、统一资源标识符(URI)、服务列表、网络接入标识符(NAI)领域列表或完全合格域名(FQDN)列表中的至少一个。
在另一个示例性实施方式中,提供了一种系统,该系统包括:一个或多个接入点,其配置用于提供对一个或多个网络的接入;以及移动设备,配置用于向该一个或多个接入点请求经签名的接入点信息;从该一个或多个接入点接收包括经签名的接入点信息的响应;以及使用数字证书验证该经签名的接入点信息。根据该示例实施方式,可以在执行认证时在与接入点认证之前、或者在不执行认证时在与接入点相关联之前请求经签名的接入点信息。根据一些示例性实施方式,该系统还可以包括一个或多个第三方实体,被配置用于发布数字证书并对其进行签名。在一些示例性实施方式中,可以由该一个或多个第三方实体之一对数字证书进行签名,并且该移动设备可以进一步被配置用于通过验证该一个或多个第三方实体之一的签名以及使用该数字证书的信息验证该经签名的接入点信息,来验证该经签名的接入点信息。根据一些实施方式,该一个或多个第三方实体中的至少一个包括该一个或多个接入点中的至少一个所属的网络运营商的证书机构(CA)或服务器。在一些示例性实施方式中,该一个或多个第三方实体中的至少一个还被配置用于:通过安全连接从该一个或多个接入点中的至少一个接收该请求;对该一个或多个接入点中至少一个的接入点信息进行签名;以及提供该经签名的接入点信息通过安全连接向该一个或多个接入点中的至少一个的传输。
另一用于执行可靠的网络、能力和服务发现的示例性方法,包括:接收针对经签名的接入点信息的请求,其中请求在执行认证的情况下在认证之前、或者在不执行认证的情况下在关联之前被接收;构建对所述请求的响应,其包括所述经签名的接入点信息;以及提供该响应的传输。根据示例性实施方式,请求包括随机数,并且该响应可以包括该请求的该随机数。根据一些示例性实施方式,对该请求接入点信息进行签名可以包括使用数字证书中的信息对所请求的接入点信息进行签名。此外,根据示例性实施方式,可以由第三方实体发布数字证书并对其进行签名。根据一些示例性实施方式,对于经签名的接入点信息的请求可以包括一个或多个标识符,该一个或多个标识符中的每一个可以对应于请求接入点信息的类型。此外,接入点信息包括服务集合标识符(SSID)、介质访问控制(MAC)地址、统一资源标识符(URI)、服务列表、网络接入标识符(NAI)领域列表或完全合格域名(FQDN)列表中的至少一个。
一种用于执行可靠的网络、能力和服务发现的另一个示例性方法,包括:接收针对经签名的接入点信息的请求,其中请求在执行认证的情况下在认证之前、或者在不执行认证的情况下在关联之前被接收;提供针对第三方实体的请求的通过安全连接的传输;通过安全连接从该第三方实体接收针对所请求的包括经签名的接入点信息的响应;以及提供该响应的传输。根据示例性实施方式,请求可以包括随机数,并且响应可以包括该请求的该随机数。根据各种实施方式,提供该请求向第三方实体的传输可以包括:向第三方实体提供该随机数;以及从该第三方实体接收针对该请求的包括该请求的该随机数的响应。根据一些示例性实施方式,对所请求接入点信息进行签名可以包括使用数字证书中的信息对所请求接入点信息进行签名。此外,根据示例性实施方式,安全连接可以是预定义的安全性关联。根据一些示例性实施方式,对于经签名的接入点信息的请求可以包括一个或多个标识符,该一个或多个标识符中的每一个可以对应于请求接入点信息的类型。此外,接入点信息包括服务集合标识符(SSID)、介质访问控制(MAC)地址、统一资源标识符(URI)、服务列表、网络接入标识符(NAI)领域列表或完全合格域名(FQDN)列表中的至少一个。
本发明所属技术领域的受益于前文的说明书以及相关附图中所给出的教导的熟练技术人员将想到本文所述的本发明的许多修改和其他实施方式。因此要理解,本发明的实施方式不限于所述具体实施方式,并且意图将该修改和其他实施方式包括在所附权利要求的范围中。此外,虽然前述说明书和相关附图在元件和/或功能的特定示例性组合的环境中描述示例性实施方式,但是应该明白在不脱离所附权利要求的范围的前提下可以由备选实施方式提供元件和/或功能的不同的组合。在此方面,也打算在一些附属权利要求中阐述除了上文明确描述的元件和/或功能组合之外的元件和/或功能的不同的组合。虽然在本文中使用了具体的术语,但是仅仅以通用并且描述性意义来使用他们,而不是为了限制的目的。