Paper 2013/387

Cryptographically Protected Prefixes for Location Privacy in IPv6

Jonathan Trostle, Hosei Matsuoka, James Kempf, Toshiro Kawahara, and Ravi Jain


There is a growing concern with preventing unauthorized agents from discovering the geographical location of Internet users, a kind of security called location privacy. Typical deployments of IPv6 make it possible to deduce the approximate geographical location of a device from its IPv6 address. We present a scheme called Cryptographically Protected Prefixes (CPP), to address this problem at the level of IPv6 addressing and forwarding. CPP randomizes the address space of a defined topological region (privacy domain), thereby making it infeasible to infer location information from an IP address. CPP can be deployed incrementally. We present an adversary model and show that CPP is secure within the model, assuming the existence of pseudorandom functions. We have implemented CPP as a pre-processing step within the forwarding algorithm in the FreeBSD 4.8 kernel. Our performance testing indicates that CPP pre-processing results in a 40–50 percent overhead for packet forwarding in privacy domain routers. The additional end to end per packet delay is roughly 20 to 60 microseconds. We also give an attack against the address encryption scheme in [Raghavan et al. 2009]. We show that the CPP forwarding algorithm is resilient in the event of network failures.

Available format(s)
Publication info
Published elsewhere. Expanded version of conference paper from 2004 Privacy Enhancing Technologies Workshop: Springer LNCS 3424, pp. 142-166
Network layer location privacyaddress encryptionanonymityIPv6CPP
Contact author(s)
jon49175 @ yahoo com
2013-06-17: received
Short URL
Creative Commons Attribution


      author = {Jonathan Trostle and Hosei Matsuoka and James Kempf and Toshiro Kawahara and Ravi Jain},
      title = {Cryptographically Protected Prefixes for Location Privacy in IPv6},
      howpublished = {Cryptology ePrint Archive, Paper 2013/387},
      year = {2013},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.