network: include SSID in ipv6 stable prefix address generation

The SSID fills the role of the optional Network_ID input parameter
suggested by RFC7217. Including the SSID allows networkd to generate a
different pseudorandom address for different wireless networks, which
should help to obscure the host's identity when roaming between multiple
networks.
This commit is contained in:
Ronan Pigott
2023-10-18 09:48:09 +09:00
committed by Yu Watanabe
parent a3ad5c3140
commit 06960d1719
2 changed files with 10 additions and 0 deletions
@@ -117,6 +117,10 @@ static void generate_stable_private_address_one(
siphash24_compress(&link->hw_addr.infiniband[INFINIBAND_ALEN - 8], 8, &state);
else
siphash24_compress(link->hw_addr.bytes, link->hw_addr.length, &state);
if (link->ssid)
siphash24_compress_string(link->ssid, &state);
siphash24_compress(&dad_counter, sizeof(uint8_t), &state);
rid = htole64(siphash24_finalize(&state));