3.1 Client Details

The role of the client in the Bluetooth pairing process is as follows:

  1. The client establishes an unauthenticated RFCOMM connection with the server to execute the Automatic Bluetooth Pairing Protocol.

  2. The client executes a state machine to initiate and authenticate the Bluetooth pairing.

  3. The client sends a PairingRequired message (section 2.2.3.2) to the server and waits for the server to respond.

  4. After receiving a ReadyToPair message (section 2.2.3.4) from the server, the client initiates the Bluetooth pairing with a numeric comparison procedure. The client then waits for the server to initiate challenge/response authentication.

  5. After receiving the Challenge message (section 2.2.3.1) from the server, the client computes the corresponding response value and returns the value to the server by sending a Response message (section 2.2.3.5).

  6. The client authenticates the server by generating a random challenge and sending it to the server by using a Challenge message (section 2.2.3.1).

  7. The client waits for the server to return a Response message (section 2.2.3.5).

  8. After receiving the Response message, the client validates the response value. If the validation succeeds, the client completes the pairing with the server. If the validation fails, the client aborts the pairing with the server.

Client state diagram

Figure 2: Client state diagram