0xE001 - Get Challenge
The host uses this command to request challenge data from the device, which the host can then use to perform a specific sensitive operation / modify a specific type of device setting. Information about how the host should pass the required challenge data to the device is included in the documentation for all commands that use this security mechanism.
The sequence of events is as follows:
The host already wants to perform a secured operation that requires a challenge (for example Command 0xEEEE - Send Secured Command to Device).
The host constructs the command request for Get Challenge - Command 0xE001 in the format below.
The host sends the command request to the device.
The device generates a random number for the challenge, stores it locally, and sends a response in the format below to the host.
The device starts a 5 minute countdown timer during which the challenge is valid. If the host takes no action within 5 minutes, the timer expires, the device erases the challenge data, and the device must retrieve a fresh challenge to perform the operation it wants to perform. This binding of the command to a specific time period allows the device to detect and reject commands that have been captured/intercepted at one point in time and replayed later.