You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
IP addresses are personally identifiable information that requires protection, yet common techniques such as truncation destroy data irreversibly while providing inconsistent privacy guarantees, and ad-hoc encryption schemes often lack interoperability and security analysis.
156
152
157
153
This document specifies secure, efficient methods for encrypting IP addresses for privacy-preserving storage, logging, and analytics, addressing data minimization concerns raised in {{!RFC6973}}.
158
154
159
-
Four concrete instantiations are defined: `ipcrypt-deterministic`provides deterministic, format-preserving encryption with 16-byte outputs; `ipcrypt-pfx` provides deterministic, prefix-preserving encryption that maintains network relationships with native address sizes (4 bytes for IPv4, 16 bytes for IPv6); while `ipcrypt-nd` and `ipcrypt-ndx` introduce randomness to prevent correlation. All methods are reversible with the encryption key and designed for high-performance processing at network speeds.
155
+
Four concrete instantiations are defined: `ipcrypt-deterministic`provides deterministic, format-preserving encryption with 16-byte outputs; `ipcrypt-pfx` provides deterministic, prefix-preserving encryption that maintains network relationships with native address sizes; while `ipcrypt-nd` and `ipcrypt-ndx` introduce randomness to prevent correlation. All methods are reversible with the encryption key and designed for high-performance processing at network speeds.
160
156
161
157
--- middle
162
158
@@ -166,7 +162,7 @@ IP addresses are personally identifiable information requiring protection, yet c
166
162
167
163
This document addresses these deficiencies by specifying secure, efficient, and interoperable methods for IP address encryption and obfuscation.
168
164
169
-
This specification addresses concerns raised in {{!RFC7624}} regarding confidentiality when sharing data with third parties. Unlike existing practices that obscure addresses, these methods provide mathematically provable security properties, which are discussed throughout this document and summarized in {{security-considerations}}.
165
+
This specification addresses concerns raised in {{!RFC7624}} regarding confidentiality when sharing data with third parties. Unlike existing practices that obscure addresses, these methods provide well-defined security properties, which are discussed throughout this document and summarized in {{security-considerations}}.
170
166
171
167
## Use Cases and Motivations
172
168
@@ -224,7 +220,7 @@ For implementation guidelines, see {{implementation-details}}.
224
220
225
221
This document does not conflict with active IETF working group efforts. While the IETF has produced several RFCs related to privacy ({{!RFC6973}}, {{!RFC7258}}, {{!RFC7624}}), there is no current standardization effort for IP address encryption methods. This specification complements existing IETF privacy guidance by providing implementation methods.
226
222
227
-
The cryptographic primitives used (AES, format-preserving encryption) align with IETF cryptographic recommendations, and the document follows IETF formatting and terminology conventions where applicable.
223
+
The AES-based cryptographic primitives used align with IETF cryptographic recommendations, and the document follows IETF formatting and terminology conventions where applicable.
228
224
229
225
# Terminology
230
226
@@ -233,11 +229,11 @@ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "S
233
229
Throughout this document, the following terms and conventions apply:
234
230
235
231
- IP Address: An IPv4 or IPv6 address as defined in {{!RFC4291}}.
236
-
- IPv4-mapped IPv6 Address: An IPv6 address format (::ffff:a.b.c.d) used to represent IPv4 addresses within the IPv6 address space, enabling uniform processing of both address types.
232
+
- IPv4-mapped IPv6 Address: An IPv6 address format (`::FFFF:a.b.c.d`) used to represent IPv4 addresses within the IPv6 address space, enabling uniform processing of both address types.
237
233
- 16-Byte Representation: A fixed-length representation used for both IPv4 (via IPv4-mapped IPv6) and IPv6 addresses.
238
-
- Block Cipher: A deterministic cryptographic algorithm that encrypts fixed-size blocks of data (128 bits in this specification) using a secret key.
234
+
- Block Cipher: A deterministic cryptographic algorithm that encrypts fixed-size blocks of data (128 bits with AES) using a secret key.
239
235
- Permutation: A bijective function where each distinct input maps to a unique output, ensuring reversibility.
240
-
- Pseudorandom Function (PRF): A deterministic function that produces output computationally indistinguishable from truly random values.
236
+
- Pseudorandom Function (PRF): A deterministic function that produces output computationally indistinguishable from random values.
241
237
- Tweakable Block Cipher (TBC): A block cipher that accepts an additional non-secret parameter (tweak) along with the key and plaintext, allowing domain separation without changing keys.
242
238
- Tweak: A non-secret, additional input to a tweakable block cipher that further randomizes the output.
243
239
- Deterministic Encryption: Encryption that always produces the same ciphertext for a given input and key.
@@ -304,7 +300,7 @@ This specification defines two generic cryptographic constructions:
304
300
Valid options for implementing a tweakable block cipher include, but are not limited to:
305
301
306
302
- SKINNY (see {{SKINNY}})
307
-
- DEOXYS-BC (see {{DEOXYS-BC}})
303
+
- DEOXYS-TBC (see {{DEOXYS-TBC}})
308
304
- KIASU-BC (see {{implementing-kiasu-bc}} for implementation details)
309
305
- AES-XTS (see {{ipcrypt-ndx}} for usage)
310
306
@@ -388,11 +384,13 @@ Organizations requiring network metadata for analytics have two options:
388
384
Both approaches provide advantages over IP address truncation, which provides inconsistent protection and irreversibly destroys data.
389
385
390
386
Recommended approach:
387
+
391
388
1. Extract metadata (geographic location, ASN, network type) from the original IP address
392
389
2. Store this information as separate fields alongside the encrypted IP address
393
390
3. Apply appropriate privacy-preserving aggregation to the metadata itself
Prefix-preserving encryption maintains network structure in encrypted IP addresses. Addresses from the same network produce encrypted addresses that share a common prefix, enabling privacy-preserving network analytics while preventing identification of specific networks or users.
0 commit comments