SDLP RFC 3: Lineage Specification
draft-norton-sdlp-lineage-00
This document is an Internet-Draft (I-D).
Anyone may submit an I-D to the IETF.
This I-D is not endorsed by the IETF and has no formal standing in the
IETF standards process.
The information below is for an old version of the document.
| Document | Type |
This is an older version of an Internet-Draft whose latest revision state is "Active".
|
|
|---|---|---|---|
| Author | Mark Norton | ||
| Last updated | 2026-07-02 | ||
| RFC stream | (None) | ||
| Formats | |||
| Stream | Stream state | (No stream defined) | |
| Consensus boilerplate | Unknown | ||
| RFC Editor Note | (None) | ||
| IESG | IESG state | I-D Exists | |
| Telechat date | (None) | ||
| Responsible AD | (None) | ||
| Send notices to | (None) |
draft-norton-sdlp-lineage-00
Internet-Draft M. Norton
Intended status: Informational Independent
Expires: January 2, 2027 July 2, 2026
SDLP RFC 3: Lineage Specification
draft-norton-sdlp-lineage-00
M. Norton
Independent
El Mirage, Arizona, USA
Email: mark433norton@gmail.com
July 2026
Abstract
This document defines the SDLP lineage model, which provides a
canonical method for representing the ancestry of SDLP-governed
objects. Lineage is a structural property that records how an object
evolves through duplication and transformation events. The lineage
model ensures that descendant objects remain uniquely identifiable
and traceable across all lifecycle transitions. This specification
defines the lineage grammar, extension rules, validation
requirements, and interactions with the SDLP lifecycle model.
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.
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), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
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."
The list of current Internet-Drafts can be accessed at
https://www.ietf.org/1id-abstracts.html
The list of Internet-Draft Shadow Directories can be accessed at
https://www.ietf.org/shadow.html
1. Introduction
The SDLP lineage model defines how SDLP-governed objects record and
represent their ancestry. Lineage is a structural property that
captures the sequence of duplication and transformation events that
produce descendant objects. Each descendant extends the lineage of
its parent, forming a canonical chain that reflects the object's
evolution over time.
Lineage is essential for maintaining continuity across SDLP
lifecycle transitions. While the SDLP identity model ensures that
objects remain uniquely identifiable, lineage provides the historical
context needed to understand how an object came to exist in its
current form. Together, identity and lineage allow SDLP systems to
track object provenance, enforce security policies, and validate
object integrity.
This document defines the SDLP lineage grammar, extension rules,
validation requirements, and interactions with the SDLP lifecycle
model. It is intended to serve as the normative reference for all
SDLP components that rely on lineage semantics.
2. Lineage Overview
The SDLP lineage model provides a canonical representation of the
ancestry of SDLP-governed objects. Lineage expresses how an object
evolves through duplication and transformation events, forming a
structured chain that reflects the object's historical development.
Each element in the lineage chain corresponds to a specific event
that produced a descendant object.
Lineage is distinct from identity. Identity defines the stable
attributes that uniquely identify an object, while lineage records
the sequence of events that led to the object's current state. An
object retains its identity across all lifecycle transitions, but
its lineage may extend when duplication or transformation occurs.
The lineage model ensures that SDLP systems can determine whether an
object is an original instance or a descendant, and whether two
objects share a common ancestor. This capability supports provenance
tracking, integrity validation, and security enforcement across
distributed environments.
The SDLP lifecycle model defines when lineage MUST extend. Duplication
and transformation events produce new descendants, while transmission
and materialization events do not alter lineage. This document
specifies the grammar, rules, and validation requirements that govern
lineage construction and interpretation.
3. Lineage Grammar
The SDLP lineage grammar defines the canonical structure used to
represent the ancestry of SDLP-governed objects. Lineage is expressed
as a dot-separated sequence of positive integers. Each integer in the
sequence corresponds to a specific duplication or transformation
event that produced a descendant object.
The lineage grammar is defined as follows:
lineage = element *( "." element )
element = 1*DIGIT
DIGIT = %x30-39
A lineage value MUST contain at least one element. The first element
identifies the original instance of the object. Each subsequent
element represents a descendant produced by a lineage-extending
event.
Lineage values MUST conform to the following rules:
* Elements MUST be positive integers without leading zeros.
* The sequence MUST reflect the order in which descendant objects
were produced.
* The lineage MUST NOT be rewritten, truncated, or reordered.
* The lineage MUST extend only when required by the SDLP lifecycle
model.
These rules ensure that lineage values remain canonical, predictable,
and interpretable across all SDLP implementations.
4. Lineage Semantics
Lineage describes the ancestry of an SDLP-governed object. Each
element in the lineage sequence corresponds to a specific event that
produced a descendant object. The semantics of lineage define how
lineage values are interpreted, how they relate to object identity,
and how they evolve across SDLP lifecycle transitions.
A lineage value represents a complete and ordered history of the
object's creation. The first element identifies the original
instance. Each subsequent element reflects a duplication or
transformation event that produced a new descendant. Lineage does not
record transmission or materialization events, as these do not create
new descendants.
Lineage is a structural property. It does not describe the content,
purpose, or behavior of the object. Instead, it provides the
historical context necessary to understand how the object came to
exist in its current form. Two objects with identical identity values
but different lineage values represent distinct descendants of a
common ancestor.
Lineage values are immutable once assigned. An SDLP-governed object
MUST NOT alter its lineage except when required by the SDLP lifecycle
model. Rewriting, truncating, or reordering lineage elements is
prohibited. These constraints ensure that lineage remains a reliable
indicator of object provenance and supports consistent interpretation
across distributed systems.
5. Lineage Extension Rules
Lineage extension occurs when an SDLP-governed object undergoes a
lifecycle transition that produces a new descendant. The SDLP
lifecycle model defines two events that extend lineage: duplication
and transformation. Transmission and materialization events do not
create descendants and therefore do not modify lineage.
When a lineage-extending event occurs, the descendant object MUST
append a new positive integer to the end of its parent's lineage
value. The appended integer identifies the specific event that
produced the descendant. The resulting lineage value reflects the
complete ancestry of the object.
The following rules govern lineage extension:
* Duplication events produce a new descendant. The descendant MUST
extend the parent's lineage by appending a new integer.
* Transformation events produce a new descendant. The descendant
MUST extend the parent's lineage by appending a new integer.
* Transmission events do not produce descendants. The lineage MUST
NOT change.
* Materialization events do not produce descendants. The lineage
MUST NOT change.
* The appended integer MUST be a positive integer without leading
zeros.
* The lineage sequence MUST preserve the order in which descendants
were produced.
* Implementations MUST NOT rewrite, truncate, or reorder lineage
values.
These rules ensure that lineage remains a reliable indicator of
object provenance and that all SDLP implementations interpret lineage
extension consistently.
6. Validation Rules
SDLP implementations MUST validate lineage values to ensure that they
conform to the canonical grammar and semantics defined in this
specification. Validation is required whenever an SDLP-governed
object is created, received, processed, or stored.
A lineage value is considered valid only if it meets all of the
following requirements:
* The lineage MUST consist of one or more dot-separated positive
integers.
* Each element MUST contain only ASCII digits and MUST NOT include
leading zeros.
* The lineage MUST reflect a complete and ordered sequence of
lineage-extending events.
* The lineage MUST NOT be rewritten, truncated, reordered, or
otherwise modified except when required by the SDLP lifecycle
model.
* The lineage MUST extend only when duplication or transformation
events occur. Implementations MUST reject lineage extensions
associated with transmission or materialization events.
* The lineage MUST NOT contain empty elements, malformed elements,
or non-numeric characters.
* The lineage MUST NOT contain negative integers or zero-valued
elements.
Implementations SHOULD treat invalid lineage values as integrity
failures. When an invalid lineage value is encountered, the receiving
system SHOULD reject the object, log the failure, and apply any
additional security policies defined by the SDLP security model.
These validation rules ensure that lineage remains a reliable and
interpretable indicator of object provenance across all SDLP
deployments.
7. Security Considerations
Lineage is a structural property that contributes directly to the
security posture of SDLP-governed objects. Because lineage records
the ancestry of an object, it plays a critical role in provenance
tracking, integrity validation, and the enforcement of SDLP security
policies. Implementations MUST ensure that lineage values are
protected from unauthorized modification.
Lineage falsification is a primary threat. An attacker may attempt to
rewrite, truncate, reorder, or otherwise alter a lineage value to
conceal the true ancestry of an object. Such manipulation can disrupt
provenance tracking, undermine integrity checks, and enable
impersonation or unauthorized reuse of SDLP-governed objects.
Implementations MUST treat any lineage modification outside of
duplication or transformation events as an integrity failure.
Lineage omission is also a threat. Removing elements from a lineage
sequence can obscure the existence of intermediate descendants or
hide unauthorized transformations. Implementations MUST reject
lineage values that do not reflect a complete and ordered sequence of
lineage-extending events.
Lineage inflation, in which an attacker appends unauthorized elements
to a lineage sequence, can misrepresent the object's history or
create false descendant relationships. Implementations MUST validate
all appended elements and ensure that lineage extension occurs only
when required by the SDLP lifecycle model.
Because lineage interacts closely with identity, attacks on lineage
may be used to support identity spoofing or impersonation. SDLP
systems SHOULD apply the same integrity protections to lineage that
they apply to identity, including cryptographic verification,
tamper-evident storage, and secure transmission mechanisms.
These considerations ensure that lineage remains a trustworthy and
interpretable indicator of object provenance across all SDLP
deployments.
8. IANA Considerations
This document has no actions for IANA. No registries are created,
modified, or deprecated by the SDLP lineage model. Lineage values are
purely structural and do not require centralized allocation or
coordination.
Implementations MUST NOT rely on any IANA-managed namespace for the
interpretation or validation of lineage values.
9. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, May 2017.
[SDLP-IDENTITY]
Norton, M., "SDLP RFC 1: Identity Specification",
draft-norton-sdlp-identity-01, July 2026.
[SDLP-LIFECYCLE]
Norton, M., "SDLP RFC 2: Lifecycle Specification",
draft-norton-sdlp-lifecycle-01, July 2026.
[SDLP-SECARCH]
Norton, M., "SDLP RFC 4: Security Architecture",
draft-norton-sdlp-sec-arch-02, July 2026.
10. Informative References
[SDLP-OBJFORMAT]
Norton, M., "SDLP RFC 5: Object Format Specification",
draft-norton-sdlp-obj-format-00, July 2026.
[SDLP-LINEAGE-EXAMPLES]
Norton, M., "Examples of SDLP Lineage Construction",
work in progress, 2026.
[PROVENANCE]
Moreau, L. and P. Groth, "Provenance: An Introduction to
PROV", Synthesis Lectures on the Semantic Web, 2013.
[DATA-LIFECYCLE]
Spiekermann, S., "The Challenges of Personal Data
Lifecycle Management", IEEE Security & Privacy, 2012.
[TRUST-MODELS]
Blaze, M., Feigenbaum, J., and J. Lacy, "Decentralized
Trust Management", Proceedings of the 1996 IEEE Symposium
on Security and Privacy, 1996.
11. Acknowledgments
The author thanks the participants of the IETF DISPATCH community for
their feedback on early versions of the SDLP model. Their comments
helped refine the structure and terminology used throughout the SDLP
specifications.
The author also acknowledges the contributors to the SDLP identity,
lifecycle, and security architecture drafts. Their work established
the foundation upon which the lineage model is built.
Finally, the author thanks the reviewers who provided guidance on
document formatting, clarity, and consistency across the SDLP series.
12. Author's Address
M. Norton
Independent
El Mirage, Arizona, USA
Email: mark433norton@gmail.com