Hi Egor, On Tue, Jun 3, 2025 at 2:35 PM Egor Vorontsov <sdoregor@xxxxxxxx> wrote: > > On Tue, 2025-06-03 at 11:38 -0400, Luiz Augusto von Dentz wrote: > > Perhaps it is possible to write the link keys directly via cable but > > then we need the OOB data, etc, to generate the keys which in my > > opinion it just extra work that doesn't really add anything if just > > works, or autopair, is used. > > In my experimental PoC I just generated a random 128-bit string and > used it as the link key for both sides (placed into `LinkKey=' in > BlueZ's `/info' and sent to DualSense over USB), which showed to be > working perfectly. Hmm, not so sure this is secure though, I mean it could be a rogue USB device pretending to be a controller so it would automatically be considered paired if we just self generate the keys without asking for user confirmation. > > Is it not seamless right now? Doesn't it use 'just works'/autopair? > > It is kind of seamless, but you still have to accept the pairing > manually (e.g. be discoverable and with an active agent). In terms of > security I'd say this behavior is indeed preferable (otherwise one > could spoof the VID:PID and zero-click bond with the host), but it > still requires two separate confirmations. Yeah, the zero-click bond might be a security concern though, so I think having the user do a confirmation for each step is sort of assuring he knows (or at least pretend) what is going on. > If we could generate a static key, place it to both devices BUT at the > same time mark the device as unconfirmed/untrusted/etc. locally, so > that it is still going to trigger one and only one interactive pairing > confirmation, that'd be the intended design at least in my view. When would we generate the confirmation though? I sort of trust more the Bluetooth process to generate and exchange keys. > Another possible way would be to automatically accept the first, dummy > pairing request that doesn't bear a link key yet -- so no security risk > there, but still more seamless experience for the user. > > -- > Egor Vorontsov <sdoregor@xxxxxxxx> -- Luiz Augusto von Dentz