| Internet-Draft | MARAM | June 2026 |
| Yarmohammadi, et al. | Expires 13 December 2026 | [Page] |
This document specifies MARAM (Multi-layer Address Randomization and Authentication Mechanism), an IPv6 extension that encrypts real endpoint addresses inside a Destination Option and uses ephemeral outer addresses with per-packet authentication. The key exchange is FYES (Fayazbakhsh, Yarmohammadi, Entezami, Shams), and a dedicated Vahed's Seal ensures protocol identification. The key derivation (FYES-KDF) uses domain separation strings for deriving independent keys.¶
This note is to be removed before publishing as an RFC.¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 13 December 2026.¶
This note is to be removed before publishing as an RFC.¶
Copyright (c) 2026 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 13 December 2026.¶
Copyright (c) 2026 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document.¶
The Internet Protocol exposes source and destination addresses in cleartext, enabling traffic analysis [RFC7258], source spoofing, and packet injection. MARAM (Multi-layer Address Randomization and Authentication Mechanism) defeats these threats by encrypting the real addresses and authenticating each packet via a MAC derived from a shared secret established through the FYES key exchange. The protocol design ensures endpoint privacy without requiring changes to core routing infrastructure.¶
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
Additional terms:¶
MARAM operates between two endpoints that both support the extension. The protocol proceeds in two phases:¶
For each packet, the sender:¶
The receiver validates the seal, verifies the MAC, decrypts the inner addresses, and restores the original packet.¶
FYES (Fayazbakhsh, Yarmohammadi, Entezami, Shams) is a minimal authenticated Elliptic Curve Diffie-Hellman (ECDH) key exchange performed over the X25519 curve. It establishes a shared secret between a Requestor and a Reference without requiring prior coordination beyond static or trust-on-first-use credentials. The exchange consists of a single round-trip where each side generates an ephemeral key pair. After successful authentication (out of scope for this document), both sides compute the shared secret and derive session keys through the FYES-KDF.¶
Requestor Reference
---------------------------------------------------------------
ephemeral_pub_I = x25519(priv_I, G) ---->
<----- ephemeral_pub_R
Both sides compute:
shared_secret = x25519(priv, peer_pub)
The FYES-KDF then expands the shared secret using HKDF with SHA-256:¶
PRK = HKDF-Extract(salt=0x00, IKM=shared_secret) KE = HKDF-Expand(PRK, "maram layer encryption", 32) KM = HKDF-Expand(PRK, "mdyrm mac", 32) S = HKDF-Expand(PRK, "Vahed's Keystone", 32)
KE is used for AEAD encryption of the inner address block (AES-256-GCM). KM is the key for the per-packet MAC (HMAC-SHA-256). S is the base secret for generating ephemeral outer addresses; it is referred to as Vahed's Keystone.¶
The labels are arbitrary domain separation strings and do not affect the cryptographic properties of the derived keys.¶
The MARAM information is carried in an IPv6 Destination Option, identified by Option Type TBD (to be assigned by IANA). The option data is aligned to 8n+2 bytes by adding zero-padding (PadN) if necessary.¶
0 1 2 3 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Option Type | Opt Data Len | Counter (16 bits) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + Vahed's Seal (64 bits) + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | ~ Encrypted Inner Address Block (variable) ~ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + MAC (128 bits) + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Outer addresses are built from a documentation prefix and the base secret S. For the examples in this document, the prefix 2001:db8::/48 is used. The lower 80 bits are taken from the HMAC-SHA-256 computation, as follows:¶
Outer_Src = 2001:db8:0:0:0:0:0:0/48 |
HMAC-SHA-256(S, "MARAM outer src" || Counter)
truncated to 80 bits
Outer_Dst = 2001:db8:0:0:0:0:0:0/48 |
HMAC-SHA-256(S, "MARAM outer dst" || Counter)
truncated to 80 bits
The inner (real) addresses remain unchanged and are encrypted in the Destination Option. For illustration, the following inner addresses are used in this document:¶
(These addresses lie within the documentation prefix and their lower 64 bits are arbitrary identifiers.)¶
When the Requestor communicates with the Reference, the outer addresses change every packet, while the inner addresses stay encrypted.¶
MARAM enforces the following properties:¶
An adversary (e.g., an on-path "Shams") cannot distinguish different flows or inject traffic. The protocol provides strong protection against DDoS, man-in-the-middle, and surveillance.¶
The use of a static salt in HKDF-Extract (salt=0x00) is acceptable if the input keying material (shared_secret) has sufficient entropy. The domain separation strings are arbitrary and do not weaken the key derivation.¶
IANA is requested to allocate a Destination Option type from the "Destination Options and Hop-by-Hop Options" registry under "IPv6 Parameters". The act bits are "00", the chg bit is "1". The suggested mnemonic is MARAM. The assigned value is TBD.¶
MARAM addresses several modern attack vectors:¶
These properties make MARAM a robust privacy and anti-attack layer for the modern Internet.¶