[Request] Clarification related to pairing in a particular scenario

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello all,
could someone please clarify my doubt related to the concept of pairing in a particular scenario

If a remote device having no I/O capability (also authentication : general bonding, and  No MITM protection)
sent a pairing request to our local device(DUT running with the bluez stack), local device stack auto accept
the pairing request even though local device has I/O capability

Is the Behavior of auto-accepting the pairing request justified?
-- According to the specification "From the Bluetooth Core Specification 4.1 page 1958:
 "if both devices have set the Authentication_Requirements parameter to one of the MITM
  Protection Not Required options, authentication stage 1 shall function as if both devices
  set their IO capabilities to  DisplayOnly (e.g., Numeric comparison with automatic confirmation on both devices)"
 
 Local device had set the "NO MITM protection required" based on the remote authentication and capabilities.
  Is the behavior of over-riding local device MITM capability necessary?

In case of local device initiating a connection to the remote device, auto accept from the stack is acceptable
but in case of remote initiated connection, auto-accept will cause user inconvenience, Isn't it?

I have tested the similar scenario with the device having bluedroid stack, here we get a authorization popup,
action on which will complete the pairing and connection. i.e auto-pairing is not done in stack

May be we all have the following query,
How does remote-device sent pairing request to Local device, when it doesn't have "NoInputNoOutput" capability?
Ans: Remote device was paired and connected by local device first and then disconnected and link key is removed in the local device.
        When remote device is restarted, it is attempting to connect to the local device. When link-key validation failed, it attempted pairing

Remote device : I'm using Motorola Roadster 2
Local device : DUT running with latest bluez stack


HCI_Dump snippet when remote device initiated the connection to local device(DUT)
> HCI Event: Link Key Request (0x17) plen 6
    bdaddr 00:24:1C:D6:6F:1B
< HCI Command: Link Key Request Negative Reply (0x01|0x000c) plen 6
    bdaddr 00:24:1C:D6:6F:1B
> HCI Event: Command Complete (0x0e) plen 10
    Link Key Request Negative Reply (0x01|0x000c) ncmd 1
    status 0x00 bdaddr 00:24:1C:D6:6F:1B
> HCI Event: IO Capability Response (0x32) plen 9
    bdaddr 00:24:1C:D6:6F:1B capability 0x03 oob 0x00 auth 0x04
    Capability: NoInputNoOutput (OOB data not present)
    Authentication: General Bonding (No MITM Protection)
> HCI Event: IO Capability Request (0x31) plen 6
    bdaddr 00:24:1C:D6:6F:1B
< HCI Command: IO Capability Request Reply (0x01|0x002b) plen 9
    bdaddr 00:24:1C:D6:6F:1B capability 0x01 oob 0x00 auth 0x04
    Capability: DisplayYesNo (OOB data not present)
    Authentication: General Bonding (No MITM Protection)
> HCI Event: Command Complete (0x0e) plen 10
    IO Capability Request Reply (0x01|0x002b) ncmd 1
    status 0x00 bdaddr 00:24:1C:D6:6F:1B
> HCI Event: User Confirmation Request (0x33) plen 10
    bdaddr 00:24:1C:D6:6F:1B passkey 297587
< HCI Command: User Confirmation Request Reply (0x01|0x002c) plen 6
    bdaddr 00:24:1C:D6:6F:1B
> HCI Event: Command Complete (0x0e) plen 10
    User Confirmation Request Reply (0x01|0x002c) ncmd 1
    status 0x00 bdaddr 00:24:1C:D6:6F:1B
> HCI Event: Simple Pairing Complete (0x36) plen 7
    status 0x00 bdaddr 00:24:1C:D6:6F:1B
> HCI Event: Link Key Notification (0x18) plen 23
    bdaddr 00:24:1C:D6:6F:1B key 1F9A7E9411E435EA4DF05A10E6DEE451 type 4
    Type: Unauthenticated Combination Key



Regards
Nagaraj D Rÿôèº{.nÇ+‰·Ÿ®‰­†+%ŠËÿ±éݶ¥Šwÿº{.nÇ+‰·¥Š{±ý¹nzÚ(¶âžØ^n‡r¡ö¦zË?ëh™¨è­Ú&£ûàz¿äz¹Þ—ú+€Ê+zf£¢·hšˆ§~†­†Ûiÿÿï?êÿ‘êçz_è®æj:+v‰¨þ)ߣøm




[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux