[go: up one dir, main page]

TWI441025B - Accessory, controller, and method for establishing wireless communication link therebetween - Google Patents

Accessory, controller, and method for establishing wireless communication link therebetween Download PDF

Info

Publication number
TWI441025B
TWI441025B TW100131143A TW100131143A TWI441025B TW I441025 B TWI441025 B TW I441025B TW 100131143 A TW100131143 A TW 100131143A TW 100131143 A TW100131143 A TW 100131143A TW I441025 B TWI441025 B TW I441025B
Authority
TW
Taiwan
Prior art keywords
accessory
controller
probe
password
public key
Prior art date
Application number
TW100131143A
Other languages
Chinese (zh)
Other versions
TW201224755A (en
Inventor
Bob Bradley
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Inc filed Critical Apple Inc
Publication of TW201224755A publication Critical patent/TW201224755A/en
Application granted granted Critical
Publication of TWI441025B publication Critical patent/TWI441025B/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3215Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a plurality of channels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/50Secure pairing of devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/005Discovery of network devices, e.g. terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

附屬件、控制器及在其之間建立無線通信鏈路之方法Accessory, controller, and method of establishing a wireless communication link therebetween

本發明大體而言係關於介於電子裝置之間的無線通信,且更具體言之係關於介於兩個裝置之間的安全無線鏈路。The present invention relates generally to wireless communication between electronic devices and, more particularly, to a secure wireless link between two devices.

無線網路已普遍存在。電機電子工程師協會(IEEE)已頒佈用於使電子裝置能夠彼此通信之802.11系列標準(亦稱作「WiFi」)。此等標準(包括802.11a、802.11b、802.11g及802.11n)定義用於在裝置之間傳達資訊之頻率、調變、資料速率及訊息格式。一般而言,在遵循802.11之無線網路(亦稱作「WiFi網路」)中,存在管理該WiFi網路之指定「存取點」,該指定「存取點」常常具有至網際網路之有線連接。除了其他操作以外,該存取點可在經網路連接的裝置之間投送訊息。該WiFi網路具有一名稱(通常可由與該存取點互動之網路管理員組態),該存取點可週期性地廣播該名稱,且知曉該名稱或自該存取點的廣播發現該網路名稱之裝置可藉由將一「加入」請求發送至該存取點來加入該網路。一般而言,存取點將僅在已加入該網路的裝置之間投送訊息。Wireless networks are ubiquitous. The Institute of Electrical and Electronics Engineers (IEEE) has promulgated the 802.11 family of standards (also known as "WiFi") for enabling electronic devices to communicate with each other. These standards (including 802.11a, 802.11b, 802.11g, and 802.11n) define the frequency, modulation, data rate, and message format used to convey information between devices. In general, in an 802.11-compliant wireless network (also known as a "WiFi network"), there is a designated "access point" for managing the WiFi network, and the designated "access point" often has an access to the Internet. Wired connection. Among other things, the access point can deliver messages between devices connected via the network. The WiFi network has a name (usually configurable by a network administrator interacting with the access point), the access point can periodically broadcast the name and know the name or broadcast discovery from the access point The device of the network name can join the network by sending a "join" request to the access point. In general, an access point will only deliver messages between devices that have joined the network.

當然,容易截取無線信號。因此,WiFi標準提供各種安全協定,諸如有線等效私密性(「WEP」)、WiFi保護存取(「WPA」)及IEEE 802.11i(亦稱作「WPA2」)。此等協定規定在該網路上發送之資訊經加密且指定應使用之特定加密技術。可針對特定安全協定而組態該WiFi網路存取點。Of course, it is easy to intercept wireless signals. Therefore, the WiFi standard provides various security protocols such as Wired Equivalent Privacy ("WEP"), WiFi Protected Access ("WPA"), and IEEE 802.11i (also known as "WPA2"). These agreements specify that information sent over the network is encrypted and specifies the particular encryption technology to be used. The WiFi network access point can be configured for a specific security agreement.

一般而言,加入安全WiFi網路之裝置需知曉可用以加密及解密訊息之網路特定密碼或密鑰。儘管通常不在裝置之間無線地傳達此密碼或密鑰,但安全WiFi網路中之存取點可要求試圖加入該網路之任何裝置證明其知曉該密碼或密鑰(例如,藉由正確地加密一隨機挑戰)。為將電腦連接至安全WiFi網路,使用者可(例如)回應於由在電腦上執行之網路組態程式所產生之提示而自網路管理員獲得密碼且將其鍵入至電腦中。In general, devices that join a secure WiFi network need to know the network-specific password or key that can be used to encrypt and decrypt messages. Although this password or key is typically not communicated wirelessly between devices, an access point in a secure WiFi network may require any device attempting to join the network to prove that it knows the password or key (eg, by correct Encrypt a random challenge). To connect the computer to a secure WiFi network, the user can obtain a password from the network administrator and type it into the computer, for example, in response to a prompt generated by a network configuration program executing on the computer.

然而,具備WiFi功能的裝置之範圍近來已開始擴展超出電腦而包括一系列周邊裝置。舉例而言,已開發出使用802.11標準來通信之無線印表機。一些周邊裝置具有有限使用者介面,從而使得使用者難以或不可能將針對WiFi網路之密碼或密鑰鍵入至該裝置中。常常有必要首先將周邊裝置經由有線介面(例如,USB)連接至電腦以組態WiFi介面,接著將周邊裝置切換至無線操作模式。However, the range of devices with WiFi capabilities has recently begun to expand beyond computers to include a range of peripheral devices. For example, wireless printers that communicate using the 802.11 standard have been developed. Some peripheral devices have a limited user interface, making it difficult or impossible for a user to type a password or key for a WiFi network into the device. It is often necessary to first connect a peripheral device to a computer via a wired interface (eg, USB) to configure the WiFi interface, and then switch the peripheral device to a wireless mode of operation.

本發明之某些實施例提供用於藉由利用無線網路協定對介於尚未加入網路之裝置之間的訊息交換之支援而在兩個裝置(本文中亦稱作「控制器」與「附屬件(accessory)」)之間建立安全無線鏈路(本文中稱作「配對」)之技術。本文中將此類訊息稱作「探測請求」及「探測回應」或更一般地稱作「探測」。在基於IEEE 802.11標準之無線網路之狀況中,可將探測請求及探測回應訊框用作探測。本文中所使用之探測可用以在兩個具備WiFi功能之裝置之間交換訊息序列,該等裝置包括電腦、行動裝置、周邊裝置及其他裝置。該序列可包括可用以在兩個裝置之間建立共用秘密之訊息;一旦建立該共用秘密,該兩個裝置即可安全地傳達其他訊息,包括(但不限於)使該等裝置中之一者能夠加入無線網路之資訊(例如,網路名稱及密碼或其他憑證)。Certain embodiments of the present invention provide for the use of two devices (also referred to herein as "controllers" and "" by means of wireless network protocols for the exchange of information between devices that have not joined the network. The technique of establishing a secure wireless link (referred to herein as "pairing") between the "accessories"). Such messages are referred to herein as "probe requests" and "probe responses" or more generally as "probes". In the case of a wireless network based on the IEEE 802.11 standard, a probe request and a probe response frame can be used as probes. The probes used herein can be used to exchange sequences of messages between two WiFi enabled devices, including computers, mobile devices, peripherals, and other devices. The sequence may include a message that may be used to establish a shared secret between the two devices; once the shared secret is established, the two devices may securely communicate other messages including, but not limited to, one of the devices. Information that can be added to a wireless network (for example, a network name and password or other credentials).

具有經合適組態的無線介面之任何兩個裝置可建立配對。在本文中所描述之一些實施例中,一裝置(「控制器」)可廣播一初始探測以宣告其正在搜尋其可配對之裝置。另一裝置(「附屬件」)可藉由請求配對之另一探測來對該初始探測作出回應。該兩個裝置可建立共用秘密且/或驗證另一者具有相同共用秘密。在一些實施例中,可藉由交換另外的探測來建立及/或驗證該共用秘密。在其他實施例中,可在初始探測交換中提供建立該共用秘密所需要之所有資訊,且可經由另一機制(諸如使用者確認)來驗證該共用秘密。每一裝置可使用該共用秘密產生額外的加密或鑑認密鑰。此等額外的加密或鑑認密鑰可用以保全(例如,加密及/或鑑認)可使用額外探測請求及探測回應在該等裝置之間傳輸之訊息內容。Pairing can be established by any two devices with a suitably configured wireless interface. In some embodiments described herein, a device ("controller") can broadcast an initial probe to announce that it is searching for a device that it can pair with. Another device ("Attachment") can respond to the initial probe by requesting another probe for the pairing. The two devices can establish a shared secret and/or verify that the other has the same shared secret. In some embodiments, the shared secret can be established and/or verified by exchanging additional probes. In other embodiments, all of the information needed to establish the shared secret may be provided in an initial probe exchange, and the shared secret may be verified via another mechanism, such as a user confirmation. Each device can use the shared secret to generate an additional encryption or authentication key. Such additional encryption or authentication keys may be used for security (eg, encryption and/or authentication) to use additional probe requests and probes to respond to message content transmitted between such devices.

在一些實施例中,在該等裝置之間交換之經保全的訊息內容可包括加入安全無線網路所需要之憑證,諸如網路名稱及密碼或密鑰。舉例而言,具有有限使用者介面之附屬件(例如,具備WiFi功能之印表機)可與控制器(例如,具備WiFi功能之個人電腦)建立配對,且可經由該配對獲得針對該控制器當前所加入之無線網路的憑證。該附屬件可接著使用此等憑證加入無線網路。一旦附屬件已加入無線網路,附屬件及控制器即可經由該網路彼此通信或與其他裝置通信。此時,可終止該配對,或可將配對鏈路維持為旁頻帶通信路徑。In some embodiments, the secured message content exchanged between the devices may include credentials required to join the secure wireless network, such as a network name and password or key. For example, an accessory with a limited user interface (eg, a WiFi-enabled printer) can be paired with a controller (eg, a WiFi-enabled personal computer) and can be obtained via the pairing for the controller The credentials of the wireless network that is currently joined. The accessory can then join the wireless network using such credentials. Once the accessory has joined the wireless network, the accessory and controller can communicate with each other or with other devices via the network. At this point, the pairing can be terminated or the paired link can be maintained as a sideband communication path.

在一些實施例中,可使配對程序大大自動化,從而幾乎不要求或不要求任何使用者介入。任何使用者介入可就像以下操作那樣簡單:驗證在附屬件與控制器之間的密碼匹配,或在其他裝置處(例如,控制器)鍵入由一裝置(例如,附屬件)提供之密碼。In some embodiments, the pairing procedure can be greatly automated so that little or no user intervention is required. Any user intervention can be as simple as verifying the password match between the accessory and the controller, or typing in a password provided by a device (eg, an accessory) at another device (eg, a controller).

本發明之一態樣係關於用於在一附屬件與一控制器之間建立一無線通信鏈路之方法。一控制器可廣播一第一探測以指示該控制器正在搜尋一附屬件以與其配對。一附屬件可接收該第一探測且可藉由一提供關於該附屬件之資訊的第二探測來作出回應。控制器及附屬件可藉由使用額外探測交換各別公用密鑰來建立一共用秘密,該等額外探測包括由該附屬件發送之一第三探測及由該控制器發送之一第四探測。控制器及附屬件可各自驗證另一裝置共用該相同秘密,且可各自使用該共用秘密產生一另外的密碼編譯密鑰。此後,任一裝置可藉由使用該另外的密碼編譯密鑰加密一訊息及在一第五探測內發送該經加密之訊息來將該訊息發送至另一裝置。接收裝置可自該第五探測提取該經加密之訊息且使用該另外的密碼編譯密鑰解密該經加密之訊息。在一些實施例中,可將該經加密之訊息與鑑認資料一起發送,從而允許接收端驗證該訊息之來源及完整性。One aspect of the present invention is directed to a method for establishing a wireless communication link between an accessory and a controller. A controller can broadcast a first probe to indicate that the controller is searching for an accessory to pair with. An accessory can receive the first probe and can respond by a second probe providing information about the accessory. The controller and the accessory can establish a common secret by exchanging individual public keys using additional probes, the additional probes including one of the third probes sent by the accessory and one of the fourth probes sent by the controller. The controller and the accessory can each verify that the other device shares the same secret, and each of the shared secrets can be used to generate an additional cryptographic key. Thereafter, any device can transmit the message to another device by encrypting a message using the additional cryptographic key and transmitting the encrypted message within a fifth probe. The receiving device may extract the encrypted message from the fifth probe and decrypt the encrypted message using the additional cryptographic key. In some embodiments, the encrypted message can be sent with the authentication material to allow the receiving end to verify the source and integrity of the message.

本發明之另一態樣係關於一種具有一無線介面之附屬件。耦接至該無線介面之一處理器可經組態以:與一控制器通信以使用一探測序列建立一配對,以經由該配對自該控制器獲得用於加入一無線網路之憑證;及使用該等憑證來加入該無線網路。此後,假定該控制器亦在相同無線網路上,則附屬件及控制器可經由該無線網路及/或經由該配對來通信。在一些實施例中,該附屬件可具有最小使用者介面或不具有任何使用者介面;必要時,使用者可藉由與控制器互動來控制該配對及附屬件之網路加入行為。Another aspect of the invention pertains to an accessory having a wireless interface. A processor coupled to the wireless interface can be configured to: communicate with a controller to establish a pairing using a probe sequence to obtain credentials for joining a wireless network from the controller via the pairing; and Use these credentials to join the wireless network. Thereafter, assuming that the controller is also on the same wireless network, the accessory and controller can communicate via the wireless network and/or via the pairing. In some embodiments, the accessory may have a minimal user interface or no user interface; if necessary, the user may control the network joining behavior of the pairing and accessory by interacting with the controller.

本發明之另一態樣係關於一種具有一無線介面及一使用者介面之控制器。耦接至該無線介面之一處理器及該使用者介面可經組態以與一附屬件通信以使用一探測序列來建立一配對。建立該配對可包括經由該使用者介面與一使用者通信以確認應允許該附屬件加入一無線網路及/或獲得用於該附屬件之密碼,其中該密碼係用於建立該配對。一旦建立該配對,該控制器即可將用於加入該無線網路之憑證安全地發送至該附屬件(例如,作為在發送至該附屬件之一探測中所包括之一經加密之訊息)。一旦該附屬件加入該無線網路,控制器及附屬件即可經由該無線網路及/或經由該配對來通信。Another aspect of the invention is directed to a controller having a wireless interface and a user interface. A processor coupled to the wireless interface and the user interface can be configured to communicate with an accessory to establish a pair using a probe sequence. Establishing the pairing can include communicating with a user via the user interface to confirm that the accessory should be allowed to join a wireless network and/or obtain a password for the accessory, wherein the password is used to establish the pairing. Once the pairing is established, the controller can securely send the credentials for joining the wireless network to the accessory (e.g., as one of the encrypted messages included in the probe sent to one of the widgets). Once the accessory is added to the wireless network, the controller and accessory can communicate via the wireless network and/or via the pairing.

以下實施方式連同隨附圖式一起將提供對本發明之性質及優點之更好理解。The following embodiments, together with the drawings, will provide a better understanding of the nature and advantages of the invention.

本發明之某些實施例提供用於藉由利用無線網路協定對介於尚未加入網路的裝置之間的訊息交換之支援而在兩個裝置(本文中稱作「控制器」及「附屬件」)之間建立安全無線鏈路(本文中稱作「配對」)之技術。本文中將此類訊息稱作「探測請求」及「探測回應」或更一般地稱作「探測」。Certain embodiments of the present invention provide for the use of two devices (referred to herein as "controllers" and "attachments" by means of wireless network protocols for the exchange of information between devices that have not joined the network. A technique for establishing a secure wireless link (referred to herein as "pairing"). Such messages are referred to herein as "probe requests" and "probe responses" or more generally as "probes".

舉例而言,IEEE 802.11標準規定在稱作「訊框」之結構中發送訊息。該等標準定義:搜尋欲加入的網路之裝置可廣播之探測請求訊框,及可由接收探測請求之存取點發送之探測回應訊框。以此方式,裝置可自動地識別可用無線網路。根據該等標準,探測請求或探測訊框可併入有「資訊元素」,其內容可由特定供應商定義。For example, the IEEE 802.11 standard specifies that a message is sent in a structure called a "frame." The standard definitions are: a probe request frame that can be broadcast by a device that searches for a network to join, and a probe response frame that can be sent by an access point that receives the probe request. In this way, the device can automatically identify the available wireless network. According to these criteria, the probe request or probe frame can be incorporated with an "information element" whose content can be defined by a particular vendor.

本發明之一些實施例利用IEEE探測請求及探測回應訊框之供應商特定資訊元素來支援介於任何兩個具備WiFi功能的裝置(包括電腦及周邊裝置)之間的訊息序列之交換。該序列可包括可用以在兩個裝置之間建立共用秘密之訊息;一旦建立該共用秘密,該兩個裝置即可安全地傳達其他訊息,包括(但不限於)使該等裝置中之一者能夠加入標準WiFi網路之資訊。Some embodiments of the present invention utilize vendor-specific information elements of the IEEE Probe Request and Probe Response frames to support the exchange of messages between any two WiFi enabled devices, including computers and peripherals. The sequence may include a message that may be used to establish a shared secret between the two devices; once the shared secret is established, the two devices may securely communicate other messages including, but not limited to, one of the devices. Ability to join the information on a standard WiFi network.

具有經合適組態的無線介面之任何兩個裝置可建立配對。在本文中所描述之一些實施例中,一裝置(「控制器」)可廣播一初始「瀏覽」探測以宣告其正在搜尋其可配對之裝置。該瀏覽信號可包括於802.11探測請求訊框之資訊元素中或另一類型的探測請求內。另一裝置(「附屬件」)可藉由一包括附屬件識別資訊之識別探測來對該瀏覽探測作出回應。該識別資訊可包括於802.11探測回應訊框之資訊元素中或另一類型的探測內。該兩個裝置可建立共用秘密且/或驗證另一裝置具有相同共用秘密。在一些實施例中,可藉由交換另外的探測來建立及/或驗證該共用秘密。在其他實施例中,可在初始探測交換中提供建立該共用秘密所需要之所有資訊,且可經由另一機制(諸如使用者確認)來驗證該共用秘密。每一裝置可接著使用該共用秘密產生額外的加密或鑑認密鑰。此等額外的加密或鑑認密鑰可用以保全(例如,加密及/或鑑認)可使用額外探測請求及探測回應在該等裝置之間傳輸之訊息內容。舉例而言,經保全(例如,加密)之訊息內容可包括於在IEEE 802.11探測請求或探測回應訊框內之資訊元素中。Pairing can be established by any two devices with a suitably configured wireless interface. In some embodiments described herein, a device ("controller") can broadcast an initial "browse" probe to announce that it is searching for a device that it can pair with. The browsing signal can be included in an information element of an 802.11 probe request frame or in another type of probe request. Another device ("Attachment") can respond to the browsing probe by an identification probe that includes the accessory identification information. The identification information may be included in the information element of the 802.11 probe response frame or in another type of probe. The two devices can establish a common secret and/or verify that the other device has the same shared secret. In some embodiments, the shared secret can be established and/or verified by exchanging additional probes. In other embodiments, all of the information needed to establish the shared secret may be provided in an initial probe exchange, and the shared secret may be verified via another mechanism, such as a user confirmation. Each device can then use the shared secret to generate an additional encryption or authentication key. Such additional encryption or authentication keys may be used for security (eg, encryption and/or authentication) to use additional probe requests and probes to respond to message content transmitted between such devices. For example, the preserved (eg, encrypted) message content can be included in an information element within an IEEE 802.11 probe request or probe response frame.

在一些實施例中,在該等裝置之間交換之經保全的訊息內容可包括加入一安全無線網路所需要之憑證,諸如網路名稱及密碼或密鑰。舉例而言,一具有有限使用者介面之附屬件(例如,具備WiFi功能之印表機)可與一控制器(例如,具備WiFi功能之個人電腦)建立配對且可經由該配對獲得針對該控制器當前所加入之無線網路的憑證。該附屬件可接著使用此等憑證來加入該無線網路。一旦該附屬件已加入該無線網路,附屬件及控制器即可經由該網路彼此通信或與其他裝置通信。此時,可終止該配對,或可將該配對鏈路維持為旁頻帶通信路徑。In some embodiments, the secured message content exchanged between the devices may include credentials required to join a secure wireless network, such as a network name and password or key. For example, an accessory with a limited user interface (eg, a WiFi-enabled printer) can be paired with a controller (eg, a WiFi-enabled personal computer) and can be obtained via the pairing for the control The credentials of the wireless network to which the device is currently connected. The accessory can then use the credentials to join the wireless network. Once the accessory has joined the wireless network, the accessory and controller can communicate with each other or with other devices via the network. At this point, the pairing may be terminated or the paired link may be maintained as a sideband communication path.

在一些實施例中,可使配對程序大大自動化,從而幾乎不要求或不要求任何使用者介入。任何使用者介入可就像以下操作那樣簡單:驗證在附屬件與控制器之間的密碼匹配,或在其他裝置處(例如,控制器)鍵入由裝置(例如,附屬件)提供之密碼。In some embodiments, the pairing procedure can be greatly automated so that little or no user intervention is required. Any user intervention can be as simple as verifying the password match between the accessory and the controller, or typing in a password provided by the device (eg, an accessory) at another device (eg, a controller).

圖1說明在本發明之某些實施例中所使用之操作原理。在圖1中展示控制器100(在此狀況中為個人電腦)及附屬件110(例如,印表機)及附屬件120(例如,立體聲揚聲器)。控制器100及附屬件110、120各自包括無線通信介面(諸如標準WiFi介面卡)及各種其他組件(下文詳細描述其實例)。Figure 1 illustrates the principle of operation used in certain embodiments of the present invention. Controller 100 (in this case a personal computer) and accessory 110 (eg, a printer) and accessory 120 (eg, a stereo speaker) are shown in FIG. Controller 100 and accessories 110, 120 each include a wireless communication interface (such as a standard WiFi interface card) and various other components (examples of which are described in detail below).

控制器100及附屬件110可藉由交換嵌入於探測請求及探測回應中之訊息來建立安全、直接的通信鏈路(亦稱作配對)112。術語「探測」在本文中亦用以互換地包含探測請求及探測回應兩者。一旦建立配對112,控制器100及附屬件110即可使用額外探測向彼此發送經加密之訊息。同樣地,控制器100及附屬件120可藉由交換嵌入於探測中之訊息來建立配對122。一旦建立配對122,控制器100及附屬件120即可使用額外探測向彼此發送經加密之訊息。The controller 100 and the accessory 110 can establish a secure, direct communication link (also referred to as pairing) 112 by exchanging messages embedded in the probe request and the probe response. The term "probe" is also used herein interchangeably to include both probe requests and probe responses. Once the pairing 112 is established, the controller 100 and the accessory 110 can send the encrypted message to each other using additional probes. Similarly, controller 100 and accessory 120 can establish pair 122 by exchanging messages embedded in the probe. Once the pairing 122 is established, the controller 100 and the accessory 120 can send the encrypted message to each other using additional probes.

無線地發送該等探測,且附屬件110可偵測與配對122相關聯之探測。類似地,附屬件120可偵測與配對112相關聯之探測。為提供安全性,一旦建立配對,即可以取決於特定配對之方式來加密訊息;因而,舉例而言,配對112可提供不同於配對122之密碼編譯密鑰。結果,附屬件110不能夠解密在與配對122相關聯之探測中所含有之訊息。(類似地,附屬件120不能夠解密在與配對112相關聯之探測中所含有之訊息)。下文描述用於建立配對(包括建立取決於配對之加密密鑰)之技術的特定實例。The probes are transmitted wirelessly, and the accessory 110 can detect the probe associated with the pair 122. Similarly, the accessory 120 can detect the detection associated with the pair 112. To provide security, once a pairing is established, the message can be encrypted depending on the particular pairing; thus, for example, pairing 112 can provide a cryptographic key different from pairing 122. As a result, the accessory 110 is not capable of decrypting the message contained in the probe associated with the pair 122. (Similarly, the accessory 120 is not capable of decrypting the message contained in the probe associated with the pair 112). Specific examples of techniques for establishing pairings, including establishing encryption keys that depend on pairing, are described below.

如在圖1中所展示,在一些實施例中,單一控制器可同時與多個附屬件配對。在一些實施例中,控制器100可處於一次僅建立一個配對之過程中;然而,一旦建立一配對(例如,配對112),控制器110即可建立第二配對(例如,配對122)而第一配對仍為可用的。在其他實施例中,例如,若探測請求及探測回應中包括足夠的識別資訊以致於控制器100可可靠地判定所接收訊息之來源,且若每一附屬件能夠判定該附屬件抑或另一裝置為所接收訊息之目標,則控制器100可同時建立多個配對。在再其他實施例中,控制器110可被限於一次與一個附屬件建立配對。因而,舉例而言,若附屬件110開始與控制器100配對,則可要求附屬件120等待,直至完全建立配對112。在替代實施例中,若在附屬件110處於建立其配對之過程中的同時附屬件120試圖起始與控制器100配對,則控制器100可終止與附屬件110之通信以滿足來自附屬件120之配對請求。亦可使用用於優先排序配對操作之其他規則。As shown in FIG. 1, in some embodiments, a single controller can be paired with multiple accessories at the same time. In some embodiments, the controller 100 can be in the process of establishing only one pair at a time; however, once a pair is established (eg, pair 112), the controller 110 can establish a second pair (eg, pair 122) A pairing is still available. In other embodiments, for example, if the probe request and the probe response include sufficient identification information so that the controller 100 can reliably determine the source of the received message, and if each accessory can determine the accessory or another device For the purpose of the received message, the controller 100 can establish multiple pairs at the same time. In still other embodiments, the controller 110 can be limited to pairing with one accessory at a time. Thus, for example, if accessory 110 begins to pair with controller 100, accessory 120 may be required to wait until pair 112 is fully established. In an alternate embodiment, if the accessory 120 attempts to initiate pairing with the controller 100 while the accessory 110 is in the process of establishing its pairing, the controller 100 can terminate communication with the accessory 110 to satisfy the from the accessory 120. Pairing request. Other rules for prioritizing pairing operations can also be used.

應瞭解,圖1中所展示之裝置為說明性的且變化及修改係可能的。舉例而言,儘管將控制器100描繪為個人電腦,但控制器100亦可為另一類型之裝置,包括(但不限於)膝上型電腦、平板電腦、智慧型電話、行動通信或計算裝置等等。此外,控制器100不需要具有或包括顯著的計算能力;能夠執行如本文中所描述之控制器操作的任何裝置可用作控制器。It will be appreciated that the apparatus shown in Figure 1 is illustrative and that variations and modifications are possible. For example, although the controller 100 is depicted as a personal computer, the controller 100 can be another type of device including, but not limited to, a laptop, tablet, smart phone, mobile communication, or computing device. and many more. Moreover, controller 100 need not have or include significant computing power; any device capable of performing controller operations as described herein can be used as a controller.

同樣地,分別將附屬件110及附屬件120描繪為印表機及一對立體聲揚聲器,但亦可使用其他類型之附屬件,包括具有無線通信介面之任何裝置。可作為附屬件之裝置的其他實例包括周邊裝置、相機、包括電子醫療裝置之個人電子裝置,及家用電器。如同控制器100一樣,能夠執行如本文中所描述之附屬件操作的任何裝置可用作附屬件。如將顯而易見,「附屬件」有別於控制器之處在於:在配對程序期間,附屬件接收來自控制器之初始探測請求且對其作出回應。Similarly, the accessory 110 and the accessory 120 are depicted as a printer and a pair of stereo speakers, respectively, although other types of accessories may be used, including any device having a wireless communication interface. Other examples of devices that can be used as accessories include peripheral devices, cameras, personal electronic devices including electronic medical devices, and household appliances. As with the controller 100, any device capable of performing the operation of the accessory as described herein can be used as an accessory. As will be apparent, the "accessory" differs from the controller in that the accessory receives and responds to the initial probe request from the controller during the pairing procedure.

在一些實施例中,附屬件可為具有有限使用者介面或不具有任何使用者介面之裝置。舉例而言,揚聲器120可產生聲音但不需要具有能夠偵測使用者動作之任何組件(例如,按鈕、撥號盤、觸敏區域等)。類似地,印表機110能夠在紙上產生任意影像(取決於實施,呈黑白或彩色),且可具有能夠顯示少許字元之顯示器或僅具有狀態燈;使用者輸入介面可提供僅一或兩個控制按鈕。此類有限或不存在的使用者介面可使得使用者難以或不可能輸入網路名稱、密碼或加入習知安全無線網路可能要求之其他憑證。一些實施例允許附屬件無線地且安全地獲得網路憑證而幾乎不或不與附屬件互動,從而簡化將此類附屬件連接至無線網路之任務。In some embodiments, the accessory can be a device that has a limited user interface or does not have any user interface. For example, speaker 120 can produce sound but does not need to have any components (eg, buttons, dials, touch sensitive areas, etc.) that are capable of detecting user motion. Similarly, printer 110 is capable of producing any image on paper (black and white or color depending on implementation) and may have a display capable of displaying a few characters or only a status light; the user input interface may provide only one or two Control buttons. Such limited or non-existent user interfaces may make it difficult or impossible for a user to enter a network name, password, or other credentials that may be required by a conventional secure wireless network. Some embodiments allow the accessory to obtain network credentials wirelessly and securely with little or no interaction with the accessory, thereby simplifying the task of connecting such accessory to the wireless network.

如本文中所使用之術語「探測請求」及「探測回應」(或「探測」)通常指代在特定無線網路之情況外發送之訊息。此等訊息可包括對發送裝置之識別及/或對於關於接收裝置之資訊的請求。可廣播該等訊息,或在一些實施例中,若發送器具有針對接收端之識別資訊,則可單播一些訊息(亦即,定址至一特定接收端)。通常以純文字(cleartext)發送探測(儘管在下文描述之一些實施例中,可將經加密之訊息嵌入於純文字探測請求或探測回應中)。儘管可使用遵循IEEE 802.11之探測請求及探測回應訊框,但本發明不限於此等特定訊框或遵循IEEE 802.11標準之網路。The terms "probe request" and "probe response" (or "probe") as used herein generally refer to messages sent outside of a particular wireless network. Such information may include an identification of the transmitting device and/or a request for information about the receiving device. The messages may be broadcast, or in some embodiments, if the transmitter has identification information for the receiving end, some of the messages may be unicast (i.e., addressed to a particular receiving end). The probe is typically sent in cleartext (although in some embodiments described below, the encrypted message may be embedded in a plain text probe request or probe response). Although the probe request and probe response frame complying with IEEE 802.11 can be used, the present invention is not limited to such a specific frame or a network complying with the IEEE 802.11 standard.

圖2為根據本發明之一實施例的控制器200之方塊圖。控制器200(例如,實施圖1之控制器100)可包括各種組件,諸如處理器202、使用者介面204、無線介面206及儲存媒體208。2 is a block diagram of a controller 200 in accordance with an embodiment of the present invention. Controller 200 (e.g., implementing controller 100 of FIG. 1) can include various components, such as processor 202, user interface 204, wireless interface 206, and storage medium 208.

可實施為一或多個積體電路(例如,習知微處理器或微控制器)之處理器202可控制控制器200之操作。在各種實施例中,處理器202可回應於程式碼而執行各種程式且可維持多個同時執行之程式或程序。在任何給定時間,待執行之程式碼中之一些或全部可駐留於處理器202中及/或諸如儲存媒體208之儲存媒體中。The processor 202, which may be implemented as one or more integrated circuits (e.g., conventional microprocessors or microcontrollers), may control the operation of the controller 200. In various embodiments, processor 202 can execute various programs in response to the code and can maintain a plurality of programs or programs that are executed simultaneously. At any given time, some or all of the code to be executed may reside in processor 202 and/or in a storage medium such as storage medium 208.

經由適合之程式化,處理器202可為控制器200提供各種功能性。舉例而言,回應於由使用者介面204提供之使用者輸入信號,處理器202可啟動應用程式(文書處理器、網頁瀏覽器等),播放所儲存之媒體內容,控制無線介面206建立或終止網路連接或發送及接收資料及其他信號,等等。The processor 202 can provide various functionality to the controller 200 via suitable stylization. For example, in response to the user input signal provided by the user interface 204, the processor 202 can launch an application (document processor, web browser, etc.), play the stored media content, and control the wireless interface 206 to establish or terminate. Network connection or sending and receiving data and other signals, and more.

使用者介面204可包括:輸入裝置,諸如鍵盤、觸控板、觸控螢幕、滾輪、旋轉輕觸式操控輪(click wheel)、撥號盤、按鈕、開關、小鍵盤、麥克風或其類似者;以及輸出裝置,諸如視訊螢幕、指示器燈、揚聲器、耳機插孔或其類似者;以及支援電子裝置(例如,數位至類比或類比至數位轉換器、信號處理器或其類似者)。使用者可操作使用者介面204之輸入裝置以調用控制器200之功能性且可經由使用者介面204之輸出裝置觀看及/或聆聽來自控制器200之輸出。The user interface 204 can include: an input device such as a keyboard, a touch pad, a touch screen, a scroll wheel, a rotary click wheel, a dial, a button, a switch, a keypad, a microphone, or the like; And output devices such as video screens, indicator lights, speakers, headphone jacks, or the like; and supporting electronic devices (eg, digital to analog or analog to digital converters, signal processors, or the like). The user can operate the input device of the user interface 204 to invoke the functionality of the controller 200 and can view and/or listen to the output from the controller 200 via the output device of the user interface 204.

無線介面206可為控制器200提供資料通信能力。在一些實施例中,無線介面206可包括射頻(RF)收發器組件,其用於存取無線語音及/或資料網路(例如,使用進階資料網路技術,諸如3G、4G或EDGE、WiFi(IEEE 802.11系列標準)或其他無線通信技術,或其任何組合)。可使用硬體(例如,天線、調變器/解調變器、編碼器/解碼器及其他類比及/或數位信號處理電路)及軟體組件之組合來實施無線介面206。The wireless interface 206 can provide data communication capabilities to the controller 200. In some embodiments, the wireless interface 206 can include a radio frequency (RF) transceiver component for accessing a wireless voice and/or data network (eg, using advanced data network technologies such as 3G, 4G, or EDGE, WiFi (IEEE 802.11 series of standards) or other wireless communication technologies, or any combination thereof. The wireless interface 206 can be implemented using a combination of hardware (e.g., antennas, modulators/demodulators, encoders/decoders, and other analog and/or digital signal processing circuits) and software components.

可(例如)使用碟片、快閃記憶體或任何其他非揮發性儲存媒體來實施儲存媒體208。在一些實施例中,儲存媒體208可儲存將由處理器202執行之程式碼(包括應用程式及作業系統程式)。此程式碼可包括關於如下文所描述與附屬件建立配對之程式碼。儲存媒體208亦可儲存資料,諸如可由控制器200播放或串流傳輸至另一裝置之媒體資產(音訊、視訊、靜態影像等)、個人資訊電子文件及/或針對使用者之資料檔案及其他資訊。在一些實施例中,儲存媒體208可儲存與控制器200可經由無線介面206所連接至之特定無線網路相關聯之網路憑證210(例如,網路名稱及密碼)。Storage medium 208 can be implemented, for example, using a disc, flash memory, or any other non-volatile storage medium. In some embodiments, storage medium 208 can store code (including application and operating system programs) to be executed by processor 202. This code may include code for pairing with the accessory as described below. The storage medium 208 can also store data, such as media assets (audio, video, still images, etc.) that can be played or streamed by the controller 200 to another device, personal information electronic files, and/or data files for users and others. News. In some embodiments, storage medium 208 can store network credentials 210 (eg, a network name and password) associated with a particular wireless network to which controller 200 can connect via wireless interface 206.

應瞭解,控制器200為說明性的且變化及修改係可能的。控制器200可具有未在本文中特定描述之能力(例如,行動電話技術、基於衛星之導航)且不需要具有媒體回放能力。本文中使用術語「控制器」通常指代可對針對安全無線鏈路或配對之請求作出回應且隨後與另一裝置建立配對之任何裝置。It should be appreciated that controller 200 is illustrative and that variations and modifications are possible. Controller 200 may have capabilities not specifically described herein (eg, mobile phone technology, satellite-based navigation) and does not require media playback capabilities. The term "controller" as used herein generally refers to any device that can respond to a request for a secure wireless link or pairing and then establish a pair with another device.

在一些實施例中,控制器200亦可使用其他輸入/輸出通道與使用者或另一裝置交換資訊。其他輸入/輸出通道之實例包括在音訊線路輸入或輸出路徑(例如,音訊插孔)上之類比信號;與影像分析器組合之相機、條碼讀取器或其他成像裝置(用於輸入);可產生機器可讀取影像之顯示螢幕(用於輸出);諸如加速度計、迴轉儀或接近度偵測器之感測器(經由感測器,可使用裝置之動作、定向或位置來輸入資訊至控制器200);非可見(例如,紅外線)光偵測器及/或發射器;超聲波偵測器及/或發射器;等等。In some embodiments, controller 200 can also exchange information with a user or another device using other input/output channels. Examples of other input/output channels include analog signals on an audio line input or output path (eg, an audio jack); a camera, bar code reader, or other imaging device (for input) in combination with an image analyzer; A display screen that produces machine-readable images (for output); sensors such as accelerometers, gyroscopes, or proximity detectors (via sensors that can use the motion, orientation, or position of the device to enter information into Controller 200); non-visible (eg, infrared) photodetectors and/or transmitters; ultrasonic detectors and/or transmitters;

圖3為根據本發明之一實施例之附屬件300的方塊圖。附屬件300(例如,實施圖1中之印表機附屬件110)可包括處理器302、使用者介面304、無線介面306、儲存媒體308及列印元件310。3 is a block diagram of an accessory 300 in accordance with an embodiment of the present invention. The accessory 300 (eg, implementing the printer accessory 110 of FIG. 1) can include a processor 302, a user interface 304, a wireless interface 306, a storage medium 308, and a printing element 310.

可實施為一或多個積體電路(例如,習知微處理器或微控制器)之處理器302可控制附屬件300之操作。在各種實施例中,處理器302可回應於程式碼而執行各種程式且可維持多個同時執行之程式或程序。在任何給定時間,待執行之程式碼中之一些或全部可駐留於處理器302中及/或諸如儲存媒體308之儲存媒體中。The processor 302, which may be implemented as one or more integrated circuits (e.g., conventional microprocessors or microcontrollers), may control the operation of the accessory 300. In various embodiments, processor 302 can execute various programs in response to the code and can maintain a plurality of programs or programs that are executed simultaneously. At any given time, some or all of the code to be executed may reside in processor 302 and/or in a storage medium such as storage medium 308.

使用者介面304可為類似習知印表機之介面的簡單介面。舉例而言,一些印表機提供具有少量按鈕及狀態指示器等之最小介面。其他印表機可提供更精細之介面(例如,包括字元行顯示器或其他顯示器,以及小鍵盤、觸控螢幕或其類似者),該等更精細之介面支援互動式選單以促進調整印表機設定、選擇紙張或紙張路徑、取消工作、故障診斷等。在一些實施例中,使用者介面304之顯示器可用以提供資訊至使用者以驗證配對(例如,如下文所描述)。The user interface 304 can be a simple interface similar to the interface of conventional printers. For example, some printers provide a minimal interface with a small number of buttons and status indicators. Other printers provide a finer interface (for example, including a character line display or other display, as well as a keypad, touch screen or the like) that support interactive menus to facilitate adjustment of the printer Machine settings, paper or paper path selection, cancel work, troubleshooting, etc. In some embodiments, the display of the user interface 304 can be used to provide information to the user to verify the pairing (eg, as described below).

無線介面306可為附屬件300至少提供資料通信能力。在一些實施例中,無線介面306可包括射頻(RF)收發器組件,其用於存取無線資料網路(例如,使用3G、4G或EDGE、WiFi或其他行動通信技術,或其任何組合)。可使用硬體(例如,天線、調變器/解調變器、編碼器/解碼器及其他類比及/或數位信號處理電路)及軟體組件之組合來實施無線介面306。The wireless interface 306 can provide at least the data communication capability for the accessory 300. In some embodiments, the wireless interface 306 can include a radio frequency (RF) transceiver component for accessing a wireless data network (eg, using 3G, 4G or EDGE, WiFi, or other mobile communication technologies, or any combination thereof) . The wireless interface 306 can be implemented using a combination of hardware (e.g., antennas, modulators/demodulators, encoders/decoders, and other analog and/or digital signal processing circuits) and software components.

可(例如)使用碟片、快閃記憶體或任何其他非揮發性儲存媒體來實施儲存媒體308。在一些實施例中,儲存媒體308可儲存將由處理器302執行之程式碼(包括(例如)列印控制程式)。此程式碼可包括關於如下文所描述與控制器建立配對之程式碼。Storage medium 308 can be implemented, for example, using a disc, flash memory, or any other non-volatile storage medium. In some embodiments, storage medium 308 can store code (including, for example, a print control program) to be executed by processor 302. This code may include code for pairing with the controller as described below.

列印元件310可包括各種電子及/或機械組件,諸如饋紙器、噴墨設備、雷射列印設備及其類似者。Print element 310 can include various electronic and/or mechanical components such as a paper feeder, an inkjet device, a laser printing device, and the like.

圖4為根據本發明之另一實施例的附屬件400之方塊圖。附屬件400(例如,實施圖1中之揚聲器附屬件120)可包括處理器402、無線介面406、儲存媒體408及揚聲器410。4 is a block diagram of an accessory 400 in accordance with another embodiment of the present invention. The accessory 400 (eg, implementing the speaker accessory 120 of FIG. 1) can include a processor 402, a wireless interface 406, a storage medium 408, and a speaker 410.

可實施為一或多個積體電路(例如,習知微處理器或微控制器)之處理器402可控制附屬件400之操作。在各種實施例中,處理器402可回應於程式碼而執行各種程式且可維持多個同時執行之程式或程序。在任何給定時間,待執行之程式碼中之一些或全部可駐留於處理器402中及/或諸如儲存媒體408之儲存媒體中。The processor 402, which may be implemented as one or more integrated circuits (e.g., conventional microprocessors or microcontrollers), may control the operation of the accessory 400. In various embodiments, processor 402 can execute various programs in response to the code and can maintain a plurality of programs or programs that are executed simultaneously. At any given time, some or all of the code to be executed may reside in processor 402 and/or in a storage medium such as storage medium 408.

無線介面406可為附屬件400至少提供資料通信能力。在一些實施例中,無線介面406可包括射頻(RF)收發器組件,其用於存取無線資料網路(例如,使用3G、4G或EDGE、WiFi或其他行動通信技術,或其任何組合)。可使用硬體(例如,天線、調變器/解調變器、編碼器/解碼器及其他類比及/或數位信號處理電路)及軟體組件之組合來實施無線介面406。The wireless interface 406 can provide at least the data communication capability for the accessory 400. In some embodiments, the wireless interface 406 can include a radio frequency (RF) transceiver component for accessing a wireless data network (eg, using 3G, 4G or EDGE, WiFi, or other mobile communication technologies, or any combination thereof) . The wireless interface 406 can be implemented using a combination of hardware (e.g., antennas, modulators/demodulators, encoders/decoders, and other analog and/or digital signal processing circuits) and software components.

可(例如)使用碟片、快閃記憶體或任何其他非揮發性儲存媒體來實施儲存媒體408。在一些實施例中,儲存媒體408可儲存將由處理器402執行之程式碼(包括(例如)關於解碼經由無線介面406所接收之數位音訊之程式碼)。此程式碼可包括關於如下文所描述與控制器建立配對之程式碼。在一些實施例中,儲存媒體408亦可儲存裝置密碼412,裝置密碼412可為裝置韌體之部分或已硬編碼至裝置中。在如下文所描述而建立配對時,可使用裝置密碼412。Storage medium 408 can be implemented, for example, using a disc, flash memory, or any other non-volatile storage medium. In some embodiments, storage medium 408 can store code to be executed by processor 402 (including, for example, code for decoding digital audio received via wireless interface 406). This code may include code for pairing with the controller as described below. In some embodiments, storage medium 408 can also store device password 412, which can be part of the device firmware or hard coded into the device. The device password 412 can be used when pairing is established as described below.

揚聲器410可包括各種電子及/或機械組件,諸如放大器、換能器、揚聲器紙盆(speaker cone)、輸出插孔或其類似者。在一些實施例中,處理器402可經由無線介面406接收數位音訊資料,將該資料轉換成類比信號,且將類比信號提供至揚聲器410內之揚聲器驅動器。在一些實施例中,揚聲器410亦可包括輔助輸入插孔(例如,標準3.5毫米音訊插孔)且亦可經由該路徑接收類比音訊信號。Speaker 410 can include various electronic and/or mechanical components such as amplifiers, transducers, speaker cones, output jacks, or the like. In some embodiments, processor 402 can receive digital audio material via wireless interface 406, convert the data to an analog signal, and provide an analog signal to a speaker driver within speaker 410. In some embodiments, the speaker 410 can also include an auxiliary input jack (eg, a standard 3.5 mm audio jack) and can also receive analog audio signals via the path.

不像附屬件300,附屬件400未展示為具有使用者介面,而實際上展示為不需要具有任何使用者介面之附屬件。在一些實施例中,使用者介面可限於(例如)電源開關、輸入來源選擇器、音量控制或其類似者。Unlike the accessory 300, the accessory 400 is not shown as having a user interface, but is actually shown as an accessory that does not require any user interface. In some embodiments, the user interface can be limited to, for example, a power switch, an input source selector, a volume control, or the like.

應瞭解,附屬件300及400為說明性的且變化及修改係可能的。如本文中所使用之術語「附屬件」通常指代可與控制器建立配對之任何裝置,且由該配對提供之通信鏈路用於任何目的,包括(但不限於)促進將附屬件添加至控制器所屬之網路。在一些實施例中,可使用配對鏈路來發送關於附屬件的功能之資料及控制信號。因而,附屬件可用於各種目的,包括列印、播放聲音、顯示視訊、提供資料(例如,感測器讀數)至控制器、接收及處理來自控制器的資料,等等。附屬件不限於諸如揚聲器或相機之周邊裝置;其他實例包括家用電器(例如,冰箱、習知烤箱、微波爐、洗衣機等)及個人電子裝置(例如,體育鍛練監視器、電子醫療裝置)。具有無線介面及適合組態之任何裝置可作為附屬件來操作。It should be understood that the accessories 300 and 400 are illustrative and that variations and modifications are possible. The term "accessory" as used herein generally refers to any device that can be paired with a controller, and the communication link provided by the pairing is used for any purpose, including but not limited to facilitating the addition of accessories to The network to which the controller belongs. In some embodiments, a pairing link can be used to transmit information about the functionality of the accessory and control signals. Thus, the accessory can be used for a variety of purposes, including printing, playing sound, displaying video, providing data (eg, sensor readings) to the controller, receiving and processing data from the controller, and the like. The accessories are not limited to peripheral devices such as speakers or cameras; other examples include household appliances (eg, refrigerators, conventional ovens, microwave ovens, washing machines, etc.) and personal electronic devices (eg, sports exercise monitors, electronic medical devices). Any device with a wireless interface and suitable configuration can be operated as an accessory.

另外,儘管已參考如圖2至圖4中所展示之特定方塊來描述控制器及附屬件,但應理解,此等方塊係為了便於描述而定義且不意欲提示各組成部分之特定實體配置。另外,方塊不需要對應於實體上相異的組件。方塊可經組態以(例如)藉由程式化處理器或提供適當控制電路來執行各種操作,且取決於獲得初始組態之方式,各種方塊可重新組態或不可重新組態。可在包括使用電路及軟體之任何組合來實施的電子裝置之各種設備中實現本發明之實施例。In addition, although the controller and the accessories have been described with reference to the specific blocks shown in FIGS. 2 through 4, it should be understood that such blocks are defined for ease of description and are not intended to suggest a particular physical configuration of the various components. In addition, the blocks do not need to correspond to physically distinct components. The blocks may be configured to perform various operations, for example, by staging the processor or providing appropriate control circuitry, and depending on the manner in which the initial configuration is obtained, the various blocks may be reconfigured or not reconfigurable. Embodiments of the invention may be implemented in a variety of devices including electronic devices implemented using any combination of circuits and software.

如本文中所描述,控制器及附屬件可藉由交換探測來建立無線配對。圖5為可用於本發明之一些實施例中之探測訊框結構500之方塊圖。As described herein, the controller and the accessory can establish a wireless pairing by exchanging probes. FIG. 5 is a block diagram of a sounding frame structure 500 that may be used in some embodiments of the present invention.

探測訊框結構500包括數個欄位;在一些實施例中,此等欄位中之一些或全部可對應於由IEEE 802.11標準所規定之訊框結構。舉例而言,訊框控制欄位502可提供關於訊框之一般資訊,諸如協定版本、訊框類型(例如,將訊框識別為探測請求或探測回應訊框),及可由接收裝置用來解譯所接收無線信號串流之其他資訊。持續時間欄位504可提供持續時間資訊(例如,如在IEEE 802.11標準中所定義)。位址欄位506可指定訊框500之發送器及所意欲的接收端之位址,以及其他位址資訊(例如,如IEEE 802.11標準中所指定)。序列欄位508可含有可用以自多個所接收片段重新構建訊框之序列資訊。資料欄位510可含有訊框內容,訊框內容包括將由接收端處理之資料。總和檢查碼欄位512可包括誤差偵測及/或誤差校正碼,諸如32位元的循環冗餘檢查。The sounding frame structure 500 includes a number of fields; in some embodiments, some or all of these fields may correspond to a frame structure as defined by the IEEE 802.11 standard. For example, the frame control field 502 can provide general information about the frame, such as a protocol version, a frame type (eg, identifying a frame as a probe request or a probe response frame), and can be used by a receiving device to resolve The translation receives other information about the wireless signal stream. The duration field 504 can provide duration information (eg, as defined in the IEEE 802.11 standard). The address field 506 can specify the address of the transmitter of the frame 500 and the intended recipient, as well as other address information (e.g., as specified in the IEEE 802.11 standard). Sequence field 508 can contain sequence information that can be used to reconstruct frames from multiple received segments. The data field 510 may contain frame content, and the frame content includes data to be processed by the receiving end. The sum check code field 512 may include error detection and/or error correction codes, such as a 32-bit cyclic redundancy check.

針對探測請求或探測回應訊框之資料欄位510可包括一或多個資訊元素520。每一資訊元素(「IE」)520可為含有各種欄位之結構。元素ID欄位522可識別IE之類型。舉例而言,資訊元素可為標準元素或供應商特定元素,且元素ID欄位522可用以指示IE 520為標準元素或是供應商特定元素。在本文中所描述之實施例中,假定為供應商特定資訊元素,但將瞭解,本文中所描述之資訊元素可能成為未來標準之部分。長度欄位524指示IE 520之長度(例如,以位元組為單位)。供應商欄位526可包括與供應商特定資訊元素520相關聯之供應商的獨特識別符。供應商可為(例如)能夠執行如本文中所描述之配對操作的控制器之製造商。在一些實施例中,欄位526中之供應商識別符可為由IEEE指派之24位元的編制獨特識別符(OUI);亦可使用其他識別符。子類型欄位528可提供供應商所指派之子類型。在一些實施例中,子類型欄位528跨所有配對相關探測而具有固定值,且用以指示資訊元素520係用於配對。The data field 510 for the probe request or probe response frame may include one or more information elements 520. Each information element ("IE") 520 can be a structure containing various fields. Element ID field 522 can identify the type of IE. For example, the information element can be a standard element or a vendor specific element, and the element ID field 522 can be used to indicate that the IE 520 is a standard element or a vendor specific element. In the embodiments described herein, it is assumed to be a vendor specific information element, but it will be appreciated that the information elements described herein may be part of the future standard. Length field 524 indicates the length of IE 520 (eg, in units of bytes). The vendor field 526 can include a unique identifier for the vendor associated with the vendor specific information element 520. The vendor may be, for example, a manufacturer of a controller capable of performing the pairing operation as described herein. In some embodiments, the vendor identifier in field 526 may be a 24-bit unique unique identifier (OUI) assigned by the IEEE; other identifiers may also be used. The subtype field 528 can provide a subtype assigned by the vendor. In some embodiments, the subtype field 528 has a fixed value across all paired correlation probes and is used to indicate that the information element 520 is for pairing.

子IE欄位530可含有一或多個子IE 540。如圖所示,子IE 540提供類型識別符欄位542,類型識別符欄位542指示在子元素中所提供的資訊之類型。可提供之資訊之類型的實例包括識別與IE 520相關聯之操作(例如,搜尋欲配對之附屬件、協商密鑰、鑑認共用秘密、發送諸如無線網路憑證之經加密之訊息)的操作碼(opcode);目標裝置之位址;作業階段識別符;序列號;密碼編譯密鑰;隨機臨時亂數(random nonce);鑑認碼(authenticator)或數位簽章;經加密之資料;裝置能力及/或組態資訊;裝置名稱(製造商及/或型號名稱);網路憑證(其可經加密,例如,如下文描述)。下文描述各種資訊類型之用途的實例。Sub-IE field 530 may contain one or more sub-IEs 540. As shown, sub-IE 540 provides a type identifier field 542 that indicates the type of information provided in the child element. Examples of types of information that may be provided include operations that identify operations associated with IE 520 (eg, searching for attachments to pair, negotiating keys, authenticating shared secrets, sending encrypted messages such as wireless network credentials) Code (opcode); address of the target device; job stage identifier; serial number; cryptographic key; random nonce; authentication code (authenticator) or digital signature; encrypted data; Capabilities and/or configuration information; device name (manufacturer and/or model name); network credentials (which may be encrypted, for example, as described below). Examples of the use of various types of information are described below.

長度欄位544可用以指示子IE 540之長度。有效負載欄位546可含有由類型識別符欄位542識別之資訊。The length field 544 can be used to indicate the length of the sub-IE 540. Payload field 546 may contain information identified by type identifier field 542.

應瞭解,本文中所描述之探測格式為說明性的且變化及修改係可能的。在一些實施例中,探測訊框遵循定義探測請求及探測回應訊框之IEEE 802.11標準,但亦可使用其他探測格式。可用以在裝置中之至少一者未加入至無線網路的情況下在裝置之間傳輸資訊之任何資料結構可用作探測。It should be understood that the detection formats described herein are illustrative and that variations and modifications are possible. In some embodiments, the sound frame follows the IEEE 802.11 standard that defines the probe request and the probe response frame, but other detection formats may also be used. Any data structure that can be used to transfer information between devices without the inclusion of at least one of the devices to the wireless network can be used as a probe.

現描述可用以在附屬件與控制器之間建立配對之程序的實例。An example of a procedure that can be used to establish a pairing between an accessory and a controller is now described.

圖6為根據本發明之一實施例之可由附屬件用來與控制器建立配對之程序600的流程圖。當附屬件(例如,附屬件300或附屬件400)判定其應試圖建立配對時,程序600在步驟602處開始。在一些實施例中,在附屬件之啟動程序期間自動作出此判定;在其他實施例中,使用者可操作附屬件之控制以起始該程序。在再其他實施例中,是要試圖在啟動時自動建立配對或是等待特定指令係附屬件之可組態參數。6 is a flow diagram of a procedure 600 that can be used by a accessory to establish a pair with a controller in accordance with an embodiment of the present invention. When the accessory (e.g., accessory 300 or accessory 400) determines that it should attempt to establish a pairing, routine 600 begins at step 602. In some embodiments, this determination is made automatically during the activation procedure of the accessory; in other embodiments, the user can manipulate the control of the accessory to initiate the procedure. In still other embodiments, an attempt is made to automatically establish a pairing at startup or to wait for configurable parameters of a particular command system accessory.

在步驟604處,附屬件可注意聆聽及接收來自控制器之「瀏覽」探測請求,該「瀏覽」探測請求指示控制器正在搜尋(或瀏覽尋找)其可配對之附屬件。在一些實施例中,該瀏覽探測請求可作為如上文所描述之探測訊框500被接收。在此情況下,探測訊框500可含有(例如,在子IE欄位530內)指示控制器正在搜尋或瀏覽尋找欲配對之附屬件的操作碼。可(例如)藉由不指定接收端位址而廣播該瀏覽探測請求。在遵循802.11之網路之狀況中,通常僅存取點注意聆聽探測請求且對其作出回應;其他裝置忽略探測請求。然而,因為以純文字廣播探測請求,所以除存取點以外的裝置可偵測探測請求且對其作出回應。At step 604, the accessory can listen to and receive a "browse" probe request from the controller indicating that the controller is searching (or browsing for) its pairable accessory. In some embodiments, the browse probe request can be received as a probe frame 500 as described above. In this case, the sounding frame 500 can contain (e.g., within the sub-IE field 530) an instruction code indicating that the controller is searching for or browsing for an accessory to be paired. The browsing probe request can be broadcast, for example, by not specifying a receiving end address. In the case of an 802.11 compliant network, typically only the access point listens to and responds to the probe request; other devices ignore the probe request. However, because the probe request is broadcast in plain text, the device other than the access point can detect and respond to the probe request.

在步驟606處,附屬件可將一探測回應發送至控制器。在一些實施例中,該探測回應可作為如上文所描述之探測訊框500被發送。在此情況下,探測訊框500可包括(例如,在子IE欄位530內)關於附屬件之識別資訊(諸如製造商名稱、型號名稱)及特定能力資訊(諸如附屬件可動態地或是基於所儲存之密碼來執行密鑰協商)。在步驟604處,可將該探測回應定址至自其接收到探測請求之控制器。若在步驟604處接收到多個探測請求,則附屬件可選擇一控制器。在一些實施例中,附屬件選擇自其接收到探測請求之第一個控制器;在其他實施例中,選擇最後一個控制器。在其他實施例中,可使用其他選擇規則,或若附屬件具有能夠提示使用者之使用者介面,則附屬件可提示使用者選擇附屬件應配對之控制器。At step 606, the accessory can send a probe response to the controller. In some embodiments, the probe response can be sent as a probe frame 500 as described above. In this case, the sounding frame 500 can include (eg, within sub-IE field 530) identification information about the accessory (such as manufacturer name, model name) and specific capability information (such as the accessory can be dynamically or Key negotiation is performed based on the stored password). At step 604, the probe response can be addressed to the controller from which the probe request was received. If multiple probe requests are received at step 604, the accessory can select a controller. In some embodiments, the accessory selects the first controller from which the probe request was received; in other embodiments, the last controller is selected. In other embodiments, other selection rules may be used, or if the accessory has a user interface that prompts the user, the accessory may prompt the user to select a controller to which the accessory should be paired.

在步驟608處,附屬件及控制器可建立及交換公用密碼編譯密鑰。在一些實施例中,使用額外探測來交換公用密鑰。在使用探測訊框500之情況下,該等密鑰可作為子IE併入於子IE欄位530中;亦可使用其他格式。在一些實施例中,可動態地協商密鑰;在其他實施例中,密鑰產生可基於與附屬件相關聯之固定密碼。下文描述使用此等技術中之每一者的配對程序之實例。At step 608, the accessory and controller can establish and exchange a common cryptographic key. In some embodiments, additional probes are used to exchange public keys. In the case of the use of the sounding frame 500, the keys may be incorporated as sub-IEs in the sub-IE field 530; other formats may also be used. In some embodiments, the key can be negotiated dynamically; in other embodiments, the key generation can be based on a fixed password associated with the accessory. Examples of pairing procedures using each of these techniques are described below.

在步驟610處,附屬件可計算一共用秘密,且可藉由確認控制器具有相同共用秘密來驗證控制器。舉例而言,附屬件及控制器可各自顯示基於該共用秘密之某種資訊。若兩者具有相同秘密,則兩個顯示應匹配,且可讓使用者驗證該匹配。或者,附屬件及控制器可各自使用隨機挑戰來驗證另一者已具有相同共用秘密。下文描述使用此等技術中之每一者的配對程序之實例。At step 610, the accessory can calculate a common secret and the controller can be verified by confirming that the controller has the same shared secret. For example, the accessory and the controller can each display some information based on the shared secret. If the two have the same secret, the two displays should match and the user can be verified for the match. Alternatively, the accessory and controller can each use a random challenge to verify that the other has the same shared secret. Examples of pairing procedures using each of these techniques are described below.

在步驟612處,附屬件可基於該共用秘密來產生額外的加密及鑑認密鑰。在步驟614處,附屬件可使用該等額外密鑰與控制器安全地通信。舉例而言,附屬件可使用該等密鑰來加密訊息,接著在探測內之資訊元素(或其他資料項目)中發送經加密之訊息。類似地,附屬件可自控制器接收含有經加密之訊息之探測,且可使用該等密鑰來解密及鑑認該訊息。在步驟614處經由配對之通信可無限地繼續;當通信完成時,程序600可結束。At step 612, the accessory can generate additional encryption and authentication keys based on the shared secret. At step 614, the accessory can securely communicate with the controller using the additional keys. For example, the accessory can use the keys to encrypt the message and then send the encrypted message in the information element (or other data item) within the probe. Similarly, the accessory can receive a probe containing the encrypted message from the controller and can use the keys to decrypt and authenticate the message. The communication via pairing can continue indefinitely at step 614; when the communication is complete, the routine 600 can end.

圖7為根據本發明之一實施例之可由控制器用來與附屬件建立配對之程序700的流程圖。當控制器在步驟702處判定應試圖與附屬件配對時,程序700開始。舉例而言,使用者可命令控制器搜尋欲配對之附屬件。7 is a flow diagram of a process 700 that can be used by a controller to establish a pair with an accessory in accordance with an embodiment of the present invention. When the controller determines at step 702 that an attempt should be made to pair with the accessory, the routine 700 begins. For example, the user can command the controller to search for the accessory to be paired.

在步驟704處,控制器可廣播一瀏覽探測請求,該瀏覽探測請求指示控制器正在瀏覽尋找能夠配對之附屬件。在一些實施例中,該探測請求可作為如上文所描述之探測訊框500被廣播。在此情況下,探測訊框500可含有(例如,在子IE欄位530內)指示控制器正在搜尋或瀏覽尋找欲配對之附屬件的操作碼。該探測請求可包括(例如)藉由不指定接收端位址而廣播之指示。At step 704, the controller may broadcast a browse probe request indicating that the controller is browsing to find an accessory that can be paired. In some embodiments, the probe request can be broadcast as the probe frame 500 as described above. In this case, the sounding frame 500 can contain (e.g., within the sub-IE field 530) an instruction code indicating that the controller is searching for or browsing for an accessory to be paired. The probe request may include, for example, an indication broadcasted by not specifying a receiver address.

在步驟706處,控制器可自附屬件接收一探測回應。在一些實施例中,該探測回應可作為如上文所描述之探測訊框500被發送。在此情況下,探測訊框500可包括(例如,在子IE欄位530內)關於附屬件之識別資訊(諸如製造商名稱、型號名稱)及特定能力資訊(諸如附屬件可動態地或是可基於所儲存之密碼來執行密鑰協商)。可將該探測回應定址至控制器。在一些實施例中,在步驟706處,控制器可接收多個探測回應。At step 706, the controller can receive a probe response from the accessory. In some embodiments, the probe response can be sent as a probe frame 500 as described above. In this case, the sounding frame 500 can include (eg, within sub-IE field 530) identification information about the accessory (such as manufacturer name, model name) and specific capability information (such as the accessory can be dynamically or Key negotiation can be performed based on the stored password). The probe response can be addressed to the controller. In some embodiments, at step 706, the controller can receive a plurality of probe responses.

在一些實施例中,控制器可在進一步進行之前提示使用者。舉例而言,控制器可顯示詢問使用者是否應連接附屬件之訊息;此訊息可包括自該探測請求提取之附屬件識別資訊。若使用者授權該連接,則控制器可繼續進行。在步驟706處自多個附屬件接收到探測回應之情況下,控制器可讓使用者選擇欲配對之附屬件。在其他實施例中,控制器可在不首先獲得使用者授權之情況下繼續進行配對。In some embodiments, the controller can prompt the user before proceeding further. For example, the controller may display a message asking the user if the accessory should be connected; this message may include the accessory identification information extracted from the probe request. If the user authorizes the connection, the controller can proceed. In the event that a probe response is received from a plurality of accessories at step 706, the controller may cause the user to select the accessory to be paired. In other embodiments, the controller can continue pairing without first obtaining user authorization.

在步驟708處,控制器及附屬件可建立及交換公用密碼編譯密鑰。在一些實施例中,使用額外探測來交換公用密鑰。在使用探測訊框500之情況下,該等密鑰可作為子IE併入於子IE欄位530中;亦可使用其他格式。在一些實施例中,可動態地協商密鑰;在其他實施例中,密鑰產生可基於與附屬件相關聯之固定密碼。下文描述使用此等技術中之每一者的配對程序之實例。At step 708, the controller and the accessory can establish and exchange a common cryptographic key. In some embodiments, additional probes are used to exchange public keys. In the case of the use of the sounding frame 500, the keys may be incorporated as sub-IEs in the sub-IE field 530; other formats may also be used. In some embodiments, the key can be negotiated dynamically; in other embodiments, the key generation can be based on a fixed password associated with the accessory. Examples of pairing procedures using each of these techniques are described below.

在步驟710處,控制器可計算一共用秘密且可藉由確認附屬件具有相同共用秘密來驗證該附屬件。舉例而言,控制器及附屬件可顯示基於該共用秘密的某種資訊,若兩者具有相同秘密,則所顯示資訊應匹配,且使用者可驗證該匹配。或者,控制器及附屬件可各自使用隨機挑戰來驗證另一者具有相同共用秘密。下文描述使用此等技術中之每一者的配對程序之實例。At step 710, the controller can calculate a common secret and can verify the accessory by confirming that the accessory has the same shared secret. For example, the controller and the accessory can display certain information based on the shared secret. If the two have the same secret, the displayed information should match and the user can verify the match. Alternatively, the controller and the accessory may each use a random challenge to verify that the other has the same shared secret. Examples of pairing procedures using each of these techniques are described below.

在步驟712處,控制器可基於該共用秘密來產生額外的加密及鑑認密鑰。在步驟714處,控制器可使用該等額外密鑰與附屬件安全地通信。舉例而言,控制器可使用該等密鑰來加密訊息,接著在探測內之資訊元素(或其他資料項目)中發送經加密之訊息。類似地,控制器可自附屬件接收含有經加密之訊息之探測,且可使用該等密鑰來解密及鑑認該訊息。在步驟714處提供的經安全配對鏈路之通信可無限地繼續;當通信完成時,程序700可結束。At step 712, the controller can generate additional encryption and authentication keys based on the shared secret. At step 714, the controller can securely communicate with the accessory using the additional keys. For example, the controller can use the keys to encrypt the message and then send the encrypted message in the information element (or other data item) within the probe. Similarly, the controller can receive a probe containing the encrypted message from the accessory and can use the keys to decrypt and authenticate the message. The communication of the secure paired link provided at step 714 may continue indefinitely; when the communication is complete, the routine 700 may end.

應瞭解,程序600及700為說明性的且變化及修改係可能的。可並行地執行描述為循序步驟之步驟,可改變步驟之次序,且可修改、組合、添加或省略步驟。舉例而言,探測請求及探測回應之各種序列可用來為配對建立安全性(密鑰、共用秘密等)。可使用各種密碼編譯技術及演算法;下文描述一些實例。探測可為遵循IEEE 802.11之探測請求及探測回應訊框或按遵循其他無線網路連接協定之其他格式的訊息。一般而言,預期以純文字來發送探測(亦即,未加密);具有適合能力之任何裝置可讀取該等訊息。在配對內,可(例如)以上文所描述之方式藉由在將訊息內容(例如,作為資訊元素或其他資料項目)嵌入於純文字探測內之前加密該訊息內容來提供安全性。It should be appreciated that the procedures 600 and 700 are illustrative and that variations and modifications are possible. The steps described as sequential steps may be performed in parallel, the order of the steps may be changed, and the steps may be modified, combined, added or omitted. For example, various sequences of probe requests and probe responses can be used to establish security (keys, shared secrets, etc.) for pairing. Various cryptographic techniques and algorithms can be used; some examples are described below. The probe may be a request to follow the IEEE 802.11 probe request and probe response frame or other format following other wireless network connection protocols. In general, detection is expected to be sent in plain text (i.e., unencrypted); any device with suitable capabilities can read the messages. Within the pairing, security may be provided, for example, in the manner described above by encrypting the message content (eg, as an information element or other material item) before embedding it in the plain text probe.

在一些實施例中,可使用少至兩個探測來完成配對。舉例而言,由控制器發送之初始探測請求可包括控制器之公用密鑰,且由附屬件發送之初始探測回應可包括附屬件之公用密鑰。(因而,步驟608可與步驟604及步驟606一起發生;同樣地,步驟708可與步驟704及步驟706一起發生。)亦可在不交換另外的探測之情況下執行共用秘密之驗證;下文描述實例。In some embodiments, as few as two probes can be used to complete the pairing. For example, the initial probe request sent by the controller may include the controller's public key, and the initial probe response sent by the accessory may include the public key of the accessory. (Thus, step 608 can occur with steps 604 and 606; likewise, step 708 can occur with steps 704 and 706.) The verification of the shared secret can also be performed without exchanging additional probes; Example.

一旦使用程序600及700建立了安全配對鏈路,即可經由該加入傳達任何類型之資訊(僅取決於依實施而定之頻寬約束條件)。在一些實施例中,附屬件可使用在步驟614處提供之配對自控制器獲得針對無線網路之憑證(例如,針對受保護之IEEE 802.11網路之名稱及密碼或密鑰);附屬件可接著使用此等憑證加入該網路。一旦附屬件加入無線網路,即可中斷經由配對鏈路之通信,但在一些實施例中,此通信可繼續,從而提供通信旁頻帶。Once the secure pairing link is established using the programs 600 and 700, any type of information can be communicated via the join (depending on the implementation of the bandwidth constraints). In some embodiments, the accessory can obtain credentials for the wireless network using the pairing provided at step 614 (eg, for the name and password or key of the protected IEEE 802.11 network); the accessory can Then use these credentials to join the network. Once the accessory joins the wireless network, communication via the paired link can be interrupted, but in some embodiments, the communication can continue to provide a communication sideband.

可經由配對鏈路來傳達之其他類型的資訊包括針對附屬件、控制器或兩者之組態參數及/或控制信號。因而,舉例而言,經配對之附屬件可充當控制器之遙控裝置(藉由在探測內發送命令至控制器)或經配對之控制器可充當附屬件之遙控裝置(藉由在探測內發送命令至附屬件)。若由探測提供之頻寬足夠,則可在裝置之間串流傳輸資料。(對於當前IEEE 802.11標準,由探測請求及探測回應訊框提供之頻寬通常不足以用於高品質媒體串流傳輸;其他實施可提供較高頻寬)。Other types of information that may be communicated via a paired link include configuration parameters and/or control signals for the accessory, controller, or both. Thus, for example, the paired accessory can act as a remote control for the controller (by sending a command to the controller within the probe) or a paired controller can act as a remote control for the accessory (by transmitting within the probe) Command to attachment). If the bandwidth provided by the probe is sufficient, the data can be streamed between the devices. (For the current IEEE 802.11 standard, the bandwidth provided by the probe request and probe response frames is typically not sufficient for high quality media streaming; other implementations may provide higher bandwidth).

如上文所提及,一些實施例在步驟608及步驟610(或步驟708及步驟710)處提供動態密鑰協商及驗證,而其他實施例提供基於固定裝置密碼之密鑰協商及驗證。圖8A及圖8B為根據本發明之一實施例之提供兩種替代方案之程序800的流程圖。As mentioned above, some embodiments provide dynamic key agreement and verification at steps 608 and 610 (or steps 708 and 710), while other embodiments provide key agreement based on fixed device cryptography and verification. 8A and 8B are flow diagrams of a procedure 800 for providing two alternatives in accordance with an embodiment of the present invention.

在步驟802處,控制器(例如,控制器200)可(例如)自使用者接收用以定位欲配對之附屬件的指令。舉例而言,由控制器執行之應用程式可包括具有控制之使用者介面,使用者可操作該使用者介面(例如,藉由自選單選擇)以命令控制器搜尋可用於配對之附屬件。在其他實施例中,在控制器之操作期間可自動地產生(例如,按規則的間隔)用以定位附屬件之指令,且不要求使用者起始。在步驟804處,控制器可廣播一探測請求(例如,如上文所描述)以瀏覽尋找能夠配對之附屬件。此步驟可大致類似於上文所描述之程序700的步驟704。At step 802, the controller (eg, controller 200) can receive an instruction to locate an accessory to pair with, for example, from a user. For example, an application executed by the controller can include a user interface with control that the user can manipulate (eg, by a self-selection selection) to command the controller to search for accessories that are available for pairing. In other embodiments, instructions for locating the accessory may be automatically generated (e.g., at regular intervals) during operation of the controller, and the user is not required to initiate. At step 804, the controller may broadcast a probe request (eg, as described above) to browse for an accessory that can be paired. This step can be substantially similar to step 704 of the procedure 700 described above.

在步驟806處,附屬件可自控制器接收該探測請求。在步驟808處,附屬件可藉由將一探測回應(例如,如上文所描述)發送至控制器來對控制器作出回應。此步驟可大致類似於上文所描述之程序600的步驟606。At step 806, the accessory can receive the probe request from the controller. At step 808, the accessory can respond to the controller by transmitting a probe response (eg, as described above) to the controller. This step can be substantially similar to step 606 of the procedure 600 described above.

在步驟810處,控制器可自附屬件接收該探測回應。在步驟812處,控制器可由使用者確認是否應繼續進行配對。如上文所提及,在一些實施例中,控制器可顯示詢問使用者是否應連接附屬件之訊息;此訊息可包括自該探測請求提取之附屬件識別資訊。若控制器自多個附屬件接收到探測回應,則步驟812可包括提示使用者選擇欲配對之附屬件。假定使用者確認配對應繼續進行,則控制器可繼續進行。在其他實施例中,控制器可在不首先獲得使用者授權之情況下繼續進行配對,且可省略步驟812。At step 810, the controller can receive the probe response from the accessory. At step 812, the controller can be confirmed by the user whether pairing should continue. As mentioned above, in some embodiments, the controller may display a message asking the user if the accessory should be connected; this message may include the accessory identification information extracted from the probe request. If the controller receives a probe response from a plurality of widgets, step 812 can include prompting the user to select an accessory to pair with. Assuming the user confirms that the corresponding correspondence continues, the controller can proceed. In other embodiments, the controller may continue pairing without first obtaining user authorization, and step 812 may be omitted.

在步驟814處,控制器可判定附屬件使用動態密鑰協商或是使用基於固定密碼之密鑰。若附屬件不使用動態密鑰協商,則可使用在圖9A至圖9B中所展示且在下文描述之序列,如在步驟816處所指示。At step 814, the controller may determine that the accessory uses dynamic key negotiation or uses a fixed password based key. If the accessory does not use dynamic key agreement, the sequence shown in Figures 9A-9B and described below can be used, as indicated at step 816.

對於動態密鑰協商,在圖8B中展示程序800之剩餘部分。在步驟822處,控制器可產生其私用密鑰(「CPRIV」)及公用密鑰(「CPUB」)。在一實施例中,控制器可產生32位元組之密碼編譯強隨機資料,使用諸如Curve25519(橢圓曲線Diffie-Hellman方法,其文件資料位於http://cr.yp.to/ecdh.html)之密碼編譯演算法將該資料轉換成私用密鑰CPRIV,且根據CPRIV計算公用密鑰CPUB。可替換為用於產生公用-私用密鑰對之其他技術。For dynamic key agreement, the remainder of the routine 800 is shown in Figure 8B. At step 822, the controller can generate its private key ("CPRIV") and public key ("CPUB"). In one embodiment, the controller can generate a 32-bit cipher to compile strongly random data, such as Curve25519 (elliptic curve Diffie-Hellman method, whose documentation is located at http://cr.yp.to/ecdh.html) The cryptographic compilation algorithm converts the data into a private key CPRIV and calculates the public key CPUB based on CPRIV. It can be replaced with other techniques for generating a public-private key pair.

在步驟824處,控制器可使用探測請求將公用密鑰CPUB發送至附屬件。可將公用密鑰CPUB包括為資訊元素或其他資料項目。公用密鑰可作為純文字被發送。控制器亦可在探測請求中之一或多個資訊元素內包括其他資訊,諸如可在此後包括於所有探測請求及探測回應中之與配對作業階段相關聯之獨特作業階段ID。作業階段ID之使用可幫助控制器及附屬件判定配對鏈路之狀態(例如,密鑰協商在進行中或是已完成)及相應地處理所接收之探測請求及探測回應。在一些實施例中,其他資訊亦可包括允許探測回應匹配於特定探測請求之獨特序列識別符(在作業階段內為獨特的)。At step 824, the controller may send the public key CPUB to the accessory using the probe request. The public key CPUB can be included as an information element or other data item. The public key can be sent as plain text. The controller may also include other information within one or more of the information elements in the probe request, such as a unique job phase ID associated with the pairing job phase that may be included in all probe requests and probe responses thereafter. The use of the job phase ID can help the controller and the accessory determine the status of the paired link (eg, key negotiation is in progress or completed) and process the received probe request and probe response accordingly. In some embodiments, other information may also include a unique sequence identifier (which is unique within the job phase) that allows the probe response to match a particular probe request.

在步驟826處,附屬件可接收含有控制器的公用密鑰CPUB之探測請求。附屬件可在步驟828處產生其自身的私用密鑰(「APRIV」)及公用密鑰(「APUB」)。在一實施例中,附屬件可產生32位元組之密碼編譯強隨機資料,使用諸如Curve25519之密碼編譯演算法將該資料轉換成私用密鑰APRIV,且根據APRIV計算公用密鑰APUB。可替換為用於產生公用-私用密鑰對之其他技術;一般而言,在步驟822及步驟828處應使用相容技術。在步驟830處,附屬件可使用探測回應將其公用密鑰APUB發送至控制器。At step 826, the accessory can receive a probe request containing the controller's public key CPUB. The accessory may generate its own private key ("APRIV") and public key ("APUB") at step 828. In one embodiment, the accessory may generate a 32-bit cryptographically compiled strong random data, convert the data to a private key APRIV using a cryptographic compilation algorithm such as Curve 25519, and calculate the public key APUB from the APRIV. Other techniques for generating a public-private key pair may be substituted; in general, compatible techniques should be used at steps 822 and 828. At step 830, the accessory can send its public key APUB to the controller using a probe response.

在步驟832處,控制器可接收探測回應且提取APUB。在此階段,控制器及附屬件各自擁有公用密鑰APUB及CPUB兩者。At step 832, the controller can receive the probe response and extract the APUB. At this stage, the controller and the accessory each have both a public key APUB and a CPUB.

在步驟834及步驟836處,控制器及附屬件分別可基於公用密鑰APUB及CPUB計算共用秘密。在一些實施例中,可使用Curve25519來計算共用秘密;可替換為其他密碼編譯演算法。一般而言,兩個裝置應使用相同演算法來提供共用秘密(亦即,兩個裝置均知曉之一秘密)。At steps 834 and 836, the controller and the accessory can calculate the shared secret based on the public key APUB and the CPUB, respectively. In some embodiments, Curve 25519 can be used to calculate a shared secret; it can be replaced with other cryptographic compilation algorithms. In general, two devices should use the same algorithm to provide a shared secret (ie, both devices are aware of one secret).

在步驟838及步驟840處,控制器及附屬件分別可根據共用秘密計算密碼。舉例而言,可將諸如SHA-256之雜湊演算法應用於共用秘密或應用於共用秘密之某一函數。可將結果或結果之一部分轉換成可用作密碼之文數字字元串(例如,8個字元)。儘管在密碼產生中可使用各種技術,但附屬件及控制器應使用產生匹配的或相關的密碼之技術。在步驟842及步驟844處,控制器及附屬件分別將其計算出之密碼呈現給使用者。舉例而言,控制器200在其顯示器上顯示密碼。印表機附屬件(例如,附屬件300)可在其使用者介面顯示器上顯示密碼或列印含有密碼之頁。使用者可比較兩個密碼以確認兩個密碼匹配(例如,藉由操作控制器及/或附屬件上之輸入控制以確認該匹配)。在步驟846及步驟848處,附屬件及控制器分別可接收此確認。在一些實施例中,使用者可經由僅一個裝置(例如,控制器)之使用者介面來提供確認,該裝置可藉由發送探測來將該確認傳達至另一裝置(例如,附屬件)。若未接收到確認,則未接收到確認之該(或該等)裝置可中斷程序800。At steps 838 and 840, the controller and the accessory respectively calculate a password based on the shared secret. For example, a hash algorithm such as SHA-256 can be applied to a shared secret or to a function of a shared secret. A portion of the result or result can be converted into a string of alphanumeric characters (eg, 8 characters) that can be used as a cipher. Although various techniques can be used in the generation of passwords, the accessories and controllers should use techniques that produce matching or related passwords. At steps 842 and 844, the controller and the accessory respectively present their calculated passwords to the user. For example, controller 200 displays a password on its display. The printer accessory (e.g., accessory 300) can display a password or print a page containing the password on its user interface display. The user can compare the two passwords to confirm that the two passwords match (eg, by operating the controller and/or the input controls on the accessory to confirm the match). At steps 846 and 848, the accessory and the controller can each receive the confirmation. In some embodiments, the user may provide an acknowledgment via a user interface of only one device (eg, a controller) that can communicate the acknowledgment to another device (eg, an accessory) by transmitting a probe. If the acknowledgment is not received, the (or such) device that has not received the acknowledgment may interrupt the routine 800.

在一些實施例中,附屬件可能不能夠顯示密碼。舉例而言,如在圖1中所展示之揚聲器附屬件120不具有顯示裝置。在此類狀況中,可改為使用(例如)如下文參考圖9A至圖9B所描述之基於密碼的鑑認。In some embodiments, the accessory may not be able to display a password. For example, the speaker accessory 120 as shown in Figure 1 does not have a display device. In such a situation, password-based authentication as described below with reference to Figures 9A-9B can be used instead.

假定在步驟850及步驟852處驗證了密碼,則控制器及附屬件分別可根據共用秘密產生額外的加密及鑑認密鑰。可(例如)使用諸如進階加密標準(「AES」,其文件資料位於http://en.wikipedia.org/wiki/Advanced_Encryption_Standard)及/或Poly1305-AES訊息鑑認碼(其文件資料位於http://cr.yp.to/mac.html)之標準技術來導出此類密鑰。Assuming that the password is verified at steps 850 and 852, the controller and the accessory can each generate additional encryption and authentication keys based on the shared secret. For example, use advanced encryption standards ("AES", whose documentation is located at http://en.wikipedia.org/wiki/Advanced_Encryption_Standard) and/or Poly1305-AES message authentication code (its documentation is located at http: //cr.yp.to/mac.html) standard technique to derive such keys.

此時,認為已建立配對,且使用在步驟850及步驟852處建立之密鑰之介於控制器與附屬件之間的安全通信係可能的。下文描述用於安全地發送及接收訊息之特定程序的實例。At this point, it is believed that pairing has been established and that secure communication between the controller and the accessory using the keys established at steps 850 and 852 is possible. Examples of specific programs for securely transmitting and receiving messages are described below.

如上文所提及,程序800包括由控制器及附屬件將密碼呈現給使用者且讓使用者驗證該等密碼匹配。在一些實施例中,某些裝置可能不便於或不可能將密碼呈現給使用者。舉例而言,如圖1中所展示之揚聲器附屬件120不包括任何顯示能力;儘管可添加此能力,但可能不需要添加(例如,出於成本或審美原因)。因而,一些實施例提供除動態密鑰協商之外或代替動態密鑰協商之基於密碼的鑑認。As mentioned above, the process 800 includes presenting the password to the user by the controller and the accessory and having the user verify that the password matches. In some embodiments, some devices may be inconvenient or impossible to present a password to a user. For example, the speaker accessory 120 as shown in FIG. 1 does not include any display capabilities; although this capability may be added, it may not be necessary to add (eg, for cost or aesthetic reasons). Thus, some embodiments provide password-based authentication in addition to or in lieu of dynamic key agreement.

在一些實施例中,程序800可經修改以減小經交換以建立配對之探測的數目。舉例而言,在步驟802處由控制器發送之初始探測請求可包括控制器公用密鑰CPUB,且在步驟808處由附屬件發送之初始探測回應可包括附屬件公用密鑰APUB;在該狀況中,可省略在步驟824及832處發送額外探測。若在後續步驟中不使用探測,例如,若使用者可與每一裝置單獨互動以驗證密碼匹配(在步驟846及步驟848處),則可藉由少至兩個探測(來自控制器之一請求及來自附屬件之一回應)來建立配對。In some embodiments, the routine 800 can be modified to reduce the number of probes that are exchanged to establish a pair. For example, the initial probe request sent by the controller at step 802 can include the controller public key CPUB, and the initial probe response sent by the accessory at step 808 can include the accessory public key APUB; In the case, additional probes may be omitted at steps 824 and 832. If no probing is used in subsequent steps, for example, if the user can interact with each device individually to verify password matching (at steps 846 and 848), then with as few as two probes (from one of the controllers) Request and response from one of the attachments) to establish a match.

圖9A至圖9B為根據本發明之一實施例之用於基於密碼的鑑認之程序900的流程圖。如在圖8A中所指示,程序800及程序900均為可用的,其中控制器基於由附屬件提供之資訊來判定應使用哪一程序。在其他實施例中,可在不實施程序800的情況下實施程序900,在此狀況中所有附屬件將支援基於密碼之鑑認。9A-9B are flow diagrams of a procedure 900 for password based authentication, in accordance with an embodiment of the present invention. As indicated in Figure 8A, both program 800 and program 900 are available, wherein the controller determines which program to use based on the information provided by the accessory. In other embodiments, the program 900 can be implemented without implementing the program 800, in which case all of the accessories will support password-based authentication.

過程900在控制器已自附屬件接收一探測請求之後開始,該探測請求指示附屬件正設法建立配對。在此狀況中,探測請求可指示附屬件使用基於密碼之鑑認。在步驟902處,控制器可將含有作業階段ID之探測請求發送至附屬件。如上文所提及,作業階段ID係由控制器指派且取決於與特定附屬件之配對。Process 900 begins after the controller has received a probe request from the accessory indicating that the accessory is trying to establish a pairing. In this case, the probe request may indicate that the accessory uses password-based authentication. At step 902, the controller may send a probe request containing the job phase ID to the accessory. As mentioned above, the job phase ID is assigned by the controller and depends on the pairing with a particular accessory.

在步驟904處,附屬件可接收該探測請求。在此實施例中,附屬件可具有永久地儲存於可由附屬件存取之記憶體或其他儲存器中之固定或預設定的密碼(例如,圖4之附屬件400具有儲存於儲存媒體408中之裝置密碼412),且在步驟906處,附屬件可使用此密碼產生公用密鑰(「APUB」)。在一實施例中,附屬件使用安全遠端密碼(「SRP」,其文件資料位於http://srp.standford.edu/)來產生公用密鑰APUB。在步驟908處,附屬件可產生隨機鹽(random salt)(例如,遵循SRP)。在步驟910處,附屬件可將含有公用密鑰APUB之探測回應及隨機鹽發送至控制器。此探測回應及所有後續的探測請求或探測回應亦可包括在步驟902處由控制器提供之作業階段ID。At step 904, the accessory can receive the probe request. In this embodiment, the accessory may have a fixed or pre-set password that is permanently stored in a memory or other storage accessible by the accessory (eg, the accessory 400 of FIG. 4 has been stored in the storage medium 408). Device password 412), and at step 906, the accessory can use this password to generate a public key ("APUB"). In one embodiment, the accessory uses a secure remote password ("SRP" whose file is located at http://srp.standford.edu/) to generate the public key APUB. At step 908, the appendage can generate a random salt (eg, follow SRP). At step 910, the accessory can send a probe response containing the public key APUB and a random salt to the controller. This probe response and all subsequent probe requests or probe responses may also include the job phase ID provided by the controller at step 902.

在步驟912處,控制器可自附屬件接收探測回應。在步驟914處,控制器可提示使用者將附屬件之密碼鍵入至控制器中。在此實施例中,假定使用者可獲得附屬件之密碼。可將密碼提供給使用者(例如,在與附屬件一起包裝之文件中,在貼附至附屬件之貼紙上,作為壓印於附屬件的主體上之密碼,或以某其他方式)。在一些狀況中,可將附屬件序列號或其他獨特識別碼用作密碼。At step 912, the controller can receive a probe response from the accessory. At step 914, the controller can prompt the user to enter the password for the accessory into the controller. In this embodiment, it is assumed that the user can obtain the password of the accessory. The password can be provided to the user (eg, in a document packaged with the accessory, on a sticker attached to the accessory, as a password stamped on the body of the accessory, or in some other manner). In some cases, the accessory serial number or other unique identification code can be used as the password.

考慮到用於將密碼傳達給使用者之選項的範圍,在步驟914處提示或提醒使用者應在何處找到附屬件之密碼可能有所幫助。在一些實施例中,附屬件可將關於其密碼位於何處之資訊提供給控制器。舉例而言,可定義不同的位置碼以指示「左側」、「右側」、「頂部」、「底部」、「前部」、「後部」及「文件」。附屬件可將適當位置碼包括於探測請求或探測回應(諸如,附屬件所發送以定位配對搭檔之初始探測請求,或在程序900之步驟910處發送之探測回應)之資訊元素(或其他資料項目)中。Given the range of options for communicating the password to the user, it may be helpful to prompt or alert the user at step 914 where to find the password for the accessory. In some embodiments, the accessory can provide information to the controller as to where the password is located. For example, different location codes can be defined to indicate "left side", "right side", "top", "bottom", "front", "back" and "file". The accessory may include the appropriate location code in the information element (or other information) of the probe request or probe response (such as the initial probe request sent by the accessory to locate the paired partner, or the probe response sent at step 910 of routine 900). In the project).

圖10說明根據本發明之一實施例之可在控制器上顯示之密碼提示。視窗1000含有該提示。標題欄1002識別控制器試圖連接至之附屬件,且提示1004讓使用者在文字框1006中鍵入密碼。提示訊息(Tip message)1008告訴使用者密碼可位於何處。在一些實施例中,控制器可藉由自接收自附屬件之探測請求或探測回應讀取位置碼且取決於位置碼而選擇恰當文字來產生提示訊息1008。Figure 10 illustrates a password prompt that can be displayed on a controller in accordance with an embodiment of the present invention. Window 1000 contains the prompt. The title bar 1002 identifies the accessory to which the controller is attempting to connect, and the prompt 1004 causes the user to type a password in the text box 1006. A tip message 1008 tells the user where the password can be located. In some embodiments, the controller may generate the prompt message 1008 by reading the location code from the probe request or probe response received from the accessory and selecting the appropriate text depending on the location code.

再次參看圖9A,在步驟916處,控制器可經由使用者輸入裝置來接收密碼。在一些實施例中,使用者可命令控制器取消或中止配對程序而不是鍵入密碼。在步驟918處,控制器可產生其自身的公用密鑰(CPUB);可使用SRP或其他技術。在步驟920處,控制器可基於附屬件之公用密鑰APUB、控制器之公用密鑰CPUB及自附屬件接收之隨機鹽來計算共用秘密(例如,使用SRP)。在步驟920處,控制器可(例如)使用SRP來計算回應(「CRESP」),該回應表明其知曉附屬件的密碼。Referring again to FIG. 9A, at step 916, the controller can receive the password via the user input device. In some embodiments, the user can command the controller to cancel or abort the pairing procedure instead of typing in a password. At step 918, the controller can generate its own public key (CPUB); SRP or other techniques can be used. At step 920, the controller may calculate a shared secret (eg, using SRP) based on the public key APUB of the accessory, the public key CPUB of the controller, and the random salt received from the accessory. At step 920, the controller can, for example, use the SRP to calculate a response ("CRESP") indicating that it knows the password of the accessory.

在圖9B中展示程序900之剩餘部分。在步驟924處,控制器可發送一包括公用密鑰CPUB及回應CRESP之探測請求。The remainder of the procedure 900 is shown in Figure 9B. At step 924, the controller may send a probe request including the public key CPUB and the response CRESP.

在步驟926處,附屬件可接收該探測請求。在步驟928處,附屬件可基於附屬件之公用密鑰APUB、控制器之公用密鑰CPUB及在步驟908(圖9A)處產生之隨機鹽來計算共用秘密(例如,使用SRP)。在步驟930處,附屬件可使用計算出之共用秘密來驗證自控制器接收之回應CRESP。在一些實施例中,若驗證失敗,則程序900可終止。假定驗證成功,則在步驟932處附屬件可計算其自身的回應(ARESP)以表明其亦知曉附屬件之密碼。在步驟934處,附屬件可在一探測回應中將回應ARESP發送至控制器。At step 926, the accessory can receive the probe request. At step 928, the accessory may calculate a shared secret (eg, using SRP) based on the public key APUB of the accessory, the public key CPUB of the controller, and the random salt generated at step 908 (FIG. 9A). At step 930, the accessory can verify the response CRESP received from the controller using the calculated shared secret. In some embodiments, if the verification fails, the process 900 can terminate. Assuming the verification is successful, the accessory can calculate its own response (ARESP) at step 932 to indicate that it is also aware of the password of the accessory. At step 934, the accessory can send a response ARESP to the controller in a probe response.

在步驟936處,控制器可接收該探測回應,且在步驟938處,控制器可驗證回應ARESP。如在步驟930處,在一些實施例中,驗證失敗造成程序900之終止。若驗證成功,則在步驟940處控制器可基於共用秘密計算加密及鑑認密鑰。如在程序800中,可分別使用AES及Poly1305-AES來計算此等密鑰。At step 936, the controller can receive the probe response, and at step 938, the controller can verify the response ARES. As at step 930, in some embodiments, the verification failure results in the termination of the process 900. If the verification is successful, then at step 940 the controller can calculate the encryption and authentication key based on the shared secret. As in program 800, these keys can be calculated using AES and Poly1305-AES, respectively.

類似地,一旦附屬件已驗證控制器之回應(CRESP),則在步驟942處附屬件亦可基於共用秘密來計算加密及鑑認密鑰。Similarly, once the accessory has verified the controller's response (CRESP), the accessory may also calculate the encryption and authentication key based on the shared secret at step 942.

此時,配對得以建立,且使用在步驟940及步驟942處建立之密鑰的安全通信係可能的。下文描述用於安全地發送及接收訊息之特定程序的實例。At this point, pairing is established and a secure communication using the keys established at steps 940 and 942 is possible. Examples of specific programs for securely transmitting and receiving messages are described below.

應瞭解,本文中所描述之配對程序為說明性的且變化及修改係可能的。可並行地執行描述為循序步驟之步驟,可改變步驟之次序,且可修改、組合、添加或省略步驟。舉例而言,可改變產生各種密鑰之次序。附屬件及控制器可同時執行某些計算。It should be understood that the pairing procedures described herein are illustrative and that variations and modifications are possible. The steps described as sequential steps may be performed in parallel, the order of the steps may be changed, and the steps may be modified, combined, added or omitted. For example, the order in which the various keys are generated can be changed. Attachments and controllers can perform certain calculations simultaneously.

儘管本文中所描述之實施例識別可用以建立配對之探測請求及探測回應之特定序列,但其他實施例可使用探測之不同序列。(因此,用以在探測間進行區分之諸如「第一」、「第二」等等的序數之任何使用應理解為僅為區分用途,而不要求在探測間的特定時間次序。)另外,亦可使用上文未明確展示或描述之額外的探測請求及探測回應。舉例而言,在諸如IEEE 802.11之一些協定中,發送探測請求之裝置預期在某一時間段內接收到探測回應;若未接收到任何回應,則等待回應之程序可逾時。在一些實施例中,接收到探測請求之裝置可發送第一探測回應,該第一探測回應確認該探測請求之接收且指示(例如,經由資訊元素)該探測請求之發送器應等待回應達多久。請求裝置可使用指定之逾時來判定在重新發送請求或中止程序之前應等待回應達多久。此允許回應裝置執行所用時間比預設逾時時段長之計算;回應裝置可在逾時時段內發送探測回應以指示請求裝置應等待完整回應。Although the embodiments described herein identify a particular sequence that can be used to establish a paired probe request and probe response, other embodiments may use different sequences of probes. (Thus, any use of ordinal numbers such as "first", "second", etc., used to distinguish between probes should be understood to be only for distinguishing purposes, and does not require a specific time sequence between probes.) Additional probe requests and probe responses not explicitly shown or described above may also be used. For example, in some agreements such as IEEE 802.11, the device transmitting the probe request expects to receive a probe response within a certain period of time; if no response is received, the program waiting for the response may be timed out. In some embodiments, the means for receiving the probe request may send a first probe response confirming receipt of the probe request and indicating (eg, via an information element) how long the sender of the probe request should wait for a response . The requesting device can use the specified timeout to determine how long to wait for a response before resending the request or aborting the program. This allows the response device to perform calculations that take longer than the preset timeout period; the responding device can send a probe response within the timeout period to indicate that the requesting device should wait for a full response.

亦應注意,可實施程序800及程序900以使得控制器僅發送探測請求而不發送探測回應;而附屬件僅發送探測回應而不發送探測請求。因而,控制器不需要能夠偵測探測請求或對探測請求作出回應。It should also be noted that program 800 and program 900 can be implemented such that the controller only sends probe requests without transmitting probe responses; and the accessory only sends probe responses without sending probe requests. Thus, the controller does not need to be able to detect or respond to probe requests.

特定加密及鑑認技術(AES、SRP等)之識別為說明性的,且可替換為其他技術。預期控制器及附屬件在配對內使用相容技術,使得任一裝置可成功地鑑認及解密由另一裝置發送之訊息。The identification of specific encryption and authentication techniques (AES, SRP, etc.) is illustrative and may be replaced by other techniques. It is contemplated that the controller and the accessory use compatible techniques within the pairing such that any device can successfully authenticate and decrypt messages sent by another device.

在一些實施例中,在控制器處於與第一附屬件建立配對之過程中的同時,第二附屬件可試圖與該控制器配對。舉例而言,在圖1之實施例中,在控制器100處於與揚聲器120建立配對之過程中的同時,印表機110可發送一設法起始配對程序之探測請求。控制器100可經組態以用各種方式處置此情形。In some embodiments, the second accessory may attempt to pair with the controller while the controller is in the process of establishing a pair with the first accessory. For example, in the embodiment of FIG. 1, while the controller 100 is in the process of establishing a pair with the speaker 120, the printer 110 can send a probe request to initiate a pairing procedure. Controller 100 can be configured to handle this situation in a variety of ways.

在一些實施例中,一旦起始第一配對程序,控制器即保持在第一程序中且忽略試圖起始配對之另外的探測請求,直至第一程序完成或中止。在其他實施例中,若在第一程序仍在繼續的同時接收到對起始配對之第二請求,則控制器可中止第一程序且基於第二請求開始第二配對程序。後一種設計選擇在使用者在配對程序期間出錯或改變主意且想要重新開始之情況下可能有所幫助;使用者不需要等待第一程序完成或逾時。在其他實施例中,控制器可經組態以同時管理多個配對程序。In some embodiments, once the first pairing procedure is initiated, the controller remains in the first program and ignores additional probe requests attempting to initiate pairing until the first program is completed or aborted. In other embodiments, if a second request for the initial pairing is received while the first program is still continuing, the controller may abort the first program and begin the second pairing procedure based on the second request. The latter design choice may be helpful if the user makes a mistake during the pairing process or changes his mind and wants to start again; the user does not have to wait for the first program to complete or time out. In other embodiments, the controller can be configured to manage multiple pairing programs simultaneously.

類似地,有可能附屬件可自多個控制器接收瀏覽探測。在一些實施例中,附屬件可對自其接收到瀏覽探測之第一控制器作出回應且忽略任何後續瀏覽探測,直至與第一控制器之配對結束。在其他實施例中,若在配對正在進行中(已建立抑或在建立之過程中)的同時接收到瀏覽探測,則附屬件可終止當前配對且藉由對最近的瀏覽探測作出回應來開始新的配對程序。在附屬件具有使用者介面之實施例中,附屬件可回應於新的瀏覽探測而提示使用者是否應終止當前配對。Similarly, it is possible that the accessory can receive browsing probes from multiple controllers. In some embodiments, the accessory can respond to the first controller from which it received the browsing probe and ignore any subsequent browsing probes until the pairing with the first controller ends. In other embodiments, if a browsing probe is received while the pairing is in progress (already established or in the process of being established), the accessory may terminate the current pairing and start a new one by responding to the most recent browsing probe. Pairing procedure. In embodiments where the accessory has a user interface, the accessory can prompt the user whether to terminate the current pairing in response to a new browsing probe.

如上文所提及,程序800及程序900造成在控制器與附屬件之間建立配對(安全無線鏈路)。每一裝置可驗證另一裝置,且兩個裝置可建立可能在監視無線通信之任何好事者難以判定之共用秘密。一旦建立,即可將配對用於安全(經加密及/或鑑認之)通信。圖11及圖12為根據本發明之一實施例之用於經由無線配對來發送及接收安全訊息之程序的流程圖。As mentioned above, the procedure 800 and the procedure 900 cause pairing (secure wireless link) between the controller and the accessory. Each device can verify another device, and both devices can establish a shared secret that may be difficult for any good person monitoring the wireless communication to determine. Once established, pairing can be used for secure (encrypted and/or authenticated) communications. 11 and 12 are flowcharts of a procedure for transmitting and receiving a secure message via wireless pairing, in accordance with an embodiment of the present invention.

圖11說明根據本發明之一實施例之可由發送器(其可為附屬件抑或控制器)用以將一訊息發送至與該發送器配對之接收端裝置之程序1100。在(例如)使用上文描述之程序中的任一者建立配對之後,程序1100開始(步驟1102)。在步驟1104處,發送器可準備待安全發送之訊息。此準備可包括(例如)產生資料、擷取所儲存之資訊、格式化或編碼資料等。在步驟1106處,發送器可使用與配對相關聯之加密密鑰(例如,使用上文描述的程序中之任一者所產生之AES密鑰)來加密該訊息。在步驟1108處,發送器可產生待用作臨時亂數以達成鑑認目的之隨機資料(例如,16個位元組)。在步驟1110處,發送器可基於該訊息、該臨時亂數及與配對相關聯之鑑認密鑰(例如,使用上文描述的程序中之任一者所產生之Poly1305-AES碼)來產生鑑認碼(資料區塊)。11 illustrates a procedure 1100 for a transmitter (which may be an accessory or controller) to transmit a message to a sink device that is paired with the transmitter, in accordance with an embodiment of the present invention. After pairing is established, for example, using any of the procedures described above, the routine 1100 begins (step 1102). At step 1104, the sender can prepare a message to be sent securely. This preparation may include, for example, generating data, extracting stored information, formatting or encoding the data, and the like. At step 1106, the sender can encrypt the message using an encryption key associated with the pairing (eg, using an AES key generated by any of the procedures described above). At step 1108, the sender may generate random data (e.g., 16 bytes) to be used as a temporary random number for authentication purposes. At step 1110, the sender can generate based on the message, the temporary random number, and an authentication key associated with the pairing (eg, using the Poly1305-AES code generated by any of the procedures described above) Identification code (data block).

在步驟1112處,發送器可發送包括該經加密之訊息、該臨時亂數及該鑑認碼資料區塊之探測(其可為探測請求或探測回應)。可將此等項目作為資訊元素或其他資料元素儲存於探測內。發送器亦可在探測中包括與配對相關聯之作業階段ID。在一些實施例中,僅加密訊息自身;不加密諸如作業階段ID及臨時亂數之其他項目。(可使用密碼編譯技術來產生鑑認碼但不進一步加密鑑認碼。)一旦發送了探測請求,程序1100即可結束(步驟1114)。At step 1112, the sender can transmit a probe (which can be a probe request or a probe response) including the encrypted message, the temporary random number, and the authentication code data block. These items can be stored in the probe as information elements or other data elements. The transmitter may also include the job phase ID associated with the pairing in the probe. In some embodiments, only the message itself is encrypted; other items such as the job phase ID and the temporary random number are not encrypted. (The cryptographic technique can be used to generate the authentication code without further encrypting the authentication code.) Once the probe request is sent, the program 1100 can end (step 1114).

圖12說明根據本發明之一實施例之可由接收端(其可為控制器抑或附屬件)用以自與該接收端配對之發送器裝置接收一訊息之程序1200。在此實例中,假定使用圖11中之程序1100來發送該訊息。在(例如)使用上文描述的程序中之任一者來建立配對之後,程序1200開始(步驟1202)。在步驟1204處,接收端可接收包括與配對相關聯之作業階段識別符之探測(其可為探測請求或探測回應)。在步驟1206處,接收端可自探測提取經加密之訊息、臨時亂數及鑑認碼區塊。在步驟1208處,接收端可使用鑑認碼及臨時亂數以及其自身的鑑認密鑰(例如,如上文描述之其Poly1305-AES碼)來驗證訊息之可靠性。若在步驟1210處驗證了可靠性,則接收端可繼續在步驟1212處解密經加密之訊息。在此實施例中,若在步驟1210處未驗證可靠性,則接收端可直接忽略該訊息。Figure 12 illustrates a procedure 1200 for receiving a message from a transmitter device that is paired with the receiver, which may be a receiver (which may be a controller or an accessory), in accordance with an embodiment of the present invention. In this example, it is assumed that the message 1100 is used to send the message. After pairing is established, for example, using any of the procedures described above, the process 1200 begins (step 1202). At step 1204, the receiving end can receive a probe (which can be a probe request or a probe response) that includes a job phase identifier associated with the pairing. At step 1206, the receiving end may extract the encrypted message, the temporary random number, and the authentication code block from the probe. At step 1208, the receiving end can verify the reliability of the message using the authentication code and the temporary random number and its own authentication key (eg, its Poly1305-AES code as described above). If the reliability is verified at step 1210, the receiving end may continue to decrypt the encrypted message at step 1212. In this embodiment, if the reliability is not verified at step 1210, the receiving end can directly ignore the message.

程序1200在步驟1214處結束。假定鑑認及解密了訊息,則接收端可藉由取決於訊息之內容之特定動作來作用於該訊息。如先前所提及,任何類型之組態資訊、控制信號或其他資料可包括於使用探測所發送之經加密之訊息中。在一些實施例中,對訊息作出回應可包括使用探測來將經加密之訊息發送回至發送器。在該狀況中,接收端成為使用程序1100之發送器;因而,相同裝置可在一時間作為發送器操作且在另一時間作為接收端操作。The process 1200 ends at step 1214. Assuming that the message is authenticated and decrypted, the receiving end can act on the message by a specific action depending on the content of the message. As mentioned previously, any type of configuration information, control signals, or other material may be included in the encrypted message sent using the probe. In some embodiments, responding to the message can include using the probe to send the encrypted message back to the sender. In this case, the receiving end becomes the transmitter using the program 1100; thus, the same device can operate as a transmitter at one time and as a receiving end at another time.

應瞭解,本文中所描述之通信程序為說明性的且變化及修改係可能的。可並行地執行描述為循序步驟之步驟,可改變步驟之次序,且可修改、組合、添加或省略步驟。可用其他加密技術替換本文中所識別之技術。It should be understood that the communication procedures described herein are illustrative and that variations and modifications are possible. The steps described as sequential steps may be performed in parallel, the order of the steps may be changed, and the steps may be modified, combined, added or omitted. The techniques identified in this article can be replaced with other encryption techniques.

如所提及,程序1100及程序1200可用以在附屬件與控制器之間傳達任何所要資訊。在一些實施例中,控制器可在與附屬件配對的同時加入至習知無線網路(例如,遵循IEEE 802.11之網路)。一旦建立配對,控制器即可使用安全加入來給附屬件提供其加入該無線網路所需要之憑證(例如,網路名稱及密碼)。As mentioned, the program 1100 and the program 1200 can be used to communicate any desired information between the accessory and the controller. In some embodiments, the controller can be added to a conventional wireless network (eg, an IEEE 802.11 compliant network) while paired with the accessory. Once the pairing is established, the controller can use the secure join to provide the accessory with the credentials (eg, network name and password) needed to join the wireless network.

圖13為根據本發明之一實施例之可由附屬件(例如,圖1之附屬件110或附屬件120)用來加入無線網路之程序1300的流程圖。在此程序中,假定無線網路係由一判定其他裝置是否可加入該網路之存取點來管理且經由該存取點來存取各種資源(例如,網際網路)。13 is a flow diagram of a procedure 1300 for accessing a wireless network by an accessory (eg, accessory 110 or accessory 120 of FIG. 1) in accordance with an embodiment of the present invention. In this procedure, it is assumed that the wireless network is managed by an access point that determines whether other devices can join the network and access various resources (e.g., the Internet) via the access point.

程序1300在步驟1302處開始,其中附屬件判定其應試圖加入無線網路。可在裝置啟動時自動地作出此判定,回應於使用者輸入而作出此判定,或在其他情況下作出此判定。在步驟1304處,附屬件可注意聆聽來自能夠與附屬件建立配對之控制器之瀏覽探測請求。控制器可為(但無需為)網路存取點,且不要求附屬件具有關於針對任何無線網路的存取憑證之存在的任何資訊。The process 1300 begins at step 1302 where the accessory determines that it should attempt to join the wireless network. This determination can be made automatically at device startup, in response to user input, or otherwise. At step 1304, the accessory may listen to a browse probe request from a controller capable of establishing a pair with the accessory. The controller can be (but need not be) a network access point and does not require the accessory to have any information about the existence of access credentials for any wireless network.

在步驟1306處,附屬件可判定是否偵測到瀏覽探測。若未偵測到任何瀏覽探測,則附屬件可繼續聆聽(步驟1304)或結束程序1300。若偵測到瀏覽探測,則在步驟1308處附屬件可與控制器通信(例如,使用另外的探測)以建立配對。舉例而言,可使用上文所描述之程序800及程序900。At step 1306, the accessory can determine if a browsing probe is detected. If no browsing probes are detected, the accessory may continue to listen (step 1304) or end program 1300. If a browse probe is detected, the accessory can communicate with the controller (e.g., using additional probes) to establish a pairing at step 1308. For example, the procedure 800 and the procedure 900 described above can be used.

一旦建立配對,在步驟1310處,附屬件即可經由配對鏈路自控制器獲得針對無線網路之憑證(例如,網路名稱及密碼)。舉例而言,可使用上文所描述之程序1100及程序1200,其中無線網路憑證包括於由控制器發送至附屬件(例如,在探測請求中)之經加密之訊息中。在控制器將憑證供應給附屬件時,控制器可(但無需)加入至無線網路。在一些實施例中,附屬件不明確請求網路憑證;控制器可組態成一旦建立配對即自動地發送憑證(例如,在探測請求中)。在其他實施例中,步驟1310可包括將針對憑證之請求發送至控制器(例如,使用探測)。Once the pairing is established, at step 1310, the accessory can obtain credentials for the wireless network (e.g., network name and password) from the controller via the pairing link. For example, the procedure 1100 and the procedure 1200 described above can be used in which the wireless network credentials are included in an encrypted message sent by the controller to the accessory (eg, in a probe request). The controller can (but need not) join the wireless network when the controller supplies the credentials to the accessory. In some embodiments, the accessory does not explicitly request the network credential; the controller can be configured to automatically send the credential once the pairing is established (eg, in the probe request). In other embodiments, step 1310 can include transmitting a request for a credential to the controller (eg, using probing).

在步驟1312處,附屬件可將無線網路憑證發送至網路存取點。可使用諸如WEP、WPA或WPA2(在遵循IEEE 802.11之網路之狀況中)之習知技術將憑證或自憑證導出之資訊安全地傳輸至存取點。At step 1312, the accessory can send the wireless network credentials to the network access point. The voucher or information derived from the voucher can be securely transmitted to the access point using conventional techniques such as WEP, WPA or WPA2 (in the context of an IEEE 802.11 compliant network).

在步驟1314處,附屬件可等待關於其是否已成功加入網路之確認。若未成功,則程序1300可在步驟1316處結束,或附屬件可再試(例如,返回至步驟1312以重新發送憑證或返回至步驟1310以獲得新的憑證)。At step 1314, the accessory can wait for an acknowledgment as to whether it has successfully joined the network. If not, the routine 1300 may end at step 1316, or the accessory may be retried (eg, return to step 1312 to resend the credentials or return to step 1310 to obtain a new credential).

在加入網路之後,附屬件可使用無線網路協定與在網路上之其他裝置通信(步驟1318)。在一些實施例中,一旦附屬件已加入無線網路,即可終止與控制器之配對。在其他實施例中,配對作業階段可保持無限開放,從而不論任一裝置是否保持加入至無線網路均允許控制器及附屬件在旁頻帶中通信。After joining the network, the accessory can communicate with other devices on the network using a wireless network protocol (step 1318). In some embodiments, pairing with the controller can be terminated once the accessory has joined the wireless network. In other embodiments, the pairing phase can remain infinitely open, allowing the controller and accessories to communicate in the sideband regardless of whether any device remains attached to the wireless network.

在一些實施例中,使用者可藉由與控制器互動來控制配對及加入網路的程序。圖14為根據本發明之一實施例之可由控制器執行以促進將附屬件加入至無線網路之程序1400的流程圖。In some embodiments, the user can control the process of pairing and joining the network by interacting with the controller. 14 is a flow diagram of a process 1400 that may be executed by a controller to facilitate the addition of an accessory to a wireless network, in accordance with an embodiment of the present invention.

當控制器準備與無線附屬件配對時,程序1400開始(步驟1402)。舉例而言,使用者可在控制器上啟動一應用程式,其提供控制介面以用於與無線裝置通信。在一些實施例中,此程式可為用於播放媒體資產之程式,其能夠經由無線網路將數位媒體資料串流傳輸至附屬件(舉例而言,由本申請案之受讓人蘋果公司提供之媒體資產管理程式)。When the controller is ready to pair with the wireless accessory, the process 1400 begins (step 1402). For example, a user can launch an application on the controller that provides a control interface for communicating with the wireless device. In some embodiments, the program can be a program for playing media assets that can stream digital media data to an accessory via a wireless network (for example, provided by Apple, the assignee of the present application) Media asset management program).

在步驟1404處,控制器可自使用者接收用以定位無線附屬件的指令。舉例而言,使用者可與應用程式互動以命令控制器搜尋無線附屬件。在步驟1406處,控制器可廣播瀏覽探測,例如,指示控制器正在搜尋欲配對之附屬件之探測請求。At step 1404, the controller can receive an instruction from the user to locate the wireless accessory. For example, the user can interact with the application to command the controller to search for wireless accessories. At step 1406, the controller can broadcast a browsing probe, for example, indicating that the controller is searching for a probe request for the accessory to be paired.

在步驟1408處,控制器可自附屬件接收探測回應。如上文所描述,此探測回應可包括關於附屬件之資訊。在步驟1410處,控制器可將關於附屬件之資訊(例如,自探測回應所提取之資訊)顯示給使用者。在步驟1412處,控制器可自使用者接收配對應繼續進行之確認。若未接收到確認,則程序1400可結束(步驟1414)或返回至步驟1406以搜尋來自不同附屬件之探測請求。At step 1408, the controller can receive a probe response from the accessory. As described above, this probe response can include information about the accessory. At step 1410, the controller can display information about the accessory (eg, information extracted from the probe response) to the user. At step 1412, the controller can receive confirmation from the user that the corresponding correspondence continues. If an acknowledgment is not received, the routine 1400 may end (step 1414) or return to step 1406 to search for probe requests from different widgets.

一旦在步驟1412處接收到確認,控制器即可在步驟1416處開始與附屬件的密鑰協商程序(例如,上文描述之程序800)。在步驟1418處,作為密鑰協商之部分,控制器可(例如,如上文所描述)顯示用於使用者確認之密碼。在步驟1420處,使用者可確認密碼。若未確認密碼,則程序1400可在步驟1422處結束或返回至較早步驟而再試。若確認了密碼,則控制器可在步驟1424處完成配對(例如,完成程序800)。在一些實施例中,完成配對可包括將探測發送至附屬件以確認已建立配對。Once the acknowledgment is received at step 1412, the controller may begin a key agreement procedure with the accessory (e.g., the procedure 800 described above) at step 1416. At step 1418, as part of the key negotiation, the controller can display the password for user confirmation (eg, as described above). At step 1420, the user can confirm the password. If the password is not confirmed, the routine 1400 may end at step 1422 or return to the earlier step and try again. If the password is confirmed, the controller can complete the pairing at step 1424 (eg, complete the routine 800). In some embodiments, completing the pairing can include sending a probe to the accessory to confirm that the pairing has been established.

一旦建立配對,在步驟1426處,控制器即可(例如)使用上文描述之程序1100及程序1200經由配對鏈路將無線網路憑證發送至附屬件,其中無線網路憑證包括於由控制器發送至附屬件(例如,在探測請求中)之經加密之訊息中。在一些實施例中,控制器可獲得使用者輸入以選擇供附屬件加入之網路;或控制器可自動地選擇控制器已加入至之無線網路或先前已(例如,由使用者)識別之較佳無線網路。在一些實施例中,控制器可組態成一旦建立配對即自動地將憑證發送至附屬件(例如,在探測請求中)。在其他實施例中,步驟1426可包括自附屬件接收針對憑證之請求;可使用探測經由配對鏈路來發送此請求。Once the pairing is established, at step 1426, the controller can send the wireless network credentials to the accessory via the pairing link, for example, using the procedure 1100 and the procedure 1200 described above, wherein the wireless network credentials are included in the controller. Sended to the encrypted message of the attachment (for example, in the probe request). In some embodiments, the controller may obtain user input to select a network for the accessory to join; or the controller may automatically select a wireless network to which the controller has joined or previously identified (eg, by the user) The preferred wireless network. In some embodiments, the controller can be configured to automatically send the credential to the accessory (eg, in the probe request) once the pairing is established. In other embodiments, step 1426 can include receiving a request for credentials from the accessory; the request can be sent via the paired link using the probe.

在步驟1428處,控制器可判定附屬件是否已加入該網路。若未加入,則程序1400可在步驟1430處結束或返回至較早階段而再試,或程序1400可在步驟1428處等待,直至附屬件加入或直至接收到其他使用者指令。一旦附屬件已加入網路,控制器即可在步驟1432處經由無線網路與附屬件通信(例如)以將媒體資料串流傳輸至附屬件。At step 1428, the controller can determine if the accessory has joined the network. If not, the routine 1400 may end at step 1430 or return to an earlier stage and retry, or the routine 1400 may wait at step 1428 until the accessory joins or until other user instructions are received. Once the accessory has joined the network, the controller can communicate with the accessory via the wireless network, for example, at step 1432 to stream the media data to the accessory.

如上文所提及,在一些實施例中,可使用基於密碼之鑑認而不是密鑰協商來建立配對。圖15為根據本發明之一實施例之可由控制器用來促進將支援基於密碼的鑑認之附屬件加入至無線網路之程序1500的流程圖。As mentioned above, in some embodiments, pairing can be established using password based authentication instead of key negotiation. 15 is a flow diagram of a procedure 1500 that may be used by a controller to facilitate the addition of an accessory that supports password-based authentication to a wireless network, in accordance with an embodiment of the present invention.

當控制器準備與無線附屬件配對時,程序1500開始(步驟1502)。在步驟1504處,控制器可自使用者接收用以定位無線附屬件之指令。在步驟1506處,控制器可廣播瀏覽探測;且在步驟1508處,控制器可自附屬件接收探測回應。此等步驟可大致類似於在上文描述之程序1400中的對應步驟。When the controller is ready to pair with the wireless accessory, the process 1500 begins (step 1502). At step 1504, the controller can receive an instruction from the user to locate the wireless accessory. At step 1506, the controller can broadcast a browse probe; and at step 1508, the controller can receive a probe response from the accessory. These steps can be substantially similar to the corresponding steps in the procedure 1400 described above.

在步驟1510處,控制器可將關於附屬件之資訊顯示給使用者。在此實例中,在步驟1508處自附屬件接收到之探測回應可包括對附屬件使用基於密碼的鑑認之指示,且在步驟1512處,控制器可(例如)使用圖10之提示螢幕來提示使用者鍵入附屬件密碼。在步驟1514處,密碼之鍵入可充當對控制器應繼續進行之確認;若未鍵入密碼(例如,使用者取消操作),則程序1500可在步驟1516處結束。At step 1510, the controller can display information about the accessory to the user. In this example, the probe response received from the accessory at step 1508 can include an indication of the use of password-based authentication for the accessory, and at step 1512, the controller can, for example, use the prompt screen of FIG. Prompt the user to type the accessory password. At step 1514, the keystroke can serve as an acknowledgment that the controller should continue; if the password is not typed (eg, the user cancels the operation), the routine 1500 can end at step 1516.

在步驟1518處,控制器可部分基於由使用者在步驟1510處供應之密碼與附屬件建立配對(例如,根據上文描述之程序900)。At step 1518, the controller may establish a pairing with the accessory based in part on the password supplied by the user at step 1510 (eg, according to the procedure 900 described above).

一旦建立安全配對鏈路,控制器即可在步驟1520處經由該加入將無線網路憑證發送至附屬件。此步驟可大致類似於上文描述之程序1400之步驟1426。Once the secure pairing link is established, the controller can send the wireless network credentials to the accessory via the join at step 1520. This step can be substantially similar to step 1426 of the procedure 1400 described above.

在步驟1522處,控制器可判定附屬件是否已加入網路。若未加入,則程序1500可在步驟1524處結束或返回至較早進程而再試,或控制器可在步驟1522處等待,直至附屬件加入或直至接收到其他使用者指令。一旦附屬件已加入網路,控制器即可在步驟1526處經由無線網路與附屬件通信(例如)以將媒體資料串流傳輸至附屬件。At step 1522, the controller can determine if the accessory has joined the network. If not, the routine 1500 may end at step 1524 or return to the earlier process and retry, or the controller may wait at step 1522 until the accessory joins or until other user instructions are received. Once the accessory has joined the network, the controller can communicate with the accessory via the wireless network, for example, at step 1526 to stream the media data to the accessory.

應瞭解,本文中所描述之網路加入程序為說明性的且變化及修改係可能的。可並行地執行描述為循序步驟之步驟,可改變步驟之次序,且可修改、組合、添加或省略步驟。附屬件及控制器可使用各種技術來建立配對,從而允許附屬件獲得針對無線網路的憑證,附屬件可接著加入該網路。另外,儘管將控制器描述為提供無線網路憑證給附屬件,但應瞭解,本文中所描述之配對可支援雙向通信,且附屬件亦有可能提供網路憑證(或其他組態資訊或控制信號)給控制器。It should be understood that the network joining procedures described herein are illustrative and that variations and modifications are possible. The steps described as sequential steps may be performed in parallel, the order of the steps may be changed, and the steps may be modified, combined, added or omitted. The accessory and controller can use various techniques to establish a pairing, allowing the accessory to obtain credentials for the wireless network, and the accessory can then join the network. In addition, although the controller is described as providing wireless network credentials to the accessory, it should be understood that the pairing described herein can support two-way communication and that the accessory may also provide network credentials (or other configuration information or controls). Signal) to the controller.

儘管已關於特定實施例描述了本發明,但熟習此項技術者將認識到眾多修改係可能的。舉例而言,儘管預期可在遵循IEEE 802.11之無線網路之情況下使用針對此類網路所定義之探測請求及探測回應訊框來實踐本發明,其中包括供應商特定資訊元素以提供上文所描述之各種資料項目,但亦預期其他無線協定(現存或未來的)可包括可用以在尚未加入網路的裝置之間傳達資訊之訊息格式。本發明之實施例亦可經調適以用於此類協定。因而,儘管本文中將特定資訊描述為包括於探測請求或探測回應中,但此用途為說明性的且可將一般術語「探測」理解為包含探測請求及探測回應及可在當前未加入至共同網路之兩個無線裝置之間交換的其他訊息格式。Although the invention has been described in terms of specific embodiments, those skilled in the art will recognize that many modifications are possible. For example, although it is contemplated that a probe request and probe response frame defined for such a network can be used to practice the invention in the context of an IEEE 802.11 compliant wireless network, including vendor specific information elements to provide the above The various data items described, but it is also contemplated that other wireless protocols (existing or future) may include message formats that may be used to convey information between devices that have not joined the network. Embodiments of the invention may also be adapted for use in such agreements. Thus, although specific information is described herein as being included in probe requests or probe responses, this use is illustrative and the general term "probe" can be understood to include probe requests and probe responses and can be added to the common Other message formats exchanged between the two wireless devices on the network.

在上文描述之實施例中,可藉由控制器廣播一瀏覽探測請求來起始配對程序,需要配對之附屬件可對該瀏覽探測請求作出回應。如上文所提及,控制器在此類實施例中不需要能夠接收探測請求或對探測請求作出回應。在一些替代實施例中,可藉由附屬件廣播一探測請求來起始配對程序,控制器可對該探測請求作出回應以指示控制器可用來與附屬件配對。In the embodiment described above, the pairing procedure can be initiated by the controller broadcasting a browse probe request, and the paired accessory is required to respond to the browse probe request. As mentioned above, the controller need not be able to receive probe requests or respond to probe requests in such embodiments. In some alternative embodiments, the pairing procedure can be initiated by the accessory broadcasting a probe request, and the controller can respond to the probe request to indicate that the controller is available to pair with the accessory.

另外,儘管為達成說明目的而參考特定密碼編譯技術,但應理解,本發明不限於任何特定密碼編譯技術,其限制條件為控制器及附屬件使用相容技術。Additionally, although specific cryptographic techniques are referenced for purposes of illustration, it should be understood that the present invention is not limited to any particular cryptographic techniques, with the limitation that the controller and the accessory use compatible techniques.

儘管上文描述之實施例參考特定硬體及軟體組件,但熟習此項技術者應瞭解,亦可使用硬體及/或軟體組件之不同組合,且被描述為在硬體中實施之特定操作亦可在軟體中實施且被描述為在軟體中實施之特定操作亦可在硬體中實施。Although the embodiments described above refer to specific hardware and software components, those skilled in the art will appreciate that different combinations of hardware and/or software components can also be used and are described as specific operations implemented in hardware. Specific operations that can also be implemented in software and described as being implemented in software can also be implemented in hardware.

電路、邏輯模組、處理器及/或其他組件可經組態以執行本文中所描述之各種操作。熟習此項技術者應瞭解,取決於實施,可經由特定組件之設計、設置、互連及程式化來完成此組態,且再次取決於實施,經組態之組件可能或可能不可重新組態以用於不同操作。舉例而言,藉由提供適合之可執行程式碼來組態可程式化之處理器;可藉由適合地連接邏輯閘及其他電路元件來組態專用邏輯電路;等等。Circuitry, logic modules, processors, and/or other components can be configured to perform the various operations described herein. Those skilled in the art will appreciate that depending on the implementation, this configuration can be accomplished through the design, setup, interconnection, and stylization of specific components, and again depending on the implementation, the configured components may or may not be reconfigurable. For different operations. For example, a programmable processor can be configured by providing suitable executable code; dedicated logic can be configured by suitably connecting logic gates and other circuit components;

可將併入有本發明之各種特徵的電腦程式編碼於各種電腦可讀儲存媒體上;適合媒體包括磁碟或磁帶、諸如緊密光碟(CD)或DVD(數位影音光碟)之光學儲存媒體、快閃記憶體及其類似者。編碼有程式碼之電腦可讀儲存媒體可與相容裝置一起封裝或與其他裝置分開提供。此外,可編碼且經由遵循各種協定(包括網際網路)之有線光學及/或無線網路來傳輸程式碼,進而允許(例如)經由網際網路下載的散佈。Computer programs incorporating the various features of the present invention can be encoded on a variety of computer readable storage media; suitable for media including magnetic or magnetic tape, optical storage media such as compact disc (CD) or DVD (digital audio and video discs), fast Flash memory and similar. A computer readable storage medium encoded with a code may be packaged with a compatible device or separately from other devices. In addition, the code can be encoded and transmitted via wired optical and/or wireless networks that follow various protocols, including the Internet, allowing for dissemination, for example, via the Internet.

因而,儘管已關於特定實施例描述了本發明,但應瞭解,本發明意欲涵蓋在以下申請專利範圍之範疇內的所有修改及等效物。Accordingly, while the invention has been described with respect to the specific embodiments thereof, it is understood that the invention is intended to cover all modifications and equivalents

100...控制器100. . . Controller

110...附屬件/印表機110. . . Accessories / printer

112...配對112. . . pair

120...附屬件/揚聲器120. . . Accessories / Speakers

122...配對122. . . pair

200...控制器200. . . Controller

202...處理器202. . . processor

204...使用者介面204. . . user interface

206...無線介面206. . . Wireless interface

208...儲存媒體208. . . Storage medium

210...網路憑證210. . . Network credentials

300...附屬件300. . . Accessory

302...處理器302. . . processor

304...使用者介面304. . . user interface

306...無線介面306. . . Wireless interface

308...儲存媒體308. . . Storage medium

310...列印元件310. . . Print component

400...附屬件400. . . Accessory

402...處理器402. . . processor

406...無線介面406. . . Wireless interface

408...儲存媒體408. . . Storage medium

410...揚聲器410. . . speaker

412...裝置密碼412. . . Device password

500...探測訊框500. . . Probe frame

502...訊框控制欄位502. . . Frame control field

504...持續時間欄位504. . . Duration field

506...位址欄位506. . . Address field

508...序列欄位508. . . Sequence field

510...資料欄位510. . . Data field

512...總和檢查碼欄位512. . . Sum check code field

520...資訊元素520. . . Information element

522...元素ID欄位522. . . Element ID field

524...長度欄位524. . . Length field

526...供應商欄位526. . . Vendor field

528...子類型欄位528. . . Subtype field

530...子IE欄位530. . . Sub-IE field

540...子IE540. . . Sub-IE

542...類型識別符欄位542. . . Type identifier field

544...長度欄位544. . . Length field

546...有效負載546. . . Payload

600...程序600. . . program

700...程序700. . . program

800...程序800. . . program

900...程序900. . . program

1000...視窗1000. . . Windows

1002...標題欄1002. . . title

1004...提示1004. . . prompt

1006...文字框1006. . . text box

1008...提示訊息1008. . . Prompt message

1100...程序1100. . . program

1200...程序1200. . . program

1300...程序1300. . . program

1400...程序1400. . . program

1500...程序1500. . . program

圖1說明在本發明之某些實施例中所使用之操作原理。Figure 1 illustrates the principle of operation used in certain embodiments of the present invention.

圖2為根據本發明之一實施例的控制器之方塊圖。2 is a block diagram of a controller in accordance with an embodiment of the present invention.

圖3為根據本發明之一實施例的附屬件之方塊圖。3 is a block diagram of an accessory in accordance with an embodiment of the present invention.

圖4為根據本發明之另一實施例的附屬件之方塊圖。4 is a block diagram of an accessory in accordance with another embodiment of the present invention.

圖5為可在本發明之一些實施例中使用之探測訊框結構之方塊圖。Figure 5 is a block diagram of a probe frame structure that can be used in some embodiments of the present invention.

圖6為根據本發明之一實施例之可由附屬件用來與控制器建立配對之程序的流程圖。6 is a flow diagram of a procedure by which an accessory can be used to establish a pair with a controller in accordance with an embodiment of the present invention.

圖7為根據本發明之一實施例之可由控制器用來與附屬件建立配對之程序的流程圖。7 is a flow diagram of a procedure that can be used by a controller to establish a pair with an accessory in accordance with an embodiment of the present invention.

圖8A至圖8B為根據本發明之一實施例之用於在控制器與附屬件之間建立配對之程序的流程圖。8A-8B are flow diagrams of a procedure for establishing pairing between a controller and an accessory in accordance with an embodiment of the present invention.

圖9A至圖9B為根據本發明之一實施例之用於在控制器與附屬件之間建立配對之程序的流程圖。9A-9B are flow diagrams of a procedure for establishing pairing between a controller and an accessory in accordance with an embodiment of the present invention.

圖10說明根據本發明之一實施例之可在控制器上顯示之密碼提示。Figure 10 illustrates a password prompt that can be displayed on a controller in accordance with an embodiment of the present invention.

圖11說明根據本發明之一實施例之可由發送器(其可為附屬件抑或控制器)用來將訊息發送至與該發送器配對之接收端裝置之程序。Figure 11 illustrates a procedure that can be used by a transmitter (which can be an accessory or controller) to send a message to a sink device that is paired with the transmitter, in accordance with an embodiment of the present invention.

圖12說明根據本發明之一實施例之可由接收端(其可為控制器抑或附屬件)用來自與該接收端配對之發送器裝置接收訊息之程序。Figure 12 illustrates a procedure for receiving a message from a receiving device (which may be a controller or an accessory) from a transmitter device paired with the receiving end, in accordance with an embodiment of the present invention.

圖13為根據本發明之一實施例之可由附屬件用來加入無線網路之程序的流程圖。13 is a flow diagram of a process by which an accessory can be used to join a wireless network, in accordance with an embodiment of the present invention.

圖14為根據本發明之一實施例之可由控制器執行以促進使附屬件加入無線網路之程序的流程圖。14 is a flow diagram of a process executable by a controller to facilitate the joining of an accessory to a wireless network, in accordance with an embodiment of the present invention.

圖15為根據本發明之一實施例之可由控制器用來促進使附屬件加入無線網路之程序的流程圖。15 is a flow diagram of a process that can be used by a controller to facilitate the joining of an accessory to a wireless network, in accordance with an embodiment of the present invention.

100...控制器100. . . Controller

110...附屬件/印表機110. . . Accessories / printer

112...配對112. . . pair

120...附屬件/揚聲器120. . . Accessories / Speakers

122...配對122. . . pair

Claims (24)

一種用於在一附屬件(accessory)與一控制器之間建立一無線通信鏈路之方法,該方法包含:由該附屬件自一控制器接收一第一探測,該第一探測指示該控制器正在搜尋欲配對之一附屬件;由該附屬件回應於該第一探測而將一第二探測發送至該控制器;由該附屬件與該控制器建立一共用秘密,其中建立該共用秘密包括使用複數個額外探測與該控制器交換公用密鑰,該複數個額外探測至少包括由該附屬件發送之一第三探測及由該附屬件接收之一第四探測,其中該第三探測及該第四探測係為一探測請求訊框或一探測回應訊框之至少一者,其中相對應之公用密鑰係包含於一預定資訊元素內;由該附屬件驗證該共用秘密係由該控制器共用;由該附屬件使用該共用秘密產生一另外的密碼編譯密鑰;由該附屬件自該控制器接收一第五探測,該第五探測含有一經加密之訊息;及使用該另外的密碼編譯密鑰解碼該經加密之訊息。 A method for establishing a wireless communication link between an accessory and a controller, the method comprising: receiving, by the accessory, a first probe from a controller, the first probe indicating the control Is searching for one of the accessories to be paired; the accessory sends a second probe to the controller in response to the first probe; the accessory establishes a shared secret with the controller, wherein the shared secret is established Including exchanging a public key with the controller using a plurality of additional probes, the plurality of additional probes including at least one third probe transmitted by the accessory and a fourth probe received by the accessory, wherein the third probe and The fourth detection system is at least one of a probe request frame or a probe response frame, wherein the corresponding public key is included in a predetermined information element; and the common secret is verified by the accessory. Used by the accessory to generate an additional cryptographic key using the common secret; the accessory receives a fifth probe from the controller, the fifth probe containing an encrypted Message; and the use of additional cryptographic key for decoding of the encrypted message. 如請求項1之方法,其中由該附屬件與該控制器建立一共用秘密包括:自該控制器接收該第四探測,該第四探測包括一控制器公用密鑰; 由該附屬件產生一附屬件私用密鑰及一附屬件公用密鑰;由該附屬件將該第三探測發送至該控制器,該第三探測包括該附屬件公用密鑰;及基於該控制器公用密鑰及該附屬件公用密鑰計算一共用秘密。 The method of claim 1, wherein the establishing a shared secret from the controller by the accessory comprises: receiving the fourth probe from the controller, the fourth probe comprising a controller public key; Generating an accessory private key and an accessory public key from the accessory; the third probe is sent to the controller by the accessory, the third probe includes the accessory public key; and based on the The controller public key and the accessory public key calculate a common secret. 如請求項2之方法,其中由該附屬件驗證該共用秘密係由該控制器共用包括:由該附屬件根據該共用秘密計算一密碼;及由該附屬件將該密碼呈現給一使用者。 The method of claim 2, wherein verifying, by the accessory, the shared secret is shared by the controller comprises: calculating, by the accessory, a password based on the shared secret; and presenting the password to a user by the accessory. 如請求項1之方法,其中由該附屬件與該控制器建立一共用秘密包括:由該附屬件使用一固定密碼產生一附屬件公用密鑰;由該附屬件產生一隨機鹽;由該附屬件將該第三探測發送至該控制器,該第三探測包括該附屬件公用密鑰及該隨機鹽;由該附屬件自該控制器接收該第四探測,該第四探測包括一控制器公用密鑰及基於該隨機鹽之一控制器回應;及由該附屬件使用該控制器公用密鑰、該控制器私用密鑰及該隨機鹽來計算一共用秘密。 The method of claim 1, wherein the establishing a shared secret from the controller by the accessory comprises: generating, by the accessory, a fixed public key using a fixed password; generating an optional salt from the accessory; Transmitting the third probe to the controller, the third probe comprising the accessory public key and the random salt; receiving, by the accessory, the fourth probe from the controller, the fourth probe comprising a controller A public key and a controller response based on the one of the random salts; and the common key is calculated by the accessory using the controller public key, the controller private key, and the random salt. 如請求項4之方法,其中由該附屬件驗證該共用秘密係由該控制器共用包括:由該附屬件使用該共用秘密驗證該控制器回應; 由該附屬件使用該共用秘密計算一附屬件回應;及由該附屬件將一第六探測發送至該控制器,該第六探測包括該附屬件回應。 The method of claim 4, wherein verifying, by the accessory, that the shared secret is shared by the controller comprises: verifying, by the accessory, the common secret to verify the controller response; An attachment response is calculated by the accessory using the shared secret; and a sixth probe is sent by the accessory to the controller, the sixth probe including the accessory response. 如請求項1之方法,其中該經加密之訊息包括與具有一存取點之一無線網路相關聯之一憑證,該方法進一步包含:由該附屬件將對加入該無線網路之一請求傳輸至該存取點,該請求係至少部分基於該憑證。 The method of claim 1, wherein the encrypted message comprises a credential associated with a wireless network having an access point, the method further comprising: requesting, by the accessory, to join the wireless network Transmitted to the access point, the request is based at least in part on the credential. 一種附屬件,其包含:一無線介面;及一處理器,其耦接至該無線介面,該處理器經組態以:經由該無線介面接收由一控制器發送之一瀏覽探測請求,該瀏覽探測指示該控制器可用於配對;回應於該瀏覽探測請求而經由該無線介面發送一識別探測回應,該識別探測回應包括附屬件識別資訊;與該控制器建立一配對;使用複數個另外的探測與該控制器交換公用密鑰,該複數個另外的探測至少包括由該附屬件發送之一第三探測及由該附屬件接收之一第四探測,其中該第三探測及該第四探測係為一探測請求訊框或一探測回應訊框之至少一者,其中相對應之公用密鑰係包含於一預定資訊元素內;經由該無線介面自該控制器接收與一無線網路相關 聯之一憑證,其中該憑證係被接收以作為在自該控制器接收之一另外的探測請求中之一經加密之資訊元素;及使用該憑證來加入該無線網路。 An accessory comprising: a wireless interface; and a processor coupled to the wireless interface, the processor configured to: receive, by the wireless interface, a browsing probe request sent by a controller, the browsing Detecting that the controller is available for pairing; transmitting an identified probe response via the wireless interface in response to the browse probe request, the identified probe response including accessory identification information; establishing a pair with the controller; using a plurality of additional probes Exchanging a public key with the controller, the plurality of additional probes including at least one third probe transmitted by the accessory and a fourth probe received by the accessory, wherein the third probe and the fourth probe are At least one of a probe request frame or a probe response frame, wherein the corresponding public key is included in a predetermined information element; and the wireless interface is received from the controller via the wireless interface One of the credentials, wherein the voucher is received as an encrypted information element in one of the additional probe requests received from the controller; and the voucher is used to join the wireless network. 如請求項7之附屬件,其中該等瀏覽探測請求及該另外的探測請求之各者包含遵循IEEE 802.11系列標準之一探測請求訊框且該等識別訊框回應係為遵循IEEE 4 802.11系列標準之一探測回應訊框。 The accessory of claim 7, wherein each of the browsing probe request and the additional probe request includes a probe request frame conforming to one of the IEEE 802.11 series standards and the frame response is in accordance with the IEEE 4 802.11 series of standards One of the probe response frames. 如請求項7之附屬件,其進一步包含:一揚聲器,其中該處理器進一步經組態以:經由該無線網路自該控制器接收經串流傳輸之音訊資料,其中該接收在加入該無線網路之後發生;將該經串流傳輸之音訊資料轉換成一類比信號;及使用該類比信號來驅動該揚聲器。 The accessory of claim 7, further comprising: a speaker, wherein the processor is further configured to: receive the streamed audio material from the controller via the wireless network, wherein the receiving is in the wireless After the network occurs; converting the streamed audio data into an analog signal; and using the analog signal to drive the speaker. 如請求項7之附屬件,其進一步包含:一列印元件,其中該處理器進一步經組態以:經由該無線網路自該控制器接收資料,其中該接收在加入該無線網路之後發生;及回應於該資料而驅動該列印元件以產生一列印成品。 The accessory of claim 7, further comprising: a printing element, wherein the processor is further configured to: receive data from the controller via the wireless network, wherein the receiving occurs after joining the wireless network; And in response to the data, the printing element is driven to produce a printed product. 一種用於在一附屬件與一控制器之間建立一無線通信鏈路方法,該方法包含: 由該控制器廣播一第一探測,該第一探測指示該控制器正在瀏覽尋找欲配對之一附屬件;由該控制器自一附屬件接收一第二探測,該第二探測包括針對該附屬件之識別資訊;由該控制器與該附屬件建立一共用秘密,其中該共用秘密包含使用該第一探測及該第二探測或由該控制器接收之一第四探測及由該控制器發送之一第五探測之一者與該附屬件交換公共密鑰,其中該等探測之各者係為一探測請求訊框或一探測回應訊框之至少一者,其中相對應之公用密鑰係包含於一預定資訊元素內;由該控制器驗證該共用秘密係由該附屬件共用;由該控制器使用該共用秘密產生一另外的密碼編譯密鑰;由該控制器使用該另外的密碼編譯密鑰來加密一訊息;及由該控制器將一第三探測發送至該附屬件,該第三探測包括該經加密之訊息。 A method for establishing a wireless communication link between an accessory and a controller, the method comprising: Broadcasting, by the controller, a first probe indicating that the controller is browsing to find an accessory to be paired; receiving, by the controller, a second probe from an accessory, the second probe including the accessory Identification information of the device; a common secret is established by the controller and the accessory, wherein the shared secret includes using the first probe and the second probe or receiving a fourth probe by the controller and sending by the controller One of the fifth probes exchanges a public key with the accessory, wherein each of the probes is at least one of a probe request frame or a probe response frame, wherein the corresponding public key system Included in a predetermined information element; the controller verifies that the shared secret is shared by the accessory; the controller uses the shared secret to generate an additional cryptographic key; the controller compiles with the additional cipher The key encrypts a message; and the controller sends a third probe to the accessory, the third probe including the encrypted message. 如請求項11之方法,其中建立該共用秘密包括:由該控制器自該第二探測提取該附屬件之該公用密鑰;及基於該附屬件之該公用密鑰及該控制器之該公用密鑰來計算一秘密。 The method of claim 11, wherein the establishing the shared secret comprises: extracting, by the controller, the public key of the accessory from the second probe; and the public key based on the accessory and the common to the controller The key is used to calculate a secret. 如請求項11之方法,其中該經加密之訊息包括可由該附屬件用來加入一無線網路之一憑證。 The method of claim 11, wherein the encrypted message comprises a credential that can be used by the accessory to join a wireless network. 如請求項13之方法,其進一步包含:在發送包括該憑證之該經加密之訊息之後,由該控制器經由該無線網路與該附屬件通信。 The method of claim 13, further comprising: communicating, by the controller, the accessory via the wireless network after transmitting the encrypted message including the credential. 如請求項14之方法,其中經由該無線網路與該附屬件通信包含經由該無線網路將媒體內容串流傳輸至該附屬件。 The method of claim 14, wherein communicating with the accessory via the wireless network comprises streaming media content to the accessory via the wireless network. 如請求項11之方法,其進一步包含:由該控制器自該附屬件接收一第六探測,該第六探測包含另一個經加密之訊息。 The method of claim 11, further comprising: receiving, by the controller, a sixth probe from the accessory, the sixth probe including another encrypted message. 一種控制器,其包含:一無線介面;一使用者介面;及一處理器,其耦接至該無線介面及該使用者介面,該處理器經組態以:經由該無線介面偵測來自一附屬件之一第一探測,該第一探測包括附屬件識別資訊;經由該使用者介面通信以確認該附屬件欲加入一無線網路;經由該無線介面與該附屬件通信以建立一配對,其中建立該配對包括:使用複數個額外探測與該附屬件交換資訊,該複數個額外探測包括由該控制器接收之一第三探測及由該控制器發送之一第四探測,該第三探測及該第四探測之各者係為一探測請求訊框或一探測回應訊框之至少一者,其中資訊包含於一預定資訊 元素內;及經由該使用者介面獲得一共用秘密之確認;及在建立該配對之後,經由該無線介面將與該無線網路相關聯之一憑證發送至該附屬件,其中在包括於一第五探測中之一經加密之訊息中發送該憑證。 A controller, comprising: a wireless interface; a user interface; and a processor coupled to the wireless interface and the user interface, the processor configured to: detect from the wireless interface via the wireless interface a first detection of the accessory, the first detection comprising accessory identification information; communicating via the user interface to confirm that the accessory is to join a wireless network; communicating with the accessory via the wireless interface to establish a pairing, The establishing the pairing includes: exchanging information with the accessory using a plurality of additional probes, the plurality of additional probes comprising receiving, by the controller, a third probe and a fourth probe sent by the controller, the third probe And each of the fourth detections is at least one of a probe request frame or a probe response frame, wherein the information is included in a predetermined information Within the element; and obtaining a confirmation of a shared secret via the user interface; and after establishing the pairing, transmitting a voucher associated with the wireless network to the accessory via the wireless interface, wherein The voucher is sent in one of the five probes in the encrypted message. 如請求項17之控制器,其中該處理器進一步經組態以使得經由該使用者介面通信以確認該附屬件欲加入該無線網路包括:自該第一探測提取該附屬件識別資訊;經由該使用者介面將該所提取之附屬件識別資訊之至少一部分呈現給一使用者;及經由該使用者介面接收該附屬件欲加入該無線網路之一確認。 The controller of claim 17, wherein the processor is further configured to communicate via the user interface to confirm that the accessory is to join the wireless network comprises: extracting the accessory identification information from the first probe; The user interface presents at least a portion of the extracted accessory identification information to a user; and receives, via the user interface, the accessory to join the wireless network for confirmation. 如請求項17之控制器,其中該處理器進一步經組態以使得經由該無線介面與該附屬件通信以建立該配對包括:由該控制器產生一控制器公用密鑰;由該控制器將該第四探測發送至該附屬件,該第四探測包括該控制器公用密鑰;由該控制器接收該第三探測,該第三探測包括一附屬件公用密鑰;由該控制器至少部分基於該控制器公用密鑰及該附屬件公用密鑰來計算該共用秘密;由該控制器根據該共用秘密計算一密碼;由該控制器經由該使用者介面將該密碼呈現給一使用 者;由該控制器經由該使用者介面接收該密碼匹配由該附屬件計算出之一密碼之確認;及使用該共用秘密計算一另外的加密密鑰,其中該另外的加密密鑰用以加密該憑證。 The controller of claim 17, wherein the processor is further configured to communicate with the accessory via the wireless interface to establish the pairing comprising: generating a controller public key by the controller; The fourth probe is sent to the accessory, the fourth probe includes the controller public key; the third probe is received by the controller, the third probe includes an accessory public key; at least part of the controller Calculating the shared secret based on the controller public key and the accessory public key; calculating, by the controller, a password according to the shared secret; the controller presents the password to a use via the user interface Receiving, by the controller, the password through the user interface to match a confirmation of a password calculated by the accessory; and calculating an additional encryption key using the shared secret, wherein the additional encryption key is used for encryption The voucher. 如請求項17之控制器,其中該處理器進一步經組態以:在發送該憑證之後,確認該附屬件已加入該無線網路;及在確認該附屬件已加入該無線網路之後,經由該無線網路將資料發送至該附屬件。 The controller of claim 17, wherein the processor is further configured to: after transmitting the credential, confirm that the accessory has joined the wireless network; and after confirming that the accessory has joined the wireless network, via The wireless network sends the data to the accessory. 如請求項17之控制器,其中該等探測之各者包含遵循IEEE802.11系列標準之一探測請求訊框或探測回應訊框。 The controller of claim 17, wherein each of the probes comprises a probe request frame or a probe response frame that conforms to one of the IEEE 802.11 family of standards. 一種控制器,其包含:一無線介面;一使用者介面;及一處理器,其耦接至該無線介面及該使用者介面,該處理器經組態以:經由該無線介面偵測來自一附屬件之一第一探測,該第一探測包括附屬件識別資訊;經由該使用者介面通信以確認該附屬件欲加入一無線網路,其包括經由該使用者介面接收一附屬件密碼;經由該無線介面與該附屬件通信以建立一配對,其 中建立該配對包括使用複數個額外探測與該附屬件交換資訊,該複數個額外探測至少包括由該控制器接收之一第三探測及由該控制器發送之一第四探測,該第三探測及該第四探測之各者係為一探測請求訊框或一探測回應訊框之至少一者,其中資訊包含於一預定資訊元素內,該所交換之資訊包括基於該附屬件密碼之密碼鑑認資訊;及在建立該配對之後,經由該無線介面將與該無線網路相關聯之一憑證發送至該附屬件,其中在包括於一第五探測中之一經加密之訊息中發送該憑證。 A controller, comprising: a wireless interface; a user interface; and a processor coupled to the wireless interface and the user interface, the processor configured to: detect from the wireless interface via the wireless interface First detection of one of the attachments, the first detection comprising attachment identification information; communicating via the user interface to confirm that the accessory is to join a wireless network, comprising receiving an accessory password via the user interface; The wireless interface communicates with the accessory to establish a pairing Establishing the pairing includes exchanging information with the accessory using a plurality of additional probes, the plurality of additional probes including at least one of the third probes received by the controller and a fourth probe transmitted by the controller, the third probe And each of the fourth detections is at least one of a probe request frame or a probe response frame, wherein the information is included in a predetermined information element, and the exchanged information includes a password based on the accessory password. And after the pairing is established, a voucher associated with the wireless network is sent to the accessory via the wireless interface, wherein the voucher is sent in an encrypted message included in a fifth probe. 如請求項22之控制器,其中該處理器進一步經組態以使得經由該使用者介面通信包括:自該第一探測提取該附屬件識別資訊;及經由該使用者介面將該所提取之附屬件識別資訊之至少一部分呈現給一使用者。 The controller of claim 22, wherein the processor is further configured to communicate via the user interface comprising: extracting the accessory identification information from the first probe; and attaching the extracted via the user interface At least a portion of the piece identification information is presented to a user. 如請求項23之控制器,其中該處理器進一步經組態以使得經由該使用者介面通信進一步包括:自該第一探測提取密碼位置資訊,其指示該使用者可發現一附屬件密碼之位置;及將密碼提示提供給該使用者,該密碼提示包含基於該密碼位置資訊之一位置指示器。 The controller of claim 23, wherein the processor is further configured to communicate via the user interface further comprising: extracting password location information from the first probe indicating that the user can find the location of an accessory password And providing a password prompt to the user, the password prompt containing a location indicator based on the password location information.
TW100131143A 2010-08-30 2011-08-30 Accessory, controller, and method for establishing wireless communication link therebetween TWI441025B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/871,843 US8464061B2 (en) 2010-08-30 2010-08-30 Secure wireless link between two devices using probes

Publications (2)

Publication Number Publication Date
TW201224755A TW201224755A (en) 2012-06-16
TWI441025B true TWI441025B (en) 2014-06-11

Family

ID=44645212

Family Applications (1)

Application Number Title Priority Date Filing Date
TW100131143A TWI441025B (en) 2010-08-30 2011-08-30 Accessory, controller, and method for establishing wireless communication link therebetween

Country Status (8)

Country Link
US (2) US8464061B2 (en)
EP (1) EP2612513A1 (en)
JP (1) JP5524157B2 (en)
KR (1) KR101462361B1 (en)
CN (2) CN102387501B (en)
GB (2) GB2483544B (en)
TW (1) TWI441025B (en)
WO (1) WO2012030733A1 (en)

Families Citing this family (131)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9148409B2 (en) 2005-06-30 2015-09-29 The Chamberlain Group, Inc. Method and apparatus to facilitate message transmission and reception using different transmission characteristics
US12149618B2 (en) 2005-01-27 2024-11-19 The Chamberlain Group Llc Method and apparatus to facilitate transmission of an encrypted rolling code
USRE48433E1 (en) 2005-01-27 2021-02-09 The Chamberlain Group, Inc. Method and apparatus to facilitate transmission of an encrypted rolling code
US8422667B2 (en) 2005-01-27 2013-04-16 The Chamberlain Group, Inc. Method and apparatus to facilitate transmission of an encrypted rolling code
US9628880B2 (en) 2008-04-07 2017-04-18 Koss Corporation Wooden or other dielectric capacitive touch interface and loudspeaker having same
US8873523B2 (en) * 2009-09-30 2014-10-28 Apple Inc. Methods and apparatus for solicited activation for protected wireless networking
US9172680B2 (en) 2010-06-07 2015-10-27 Protected Mobility, Llc Systems and methods for enabling secure messaging, command, and control of remote devices, communicated via a short message service or other message oriented communications mediums
US8984271B2 (en) 2010-06-07 2015-03-17 Protected Mobility, Llc User interface systems and methods for input and display of secure and insecure message oriented communications
US9602277B2 (en) 2010-06-07 2017-03-21 Protected Mobilty, Llc User interface systems and methods for secure message oriented communications
US9143324B2 (en) 2010-06-07 2015-09-22 Protected Mobility, Llc Secure messaging
US8464061B2 (en) * 2010-08-30 2013-06-11 Apple Inc. Secure wireless link between two devices using probes
US8924706B2 (en) * 2010-11-05 2014-12-30 Protected Mobility, Llc Systems and methods using one time pads during the exchange of cryptographic material
KR101872976B1 (en) * 2011-05-20 2018-07-02 삼성전자주식회사 Method for performing service in network and device for performing service in network
US8600061B2 (en) * 2011-06-24 2013-12-03 Broadcom Corporation Generating secure device secret key
US8813198B2 (en) * 2011-07-05 2014-08-19 Apple Inc. Configuration of accessories for wireless network access
US8984273B2 (en) 2011-12-16 2015-03-17 Protected Mobility, Llc Method to provide secure multimedia messaging between peer systems
JP5979705B2 (en) * 2012-03-14 2016-08-31 日本電気通信システム株式会社 Node device, node device control method, and node device control program
KR20130125276A (en) * 2012-05-08 2013-11-18 한국전자통신연구원 Short probe rosponse
US9749038B2 (en) 2012-05-21 2017-08-29 Qualcomm Incorporated System and method for wireless docking utilizing a wireless docking profile
US9160719B2 (en) 2012-07-20 2015-10-13 Protected Mobility, Llc Hiding ciphertext using a linguistics algorithm with dictionaries
WO2014026344A1 (en) * 2012-08-16 2014-02-20 Oplink Communications, Inc. Self-configuring wireless network
WO2014033199A1 (en) * 2012-08-30 2014-03-06 Koninklijke Philips N.V. Method and devices for pairing within a group of wireless devices
US8910265B2 (en) 2012-09-28 2014-12-09 Sonos, Inc. Assisted registration of audio sources
US20140114778A1 (en) * 2012-10-24 2014-04-24 NCR Corporation, Law Dept. Techniques for drive thru mobile ordering
US9779596B2 (en) 2012-10-24 2017-10-03 Apple Inc. Devices and methods for locating accessories of an electronic device
WO2014094862A1 (en) * 2012-12-20 2014-06-26 Telefonaktiebolaget L M Ericsson (Publ) Method and mobile device for generating a data authentication key
US9319409B2 (en) 2013-02-14 2016-04-19 Sonos, Inc. Automatic configuration of household playback devices
US9237384B2 (en) * 2013-02-14 2016-01-12 Sonos, Inc. Automatic configuration of household playback devices
US20140247941A1 (en) * 2013-03-01 2014-09-04 Oplink Communications, Inc. Self-configuring wireless network
CN103200061A (en) * 2013-04-17 2013-07-10 北京推博信息技术有限公司 Method of building trust relationship between communication devices and communication devices and system
US9763067B2 (en) 2013-05-28 2017-09-12 Protected Mobility, Llc Methods and apparatus for long-short wave, low-high frequency radio secure message service
CN104219667B (en) * 2013-05-31 2018-05-11 华为终端(东莞)有限公司 For establishing the method and apparatus of connection
US9426185B1 (en) * 2013-06-03 2016-08-23 Ayla Networks, Inc. Proximity based communication with embedded system
US9730268B2 (en) * 2013-06-07 2017-08-08 Apple Inc. Communication between host and accessory devices using accessory protocols via wireless transport
US9603012B2 (en) * 2013-08-19 2017-03-21 Empire Technology Development Llc Secure wireless device connection using power line messages
KR102296162B1 (en) * 2013-08-30 2021-09-01 삼성전자주식회사 Method for connecting wlan communication and an electronic device thereof
GB2586549B (en) * 2013-09-13 2021-05-26 Vodafone Ip Licensing Ltd Communicating with a machine to machine device
US9933920B2 (en) 2013-09-27 2018-04-03 Sonos, Inc. Multi-household support
US9241355B2 (en) 2013-09-30 2016-01-19 Sonos, Inc. Media system access via cellular network
US10177933B2 (en) 2014-02-05 2019-01-08 Apple Inc. Controller networks for an accessory management system
WO2015093906A1 (en) * 2013-12-20 2015-06-25 삼성전자 주식회사 Connection method for smart home device and apparatus thereof
US9584891B1 (en) * 2013-12-23 2017-02-28 Amazon Technologies, Inc. Reconfigurable audio drivers
US9351061B1 (en) 2013-12-23 2016-05-24 Amazon Technologies, Inc. Audio accessory for media device
US9240982B2 (en) * 2013-12-27 2016-01-19 Canon Information And Imaging Solutions, Inc. Method for associating an image-forming device, a mobile device, and a user
US10251059B2 (en) * 2014-01-21 2019-04-02 Everykey Inc. Authentication device and method
KR102101308B1 (en) * 2014-02-05 2020-04-16 애플 인크. Uniform communication protocols for communication between controllers and accessories
WO2015134753A1 (en) * 2014-03-07 2015-09-11 Ubiquiti Networks, Inc. Cloud device identification and authentication
WO2015136142A1 (en) 2014-03-12 2015-09-17 Nokia Technologies Oy Pairing of devices
US11256798B2 (en) 2014-03-19 2022-02-22 Bluefin Payment Systems Llc Systems and methods for decryption as a service
DK3790301T3 (en) 2014-03-19 2022-07-04 Bluefin Payment Sys Llc SYSTEMS AND METHODS FOR MANUFACTURING FINGERPRINTS FOR ENCRYPTION DEVICES
US9461973B2 (en) 2014-03-19 2016-10-04 Bluefin Payment Systems, LLC Systems and methods for decryption as a service
WO2015184387A1 (en) 2014-05-30 2015-12-03 Apple Inc. Accessory management system using environment model
CN105228153B (en) * 2014-07-01 2020-01-21 北京奇虎科技有限公司 Network access method, system and wireless routing equipment
GB2542299A (en) * 2014-07-04 2017-03-15 Google Inc Bootstrapping a device to a wireless network
US11695804B2 (en) 2014-07-24 2023-07-04 Entropie Communications, LLC Method and apparatus for MoCA network with protected set-up
US10104083B2 (en) * 2014-07-24 2018-10-16 Maxlinear, Inc. Method and apparatus for MoCA network with protected set-up
US9819698B2 (en) 2014-07-24 2017-11-14 Maxlinear, Inc. Method and apparatus for MoCA network with protected set-up
US20160065374A1 (en) 2014-09-02 2016-03-03 Apple Inc. Method of using one device to unlock another device
US9531542B2 (en) 2014-09-19 2016-12-27 Bank Of America Corporation Secure remote password
US20160112411A1 (en) * 2014-10-15 2016-04-21 Nokia Solutions And Networks Oy One time credentials for secure automated bluetooth pairing
KR20160076371A (en) 2014-12-22 2016-06-30 삼성전자주식회사 Method for processing workflow and mobile device for performing the same
US10110767B2 (en) 2014-12-22 2018-10-23 S-Printing Solution Co., Ltd. Method of generating workform by using BYOD service and mobile device for performing the method
WO2016105044A1 (en) * 2014-12-22 2016-06-30 Samsung Electronics Co., Ltd. Method of establishing connection between mobile device and image forming apparatus, and image forming apparatus and mobile device for performing the method
US10630647B2 (en) * 2015-02-05 2020-04-21 Apple Inc. Secure wireless communication between controllers and accessories
US10206170B2 (en) 2015-02-05 2019-02-12 Apple Inc. Dynamic connection path detection and selection for wireless controllers and accessories
US9544768B2 (en) * 2015-03-20 2017-01-10 Hyundai Motor Company Method and apparatus for performing secure Bluetooth communication
US9794867B2 (en) 2015-04-27 2017-10-17 Apple Inc. Reconfiguration of wireless devices for wireless network access
KR20160132302A (en) * 2015-05-09 2016-11-17 삼성전자주식회사 Method for sharing key between devices using physical access restriction
DE102015108180A1 (en) * 2015-05-22 2016-11-24 Carl Zeiss Industrielle Messtechnik Gmbh System and method for the intelligent coupling and connection of mobile terminals to a coordinate measuring machine
JP6532333B2 (en) * 2015-07-21 2019-06-19 キヤノン株式会社 Communication device, communication method and program
JP6570355B2 (en) * 2015-07-21 2019-09-04 キヤノン株式会社 COMMUNICATION DEVICE, COMMUNICATION METHOD, AND PROGRAM
US10708130B2 (en) 2015-08-28 2020-07-07 Hewlett-Packard Development Company, L.P. Common management frameworks
US9954836B2 (en) * 2015-11-06 2018-04-24 Bank Of America Corporation Wireless network information flow conditioning
EP3190747B1 (en) * 2016-01-08 2018-11-14 Apple Inc. Secure wireless communication between controllers and accessories
US10382210B2 (en) 2016-01-10 2019-08-13 Apple Inc. Secure device pairing
US9838956B2 (en) * 2016-03-02 2017-12-05 Sr Technologies, Inc. Identification of mobile nodes in WLAN communications
US10104501B2 (en) * 2016-04-12 2018-10-16 Elliptic Laboratories As Proximity detection
KR20180000527A (en) * 2016-06-23 2018-01-03 에스프린팅솔루션 주식회사 Image forming apparauts, mobile terminal and local login processing method thereof
KR20180008218A (en) * 2016-07-15 2018-01-24 에스프린팅솔루션 주식회사 Method for sharing account of cloud printing service, and cloud server for performing the same
CN108353339A (en) * 2016-08-21 2018-07-31 华为技术有限公司 Method and device for networking between devices
US11061795B2 (en) 2016-08-22 2021-07-13 Optimal Plus Ltd. Methods of smart pairing
CN106790166A (en) * 2016-12-29 2017-05-31 郑州云海信息技术有限公司 A kind of method of safety certification, apparatus and system
CN108696915A (en) * 2017-03-10 2018-10-23 三纬国际立体列印科技股份有限公司 Method for quickly setting Wi-Fi connection line of output device
US11068478B2 (en) * 2017-03-15 2021-07-20 Optimal Plus Ltd. Augmenting reliability models for manufactured products
US10802904B2 (en) 2017-05-16 2020-10-13 Apple Inc. Techniques for repairing an inoperable auxiliary device using another device
WO2018223130A1 (en) 2017-06-02 2018-12-06 Bluefin Payment Systems Llc Systems and methods for managing a payment terminal via a web browser
US11070534B2 (en) 2019-05-13 2021-07-20 Bluefin Payment Systems Llc Systems and processes for vaultless tokenization and encryption
US11711350B2 (en) 2017-06-02 2023-07-25 Bluefin Payment Systems Llc Systems and processes for vaultless tokenization and encryption
US10496508B2 (en) 2017-06-02 2019-12-03 Apple Inc. Accessory communication control
CN107248987B (en) * 2017-06-08 2021-01-15 深圳市微目腾科技术有限公司 Wireless radio frequency equipment pairing method
JP6389938B2 (en) * 2017-09-06 2018-09-12 キヤノン株式会社 Information processing apparatus and program
CN111567067A (en) * 2017-09-28 2020-08-21 泰尔斯特拉有限公司 Method and system for locating wireless electronic devices
US10708769B2 (en) * 2017-12-20 2020-07-07 Bose Corporation Cloud assisted accessory pairing
US10652743B2 (en) 2017-12-21 2020-05-12 The Chamberlain Group, Inc. Security system for a moveable barrier operator
US10958463B1 (en) * 2018-03-26 2021-03-23 Lynq Technologies, Inc. Pairing multiple devices into a designated group for a communication session
US10708261B2 (en) * 2018-05-07 2020-07-07 Vmware, Inc. Secure gateway onboarding via mobile devices for internet of things device management
US10595073B2 (en) 2018-06-03 2020-03-17 Apple Inc. Techniques for authorizing controller devices
US11233779B2 (en) 2018-06-03 2022-01-25 Apple Inc. Wireless credential sharing
US11805009B2 (en) 2018-06-03 2023-10-31 Apple Inc. Configuring accessory network connections
US11074773B1 (en) 2018-06-27 2021-07-27 The Chamberlain Group, Inc. Network-based control of movable barrier operators for autonomous vehicles
CA3107457A1 (en) 2018-08-01 2020-02-06 The Chamberlain Group, Inc. Movable barrier operator and transmitter pairing over a network
CN109391528A (en) * 2018-08-31 2019-02-26 百度在线网络技术(北京)有限公司 Awakening method, device, equipment and the storage medium of speech-sound intelligent equipment
US11641563B2 (en) 2018-09-28 2023-05-02 Apple Inc. System and method for locating wireless accessories
WO2020068102A1 (en) * 2018-09-28 2020-04-02 Hewlett-Packard Development Company, L.P. Bios access
US11121871B2 (en) * 2018-10-22 2021-09-14 International Business Machines Corporation Secured key exchange for wireless local area network (WLAN) zero configuration
US11128474B2 (en) * 2019-03-25 2021-09-21 Micron Technology, Inc. Secure device communication
WO2020214708A1 (en) 2019-04-17 2020-10-22 Prestacom Services Llc Finding a target device using augmented reality
EP4418694A1 (en) 2019-04-17 2024-08-21 Apple Inc. Separation notifications for wireless accessories
CN119603635A (en) * 2019-04-17 2025-03-11 苹果公司 Shared keys for wireless accessories
US11863671B1 (en) 2019-04-17 2024-01-02 Apple Inc. Accessory assisted account recovery
US11805419B2 (en) * 2019-04-22 2023-10-31 Google Llc Automatically paired devices
US10997810B2 (en) 2019-05-16 2021-05-04 The Chamberlain Group, Inc. In-vehicle transmitter training
JP7310449B2 (en) * 2019-08-29 2023-07-19 ブラザー工業株式会社 A first communication device and a computer program for the first communication device
CN110995665B (en) * 2019-11-15 2023-04-18 北京小米移动软件有限公司 Network distribution method and device, electronic equipment and storage medium
CN110933672B (en) 2019-11-29 2021-11-30 华为技术有限公司 Key negotiation method and electronic equipment
CN111277980B (en) * 2020-01-21 2023-09-26 杭州涂鸦信息技术有限公司 Pairing method, remote control method, system and device based on WiFi detection request frame
US11310117B2 (en) * 2020-06-24 2022-04-19 Red Hat, Inc. Pairing of a probe entity with another entity in a cloud computing environment
CN111953362B (en) * 2020-07-16 2022-01-14 深圳安吉尔饮水产业集团有限公司 Communication method, communication device, communication transceiver and readable storage medium
US11889302B2 (en) 2020-08-28 2024-01-30 Apple Inc. Maintenance of wireless devices
CN112039919B (en) * 2020-09-11 2022-08-23 长春理工大学 Atmospheric turbulence optical channel shared random bit extraction method based on frequency equalization
US11895493B1 (en) * 2021-02-18 2024-02-06 Amazon Technologies, Inc. Controlling a device that operates in a monitor mode
US11863993B2 (en) * 2021-03-04 2024-01-02 GM Global Technology Operations LLC Automated lightweight and secure device pairing
CN113228722B (en) * 2021-03-29 2023-02-10 华为技术有限公司 A pairing method and device
US12073705B2 (en) 2021-05-07 2024-08-27 Apple Inc. Separation alerts for notification while traveling
US12143895B2 (en) 2021-06-04 2024-11-12 Apple Inc. Pairing groups of accessories
US12279227B2 (en) 2021-06-04 2025-04-15 Apple Inc. Device location finding
US12495353B2 (en) 2022-04-12 2025-12-09 Apple Inc. Non-waking maintenance of near owner state
US20240114371A1 (en) * 2022-09-30 2024-04-04 Fortinet, Inc. Attaining rapid radio frequency (rf) channel inspection using intelligent transceiver scanning in wlan networks
GB202218412D0 (en) * 2022-12-07 2023-01-18 Electrolux Appliances AB Onboarding a household appliance to a network with the assistance of a household appliance connected to the network
US20250024265A1 (en) * 2023-07-11 2025-01-16 Stmicroelectronics International N.V. Authentication method for use in pairing a peripheral device to a companion device via a host device
US20250039666A1 (en) * 2023-07-27 2025-01-30 Avago Technologies International Sales Pte. Limited Systems for and methods of communication in a network using a probe message

Family Cites Families (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6463473B1 (en) 1999-04-09 2002-10-08 Sharewave, Inc. Configuring a wireless computer network to allow automatic access by a guest client device
US6434113B1 (en) 1999-04-09 2002-08-13 Sharewave, Inc. Dynamic network master handover scheme for wireless computer networks
JP2001255815A (en) * 2000-03-13 2001-09-21 Toyo Commun Equip Co Ltd Method and equipment for communicating enciphered speech
US6934752B1 (en) 2000-03-23 2005-08-23 Sharewave, Inc. Quality of service extensions for multimedia applications in wireless computer networks
US7493368B2 (en) 2000-12-01 2009-02-17 Sony Corporation System and method for effectively providing user information from a user device
WO2002062024A2 (en) 2001-01-30 2002-08-08 Broadcom Corporation Method for adding a new device to a wireless network
US7516325B2 (en) * 2001-04-06 2009-04-07 Certicom Corp. Device authentication in a PKI
SE0101295D0 (en) 2001-04-10 2001-04-10 Ericsson Telefon Ab L M A method and network for delivering streaming data
EP1257090B1 (en) 2001-05-08 2004-11-17 Lucent Technologies Inc. Wireless LAN with dynamic frequency selection
US7274684B2 (en) 2001-10-10 2007-09-25 Bruce Fitzgerald Young Method and system for implementing and managing a multimedia access network device
US7254708B2 (en) 2002-03-05 2007-08-07 Intel Corporation Apparatus and method for wireless device set-up and authentication using audio authentication—information
ATE380424T1 (en) 2002-05-01 2007-12-15 Ericsson Telefon Ab L M SYSTEM, APPARATUS AND METHOD FOR SIM BASED AUTHENTICATION AND ENCRYPTION WHEN ACCESSING A WIRELESS LOCAL NETWORK
WO2003105436A1 (en) 2002-06-07 2003-12-18 Siemens Aktiengesellschaft Method and device for authenticating a subscriber for utilizing services in a wireless lan (wlan)
US7370350B1 (en) * 2002-06-27 2008-05-06 Cisco Technology, Inc. Method and apparatus for re-authenticating computing devices
US7697920B1 (en) * 2006-05-05 2010-04-13 Boojum Mobile System and method for providing authentication and authorization utilizing a personal wireless communication device
US7325134B2 (en) * 2002-10-08 2008-01-29 Koolspan, Inc. Localized network authentication and security using tamper-resistant keys
US7350077B2 (en) 2002-11-26 2008-03-25 Cisco Technology, Inc. 802.11 using a compressed reassociation exchange to facilitate fast handoff
US7508801B1 (en) 2003-03-21 2009-03-24 Cisco Systems, Inc. Light-weight access point protocol
US20040264413A1 (en) 2003-06-26 2004-12-30 Oren Kaidar Device, system and method for channel scanning
US20050036623A1 (en) * 2003-08-15 2005-02-17 Ming-Jye Sheu Methods and apparatus for distribution of global encryption key in a wireless transport network
US7466678B2 (en) 2003-12-29 2008-12-16 Lenovo (Singapore) Pte. Ltd. System and method for passive scanning of authorized wireless channels
US7646872B2 (en) 2004-04-02 2010-01-12 Research In Motion Limited Systems and methods to securely generate shared keys
US7603557B2 (en) 2004-04-15 2009-10-13 Panasonic Corporation Communication device, communication system and authentication method
US7522549B2 (en) 2004-04-16 2009-04-21 Broadcom Corporation Registering access device multimedia content via a broadband access gateway
US20050239445A1 (en) 2004-04-16 2005-10-27 Jeyhan Karaoguz Method and system for providing registration, authentication and access via broadband access gateway
US20050250472A1 (en) * 2004-05-04 2005-11-10 Silvester Kelan C User authentication using a wireless device
JP4923283B2 (en) * 2004-08-20 2012-04-25 富士ゼロックス株式会社 Wireless communication system, communication device, and communication control program
US20060116107A1 (en) * 2004-11-24 2006-06-01 Hulvey Robert W System and method for pairing wireless headsets and headphones
JP4433400B2 (en) 2004-12-09 2010-03-17 レノボ シンガポール プライヴェート リミテッド Wireless network communication card, device incorporating the card, device supporting wireless network communication, and method of detecting a wireless access point for wireless network communication
US7370362B2 (en) 2005-03-03 2008-05-06 Cisco Technology, Inc. Method and apparatus for locating rogue access point switch ports in a wireless network
US20070038787A1 (en) 2005-03-30 2007-02-15 Logitech Europe S.A. Interface device and method for networking legacy consumer electronics devices
GB2425439B (en) * 2005-04-19 2007-05-09 Motorola Inc Determination of a network identity for a network access point
US20070004404A1 (en) 2005-07-01 2007-01-04 Research In Motion Limited System and method for accelerating network selection by a wireless user equipment (UE) device using satellite-based positioning system
US7577125B2 (en) 2005-07-08 2009-08-18 Microsoft Corporation Direct wireless client to client communication
US8320880B2 (en) * 2005-07-20 2012-11-27 Qualcomm Incorporated Apparatus and methods for secure architectures in wireless networks
US20070055743A1 (en) 2005-09-02 2007-03-08 Pirtle Ross M Remote control media player
US20070080823A1 (en) 2005-10-07 2007-04-12 Apple Computer, Inc. Techniques for pairing remote controllers with host devices
CN1983842A (en) 2005-12-13 2007-06-20 中兴通讯股份有限公司 Device and method for fastly building connection of blue-tooth radio equipment
US8559350B2 (en) 2005-12-20 2013-10-15 Microsoft Corporation Mechanism to convey discovery information in a wireless network
US8023478B2 (en) 2006-03-06 2011-09-20 Cisco Technology, Inc. System and method for securing mesh access points in a wireless mesh network, including rapid roaming
US7444388B1 (en) 2006-04-13 2008-10-28 Concert Technology Corporation System and method for obtaining media content for a portable media player
KR100756228B1 (en) 2006-07-13 2007-09-06 삼성전자주식회사 Service apparatus and method of IP multimedia subsystem in portable terminal connected to wireless LAN and mobile communication system
US8467784B2 (en) 2006-07-14 2013-06-18 Qualcomm Incorporated WLAN system scanning and selection
US8014529B2 (en) 2006-08-18 2011-09-06 Eye-Fi, Inc. In-band device enrollment without access point support
US7715793B2 (en) 2006-08-31 2010-05-11 Symbol Technologies, Inc. System and method for establishing a wireless connection between wireless devices
JP5298391B2 (en) * 2006-09-18 2013-09-25 マーベル インターナショナル リミテッド Ad hoc network construction between many devices
US8285851B2 (en) 2007-01-08 2012-10-09 Apple Inc. Pairing a media server and a media client
EP1950987A1 (en) 2007-01-23 2008-07-30 Research In Motion Limited Passively scanning according to WLAN regulatory domain
US20080256205A1 (en) 2007-02-26 2008-10-16 Shawn Christopher Mahoney Apparatus and Method for a Portable Hand Held Device Into a Media Controller
JP2008219358A (en) 2007-03-02 2008-09-18 Sony Corp Wireless communication system, wireless communication apparatus, wireless communication method, and computer program
US20080220719A1 (en) 2007-03-10 2008-09-11 Samsung Electronics Co., Ltd. System and method for providing multimedia content to a wireless device
US8472874B2 (en) 2007-03-14 2013-06-25 Apple Inc. Method and system for pairing of wireless devices using physical presence
EP1983778A1 (en) 2007-04-18 2008-10-22 Research In Motion Limited Determining a WLAN regulatory domain
JP4929040B2 (en) * 2007-05-10 2012-05-09 キヤノン株式会社 Communication apparatus and communication method
EP1993301B1 (en) * 2007-05-15 2009-07-15 NTT DoCoMo, Inc. Method and apparatus of operating a wireless home area network
US8078787B2 (en) 2007-06-22 2011-12-13 Apple Inc. Communication between a host device and an accessory via an intermediate device
US8667144B2 (en) 2007-07-25 2014-03-04 Qualcomm Incorporated Wireless architecture for traditional wire based protocol
WO2009016800A1 (en) 2007-07-31 2009-02-05 Nec Corporation Wireless lan terminal and access point searching method
WO2009022397A1 (en) * 2007-08-10 2009-02-19 Panasonic Corporation Radio terminal, network connection method, and program
US7944886B2 (en) 2007-08-21 2011-05-17 Cisco Technology, Inc. Infrastructure-based enabling indication for dynamic frequency selection in wireless networks
CN101399825A (en) * 2007-09-29 2009-04-01 华为技术有限公司 Method, device and system for sharing matched pair information between equipments
US7911990B2 (en) 2007-10-26 2011-03-22 Microsoft Corporation Ad hoc wireless networking
EP2053886A3 (en) * 2007-10-26 2015-03-25 Hitachi, Ltd. Communication system and gateway apparatus
CN101232378B (en) * 2007-12-29 2010-12-08 西安西电捷通无线网络通信股份有限公司 Authentication accessing method of wireless multi-hop network
KR101195885B1 (en) 2008-03-03 2012-10-30 삼성전자주식회사 Wireless audio output device, wireless audio output system including same and control method thereof
JP4613969B2 (en) 2008-03-03 2011-01-19 ソニー株式会社 Communication apparatus and communication method
JP4506856B2 (en) * 2008-03-10 2010-07-21 ソニー株式会社 Communication apparatus and communication method
KR20090113033A (en) 2008-04-25 2009-10-29 삼성전자주식회사 Method and device for wireless LAN setting of device
US20100042841A1 (en) 2008-08-15 2010-02-18 Neal King Updating and Distributing Encryption Keys
JP4844613B2 (en) * 2008-09-30 2011-12-28 ブラザー工業株式会社 Wireless network connection method, wireless communication apparatus, and program
JP4844611B2 (en) * 2008-09-30 2011-12-28 ブラザー工業株式会社 Wireless communication apparatus, connection method and program
JP5600407B2 (en) 2008-10-10 2014-10-01 キヤノン株式会社 COMMUNICATION DEVICE, COMMUNICATION DEVICE CONTROL METHOD, AND COMPUTER PROGRAM
US8151336B2 (en) * 2008-12-10 2012-04-03 At&T Intellectual Property Ii, Lp Devices and methods for secure internet transactions
WO2010073732A1 (en) * 2008-12-26 2010-07-01 パナソニック株式会社 Communication device
US8625552B2 (en) 2008-12-31 2014-01-07 Microsoft Corporation Wireless provisioning a device for a network using a soft access point
US8335937B2 (en) * 2009-12-24 2012-12-18 Intel Corporation Method and system for discoverability of power saving P2P devices
KR101719161B1 (en) 2010-05-13 2017-03-23 삼성전자주식회사 Wifi-based devices and a method of operating the same
KR101731844B1 (en) 2010-05-14 2017-05-02 삼성전자 주식회사 Method and system for providing Wi-Fi service of Wi-Fi device
US8464061B2 (en) * 2010-08-30 2013-06-11 Apple Inc. Secure wireless link between two devices using probes
EP2518932A3 (en) * 2010-10-05 2015-11-18 Brandenburgische Technische Universität Cottbus-Senftenberg A method of password-based authentication and session key agreement for secure data transmission, a method for securely transmitting data, and an electronic data transmission system

Also Published As

Publication number Publication date
CN102387501A (en) 2012-03-21
GB2483544B (en) 2014-04-02
GB201215461D0 (en) 2012-10-17
CN102387501B (en) 2015-03-25
US8873758B2 (en) 2014-10-28
US20120054493A1 (en) 2012-03-01
GB2483544A (en) 2012-03-14
WO2012030733A1 (en) 2012-03-08
JP5524157B2 (en) 2014-06-18
US20130279698A1 (en) 2013-10-24
EP2612513A1 (en) 2013-07-10
JP2012050096A (en) 2012-03-08
KR20130041985A (en) 2013-04-25
US8464061B2 (en) 2013-06-11
CN202738112U (en) 2013-02-13
KR101462361B1 (en) 2014-11-14
GB2494062A (en) 2013-02-27
GB2494062B (en) 2014-01-08
GB201114925D0 (en) 2011-10-12
TW201224755A (en) 2012-06-16

Similar Documents

Publication Publication Date Title
TWI441025B (en) Accessory, controller, and method for establishing wireless communication link therebetween
US11765172B2 (en) Network system for secure communication
JP6612734B2 (en) Personal health device and method for pairing personal health device with computing device
JP6374010B2 (en) Information communication method, apparatus, and electronic apparatus
EP3602997B1 (en) Mutual authentication system
JP7151131B2 (en) Communication device and computer program for the communication device
EP3058694B1 (en) Establishing a secure connection between a master device and a slave device
US20210282011A1 (en) Communication apparatus, control method, and storage medium
JP7622801B2 (en) COMMUNICATION DEVICE AND COMPUTER PROGRAM FOR THE COMMUNICATION DEVICE
US20100017612A1 (en) Electronic Apparatus and Communication System
CN107852327A (en) Communication equipment, communication means and program
KR20130043336A (en) Display device, and access point connection method of a display device
JP2024055092A (en) Communication device, control method, and program
WO2018023495A1 (en) Device pairing and data transmission method for handheld communication device
JP7315066B2 (en) Communication device and computer program for the communication device