Skip to content

Commit e798eb4

Browse files
committed
Prepare for the Independent Submission Stream
1 parent 1a15ca1 commit e798eb4

1 file changed

Lines changed: 57 additions & 10 deletions

File tree

draft-denis-ipcrypt.md

Lines changed: 57 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ abbrev: "ipcrypt"
44
docname: draft-denis-ipcrypt-latest
55
category: info
66
ipr: trust200902
7+
submissionType: independent
78
keyword: Internet-Draft
89
author:
910
- name: "Frank Denis"
@@ -34,6 +35,14 @@ normative:
3435
seriesinfo:
3536
NIST: SP 800-38G
3637
target: https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-38G.pdf
38+
IEEE-P1619:
39+
title: "IEEE Standard for Cryptographic Protection of Data on Block-Oriented Storage Devices"
40+
author:
41+
- ins: IEEE
42+
date: 2007-12-18
43+
seriesinfo:
44+
IEEE: 1619-2007
45+
target: https://standards.ieee.org/ieee/1619/2041/
3746

3847
informative:
3948
DEOXYS-BC:
@@ -69,14 +78,6 @@ informative:
6978
seriesinfo:
7079
Fast Software Encryption: 2002
7180
target: https://www.cs.berkeley.edu/~daw/papers/tweak-crypto02.pdf
72-
IEEE-P1619:
73-
title: "IEEE Standard for Cryptographic Protection of Data on Block-Oriented Storage Devices"
74-
author:
75-
- ins: IEEE
76-
date: 2007-12-18
77-
seriesinfo:
78-
IEEE: 1619-2007
79-
target: https://standards.ieee.org/ieee/1619/2041/
8081
BRW2005:
8182
title: "Format-Preserving Encryption"
8283
author:
@@ -134,6 +135,14 @@ This document specifies methods for the encryption and obfuscation of IP address
134135

135136
This work addresses concerns raised in {{!RFC7624}} regarding confidentiality in the face of pervasive surveillance. The security properties of these methods are discussed throughout this document and summarized in {{security-considerations}}.
136137

138+
## Licensing
139+
140+
*This section is to be removed before publishing as an RFC.*
141+
142+
Implementations of the ipcrypt methods are freely available under permissive open source licenses (MIT, BSD, or Apache 2.0) at the repository listed in the Implementation Status section.
143+
144+
There are no known patent claims on these methods.
145+
137146
## Use Cases and Motivations
138147

139148
The main motivations include:
@@ -150,6 +159,14 @@ The main motivations include:
150159

151160
For implementation examples, see {{pseudocode-and-examples}}.
152161

162+
## Relationship to IETF Work
163+
164+
*This section is to be removed before publishing as an RFC.*
165+
166+
This document does not conflict with any 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 concrete implementation methods.
167+
168+
The cryptographic primitives used (AES, format-preserving encryption) align with IETF cryptographic recommendations, and the document follows IETF formatting and terminology conventions where applicable.
169+
153170
# Terminology
154171

155172
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 {{!RFC8174}} when, and only when, they appear in all capitals, as shown here.
@@ -362,11 +379,41 @@ Implementations MUST ensure that:
362379
3. Side-channel attacks are mitigated through constant-time operations
363380
4. Error handling does not leak sensitive information
364381

382+
## Key Management Considerations
383+
384+
This specification focuses on the cryptographic transformations and does not mandate specific key management practices. However, implementers MUST ensure:
385+
386+
1. Keys are generated using cryptographically secure random number generators (see {{!RFC4086}})
387+
2. Keys are stored securely and access-controlled appropriately for the deployment environment
388+
3. Key rotation policies are established based on usage volume and security requirements
389+
4. Key compromise procedures are defined and tested
390+
391+
For high-volume deployments processing billions of IP addresses, regular key rotation (e.g., monthly or quarterly) is RECOMMENDED to stay well within the security bounds discussed in this document.
392+
365393
# Implementation Status
366394

367-
_This note is to be removed before publishing as an RFC._
395+
*This section is to be removed before publishing as an RFC.*
396+
397+
This section records the status of known implementations of the protocol defined by this specification at the time of posting of this Internet-Draft, and is based on a proposal described in {{!RFC7942}}. The description of implementations in this section is intended to assist the Independent Submissions Editor in judging whether the specification is suitable for publication.
398+
399+
Please note that the listing of any individual implementation here does not imply endorsement. Furthermore, no effort has been spent to verify the information presented here that was supplied by contributors. This is not intended as, and must not be construed to be, a catalog of available implementations or their features.
400+
401+
Multiple interoperable implementations of the schemes described in this document have been developed:
402+
403+
- C implementation
404+
- D implementation
405+
- Go implementation
406+
- Java implementation (maven package)
407+
- JavaScript/TypeScript implementation (npm package)
408+
- PHP implementation (Composer package)
409+
- Python reference implementation
410+
- Rust implementation (cargo package)
411+
- Zig implementation
412+
- Dart implementation (pub.dev package)
413+
414+
A comprehensive list of implementations and their test results can be found at: https://ipcrypt-std.github.io/implementations/
368415

369-
Multiple implementations of the schemes described in this document have been developed and verified for interoperability. A comprehensive list of known implementations and integrations can be found at https://github.com/ipcrypt-std/draft-denis-ipcrypt, which includes reference implementations closely aligned with the pseudocode provided in this document.
416+
All implementations pass the common test vectors specified in this document, demonstrating interoperability across programming languages.
370417

371418
# IANA Considerations
372419

0 commit comments

Comments
 (0)