Principles for Comparing Independently Derived Identifiers
draft-le-comparing-derived-identifiers-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.
| Document | Type | Active Internet-Draft (individual) | |
|---|---|---|---|
| Author | Thanh Le | ||
| Last updated | 2026-08-22 | ||
| RFC stream | (None) | ||
| Intended RFC status | (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-le-comparing-derived-identifiers-00
Network Working Group T. Le
Internet-Draft 22 August 2026
Intended status: Informational
Expires: 23 February 2027
Principles for Comparing Independently Derived Identifiers
draft-le-comparing-derived-identifiers-00
Abstract
When separate implementations independently derive identifiers and
later compare them for equality, interoperability depends on more
than the final identifier syntax or digest algorithm. The
implementations need common semantics for which values are in scope,
which distinctions matter to the comparison, and how identifiers are
derived. Otherwise values intended to compare as equivalent can
produce different identifiers, or processing can erase a relevant
distinction before a later lossy or cryptographic operation is
reached.
This document gives principles for specifications that define such
identifiers. It covers the comparison domain and equivalence
relation, complete derivation semantics, the semantics under which
output equality is interpreted, and processing that can create false
matches before properties of a later operation are relied upon. It
complements identifier comparison and hash-based naming
specifications by focusing on the specification boundary from source
values to independently reproducible identifiers. The document does
not define a new identifier syntax, canonicalization format,
resolver, registry, trust framework, or hash procedure.
Status of This Memo
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 23 February 2027.
Le Expires 23 February 2027 [Page 1]
Internet-Draft Comparing Derived Identifiers August 2026
Copyright Notice
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. Code Components
extracted from this document must include Revised BSD License text as
described in Section 4.e of the Trust Legal Provisions and are
provided without warranty as described in the Revised BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Specify What Is Compared . . . . . . . . . . . . . . . . . . 4
2.1. Domain and Equivalence . . . . . . . . . . . . . . . . . 4
2.2. Source Values and Representations . . . . . . . . . . . . 6
3. Specify Complete Derivation Semantics . . . . . . . . . . . . 7
4. Compare Under Defined Semantics . . . . . . . . . . . . . . . 8
4.1. Applicable Comparison Semantics Must Be Unambiguous . . . 9
4.2. Changes Define Different Comparison Semantics . . . . . . 10
5. Account for Information Loss and False Matches . . . . . . . 10
5.1. Preserve Relevant Distinctions Before Downstream
Operations . . . . . . . . . . . . . . . . . . . . . . . 10
5.2. Characterize False Matches . . . . . . . . . . . . . . . 12
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13
7. Security Considerations . . . . . . . . . . . . . . . . . . . 13
8. Privacy Considerations . . . . . . . . . . . . . . . . . . . 13
9. Informative References . . . . . . . . . . . . . . . . . . . 14
Appendix A. Relationship to Existing Work . . . . . . . . . . . 15
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 16
1. Introduction
Deriving an identifier is often straightforward. Deciding what
equality of two independently derived identifiers means is not. In
this document, an independently derived identifier is a deterministic
result that separate implementations can compute under specified
derivation semantics without a shared authority assigning the result.
The term describes an analysis case, not a new identifier class at
the wire level. The document is intended for specifications that
define content addresses, thumbprints, semantic validators, canonical
digests, deterministic references, roots, or similar values that are
later compared for equality.
Le Expires 23 February 2027 [Page 2]
Internet-Draft Comparing Derived Identifiers August 2026
Two implementations can use the same digest algorithm and still
disagree because they operate on different values or apply different
field selection, framing, normalization, domain separation inputs,
parameters, or other choices that can change the result. Conversely,
preprocessing can erase a distinction that the specified comparison
intends to preserve, causing later identifier equality to reflect an
earlier merge rather than a property of the final digest or other
lossy operation. Distinct representations can also denote values
that the specification intends to compare as equivalent, so
representational difference alone need not require different derived
identifiers.
Deterministic derivation, canonicalization, hashing, content
addressing, and independent recomputation are established techniques.
Some specifications already define a domain-specific equivalence
relation and a canonical form together; RDF Dataset Canonicalization
[W3C-RDFC-1.0], for example, defines a canonicalization function
whose equal canonical results correspond to isomorphic RDF datasets.
The architectural concern here is therefore not a claim that semantic
equivalence before canonicalization or hashing is new. It is the
reusable comparison contract around such techniques: the derivation
domain and equivalence relation, the complete derivation semantics,
the semantics under which outputs may be compared, and the location
and consequences of processing that can merge distinctions relevant
to the comparison. This document collects principles for that
boundary across derived-identifier specifications; concrete
specifications remain responsible for their domain-specific rules.
[RFC6943] analyzes identifier comparison for security purposes and
discusses identifier generation, canonicalization, equivalence
procedures, and false positive and false negative outcomes. This
document narrows attention to specifications in which separate
implementations recompute an identifier from an underlying value
under shared derivation semantics. It makes explicit the source-to-
domain boundary, coherence between the specified equivalence relation
and derivation, and the location of any many-to-one processing before
a downstream operation whose properties are relied upon. The
resulting concern is not a replacement for identifier comparison
rules; it is the derivation contract under which equality of the
resulting identifiers can be interpreted as evidence about the
underlying values.
The central question is:
Under what specified semantics, and with what stated false match
properties, does equality of independently derived identifiers
support treating their inputs as equivalent for the comparison being
performed?
Le Expires 23 February 2027 [Page 3]
Internet-Draft Comparing Derived Identifiers August 2026
This document calls equality of derived identifiers for two values
that are not equivalent for the specified comparison a "false match".
The term specializes the false-positive comparison concern of
[RFC6943] to equality of derived outputs evaluated against the
equivalence relation specified for the derivation domain.
The principles do not depend on the final identifier being a
cryptographic digest; any deterministic result compared this way
needs defined comparison semantics.
The principles apply when separate implementations deterministically
derive identifiers or comparison tokens and later compare those
outputs by equality without relying on one runtime authority to
assign the result for both sides. The derivation domain can contain
byte strings, structured values, graphs, or other precisely defined
values. The intended relation over inputs is an equivalence
relation. Directional, approximate, similarity, containment, and
other non-equivalence relations are outside scope, as are identifiers
whose comparison semantics are supplied entirely by authoritative
assignment or lookup. This document does not prescribe one
identifier format, one encoding, or one cryptographic topology.
2. Specify What Is Compared
2.1. Domain and Equivalence
A specification defines a domain of values to which its comparison
applies and an equivalence relation over that domain. The relation
is reflexive, symmetric, and transitive. The specification is
precise enough that independent implementations can determine whether
a value is in the domain and whether two values are equivalent for
the specified comparison.
If the derivation is written as F, F denotes the fully instantiated
derivation after every applicable algorithm, parameter set, suite,
and other result-affecting choice has been fixed. It is constant on
each equivalence class:
v1 ~ v2 => F(v1) = F(v2)
Le Expires 23 February 2027 [Page 4]
Internet-Draft Comparing Derived Identifiers August 2026
This implication is the minimum coherence condition between the
comparison semantics and the derivation. If equivalent in-domain
values produce different identifiers under the same applicable
derivation semantics, the derivation fails this coherence condition;
that divergence is a conformance or interoperability failure, not a
permitted comparison outcome. The reverse implication is not
automatic. A bounded or otherwise lossy derivation can assign the
same identifier to values from different equivalence classes;
Section 5 addresses that case.
The relation is part of the specification semantics.
Canonicalization can be one technique for implementing or testing
those semantics, but it does not by itself decide which distinctions
are relevant. As discussed in [RFC6943], comparison can be defined
through canonical forms or through other equivalence procedures; a
unique canonical representation is not a prerequisite for every
comparison rule.
The equivalence relation is the specification's statement of which
distinctions matter for this comparison. A distinction intentionally
ignored by that relation need not be preserved by the derivation. A
distinction that separates values the relation treats as non-
equivalent remains relevant to the comparison and is not silently
erased by preceding processing unless the resulting false match
behavior is itself part of the specified mechanism.
The specification also defines domain membership, including invalid
values and any feature or form that the specification itself
excludes. That semantic boundary is distinct from a particular
implementation's local inability to process an otherwise in-domain
value because of memory, message size, time, or deployment limits. A
value outside the specified domain does not acquire comparison
semantics merely because one implementation can serialize or hash it;
conversely, a local capability failure does not make an otherwise in-
domain value semantically invalid. Domain membership is therefore
independently testable rather than inferred from whatever input an
implementation happens to process. A resource bound intended to
affect domain membership is part of the domain definition; a local
deployment ceiling that is not so specified remains an operational
limitation rather than comparison semantics.
An equivalence relation need not be byte equality. It can, for
example, ignore ordering where the domain defines a mathematical set,
or treat multiple accepted encodings as representations of the same
value. Conversely, a specification can deliberately use exact byte
string equality. The important property is not which relation is
chosen, but that the choice is explicit and independently applicable.
Le Expires 23 February 2027 [Page 5]
Internet-Draft Comparing Derived Identifiers August 2026
The relation defined here is scoped to the specified comparison. The
document does not require it to answer whether two richer application
objects are universally "the same" for every purpose. A different
protocol can define a different comparison over the same source
material without contradiction.
2.2. Source Values and Representations
Specifications frequently receive richer source objects or serialized
representations before reaching the value on which identifier
derivation operates. Those steps need to be described carefully
because any distinction removed before derivation cannot later affect
the identifier.
Suppose a source value s is mapped by P into the derivation domain:
s --P--> v --F--> identifier
If P(s1) = P(s2), no later deterministic processing can make the
derived identifiers differ. A specification that intends a source
distinction to affect comparison therefore retains that distinction
in the value passed to the derivation, or otherwise includes it in
the specified input semantics. If the distinction is intentionally
discarded, the identifier does not distinguish it.
This condition is loss in the source mapping, not by itself a false
match between two values in the derivation domain. Once P(s1) =
P(s2), the derivation receives one and the same domain value. If s1
and s2 were intended to remain distinguishable for the surrounding
comparison, the source-to-value mapping did not preserve that
intended distinction. False-match analysis of F begins with distinct
in-domain values. Keeping these cases separate prevents properties
of a downstream derivation operation from being used to justify a
distinction that was already removed by P.
Completeness relative to the declared derivation domain does not by
itself establish that the source mapping preserved every source
distinction that ought to matter. A mapper can populate every field
required by the destination value while the destination model still
omits a material distinction present in the source. The
specification or profile that defines P therefore remains responsible
for identifying which source distinctions are material to the
intended comparison and for stating how they are represented,
deliberately excluded, or otherwise accounted for. Mechanical
completeness of a mapping is not a substitute for that semantic
judgment.
Le Expires 23 February 2027 [Page 6]
Internet-Draft Comparing Derived Identifiers August 2026
The source mapping is itself part of the applicable comparison
semantics. Given the same specified source input and the same
applicable mapping semantics, independent implementations produce the
same mapped domain value. Any dependency that can change the mapped
value while those specified inputs and semantics are otherwise
unchanged is either part of the defined input to P or fixed
unambiguously by the mapping. Implementation preference or ambient
mutable discovery, validation, registry, clock, ledger,
configuration, or network state is insufficient if different
selections can change the mapped value. If such external state is
intentionally comparison-relevant, the mapping defines the particular
state or version on which the result depends and how that selection
is fixed.
This is different from representation decoding. Multiple wire
representations can map to equivalent values without implying that
the source semantics were projected away. A specification that
accepts several representations defines their decoding and validation
sufficiently precisely that independent implementations agree on the
resulting values and rejected inputs.
Representation rules are therefore not incidental when they affect
which value reaches the derivation. Parser differentials, duplicate
handling, number conversion, Unicode processing, field omission,
ordering, or defaulting can otherwise make implementations derive
identifiers from different values while believing they implement the
same comparison. In particular, absence, null or sentinel values,
typed empty values, and exceptional numeric values are not presumed
interchangeable when the distinction affects the comparison domain.
Handling of duplicate keys is defined before a generic host object
model can silently apply first-wins or last-wins behavior.
Specifications state source mapping separately from representation
decoding so that deliberate projection from a richer source is not
confused with accidental loss during parsing.
Testability of this boundary includes accepted and rejected cases
near the domain edge, because agreement on expected final outputs
alone does not establish agreement on which values enter the
derivation.
3. Specify Complete Derivation Semantics
A specification fixes every semantic choice needed to derive the
identifier from a value in the domain. Depending on the mechanism,
these can include:
* selected fields or components;
Le Expires 23 February 2027 [Page 7]
Internet-Draft Comparing Derived Identifiers August 2026
* normalization or canonicalization, framing, ordering, and domain
separation rules;
* algorithm, output length, and other fixed parameter choices; and
* external material on which the derivation intentionally depends,
with an unambiguous binding to the value or version used.
These are normative semantics that can change the result, not
implementation internals. Any dependency that can change the result
while the specified input is otherwise unchanged is either part of
the defined input or fixed unambiguously by the applicable rules. A
mutable registry label, unrecorded clock value, current ledger head,
local configuration choice, or network response is insufficient if
different selections can change the result. Secret material or
material subject to access control is not prohibited, but the
selected key, key version, or other parameter is part of the
applicable derivation semantics even when the material itself is not
public.
Given an in-domain value, the applicable rules, and any specified
material they are authorized to use, independent implementations can
reproduce the same identifier without a shared authority assigning it
or selecting hidden state that can change the result. Registries,
resolvers, repositories, or negotiation services can locate or
authenticate applicable specification material, but once those
semantics are fixed, loss of the acquisition mechanism does not
change what the derivation means.
"Independent" in this document refers to implementation-level
reproducibility under fixed semantics. It does not require inputs to
be public, every party to possess the same protected material, or
public recomputation by arbitrary observers. However, if material
required for the derivation is held exclusively by one party such
that no separate conforming implementation with the required
authorization can reproduce the result, that case does not satisfy
the independently derived analysis used here. This distinguishes
reproducible derivation from assignment of an opaque identifier by an
authority. Production of a value whose result can only be accepted
from one runtime authority is likewise outside this analysis case.
4. Compare Under Defined Semantics
Le Expires 23 February 2027 [Page 8]
Internet-Draft Comparing Derived Identifiers August 2026
4.1. Applicable Comparison Semantics Must Be Unambiguous
In this document, the applicable comparison semantics comprise the
comparison domain and equivalence relation, the derivation semantics,
and any additional rules needed to interpret equality of the
resulting outputs.
Output octets do not necessarily carry all of those semantics. Equal
octets can arise under different domains, equivalence relations,
derivation rules, algorithms, parameters, or interpretation rules.
Output equality therefore has shared comparison meaning only when the
applicable comparison semantics are unambiguous to the parties
performing the comparison.
A surrounding protocol can fix those semantics by protocol version
and message position, carry a binding to them, select a defined
profile, bind to immutable specification material, negotiate among
defined alternatives, or use another unambiguous mechanism. This
document does not require a globally allocated identifier for a rule
set or a universal negotiation mechanism. The binding also need not
be part of the derived output itself. Portability of output octets
and portability of their comparison meaning are separate properties.
Representation equality does not establish interpretation equality.
Equal context strings, profile labels, selectors, namespace tokens,
references, or derived identifiers do not by themselves prove that
two parties apply the same semantics. Names, URIs, registry numbers,
package names, and version labels can help locate candidate material,
but discovery is distinct from establishing which semantics apply
[RFC3986]. Mutable aliases or locators are insufficient when their
resolution can change semantics that affect comparison.
When applicable semantics depend on a schema, registry entry,
normalization table, imported profile, executable module, parameter
set, or similar material whose change can affect the domain,
equivalence relation, derivation, or interpretation, the surrounding
protocol fixes that dependency unambiguously, either directly or
through a deterministic immutable rule. A name derived from content
can help bind a reference to exact bytes [RFC6920], but byte identity
or authentication alone does not establish semantic compatibility.
If information required to determine the applicable semantics is
unavailable or ambiguous for a comparison, output equality alone is
insufficient to interpret the inputs as equivalent; that condition
does not establish either a match or a non-match conclusion.
Le Expires 23 February 2027 [Page 9]
Internet-Draft Comparing Derived Identifiers August 2026
Two different specification documents can describe the same
applicable semantics. Conversely, different semantics are not made
directly comparable merely because their output formats or output
octets happen to match. If a protocol needs comparison across
different derivation schemes, it defines that bridge explicitly.
4.2. Changes Define Different Comparison Semantics
Changing a rule in a way that changes the domain, equivalence
relation, derived output, or interpretation defines different
comparison semantics. Existing identifiers are interpreted under the
semantics with which they were produced; changing an algorithm,
framing rule, normalization rule, domain separation input,
dependency, or other choice that can change the result does not
silently reinterpret them.
Different applicable derivation semantics can also result from
selecting among alternatives already defined by one specification,
such as different algorithm or parameter suites. Such a selection
does not by itself require a new specification or profile version.
The selected alternatives remain different derivation semantics
unless an explicit bridge defines how their outputs are compared.
A surrounding protocol can define migration, negotiation, succession,
or explicit comparison between old and new outputs, but that does not
make the derivations the same operation or directly comparable by
default. Cryptographic algorithm transition is one instance of this
more general rule, and applicable agility guidance remains relevant
[RFC7696].
5. Account for Information Loss and False Matches
5.1. Preserve Relevant Distinctions Before Downstream Operations
A later operation cannot repair a distinction that earlier processing
has already erased.
Suppose the derivation is described for security analysis as:
v --E--> x --H--> identifier
and the specification relies on a false match or cryptographic
property of H. If two values that are not equivalent for the
specified comparison satisfy E(v1) = E(v2), then equal final
identifiers for those values are not a collision of H; H received the
same input.
Le Expires 23 February 2027 [Page 10]
Internet-Draft Comparing Derived Identifiers August 2026
More generally, for a given pair of non-equivalent accepted values
and a normative derivation path containing several deterministic
transforms, review can localize loss at the first transform whose
outputs for that pair become equal after the immediately preceding
normative values were unequal. Every later deterministic transform
then receives equal inputs and cannot restore the distinction. This
first-merge localization is an analysis method, not a requirement to
expose implementation-internal stages. A merge in the source mapping
P is the distinct upstream case described in Section 2.2; within the
derivation, the same method separates pre-downstream loss from loss
introduced by the downstream operation itself.
Therefore, when a specification relies on properties of a downstream
operation, preceding normative processing either preserves the
distinctions relevant to the comparison or explicitly characterizes
the loss it introduces. This requirement concerns the normative
semantic path, not an implementation's private decomposition into
functions or internal states. A specification can define one
compound transform or several named steps; the relevant question is
whether processing before the downstream operation can merge inputs
that the comparison intends to distinguish.
If earlier processing deliberately removes such distinctions, that
loss is analyzed on its own terms. The security argument cannot
transfer the downstream primitive's collision properties backward
across an already many-to-one transform. Conversely, if E(v1) =
E(v2) implies v1 ~ v2 for accepted inputs, then a later equal input
to the primitive cannot have arisen from an earlier merge of values
that the comparison intends to distinguish.
Ambiguous concatenation is a common example. If a domain
distinguishes ordered pairs of strings but a preimage encoder simply
concatenates the components, then ("ab", "c") and ("a", "bc") both
become "abc". A later hash receives the same bytes in both cases, so
collision resistance of the hash says nothing about that merge.
Boundaries, lengths, or another unambiguous encoding need to preserve
the distinction when the comparison requires it. Cryptographic
specifications address the same class of problem through injective or
otherwise unambiguous encodings and domain separation. [RFC9380],
for example, requires injective domain separation encodings so
distinct invocations do not collapse onto the same downstream input.
The same condition applies when variable-length context, profile, or
domain separation values are composed with other inputs: their
framing preserves component boundaries so distinct tuples do not
merge before the downstream operation.
Le Expires 23 February 2027 [Page 11]
Internet-Draft Comparing Derived Identifiers August 2026
Normalization, truncation, duplicate elimination, field omission,
case folding, ordering changes, or projection can have the same
architectural effect when they erase a distinction that the specified
comparison intends to preserve.
5.2. Characterize False Matches
A derivation need not permit false matches. If F(v1) = F(v2) implies
v1 ~ v2 for values in the domain, then identifier equality and input
equivalence coincide for that specification.
When distinct equivalence classes can produce the same identifier,
false match behavior is part of the mechanism's correctness and
security analysis. Merely documenting that an operation is lossy
does not make its output useful for comparison. A function that maps
every value to one constant output is fully deterministic and fully
specified, yet equality of its outputs provides no useful evidence
about whether its inputs are equivalent.
A practical review starts with the downstream operation whose
properties the specification relies upon. The reviewer identifies
the exact input presented to that operation, follows the normative
processing that maps an accepted value in the comparison domain to
that input, and asks whether two non-equivalent accepted values can
arrive there as the same input. If they can, that earlier merge is
analyzed on its own terms. If they cannot, equal output behavior can
then be assessed under the properties and threat model of the
downstream operation. This review order does not require a
specification to expose an implementation's internal pipeline.
Cryptographic compression is an important form of deliberate loss. A
fixed-width digest is not a proof of mathematical uniqueness over an
arbitrarily large input space. The relevant security property
depends on the attacker's control over the compared inputs.
Collision resistance can be relevant when the attacker can choose
both inputs; second-preimage resistance can be the more direct
property when one target input is fixed [RFC4270]. Concrete
specifications analyze their attacker model rather than treating
every event with equal outputs as the same cryptographic problem.
Loss before a cryptographic primitive and collision at that primitive
are different failure modes. A strong hash does not compensate for
ambiguous framing or another earlier transform that has already
merged values the comparison intends to distinguish.
Le Expires 23 February 2027 [Page 12]
Internet-Draft Comparing Derived Identifiers August 2026
6. IANA Considerations
This document has no IANA actions.
7. Security Considerations
Comparison semantics are security-sensitive. If an attacker can
substitute a rule that can change the result while both parties
believe the same semantics apply, a correctly computed identifier can
still be interpreted incorrectly. Mechanisms that acquire,
negotiate, or select those semantics therefore protect the selection
and its binding to the derived output against substitution and
downgrade according to their threat model. Protecting each candidate
profile is insufficient if an attacker can influence which candidate
is selected. Applicable algorithm agility guidance remains relevant
[RFC7696]. Transparency can make changes observable but does not
itself establish which semantics apply.
Representation differentials can cause implementations to accept
different inputs or derive from different values; Section 2 describes
the required semantic boundary. Likewise, processing that merges
non-equivalent values before a downstream lossy or cryptographic
operation cannot inherit the later operation's collision or second-
preimage properties; Section 5 describes that analysis.
Where derivation permits false matches, concrete specifications state
properties, algorithm strength, and transition behavior appropriate
to their comparison use and threat model. Equal derived identifiers
do not by themselves establish authentication, authorization,
provenance, freshness, ownership, revocation status, consensus, or
trust. Where a security decision relies on preventing an observer
from testing guesses about the underlying value, a public
deterministic derivation over a low-entropy or predictable domain
does not provide that protection. Operational resource limits remain
necessary for denial-of-service protection even when they do not
affect comparison semantics.
8. Privacy Considerations
Stable derived identifiers can enable correlation across interactions
or contexts [RFC6973]. This document does not provide unlinkability
or anonymity. Hashing also does not provide confidentiality for low-
entropy or predictable domains because an observer can derive
identifiers for guessed values and compare them.
An explicit scoping input can limit the scope over which equality is
stable and reduce unintended correlation, but it changes the derived
result and does not by itself provide a privacy guarantee.
Le Expires 23 February 2027 [Page 13]
Internet-Draft Comparing Derived Identifiers August 2026
Registries, resolvers, logs, transparency systems, and other
surrounding services can expose additional metadata and require their
own privacy analysis.
9. Informative References
[RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
Resource Identifier (URI): Generic Syntax", STD 66,
RFC 3986, DOI 10.17487/RFC3986, January 2005,
<https://www.rfc-editor.org/info/rfc3986>.
[RFC4270] Hoffman, P. and B. Schneier, "Attacks on Cryptographic
Hashes in Internet Protocols", RFC 4270,
DOI 10.17487/RFC4270, November 2005,
<https://www.rfc-editor.org/info/rfc4270>.
[RFC6920] Farrell, S., Kutscher, D., Dannewitz, C., Ohlman, B.,
Keranen, A., and P. Hallam-Baker, "Naming Things with
Hashes", RFC 6920, DOI 10.17487/RFC6920, April 2013,
<https://www.rfc-editor.org/info/rfc6920>.
[RFC6943] Thaler, D., "Issues in Identifier Comparison for Security
Purposes", RFC 6943, DOI 10.17487/RFC6943, May 2013,
<https://www.rfc-editor.org/info/rfc6943>.
[RFC6973] Cooper, A., Tschofenig, H., Aboba, B., Peterson, J.,
Morris, J., Hansen, M., and R. Smith, "Privacy
Considerations for Internet Protocols", RFC 6973,
DOI 10.17487/RFC6973, July 2013,
<https://www.rfc-editor.org/info/rfc6973>.
[RFC7638] Jones, M. and N. Sakimura, "JSON Web Key (JWK)
Thumbprint", RFC 7638, DOI 10.17487/RFC7638, September
2015, <https://www.rfc-editor.org/info/rfc7638>.
[RFC8785] Rundgren, A., Jordan, B., and S. Erdtman, "JSON
Canonicalization Scheme (JCS)", RFC 8785,
DOI 10.17487/RFC8785, June 2020,
<https://www.rfc-editor.org/info/rfc8785>.
[RFC8949] Bormann, C. and P. Hoffman, "Concise Binary Object
Representation (CBOR)", STD 94, RFC 8949,
DOI 10.17487/RFC8949, December 2020,
<https://www.rfc-editor.org/info/rfc8949>.
Le Expires 23 February 2027 [Page 14]
Internet-Draft Comparing Derived Identifiers August 2026
[RFC9679] Isobe, K., Tschofenig, H., and O. Steele, "CBOR Object
Signing and Encryption (COSE) Key Thumbprint", RFC 9679,
DOI 10.17487/RFC9679, December 2024,
<https://www.rfc-editor.org/info/rfc9679>.
[RFC7696] Housley, R., "Guidelines for Cryptographic Algorithm
Agility and Selecting Mandatory-to-Implement Algorithms",
BCP 201, RFC 7696, DOI 10.17487/RFC7696, November 2015,
<https://www.rfc-editor.org/info/rfc7696>.
[RFC9380] Faz-Hernandez, A., Scott, S., Sullivan, N., Wahby, R., and
C. Wood, "Hashing to Elliptic Curves", RFC 9380,
DOI 10.17487/RFC9380, August 2023,
<https://www.rfc-editor.org/info/rfc9380>.
[W3C-RDFC-1.0]
Longley, D., Kellogg, G., and D. Yamamoto, "RDF Dataset
Canonicalization", W3C Recommendation, May 2024,
<https://www.w3.org/TR/rdf-canon/>.
Appendix A. Relationship to Existing Work
[RFC6943] analyzes identifier comparison for security purposes,
including identifier generation, canonicalization, differing
comparison procedures, and the consequences of false positive and
false negative comparison results. This document focuses more
narrowly on independently recomputed identifiers and makes the
source-to-domain boundary and derivation coherence conditions
explicit. It requires complete and established derivation and
comparison semantics and localizes merges that occur before a
downstream operation whose properties are relied upon. Under one
fixed set of applicable semantics, equivalent inputs that derive
different outputs violate the coherence condition described in
Section 2.1 rather than constituting an allowed negative comparison
result. A false match is the corresponding false-positive concern at
this derived-output boundary: equal outputs arise from inputs that
are not equivalent for that comparison. [RFC6920] defines hash-based
names for digital objects and bindings between hash algorithms,
digest values, and those names. JWK Thumbprints [RFC7638] and COSE
Key Thumbprints [RFC9679] are concrete constructions that select key
members, fix deterministic representations, and define digest
derivation.
[RFC8785] defines canonical JSON so cryptographic operations over
JSON can be repeatable across implementations. [RFC8949]
distinguishes the CBOR data model from serialization variants and
allows application-specific data models to define value equivalence
independently of those variants. [W3C-RDFC-1.0] goes further for one
Le Expires 23 February 2027 [Page 15]
Internet-Draft Comparing Derived Identifiers August 2026
concrete graph data model: it defines canonical RDF dataset results
such that two datasets produce the same canonical result if and only
if they are isomorphic. These specifications show that value
equivalence and deterministic representation can be specified
together for a particular domain. This document does not replace
those domain-specific rules; it isolates the reusable comparison
contract a derived-identifier specification needs to establish around
them. [RFC9380] provides a cryptographic example in which
unambiguous, injective domain separation encoding is required before
downstream properties are relied upon. [RFC3986] remains relevant
when derived identifiers are carried in broader naming systems.
Author's Address
Thanh Le
Viet Nam
Email: vnlemanhthanh@gmail.com
Le Expires 23 February 2027 [Page 16]