Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs

Resolvable Private Address Generation Cycle

The Central device is using Resolvable Private Addresses.

Even though private_addr_cycle_s is set to BLE_GAP_DEFAULT_PRIVATE_ADDR_CYCLE_INTERVAL_S (15 minutes),

When observed with a BLE sniffer, the Resolvable Private Address changes with each BLE connection.

I thought the address would change according to the set cycle regardless of BLE connections. Is that correct?

We're using a fixed IRK without bonding. Could that be causing this?

We are developing in the following environment:

  • SDK: nRF5 SDK 17.1.0
  • SoftDevice: S140 v7.2.0
  • Hi Amanda,

    Thank you for the prompt confirmation and response.

    > But the thing is that the scanner/initiator regenerates a new address each time softdevice starts a new scanning.

    Can this behavior be considered a bug in the Softdevice?
    The initiator continuing to use the same address for 15 minutes is the correct behavior, right?

    Thank you.

  • The scanner/advertiser regenerates a new address when it starts a new scanning/advertisement.

    Only if the scanning/advertisement is continuously running, the address will be changed every 15 minutes or as configured. 

  •  

    Hi, Amanda.
    Thank you for your response.

    > The scanner/advertiser regenerates a new address when it starts a new scanning/advertisement.

    Would it be appropriate to consider this behavior to correspond to the following description in the Bluetooth SIG Specification?

    > If the Link Layer is reset, a new private address shall be generated and the timer started with any value in the allowed range.

    Thank you.

  • Genyu said:
    Would it be appropriate to consider this behavior to correspond to the following description in the Bluetooth SIG Specification?

    From the developer:

    Resolvable Private Address (RPA) is more used to protect an advertising device from being tracked by malicious peers. In the Bluetooth SIG Specification, "If the Link Layer is reset, a new resolvable private address shall be generated and the timer started with any value in the allowed range." Here "Link layer reset" means HCI reset, softdevice regenerates a new address not only on HCI reset and "when the timer expired", but also when starting a new advertising/scanning. 

    However, the spec does not prevent us from generating a new address more often. Therefore, the softdevice follows the privacy requirement in the spec.

    -Amanda H.

  •  

    Hi, Amanda

    > However, the spec does not prevent us from generating a new address more often. Therefore, the softdevice follows the privacy requirement in the spec.

    Thank you, my question has been cleared up!

Related