Bluetooth low energy API improvement request - managing and reading peripheral bonds

EricP-8687 60 Reputation points
2024-02-27T19:44:57.5566667+00:00

We work with BLE programmers that as part of their API provide the ability to serialize, deserialize, and read the bond keys exchanged with a BLE peripheral when paired. This includes things like EDIV/RAND/LTK/CSRK/IRK. I would like to request an API in this namespace that brings the Windows Runtime API to the same level of functionality, at least on PC. Similar functionality is available on Linux, and most of the main BLE stacks (Apache mynewt/nimble, nordic softdevice, Mbed BLE, etc). Something along these lines:

interface IBleBondKeys
ulong CentralIdentityAddress
int CentralIdentityAddressType
ulong PeripheralIdentityAddress
int PeripheralIdentityAddressType
byte[] LongTermKey
ulong Random
ushort Ediv
byte[] IdentityResolvingKey
byte[] ConnectionSignatureKey
enum CapabilitiesAndKeyLengthFlags

Which could be added to a store for a specific BluetoothAdapter, and retrieved for a specific BluetoothDevice on that BluetoothAdapter.

Windows 10
Windows 10
A Microsoft operating system that runs on personal computers and tablets.
10,657 questions
Universal Windows Platform (UWP)
Windows 11
Windows 11
A Microsoft operating system designed for productivity, creativity, and ease of use.
8,215 questions
{count} votes

Accepted answer
  1. Junjie Zhu - MSFT 15,056 Reputation points Microsoft Vendor
    2024-02-29T05:40:18.27+00:00

    Hi @EricP-8687 ,

    Welcome to Microsoft Q&A!

    interface IBleBondKeys
    ulong CentralIdentityAddress
    int CentralIdentityAddressType
    ulong PeripheralIdentityAddress
    int PeripheralIdentityAddressType
    byte[] LongTermKey
    ulong Random
    ushort Ediv
    byte[] IdentityResolvingKey
    byte[] ConnectionSignatureKey
    enum CapabilitiesAndKeyLengthFlags
    

    I discussed these with the Bluetooth team, these information are protected from access on Windows and is unlikely to be made available via API for security reasons.

    Thank you.


    If the answer is the right solution, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment". Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.

    1 person found this answer helpful.

1 additional answer

Sort by: Most helpful
  1. Deleted

    This answer has been deleted due to a violation of our Code of Conduct. The answer was manually reported or identified through automated detection before action was taken. Please refer to our Code of Conduct for more information.


    Comments have been turned off. Learn more