Pairing an accessory with a host device using accessory output device
AssigneeApple Inc.
InventorRobert Bradley
Life of this patent
Estimating the term…
Abstract
A method for pairing an accessory with a host device includes placing an output device of the accessory into a randomly selected state N-times. The information about the current state of the accessory is provided to a host device after each state selection for N number of times. Thereafter, the host device generates an authentication code based on the N inputs and the accessory generates another authentication code based on the N selected states. The authentication codes can be then compared and can be used to “pair” the host device and the accessory, allowing secure communication.
Claims21
A method for pairing with an accessory, the method comprising, by a host device:
- instructing the accessory to select a state for an output device;
- receiving an input indicative of the selected state of the output device;
- repeating the instructing and the receiving until a number (N) of inputs have been received;
- generating a passcode based at least in part on the N inputs;
- and
- pairing with the accessory based on the passcode.
A host device comprising:
- a processor;
- a memory coupled to the processor;
- an accessory interface configured to communicate with an accessory;
- and
- an input interface configured to receive input from a user;
- wherein the processor is configured to:
- send a message instructing the accessory to select a state for an output device;
- receive a first input via the input interface, wherein the first input is indicative of the selected state of the output device;
- repeat the send and the receive steps until a number (N) of inputs are received, wherein the N inputs together represent a random code;
- encode the random code to generate a first authentication code;
- and
- pair with the accessory using the first authentication code.
An accessory comprising:
- a processor;
- an interface coupled with the processor and configured to communicate with a host device;
- an output device coupled with the processor;
- and
- a memory coupled with the processor and including program code for generating a passcode, wherein the processor in conjunction with the memory is configured to:
- randomly select a state for the output device;
- place the output device in the selected state;
- receive instructions from the host device to select a next state for the output device;
- select the next state and place the output device in the next state in response to the instructions from a host device;
- repeat the randomly select, the place, the receive, and the select the next state steps for a predetermined number of times to generate a random code, the random code being a sequence indicative of selected states of the output device;
- and
- generate an authentication code based at least in part on the random code.
A non-transitory computer-readable storage medium including instructions which when executed by a processor in an accessory including an output device, cause the processor to perform a method of generating an authentication code, the method comprising:
- receiving a count from a host device, the count indicating a number (N) of iterations of a code-generation operation to perform;
- for each of the N iterations of the code-generating operation:
- randomly selecting a state for the output device;
- placing the output device in the selected state;
- receiving instruction from the host to select a next state for the output device;
- and
- in response to the instruction, randomly selecting the next state for the output device and placing the output device in the next state;
- and
- subsequent to the N iterations of the code-generating operation, computing an authentication code based at least in part on the N randomly selected states.
Dependencies are inferred from the claim text.