Skip to content

Commit c42e45f

Browse files
committed
Merge branch 'main' of github.com:jedisct1/draft-denis-ipcrypt
* 'main' of github.com:jedisct1/draft-denis-ipcrypt: Fix markdown issues Nits Fix informative references Fix informative references
2 parents e0497a8 + f0e3341 commit c42e45f

1 file changed

Lines changed: 62 additions & 65 deletions

File tree

draft-denis-ipcrypt.md

Lines changed: 62 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -35,128 +35,124 @@ normative:
3535
seriesinfo:
3636
NIST: SP 800-38G
3737
target: https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-38G.pdf
38+
39+
informative:
3840
FAST:
3941
title: "FAST: Format-Preserving Encryption via Shortened AES Tweakable Block Cipher"
4042
author:
41-
- ins: Y. Doh
42-
- ins: J. Ha
43-
- ins: J. Kim
44-
date: 2021-09-12
43+
- ins: F. Betul Durak
44+
- ins: H. Horst
45+
- ins: S. Vaudenay
46+
date: 2021-09-14
4547
seriesinfo:
46-
Cryptology ePrint Archive: Report 2021/1171
47-
target: https://eprint.iacr.org/2021/1171
48+
Cryptology ePrint Archive: Paper 2021/1171
49+
target: https://eprint.iacr.org/2021/1171.pdf
4850
IEEE-P1619:
4951
title: "IEEE Standard for Cryptographic Protection of Data on Block-Oriented Storage Devices"
5052
author:
5153
- ins: IEEE
52-
date: 2007-12-18
54+
date: 2008-03-04
5355
seriesinfo:
5456
IEEE: 1619-2007
55-
target: https://standards.ieee.org/ieee/1619/2041/
56-
57-
informative:
57+
target: https://ieeexplore.ieee.org/document/4493450
5858
SUM-OF-PRPS:
5959
title: "The Sum of PRPs Is a Secure PRF"
6060
author:
6161
- ins: S. Lucks
62-
date: 2000
62+
date: 2000-05-14
6363
seriesinfo:
64-
EUROCRYPT: 2000
65-
target: https://link.springer.com/chapter/10.1007/3-540-45539-6_34
64+
EUROCRYPT 2000, LNCS 1807, pp. 470–484
65+
target: https://link.springer.com/content/pdf/10.1007/3-540-45539-6_34.pdf
6666
REVISITING-SUM:
6767
title: "Revisiting the Indifferentiability of the Sum of Permutations"
6868
author:
69-
- ins: A. Bhattacharjee
70-
- ins: A. Dutta
71-
- ins: E. List
72-
- ins: M. Nandi
73-
date: 2021
69+
- ins: A. Gunsing
70+
- ins: R. Bhaumik
71+
- ins: A. Jha
72+
- ins: B. Mennink
73+
- ins: Y. Shen
74+
date: 2023-08-09
7475
seriesinfo:
75-
CRYPTO: 2021
76-
target: https://eprint.iacr.org/2021/840
77-
DEOXYS-BC:
78-
title: "Deoxys-BC: A Highly Secure Tweakable Block Cipher"
76+
CRYPTO 2023, LNCS 14083, pp. 628–660
77+
target: https://eprint.iacr.org/2023/840.pdf
78+
DEOXYS-TBC:
79+
title: "The Deoxys AEAD Family"
7980
author:
8081
- ins: J. Jean
8182
- ins: I. Nikolić
8283
- ins: T. Peyrin
83-
date: 2014
84+
- ins: Y. Seurin
85+
date: 2021-06-10
8486
seriesinfo:
85-
Cryptology ePrint Archive: Paper 2014/427
86-
target: https://eprint.iacr.org/2014/427
87+
Journal of Cryptology 34, 31 (2021)
88+
target: https://thomaspeyrin.github.io/web/assets/docs/papers/Jean-etal-JoC2021.pdf
8789
SKINNY:
8890
title: "The SKINNY Family of Block Ciphers and its Low-Latency Variant MANTIS"
8991
author:
9092
- ins: C. Beierle
91-
- ins: A. Biryukov
92-
- ins: L. Perrin
93-
- ins: A. Udovenko
94-
- ins: V. Velichkov
95-
- ins: Q. Wang
96-
date: 2016
93+
- ins: J. Jean
94+
- ins: S. Koelbl
95+
- ins: G. Leander
96+
- ins: A. Moradi
97+
- ins: T. Peyrin
98+
- ins: Y. Sasaki
99+
- ins: P. Sasdrich
100+
- ins: S. Meng Sim
101+
date: 2016-08-14
97102
seriesinfo:
98-
CRYPTO: 2016
99-
target: https://eprint.iacr.org/2016/660
103+
CRYPTO 2016, LNCS 9815, pp. 123–153
104+
target: https://eprint.iacr.org/2016/660.pdf
100105
LRW2002:
101106
title: "Tweakable Block Ciphers"
102107
author:
103108
- ins: M. Liskov
104109
- ins: R. Rivest
105110
- ins: D. Wagner
106-
date: 2002
111+
date: 2002-08-18
107112
seriesinfo:
108-
Fast Software Encryption: 2002
109-
target: https://www.cs.berkeley.edu/~daw/papers/tweak-crypto02.pdf
113+
CRYPTO 2002, LNCS 2442, pp. 31–46
114+
target: https://people.csail.mit.edu/rivest/pubs/LRW02.pdf
110115
BRW2005:
111116
title: "Format-Preserving Encryption"
112117
author:
113-
- ins: M. Bellare
118+
- ins: J. Black
114119
- ins: P. Rogaway
115-
- ins: D. Wagner
116-
date: 2005
120+
date: 2002-02-08
117121
seriesinfo:
118-
CRYPTO: 2005
122+
CT-RSA 2002, LNCS 2271, pp. 114–130
119123
target: https://www.cs.ucdavis.edu/~rogaway/papers/subset.pdf
120124
KIASU-BC:
121125
title: "Tweaks and Keys for Block Ciphers: the TWEAKEY Framework"
122126
author:
123127
- ins: J. Jean
124128
- ins: I. Nikolić
125129
- ins: T. Peyrin
126-
date: 2014
130+
date: 2014-12
127131
seriesinfo:
128-
Cryptology ePrint Archive: Paper 2014/831
129-
target: https://eprint.iacr.org/2014/831
132+
ASIACRYPT 2014, LNCS 8874, pp. 274–288
133+
target: https://eprint.iacr.org/2014/831.pdf
130134
XTS-AES:
131135
title: "The XTS-AES Mode for Disk Encryption"
132-
author:
133-
- ins: J. Black
134-
- ins: E. Dawson
135-
- ins: S. Gueron
136-
- ins: P. Rogaway
137-
date: 2010
136+
date: 2008-03-04
138137
seriesinfo:
139138
IEEE: 1619-2007
140-
IPCRYPT2:
141-
title: "ipcrypt2: IP address encryption/obfuscation tool"
142-
author:
143-
- ins: F. Denis
144-
date: 2025
145-
target: https://github.com/ipcrypt-std/ipcrypt2
139+
target: https://ieeexplore.ieee.org/document/4493450
146140
RSSAC040:
147141
title: "RSSAC040: Recommendations on Anonymization Processes for Source IP Addresses Submitted for Future Analysis"
148142
author:
149143
- ins: ICANN RSSAC
150-
date: 2021-03-09
151-
target: https://www.icann.org/en/system/files/files/rssac-040-09mar21-en.pdf
144+
date: 2018-08-07
145+
seriesinfo:
146+
ICANN RSSAC: RSSAC040
147+
target: https://www.icann.org/en/system/files/files/rssac-040-07aug18-en.pdf
152148

153149
--- abstract
154150

155151
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.
156152

157153
This document specifies secure, efficient methods for encrypting IP addresses for privacy-preserving storage, logging, and analytics, addressing data minimization concerns raised in {{!RFC6973}}.
158154

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.
160156

161157
--- middle
162158

@@ -166,7 +162,7 @@ IP addresses are personally identifiable information requiring protection, yet c
166162

167163
This document addresses these deficiencies by specifying secure, efficient, and interoperable methods for IP address encryption and obfuscation.
168164

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}}.
170166

171167
## Use Cases and Motivations
172168

@@ -224,7 +220,7 @@ For implementation guidelines, see {{implementation-details}}.
224220

225221
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.
226222

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.
228224

229225
# Terminology
230226

@@ -233,11 +229,11 @@ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "S
233229
Throughout this document, the following terms and conventions apply:
234230

235231
- 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.
237233
- 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.
239235
- 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.
241237
- 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.
242238
- Tweak: A non-secret, additional input to a tweakable block cipher that further randomizes the output.
243239
- 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:
304300
Valid options for implementing a tweakable block cipher include, but are not limited to:
305301

306302
- SKINNY (see {{SKINNY}})
307-
- DEOXYS-BC (see {{DEOXYS-BC}})
303+
- DEOXYS-TBC (see {{DEOXYS-TBC}})
308304
- KIASU-BC (see {{implementing-kiasu-bc}} for implementation details)
309305
- AES-XTS (see {{ipcrypt-ndx}} for usage)
310306

@@ -388,11 +384,13 @@ Organizations requiring network metadata for analytics have two options:
388384
Both approaches provide advantages over IP address truncation, which provides inconsistent protection and irreversibly destroys data.
389385

390386
Recommended approach:
387+
391388
1. Extract metadata (geographic location, ASN, network type) from the original IP address
392389
2. Store this information as separate fields alongside the encrypted IP address
393390
3. Apply appropriate privacy-preserving aggregation to the metadata itself
394391

395392
Example storage schema:
393+
396394
~~~
397395
{
398396
"encrypted_ip": "bde9:6789:d353:824c:d7c6:f58a:6bd2:26eb",
@@ -402,7 +400,6 @@ Example storage schema:
402400
}
403401
~~~
404402

405-
406403
# Prefix-Preserving Encryption {#prefix-preserving-encryption}
407404

408405
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

Comments
 (0)