摘要:
A controller and an accessory controllable by the controller can communicate using secure read and write procedures. The procedures can include encrypting identifiers of accessory characteristics targeted by a read or write operation as well as any data being read or written. The procedures can also include the accessory returning a cryptographically signed response verifying receipt and execution of the read or write instruction. In some instances, a write procedure can be implemented as a timed write in which a first instruction containing the write data is sent separately from a second instruction to execute the write operation; the accessory can disregard the write data if the second instruction is not received within a timeout period after receiving the first instruction.
摘要:
Controllers can be used to control the operation of various accessories. Controllers with access to a particular accessory (or group of accessories) can be organized into a controller network to facilitate control. The controller network can include various proxy devices including bridge and tunnel proxies that can relay messages to and from accessories, perform protocol translations, and/or provide communication security. Some proxy devices can include decision logic to enable coordinated control over one or more accessories by the controllers in the controller network.
摘要:
An accessory communication control protocol can facilitate faster and more secure transmission of status updates from an accessory to a controller (or network base station). An accessory can register with a controller, where the controller can provide some subscription and key generation information to the accessory. The accessory can detect changes to characteristics of the accessory and generate a broadcast notification that includes updates to the state of the characteristic. The broadcast notification can also include a counter, a device identifier, and a key. According to timing or rules, the accessory can transmit the broadcast notification to the controller without the need to establish a secure session with the controller.
摘要:
Controllers can communicate with accessories using various paths, such as a wireless communication path. A controller can maintain reachability information for each accessory indicating the path(s) via which the accessory is currently reachable. Maintaining the reachability information can include scanning to detect broadcasts from the accessories and updating the reachability information based on the results of scanning. Scanning parameters such as scan interval and scan duration can be selected dynamically based on the current operating context of the controller (e.g., where the controller is located, what processes are active on the controller, what other devices have been detected within communication range of the controller).
摘要:
Controllers can communicate with accessories using various paths, such as a wireless communication path. A controller can maintain reachability information for each accessory indicating the path(s) via which the accessory is currently reachable. Maintaining the reachability information can include scanning to detect broadcasts from the accessories and updating the reachability information based on the results of scanning. Scanning parameters such as scan interval and scan duration can be selected dynamically based on the current operating context of the controller (e.g., where the controller is located, what processes are active on the controller, what other devices have been detected within communication range of the controller).
摘要:
A host device may include a wireless interface for communications, a memory, and a processor coupled to the memory and to the wireless interface. The host device may receive, via the wireless interface, an advertisement message from a client device. The advertisement message may include an identifier associated with the client device and a request for communication of data from a cloud-based service. Responsive to the advertisement, the host may send the identifier to the cloud-based service. The host may receive from the cloud-based service, a proxy indication of available data associated with the client. Responsive to receiving the proxy indication of available data, the host may provide, via the wireless interface, a connection request including a client indication of the available data from the cloud-based service to the client. After receiving the available data from the cloud-based service, the host device may send the available data to the client.
摘要:
An accessory communication control protocol can facilitate faster and more secure transmission of status updates from an accessory to a controller (or network base station). An accessory can register with a controller, where the controller can provide some subscription and key generation information to the accessory. The accessory can detect changes to characteristics of the accessory and generate a broadcast notification that includes updates to the state of the characteristic. The broadcast notification can also include a counter, a device identifier, and a key. According to timing or rules, the accessory can transmit the broadcast notification to the controller without the need to establish a secure session with the controller.
摘要:
An authentication process for an endpoint device uses a pair of tokens. Tokens are generated at an authentication server that maintains a data store of token states, where the states are defined to include a “normal” state sequence along which a token is expected to advance. The endpoint device can store a token pair in non-volatile local storage. To authenticate, the endpoint device can provide its stored token pair to the authentication server, which can determine whether authentication succeeds based on the states of the tokens in the token pair. After successful authentication, the authentication server can provide a new token pair to the endpoint device and advance the token states along the normal sequence. When the endpoint device confirms receipt of the new token pair, which replaces the previous token pair, the authentication server can advance the state of the tokens again.
摘要:
An authentication process for an endpoint device uses a pair of tokens. Tokens are generated at an authentication server that maintains a data store of token states, where the states are defined to include a “normal” state sequence along which a token is expected to advance. The endpoint device can store a token pair in non-volatile local storage. To authenticate, the endpoint device can provide its stored token pair to the authentication server, which can determine whether authentication succeeds based on the states of the tokens in the token pair. After successful authentication, the authentication server can provide a new token pair to the endpoint device and advance the token states along the normal sequence. When the endpoint device confirms receipt of the new token pair, which replaces the previous token pair, the authentication server can advance the state of the tokens again.
摘要:
Controllers can communicate with accessories using various paths, such as a wireless communication path. A controller can maintain reachability information for each accessory indicating the path(s) via which the accessory is currently reachable. Maintaining the reachability information can include scanning to detect broadcasts from the accessories and updating the reachability information based on the results of scanning. Scanning parameters such as scan interval and scan duration can be selected dynamically based on the current operating context of the controller (e.g., where the controller is located, what processes are active on the controller, what other devices have been detected within communication range of the controller).