lsd0014

LSD0014: Peer Identity Lifecycle Service (PILS)
Log | Files | Refs

commit 7f347a006926d89ba2acfb0fe811ee236a3b153a
parent d58407eb5f9c5757aae3ecb2217fd4266957deda
Author: Martin Schanzenbach <schanzen@gnunet.org>
Date:   Fri, 25 Jul 2025 12:41:20 +0200

hash update

Diffstat:
Mdraft-schanzen-pils.xml | 18++++++++++++++++--
1 file changed, 16 insertions(+), 2 deletions(-)

diff --git a/draft-schanzen-pils.xml b/draft-schanzen-pils.xml @@ -151,8 +151,13 @@ <name>Address hash</name> <t> The address hash is calculated over the concatenation of all - address strings (URIs) (excluding 0-terminator) using SHA-512. + address strings (URIs) using SHA-512. The addresses <bcp14>MUST</bcp14> be sorted alphanumerically. + The byte 0x00 is used as a separator between URIs in the hash input. + Consequently the hash may simply be calculated over the full C strings + including their 0-terminator. + Due to the flexibility of possible URI values this prevents any kind of odd + common-prefix case in which hashes may collide. </t> </section> <section anchor="pid_derivation" numbered="true" toc="default"> @@ -178,7 +183,16 @@ sk = HKDF-Expand(prk, "gnunet-pils-contextual-peer-key", 32) <section> <name>Security and Privacy Considerations</name> <t> - TODO: Crypto considerations. Linkability limitations. + TODO: Crypto considerations. + </t> + <t> + While the approach provides some privacy in certain use cases, it is not a general solution + to prevent peer identity linkability. + For example, if the peer is configured a permanent, static and global address it will be trivially + linkable even if PILS derives different peer identities. + As such, the peer identity derivation is aimed to protect common use cases for the average user + where it is to be expected that no such global and static address is availalble as outlined in the + introduction. </t> <t> It may seem odd why GNUnet does not use a dedicated, randomly generated public key per address.