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
Copy file name to clipboardExpand all lines: www/pages/about.md
+75-16Lines changed: 75 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,9 +7,9 @@ permalink: /about/
7
7
8
8
## What is IPCrypt?
9
9
10
-
IPCrypt is a simple, open specification that suggests methods for encrypting and obfuscating IP addresses. It offers both deterministic format-preserving and non-deterministic approaches that work with both IPv4 and IPv6 addresses.
10
+
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.
11
11
12
-
This community effort was inspired by privacyconcerns highlighted in [RFC6973](https://datatracker.ietf.org/doc/html/rfc6973) and [RFC7258](https://datatracker.ietf.org/doc/html/rfc7258) about pervasive monitoring and data collection. We aimed to help maintain the practical utility of IP addresses in network operations while addressing these privacy considerations.
12
+
IPCrypt provides secure, efficient methods for encrypting IP addresses for privacy-preserving storage, logging, and analytics. The methods enable data analysis while protecting user privacy from third parties without key access, addressing data minimization concerns raised in [RFC6973](https://datatracker.ietf.org/doc/html/rfc6973). Three concrete instantiations are defined: `ipcrypt-deterministic` provides deterministic, format-preserving encryption, 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.
13
13
14
14
## The Challenge We're Trying to Help With
15
15
@@ -21,7 +21,7 @@ IP addresses are fundamental to network operations but present some privacy chal
21
21
4.**Service Provider Concerns**: Sharing raw IP addresses with external services raises privacy questions
22
22
5.**Varied Approaches**: Different organizations use different methods to protect IP addresses
23
23
24
-
IPCrypt tries to offer a simple, consistent approach to IP address encryption that anyone can implement.
24
+
IPCrypt addresses these deficiencies by specifying secure, efficient, and interoperable methods for IP address encryption and obfuscation. The objective is to enable network operators, researchers, and privacy advocates to share or analyze data while protecting sensitive address information through cryptographically sound techniques.
25
25
26
26
## Potential Benefits
27
27
@@ -62,32 +62,48 @@ IPCrypt operates by converting IP addresses to a 16-byte representation and then
62
62
### ipcrypt-deterministic
63
63
64
64
- Uses AES-128 in a single-block operation
65
-
- Produces a 16-byte output that can be converted back to an IP address format
66
-
- Always produces the same output for a given input and key
67
-
- Suitable for applications where format preservation is required and linkability is acceptable
65
+
- Output size: 16 bytes (most compact)
66
+
- Same IP always produces same ciphertext (allows correlation)
67
+
- Performance: Fastest (single AES operation)
68
+
69
+
**Choose when:**
70
+
- Duplicate IP addresses need to be detected in encrypted form (e.g., for rate limiting)
71
+
- Storage space is critical (produces only 16 bytes output)
72
+
- Format preservation is required (output remains a valid IP address)
73
+
- Correlation of the same address across records is acceptable
68
74
69
75
### ipcrypt-nd
70
76
71
77
- Uses the KIASU-BC tweakable block cipher with an 8-byte tweak
72
-
- Produces a 24-byte output (8-byte tweak + 16-byte ciphertext)
73
-
- Different outputs for the same input due to random tweak
74
-
- Suitable for applications where correlation protection is important
- Same IP produces different ciphertexts (prevents correlation)
92
+
- Collision resistance: Approximately 18 quintillion operations per key
93
+
94
+
**Choose when:**
95
+
- Maximum privacy protection when storage permits
96
+
- Stronger privacy guarantees than deterministic encryption provides are required
97
+
- Processing extremely high volumes of data with a single key
82
98
83
99
## Comparison with Ad-hoc Mechanisms
84
100
85
-
Many organizations currently use ad-hoc mechanisms to protect IP addresses, such as:
101
+
IP addresses are personally identifiable information requiring protection, yet common anonymization approaches have fundamental limitations:
86
102
87
-
1.**Simple Hashing**: Vulnerable to rainbow table attacks
88
-
2.**Truncation**: Removes information but doesn't provide cryptographic protection
103
+
1.**Truncation (zeroing parts of addresses)**: Irreversibly destroys data while providing unpredictable privacy levels - a /24 mask may hide one user or thousands depending on network allocation
104
+
2.**Simple Hashing**: Produces non-reversible outputs unsuitable for operational tasks such as abuse investigation
89
105
3.**Tokenization**: Often lacks consistency and security guarantees
90
-
4.**Custom Encryption**: May have unknown security properties or implementation flaws
106
+
4.**Custom Encryption**: Ad-hoc schemes often lack rigorous security analysis and cannot interoperate between systems
91
107
92
108
IPCrypt offers several advantages over these approaches:
93
109
@@ -101,6 +117,49 @@ IPCrypt offers several advantages over these approaches:
101
117
| Decryption Capability | Often one-way | Fully invertible |
102
118
| Documentation | Typically minimal | Comprehensive specification |
103
119
120
+
## Efficiency Benefits
121
+
122
+
Organizations handling IP addresses must protect user privacy while maintaining operational capabilities. Generic encryption systems, though secure, are poorly suited for IP addresses - they expand data unpredictably, break compatibility with network tools, and operate too slowly for high-volume processing. IPCrypt resolves these conflicts through purpose-built cryptographic techniques:
123
+
124
+
-**Efficiency and Compactness**: All variants operate on exactly 128 bits, achieving single-block encryption speed critical for network-rate processing. Non-deterministic variants add only 8-16 bytes of tweak overhead versus potentially hundreds of bytes with generic encryption. This difference enables processing addresses in real-time rather than requiring expensive batch operations.
125
+
126
+
-**High Usage Limits**: Non-deterministic variants safely handle massive volumes - approximately 4 billion operations for `ipcrypt-nd` and 18 quintillion for `ipcrypt-ndx` per key - without degrading security. Generic encryption often requires operationally complex key rotation schemes at much lower thresholds.
127
+
128
+
-**Format Preservation (Deterministic)**: The `ipcrypt-deterministic` variant produces valid IP addresses, not arbitrary ciphertext. This enables encrypted addresses to flow through existing network infrastructure, monitoring tools, and databases without modification.
129
+
130
+
-**Interoperability**: This specification ensures that encrypted IP addresses can be exchanged between different systems, vendors, and programming languages. All conforming implementations produce identical results, enabling seamless data exchange and avoiding vendor lock-in.
131
+
132
+
## Format Preservation and Limitations
133
+
134
+
### Network Hierarchy Preservation
135
+
136
+
The encryption methods described in this specification do not preserve network hierarchy or prefix relationships.
137
+
138
+
- IPv4 and IPv6 prefixes are completely scrambled in the encrypted output
139
+
- Addresses from the same subnet will not appear related after encryption
140
+
- Geographic or topological proximity cannot be inferred from encrypted addresses
141
+
142
+
### Preserving Metadata for Analytics
143
+
144
+
Organizations requiring network metadata for analytics SHOULD extract and store geographic location, ASN, or network classification separately before encryption, rather than using IP address truncation. Truncation (e.g., storing only /24 or /48 prefixes) is a fundamentally flawed privacy mechanism that provides inconsistent protection and irreversibly destroys data.
145
+
146
+
Recommended approach:
147
+
1. Extract metadata (geographic location, ASN, network type) from the original IP address
148
+
2. Store this information as separate fields alongside the encrypted IP address
149
+
3. Apply appropriate privacy-preserving aggregation to the metadata itself
<p>For most applications, the deterministic mode provides a good balance of security and usability. However, when privacy concerns are paramount, the non-deterministic modes offer stronger protection against correlation attacks.</p>
577
+
<p><strong>Choose when:</strong></p>
578
+
<div class="feature-list">
579
+
<div class="feature-item">
580
+
<div class="feature-icon">✓</div>
581
+
<div class="feature-text">Maximum privacy protection when storage permits</div>
582
+
</div>
583
+
<div class="feature-item">
584
+
<div class="feature-icon">✓</div>
585
+
<div class="feature-text">Stronger privacy guarantees than deterministic encryption provides are required</div>
586
+
</div>
587
+
<div class="feature-item">
588
+
<div class="feature-icon">✓</div>
589
+
<div class="feature-text">Processing extremely high volumes of data with a single key</div>
590
+
</div>
591
+
</div>
592
+
<p><strong>Collision resistance:</strong> Approximately 18 quintillion operations per key</p>
556
593
557
594
<h3>Mode Comparison</h3>
558
595
@@ -597,22 +634,22 @@ IPCrypt offers the following encryption modes:
0 commit comments