# Key Event Receipt Infrastructure (KERI)

Specification Status: v0.9 Draft

Latest Draft:

https://github.com/trustoverip/tswg-keri-specification

Author:

Editors:

Contributors:

Participate:
GitHub repo
Commit history

# Introduction

The original design of the Internet Protocol (IP) has no security layer(s) [RFC0791], providing no built-in mechanism for secure attribution to the source of an IP packet. Anyone can forge an IP packet, and a recipient may not be able to ascertain when or if the packet was sent by an imposter. This means that secure attribution mechanisms for the Internet must be overlaid. This documents presents an identifier system security overlay, called the Key Event Receipt Infrastructure (KERI) protocol, that serves as a trust spanning layer for the Internet. This overlay includes a primary root-of-trust in a Self-certifying identifier (SCID) that provides a formalism for Autonomic identifiers (AIDs), Autonomic namespaces (ANs), and the basis for a universal Autonomic Identity System (AIS).

The KERI protocol provides verifiable authorship (authenticity) of any message or data item via secure cryptographically verifiable attribution to a SCID as a primary root-of-trust [[4]] [[16]] [[18]] [[19]] [[17]] [[15]]. This root-of-trust is cryptographic, not administrative, because it does not rely on any trusted third-party administrative process but may be established with cryptographically verifiable data structures. This cryptographic root-of-trust enables end verifiability where every data item may be cryptographically attributable to its source by any recipient verifier, without reliance on any infrastructure not under the verifier’s ultimate control. Therefore, KERI has no security dependency on any other infrastructure and does not rely on security guarantees that may or may not be provided by the traditional internet infrastructure. This makes intervening operational infrastructure replaceable, enabling ambient verifiability (verification by anyone, anywhere, at any time).

A SCID is strongly bound at inception to a cryptographic keypair that is self-contained unless control over the SCID needs to be transferred to a new keypair. The KERI protocol provides end-verifiable control provenance over a variant of SCID, called an Autonomic identifier (AID), via signed transfer statements in an append-only chained Key event log (KEL). The key management operation for tansferring control over an AID is implemented via a novel key pre-rotation scheme [[6]]. With pre-rotation, control over an AID can be re-established by rotating to a one-time use set of unexposed but pre-committed rotation keypairs. This approach fixes the foundational flaw in traditional Public key infrastructure (PKI), which is insecure key rotation. KERI enables decentralized public key infrastructure (DPKI) that is more secure and more portable. KERI may be viewed as a viable reboot of the Web-of-Trust concept for DPKI because KERI fixes the hard problem of DPKI, which is key rotation.

Two primary trust modalities motivated the design of the KERI protocol, namely a direct (one-to-one) mode and an indirect (one-to-any) mode. In the direct mode, two entities establish trust over AIDs via a direct exchange of their counterparts’ verified signatures. In the indirect mode, trust over AIDs depends on witnessed Key event receipt logs (KERLs) as a secondary root-of-trust for validating key events. The security and accountability guarantees of indirect mode are provided by KERI’s Algorithm for Witness Agreement (KAWA) among a set of key event Witnesses. The KAWA approach may be much more performant and scalable than more complex approaches that depend on a total ordering distributed consensus ledger. Nevertheless, KERI may employ a distributed consensus ledger when other considerations make it the best choice.

The KERI approach to Decentralized key management infrastructure (DKMI) allows for more granular composition. Moreover, because KERI is event streamed, it enables DKMI to operate in-stride with data events streaming applications such as web 3.0, IoT, and others where performance and scalability are more important. The core KERI engine is independent of identifier namespace. This makes KERI a candidate for a universal portable DKMI. This system uses the design principle of minimally sufficient means for appropriate levels of security, performance, and adoptability to be a viable candidate as the DKMI that underpins a trust-spanning layer for the Internet.

# Scope

Implementation design of a protocol-based decentralized key management infrastructure that enables secure attribution of data to a cryptographically derived identifier with strong (cryptographically verifiable) bindings between each of the identifier, a set of asymmetric signing key pairs that are the key state, a controlling entity that holds the private keys, and a cryptographically verifiable data structure that enables changes to that key state. Thus, security over secure attribution is reduced to key management. This key management includes, for the first time, a practical solution to the hard problem of public key rotation. There is no reliance on trusted third parties. The resulting secure attribution is fully end-to-end verifiable.

Because of the reliance on asymmetric (public, private) digital signing key pairs, this may be viewed as a type of decentralized public key infrastructure (DPKI). The protocol supports cryptographic agility for both pre- and post-quantum attack resistance. The application scope includes any electronically transmitted information. The implementation dependency scope assumes no more than cryptographic libraries that provide cryptographic strength pseudo-random number generators, cryptographic strength digest algorithms, and cryptographic strength digital signature algorithms.

# Normative references

The following documents are referred to in the text in such a way that some or all of their content constitutes requirements of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.

  • ISO/IEC 7498-1:1994 Information technology — Open Systems Interconnection — Basic Reference Model: The Basic Model. June 1999. Introduction. Retrieved 26 August 2022.

[a]. IETF RFC-2119 Key words for use in RFCs to Indicate Requirement Levels [a]: https://www.rfc-editor.org/rfc/rfc2119.txt

[b]. IETF RFC-4648 Base64 [b]: https://www.rfc-editor.org/rfc/rfc4648.txt

[c]. IETF RFC-3339 DateTime [c]: https://www.rfc-editor.org/rfc/rfc3339.txt

# Terms and Definitions

For the purposes of this document, the following terms and definitions apply.

ISO and IEC maintain terminological databases for use in standardization at the following addresses:

keris-algorithm-for-witness-agreement
No custom content found for keri1:keris-algorithm-for-witness-agreement
authentic-chained-data-container
No custom content found for keri1:authentic-chained-data-container
autonomic-identifier
No custom content found for keri1:autonomic-identifier
autonomic-identity-system
No custom content found for toip1:autonomic-identity-system
autonomic-namespace
No custom content found for toip1:autonomic-namespace
backer
No custom content found for keri1:backer
concise-binary-object-representation
No custom content found for toip2:concise-binary-object-representation
configuration-traits
No custom content found for keri1:configuration-traits
controller
No custom content found for toip1:controller
cryptographic-primitive
No custom content found for toip2:cryptographic-primitive
cryptonym
No custom content found for toip2:cryptonym
current-threshold
No custom content found for keri1:current-threshold
dead-attack
No custom content found for keri1:dead-attack
decentralized-key-management-infrastructure
No custom content found for toip2:decentralized-key-management-infrastructure
duplicity
No custom content found for toip2:duplicity
end-verifiability
No custom content found for toip1:end-verifiability
establishment-event
No custom content found for keri1:establishment-event
first-seen
No custom content found for keri1:first-seen
inception-event
No custom content found for keri1:inception-event
inception
No custom content found for toip2:inception
interaction-event
No custom content found for keri1:interaction-event
key-event-log
No custom content found for keri1:key-event-log
key-event-message
No custom content found for keri1:key-event-message
key-event-receipt-log
No custom content found for keri1:key-event-receipt-log
key-event-receipt
No custom content found for keri1:key-event-receipt
key-event
No custom content found for keri1:key-event
key-state
No custom content found for toip2:key-state
live-attack
No custom content found for toip2:live-attack
message
No custom content found for toip1:message
next-threshold
No custom content found for keri1:next-threshold
non-establishment-event
No custom content found for keri1:non-establishment-event
primitive
No custom content found for toip2:primitive
rotation-event
No custom content found for toip2:rotation-event
rotation
No custom content found for keri1:rotation
salt
No custom content found for toip2:salt
seal
No custom content found for toip2:seal
self-addressed-data
No custom content found for keri1:self-addressed-data
self-addressing-identifiers
No custom content found for toip2:self-addressing-identifiers
self-certifying-identifier
No custom content found for toip2:self-certifying-identifier
validator
No custom content found for toip2:validator
verifiable
No custom content found for toip1:verifiable
verifier
No custom content found for toip1:verifier
version
No custom content found for toip2:version
watcher
No custom content found for keri1:watcher
witness
No custom content found for keri1:witness

# KERI foundational overview

# Infrastructure and ecosystem overview

This section provides a high-level overview of the infrastructure components of a live KERI ecosystem and how they interact. It does not provide any low-level details and only describes the components superficially. However, it should help understand how all the parts fit together as one reads through the more detailed sections.

# Controller Application

Each KERI AID is controlled by an entity (or entities when multi-sig) that holds the digital signing private keys belonging to the current authoritative key state of the AID. This set of entities is called the AID controller, or Controller for short. Each controller has an application or suite or applications called the controller application or application for short. The controller application provides five functions with respect to the digital signing key pairs that control the controller’s AID. These five functions manage the associated key state via key events. These functions are:

  • key pair generation,
  • key pair storage,
  • key event generation,
  • key event signing, and
  • key event validation.

Key event validation includes everything needed to validate events, including structure validation, chaining digest verification, signature verification, and witness receipt verification. The execution of these functions, including the associated code and data, SHOULD be protected by the controller using best practices. For example, this might be accomplished by securely installing the controller application on a device in the physical possession of the controller, such as a mobile phone with appropriate secure storage and trusted code execution environments. Alternatively, the functions might be split between devices where a remote software agent that runs on behalf of the controller MAY host encrypted keypair storage and highly available key event validation functions while the more critical keypair generation, key event generation, and key event signing functions are on a device in the user’s possession. The latter might be called a key chain or wallet. The extra security and scalability properties of delegated AIDs enable other arrangements for securely hosting the five functions. For the sake of clarity and without loss of generality, the controller application, including any devices or software agents, will be referred to as the controller application or application for short.

Controller Application

Figure: Controller Application Functions

Controller Application with Agent

Figure: Controller Application with Agent

# Direct exchange

The simplest mode of operation is that a pair of controllers, each with their own AID, use their respective applications (including agents when applicable) to directly exchange key event messages that verifiably establish the current key state of their own AID with the other controller. For each exchange of key events, the destination controller acts as a validator of events received from the source controller. Therefore, given any key event, a given entity is either the event’s controller or a validator of some other controller’s event.

The set of key event messages forms an append-only, cryptographically verifiable data structure called a key event log or KEL. The events in a KEL are signed and are both forward and backward-chained. The backward chaining commitments are cryptographic digests of the previous event. The forward chaining commitments are cryptographic digests of the next set of public keys that will constitute the key state after a key rotation. The commitments are nonrepudiably signed with the private keys of the current key state. Each KEL is somewhat like a “blockchain” that manages the key state for one and only one AID. In addition to key states, each KEL also manages commitments to external data. These commitments are signed cryptographic digests of external data called seals. When included in a KEL, a seal binds (or anchors) the external data to the key state of the AID at the location in the KEL where the seal appears. This binding enables a controller to make cryptographically verifiable, non-repudiable issuances of external data that are bound to a specific key state of that AID.

By exchanging KELs, each controller can validate the current key state of the other and, therefore, securely attribute (authenticate) any signed statements or any sealed issuances of data. This bootstraps the use of authentic data in any interaction or transaction between the pair of controllers. This is the mission of KERI.

Direct Exchange

Figure: Direct Exchange

# Indirect exchange via witnesses and watchers

For many if not most use cases, the direct exchange of key event messages between controller applications (including agents when applicable) may not provide sufficient availability, scalability, or even security. KERI includes two other components for those use cases. These components are witnesses and watchers.

Each controller of an AID MAY create or choose to use a set or pool of witnesses for that AID. The controller chooses how the witnesses are hosted. It MAY use a witness service provided by some other party or MAY directly host its own witnesses in its own infrastructure or some combination of the two. Regardless, the composition of the Witness pool is under the ultimate control of the AID’s controller, which means the controller MAY change the witness infrastructure at will. Witnesses for the AID are managed by the key events in the AID’s KEL. Each witness creates a signed receipt of each event it witnesses, which is exchanged with the other witnesses (directly or indirectly). Based on those receipts, the witness pool uses an agreement algorithm called KAWA that provides high availability, fault tolerance, and security guarantees. Thereby, an AID’s witness pool constitutes a highly available and secure promulgation network for that AID.

Likewise, each controller acting as a validator of some other controller’s events MAY create or choose a set or pool of watchers. The validator chooses how the watchers are hosted. It MAY use a watcher service provided by some other party or MAY directly host its own watchers in its own infrastructure or some combination of the two. Nonetheless, the pool is under the ultimate control of the AID’s event validator. To clarify, it is not under the control of the AID’s controller. This means the validator MAY change its watcher infrastructure at will. Watchers are not AID-specific; instead, they watch the KELs of any or all AIDs that are shared with them. Watchers are not explicitly managed by key events. This is so that the watcher infrastructure used by any validator MAY be kept confidential and, therefore, unknown to potential attackers. It is up to each validator to manage its watcher infrastructure as it sees fit. Each validator uses its own watcher pool to watch the KELs of other controllers. When an AID has witnesses, the watchers of one validator watch the witnesses of the AID of some other controller. Each validator MAY use its own watcher pool to watch its own witness pool of the AID that it itself controls in order to detect external attacks on its witnesses.

Watchers MAY also exchange signed receipts of key events in the KELs they watch. Based on those receipts, a watcher pool could also employ the KAWA agreement algorithm to provide high availability, fault tolerance, and security guarantees. Thereby, a given validator’s watcher pool constitutes a highly available and secure confirmation network for any AIDs from other controllers it chooses to watch.

Watchers have a strong incentive to share all the KELs they watch. This is because Watchers follow a “first seen” policy (described in more detail below). Simply put, “first seen” means that only the first version of an event that a watcher receives is deemed by the watcher to be the one and only true version of the event. Any other versions received later are deemed invalid by that watcher, i.e., “first seen, always seen, never unseen.” Thus, any later compromise of the authoritative key state for the associated AID cannot produce an alternate version of the event that could supplant the first-seen version for a given watcher. Therefore, it is in the best interests of every honest AID controller to have its original version be accepted as first-seen as widely and as quickly as possible in order to nullify any future potential exploits against its key state. It is also in the best interest of every validator to have their own watchers “first see” the earliest version of all key events from all other controllers because those earliest events are, by design, the least likely to have been compromised. This strongly incentivizes both parties to support a widespread low-latency global network of watchers and watcher pools that share their first-seen KELs.

Watchers MAY implement different additional features. A watcher could choose to keep around any verifiable key events that differ from their first-seen version. These variants are, by nature, duplicitous; in order to be verifiable, a duplicitous variant MUST be properly fully signed and witnessed. The only way that two versions of a given event can be fully signed and witnessed is if the keys of the event’s controller have been compromised by an attacker or the controller itself acted duplicitously. The two cases could be indistinguishable to a watcher. However, both exhibit provable duplicity with regard to the key state. A watcher who records and provides such evidence of duplicity to other watchers is called a Juror. A Juror MAY be a member of a highly available, fault-tolerant pool of Jurors, called a Jury. A watcher who evaluates key events based on the evidence of duplicity or lack thereof as provided by one or more Juries is called a Judge. KERI thus enables the duplicity-evident exchange of data.

Ultimately, a validator decides whether or not to trust the key state of a given AID based on the evidence or lack thereof of duplicity. A given validator MAY choose to use Judge and Jury services to aid it in deciding whether or not to trust the key state of a given AID. An honest validator MUST trust when there is no evidence of duplicity and MUST NOT trust when there is any evidence of duplicity unless and until the duplicity has been reconciled. KERI provides mechanisms for duplicity reconciliation. These include key compromise recovery mechanisms.

Indirect Exchange

Figure: Indirect Exchange

# Ecosystem

The KERI protocol fosters an open, competitive ecosystem of service providers for the various infrastructure components such as controller applications (wallets, key chains, and agents), witnesses, and watchers (judges and juries). Because there is no requirement for shared governance over any of the infrastructure components, each controller and each validator is free to choose its own service providers based on price, performance, usability, etc. This enables competition across the full spectrum of infrastructure components. Thus, existing cloud and web infrastructure can be leveraged at comparable performance and price levels. KERI fosters the development of a global watcher network that will eventually result in universal duplicity detectability and ambient verifiability with the goal of providing a universal DKMI in support of a trust-spanning layer for the internet.

KERI Ecosystem

Figure: KERI Ecosystem

# KERI’s identifier system security overlay

The function of KERI’s identifier-system security overlay is to establish the authenticity of the message payload in an IP Packet by verifiably attributing it to a cryptonymous SCID (an AID) via an attached set of one or more asymmetric keypair-based non-repudiable digital signatures. The current valid set of associated asymmetric keypair(s) is proven via a Verifiable data structure called the KEL. The identifier system provides a mapping between the identifier and the keypair(s) that control the identifier, namely, the public key(s) from those keypairs. The private key(s) is secret and is not shared.

An authenticatable (Verifiable) internet message (packet) or data item includes the identifier and data in its payload. Attached to the payload is a digital signature(s) made with the private key(s) from the controlling keypair(s). Given the identifier in a Message, any Verifier of a Message (data item) can use the identifier system mapping to look up the public key(s) belonging to the controlling keypair(s). The Verifier can then verify the attached signature(s) using that public key(s). Because the payload includes the identifier, the signature makes a non-repudiable cryptographic commitment to both the source identifier and the data in the payload.

Authenticatable Message

Figure: Authenticatable Message

# Overcoming existing security overlay flaws

KERI overcomes two major system security overlay flaws.

The first major flaw is that the mapping between the identifier (domain name) and the controlling keypair(s) is merely asserted by a trusted entity (a certificate authority or CA) via a certificate. Because the mapping is merely asserted, a Verifier cannot verify cryptographically the mapping between the identifier and the controlling keypair(s) but must trust the operational processes of the CA who issued and signed the certificate. As is well known, a successful attack upon those operational processes could fool a Verifier into trusting an invalid mapping — the certificate is issued to the wrong keypair(s) albeit with a Verifiable signature from a valid CA. Noteworthy is that the signature on the certificate is not made with the controlling keypairs of the identifier but made with keypairs controlled by the CA. The fact that the certificate is signed by the CA means that the mapping itself is not Verifiable but merely that the CA asserted the mapping between keypair(s) and identifier. The certificate merely provides evidence of the authenticity of the assignment of the mapping but not evidence of the veracity of the mapping.

The second major flaw is that when rotating the valid signing keys, there is no cryptographically Verifiable way to link the new (rotated in) controlling/signing key(s) to the prior (rotated out) controlling/signing key(s). Key rotation is asserted merely and implicitly by a trusted entity (CA) by issuing a new certificate with new controlling/signing keys. Key rotation is necessary because over time the controlling keypair(s) of an identifier becomes weak due to exposure when used to sign Messages and must be replaced. An explicit Rotation mechanism first revokes the old keys and then replaces them with new keys. Even a certificate revocation list (CRL) [[20]] as per [RFC5280], with an online status protocol (OCSP) registration as per [RFC6960], does not provide a cryptographically Verifiable connection between the old and new keys; This merely is asserted. The lack of a single universal CRL or registry means that multiple potential replacements could be valid. From a cryptographic verifiability perspective, Rotation by assertion with a new certificate that either implicitly or explicitly provides revocation and replacement is essentially the same as starting over by creating a brand-new independent mapping between a given identifier and the controlling keypair(s). This start-over style of Key rotation could well be one of the main reasons that other key assignment methods, such as Pretty Good Privacy (PGP’s) web-of-trust failed. Without a universally Verifiable revocation mechanism, any Rotation (revocation and replacement) assertion by some certificate authority, either explicit or implicit, is mutually independent of any other. This lack of universal cryptographic verifiability of a Rotation fosters ambiguity as to the actual valid mapping at any point in time between the identifier and its controlling keypair(s). In other words, for a given identifier, any or all assertions made by some set of CAs could be potentially valid.

The KERI protocol fixes both of these flaws using a combination of AIDs, key pre-rotation, and a Verifiable data structure, the KEL, as verifiable proof of Key state and duplicity-evident mechanisms for evaluating and reconciling Key state by Validators. Unlike certificate transparency, KERI enables the detection of Duplicity in the Key state via non-repudiable cryptographic proofs of Duplicity, not merely the detection of inconsistency in the Key state that MAY or MAY NOT be duplicitous.

# End-verifiable

A data item or statement is end-to-end-verifiable, or end-verifiable for short, when that data item could be cryptographically securely attributable to its source (party at the source end) by any recipient verifier (party at the destination end) without reliance on any infrastructure not under the verifier’s ultimate control. KERI’s end-verifiability is pervasive. It means that everything in KERI or that depends on KERI is also end-verifiable; therefore, KERI has no security dependency on any other infrastructure, including conventional PKI. It also does not rely on security guarantees that may or may not be provided by web or internet infrastructure. KERI’s identifier system-based security overlay for the Internet provides each identifier with a primary root-of-trust based on self-certifying, self-administering, self-governing AIDS and ANs that provides the trust basis for a universal AIS [[4]] [[16]] [[18]] [[19]] [[17]]. This root-of-trust is cryptographic, i.e. not administrative, because it does not rely on any trusted third-party administrative process but is established with cryptographically verifiable data structures alone.

Often, the two ends cannot transmit data directly between each other but relay that data through other components or infrastructure not under the control of either end. For example, Internet infrastructure is public and is not controlled by either end of a transmission. A term for any set of components that relays data between the ends or, equivalently, the party that controls it is the middle. The following diagram shows two ends communicating over the middle.

End-to-end Verifiability

Figure: End-to-end Verifiability

End verifiability means that the end destination can verify the source of the data without having to trust the middle. This gives rise to the concept called ambient verifiability, where the source of any data can be verified anywhere, at any time, by anybody. Ambient verifiability removes any need to trust any of the components in the middle, i.e., the whole internet.

Another term for a party at one end of a transmission over a network (internet) is a network edge. End-verifiability of data means that if the edges of the network are secure, then the security of the middle does not matter. With KERI, the security of the edges is based primarily on the security of the key management at the edges. Therefore, a KERI-based system benefits greatly because protecting one’s private keys is much easier than protecting all internet infrastructure.

True end-verifiability means that only non-repudiable digital signatures based on asymmetric, i.e., public key cryptography, can be used to securely attribute data to a cryptographically derived source identifier, i.e., AID. In this sense, data is authentic with respect to its source identifier when it is verifiably nonrepudiably signed with the authoritative keypairs for that identifier at the time of signing. The result is that KERI takes a signed-everything approach to data both in motion and at rest. This enables a no-shared-secret approach to primary authentication, i.e., the primary authenticity of a data item is not reliant on the sharing of secrets between the source and recipient of any data item. Common types of shared secrets used for authentication include passwords, bearer tokens, and shared encryption keys, which are all vulnerable to exploitation. The result of a no-shared-secret sign-everything approach is the strongest possible authenticity, which means secure attribution to an AID.

End verifiability implies that the infrastructure needed to verify MUST be under the ultimate control of the verifier. Otherwise, the verifier must trust in infrastructure it does not control and, therefore, can’t fully verify. Thus end-verifiability is a prerequisite for true zero-trust computing infrastructure, where zero-trust means never trust always verify. The infrastructure in KERI is therefore split into two parts, the infrastructure controlled by the securely attributable source of any information where that source is identified by its AID. The source is, therefore, the AID controller. The AID controller’s infrastructure is its promulgation infrastructure. The output of the promulgation infrastructure is duplicity evident in cryptographically verifiable data structures that the verifier MAY verify. The verifier MAY employ its own infrastructure to aid it in both performing cryptographic verification and detecting duplicity. The verifier’s infrastructure is its confirmation infrastructure. This bifurcated architecture over verifiable data is more succinctly characterized as shared data but no shared governance. This naturally supports a no-shared-secret approach to authentication. Shared governance also usually comes with security, portability, cost, and performance limitations, which limit its more universal adoptability.

# Self-certifying identifier (SCID)

The KERI identifier system overlay leverages the properties of cryptonymous SCIDs which are based on asymmetric PKI to provide end-verifiable secure attribution of any message or data item without needing to trust in any intermediary. A SCID is uniquely cryptographically derived from the public key of an asymmetric keypair, (public, private). The identifier is self-certifying in the sense that it does not rely on a trusted entity. Any non-repudiable signature made with the private key could be verified by extracting the public key from either the identifier itself or incepting information uniquely associated with the cryptographic derivation process for the identifier. In a basic SCID, the mapping between an identifier and its controlling public key is self-contained in the identifier itself. A basic SCID is ephemeral i.e., it does not support Rotation of its keypairs in the event of key weakness or compromise and therefore MUST be abandoned once the controlling private key becomes weakened or compromised from exposure. The class of identifiers that generalize SCIDs with enhanced properties such as persistence is called AIDs.

# Autonomic identifier (AID)

The use of a KEL gives rise to an enhanced class of SCIDs that are persistent, i.e. not ephemeral, because the SCID‘s keys could be refreshed or updated via Rotation, allowing secure control over the identifier in spite of key weakness or even compromise. Members of this family of generalized enhanced SCIDs are called AIDs. Autonomic means self-governing, self-regulating, or self-managing and is evocative of the self-certifying, self-managing, and self-administering properties of this class of identifier. An AID could exhibit other self-managing properties, such as transferable control using key pre-rotation, which enables control over such an AID to persist in spite of key weakness or compromise due to exposure. Authoritative control over the identifier persists in spite of the evolution of the Key state.

# Key rotation/pre-rotation

An important innovation of KERI is that it solves the key Rotation problem of PKI (including that of simple SCIDs) via a novel but elegant mechanism called key pre-rotation. This pre-rotation mechanism enables an entity to persistently maintain or regain control over an identifier in spite of the exposure-related weakening over time or even compromise of the current set of controlling (signing) keypairs. With key pre-rotation, control over the identifier can be re-established by rotating to a one-time use set of unexposed but pre-committed rotation keypairs that then become the current signing keypairs. Each Rotation, in turn, cryptographically commits to a new set of rotation keys but without exposing them. Because the pre-rotated keypairs need never be exposed prior to their one-time use, their attack surface could be optimally minimized. The current Key state is maintained via a KEL, an append-only Verifiable data structure. Cryptographic verifiability of the Key state over time is essential to remove this ambiguity over the mapping between the identifier (domain name) and the controlling keypair(s). Without this verifiability, the detection of potential ambiguity requires yet another bolt-on security overlay, such as the certificate transparency system.

# Qualified Cryptographic Primitives

A Cryptographic primitive is a serialization of a value associated with a cryptographic operation, including but not limited to a digest (hash), a salt, a seed, a private key, a public key, or a signature. Furthermore, a Qualified cryptographic primitive includes a prepended derivation code (as a proem) that indicates the cryptographic algorithm or suite used for that derivation. This simplifies and compactifies the essential information needed to use that Cryptographic primitive. All Cryptographic primitives in KERI MUST be expressed using the CESR (Compact Event Streaming Representation) protocol [[1]]. A property of CESR is that all cryptographic primitives expressed in either its Text or Binary domains are qualified by construction. Indeed, cryptographic primitive qualification is an essential property of CESR which makes a uniquely beneficial encoding for a cryptographic primitive heavy protocol like KERI.

# CESR Encoding

As stated previously, KERI represents all cryptographic primitives with [[1]]. CESR supports round-trip lossless conversion between its Text, Binary, and Raw domain representations and lossless composability between its Text and Binary domain representations. Composability is ensured between any concatenated group of text Primitives and the binary equivalent of that group because all CESR Primitives are aligned on 24-bit boundaries. Both the text and binary domain representations are serializations suitable for transmission over the wire. The Text domain representation is also suitable to be embedded as a field or array element string value as part of a field map serialization such as JSON, CBOR, or MsgPack. The Text domain uses the set of characters from the URL-safe variant of Base64, which in turn is a subset of the ASCII character set. For the sake of readability, all examples in this specification are expressed in CESR’s Text domain.

The CESR protocol supports several different types of encoding tables for different types of derivation codes used to qualify primitives. These tables include very compact codes. For example, a 256-bit (32-byte) digest using the BLAKE3 digest algorithm, i.e., Blake3-256, when expressed in Text domain CESR, consists of 44 Base64 characters that begin with the one-character derivation code E, such as EL1L56LyoKrIofnn0oPChS4EyzMHEEk75INJohDS_Bug. The equivalent qualified Binary domain representation consists of 33 bytes. Unless otherwise indicated, all Cryptographic primitives used in this specification are qualified Primitives expressed in CESR’s Text domain. This includes serializations that are signed, hashed, or encrypted.

# KERI’s secure bindings

In simple form, an identifier-system security overlay binds together a triad consisting of the identifier, keypairs, and Controllers, the set of entities whose members control a private key from the given set of keypairs. The set of Controllers is bound to the set of keypairs, the set of keypairs is bound to the identifier, and the identifier is bound to the set of Controllers. This binding triad can be diagrammed as a triangle where the sides are the bindings and the vertices are the identifier, the set of Controllers, and the set of key pairs. This triad provides verifiable control authority for the identifier.

Self-certifying Identifier Binding Triad

Figure: Self-certifying Identifier Binding Triad

When these bindings are strong, then the overlay is highly invulnerable to attack. In contrast, when these bindings are weak, then the overlay is highly vulnerable to attack. With KERI, all the bindings of the triad are strong because they are cryptographically Verifiable with a minimum cryptographic strength or level of approximately 128 bits. See Annex A [[spec-inform:INFO-annexA]] on cryptographic strength for more detail.

The bound triad is created as follows: Self-certifying Issuance Triad

Figure: Self-certifying Issuance Triad

Each Controller in the set of Controllers creates an asymmetric (public, private) keypair. The public key is derived from the private key or seed using a one-way derivation that MUST have a minimum cryptographic strength of approximately 128 bits (nominally). Depending on the crypto-suite used to derive a keypair, the private key or seed could itself have a length larger than 128 bits. A Controller could use a cryptographic strength pseudo-random number generator (CSPRNG) to create the private key or seed material.

Because the private key material MUST be kept secret (by definition), typically in a secure data store, the management of those secrets could be an important consideration. One approach to minimize the size of secrets is to create private keys or seeds from a secret salt. The salt must have an entropy of approximately 128 bits. Then, the salt could be stretched to meet the length requirements for the crypto suite’s private key size. In addition, a hierarchical deterministic derivation function could be used to further minimize storage requirements by leveraging a single salt for a set or sequence of private keys.

Because each Controller is the only entity in control (custody) of the private key, and the public key is universally uniquely derived from the private key using a cryptographic strength one-way function, then the binding between each Controller and their keypair is as strong as the ability of the Controller to keep that key private. The degree of protection is up to each Controller to determine. For example, a Controller could choose to store their private key in a safe at the bottom of a coal mine, air-gapped from any network, with an ex-special forces team of guards. Or the Controller could choose to store it in an encrypted data store (key chain) on a secure boot mobile device with a biometric lock or simply write it on a piece of paper and store it in a safe place. The important point is that the strength of the binding between the Controller and keypair does not need to be dependent on any trusted entity.

The identifier is derived universally and uniquely from the set of public keys using a one-way derivation function. It is, therefore, an AID (qualified SCID). Associated with each identifier (AID) is incepting information that MUST include a list of the set of qualified public keys from the controlling keypairs. In the usual case, the identifier is a qualified cryptographic digest of the serialization of all the incepting information for the identifier. Any change to even one bit of the incepting information changes the digest and hence changes the derived identifier. This includes any change to any one of the qualified public keys, including its qualifying derivation code. To clarify, a qualified digest as an identifier includes a derivation code as a proem that indicates the cryptographic algorithm used for the digest. Thus, a different digest algorithm results in a different identifier. In this usual case, the identifier is bound strongly and cryptographically to the public keys and any other incepting information from which the digest was generated.

AID Identifier Prefix Derivation

Figure: AID Identifier Prefix Derivation

A special case could arise when the set of public keys has only one member, i.e., there is only one controlling keypair. In this case, the Controller of the identifier could choose to use only the qualified public key as the identifier instead of a qualified digest of the incepting information. In this case, the identifier is still strongly bound to the public key but not to any other incepting information. A variant of this single keypair special case is an identifier that cannot be rotated. Another way of describing an identifier that cannot be rotated is that it is a non-transferable identifier because control over the identifier cannot be transferred to a different set of controlling keypairs. In contrast, a rotatable keypair is transferable because control can be transferred via rotation to a new set of keypairs. Essentially, when non-transferable, the identifier’s lifespan is ephemeral, not persistent, because any weakening or compromise of the controlling keypair means that the identifier MUST be abandoned. Nonetheless, there are important use cases for an ephemeral AID. In all cases, the derivation code in the identifier indicates the type of identifier, whether it be a digest of the incepting information (multiple or single keypair) or a single member special case derived from only the public key (both ephemeral or persistent).

Each Controller in a set of Controllers can prove its contribution to the control authority over the identifier in either an interactive or non-interactive fashion. One form of interactive proof is to satisfy a challenge of that control. The challenger creates a unique challenge Message. The Controller responds by nonrepudiably signing that challenge with the private key from the keypair under its control. The challenger can then cryptographically verify the signature using the public key from the Controller’s keypair. One form of non-interactive proof is the periodic contribution to a monotonically increasing sequence of nonrepudiably signed updates of some data item. Each update includes a monotonically increasing sequence number or date-time stamp. Any Verifier then can cryptographically verify the signature using the public key from the Controller’s keypair and verify that the update was made by the Controller. In general, only members of the set of Controllers can create verifiable, nonrepudiable signatures using their keypairs. Consequently, the identifier is strongly bound to the set of Controllers via provable control over the keypairs.

Self-certifying Identifier Issuance Triad

Figure: Self-certifying Identifier Issuance Triad

# Tetrad bindings

At Inception, the triad of an identifier, a set of keypairs, and a set of Controllers are strongly bound together. But in order for those bindings to persist after a key Rotation, another mechanism is required. That mechanism is the KEL, a Verifiable data structure [[4]] [[21]]. The KEL is not necessary for non-transferable identifiers that do not need to persist control via key Rotation despite key weakness or compromise. To reiterate, transferable (persistent) identifiers each need a KEL; non-transferable (ephemeral) identifiers do not.

For persistent (transferable) identifiers, this additional mechanism can be bound to the triad to form a tetrad consisting of the KEL, the identifier, the set of keypairs, and the set of Controllers. The first entry in the KEL is called the Inception event, a serialization of the incepting information associated with the previously mentioned identifier.

Autonomic Identifier Binding Tetrad

Figure: Autonomic Identifier Binding Tetrad

The Inception event MUST include the list of controlling public keys and a signature threshold and be signed by a set of private keys from the controlling keypairs that satisfy that threshold. Additionally, for transferability (persistence across Rotation), the Inception event MUST include a list of digests of the set of pre-rotated public keys and a pre-rotated signature threshold that will become the controlling (signing) set of key keypairs and threshold after a Rotation. A non-transferable identifier MAY have a trivial KEL that only includes an Inception event but with a null set (empty list) of pre-rotated public keys.

A Rotation is performed by appending a Rotation event to the KEL. A Rotation event MUST include a list of the set of pre-rotated public keys (not their digests), thereby exposing them, and be signed by a set of private keys from these newly exposed newly controlling but pre-rotated keypairs that satisfy the pre-rotated threshold. The Rotation event MUST include a list of the digests of a new set of pre-rotated keys as well as the signature threshold for the set of pre-rotated keypairs. At any point in time, the transferability of an identifier MAY be removed via a Rotation event that rotates to a null set (empty list) of pre-rotated public keys. Rotating to a null set of pre-rotated public keys signals to any verifier that the controller has abandoned the identifier.

Each event in a KEL MUST include an integer sequence number that is one greater than the previous event. Each event after the Inception event also MUST include a cryptographic digest of the previous event. This digest means that a given event is bound cryptographically to the previous event in the sequence. The list of digests or pre-rotated keys in the Inception event cryptographically binds the Inception event to a subsequent Rotation event, essentially making a forward commitment that forward chains together the events. The only valid Rotation event that MAY follow the Inception event MUST include the pre-rotated keys. But only the Controller who created those keys and created the digests can verifiably expose them. Each Rotation event, in turn, makes a forward commitment (chain) to the following Rotation event via its list of pre-rotated key digests. This makes the KEL a doubly (backward and forward) hash (digest) chained nonrepudiably signed append-only Verifiable data structure.

Because the signatures on each event are nonrepudiable, the existence of an alternate but Verifiable KEL for an identifier is provable evidence of Duplicity. In KERI, there MUST be at most one valid KEL for any identifier or none at all. Any Validator of a KEL can enforce this one valid KEL rule that protects the Validator before relying on the KEL as proof of the current key state for the identifier. Any unreconcilable evidence of Duplicity means the Validator does not trust (rely on) any KEL to provide the key state for the identifier. Rules for handling reconcilable Duplicity will be discussed below in section Reconciliation. From a Validator’s perspective, either there is one-and-only-one valid KEL or none at all, which also protects the Validator by removing any potential ambiguity about the Key state. The combination of a Verifiable KEL made from nonrepudiably signed backward and forward hash chained events together with the only-one-valid KEL rule strongly binds the identifier to its current Key state as given by that one valid KEL (or not at all). This, in turn, binds the identifier to the Controllers of the current keypairs given by the KEL, thus completing the tetrad.

At Inception, the KEL can be bound even more strongly to its tetrad by deriving the identifier from a digest of the Inception event so that even one change in any of the incepting information included in the Inception event will result in a different identifier (including not only the original controlling keys pairs but also the pre-rotated keypairs).

The essence of the KERI protocol is a strongly bound tetrad of an identifier, set of keypairs, set if Controllers, and the KEL that forms the basis of its identifier system security overlay. The KERI protocol introduces the concept of Duplicity evident programming via Duplicity evident Verifiable data structures.

Autonomic Identifier Issuance Tetrad

Figure: Autonomic Identifier Issuance Tetrad

# Autonomic Namespaces (ANs)

A namespace groups symbols or identifiers for a set of related objects [[23]]. In an identity system, an identifier can be generalized as belonging to a namespace that provides a systematic way of organizing related identifiers with their resources and attributes.

To elaborate, a namespace employs some scheme for assigning identifiers to the elements of the namespace. A simple name-spacing scheme uses a prefix or prefixes in a hierarchical fashion to compose identifiers. The following is an example of a namespace scheme for addresses within the USA that uses a hierarchy of prefixes:

state.county.city.zip.street.number.

An example element in this namespace could be identified with the following:

utah.wasatch.heber.84032.main.150S.

where each prefix location has been replaced with the actual value of the element of the address. Namespaces provide a systematic way of organizing related elements and are widely used in computing.

An autonomic namespace, AN, is defined as a namespace with an AID as a prefix, i.e., a fully qualified CESR-encoded cryptographic primitive. As defined above, AIDs are uniquely (strongly) cryptographically bound to their incepting controlling keypair(s) at issuance. They are, hence, self-certifying. In addition, AIDs are also bound to other key management information, such as the hashes of the next pre-rotated rotation keys and their witnesses. This makes them self-managing.

To clarify, each identifier from an AN includes as a prefix an identifier encoded in CESR that either is the public key or is uniquely cryptographically derived from the public key(s) of the incepting (public, private) key pair. The controller can then use the associated private key(s) to authoritatively (nonrepudiably) sign statements that authenticate and authorize the use of the identifier. These statements include responses to challenges to prove control over the identifier. Thus, self-certification enables both self-authentication and self-authorization capabilities as well as self-management of cryptographic signing keypairs. Together, these properties make the namespace self-administering.

To restate, An AN is self-administrating. The self-administering properties of an AN mean that the resources identified by that namespace can also be governed by the controller of the key pair(s) that are authoritative for its AID prefix. Essentially, a namespace of identifiers can be imbued with the secure attributability properties of an AID when used as its prefix. When secure attribution arises solely from the AID as the prefix, then the other elements in the namespace syntax are immaterial with respect to secure attribution. This makes the prefix agnostic about the syntax of any ANs in which it appears. The same AID can be used to control multiple disparate namespaces. This provides opportunities for AIDs to interoperate with many existing namespaces. The AID prefix from any autonomically namespaced identifier merely needs to be extracted to use the prefix with a KERI protocol library.

In general, a fully qualified AID primitive and an identifier from an AN based on that primitive as a prefix can both be referred to as AIDs with the understanding that any cryptographic operations only apply to the prefix portion of the namespaced identifier.

The primary purpose of an AID is to enable any entity to establish control over its associated identifier namespace in an independent, interoperable, and portable way. This approach builds on the idea of an identity (identifier) meta-system that enables interoperability between systems of identity (identifiers) that not only exposes a unified interface but adds decentralized control over their identifiers. This enables portability, not just interoperability. Given portability in an identity (identifier) meta-system system, transitive trust can occur, that is, the transfer of trust between contexts or domains. Because transitive trust facilitates the transfer of other types of value, a portable decentralized identity meta-system, e.g., an AID system, enables an identity meta-platform for commerce.

# KERI data structures and labels

# KERI data structure format

A KERI data structure, such as a Key event Message body, can be abstractly modeled as a nested key: value mapping. To avoid confusion with the cryptographic use of the term key, the term field is used instead herein to refer to a mapping pair, with the terms field label and field value used to refer to each pair member. Two tuples can represent these pairs, e.g., (label, value). When necessary, this terminology is qualified by using the term field map to reference such a mapping. Field maps can be nested where a given field value is itself a reference to another field map and are referred to as a nested field map or simply a nested map for short.

A field can be represented by a framing code or block delimited serialization. In a block delimited serialization, such as JSON, each field map is represented by an object block with block delimiters such as {}. Given this equivalence, the term block or nested block can be used as synonymous with field map or nested field map. In many programming languages, a field map is implemented as a dictionary or hash table. This enables performant asynchronous lookup of a field value from its field label. Reproducible serialization of field maps requires a canonical ordering of those fields. One such canonical ordering is called insertion or field creation order. A list of (field, value) pairs provides an ordered representation of any field map.

Most programming languages now support ordered dictionaries or ordered hash tables that provide reproducible iteration over a list of ordered field (label, value) pairs where the ordering is the insertion or field creation order. This enables reproducible round-trip serialization/deserialization of field maps. Serialized KERI data structures depend on insertion-ordered field maps for their canonical serialization/deserialization. KERI data structures support multiple serialization types, namely JSON, CBOR, MGPK, and CESR but for the sake of simplicity, JSON only will be used for examples. The basic set of normative field labels in KERI field maps is defined by the table below (see the next section).

# KERI field labels for data structures

Reserved field labels in Keri messages:

Label Title Description
v Version String enables regex parsing of field map in CESR stream
t Message Type three character string
d Digest SAID fully qualified digest of block in which it appears
i Identifier Prefix (AID) fully qualified primitive, Controller AID
s Sequence Number strictly monotonically increasing integer encoded in hex
p Prior SAID fully qualified digest, prior message SAID
kt Keys Signing Threshold hex encoded integer or fractional weight list
k List of Signing Keys (ordered key set) list of fully qualified primitives
nt Next Keys Signing Threshold hex encoded integer or fractional weight list
n List of Next Key Digests (ordered key digest set) list of fully qualified primitives digests
bt Backer Threshold hex encoded integer
b List of Backers (ordered backer set of AIDs) list of fully qualified primitives
br List of Backers to Remove (ordered backer set of AIDS) list of fully qualified primitives
ba List of Backers to Add (ordered backer set of AIDs) list of fully qualified primitives
c List of Configuration Traits/Modes list of strings
a List of Anchors (seals) list of field maps
di Delegator Identifier Prefix (AID) fully qualified primitive, Delegator AID

A field label MAY have different values in different contexts but MUST NOT have a different field value type. This REQUIREMENT makes it easier to implement in strongly typed languages with rigid data structures. Notwithstanding the former, some field value types MAY be a union of elemental value types.

Because the order of field appearance MUST be enforced in all KERI data structures, whenever a field appears (in a given Message or block in a Message), the message in which a label appears MUST provide the necessary context to determine the meaning of that field fully and hence the field value type and associated semantics.

# Compact KERI field labels

The primary field labels are compact in that they use only one or two characters. KERI is meant to support resource-constrained applications such as supply chain or IoT (Internet of Things) applications. Compact labels better support resource-constrained applications in general. With compact labels, the over-the-wire verifiable signed serialization consumes a minimum amount of bandwidth. Nevertheless, without loss of generality, a one-to-one normative semantic overlay using more verbose expressive field labels can be applied to the normative compact labels after verification of the over-the-wire serialization. This approach better supports bandwidth and storage constraints on transmission while not precluding any later semantic post-processing. This is a well-known design pattern for resource-constrained applications.

# Special label ordering requirements

The top-level fields of each message type MUST appear in a specific order. All top-level fields are REQUIRED. This enables compact top-level fixed field CESR native messages. These top-level fields are defined for each message type below.

# Version string field

The version string, v, field MUST be the first field in any top-level KERI field map encoded in JSON, CBOR, or MGPK as a message body [RFC4627] [RFC4627] [[2]] RFC8949 [[3]]. It provides a regular expression target for determining a serialized field map’s serialization format and size (character count) constituting an KERI message body. A stream parser can use the version string to extract and deserialize (deterministically) any serialized stream of KERI message bodies. Each KERI message body in a stream MAY use a different serialization type. The format for the version string field value is defined in the CESR specification [[1]].

The protocol field, PPPP value in the version string MUST be KERI for the KERI protocol. The version field, VVV, MUST encode the current version of the KERI protocol [[1]].

# Legacy version string field format

Compliant KERI version 2.XX implementations MUST support the old KERI version 1.x version string format to properly verify message bodies created with 1.x format events. The old version 1.x version string format is defined in the CESR specification [[1]]. The protocol field, PPPP value in the version string MUST be KERI for the KERI protocol. The version field, vv, MUST encode the old version of the KERI protocol [[1]].

# Message type field

The message type, t field value MUST be a three-character string that provides the message type. There are three classes of message types in KERI. The first class consists of key event messages. These are part of the KEL for an AID. A subclass of key event messages are Establishment Event messages, these determine the current key state. Non-establishment event messages are key event messages that do not change the key state. The second class of messages consists of Receipt messages. These are not themselves part of a KEL but convey proofs such as signatures or seals as attachments to a key event. The third class of messages consists of various message types not part of a KEL but are useful for managing the information associated with an AID.

The message types in KERI are detailed in the table below:

Type Title Class Description
Key Event Messages
icp Inception Establishment Key Event Incepts an AID and initializes its keystate
rot Rotation Establishment Key Event Rotates the AID’s key state
ixn Interaction Non-Establishment Key Event Seals interaction data to the current key state
dip Delegated Inception Establishment Event Incepts a Delegated AID and initializes its keystate
drt Delegated Rotation Establishment Key Event Rotates the Delegated AID’s key state
Receipt Messages
rct Receipt Receipt Message Associates a proof such as signature or seal to a key event
Routed Messages
qry Query Other Message Query information associated with an AID
rpy Reply Other Message Reply with information associated with an AID either solicited by Query or unsolicited
pro Prod Other Message Prod (request) information associated with a Seal
bar Bare Other Event Bare (response) with information associated with a Seal either solicited by Prod or unsolicited
xip Exchange Inception Other Message Incepts multi-exchange message transaction, the first exchange message in a transaction set
exn Exchange Other Message Generic exchange of information, MAY be a member of a multi-message transaction set
# SAID fields

Some fields in KERI data structures can have a SAID (self-referential content addressable), as a field value. In this context, d is short for digest, which is short for SAID. A SAID follows the SAID protocol. A SAID is a special type of cryptographic digest of its encapsulating field map (block). The encapsulating block of a SAID is called a SAD (Self-Addressed Data). Using a SAID as a field value enables a more compact but secure representation of the associated block (SAD) from which the SAID is derived. Any nested field map that includes a SAID field (i.e., is, therefore, a SAD) MAY be compacted into its SAID. The uncompacted blocks for each associated SAID MAY be attached or cached to optimize bandwidth and availability without decreasing security.

Each SAID provides a stable universal cryptographically verifiable and agile reference to its encapsulating block (serialized field map).

A cryptographic commitment (such as a digital signature or cryptographic digest) on a given digest with sufficient cryptographic strength including collision resistance is equivalent to a commitment to the block from which the given digest was derived. Specifically, a digital signature on a SAID makes a Verifiable cryptographic non-repudiable commitment that is equivalent to a commitment on the full serialization of the associated block from which the SAID was derived. This enables reasoning about KERI data structures in whole or in part via their SAIDS in a fully interoperable, Verifiable, compact, and secure manner. This also supports the well-known bow-tie model of Ricardian Contracts [[22]]. This includes reasoning about the whole KERI data structure given by its top-level SAID, d, field as well as reasoning about any nested or attached data structures using their SAIDS.

The SAID, d field is the SAID of its enclosing block (field map); when it appears at the top level of the message, it is the SAID of the message itself.

The prior, p field is the SAID of a prior event message. When the prior p field appears in a key event message, then its value MUST be the SAID of the key event message whose sequence number is one less than the sequence number of its own key event message. Only key event messages have sequence numbers. Routed messages do not. When the prior, p field appears in an Exchange, exn message then its value is the SAID of the prior exchange message in the associated exchange transaction.

# AID fields

Some fields, such as the i and di fields, MUST each have an AID as its value. An AID is a fully qualified primitive as described above KERI [[4]]. In this context, i is short for ai, which is short for the Autonomic identifier (AID). The AID given by the i field can also be thought of as a securely attributable identifier, authoritative identifier, authenticatable identifier, authorizing identifier, or authoring identifier. Another way of thinking about an i field is that it is the identifier of the authoritative entity to which a statement can be securely attributed, thereby making the statement verifiably authentic via a non-repudiable signature made by that authoritative entity as the Controller of the private key(s).

The Controller AID, i field value is an AID that controls its associated KEL. When the Controller Identifier AID, i field appears at the top-level of a key event, [icp, rot, ixn, dip, drt] or a receipt, rct message it refers to the Controller of the associated KEL. When the Controller Identifier AID, i field appears at the top-level of an Exchange Transaction Inception, xip or Exchange, exn message it refers Controller AID of the sender of that message. A Controller AID, i field MAY appear in other places in messages. In those cases, its meaning SHOULD be determined by the context of its appearance. The Delegator identifier AID, di field in a Delegated Inception, dip event is the AID of the Delegator.

# Sequence number field

The Sequence Number, s field value is a hex encoded (no leading zeros) non-negative strictly monotonically increasing integer. The Sequence Number, s field value in Inceptions, icp and Delegated Inception, dip events MUST be 0 (hex encoded 0). The Sequence number value of all subsequent key events in a KEL MUST be 1 greater than the previous event. The maximum value of a sequence number MUST be ffffffffffffffffffffffffffffffff which is the hex encoding of `2^128 - 1 = 340282366920938463463374607431768211455’. This is large enough to be deemed computationally infeasible for a KEL ever to reach the maximum.

# Key and key digest threshold fields

The Key Threshold, kt and Next Key Digest Threshold, nt field values each provide signing and rotation thresholds, respectively, for the key and next key digest lists. The threshold value MAY be either the simple case of a hex-encoded non-negative integer or the complex case of a list of clauses of fractional weights. The latter is called a fractionally weighted threshold.

In the simple case, given a threshold value M together with a total of N values in a key or key digest list, then the satisfaction threshold is an M of N threshold. This means that any set of M valid signatures from the keys in the list satisfies such a threshold.

In the complex case, the field value is a list of weights that are strict decimal-encoded rational fractions. Fractionally weight thresholds are best suited for Partial, Reserve, or Custodial rotation applications. The exact syntax and satisfaction properties of fractionally weighted threshold values are described below in the section on Partial, Reserve, and Custodial rotations.

# Key list field

The Key, k field value is a list of strings that are each a fully qualified public key. These provide the current signing keys for the AID associated with a KEL. The Key, k field value MUST NOT be empty.

# Next key digest list field

The Next Key Digest, n field value is a list of strings that are each a fully qualified digest of a public key. These provide the next rotation keys for the AID associated with a KEL. When the Next, n field value in an Inception or Delegated Inception event is an empty list, then the associated AID MUST be deemed non-transferable, and no more key events MUST be allowed in that KEL. When the Next, n field value in a Rotation or Delegated Rotation Event event is an empty list, then the associated AID MUST be deemed abandoned, and no more key events MUST be allowed in its KEL.

# Backer threshold field

The Backer threshold, bt field value is a hex-encoded non-negative integer. This is the number of backers in the backer list that MUST support a key event for it to be valid. Witness Backers express support via a signature (endorsement) of the key event that MAY be conveyed via a Receipt message. Ledger Registrar backers MAY express support by anchoring the key event or the SAID of the key event on the associated ledger.

Given a threshold value M together with a total of N values in the Backer list, then the satisfaction threshold is an M of N threshold. This means that any set of M valid endorsements (signatures or other) from the N Backers in the Backer list satisfies the threshold. The KAWA (Keri Algorithm of Witness Agreement) section provides a formula for determining a sufficient M to ensure agreement in spite of a number of F faulty backers.

When the Backer, b field value is an empty list, then the Backer Threshold, bt, field value MUST be 0 (hex-encoded 0).

# Backer list

The Backer, b field value is a list of strings that each is the fully qualified AID of a Backer. A given AID MUST NOT appear more than once in any Backer list. These provide the current AIDs of the backers of a KEL. The list MAY be empty. When the Backers are Witnesses, then the AIDs themselves MUST be non-transferable, fully qualified public keys. As a result, a Validator can verify a witness signature given the Witness AID as public key. Consequently, the Witness does not need a KEL because its key state is fixed and is given by its AID. Although a Witness does not need a KEL, it MAY have one that consists of a trivial Inception event with an empty Next, n field list (making it non-transferable).

# Backer remove list

The Backer Remove, br field value is a list of strings that each is the fully qualified AID of a Backer to be removed from the current Backer list. This allows Backer lists to be changed in an incremental fashion. A given AID MUST not appear more than once in any Backer Remove list. The Backer Remove, br list appears in Rotation and Delegated Rotation events. Given such an event, the current backer list is updated by removing the AIDs in the Backer Remove, br list. The AIDs in the Backer Remove, br list MUST be removed before any AIDs in the Backer Add, ba list are appended.

# Backer add list

The Backer Add, ba field value is a list of strings that each is the fully qualified AID of a Backer to be appended to the current Backer list. This allows Backer lists to be changed in an incremental fashion. A given AID MUST NOT appear more than once in any Backer Add list. The Backer Add, ba list appears in Rotation and Delegated Rotation events. Given such an event, the current backer list is updated by appending in order the AIDs from the Backer Add, ba list except for any AIDs that already appear in the current Backer list. The AIDs in the Backer Add, ba list MUST NOT be appended until all AIDs in the Backer Remove, br list have been removed.

# Configuration traits field

The Configuration Traits, c field value is a list of strings. These are specially defined strings. Each string represents a configuration trait for the KEL. The following table defines the configuration traits. Some configuration traits MUST only appear in the Inception (delegated or not) for the KEL. Others MAY appear in either the inception event or rotation events (delegated or not). This is indicated in the third column. A Validator of an event MUST invalidate, i.e., drop any events that do not satisfy the constraints imposed by their configuration traits. If two conflicting configuration traits appear in the same list, the latter trait supersedes the earlier one.

Trait Title Inception Only Description
EO Establishment Only True Only establishment events MUST appear in this KEL
DND Do Not Delegate True This KEL MUST NOT act as a delegator of delegated AIDs
NRB No Registrar Backers True This KEL MUST NOT allow any registrar backers
RB Registrar Backers False The backer list MUST provide registrar backer AIDs

The Establishment Only, EO config trait enables the Controller to increase its KELs security by not allowing interaction (non-establishment) events. This means all events MUST be signed by first-time, one-time pre-rotated keys. Key compromise is not possible due to repeated exposure of signing keys on interaction events. A Validator MUST invalidate, i.e., drop any non-establishment events.

The Do Not Delegate, DND config trait enables the Controller to limit delegations entirely or limit the depth to which a given AID can delegate. This prevents spurious delegations. A delegation seal MAY appear in an Interaction event. Interaction events are less secure than rotation events so this configuration trait prevents delegations. In addition, a Delegatee holds its own private keys. Therefore, a given delegate could delegate other AIDS via interaction events that do not require the approval of its delegate. A Validator MUST invalidate, i.e., drop any delegated events whose Delegator has this configuration trait.

The No Registrar Backer, NRB config trait enables the Controller to protect itself from an attempt to change from a witnessed secondary root of trust to a ledger secondary root of trust via a ledger registrar backer. A Validator MUST invalidate, i.e., drop any rotation events that attempt to use the Registrar Backer, RB configuration trait.

The Registrar Backer, RB config trait indicates that the backer (witness) list in the establishment event in which this trait appears provides the AIDs of ledger registrar backers. The event MUST also include Registrar Backer Seal for each registrar backer in the list. A Validator MUST invalidate, i.e., drop any rotation events that attempt to use this Registrar Backer, RB configuration trait if the inception event includes an active “No Registrar Backer”, NRB config trait. In the event that the inception event includes both an NRB and RB configuration trait in its list, then the latter is enforced, i.e., activated, and the former is ignored.

# Seal list field

The Seal, a (anchor) field value is a list of field maps representing Seals. These are defined in detail in the Seal Section below.

# Seals

The dictionary definition of the seal is “evidence of authenticity”. Seals make a verifiable, nonrepudiable commitment to an external serialized data item without disclosing the item and also enable that commitment to the external data to be bound to the key state of a KEL at the location of the seal. This provides evidence of authenticity while maintaining confidentiality. This also enables the validity of the commitment to persist in spite of later changes to the key state. This is an essential feature for unbounded term but verifiable issuances. This also enables an endorsed issuance using one key state with later revocation of that issuance using a different key state. The order of appearance of seals in a KEL provides a verifiable ordering of the associated endorsements of that data, which can be used as a foundation for ordered verifiable transactions. Seals enable authenticatable transactions that happen externally to the KEL.

The collision resistance of a cryptographic strength digest makes it computationally infeasible for any other serialized data to have the same digest. Thus, a non-repudiable signature on a digest of serialized data is equivalent to such a signature on the serialized data itself. Because all key events in a KEL are signed by the controller of that KEL, the inclusion of a seal in a key event is equivalent to signing the external data but without revealing that data. When given the external data, a Validator can verify that the seal is a digest of that data and hence verify the equivalent nonrepudiable commitment. A seal, at a minimum, includes a cryptographic digest of the serialized external data, usually its SAID. The external data MAY itself be composed of digests of other data.

Seals MAY also be used as attachments to events to provide a reference for looking up the key state to be used for signatures on that event. The semantics of a given seal are also modified by the context in which the seal appears, such as appearing in the seal list of a key event in a KEL as opposed to appearing as an attachment to an event or receipt of an event.

# Digest seal

The value of this seal’s d field is an undifferentiated digest of some external data item. If the data is a SAD, then the value is its SAID. This is the JSON version. There is also a native CESR version.

{
  "d": "Eabcde..."
}

# Merkle Tree root digest seal

The value of this seal’s rd field is root of a Merkle tree of digests of external data. This enables a compact commitment to a large number of data items. A Merkle tree is constructed so that an inclusion proof of a given digest in the tree does not require disclosure of the whole tree. The JSON version is shown. There is also a native CESR version of the seal.

{
  "rd": "Eabcde8JZAoTNZH3ULvaU6JR2nmwyYAfSVPzhzS6b5CM"
}

# Event seal

Event seals bind an event from some other (external) KEL or other type of event log to an event in the KEL that the seal appears. This provides an implicit approval or endorsement of that external event. The i field value is the AID of the external event log. The s field value is the sequence number of the event in the external event log. It is in lower case hexidecimal text with no leading zeros. The d field value is the SAID of the external event. Event seals are used for endorsing delegated events and for endorsing external issuances of other types of data. The JSON version is shown. There is also a CESR native version of the seal.

NOTE

Examples in this section are not cryptographically verifiable

{

  "i": "Ebietyi8JZAoTNZH3ULvaU6JR2nmwyYAfSVPzhzS6b5CM.",
  "s": "3",
  "d": "Eabcde8JZAoTNZH3ULvaU6JR2nmwyYAfSVPzhzS6b5CM"
}

# Latest establishment event seal

The latest establishment event seal’s function is similar to the event seal above except that it does not designate a specific event but merely designates that latest establishment event in the external KEL for the AID given as its i field value. This seal endorses or approves or commits to the key state of the latest establishment event of the external KEL. This is useful for endorsing a message.

The JSON version is shown. There is also a native CESR version of the seal.

NOTE

Examples in this section are not cryptographically verifiable

{
  "i": "BACDEFG8JZAoTNZH3ULvaU6JR2nmwyYAfSVPzhzS6b5CM",
}

# Registrar backer seal

When a ledger backer or backers are used as a secondary root-of-trust instead of a Witness pool, then a backer seal is REQUIRED. The backer registrar is responsible for anchoring key events as transactions on the ledger. In addition to the backer seal, the establishment event that designates the backer MUST also include a configuration trait (see below) of RB for registrar backers. This indicates that the KEL is ledger registrar-backed instead of witness pool-backed.

The bi field value in the seal is the non-transferable identifier of the registrar backer (backer identifier). The first seal appearing in the seal list containing the event whose bi field matches that registrar backer identifier is the authoritative one for that registrar (in the event that there are multiple registrar seals for the same bi value). The d field value in the seal MUST be the SAID of the associated metadata SAD that provides the backer registrar metadata. The SAD MAY appear as the value of the seal data, sd field is an associated bare, bar message (defined later). The nested d said of this sd block in the bare message MUST be the d field in the associated seal. This metadata could include the address used to source events onto the ledger, a service endpoint for the ledger registrar, and a corresponding ledger oracle.

To reiterate, the seal MUST appear in the same establishment event that designates the registrar backer identifier as a backer identifier in the event’s backer’s list along with the config trait RB.

The JSON version is shown. There is also a native CESR version of the seal.

NOTE

Examples in this section are not cryptographically verifiable

{
  "bi": "BACDEFG8JZAoTNZH3ULvaU6JR2nmwyYAfSVPzhzS6b5CM",
  "d": "EFGKDDA8JZAoTNZH3ULvaU6JR2nmwyYAfSVPzhzS6b5CM"
}

Attached bare, bar message.

NOTE

Examples in this section are not cryptographically verifiable

{
  "v": "KERI10JSON00011c_",
  "t": "bar",
  "d": "EFGKDDA8JZAoTNZH3ULvaU6JR2nmwyYAfSVPzhzS6b5CM",
  "r": "process/registrar/bitcoin",
  "a":
  {
    "d": "EaU6JR2nmwyZ-i0d8JZAoTNZH3ULvYAfSVPzhzS6b5CM",
    "i": "EAoTNZH3ULvYAfSVPzhzS6baU6JR2nmwyZ-i0d8JZ5CM",
    "s": "5",
    "bi", "BACDEFG8JZAoTNZH3ULvaU6JR2nmwyYAfSVPzhzS6b5CM",
    "sd":
    {
       "d": "EaAoTNZH3ULvYAfSVPzhzS6b5CMaU6JR2nmwyZ-i0d8J",
       "stuff": "meta data field"
     }
  }
}

# Key event messages

The Key Event Message types MUST be as follows [icp, rot, ixn, dip, drt].

The convention for field ordering is to put the fields that are common to all Message types first followed by fields that are not common. The common fields are v, t, and d in that order. A Validator MAY drop any provided key event message body that does not have at least one attached signature from the current controlling key state of the AID of the associated KEL.

# Inception Event Message Body

The top-level fields of an Inception, icp, event message body MUST appear in the following order: [ v, t, d, i, s, kt, k, nt, n, bt, b, c, a]. All are REQUIRED. No other top-level fields are allowed (MUST NOT appear). Signatures and other information, when attached, MUST be attached to the Message body using CESR attachment codes.

NOTE

Examples in this section are not cryptographically verifiable

Inception event example:

{
  "v": "KERICAAJSONAACd.",
  "t": "icp",
  "d": "EL1L56LyoKrIofnn0oPChS4EyzMHEEk75INJohDS_Bug",
  "i": "EL1L56LyoKrIofnn0oPChS4EyzMHEEk75INJohDS_Bug",
  "s": "0",
  "kt": "2", // 2 of 3
  "k":
    [
      "DnmwyZ-i0H3ULvad8JZAoTNZaU6JR2YAfSVPzh5CMzS6b",
      "DZaU6JR2nmwyZ-VPzhzSslkie8c8TNZaU6J6bVPzhzS6b",
      "Dd8JZAoTNnmwyZ-i0H3U3ZaU6JR2LvYAfSVPzhzS6b5CM"
    ],
  "nt": "3", // 3 of 5
  "n":
    [
      "ETNZH3ULvYawyZ-i0d8JZU6JR2nmAoAfSVPzhzS6b5CM",
      "EYAfSVPzhzaU6JR2nmoTNZH3ULvwyZb6b5CMi0d8JZAS",
      "EnmwyZdi0d8JZAoTNZYAfSVPzhzaU6JR2H3ULvS6b5CM",
      "ETNZH3ULvS6bYAfSVPzhzaU6JR2nmwyZfi0d8JZ5s8bk",
      "EJR2nmwyZ2i0dzaU6ULvS6b5CM8JZAoTNZH3YAfSVPzh",
    ],
  "bt": "2",
  "b":
    [
      "BGKVzj4ve0VSd8z_AmvhLg4lqcC_9WYX90k03q-R_Ydo",
      "BuyRFMideczFZoapylLIyCjSdhtqVb31wZkRKvPfNqkw",
      "Bgoq68HCmYNUDgOz4Skvlu306o_NY-NrYuKAVhk3Zh9c"
    ],
  "c": [],
  "a": []
}

# Rotation Event Message Body

The top-level fields of a Rotation, rot event message body MUST appear in the following order: [ v, t, d, i, s, p, kt, k, nt, n, bt, br, ba, c, a]. All are REQUIRED. No other top-level fields are allowed (MUST NOT appear). Signatures and other information, when attached, MUST be attached to the Message body using CESR attachment codes.

NOTE

Examples in this section are not cryptographically verifiable

Rotation event example:

{
  "v": "KERICAAJSONAACd.",
  "t": "rot",
  "d": "E0d8JJR2nmwyYAfZAoTNZH3ULvaU6Z-iSVPzhzS6b5CM",
  "i" : "EZAoTNZH3ULvaU6Z-i0d8JJR2nmwyYAfSVPzhzS6b5CM",
  "s":  "1",
  "p": "EULvaU6JR2nmwyZ-i0d8JZAoTNZH3YAfSVPzhzS6b5CM",
  "kt": "2", // 2 of 3
  "k":
    [
      "DnmwyZ-i0H3ULvad8JZAoTNZaU6JR2YAfSVPzh5CMzS6b",
      "DZaU6JR2nmwyZ-VPzhzSslkie8c8TNZaU6J6bVPzhzS6b",
      "Dd8JZAoTNnmwyZ-i0H3U3ZaU6JR2LvYAfSVPzhzS6b5CM"
    ],
  "nt": "3", // 3 of 5
  "n":
    [
      "ETNZH3ULvYawyZ-i0d8JZU6JR2nmAoAfSVPzhzS6b5CM",
      "EYAfSVPzhzaU6JR2nmoTNZH3ULvwyZb6b5CMi0d8JZAS",
      "EnmwyZdi0d8JZAoTNZYAfSVPzhzaU6JR2H3ULvS6b5CM",
      "ETNZH3ULvS6bYAfSVPzhzaU6JR2nmwyZfi0d8JZ5s8bk",
      "EJR2nmwyZ2i0dzaU6ULvS6b5CM8JZAoTNZH3YAfSVPzh",
    ],
  "bt": "1",
  "ba": ["DTNZH3ULvaU6JR2nmwyYAfSVPzhzS6bZ-i0d8JZAo5CM"],
  "br": ["DH3ULvaU6JR2nmwyYAfSVPzhzS6bZ-i0d8TNZJZAo5CM"],
  "c": [],
  "a : []
}

# Interaction Event Message Body

The top-level fields of an Interaction, ixn event message body MUST appear in the following order: [ v, t, d, i, s, p, a]. All are REQUIRED. No other top-level fields are allowed (MUST NOT appear). Signatures and other information, when attached, MUST be attached to the Message body using CESR attachment codes.

NOTE

Examples in this section are not cryptographically verifiable

{
  "v": "KERICAAJSONAACd.",
  "t": "ixn",
  "d": "E0d8JJR2nmwyYAfZAoTNZH3ULvaU6Z-iSVPzhzS6b5CM",
  "i": "EZAoTNZH3ULvaU6Z-i0d8JJR2nmwyYAfSVPzhzS6b5CM",
  "s": "2",
  "p": "EULvaU6JR2nmwyZ-i0d8JZAoTNZH3YAfSVPzhzS6b5CM",
  "a":
  [
    {
      "d": "ELvaU6Z-i0d8JJR2nmwyYAZAoTNZH3UfSVPzhzS6b5CM",
      "i": "EJJR2nmwyYAfSVPzhzS6b5CMZAoTNZH3ULvaU6Z-i0d8",
      "s": "1"
    }
  ]
}

# Delegated Inception Event Message Body

The top-level fields of a Delegated Inception, dip event message body MUST appear in the following order: [ v, t, d, i, s, kt, k, nt, n, bt, b, c, a, di]. All are REQUIRED. No other top-level fields are allowed (MUST NOT appear). Signatures and other information, when attached, MUST be attached to the Message body using CESR attachment codes.

NOTE

Examples in this section are not cryptographically verifiable

{
  "v": "KERI10JSON0001ac_",
  "t": "dip",
  "d": "EL1L56LyoKrIofnn0oPChS4EyzMHEEk75INJohDS_Bug",
  "i": "EL1L56LyoKrIofnn0oPChS4EyzMHEEk75INJohDS_Bug",
  "s": "0",
  "kt": "2", // 2 of 3
  "k" :
    [
      "DnmwyZ-i0H3ULvad8JZAoTNZaU6JR2YAfSVPzh5CMzS6b",
      "DZaU6JR2nmwyZ-VPzhzSslkie8c8TNZaU6J6bVPzhzS6b",
      "Dd8JZAoTNnmwyZ-i0H3U3ZaU6JR2LvYAfSVPzhzS6b5CM"
    ],
  "nt": "3",  // 3 of 5
  "n" :
    [
      "ETNZH3ULvYawyZ-i0d8JZU6JR2nmAoAfSVPzhzS6b5CM",
      "EYAfSVPzhzaU6JR2nmoTNZH3ULvwyZb6b5CMi0d8JZAS",
      "EnmwyZdi0d8JZAoTNZYAfSVPzhzaU6JR2H3ULvS6b5CM",
      "ETNZH3ULvS6bYAfSVPzhzaU6JR2nmwyZfi0d8JZ5s8bk",
      "EJR2nmwyZ2i0dzaU6ULvS6b5CM8JZAoTNZH3YAfSVPzh",
    ],
  "bt": "2",
  "b":
    [
      "BGKVzj4ve0VSd8z_AmvhLg4lqcC_9WYX90k03q-R_Ydo",
      "BuyRFMideczFZoapylLIyCjSdhtqVb31wZkRKvPfNqkw",
      "Bgoq68HCmYNUDgOz4Skvlu306o_NY-NrYuKAVhk3Zh9c"
    ],
  "c": [],
  "a": [],
  "di": "EJJR2nmwyYAZAoTNZH3ULvaU6Z-i0d8fSVPzhzS6b5CM"
}

# Delegated Rotation Event Message Body

The top-level fields of a Delegated Rotation, drt event message body MUST appear in the following order: [ v, t, d, i, s, p, kt, k, nt, n, bt, br, ba, c, a]. All are REQUIRED. No other top-level fields are allowed (MUST NOT appear). Signatures and other information, when attached, MUST be attached to the Message body using CESR attachment codes. Notice that the Delegated Rotation event does not have a Delgator AID, di field. It uses the Delegator AID provided by the associated Delegated Inception event’s Delegator AID, di field.

NOTE

Examples in this section are not cryptographically verifiable

{
  "v": "KERICAAJSONAACd.",
  "t": "drt",
  "d" : "E0d8JJR2nmwyYAfZAoTNZH3ULvaU6Z-iSVPzhzS6b5CM",
  "i": "EZAoTNZH3ULvaU6Z-i0d8JJR2nmwyYAfSVPzhzS6b5CM",
  "s": "1",
  "p": "EULvaU6JR2nmwyZ-i0d8JZAoTNZH3YAfSVPzhzS6b5CM",
  "kt": "2", // 2 of 3
  "k":
    [
      "DnmwyZ-i0H3ULvad8JZAoTNZaU6JR2YAfSVPzh5CMzS6b",
      "DZaU6JR2nmwyZ-VPzhzSslkie8c8TNZaU6J6bVPzhzS6b",
      "Dd8JZAoTNnmwyZ-i0H3U3ZaU6JR2LvYAfSVPzhzS6b5CM"
    ],
  "nt": "3", // 3 of 5
  "n":
    [
      "ETNZH3ULvYawyZ-i0d8JZU6JR2nmAoAfSVPzhzS6b5CM",
      "EYAfSVPzhzaU6JR2nmoTNZH3ULvwyZb6b5CMi0d8JZAS",
      "EnmwyZdi0d8JZAoTNZYAfSVPzhzaU6JR2H3ULvS6b5CM",
      "ETNZH3ULvS6bYAfSVPzhzaU6JR2nmwyZfi0d8JZ5s8bk",
      "EJR2nmwyZ2i0dzaU6ULvS6b5CM8JZAoTNZH3YAfSVPzh",
    ],
  "bt": "1",
  "br": ["DH3ULvaU6JR2nmwyYAfSVPzhzS6bZ-i0d8TNZJZAo5CM"],
  "ba":  ["DTNZH3ULvaU6JR2nmwyYAfSVPzhzS6bZ-i0d8JZAo5CM"],
  "c":[],
  "a":[]
}

# Receipt Messages

# Receipt Message Body

The Receipt Message types MUST be as follows [rct].

The top-level fields of a Receipt, rct message body MUST appear in the following order: [ v, t, d, i, s]. All are REQUIRED. No other top-level fields are allowed (MUST NOT appear). Signatures and Seals MUST be attached to the Message body using CESR attachment codes. The Signatures or Seals are on the key event indicated by the top-level fields of the Receipt, not the Receipt message body itself.

The SAID, d field value is the SAID of a key event from a KEL, i.e., the key event being receipted, not the receipt message itself.

The Identifier AID, i field value is the Controller AID of the KEL for the key event being receipted.

The Sequence Number, s field value is the Sequence Number (hex-encoded) of the key event being receipted.

NOTE

Examples in this section are not cryptographically verifiable

Receipt example:

{
  "v": "KERICAAJSONAACd.",
  "t": "rct",
  "d": "DZ-i0d8JZAoTNZH3ULvaU6JR2nmwyYAfSVPzhzS6b5CM",
  "i": "AaU6JR2nmwyZ-i0d8JZAoTNZH3ULvYAfSVPzhzS6b5CM",
  "s": "1"
}

# Routed Messages

The Routed Messages MUST include a route, r field, and MAY include a return route, rr field. The value of the route and return route fields are hierarchical. The Routed Message types MUST be as follows [qry, rpy, pro, bar, xip, exn].

# Routed Services

Routed messages enable a backend to employ routed services in support of KELs, KERLs, service endpoints, and supporting data for KERI. Using hierarchical routes to manage services is a powerful paradigm for both externally and internally facing APIs. By abstracting the route concept so that it is not tied to the narrow confines of ReST URL-based APIs and combining that abstraction with OOBIs that map transport schemes to AIDs, a KERI implementation can use routing across its distributed infrastructure as a unifying architectural property.

For example, once a message has been received at a transport-specific port and the appropriate authentication (secure attribution) policy has been applied, it can be forwarded to a service router that distributes the message to the process that handles it. One way to effect that distribution is to prefix the external route provided in the message with an internal route that redirects the message appropriately. Thus, routing can affiliate the external-facing API with any internal-facing API. A return route enables the response to be returned despite asynchronous internal processing of the request. With this approach, no artificial synchronous state needs to be maintained to match outgoing and incoming messages. The internal routes can reflect different types of routing, such as intra-process, inter-process, inter-host, inter-protocol, and inter-database.

A given implementation could have multiple types of routers, each with different properties, including security properties.

# Routing Security

Suppose that some information needs to be protected as sealed-confidential where sealed means the information is bound to the KEL via a Seal and confidential means that the information is sensitive and needs to be protected. A KEL conveys two types of information:

  • information that is public to the KEL, namely key state. In general, key state includes not just the current signing keys but all the associated information including thresholds for both signing keys, next pre-rotated key digests, witness pool identifiers and threshold and configuration data. Any viewer of a KEL can view this key state. Thus, the publicity of the KEL itself determines the publicity of its key state data. Other public information can be sealed to a KEL. The seal itself is a cryptographic digest that does not disclose the data. Still, if the associated data is provided elsewhere in a public manner, then the seal provides no confidentiality protection but merely a verifiable binding. An example of this type of data is a transaction event log used for a revocation registry for an ACDC.

  • information that is hidden but sealed to the key state in the KEL. A seal includes a cryptographic digest of information. The presence of the seal in an event in the KEL binds that data to the key state at that event but without disclosing the information. Thus the binding is public but the information is not. When the information includes sufficient cryptographic entropy, such as through the inclusion of a salty-nonce (UUID) then an attacker can not discover that data even with a rainbow table attack. The digest effectively hides or blinds the data. This enables the data to be protected or treated as sensitive or confidential. Access to the KEL does not disclose the data. Some other exchange process is required to disclose or un-blind the data. This type is appropriate for sealed confidential information.

One security vulnerability of routed architectures is attacks on the routers themselves (especially router configuration, both static and dynamic). This vulnerability is most acute when a single router needs to handle information with different security properties. One solution to this problem is to use a pre-router that can redirect messages to different post-routers with different security properties. For example, a pre-router would route sensitive data to a sensitive data post-router and non-sensitive data to a non-sensitive data post-router. This ensures that sensitive and non-sensitive data are never mixed. This enables tighter, more secure configuration control over data flows within an infrastructure. The best pre-routers act early in the routing process.

In KERI, the earliest possible place for a pre-router is at the stream parser. The stream parser does not look at routes but does look at message types. Therefore, a stream parser as a pre-router needs the sensitive data to be segregated by message type. As a result, the KERI protocol supports two classes of routed messages distinguished by message types. The first class is denoted by query-reply-exchange messages, and the second by prod-bare messages. The first class, query-reply-exchange can used for the first type of information above, namely information public to a KEL. The second class, prod-bare can be used for the second type of information, namely hidden but sealed to a KEL (sealed confidential). When a given implementation chooses to use one router for both classes of information, it needs to take appropriate measures to protect the router.

Notable is that the exchange message types are only associated with the first class of data. This is because exchange messages are signed by the participating peers but not sealed. Once an exchange transaction is completed successfully, the set of messages in that transaction can be aggregated and then sealed to the participating peer’s KELs. The transaction set can then be treated as sealed-confidential information, and its subsequent disclosure is managed with prod-bare messages. An exchange message can reference a data item that is sealed but the disclosure of that seal can happen with a bare, bar message. Often, the point of an exchange is to negotiate a chain-link confidential disclosure of information. The detailed disclosure can happen out-of-band to the exchange that negotiates the contractual commitments to that data. Those commitments use cryptographic digests that maintain confidentiality. Later disclosure of the information can be facilitated with a prod-bare pair.

# Reserved field labels in routed messages

Reserved field labels in other KERI message body types:

Label Title Description
v Version String enables regex parsing of field map in CESR stream
t Message Type three character string
d Digest SAID fully qualified digest of block in which it appears
i Identifier Prefix (AID) fully qualified primitive of the Controller (sender) AID
ri Receiver Identifier Prefix (AID) fully qualified primitive of the message Receiver (recipient) AID
x Exchange Identifier (SAID) fully qualified unique identifier for an exchange transaction
p Prior SAID fully qualified digest, prior message SAID
dt Issuer relative ISO date/time string
r Route delimited path string for routing message
rr Return Route delimited path string for routing a response (reply or bare) message
q Query Map field map of query parameters
a Attribute Map field map of message attributes

Unless otherwise clarified below, the definitions of the `[v, t, d, i]’ field values are the same as found above in the Key Event message body section.

# Controller AID field

The Controller AID, i field value is an AID that controls its associated KEL. When the Controller Identifier AID, i field appears at the top-level of a Routed Message, it refers to the Controller AID of the sender of that message. A Controller AID, i field MAY appear in other places in messages (not at the top level). In those cases, its meaning SHOULD be determined by the context of its appearance.

# Receiver AID field

The Receiver AID, ri field value is an AID of the receiver (recipient) of an exchange message. The receiver is a controller on its associated KEL but is not the sender of the exchange message. The Reciever Identifier AID, ri field appears at the top-level of a Routed Exchange Message, it refers to the AID of the receiver (recipient) of that message.

# Prior event SAID field

The prior, p field is the SAID of the prior exchange message in a transaction. When the prior p field appears in an exchange message, its value MUST be the SAID of the immediately preceding exchange message in that transaction. When an exchange message is not part of a transaction, then the prior p field value MUST be the empty string.

# Exchange identifier field

The Exchange Identifier SAID, x field value MUST be the SAID, d field value of the first message in the set of exchange messages that constitute a transaction. The first message MUST be an Exchange Inception message with type xip. The SAID, d field value of the Exchange Inception message is strongly bound to the details of that message. As a cryptographic strength digest, it is a universally unique identifier. Therefore, the appearance of that value as the Exchange identifier, the x field in each subsequent exchange message in a transaction set, universally uniquely associates them with that set. Furthermore, the prior p field value in each subsequent exchange message verifiably orders the transaction set in a duplicity-evident way. When an exchange message is not part of a transaction, the Exchange Identifier, x field value, MUST be the empty string.

# Datetime, dt field

The datetime, dt field value, if any, MUST be the ISO-8601 datetime string with microseconds and UTC offset as per IETF RFC-3339. In a given field map (block) the primary datetime will use the label, dt. The usage context of the message and the block where a given DateTime, dt field appears determines which clock (sender or receiver) the datetime is relative to.

An example datetime string in this format is as follows:

2020-08-22T17:50:09.988921+00:00

# Route field

The Route, r field value is a ‘/’ delimited string that forms a path. This indicates the target of a given message that includes this field. This enables the message to replicate the function of the path in a ReST resource. When used in an Exchange Transaction Inception, xip or Exchange, exn message, the Route, r field value defines both the type of transaction and a step within that transaction. For example, suppose that the route path head value, /ipex/ means that the transaction type is an issuance and presentation exchange transaction and the full route path value, /ipex/offer means that the message is the offer step in such a transaction.

# Return Route field

The Return Route, rr field value is a ‘/’ delimited string that forms a path. This allows a message to indicate how to target the associated response to the message. This enables messages on asynchronous transports to associate a given response with the message that triggered the response.

# Query field

The Query, q field value is a field map (block). Its fields provide the equivalent of query parameters in a ReST resource.

# Attribute field

The Attribute, a field value is a field map (block). Its fields provide the attributes conveyed by the message.

# Query Message Body

The top-level fields of a Query, qry message body MUST appear in the following order: [ v, t, d, dt, r, rr, q]. All are REQUIRED. No other top-level fields are allowed (MUST NOT appear). Signatures and Seals MUST be attached to the Message body using CESR attachment codes.

NOTE

Examples in this section are not cryptographically verifiable

Example Query Message

{
  "v": "KERICAAJSONAACd.",
  "t": "qry",
  "d" : "EH3ULaU6JR2nmwyvYAfSVPzhzS6b5CMZ-i0d8JZAoTNZ",
  "i" : "EAfSVPzhzS6b5CMZ-i0d8JZAoTNZH3ULaU6JR2nmwyvY",
  "dt": "2020-08-22T17:50:12.988921+00:00",
  "r": "/logs",
  "rr": "/log/processor",
  "q":
  {
    "d": "EaU6JR2nmwyZ-i0d8JZAoTNZH3ULvYAfSVPzhzS6b5CM",
    "i" : "EAoTNZH3ULvYAfSVPzhzS6baU6JR2nmwyZ-i0d8JZ5CM",
    "s": "5",
    "dt": "2020-08-01T12:20:05.123456+00:00",
  }
}

# Reply Message Body

The top-level fields of a Reply, rpy message body MUST appear in the following order: [ v, t, d, dt, r, a]. All are REQUIRED. No other top-level fields are allowed (MUST NOT appear). Signatures and Seals MUST be attached to the Message body using CESR attachment codes.

NOTE

Examples in this section are not cryptographically verifiable

Reply message example:

{
  "v": "KERI10JSON00011c_",
  "t": "rpy",
  "d": "EH3ULaU6JR2nmwyvYAfSVPzhzS6b5CMZ-i0d8JZAoTNZ",
  "i" : "EAfSVPzhzS6b5CMZ-i0d8JZAoTNZH3ULaU6JR2nmwyvY",
  "dt": "2020-08-22T17:50:12.988921+00:00",
  "r":  "/logs/processor",
  "a" :
  {
    "d":  "EaU6JR2nmwyZ-i0d8JZAoTNZH3ULvYAfSVPzhzS6b5CM",
    "i": "EAoTNZH3ULvYAfSVPzhzS6baU6JR2nmwyZ-i0d8JZ5CM",
    "name": "John Jones",
    "role": "Founder",
  }
}

# Prod Message Body

The top-level fields of a Prod, pro message body MUST appear in the following order: [ v, t, d, dt, r, rr, q]. All are REQUIRED. No other top-level fields are allowed (MUST NOT appear). Signatures and Seals MUST be attached to the Message body using CESR attachment codes. The fundamental difference between the Prod, pro and the identically structured Query, qry messages is that the data targeted by Prod messages is Sealed data. Whereas the data targeted by Query, qry messages is unconstrained.

NOTE

Examples in this section are not cryptographically verifiable

Prod message example:

{
  "v": "KERICAAJSONAACd.",
  "t": "pro",
  "d": "EH3ULaU6JR2nmwyvYAfSVPzhzS6b5CMZ-i0d8JZAoTNZ",
  "i" : "EAfSVPzhzS6b5CMZ-i0d8JZAoTNZH3ULaU6JR2nmwyvY",
  "dt": "2020-08-22T17:50:12.988921+00:00",
  "r": "/sealed/data",
  "rr": "/process/sealed/data",
  "q":
  {
    "d": "EaU6JR2nmwyZ-i0d8JZAoTNZH3ULvYAfSVPzhzS6b5CM",
    "i": "EAoTNZH3ULvYAfSVPzhzS6baU6JR2nmwyZ-i0d8JZ5CM",
    "s": "5",
    "ri": "EAoTNZH3ULvYAfSVPzhzS6baU6JR2nmwyZ-i0d8JZ5CM",
    "dd": "EaU6JR2nmwyZ-i0d8JZAoTNZH3ULvYAfSVPzhzS6b5CM"
  }
}

# Bare Message Body

The top-level fields of a Reply, bar message body MUST appear in the following order: [ v, t, d, dt, r, a]. All are REQUIRED. No other top-level fields are allowed (MUST NOT appear). Signatures and Seals MUST be attached to the Message body using CESR attachment codes. The fundamental difference between the Bare, bar and the identically structured Reply, rpy messages is that the data returned by Bare messages is Sealed data. Whereas the data returned by Reply, rpy messages is unconstrained.

NOTE

Examples in this section are not cryptographically verifiable

Bare message example:

{
  "v": "KERICAAJSONAACd.",
  "t": "bre",
  "d": "EH3ULaU6JR2nmwyvYAfSVPzhzS6b5CMZ-i0d8JZAoTNZ",
  "i" : "EAfSVPzhzS6b5CMZ-i0d8JZAoTNZH3ULaU6JR2nmwyvY",
  "dt": "2020-08-22T17:50:12.988921+00:00",
  "r": "/process/sealed/data",
  "a":
  {
    "d": "EaU6JR2nmwyZ-i0d8JZAoTNZH3ULvYAfSVPzhzS6b5CM",
    "i": "EAoTNZH3ULvYAfSVPzhzS6baU6JR2nmwyZ-i0d8JZ5CM",
    "dt": "2020-08-22T17:50:12.988921+00:00",
    "name": "John Jones",
    "role": "Founder",
  }
}

# Exchange Transaction Inception Message Body

The top-level fields of an Exchange Transaction Inceipt, xip message body MUST appear in the following order: [ v, t, d, i, ri, dt, r, q, a]. All are REQUIRED. No other top-level fields are allowed (MUST NOT appear). Signatures and Seals MUST be attached to the Message body using CESR attachment codes.

NOTE

Examples in this section are not cryptographically verifiable

Exchange transaction inception message example:

{
  "v": "KERICAAJSONAACd.",
  "t": "xip",
  "d": "EF3Dd96ATbbMIZgUBBwuFAWx3_8s5XSt_0jeyCRXq_bM",
  "i": "EBBwuFAWx3_8s5XSt_0jeyCRXq_bMF3Dd96ATbbMIZgU",
  "ri": "ECRXq_bMF3Dd96ATbbMIZgUBBwuFAWx3_8s5XSt_0jey",
  "dt": "2021-11-12T19:11:19.342132+00:00",
  "r": "/echo/out",
  "q": {},
  "a": 
  {
    "msg": "test echo"
  }
}

# Exchange Message Body

The top-level fields of an Exchange, exn message body MUST appear in the following order: [ v, t, d, i, ri, x, p, dt, r, q, a]. All are REQUIRED. No other top-level fields are allowed (MUST NOT appear). Signatures and Seals MUST be attached to the Message body using CESR attachment codes.

NOTE

Examples in this section are not cryptographically verifiable

Exchange message example:

{
  "v": "KERICAAJSONAACd.",
  "t": "exn",
  "d": "EF3Dd96ATbbMIZgUBBwuFAWx3_8s5XSt_0jeyCRXq_bM",
  "i": "EMF3Dd96ATbbMIZgUBBwuFAWx3_8s5XSt_0jeyCRXq_b",
  "ri": "ECRXq_bMF3Dd96ATbbMIZgUBBwuFAWx3_8s5XSt_0jey",
  "x": "EF3Dd96ATbbMIZgUBBwuFAWx3_8s5XSt_0jeyCRXq_bM",
  "p": "EDd96ATbbMIZgUBBwuFAWx3_8s5XSt_0jeyCRXq_bMF3",
  "dt": "2021-11-12T19:11:19.342132+00:00",
  "r": "/echo/back",
  "q": {},
  "a": 
  {
    "msg": "test echo"
  }
}

# Signing and sealing KERI data structures

# Indexed Signatures

Cryptographic signatures are computed on the serialization of a KERI data structure. The serializations use CESR. The signatures are also encoded in CESR and can be attached to the KERI data structure as part of a CESR stream. Signatures and other information, when attached, MUST be attached to the Message body using CESR attachment codes.

CESR provides special indexed signature codes for signatures that index the signature to the public key inside a key list inside a KERI establishment event message data structure. This way, only the indexed signature MUST be attached, not the public key needed to verify the signature. The public key is looked up from the index into the key list in the appropriate establishment event in the KEL. CESR also supports group codes that differentiate the type of indexed signatures in the group and enable pipelined extraction of the whole group for processing when attached [[1]]. Indexed signatures MAY be attached to both key event messages and non-key event messages. In this case, information about the associated key state for the signature MUST be attached. This is typically a reference to the AID, sequence number, and SAID (digest), of the establishment event that determines the key state. In other cases, that latest key state is assumed, and only the AID of the signer is REQUIRED. In the former case, where the signature is attached to a key event, the AID MAY be inferred.

There are two types of attached indexed signatures: controller-indexed and witnessed-indexed. Other information, such as the type of event to which the signature is attached and/or which AID the indexed signature belongs, MAY accompany the attachment.

Controller-indexed signatures index into either or both the signing key list from the latest Establishment event (inception, delegated inception, rotation, delegated rotation) and the rotating key digest list from the Establishment event immediately prior to the latest Establishment event (prior next key digest list) if any. Both of these lists are strictly ordered so that only the index is needed to determine the public key. Depending on the event and the key lists, a controller-indexed signature MAY REQUIRE one or two indices. Controller-indexed signatures attached to Interaction events and non-key-event messages need only one index into the current signing key list from the most recent prior establishment event. Controller-indexed signatures attached to Inception events (delegated or not) need only one index into the current signing key list in the Inception event. Controller-indexed signatures attached to Rotation events (delegated or not) MAY REQUIRE two indices, one into the signing key list of the rotation event itself and the other into the rotation key digest list from the immediately prior Establishment Event (Inception or Rotation), i.e., the prior next key digest list.

Witness-indexed signatures index into the effective witness list as established by the latest Establishment event (interaction or rotation). To clarify, witness-indexed signatures attached to any type of key event (inception, rotation, interaction, delegated inception, delegated rotation) need only one index into the current list of witnesses that is in effect as of the latest establishment event, which MAY or MAY NOT be the event to which the witness signature is attached. Witnesses MUST use only nontransferable identifiers, which include the controlling public key. Consequently, the public key needed for witness signature verification can be extracted from the witness identifier given by the effective witness list.

CESR codes for indexed signatures support up to two indices so that, at most, one copy of an indexed signature needs to be attached. The first index is into the signing list when it’s controller-indexed or into the witness list when it is witness-indexed. The second index is into the prior next key digest list when it is controller-indexed. The CESR group code used to attach the indexed signature MAY vary depending on the type of event, key-event or not, and type of key event,

Recall that a prior next key digest MUST be exposed as a public key in the succeeding rotation event signing key list when used to sign. Therefore, when the second index is present, it is used to look up the public key digest from the prior next key digest list, then the first index is used to look up the exposed public key from the signing key list, then the digest is verified against the exposed public key, and finally, the doubly indexed signature is verified using the exposed public key. Verification of the digest means digesting the exposed public key using the same digest type as the prior next key digest and comparing the digests.

A set of controller-indexed signatures on an interaction or inception event (delegated or not) MUST at least satisfy the current signing threshold in order for that event to be accepted as valid.

A set of controller-indexed signatures on a non-key event message (see below) MUST at least satisfy the signing threshold for the establishment event indicated by the event reference in the attachment group (which MAY or MAY NOT be the current signing threshold) to be accepted as valid.

A set of controller-indexed signatures on a rotation event (delegated or not) MUST at least satisfy both the current signing threshold and the prior next rotation threshold in order for that event to be accepted as valid.

A set of witness-indexed signatures on an interaction, inception, or rotation (delegated or not) for which the effective witness list is not empty MUST satisfy the current witness threshold (of accountable duplicity) for that event to be accepted as valid.

Events that have a non-empty set of attached signatures which set does not satisfy the REQUIRED thresholds SHOULD escrow the event while waiting for other signatures to arrive either as attachments to the same version of the event or to a receipt of that event (see next section). A Validator that receives a key event or non-key-event message that does not have attached at least one verifiable Controller signature MUST drop that message (i.e., not escrow or otherwise accept it). This protects the Validator from a DDoS attack with spurious unsigned messages.

Indexed signatures minimize the space requirements for signatures. The indexed signatures codes are provided in the CESR code table for indexed signatures [[1]]. Given an indexed signature, a Validator looks up the associate public key from the index into the appropriate table.

# Non-indexed signatures

CESR also supports codes for signatures that are not indexed. In this case, additional information MUST be attached, such as the associated public key, in order for a validator to verify the signature. This additional information MUST be in the form of a CESR group defined by a CESR group code. [[1]]

# Endorsements

Other entities, as identified by their AIDs, can to attach signatures on key events for a KEL where the signer’s AID is neither the controlling AID of that KEL nor a witness AID of that event in that KEL. These non-controller, non-witness signatures can be called Endorsements. For example, a Watcher, when replaying events from a KEL its watches could choose to attach its own signature to the event in order to endorse or otherwise commit to that version of the event as the one the Watcher has seen. In this case, the attachment MUST include at least the AID of the endorser as well as any other information needed by the Validator to securely attribute the signature to its source and key state. CESR provides group codes for attaching signature Endorsements for both transferable and non-transferable AIDs with indexed and non-indexed signatures as applicable (see CESR table).

# Sealing

Any serialized data can be sealed in a KEL and thereby bound to the associated key state by including the associated seal in a key event. Seals MUST include a cryptographic digest or digest proof of the serialized data. This SHOULD be the SAID of the data when that data follows the SAID protocol, i.e., is a SAD [[1]]. This enables later verification of the sealing when given the data. Because all events in a KEL are signed by the KEL’s controller, a seal, once bound or anchored via inclusion in an event, represents an indirect signature on the sealed data. One property of cryptographic strength digests is cryptographic strength collision resistance. Such resistance makes it computationally infeasible for any two distinct (non-identical) data items to have the same digest. Therefore, a commitment via a nonrepudiable signature on a cryptographic strength digest of a data item is equivalent to a signature on the data item itself. Sealing, therefore, provides a type of indirect endorsement. The notable advantage of a seal as an indirect endorsement over a direct endorsement signature is that the seal is also bound to the key state of the endorser at the location in the KEL where the seal appears. This enables the validity of the endorsement to persist in spite of later changes to the key state. This is an essential feature for unbounded term but verifiable issuances. This also enables an endorsed issuance using one key state with later revocation of that issuance using a different key state. The order of appearance of seals in a KEL provides a verifiable ordering of the associated endorsements of that data, which can be used as a foundation for ordered verifiable transactions.

One primary use case for sealing in KERI is delegated AIDs. The Delegator (AID) approves (endorses) the associated delegation of a delegated event in the Delegatee’s KEL by sealing the SAID of that delegated event in the Delegator’s KEL. Because the Delegator signs the sealing event, the presence of the delegated event’s SAID (cryptographic digest) in the Delegator’s KEL is equivalent cryptographically to a signed endorsement by the Delegator of the delegated event itself but with the added advantage that the validity of that delegation persists in spite of changes to the key state of the Delegator. A validator need only receive an attached reference to the delegating event that includes the seal in order to look up the seal and verify its presence. CESR provides codes for attached event seal references as well as codes for event seals.

# Receipt Signatures

Receipt message data structures are not key events but merely reference key events (see below). A signature attached to a Receipt is not a signature on the serialized receipt data structure but is a signature on a serialization of the referenced key event. This enables the asynchronous receipt and processing of any type of signature, including controller-indexed and witness-indexed signatures. The Validator first looks up an already received copy of the referenced serialized key event and then verifies the signatures as if they had been attached to the event. Because Receipts can be more compact than the full event, they allow more efficient asynchronous distribution of signatures for events. A Validator that receives a Receipt for an event that the Validator has not yet received can escrow the Receipt and its attached signatures. This escrow, however, could be vulnerable to a DDoS attack due to spurious event references.

# Receipt Seals

Similar to attached signatures, a Receipt message can convey an attached seal reference that allows a validator to associate the sealing event in the sealer’s KEL with the reference to the sealed event given by the Receipt body. CESR provides codes for attached seal source references to receipts. [[1]]

# KERI key management

# KERI keypair labeling convention

In order to make key event expressions both clearer and more concise, a keypair labeling convention is used. When an AID’s Key state is dynamic, i.e., the set of controlling keypairs is transferable, then the keypair labels are indexed in order to represent the successive sets of keypairs that constitute the Key state at any position in the KEL. Specifically, indexes on the labels for AIDs that are transferable to indicate which set of keypairs is associated with the AID at any given point in its Key state or KEL. In contrast, when the Key state is static, i.e., the set of controlling keypairs is non-transferable, then no indexes are needed because the Key state never changes.

Recall that a keypair is a two tuple (public, private) of the respective public and private keys in the keypair. For a given AID, the labeling convention uses an uppercase letter label to represent that AID. When the Key state is dynamic, a superscripted index on that letter is used to indicate which keypair is used at a given Key state. Alternatively, the index MAY be omitted when the context defines which keypair and which Key state, such as, for example, the latest or current Key state. To reiterate, when the Key state is static, no index is needed.

In general, without loss of specificity, an uppercase letter label is used to represent both an AID and, when indexed, to represent its keypair or keypairs that are authoritative at a given Key state for that AID. In addition, when a keypair is expressed in tuple form (A, a), the uppercase letter represents the public key, and the lowercase letter represents the private key. For example, let A denote the AID as a shorthand, let A also denote the current keypair, and finally, let the tuple (A, a) also denote the current keypair. Therefore, when referring to the keypair itself as a pair and not the individual members of the pair, either the uppercase label, A, or the tuple, (A, a), MAY be used to refer to the keypair itself. When referring to the individual members of the keypair then the uppercase letter A, refers to the public key, and the lowercase letter a, refers to the private key.

The sequence of keypairs that are authoritative (i.e., establish control authority) for an AID MUST be indexed by the zero-based integer-valued, strictly increasing by one, variable ‘i’. The associated indexed keypair is denoted (Ai, ai). Furthermore, as described above, an Establishment event MAY change the Key state (usually). The sequence of Establishment events SHOULD be indexed by the zero-based integer-valued, strictly increasing by one, variable j. the associated key pair is denoted (Ai,j, ai,j) When the set of controlling keypairs that are authoritative for a given Key state includes only one member, then i = j for every keypair, and only one index is needed. But when the set of keypairs used at any time for a given Key state includes more than one member, then i != j for every keypair, and both indices are needed.

# Case in which only one index is needed

Because i = j, the indexed keypair for AID, A, is denoted by Ai or in tuple form by (Ai, ai) where the keypair that is indexed uses the ith keypair from the sequence of all keypairs.

Example of the keypair sequence - one index where each keypair is represented only by its public key:

Expressed as the list, [A0, A1, A2, …]

Where: A0 is the zero element in this sequence; (A0, a0) is the tuple form.

# Case in which both indexes are needed

Because i != j, the indexed keypair for AID, A, is denoted by Ai,j or in tuple form by (Ai,j, ai,j) where the keypair that is indexed is authoritative or potentially authoritative as the ith keypair from the sequence of all keypairs that is authoritative in the jth Key state.

Example of the keypair sequence – two indices using three keypairs at each key state where each keypair is represented only by its public key: Expressed as the list, [A0,0, A1,0, A2,0, A3,1, A4,1, A5,1].

Where: the first two Key states will consume the first six keypairs of the list.

# Labelling the digest of the public key

With pre-rotation, each public key from the set of pre-rotated keypairs MUST be hidden as a qualified cryptographic digest of that public key. The digest of the public key labeled A is represented using the functional notation H(A) for hash (digest).

Example of a singly indexed digest - Ai is denoted by H(Ai)

Example of a doubly indexed digest - Ai,j is denoted by H(Ai,j)

Where:

The digest of the public key labeled A is represented using the functional notation H(A) for hash (digest).

A pre-rotated keypair is potentially authoritative for the next or subsequent Establishment event after the Establishment event when the digest of the pre-rotated keypair first appears. Therefore, its jth index value is one greater than the jth index value of the Establishment event in which its digest first appears. Let j represent the index of the jth Establishment event, then the pre-rotated digests appearing in that Establishment event have index j+1. As explained in more detail for partial Rotation of a pre-rotated set, a pre-rotated keypair from a set of two or more pre-rotated keypairs is only potentially authoritative so that its actual authoritative jth index MAY change when it is actually rotated in, if ever.

Example of public key and the pre-rotated digest of the next public key - [A0,0], [H(A1,1)]

# Labelling key events in a KEL

Finally, each Key event in a KEL MUST have a zero-based integer-valued, strictly increasing by one, sequence number represented by the variable k. Abstractly, the variable k can be used as an index on any keypair label to denote the sequence number of an event for which that keypair is authoritative. Usually, this appears as a subscript. Thus any given keypair label could have three indices, namely, i,j,k. A public key would appear as A i,jk.

Example of labeling key events in a KEL - Ai,jk

Where:

i denotes the ith keypair from the sequence of all keypairs; j denotes the jth Establishment event in which the keypair is authoritative; and k denotes the sequence number of kth Key event in which the keypair is authoritative.

Expressed as a sequence of lists of two public keys per event:

[A0,00, A1,00], [A0,01, A1,01], [A0,02, A1,02], [A2,13, A3,13], [A2,14, A3,14]

When a KEL has only Establishment events, then j = k. In that case, either j or k is redundant.

Example of public keys from KEL with only establishment events - Expressed as a sequence of lists of two public keys per event where j is omitted because j = k:

[A00, A10], [A21, A31]

# Pre-rotation

Each Establishment event involves two sets of keys that each play a role that together establishes complete control authority over the AID associated at the location of that event in the KEL. To clarify, control authority is split between keypairs that hold signing authority and keypairs that hold rotation authority. A Rotation revokes and replaces the keypairs that hold signing authority as well as replacing the keypairs that hold rotation authority. The two set sets of keys are labeled current and next. Each Establishment event designates both sets of keypairs. The first (current) set consists of the authoritative signing keypairs bound to the AID at the location in the KEL where the Establishment event occurs. The second (next) set consists of the pre-rotated authoritative rotation keypairs that will be actualized in the next (ensuing) Establishment event. Each public key in the set of next (ensuing) pre-rotated public keys is hidden in or blinded by a digest of that key. When the Establishment event is the Inception event then the current set is the initial set. The pre-rotated next set of Rotation keypairs are one-time use only rotation keypairs but MAY be repurposed as signing keypairs after their one time use to rotate.

In addition, each Establishment event designates two threshold expressions, one for each set of keypairs (current and next). The current threshold determines the needed satisficing subset of signatures from the associated current set of keypairs for signing authority to be considered valid. The next threshold determines the needed satisficing subset of signatures from the associated next set of hidden keypairs for rotation authority to be considered valid. The simplest type of threshold expression for either threshold is an integer that is no greater than nor no less than the number of members in the set. An integer threshold acts as an M of N threshold where M is the threshold and N is the total number of keypairs represented by the public keys in the key list. If any set of M of the N private keys belonging to the public keys in the key list verifiably signs the event, then the threshold is satisfied by the Controller exercising its control authority role (signing or rotating) associated with the given key list and threshold.

To clarify, each Establishment event MUST include a list (ordered) of the qualified public keys from each of the current (initial) set of keypairs, a threshold for the current set, a list (ordered) of the qualified cryptographic digests of the qualified public keys from the next set of keypairs, and a threshold for the next set. Each event MUST also include the AID itself as either a qualified public key or a qualified digest of the Inception event.

Each Non-establishment event MUST be signed by a threshold-satisficing subset of private keys from the current set of keypairs from the most recent Establishment event. The following sections detail the requirements for a valid set of signatures for each type of Establishment event.

# Inception event pre-rotation

The creator of the Inception event MUST create two sets of keypairs, the current (initial) set and the next set. The private keys from the current set are kept as secrets. The public keys from the current set are exposed via inclusion in the Inception event. Both the public and private keys from the next set are kept as secrets, and only the cryptographic digests of the public keys from the next set are exposed via inclusion in the event. The public keys from the next set are only exposed in a subsequent Establishment event, if any. Both thresholds are exposed via inclusion in the event.

Upon emittance of the Inception event, the current (initial) set of keypairs becomes the current set of Verifiable authoritative signing keypairs for the AID. Emittance of the Inception event also issues the identifier. Moreover, to be verifiably authoritative, the Inception event MUST be signed by a threshold satisficing subset of the current (initial) set of private keys. The Inception event MUST be verified against the attached signatures using the included current (initial) list of public keys. When self-addressing, a digest of the serialization of the Inception event provides the AID itself as derived by the SAID protocol SAID.

There MUST be only one Establishment event that is an Inception event. All subsequent Establishment events MUST be Rotation events.

Inception event message example:

When the AID in the i field is SAID, the new Inception event has two qualified digest fields. In this case, both the d and i fields MUST have the same value. This means the digest suite’s derivation code, used for the i field MUST be the same for the d field. The derivation of the d and i fields is special. Both the d and i fields are replaced with dummy # characters of the length of the digest to be used. The digest of the Inception event is then computed and both the d and i fields are replaced with the qualified digest value. Validation of an Inception event requires examining the i field’s derivation code and if it is a digest-type then the d field MUST be identical otherwise the Inception event is invalid.

When the AID is not self-addressing, i.e…, the i field derivation code is not a digest, then the i is given its value and the d field is replaced with dummy characters # of the correct length and then the digest is computed., which is the standard SAID algorithm.

NOTE

Examples in this section are not cryptographically verifiable

Inception event message body

{
  "v": "KERI10JSON0001ac_",
  "t": "icp",
  "d": "EL1L56LyoKrIofnn0oPChS4EyzMHEEk75INJohDS_Bug",
  "i": "EL1L56LyoKrIofnn0oPChS4EyzMHEEk75INJohDS_Bug",
  "s": "0",
  "kt": "2", // 2 of 3
  "k":
    [
      "DnmwyZ-i0H3ULvad8JZAoTNZaU6JR2YAfSVPzh5CMzS6b",
      "DZaU6JR2nmwyZ-VPzhzSslkie8c8TNZaU6J6bVPzhzS6b",
      "Dd8JZAoTNnmwyZ-i0H3U3ZaU6JR2LvYAfSVPzhzS6b5CM"
    ],
  "nt": "3",  // 3 of 5
  "n":
    [
      "ETNZH3ULvYawyZ-i0d8JZU6JR2nmAoAfSVPzhzS6b5CM",
      "EYAfSVPzhzaU6JR2nmoTNZH3ULvwyZb6b5CMi0d8JZAS",
      "EnmwyZdi0d8JZAoTNZYAfSVPzhzaU6JR2H3ULvS6b5CM",
      "ETNZH3ULvS6bYAfSVPzhzaU6JR2nmwyZfi0d8JZ5s8bk",
      "EJR2nmwyZ2i0dzaU6ULvS6b5CM8JZAoTNZH3YAfSVPzh",
    ],
  "bt": "2",
  "b":
    [
      "BGKVzj4ve0VSd8z_AmvhLg4lqcC_9WYX90k03q-R_Ydo",
      "BuyRFMideczFZoapylLIyCjSdhtqVb31wZkRKvPfNqkw",
      "Bgoq68HCmYNUDgOz4Skvlu306o_NY-NrYuKAVhk3Zh9c"
    ],
  "c": [],
  "a": []
}

# Rotation using pre-rotation

Unlike Inception, the creator of a Rotation event MUST create only one set of keypairs, the newly next set. Both the public and private keys from the newly created next set are kept as secrets and only the cryptographic digests of the public keys from the newly next set are exposed via inclusion in the event. The list of newly current public keys MUST include the old next threshold satisficing subset of old next public keys from the most recent prior Establishment event. For short, the next threshold from the most recent prior Establishment event is denoted as the prior next threshold, and the list of unblinded public keys taken from the blinded key digest list from the most recent prior Establishment event as the prior next key list. The subset of old prior next keys that are included in the newly current set of public keys MUST be unhidden or unblinded because they appear as the public keys themselves and no longer appear as digests of the public keys. Both thresholds are exposed via inclusion in the event.

Upon emittance of the Rotation event, the newly current keypairs become the current set of Verifiable authoritative signing keypairs for the identifier. The old current set of keypairs from the previous Establishment event has been revoked and replaced by the newly current set. Moreover, to be verifiably authoritative, the rotation event MUST be signed by a dual threshold satisficing subset of the newly current set of private keys., meaning that the set of signatures on a Rotation event MUST satisfy two thresholds. These are the newly current threshold and the old prior next threshold from the most recent prior Establishment event. Therefore, the newly current set of public keys MUST include a satisfiable subset with respect to the old prior next threshold of public keys from the old prior next key list. The included newly current list of public keys enables verification of the Rotation event against the attached signatures.

The act of including the digests of the new next set of public keys in each Establishment event essentially performs a pre-rotation operation on that set by making a Verifiable forward-blinded commitment to that set. Consequently, no other key set can be used to satisfy the threshold for the next Rotation operation. Because the next set of pre-rotated keys is blinded (i.e., has not been published or otherwise exposed, i.e., used to sign), an attacker cannot forge and sign a Verifiable Rotation operation without first unblinding the pre-rotated keys. Therefore, given sufficient cryptographic strength of the digests, the only attack surface available to the adversary is a side-channel attack on the private key store itself and not on signing infrastructure. But the Controller, as the creator of the pre-rotated private keys is free to make that key store as arbitrarily secure as needed because the pre-rotated keys are not used for signing until the next Rotation. In other words, as long as the creator keeps secret the pre-rotated public keys themselves, an attacker must attack the key storage infrastructure because side-channel attacks on signing infrastructure are obviated.

As explained in the First seen policy section, for a Validator, the first seen rule applies, that is, the first seen Version of an event is the authoritative one for that Validator. The first seen wins. In other words, the first published Version becomes the first seen. Upon Rotation, the old prior next keys are exposed but only after a new next set has been created and stored. Thus, the creator is always able to stay one step ahead of an attacker. By the time a new Rotation event is published, it is too late for an attacker to create a Verifiable Rotation event to supplant it because the original Version has already been published and could be first seen by the Validator. The window for an attacker is the network latency for the first published event to be first seen by the network of Validators. Any later, key compromise is too late.

In essence, each key set follows a Rotation lifecycle where it changes its role with each Rotation event. A pre-rotated keypair set starts as the member of the next key set holding one-time rotation control authority. On the ensuing Rotation, that keypair becomes part of the current key set holding signing control authority. Finally on the following Rotation, that keypair is discarded. The lifecycle for the initial key set in an Inception event is slightly different. The initial key set starts as the current set holding signing authority and is discarded on the ensuing Rotation event, if any.

Pre-Rotation example:

Recall that the keypairs for a given AID can be represented by the indexed letter label such as Ai,jk where ‘i’ denotes the ith keypair from the sequence of all keypairs, 'j’ denotes the jth Establishment event in which the keypair is authoritative, and 'k’ represents the kth Key event in which the keypair is authoritative. When a KEL has only Establishment events, then j = k. When only one keypair is authoritative at any given Key state then i = j.

Also, recall that a pre-rotated keypair is designated by the digest of its public key appearing in an Establishment event. The digest is denoted as H(A) or H(Ai,jk) in indexed form. The appearance of the digest makes a forward Verifiable cryptographic commitment that can be realized in the future when and if that public key is exposed and listed as a current authoritative signing key in a subsequent Establishment event.

The following example illustrates the lifecycle roles of the key sets drawn from a sequence of keys used for three Establishment events; one Inception followed by two Rotations. The initial number of authoritative keypairs is three and then changes to two and then changes back to three.

Event Current Keypairs CT Next Keypairs NT
0 [A0,0, A1,0, A2,0] 2 [H(A3,1), H(A4,1)] 1
1 [A3,1, A4,1] 1 [H(A5,2), H(A6,2), H(A7,2)] 2
2 [A5,2, A6,2, A7,2] 2 [H(A8,3), H(A9,3), H(A10,3] 2

Where:

CT means Current threshold. NT means Next threshold.

# Fractionally weighted threshold

A simple fractionally weighted threshold consists of a list of one or more clauses where each clause is a list of rational fractions (i.e., ratios of non-negative integers expressed as fractions, where zero is not allowed in the denominator). Each entry in each clause in the fractional weight list corresponds one-to-one to a public key appearing in a key list in an Establishment event. Key lists order a key set. A list of clauses acts to order the set of rational fraction weights that appear in the list of clauses. Satisfaction of a fractionally weighted threshold requires satisfaction of every clause in the list. In other words, the clauses are logically ANDed together. Satisfaction of any clause requires that the sum of the weights in that clause that corresponds to verified signatures on that event MUST sum to at least a weight of one. Using rational fractions and rational fraction summation avoids the problem of floating-point rounding errors and ensures the exactness and universality of threshold satisfaction computations. In a complex fractionally weighted threshold, each weight in a clause MAY be either a simple weight or a weighted list of weights. This provides an additional layer of nesting of weights.

For example, consider the following simple single clause fractionally weighted threshold, [1/2, 1/2, 1/2]. Three weights mean there MUST be exactly three corresponding key pairs. Let the three keypairs in one-to-one order be denoted by the list of indexed public keys, [A0, A1, A2]. The threshold is satisfied if any two of the public keys sign because 1/2 + 1/2 = 1. This is exactly equivalent to an integer-valued ‘2 of 3’ threshold.

The public key’s appearance order in a given key list and its associated threshold weight list MUST be the same.

Fractionally weighted thresholds become more interesting when the weights are not all equal or include multiple clauses. Consider the following five-element single clause fractionally weighted threshold list, [1/2, 1/2, 1/2, 1/4, 1/4] and its corresponding public key list, [A0, A1, A2, A3, A4]. Satisfaction would be met given signatures from any two or more of A0, A1, or A2 because each of these keys has a weight of 1/2 and the combination of any two or more sums to 1 or more. Alternatively, satisfaction would be met with signatures from any one or more of A0, A1, or A2 and both of A3, and A4 because any of those combinations would sum to 1 or more. Because participation of A3 and A4 is not required as long as at least two of A0, A1, and A2 are available then A3 and A4 MAY be treated as reserve members of the controlling set of keys. These reserve members only need to participate if only one of the other three is available. The flexibility of a fractionally weighted threshold enables redundancy in the combinations of keys needed to satisfy both day-to-day and reserve contingency use cases.

As a complex example, consider the following threshold with some weights as nested weighted lists of weights.

[[{"1/2": ["1/2", "1/2", "1/2"]}, "1/2", {"1/2": ["1", "1"]}], ["1/2", {"1/2": ["1", "1"]}]]

The corresponding public key list has 9 entries, as follows:

[A0, A1, A2, A3, A4, A5, A6, A7, A0].

There are two clauses in the threshold.

The first clause is as follows:

[{"1/2": ["1/2", "1/2", "1/2"]}, "1/2", {"1/2": ["1", "1"]}]

The first element is a nested weighted list of three weights expressed as a field map or JSON object block with only one field. The key or label for this field is the weight on the list of weights, and the value of this field is the list of three weights as a nested fractionally weighted threshold. Therefore, this first element corresponds to the three entries A0, A1, and A2 in the key list. Because each entry in this list has the same weight, 1/2, valid signatures for any two of A0, A1, and A2 will satisfy the nested threshold. Satisfaction of the nested threshold contributes the weight, 1/2 that the field label provides to the satisfaction of the enclosing clause.

The second element is a simple weight of 1/2, corresponding to A3 in the key list.

The third element is a nested weighted list of two weights that correspond to A4 and A5 in the key list. Because each of the nested weights is 1, signatures from only one of A4 and A5 need to be valid to satisfy the nested threshold. Satisfaction contributes the field key weight of 1/2 to the clause.

Suppose that for the first clause, valid signatures from the following keys are provided: A0, A3, and A5. Then, the following weights are contributed for the clause: 1/2 and 1/2. These sum to 1, so the clause threshold is satisfied. Note that because only one of the three weights for the first element was satisfied, the first element did not contribute any weight to the clause satisfaction.

The second clause is as follows:

["1/2", {"1/2": ["1", "1"]}]

The first element is a simple weight of 1/2, which corresponds to A6 in the key list.

The second element is a nested weighted list of two weights that correspond to A7 and A8 in the key list. Because each of the nested weights is 1, signatures from only one of A7 and A8 need to be valid to satisfy the nested threshold. Such satisfaction contributes the field key weight of 1/2 to the clause.

Suppose that for the first clause, valid signatures from the following keys are provided: A6, and A8. Then, the following weights are contributed for the clause: 1/2 and 1/2. These sum to 1, so the clause threshold is satisfied.

Given that signature from A0, A3, A5, A6, and A8 are valid then both clauses will be satisfied so that the whole threshold is satisfied.

A use case for complex nested weighted lists of weights is when a given contributor to a fractionally weighted threshold manages its keys across multiple devices such that each device contributes a key. The total weight from the given contributor needs to be normalized to a single weight, but the satisfaction of its contribution is itself a fractionally weighted threshold across that contributor’s devices.

# Partial pre-rotation

The KERI protocol includes support for Partial pre-rotation i.e., a Rotation operation on a set of pre-rotated keys that MAY hold back some as unexposed while exposing others as needed.

As described above, a valid Rotation operation requires the satisfaction of two different thresholds - the current threshold of the given Rotation event concerning its associated current public key list and the next threshold from the given Rotation event’s most recent prior Establishment event concerning its associated blinded next key digest list. For short, the next threshold from the most recent prior Establishment event is denoted as the prior next threshold and the list of unblinded public keys taken from the blinded key digest list from the most recent prior Establishment event is the prior next key list. Explicating the elements of the prior next key list requires exposing or unblinding the underlying public keys committed to by their corresponding digests appearing in the next key digest list of the most recent prior Establishment event. The unexposed (blinded) public keys MAY be held in reserve.

More precisely, any Rotation event’s current public key list MUST include a satisfiable subset of the prior next key list concerning the prior next threshold. In addition, any Rotation event’s current public key list MUST include a satisfiable set of public keys concerning its current threshold. In other words, the current public key list MUST be satisfiable concerning both the current and prior next thresholds.

To reiterate, to make Verifiable the maintenance of the integrity of the forward commitment to the pre-rotated list of keys made by the prior next event, i.e., provide Verifiable rotation control authority, the current key list MUST include a satisfiable subset of exposed (unblinded) pre-rotated next keys from the most recent prior Establishment event where satisfiable is concerning the prior next threshold. To establish Verifiable signing control authority, the current key list MUST also include a satisfiable subset of public keys where satisfiable concerns the current threshold.

These two conditions are satisfied trivially whenever the current and prior next key lists and thresholds are equivalent. When both the current and the prior next key lists and thresholds are identical, the validation can be simplified by comparing the two lists and thresholds to confirm that they are identical and then confirming that the signatures satisfy the one threshold concerning the one key list. When not identical, the Validator MUST perform the appropriate set math to confirm compliance.

Recall that the public key’s appearance order in a given key list and its associated threshold weight list MUST be the same. The order of appearance, however, of any public keys that appear in both the current and prior next key lists may be different between the two key lists and, hence, the two associated threshold weight lists. A Validator, therefore, MUST confirm that the set of keys in the current key list truly includes a satisfiable subset of the prior next key list and that the current key list is satisfiable with respect to both the current and prior next thresholds. Actual satisfaction means that the set of attached signatures MUST satisfy both the current and prior next thresholds as applied to their respective key lists.

Suppose the current public key list does not include a proper subset of the prior next key list. This means that no keys were held in reserve. This also means that the current key list is either identical to the prior next key list or is a superset of the prior next key list. Nonetheless, such a Rotation may change the current key list and or threshold with respect to the prior next key list and/or threshold as long as it meets the satisfiability constraints defined above.

If the current key list includes the full set of keys from the prior next key list, then a full Rotation has occurred, not a Partial rotation because no keys were held in reserve or omitted. A full Rotation may add new keys to the current key list and/or change the current threshold with respect to the prior next key list and threshold.

# Reserve rotation

As described above, the pre-rotation mechanism supports partial pre-rotation or, more exactly, partial Rotation of pre-rotated keypairs. One important use case for partial Rotation is to enable pre-rotated keypairs designated in one Establishment event to be held in reserve and not exposed at the next (immediately subsequent) Establishment event. This reserve feature enables keypairs held by Controllers as members of a set of pre-rotated keypairs to be used for fault tolerance in the case of non-availability by other Controllers while at the same time minimizing the burden of participation by the reserve members. In other words, a reserved pre-rotated keypair contributes to the potential availability and fault tolerance of control authority over the AID without necessarily requiring the participation of the reserve key-pair in a Rotation until and unless it is needed to provide continuity of control authority in the event of a fault (non-availability of a non-reserved member). This reserve feature enables different classes of key Controllers to contribute to the control authority over an AID. This enables provisional key control authority. For example, a key custodial service or key escrow service could hold a keypair in reserve to be used only upon satisfaction of the terms of the escrow agreement. This could be used to provide continuity of service in the case of some failure event. Provisional control authority may be used to prevent types of common-mode failures without burdening the provisional participants in the normal non-failure use cases.

Reserve rotation example:

Provided here is an illustrative example to help to clarify the pre-rotation protocol, especially with regard to and threshold satisfaction for Reserve rotation.

SN Role Keys Threshold
0 Crnt [A0, A1, A2, A3, A4] [1/2, 1/2, 1/2, 1/4, 1/4]
0 Next [H(A5), H(A6), H(A7), H(A8), H(A9)] [1/2, 1/2, 1/2, 1/4, 1/4]
1 Crnt [A5, A6, A7] [1/2, 1/2, 1/2]
1 Next [H(A10), H(A11), H(A12), H(A8),H(A9)] [1/2, 1/2, 1/2, 1/4, 1/4]
2 Crnt [A10, A8, A9] [1/2, 1/2, 1/2]
2 Next [H(A13), H(A14), H(A15), H(A16),H(A17)] [1/2, 1/2, 1/2, 1/4, 1/4]
3 Crnt [A13, A14, A15] [1/2, 1/2, 1/2]
3 Next [H(A18), H(A19), H(A20), H(A16),H(A17)] [1/2, 1/2, 1/2, 1/4, 1/4]
4 Crnt [A18, A20, A21] [1/2, 1/2, 1/2]
4 Next [H(A22), H(A23), H(A24), H(A16),H(A17)] [1/2, 1/2, 1/2, 1/4, 1/4]
5 Crnt [A22, A25, A26, A16, A17] [1/2, 1/2, 1/2, 0, 0]
5 Next [H(A27), H(A28), H(A29), H(A30),H(A31)] [1/2, 1/2, 1/2, 1/4, 1/4]

Where, in the column labels:

SN is the sequence number of the event. Each event uses two rows in the table. Role is either Current (Crnt) or Next and indicates the role of the key list and threshold on that row. Keys is the list of public keys denoted with indexed label of the keypair sequence. Threshold is the threshold of signatures that MUST be satisfied for validity.

Commentary of each event:

(0) Inception: Five keypairs have signing authority and five other keypairs have rotation authority. Any two of the first three or any one of the first three and both the last two are sufficient. This anticipates holding the last two in reserve.

(1) Rotation: The first three keypairs from the prior next, A5, A6, and A7, are rotated at the new current signing keypairs. This exposes the keypairs. The last two from the prior next, A8 and A9, are held in reserve. They have not been exposed are included in the next key list.

(2) Rotation: The prior next keypairs, A11 and A12 are unavailable to sign the Rotation and participate as the part of the newly current signing keys. Therefore, A8 and A9 MUST be activated (pulled out of reserve) and included and exposed as both one-time rotation keys and newly current signing keys. The signing authority (weight) of each of A8 and A9 has been increased to 1/2 from 1/4. This means that any two of the three of A10, A8, and A9 may satisfy the signing threshold. Nonetheless, the Rotation event #2 MUST be signed by all three of A10, A8, and A9 in order to satisfy the prior next threshold because in that threshold A8, and A9 only have a weight of 1/4.

(3) Rotation: The keypairs H(A16), H(A17) have been held in reserve from event #2

(4) Rotation: The keypairs H(A16), H(A17) continue to be held in reserve.

(5) Rotation: The keypairs A16, and A17 are pulled out of reserved and exposed in order to perform the Rotation because A23, and A24 are unavailable. Two new keypairs, A25, A26, are added to the current signing key list. The current signing authority of A16, and A17 is none because they are assigned a weight of 0 in the new current signing threshold. For the Rotation event to be valid, it MUST be signed by A22, A16, and A17 in order to satisfy the prior next threshold for rotation authority and also MUST be signed by any two of A22, A25, and A26 in order to satisfy the new current signing authority for the event itself. This illustrates how reserved keypairs may be used exclusively for rotation authority and not for signing authority.

# Custodial rotation

Partial pre-rotation supports another important use case that of Custodial key rotation. Because control authority is split between two key sets, the first for signing authority and the second (pre-rotated) for rotation authority, the associated thresholds and key list can be structured in such a way that a designated custodial agent can hold signing authority while the original Controller can hold exclusive rotation authority. The holder of the rotation authority can then, at any time, without the cooperation of the custodial agent, if needed, revoke the agent’s signing authority and assign it to some other agent or return that authority to itself.

Custodial rotation example:

Provided here is an illustrative example to help to clarify the pre-rotation protocol, especially about threshold satisfaction for Custodial rotation.

SN Role Keys Threshold
0 Crnt [A0, A1, A2] [1/2, 1/2, 1/2]
0 Next [H(A3), H(A4), H(A5)] [1/2, 1/2, 1/2]
1 Crnt [A3, A4, A5, A6, A7, A8] [0, 0, 0, 1/2, 1/2, 1/2]
1 Next [H(A9), H(A10), H(A11)] [1/2, 1/2, 1/2]
2 Crnt [A9, A10, A11, A12, A13, A14] [0, 0, 0, 1/2, 1/2, 1/2]
2 Next [H(A15), H(A16), H(A17)] [1/2, 1/2, 1/2]

Where for the column labels:

SN is the sequence number of the event. Each event uses two rows in the table. Role is either Current (Crnt) or Next and indicates the role of the key list and threshold on that row. Keys is the list of public keys denoted with indexed label of the keypair sequence. Threshold is the threshold of signatures that MUST be satisfied for validity.

Commentary of each event:

(0) Inception: The private keys from current signing keypairs A0, A1, and A2 are held by the custodian of the identifier. The owner of the identifier provides the digests of the next rotation keypairs, H(A3), H(A4), and H(A5) to the custodian in order that the custodian may include them in the event and then sign the event. The owner holds the private keys from the next rotation keypairs A3, A4, and A5. A self-addressing AID would then be created by the formulation of the Inception event. Once formed, the custodian controls the signing authority over the identifier by virtue of holding the associated private keys for the current key list. But the Controller exercises the rotation authority by virtue of holding the associated private keys for the next key list. Because the Controller of the rotation authority may at their sole discretion revoke and replace the keys that hold signing authority, the owner, holder of the next private keys, is ultimately in control of the identifier so constituted by this Inception event.

(1) Rotation: The owner changes custodians with this event. The new custodian creates new current signing keypairs, A6, A7, and A8 and holds the associated private keys. The new custodian provides the public keys A6, A7, and A8 to the owner so that the owner can formulate and sign the Rotation event that transfers signing authority to the new custodian. The owner exposes its rotation public keys, A3, A4, and A5 by including them in the new current key list. But the weights of those rotation keys in the new current signing threshold are all 0 so they have no signing authority. The owner creates a new set of next keypairs and includes their public key digests, H(A9), H(A10), H(A11) in the new next key list. The owner holds the associated private keys and thereby retains rotation authority. This event MUST be signed by any two of A3, A4, and A5 in order to satisfy the prior next threshold and also MUST be signed by any two A6, A7, and A8 in order to satisfy the new current signing threshold. The new current threshold and new next threshold clearly delineate that the new custodian now holds exclusive signing authority and owner continues to retain exclusive rotation authority.

(2) Rotation: Change to yet another custodian following the same pattern as event #1.

# Cooperative Delegation

A delegation or identifier delegation operation is provided by a pair of events. One event is the delegating event in the KEL of the Delegator and the other event is the delegated event in the KEL of the Delegatee. This pairing of events is a somewhat novel approach to delegation in that the resultant delegation requires cooperation between the Delegator and Delegatee. This is called cooperative delegation. In a cooperative delegation, a delegating identifier approves the establishment operation (inception or rotation) of a delegated identifier. A delegating event is a type of event that includes in its data payload an event seal of the delegated event that is the target the delegation operation. This delegated event seal includes a digest of the delegated event. This verifiably seals or anchors or binds the delegated event to the KEL of the Delegator.

Likewise, the inception event of the Delegatee’s KEL includes the delegator’s AID. This binds the inception and any later establishment events in the Delegatee’s KEL to a unique delegator. A validator MUST be given or find the delegating seal in the delegator’s KEL before the event may be accepted as valid. The pair of bindings (delegation seal in delegator’s KEL and delegator’s AID in Delegatee’s inception event) make the delegation cooperative. Both MUST participate. As will be seen later, this cooperation adds an additional layer of security to the Delegatee’s KEL and provides a way to recover from pre-rotated key compromise.

Because the delegating event payload is a list, a single delegating event may perform multiple delegation operations, one per each delegation seal.

A delegation operation directly delegates an establishment event. Either an inception or rotation. Thus, a delegation operation may either delegate an inception or delegate a rotation that respectively may create and rotate the authoritative keys for delegated AID. The AID for a Delegatee (delegated identifier prefix) MUST be a fully qualified digest of its inception event. This cryptographically binds the Delegatee’s AID to the delegator’s AID.

The Delegator (controller) retains establishment control authority over the delegated identifier in that the new delegated identifier may only authorize non-establishment events with respect to itself. Delegation, therefore, authorizes revokable signing authority to some other AID. The delegated identifier has a delegated key event sequence where the inception event is a delegated inception, and any rotation events are delegated rotation events. Control authority for the delegated identifier, therefore, requires verification of a given delegated establishment event, which in turn requires verification of the delegating identifier’s establishment event.

To reiterate, because the delegating event seal includes a digest of the full delegated event, it thereby provides a cryptographic commitment to the delegated event and all of its configuration data.

A common use case of delegation would be to delegate signing authority to a new identifier prefix. The signing authority may be exercised by a sequence of revokable signing keys distinct from the keys used for the delegating identifier. This enables horizontal scalability of signing operations. The other major benefit of a cooperative delegation is that any exploiter that merely compromises only the delegate’s authoritative keys may not capture the control authority of the delegate. A successful exploiter must also compromise the delegator’s authoritative keys. Any exploit of the Delegatee is recoverable by the delegator. Conversely, merely compromising the delegator’s signing keys may not enable a delegated rotation without also compromising the Delegatee’s pre-rotated keys. Both sets of keys must be compromised simultaneously. This joint compromise requirement is a distinctive security feature of cooperative delegation. Likewise, as explained later, this cooperative feature also enables recovery of a joint compromise of a delegation at any set of delegation levels by a recovery at the next higher delegation level.

# Security Properties of Pre-rotation

For many exploits, the likelihood of success is a function of exposure to continued monitoring or probing. Narrowly restricting the exposure opportunities for exploitation in terms of time, place, and method, especially if the time and place happen only once, makes exploitation extremely difficult. The exploiter has to either predict the one-time and place of that exposure or has to have continuous universal monitoring of all exposures. By declaring the very first pre-rotation in the inception event, the window for its exploit is as narrow as possible. Likewise, each subsequent rotation event is a one-time and place signing exposure of the former next (pre-rotated) rotation key.

Because each pre-rotation makes a cryptographic future commitment to a set of one-time first-time rotation keys, later exploit of the current authoritative signing key(s) may not capture key rotation authority as it has already been transferred via the pre-commitment to a new unexposed set of keys. To elaborate, the next (ensuing) pre-rotated keypairs in an inception event serve as first-time, one-time, and only-time rotation keys in the next rotation operation. Thereafter, those keypairs may be activated as the new current (root) authoritative signing key(s) but no longer have rotation authority. Likewise, the next (ensuing) pre-rotated keypairs in each rotation event serve as first-time, one-time, and only-time rotation keys in the next rotation operation. Thereafter, those keypairs may be activated as the new current (root) authoritative signing key(s) but likewise no longer have rotation authority.

In administrative identity (identifier) systems, the binding between keys, controller, and identifier may be established by administrative fiat. As a result, administrative fiat may be used as a recovery mechanism for compromised administrative keys. This may make those administrative keys relatively more exposed through multiple use of each key. In contrast, when the binding between keys, controller, and identifier is purely cryptographic (decentralized), such as is the case with this (KERI) protocol, there is no recovery mechanism once the keys for the root control authority have been fully captured. Therefore, security over those keys is more critical. As a result, in this protocol, administrative (establishment operation) keys are first-time, one-time, and only-time use as administrative keys.

# Dead-Attacks

By definition, a Dead-attack on a given establishment event occurs after the Key state for that event has become stale because a later establishment event has rotated the sets of signing and pre-rotated keys to new sets. There are two types of Dead-attacks. The first is a compromise of the stale signing keys from a stale establishment event needed to sign non-establishment events, such as an interaction event. This is denoted as a non-establishment Dead-Attack. The second is a compromise of the stale pre-rotated keys from a stale establishment event needed to sign a subsequent establishment event, such as a rotation event. This is denoted as an establishment Dead-attack.

# Non-establishment Dead-attack

A successful non-establishment Dead-Attack first must compromise the set of signing keys for some past but stale interaction (non-establishment) event; second, create an alternate verifiable version of that stale interaction event; and third, propagate this alternate event to a given validator before the original event has had time to propagate to that validator or any other component the validator may access as First-Seen. This looks like what is commonly known as an [[24]] on a validator. To protect against such an attack, a controller MUST propagate the event sufficiently widely enough that the attacker cannot eclipse all components, such as Watchers, that the validator may consult. The more distant the stale event is in the past the more difficult it becomes to mount a successful eclipse attack because the event would have more time to be universally propagated to the full network of watchers. Otherwise, the Validator would have already First-seen the original event and the compromised event would be dropped i.e., cannot be accepted as First-seen by the Validator. Network propagation times are, at most, seconds and may be as little as milliseconds, which only opens a very short time window of how stale a stale event may be before it is sufficiently protected from any such eclipse attack. Should the event also be protected with a witness pool, then the attacker must compromise not only the stale signing keys but also a threshold satisficing number of witnesses protecting that event. This could make a non-establishment attack practically infeasible.

The one exception would be the case where the event’s key state has only a single signing key and a single prior pre-rotated key that has been repurposed as the single signing key, which the signing key has been compromised. In this case, the attacker could then attempt an establishment Dead-attack by creating a compromised state rotation event using the stale compromised signing key as a compromised rotation key in order to compromise the immediately prior establishment event. The attacker can then rotate in a set of witnesses under its control so that witness compromise is not needed. Notwithstanding this exploit, as the next paragraphs explain, the controller is still protected against an establishment Dead-attack as long as the original event has had time to propagate as First-seen to any component, such as a watcher the Validator chooses to consult.

# Establishment Dead-attack

A successful establishment Dead-attack must first compromise the set of current signing keys for some past stale rotation event, second, create an alternate verifiable version of that stale rotation event, and third, propagate this alternate event to a given validator before the original event has had time to propagate to that validator or any other component the validator may access as First-Seen. The pre-rotation’s pre-commitment to the next set of keys means that no other successful establishment Dead-Attack-based exploit is possible. A subsequent rotation event that was not signed with the pre-committed next keys from the prior rotation would not be verifiable. Unlike a non-establishment dead attack, the attacker could rotate in a set of witnesses under its control so that witness compromise is not needed, i.e., the witness pool provides no additional protection. One way to better protect against this exploit is to use partial rotation so that pre-rotated keys are not repurposed as singing keys for interaction events but are first-time, one-time, only-time exposed for signing a rotation. This minimizes the exposure of pre-rotated keys as signing keys and, therefore, minimizes the ability of an attacker to mount an establishment Dead-attack, which requires compromising rotation keys.

To elaborate, compromising a set of keys after the first use, given best practices for key storage and key signing, may be very difficult, but it is still possible. One way to minimize the potential of exploit is to only use rotation keys once using partial rotation. Nonetheless, sometime later, should an attack succeed in compromising a set of stale set of pre-rotated keys and thereby creating an alternate but verifiable event. This may be an eventuality for all non-quantum safe, stale signing and rotation keys.

In any case, a validator or other component may still be protected as long as the original version of the event has had time to propagate as First-Seen to that validator or other component (such as witness, watcher, juror, judge) that the validator may access. Therefore, in order to successfully detect duplicity and thereby be protected, any validator needs merely to compare any later copy of the event with any copy of the original event as propagated to any component it may consult. The attacker, therefore, must get ahead of the propagation of a past rotation event. A later surprise quantum attack provides no advantage in this case since the event has already propagated and is already First-seen. The compromised event would be detectable as duplicitous and dropped.

To restate, as already described above, this type of attack looks like what is commonly known as an [[24]] on a validator. To protect against such an attack, a controller MUST propagate the event sufficiently widely enough that the attacker cannot eclipse all components, such as Watchers, that the validator may consult. The more distant the stale event is in the past the more difficult it becomes to mount a successful eclipse attack because the event would have more time to be universally propagated to the full network of watchers. Otherwise, the Validator would have already First-seen the original event and the compromised event would be dropped i.e., cannot be accepted as First-seen by the Validator. Network propagation times are, at most, seconds and may be as little as milliseconds, which only opens a very short time window of how stale a stale event may be before it is sufficiently protected from any such eclipse attack.

To further elaborate, recall that the original version of the event is the one that first exposes the keys to potential compromise. This may only allow a very narrow window of time for an attacker to get ahead of that event’s propagation. In other words, in order for a Dead-Attack to be successful, it must completely avoid detection as duplicitous. To do this, it must either prevent the validator from gaining access to any original copy of the key event history, i.e., an eclipse attack or, equivalently, must first destroy all extant copies of the original key event history accessible to the validator, i.e., some type of deletion attack. This may be very difficult given a sufficiently widespread watcher network.

Moreover, a controller merely needs to receive confirmation via a signed receipt by a validator of its last rotation event to ensure that that validator is protected from future exploitation via deletion Dead Attack. In this case, the controller can replay back to the Validator the Validator’s non-reputable signed receipt to recover the Validator from a deletion attack. Likewise, if the controller itself keeps redundant copies of its events, then a deletion attack must completely delete every single copy, otherwise the deletion attack is detectable. A partial deletion attack will always be detectable.

To summarize, an alternate but verifiable version of a rotation event would be detectably inconsistent, i.e., duplicitous with the original version of the event stored in any copy of the original key event history (KEL/KERL). Consequently, any validator (or other component or entity) that has access to the original key event history is protected from harm due to a later successful compromise of the keys of any event already in that history i.e., any form of Dead-attack.

As a special case, to even better protect the initial keypairs in an inception event from a Dead-attack, a controller may coincidently create both the inception event and an immediately following rotation event and then emit them together as one. The initial (original incepting) keypairs may be discarded (including removing all traces from signing infrastructure) after creation but before emission of the coincident events, thereby minimizing the exposure to Dead Attack of these initial keypairs.

Establishment Dead-Attack

Figure: Establishment Dead-Attack

# Live-Attacks

There are two types of Live-Attacks. The first is a compromise of the current signing keys used to sign non-establishment events, such as an interaction event. This is denoted as a non-establishment Live-Attack. The second is a compromise of the current pre-rotated keys needed to sign a subsequent establishment event, such as a rotation event. This is denoted as an establishment Live-Attack.

# Non-establishment Live-attack

A successful non-establishment Live-Attack means that the attacker is able to verifiably sign and propagate a new interaction event. When the interaction event is also protected by a witness pool with a threshold, then the attacker must also compromise a threshold satisficing number of witnesses, or else the event is not verifiable by any validator. If the witness pool is setup to accept events when merely signed by the controller then the witness pool provides no additional protection from Live-attack. The witness pool merely provides reliable fault tolerant high availability. However, when the members of the witness pool are set up to only accept local (i.e., protected) sourced events from their controller using some unique (per-witness) secondary authentication mechanism, then merely compromising the signing keys is not enough. The attacker must also compromise a threshold satisficing number of unique secondary authentication factors of the witnesses. A combined primary set of multi-sig controller authentication factors and secondary multi-factor witness authentication factors can make a successful non-establishment Live-attack exploit practically infeasible. Notwithstanding this difficulty, even in the case where a successful non-establishment Live-attack succeeds, control over the identifier can be recovered using a recovery rotation. For more detail see the Annex [[spec-inform:INFO-annexB]] or Recovery and Reconciliation.

# Establishment Live-attack

A successful establishment Live-Attack means that the attacker somehow compromises the unexposed next (pre-rotated) set of keys from the latest rotation event before that event has been propagated. This means compromise must occur at or before the time of the first use of the keys to sign the establishment event itself. Such a compromise is extremely difficult and the primary reason for pre-rotation is to mitigate the possibility of an establishment Live-attack in the first place. In an establishment live attack, the witness pool provides no additional security because the compromised rotation event can rotate in new witnesses under the control of the attacker. One way to mitigate establishment Live-attack is to use a thresholded multi-sig set of pre-rotated keys.

Notwithstanding any mitigations, assuming a successful compromise of the pre-rotated keys, duplicity detection with or without witness protection may not protect against a resulting establishment live attack. This is because such a Live-attack would be able to create a new verifiable rotation event with next keys and new witnesses under the attacker’s control and propagate that event in advance of a new rotation event created by the original controller. Such a successful Live-attack exploit may effectively and irreversibly capture control of the identifier. Moreover, in the case of a successful Live-attack exploit, new rotation events from the original controller would appear as duplicitous to any validator or other component that already received the exploited rotation event and accepted it as the First-seen version of that event. Consequently, protection from establishment Live-attack exploits comes exclusively from the difficulty of compromising a set of pre-rotated keys before or at the time of their first use (exposure).

To elaborate, a successful live exploit must compromise the unexposed next set of private keys from the public-keys declared in the latest rotation. Assuming the private keys remain secret, a compromise must come either by brute force inversion of the one-way digest function protecting the public keys and then by brute force inversion of the one-way scalar multiplication function that generates the public key from the private keys or by a side-channel attack at the first-use of the private keys to sign the rotation event. By construction, no earlier signing side-channel attack is possible. This makes successful Live-attack exploits from such side-channel attacks extremely difficult.

Given the cryptographic strength of the key generation algorithm, a successful brute force live attack may be computationally infeasible. Hiding the unexposed next (pre-rotated) public keys behind cryptographic strength digests provides an additional layer of protection not merely from pre-quantum brute force attacks but also from surprise post-quantum brute force attacks. In this case, a brute force attack would first have to invert the post-quantum resistant one-way hashing function used to create the digest before it may attempt to invert the one-way public key generation algorithm. Moreover, as computation capability increases, the controller can merely rotate to correspondingly strong quantum-safe cryptographic one-way functions for key generation. This makes brute force live attack computationally infeasible indefinitely. For more detail see the Annex on Cryptographic Strength [[spec-inform:INFO-annexA]].

Establishment Live-Attack

Figure: Establishment Live-Attack

# Delegated Event Live-attacks

Notwithstanding the foregoing section, delegated events are provided with an additional layer of protection against and an additional means of recovery from establishment Live-attack exploits. As described previously, a delegated event is only valid if the validator finds an anchored delegation seal of the delegated establishment event in the delegator’s KEL. This means that notwithstanding a successful compromise of the Delegatee’s current set of pre-rotated keys, the attacker is not able to issue a valid compromised rotation event. The attacker must also issue a delegation seal of the compromised rotation event in the delegator’s KEL. This means the attacker must either induce the delegator to issue a seal or must also compromise the delegator’s signing keys. This provides an additional layer of protection from establishment Live-attack for delegated events.

Moreover, anytime the sealing (anchoring) event in the delegator’s KEL may be superseded by another event, then the delegator and Delegatee may execute a superseding recovery of an establishment event in the Delegatee’s KEL and thereby recover from the establishment Live-attack. This is not possible with an establishment Live-attack on a non-delegated event.

[[spec-inform:id=INFO-annexA]]

# Annex A

# Cryptographic strength and security

# Cryptographic strength

For crypto-systems with perfect-security, the critical design parameter is the number of bits of entropy needed to resist any practical brute force attack. In other words, when a large random or pseudo-random number from a cryptographic strength pseudo-random number generator (CSPRNG) CSPRNG expressed as a string of characters is used as a seed or private key to a cryptosystem with perfect-security, the critical design parameter is determined by the amount of random entropy in that string needed to withstand a brute force attack. Any subsequent cryptographic operations MUST preserve that minimum level of cryptographic strength. In information theory, [[10]] ITPS the entropy of a message or string of characters is measured in bits. Another way of saying this is that the degree of randomness of a string of characters can be measured by the number of bits of entropy in that string. Assuming conventional non-quantum computers, the convention wisdom is that, for systems with information-theoretic or perfect-security, the seed/key needs to have on the order of 128 bits (16 bytes, 32 hex characters) of entropy to practically withstand any brute force attack [[12]] [[11]]. A cryptographic quality random or pseudo-random number expressed as a string of characters will have essentially as many bits of entropy as the number of bits in the number. For other crypto-systems such as digital signatures that do not have perfect-security, the size of the seed/key may need to be much larger than 128 bits in order to maintain 128 bits of cryptographic strength.

An N-bit long base-2 random number has 2N different possible values. Given that no other information is available to an attacker with perfect-security, the attacker may need to try every possible value before finding the correct one. Thus, the number of attempts that the attacker would have to try maybe as much as 2N-1. Given available computing power, one can easily show that 128 bits is a large enough N to make brute force attack computationally infeasible.

The adversary may have access to supercomputers. Current supercomputers can perform on the order of one quadrillion operations per second. Individual CPU cores can only perform about 4 billion operations per second, but a supercomputer will parallelly employ many cores. A quadrillion is approximately 250 = 1,125,899,906,842,624. Suppose somehow an adversary had control over one million (220 = 1,048,576) supercomputers which could be employed in parallel when mounting a brute force attack. The adversary then could try 250 x 220 = 270 values per second (assuming very conservatively that each try took only one operation).

There are about 3600 * 24 * 365 = 313,536,000 = 2log2313536000=224.91 ~= 225 seconds in a year. Thus, this set of a million super computers could try 250+20+25 = 295 values per year. For a 128-bit random number this means that the adversary would need on the order of 2128-95 = 233 = 8,589,934,592 years to find the right value. This assumes that the value of breaking the cryptosystem is worth the expense of that much computing power. Consequently, a cryptosystem with perfect-security and 128 bits of cryptographic strength is computationally infeasible to break via brute force attack. [[/spec-norm]]

[[spec-inform:id=INFO-annexB]]

# Information theoretic security and perfect-security

The highest level of cryptographic security with respect to a cryptographic secret (seed, salt, or private key) is called information-theoretic security. A cryptosystem that has this level of security cannot be broken algorithmically even if the adversary has nearly unlimited computing power including quantum computing. It must be broken by brute force if at all. Brute force means that in order to guarantee success the adversary must search for every combination of key or seed. A special case of information-theoretic security is called perfect-security. Perfect-security means that the ciphertext provides no information about the key. There are two well-known cryptosystems that exhibit perfect-security. The first is a one-time-pad (OTP) or Vernum Cipher; the other is secret splitting, a type of secret sharing that uses the same technique as a one-time-pad.

# Post-Quantum Security

Post-quantum or quantum-safe cryptography deals with techniques that maintain their cryptographic strength despite attacks from quantum computers. Because it is currently assumed that practical quantum computers do not yet exist, post-quantum techniques are forward-looking to some future time when they do exist. A one-way function that is post-quantum secure will not be any less secure (resistant to inversion) in the event that practical quantum computers suddenly or unexpectedly become available. One class of post-quantum secure one-way functions are some cryptographic strength hashes. The analysis of D.J. Bernstein with regards the collision resistance of cryptographic one-way hashing functions concludes that quantum computation provides no advantage over non-quantum techniques. Consequently, one way to provide some degree of post-quantum security is to hide cryptographic material behind digests of that material created by such hashing functions. This directly applies to the public keys declared in the pre-rotations. Instead of a pre-rotation making a cryptographic pre-commitment to a public key, it makes a pre-commitment to a digest of that public key. The digest may be verified once the public key is disclosed (unhidden) in a later rotation operation. Because the digest is the output of a one-way hash function, the digest is uniquely strongly bound to the public key. When the unexposed public keys of a pre-rotation are hidden in a digest, the associated private keys are protected from a post-quantum brute force inversion attack on those public keys.

To elaborate, a post-quantum attack that may practically invert the one-way public key generation (ECC scalar multiplication) function using quantum computation must first invert the digest of the public key using non-quantum computation. Pre-quantum cryptographic strength is, therefore, not weakened post-quantum. A surprise quantum capability may no longer be a vulnerability. Strong one-way hash functions, such as 256-bit (32-byte) Blake2, Blake3, and SHA3, with 128-bits of pre-quantum strength, maintain that strength post-quantum. Furthermore, hiding the pre-rotation public keys does not impose any additional storage burden on the controller because the controller MUST always be able to reproduce or recover the associated private keys to sign the associated rotation operation. Hidden public keys may be compactly expressed as Base64 encoded qualified public keys digests (hidden) where the digest function is indicated in the derivation code.

# KERI Security Properties

Every operation in this protocol is expressed via cryptographically verifiable events. Successful exploitation, therefore, must attack and compromise the availability and/or consistency of events. Security analysis, therefore, is focused on characterizing the nature and timing of these attacks and how well the protocol preserves the availability and consistency of events when subject to attack. Therefore, these potential exploits are described in terms of these properties.

The first property concerns live versus dead event exploits. A live exploit involves attacks on current or recent events. Protection from live exploits is essential to maintaining operational security in the present. Protection from live exploits focuses on providing sufficient availability of current events as well as ensuring their consistency (non-duplicity). A dead exploit, in contrast, involves attacks on past events. Protection from dead exploits is primarily provided by duplicity detection (consistency). One verifiable copy of a KEL (KERL) is enough to detect duplicity in any other verifiable but inconsistent copy. Attacks on the availability of past events are relatively easily mitigated by archiving redundant copies. The eventuality of dead exploits of compromised signing keys SHOULD be mitigated because digital signatures may become less secure as computing and cryptographic technology advance over time (quantum or otherwise). Eventually, their keys may become compromised via a direct attack on their cryptographic scheme.

The second property is a direct versus indirect operational mode exploit. The protocol may operate in two basic modes, called direct and indirect. The availability and consistency of attack surfaces are different for the two modes, and hence, the mitigation properties of the protocol are likewise mode-specific.

The third property is a malicious third party versus a malicious controller exploit. In the former, the attack comes from an external malicious attacker, but the controller is honest. In the latter, the controller may also be malicious and, in some ways, may be indistinguishable from a successful malicious third party. The incentive structure for the two exploit types is somewhat different, and this affects the mitigation properties of the protocol. It is helpful in both the design and analysis of protection to consider these two kinds of attacks separately.

The main participants in the protocol are controllers and validators. The other participants, such as witnesses, watchers, jurors, judges, and resolvers, provide support to and may be under the control of either or both of the two main participants.

The analysis of protection against an attack can be further decomposed into three properties of each protection mechanism with respect to an attack: susceptibility to being attacked, vulnerability to harmfulness given an attack, and recoverability given a harmful attack. Security design involves making trade-offs between these three properties of protection mechanisms. Harm from a successful exploit may arise in either or both of the following two cases:

  • A controller may suffer harm due to the loss or encumberment of some or all of its control authority such that the malicious entity may produce consistent, verifiable events contrary to the desires of the controller and/or impede the ability of the controller to promulgate new key events.
  • A validator may suffer harm due to its acceptance of inconsistent verifiable events produced by a malicious entity (controller and/or third party).

Protection consists of either prevention or mitigation of both of the harm cases. The primary protection mechanisms for the controller include best practice key management techniques for maintaining root control authority, redundant confirmation of events by supporting components, and duplicity detection on the behavior of designated supporting components. The primary protection mechanism for the validator is duplicity detection on the behavior of supporting components.

# Validation

# Verifier

A verifier is an entity or component that cryptographically verifies an event message’s structure and its signature(s). Structure verification includes verifying the event’s said, the appearance of fields, and prior event digests. In order to verify signatures, a verifier MUST first determine which set of keys are or were the controlling set for the AID of that event when the event was issued. In other words, a verifier MUST also establish the control authority for the event at issuance. This control establishment requires a copy of the inception event for identifiers that are declared as non-transferable at inception. For identifiers that are declared transferable at inception, this control establishment requires a complete copy of the sequence of key operation events (inception and all rotations) for the identifier up to and including the issued event. Signature verification includes verifying signatures from both current signing and exposed prior rotation (if any) public keys for the event. This includes verifying threshold satisfaction for both current and prior rotation thresholds. Without loss of generality, any reference to the verification of an event or verification of an event’s signatures refers to the complete process described above.

# Validator

In contrast, a validator is an entity or component that determines that a given signed event associated with an AID was valid at the time of its issuance. Validation first requires that the event itself is verifiable; that is, it has verifiable structure and signatures from the current controlling key pairs at the time of its issuance. Therefore, a validator MUST first act as a verifier in order to establish the root authoritative set of keys and verify the associated signatures. Once verified, the validator may apply other criteria or constraints to the event in order to determine its validity. This may include witnessing and delegation validation. The final result of validation may be acceptance of the event into the associated KEL. The location of an event in its key event sequence is determined by its sequence number, sn. The version of an event at a given location in the key event sequence is different or inconsistent with some other event at the same location if any of its content differs or is inconsistent with that other event.

# Duplicity

A duplicitous event is defined as a verified but different version of an event at the same location. The possession of a KEL for any AID enables duplicity detection by a validator for any set of events with respect to that KEL. Indeed, this property of KERI enables duplicity evident processing of events. This forms a basis for evaluating trust in the controller of an AID. A validator can decide to trust or not based on the evidence or lack thereof of duplicity. A validator may choose to trust when there is no evidence of duplicity. A validator SHOULD choose not to trust when there is evidence of duplicity. In some cases, the controller may perform a recovery operation that enables a validator to reconcile that duplicity and allow the validator to once again trust the controller.

# Event Types and Classes

In validation, in addition to the version, the type and/or class of event may matter. There are five types of events, inception, icp, rotation, rot, interaction, ixn, delegated inception dip, and delegated rotation, drt.

There are two main classes of events these are:

  • establishment consisting of the types inception, rotation, delegated inception, and delegated rotation.
  • non-establishment consisting of the type, interaction.

There is one sub-class, delegated establishment, which consists of the types of delegated inception and delegated rotation.

# Validator Roles and Event Locality

Each controller MUST accept its own events into its own copy of its KEL. In this sense, every controller MUST also be a validator for its own AID. Controllers, as validators, play different roles for different types and classes of events. The validation logic for acceptance of an event into a given controller’s KEL depends on the role that the controller plays for that type or class of event.

The possible roles that a given validator may play for any given event are as follows: controller, witness, delegator, Delegatee, or none of the above. For the sake of clarity, validators that act in different roles with respect to a given event are called the parties to the event. When the context makes it clear, a party that is not one of a controller, witness, delegator, or Delegatee is called simply a validator. Otherwise, the role of the validator is qualified and can be expressed by the roles of controller, witness, validator, delegator, and Delegatee. A party may be referred to as a validator when it does not matter what role a party plays. To clarify, all the parties perform validation, but the validation rules are different for each role. A given controller may also act as a delegator or Delegatee for a given event. A given event for an AID may both delegate other AIDs and be delegated by yet other AIDs. An event is processed differently by each party depending on its respective role or roles.

Events are also processed as either local (protected, trustable) or nonlocal, i.e., remote (unprotected, untrustable). The validator of a local event may assume that the event came from a protected, trustable source, such as the device upon which the validation code is running or from a protected transmission path from some trustable source. The validator of a remote (nonlocal) event MUST assume that the event may have come from a malicious, untrustable source. To elaborate, an event is deemed local when the event is sourced locally on a device under the supervision of the validator or was received via some protected channel using some form of MFA (multi-factor authentication) that the validator trusts. An event is deemed remote (nonlocal) when it is received in an unprotected (untrustable) manner. The purpose of local versus remote is to enable increased security when processing local events where a threshold structure may be imposed, such as a threshold of accountable duplicity for a witness pool.

To elaborate, a witness pool may act as a threshold structure for enhanced security when each witness only accepts local events that are protected by a unique authentication factor in addition to the controller’s signatures on the event, thereby making the set of controller signature(s) the primary factor and the set of unique witness authentication factors a secondary thresholded multifactor. In this case, an attacker would have to compromise not merely the controller’s set of private key(s) but also the unique second factor on each of a threshold number of witnesses.

Likewise, a delegator may act as a threshold structure for enhanced security when the delegator only accepts local events for delegation that are protected by a unique authentication factor, thereby making the set of controller signature(s) the primary factor, the set of unique witness authentication factors a secondary thresholded multifactor and the delegator’s unique authentication factor as a tertiary factor. An attacker, therefore, has to compromise not merely the controller’s private key(s) as the primary factor but also the unique secondary factor on each of a threshold number of witnesses and the unique tertiary factor for the delegator. This layered set of multifactor authentication mechanisms can make exploit practically infeasible.

# Validation Rules

The validation rules are as follows:

  • Given a local event, the event’s controller (non-Delegatee) can sign and accept that event into its copy of that event’s KEL. The controller SHOULD then propagate that event with attached controller signatures to the event’s witnesses for receipting. Given a remote event, the event’s controller (non-Delegatee) SHOULD NOT sign or otherwise accept that event into its copy of that event’s KEL. The controller SHOULD NOT propagate that event to the event’s witnesses for receipting.

  • Given a local event, the event’s witness MUST first verify the event’s controller signatures before it can sign (witness) and accept that event into its copy of that event’s KEL. The witness then SHOULD create a receipt of the event with the attached controller and witness signatures and can then propagate that event to other validators. Given a remote event, the event’s witness SHOULD NOT sign or otherwise accept that event into its copy of that event’s KEL. The witness SHOULD NOT propagate that event to other validators including witnesses.

  • Given a local delegated event, the event’s Delegatee can sign and accept that event into its copy of that event’s KEL. The Delegatee then SHOULD propagate that event with attached signatures to the event’s witnesses for receipting. The Delegatee also SHOULD propagate that event with attached controller signatures and attached witness signatures (if witnessed) to the event’s delegator for approval via an anchored seal. Given a remote event, the event’s Delegatee SHOULD NOT sign or otherwise accept that event into its copy of that event’s KEL. The Delegatee SHOULD NOT propagate that event to the event’s witnesses for receipting or to the event’s delegator for approval.

  • Given a local delegated event, the event’s delegator MUST first verify the event’s Delegatee signatures and witness signatures (if witnessed) before it can accept that event into its copy of that event’s KEL. The delegator can then decide to approve that event by sealing (anchoring the event’s seal) the event in the delegator’s own KEL. Since the Delegator sealed the event, the delegator then can propagate a receipt of the sealing (anchoring) event to the event’s Delegatee and to the event’s witnesses (if any). Given a remote delegated event, the event’s delegator SHOULD NOT approve (seal) or otherwise accept that event into its copy of that event’s KEL. A malicious attacker that compromises the pre-rotated keys of the Delegatee may issue a malicious but verifiable rotation that changes its witness pool in order to bypass the local security logic of the witness pool. The approval logic of the delegator SHOULD NOT automatically approve a delegable rotation event unless that event’s change to the witness pool is below the witness pool’s prior threshold.

  • Given a local or remote event, a non-controller, non-witness, non-delegator validator MUST first verify the event’s controller signatures, witness signatures (if witnessed), and delegator anchoring seal (if delegated) before it can accept that event into its copy of that event’s KEL.

  • Given either a local or remote receipt any validator MUST first verify the witness signatures or delegator seals attached to that receipt and then can attach those signatures or seals to its copy of the event.

# Superseding Recovery and Reconciliation

# First Seen Policy

Once a given version of an event at a location has been accepted, it is considered “first seen” for that KEL. Once an event has been first seen, it is always seen and can’t be unseen. This rule is succinctly expressed as “first seen, always seen, never unseen.” This first-seen property enables duplicity detection of different versions of an event. Although an event can never be unseen, in some special cases, it may be superseded by a different version of an event at the same location. Although never explicitly represented in an event message itself, each event belonging to a KEL is also assigned a strictly monotonically increasing integer ordinal called the first-seen number, fn, which is stored alongside the event in the KEL database. This allows any copy of a KEL to keep track of the ordering of when each event was first-seen independent of the event’s location given by its sequence number, sn. Different copies of a KEL may have different first-seen numbers, fn for given versions of events at a location, sn, but consistent copies of the KEL will have the same version of the event at every location. Events that are superseded are essentially forked. A KEL is essentially a directed acyclic graph (DAG) of events. When an event is superseded, a branch in the DAG is created. There may be only one undisputed path through the DAG called the trunk. All the superseded branches are considered disputed.

# Reconciliation

Reconciliation is the process of determining the undisputed path, i.e., the trunk. If every validator of a KEL cannot universally find the same undisputed path (trunk) through a KEL, then the KEL is irreconcilable. Reconciliation happens by applying the superseding validation acceptance (reconciliation) rules to different versions of events that are received for the same location in a KEL. Superseding events provide a universal reconciliation process to enable recovery from key compromises where such key compromises resulted in the first acceptance of compromised events into a KEL. Recovery happens with superseding rotation events that both rotate out the compromised keys and dispute the events signed by those compromised keys. Because events are signed nonrepudiably, any key compromise is still the responsibility of the controller. That controller still may be held accountable for any harm that resulted from the compromise. However, recovery enables the KEL to be repaired so that future validators of the KEL will not see the compromised events after recovery. The events will only be seen by the validators who first saw the events before recovery.

The superseding validation acceptance rules for events at a given location may involve some combination of the location, version, type, and class of the event as well as the role of the validator, such as controller, witness, delegator, Delegatee, or none of the above.

# Superseding Recovery

To supersede an event means that after an event has already been accepted as first seen into a KEL, a different event at the same location (same sequence number) is accepted that supersedes that pre-existing event. The new event becomes part of the trunk (undisputed path), and the old event is the first event in a fork (branch) that includes all the subsequent events to the superseded event. This enables the recovery over the control of a KEl despite events signed by compromised keys. The result of superseded recovery is that the KEL is forked at the sn (location) of the superseding event. The compromised events are shunted to the disputed branch, and new events to the KEL are attached to the new end of the trunk formed by the superseding event. To clarify, all events in the superseded branch of the fork still exist but, by virtue of being superseded, are disputed. The set of superseding events in the superseding fork forms the authoritative branch of the KEL, i.e., its trunk or undisputed path. All the already-seen but superseded events in the superseded fork still remain in the KEL. These superceded events may be viewed or replayed in order of their original acceptance because the database stores all accepted events in order of acceptance and denotes this order using the first seen ordinal number, fn. The fn is not the same as the sn (sequence number). Each event accepted into a KEL has a unique fn but multiple events due to recovery forks may share the same sn. Events with the same sn in different copies of the same KEL may have different fns because the events may have been first seen or accepted into that KEL in a different order. Notably, an event that may not supersede, according to the rules below, another event at the same location cannot be first seen at all by that KEL. This effectively protects the KEL from later compromise for any downstream recipients of that KEL.

# Superseding Rules for Recovery at a given location, SN (sequence number).

A.

A0. Any rotation event may supersede an interaction event at the same sn where that interaction event is not before any other rotation event.

A1. A non-delegated rotation may not supersede another rotation.

A2. An interaction event may not supersede any event.

B. A delegated rotation may supersede the latest-seen delegated rotation at the same sn under either of the following conditions:

B1. The superseding rotation’s delegating event is later than the superseded rotation’s delegating event in the delegator’s KEL, i.e., the sn of the superseding event’s delegation is higher than the sn of the superseded event’s delegation.

B2. The superseding rotation’s delegating event is the exact same delegating event as the superseded rotation’s delegating event in the delegator’s KEL, and the anchoring seal of the superseding rotation’s delegated event appears later in the seal list than the anchoring seal of the superseded rotation’s delegated event. i.e., both superseded and superseding event delegations appear in the same delegating event, and the anchoring seal of the superseding rotation’s event appears later in the seal list than the anchoring event seal of the superseded rotation’s event.

B3. The sn of the superseding rotation’s delegating event is the same as the sn of the superseded rotation’s delegating event in the delegator’s KEL, and the superseding rotation’s delegating event is a rotation, and the superseded rotation’s delegating event is an interaction, i.e., the superseding rotation’s delegating event is itself a superseding rotation of the superseded rotation’s delegating interaction event in its delegator’s KEL.

C. IF neither A. nor B. is satisfied, then recursively apply rules A. and B. to the delegating events of those delegating events and so on until either A. or B. is satisfied, or the root KEL of the delegation which MUST be undelegated has been reached.

C1. IF neither A. nor B. is satisfied by the recursive application of C. to each delegator’s KEL in turn, i.e., the root KEL of the delegation has been reached without satisfaction, then the superseding rotation is discarded. The terminal case of the recursive application of C. will occur at the root KEL, which by definition MUST be non-delegated therefore either A. or B. MUST be satisfied, or else the superseding rotation MUST be discarded.

The latest-seen delegated rotation constraint in B. means that any earlier delegated rotations can NOT be superseded. This greatly simplifies the validation logic and avoids a potentially infinite regress of forks in the delegated identifier’s KEL. However, this means recovery can happen for any compromise of pre-rotated keys, only the latest-seen. In order to unrecoverably capture control of a delegated identifier, the attacker MUST issue a delegated rotation that rotates to keys under the control of the attacker that the delegator MUST approve and then issue and get approved by the delegator another rotation that follows but does not supersede the compromising rotation. At that point, recovery is no longer possible because the delegate would no longer control the private pre-rotated keys needed to sign a recovery rotation as the latest-seen rotation verifiably. Recovery is possible after the first compromised rotation by superseding it but not after the subsequent compromised rotation.

A rotation event at the same location may supersede an interaction. This enables recovery of live exploit of the exposed current set of authoritative keys used to sign non-establishment events via a rotation establishment event to the unexposed next set of authoritative keys. The recovery process forks off a disputed branch from the recovered trunk. This disputed branch has the compromised events, and the main trunk has the recovered events.

# KERI’s Algorithm for Witness Agreement (KAWA)

# Introduction

A controller may provide a highly available promulgation service for its events via a set or pool of N designated witnesses. This witness pool may also provide enhanced security for the controller over its events. Even though the witnesses are explicitly designated by the controller, they may or may not be under the control of the controller. The designation is a cryptographic commitment to the witnesses via a verifiable statement included in an establishment event. The purpose of the witness set is to better protect the service from faults including Byzantine faults. Thus, the service employs a type of Byzantine Fault Tolerant (BFT) algorithm called KERI’s Algorithm for Witness Agreement (KAWA). The primary purpose of KAWA is to protect the controller’s ability to promulgate the authoritative copy of its key event history despite external attacks. This includes maintaining a sufficient degree of availability such that any validator may obtain an authoritative copy on demand.

The critical insight is that because the controller is the sole source of truth for the creation of any and all key events, it alone, is sufficient to order its own key events. Indeed, a key event history does not need to provide double spend proofing of an account balance, merely consistency. Key events, by and large, are idempotent authorization operations as opposed to non-idempotent account balance decrement or increment operations. Total or global ordering may be critical for non-idempotency, whereas local ordering may be sufficient for idempotency, especially to merely prove the consistency of those operations. The implication of these insights is that fault tolerance may be provided with a single-phase agreement by the set of witnesses instead of a much more complex multi-phase commit among a pool of replicants or other total ordering agreement process as is used by popular BFT algorithms. Indeed, the security guarantees from KAWA may approach that of other BFT algorithms but without their scalability, cost, throughput, or latency limitations. If those other algorithms may be deemed sufficiently secure, then so may be KAWA. Moreover, because the controller is the sole source of truth for key events, a validator may hold that controller (whether trusted or not) accountable for those key events. As a result, the algorithm is designed to enable a controller to provide itself with any degree of protection it deems necessary given this accountability.

# Advantages

The reliance on a designated set of witnesses provides several advantages. The first is that the identifier’s trust basis is not locked to any given witness or set of witnesses but may be transferred at the controller’s choosing. This provides portability. The second is that the number and composition of witnesses is also at the controller’s choosing. The controller may change this in order to make trade-offs between performance, scalability, and security. This provides flexibility and adaptability. Thirdly, the witnesses need not provide much more than verification and logging. This means that even highly cost or performance constrained applications may take advantage of this approach.

Likewise, given any guarantees of accountability the controller may declare, a validator may provide itself with any degree of protection it deems necessary by designating a set of observers (watchers, jurors, and judges). Specifically, a validator may be protected by maintaining a copy of the key event history as first seen (received) by the validator or any other component trusted by the validator (watcher, juror, judge). This copy may be used to detect any alternate inconsistent (duplicitous) copies of the key event history. The validator then may choose how to best respond in the event of a detected duplicitous copy to protect itself from harm. A special case is a malicious controller that intentionally produces alternate key event histories. Importantly, observer components that maintain copies of the key event history such as watchers, jurors, and judges, may be under the control of validators not controllers. As a result, a malicious alternate (duplicitous) event history may be eminently detectable by any validator. This is called ambient duplicity detection (which stems from ambient verifiability). In this case, a validator may still be protected because it may still hold such a malicious controller accountable given a duplicitous copy (trust or not trust). It is at the validator’s discretion whether or not to treat its original copy as the authoritative one with respect to any other copy and thereby continue trusting or not that original copy. A malicious controller may not therefore substitute later with impunity any alternate copy it may produce. Furthermore, as discussed above, a malicious controller that creates an alternative event history imperils any value it may wish to preserve in the associated identifier. The alternative event history is potentially completely self-destructive with respect to the identifier. A malicious controller producing a detectably duplicitous event history is tantamount to a detectable total exploit of its authoritative keys and the keys of its witness set. This is analogous to a total but detectable exploit of any BFT ledger such as a detectable 51% attack on a proof-of-work ledger. A detectable total exploit destroys any value in that ledger after the point of exploit.

To restate, a controller may designate its witness set in such a way as to provide any arbitrary degree of protection from external exploit. Nonetheless in the event of such an exploit a validator may choose either to hold that controller accountable as duplicitous and therefore stop trusting the identifier or to treat the validator’s copy of the key event history as authoritative (ignoring the exploited copy) and therefore continue trusting the identifier. This dependence on the validator’s choice in the event of detected duplicity both imperils any potential malicious controller and protects the validator.

KERI’s KAWA or the algorithm is run by the controller of an identifier in concert with a set of N witnesses designated by the controller to provide as a service the key event history of that identifier via a KERL in a highly available and fault-tolerant manner. One motivation for using key event logs is that the operation of redundant immutable (deletion proof) event logs may be parallelizable and hence highly scalable. A KERL is an immutable event log that is made deletion proof by virtue of it being provided by the set of witnesses of which only a subset of F witnesses may at any time be faulty. In addition to designating the witness set, the controller also designates a threshold number, M, of witnesses for accountability. To clarify, the controller accepts accountability for an event when any subset M of the N witnesses confirms that event. The threshold M indicates the minimum number of confirming witnesses the controller deems sufficient given some number F of potentially faulty witnesses. The objective of the service is to provide a verifiable KERL to any validator on demand. Unlike direct mode where a validator may be viewed as an implicit witness, with indirect mode, a validator may not be one of the N explicitly designated witnesses that provide the service.

# Witness Designation

The controller designates both the witness tally number and the initial set of witnesses in the inception event configuration. The purpose of the tally is to provide a threshold of accountability for the number of witnesses confirming an event. Subsequent rotation operations may amend the set of witnesses and change the tally number. This enables the controller to replace faulty witnesses and/or change the threshold of accountability of the witness set. When a rotation amends the witnesses it includes the new tally, the set of pruned (removed) witnesses and the set of newly grafted (added) witnesses.

# Witnessing Policy

In this approach, the controller of a given identifier creates and disseminates associated key event messages to the set of N witnesses. Each witness verifies the signatures, content, and consistency of each key event it receives. When a verified key event is also the first seen version of that event the witness has received, then it witnesses that event by signing the event message to create a receipt, storing the receipt in its log (KERL), and returning the receipt as an acknowledgment to the controller. Depending on its dissemination policy, a witness may also send its receipt to other witnesses. This might be with a broadcast or gossip protocol or not at all.

In general, the witnessing policy is that the first seen version of an event always wins; that is, the first verified version is witnessed (signed, stored, acknowledged, and maybe disseminated), and all other versions are discarded. The exception to this general rule is that a rotation event may provide a superseding recovery. The recovery process may fork off a branch from the recovered trunk. This disputed branch has the disputed exploited events, and the main trunk has the recovered events. The operational mode and the threshold of accountable duplicity determine which events in the disputed branch are accountable to the controller.

Later messages or receipts from other witnesses may not change any existing entry in the log (the log is append-only, i.e., immutable) unless they are correctly reconcilable superseding events. Each witness also adds to its log any verified signatures from consistent receipts it receives from other witnesses. A consistent receipt is a receipt for the same version of the event already in its log at a location. Excepting superseding recovery, inconsistent receipts, i.e., for different event versions at the same location, are discarded (not kept in the log). However, as an option, a controller may choose to run a juror (in concert with a witness) that keeps a duplicitous event log (DEL) of the inconsistent or duplicitous receipts that a witness receives. To clarify, a witness’ KERL is by construction, an immutable log. This log includes the events with attached verified signatures, which are the receipts from the controller, the witness, and other witnesses.

Initial dissemination of receipts to the N witnesses by the controller may be implemented extremely efficiently with respect to network bandwidth using a round-robin protocol of exchanges between the controller and each of the witnesses in turn. Each time the controller connects to a witness to send new events and collect the new event receipts, the Controller also sends the receipts it has received so far from other witnesses. This round-robin protocol may require the controller to perform at most two passes through the entire set of witnesses in order to fully disseminate a receipt from each witness to every other witness for a given event. This means that at most 2·N acknowledged exchanges are needed for each event to create a fully witnessed KERL at every witness and controller. Network load, therefore, scales linearly with the number of witnesses.

When network bandwidth is less constrained, a gossip protocol might provide full dissemination with lower latency than a round-robin protocol but with higher bandwidth usage. Gossip protocols scale with N · log(N) (where N is the number of witnesses) instead of 2·N. A directed acyclic graph or other data structure can be used to determine what needs to be gossiped.

# Immunity and Availability

It can be shown that for any set of N witnesses, there is a threshold M < N that guarantees that at most one sufficient agreement occurs or none at all, despite a dishonest controller — but where at most F* = N-M of the witnesses are potentially unavailable and at most F < M is duplicitous. This guarantee means that the agreement is deemed immune (from failure due to faulty F or F*). A Controller MAY choose to use the KAWA algorthm to achieve immunity.

Given the immune constraint is satisfied, the service may not produce multiple divergent but proper KERL. In order to be deemed proper, an agreement must have been verified as consistent with all prior events by every non-faulty witness who is a party to that agreement. Thus, any user of the service, be it a validator, watcher, juror, or judge, will be able to obtain either a proper event agreement on demand from some witness or none at all. Any non-faulty witness with a proper agreement will keep that agreement in its KERL and provide it on demand. Consequently, the availability of a proper event at a witness is tantamount to the availability of a proper log (KERL) of all prior events consistent with that event at that witness, and thereby, high availability of the service is assured.

# Security Properties

The continuing promulgation of key events assumes a sufficiently responsive controller. Lack of responsiveness is primarily a threat to the controller, not a validator. Consequently, providing sufficient controller responsiveness is the controller’s responsibility, not of KAWA. In contrast, a responsive but dishonest (or compromised) controller may pose a live threat to a validator with respect to new events never before seen by the validator. The validation process MUST provide means for the validator to protect itself from such threats. When the controller is responsive but dishonest, the Controller may create inconsistent versions of an event that are first seen by different subsets of its witnesses. In the case where only F of the witnesses is faulty despite a dishonest controller, the validator may protect itself by requiring a large enough sufficient agreement or threshold of accountable duplicity, M, that guarantees that either only one satisfying agreement or none at all, e.g., makes the service immune. To restate, the validator may select its M to ensure that the service is immune such that the service will either provide one and only one KERL or none at all. This protects the validator.

A greater threat to a validator may be that of a dishonest controller that may collude with its witnesses to promulgate alternative (divergent) event version agreements, each with sufficient agreement. But this would violate the assumption of at most F faulty witnesses. In this case, the witness consensus process, i.e., the KAWA algorithm, may not protect the validator. Protection MUST come from some other process under the validator’s control. In this case, a validator may protect itself with duplicity detection via a set of observers (validators, watchers, jurors, judges). In such a case, in order to undetectably promulgate alternate but sufficiently accountable event version agreements, a dishonest controller with dishonest witnesses MUST prevent any validator from communicating with any other observer who may have seen any alternate event version agreement. This attack may be made practically unfeasible given a large and diverse enough set of observers. Indeed, once duplicity is detected, that identifier loses all its value to any detecting validator. This imperils any dishonest controller who attempts such an attack.

The final threat is the threat of dead exploit where, sometime in the future, the exposed key pairs used to sign past events in a KERL may be compromised. The compromised keys may then be used to create an alternate or divergent verifiable event history. Recall, however, that a proper KERL enables validation of the controlling keys of the associated identifier over the time frame of the events in the log. Once produced, a proper KERL may be provided by any observer (validator, watcher, juror, or judge) that has retained a copy of it not merely the witnesses. Subsequent compromise of a controller’s keys and a compromise of witnesses may not invalidate any of the events in a pre-existent proper KERL.

Therefore, in order to fool a validator into accepting an erroneous or compromised divergent key event history, a successful exploiter must forge a proper KERL but with a different sequence of key events. To do this the exploiter must not only exploit the controller’s signing keys that were authoritative at some event but also exploit M of the N designated witnesses at that event as well. The exploiter must also prevent that validator from accessing any other but alternate proper KERL from any other observer (validator, watcher, juror, judger) that may have a copy as a check against such an attack. The combination of these tasks makes such an exploit extremely difficult to achieve.

Consequently, even in the extreme case that sometime in the future, a complete and total dead exploit of the controller keys and at least M of the witnesses occurs such that they forge a seemingly proper but divergent KERL, any prior copy of a proper KERL will enable detection and proof of accountable duplicity of that dead exploit. In this case, the validator may choose to use the prior copy from some set of jurors it trusts to determine which of the divergent KERLs is authoritative. This is similar to how certificate transparency works. In order for such a dead attack to succeed, the attacker must prevent a targeted validator from accessing any other copies of an alternate KERL.

The idea of ambient verifiability mentioned above comes from the fact that the original KERL may be distributed among any number of watchers from whom a validator may obtain a copy. At some point, the degree of accessibility to an original copy becomes essentially ubiquitous, at which point verifiability may be considered ambient. Given ambient verifiability, then, duplicity detection becomes likewise ambient.

To elaborate, a successful dead attack requires the isolation of a validator from ambient sources of the KERL. In general, isolation from ambient sources may be prohibitively expensive. Consequently, ambient verifiability provides asymmetry between the attacker and the defender in favor of the defender. Indeed, the end goal of KERI is to achieve ambient security in the sense that nearly anyone, anywhere, at any time, can become a verifiable controller of a verifiable identity that is protected by ambient verifiability and hence duplicity detection of the associated KERL.

Furthermore, any mutual interaction events between a validator and controller may provide proof of priority. In a mutual interaction, the validator includes a copy or digest of an interaction event sourced by the controller in an event sourced by the validator. A total compromise of the controller and all witnesses would not be able to forge the validator’s signature on the mutual interaction event. Thus, the existence of any mutual interaction events may then be used to prove priority even in the extremely unlikely case of a complete and total dead exploit of a controller and all of its witnesses.

Alternatively, in the case of a complete and total dead exploit, the validator and controller may jointly agree to use some other, more formal mechanism to resolve the priority of divergent KERLs. This may be the median of the astronomical time of the original reception of a receipt by a mutually trusted set of observers. This may be through the use of anchor transactions on a distributed consensus ledger. This later approach would only require minimal use of a distributed consensus ledger in order to resolve the most extreme and unlikely case of total dead exploit.

Finally, however unlikely, subsequent improvements in cryptographic attack mechanisms such as quantum computing may enable, at some future time, complete compromise of all exposed key pairs. One solution would be for the market to operate a trusted set of jurors that archive KERLs just in case of some such future total compromise. These trusted jurors may secure their archives with post-quantum cryptography. Thus, any post-quantum attack may be detectable merely by appeal to one or more of these archives.

# Native CESR Encodings of KERI Messages

A native CESR encoding of the field map of a KERI message body is represented using pure CESR instead of JSON, CBOR, or MGPK. Because the top-level fields in every KERI message body are fixed and each value in CESR is self-describing and self-framing, there is no need to provide labels at the top level, only the field values in a fixed order. In the following tables, for comparison and clarity, the first column provides the equivalent field label as would be used in JSON, CBOR, or MGPK; the second column provides the field value format; and the third column a short description. For field values that are primitives, an example primitive may be provided as the value. To restate, no top-level labels appear in an actual serialized native CESR message body, just the concatenated field values either as primitives or groups of primitives with the appropriate prepended CESR group codes. The order of appearance of fields as values is strict.

Nested field maps may appear as values of top-level fields. For example, a seal may be expressed as a field map. In that case, the CESR count code for a generic field map is used.

Similarly, lists may appear as values of top-level fields. For example, the current signing keys are expressed as a key list. In that case, the CESR count code for a generic list is used.

# CESR Field Encodings

Some field values in KERI messages that include non-Base64 characters have custom CESR Text domain encodings (Base64). These encodings are more compact than the case given the direct conversion of a binary string with non-Base64 characters into Base64.

# DateTime

As described above, the datetime, dt field value, if any, MUST be the ISO-8601 datetime string with microseconds and UTC offset as per IETF RFC-3339. An example datetime string in this format is as follows:

2020-08-22T17:50:09.988921+00:00

Because this field value format employs non-Base64 characters, direct conversion to Base64 would increase the size of the value. Instead, the non-Base64 characters are converted to unique Base-64 characters using the following conversion table:

Non-Base64 Base64 Description
: c colon
. d dot
+ p plus

Using this conversion, the base CESR encoding of the DateTime example above becomes:

2020-08-22T17c50c09d988921p00c00

The CESR code for DateTime is prepended to this string to produce the fully qualified CESR encoding. This encodes the datetime compactly into Base64 without doing a direct Base64 conversion of a binary string.

# Threshold

As described above, the fractionally weighted threshold field value may be represented as a list of lists of fractional weights. Those fractional weights may be simple or complex. A complex fractional weight is a single-element field map whose key is a fractional weight and whose value is a list of fraction weights. When serialized in JSON, this field value format employs non-Base64 characters. An example fractionally weighted threshold in JSON is as follows:

[[{"1/2": ["1/2", "1/2", "1/2"]}, "1/2", {"1/2": ["1", "1"]}], ["1/2", {"1/2": ["1", "1"]}]]

Direct conversion to Base64 would increase the size of the value. Instead, the block delimited expressions of lists, [] and field maps, {:} are converted to infix operators in Base64. Likewise, the non-Base64 separators for fractions and list elements are converted to infix operators as separators in Base64. The precedence order of the infix operators enables round-trip conversion between the block-delimited non-Base64 expression and the infix Base64 expression. Noteworthy is that the infix operator expression does not allow recursive nesting. This is not a problem because only one layer of nesting is supported. The following table provides the infix operators in order of priority. Higher in the table is a higher priority.

Non-Base64 Operation Base64 Infix Operator Description
/ s slash
{:[,]} k key of map
{:[,]} v nested weight list element of map value
[,] c simple weight list element
[[],[]] a ANDed weight list ]

Using this infix conversion, the CESR encoding of the JSON fractionally weighted threshold example above becomes:

1s2k1s2v1s2v1s2c1s2c1s2k1v1a1s21s2k1v1

Because thresholds are variable length, the appropriate fully qualified CESR code for Base64 only variable-length strings is prepended to the threshold. This encodes the threshold compactly into Base64 without doing a direct Base64 conversion of a binary string.

# Route or Return Route

As described above, the value of a Route or Return Route field is a slash, / delimited path. Because the slash, /, is a non-Base64 character, direct conversion of the route string as binary to Base64 would increase the size of the value. Instead, slashes, / may be converted to dashes, -. This conversion is only applicable to a route that does not otherwise have any dash, - characters, or non-Base64 characters besides the slash, /. In that case, the route MUST be converted as binary to Base64. An example route is as follows:

/ipex/offer

Converting the slashes to dashes gives:

-ipex-offer

In the case where a route may be converted to Base64 characters by merely subsituting dashes, - for slashes, / then a fully qualified CESR Text domain representation may be created by prepending the appropriate CESR code for variable length Base64 strings. This encodes the route compactly into Base64 without doing a direct Base64 conversion of a binary string. Otherwise, the route is treated as a variable-length binary string and is converted to Base64. In that case, the appropriate CESR code for variable-length binary strings is prepended to the converted route to provide the Text Domain encoding.

One caveat for Base64 encoded variable lengths strings is that the string MUST not start with the A character. This is because of a pre-padding ambiguity for variable length Base64 strings. The convention to prevent this is always starting the route with a slash, /, which is converted to a dash, -. Otherwise, the route MUST be treated as a variable-length binary string, which MUST be converted to Base64 for encoding in the Text domain.

# Key Event Messages

These have the packet types icp, rot, ixn, dip, drt

# Inception icp

Field order by label: v, t, d, i, s, kt, k, nt, n, bt, b, c, a.

Field Label Value Description
NA -F## or -0F##### Count code for CESR native top-level fixed field signable message
v Y&&&&### e.g., YKERIBAA Protocol Version primitive (KERI 2.00)
t X&&& e.g., icp Packet Type
d EBabiu_JCkE0GbiglDXNB5C4NQq-hiGgxhHKXBxkiojg SAID of event message
i EBabiu_JCkE0GbiglDXNB5C4NQq-hiGgxhHKXBxkiojg AID of controller of event message KEL
s M&&& e.g., MAAA Sequence Number of Event
kt M&&& e.g., MAAB Signing Threshold, either number or fractional weight qb64 variable length string (1)
k -I## or -I##### Count code for Signing Key List
0th element DN6WBhWqp6wC08no2iWhgFYTaUgrasnqz6llSvWQTWZN Public Key of signer 0
nt M&&& e.g., MAAB Rotation Threshold, either number or fractional weight qb64 variable length string (1)
n -I## or -I##### Count code for Rotation Key Digest List
0th element EDDOarj1lzr8pqG5a-SSnM2cc_3JgstRRjmzrrA_Bibg Digest of Public Key of rotator 0
bt M&&& e.g., MAAC Rotation Threshold, either number or fractional weight qb64 variable length string (2)
b -I## or -I##### Count code for Backer AID List
0th element BCuDiSPCTq-qBBFDHkhf1_kmysrH8KSsFvoaOSgEbx-X AID of backer 0
1th element BH8KSsFvoaOSgEbx-XCuDiSPCTq-qBBFDHkhf1_kmysr AID of backer 1
2th element BBBFDHkhf1_kmysrH8KSsFvoaOSgEbx-XCuDiSPCTq-q AID of backer 2
c -I## or -I##### Count code for Config Trait List
0th element XDND Config trait 0 DND
a -I## or -I##### Count code for Anchored Seal List
0th element -H## or -H##### Count code for field map of Seal 0
0.0th label 0J_& e.g., 0J_i Label of field 0 of Seal 0 i
0.0th value EC4NQq-hiGgxhHKXBxkiojgBabiu_JCkE0GbiglDXNB5 Value of field 0 of Seal 0 AID
0.1th label 0J_s Label of field 1 of Seal 0 s
0.1th value MAAC Value of field 1 of Seal 0 Sequence Number
0.2th label 0J_d Label of field 2 of Seal 0 d
0.2th value EiGgxhHKXBxkiojgBabiu_JCkE0GbiglDXNB5C4NQq-h Value of field 2 of Seal 0 SAID
1th element -R## or -R##### Count code for value of Seal 1 (event seal triple)
1.1th value EHKXBxkiojgBaC4NQq-hiGCkE0GbiglDXNB5gxhbiu_JMAADEBxkiojgiGgxhHKXBDXNB5C4NQq-habiu_JCkE0Gbigl Value of Seal 1 (event seal triple) pre+snu+dig
# Rotation rot

Field order by label: v, t, d, i, s, p, kt, k, nt, n, bt, br, ba, c, a.

Field Label Value Description
NA -F## or -0F##### Count code for CESR native top-level fixed field signable message
v YKERIBAA Protocol Version primitive (KERI 2.00)
t rot Packet Type
d EC4NQq-hiGgbiglDXNB5xhHKXBxkiojgBabiu_JCkE0G SAID of event message
i EBabiu_JCkE0GbiglDXNB5C4NQq-hiGgxhHKXBxkiojg AID of controller of event message KEL
s MAAB Sequence Number of Event
p EBabiu_JCkE0GbiglDXNB5C4NQq-hiGgxhHKXBxkiojg Prior event SAID
kt MAAB Signing Threshold, either number or fractional weight qb64 variable length string (1)
k -I## or -I##### Count code for Signing Key List
0th element DC08no2iWhgFYTaUgrasnqz6llSvWQTWZNN6WBhWqp6w Public Key of signer 0
nt MAAB Rotation Threshold, either number or fractional weight qb64 variable length string (1)
n -I## or -I##### Count code for Rotation Key Digest List
0th element EM2cc_3JgstRRjmzrrA_BibgDDOarj1lzr8pqG5a-SSn Digest of Public Key of rotator 0
bt MAAC Rotation Threshold, either number or fractional weight qb64 variable length string (2)
br -I## or -I##### Count code for Backer Remove (cuts) AID List
0th element BCuDiSPCTq-qBBFDHkhf1_kmysrH8KSsFvoaOSgEbx-X AID of backer cut 0
ba -I## or -I##### Count code for Backer Add (adds) AID List
0th element BDiSPCTq-qBBFDHkhf1_kmysrH8KSsFvoaOSgEbx-XCu AID of backer add 0
c -I## or -I##### Count code for Config Trait List
0th element XDND Config trait 0 DND
a -I## or -I##### Count code for Anchored Seal List
0th element -H## or -H##### Count code for field map of Seal 0
0.0th label 0J_i Label of field 0 of Seal 0 i
0.0th value EC4NQq-hiGgxhHKXBxkiojgBabiu_JCkE0GbiglDXNB5 Value of field 0 of Seal 0 AID
0.1th label 0J_s Label of field 1 of Seal 0 s
0.1th value MAAC Value of field 1 of Seal 0 Sequence Number
0.2th label 0J_d Label of field 2 of Seal 0 d
0.2th value EiGgxhHKXBxkiojgBabiu_JCkE0GbiglDXNB5C4NQq-h Value of field 2 of Seal 0 SAID
1th element -R## or -R##### Count code for value of Seal 1 (event seal triple)
1.1th value EHKXBxkiojgBaC4NQq-hiGCkE0GbiglDXNB5gxhbiu_JMAADEBxkiojgiGgxhHKXBDXNB5C4NQq-habiu_JCkE0Gbigl Value of Seal 1 (event seal triple) pre+snu+dig
# Interaction ixn

Field order by label: v, t, d, i, s, p, a.

Field Label Value Description
NA -F## or -0F##### Count code for CESR native top-level fixed field signable message
v YKERIBAA Protocol Version primitive (KERI 2.00)
t ixn Packet Type
d EGgbiglDXNE0GC4NQq-hiB5xhHKXBxkiojgBabiu_JCk SAID of event message
i EBabiu_JCkE0GbiglDXNB5C4NQq-hiGgxhHKXBxkiojg AID of controller of event message KEL
s MAAC Sequence Number of Event
p EC4NQq-hiGgbiglDXNB5xhHKXBxkiojgBabiu_JCkE0G Prior event SAID
a -I## or -I##### Count code for Anchored Seal List
0th element -H## or -H##### Count code for field map of Seal 0
0.0th label 0J_i Label of field 0 of Seal 0 i
0.0th value EC4NQq-hiGgxhHKXBxkiojgBabiu_JCkE0GbiglDXNB5 Value of field 0 of Seal 0 AID
0.1th label 0J_s Label of field 1 of Seal 0 s
0.1th value MAAC Value of field 1 of Seal 0 Sequence Number
0.2th label 0J_d Label of field 2 of Seal 0 d
0.2th value EiGgxhHKXBxkiojgBabiu_JCkE0GbiglDXNB5C4NQq-h Value of field 2 of Seal 0 SAID
1th element -R## or -R##### Count code for value of Seal 1 (event seal triple)
1.1th value EHKXBxkiojgBaC4NQq-hiGCkE0GbiglDXNB5gxhbiu_JMAADEBxkiojgiGgxhHKXBDXNB5C4NQq-habiu_JCkE0Gbigl Value of Seal 1 (event seal triple) pre+snu+dig
# Delegated Inception dip

Field order by label: v, t, d, i , s, kt, k, nt, n, bt, b, c, a, di.

Field Label Value Description
NA -F## or -0F##### Count code for CESR native op-level fixed field signable message
v YKERIBAA Protocol Version primitive (KERI 2.00)
t dip Packet Type
d EBabiu_JCkE0GbiglDXNB5C4NQq-hiGgxhHKXBxkiojg SAID of event message
i EBabiu_JCkE0GbiglDXNB5C4NQq-hiGgxhHKXBxkiojg AID of controller of event message KEL
s MAAA Sequence Number of Event
kt MAAB Signing Threshold, either number or fractional weight qb64 variable length string (1)
k -I## or -I##### Count code for Signing Key List
0th element DN6WBhWqp6wC08no2iWhgFYTaUgrasnqz6llSvWQTWZN Public Key of signer 0
nt MAAB Rotation Threshold, either number or fractional weight qb64 variable length string (1)
n -I## or -I##### Count code for Rotation Key Digest List
0th element EDDOarj1lzr8pqG5a-SSnM2cc_3JgstRRjmzrrA_Bibg Digest of Public Key of rotator 0
bt MAAC Rotation Threshold, either number or fractional weight qb64 variable length string (2)
b -I## or -I##### Count code for Backer AID List
0th element BCuDiSPCTq-qBBFDHkhf1_kmysrH8KSsFvoaOSgEbx-X AID of backer 0
1th element BH8KSsFvoaOSgEbx-XCuDiSPCTq-qBBFDHkhf1_kmysr AID of backer 1
2th element BBBFDHkhf1_kmysrH8KSsFvoaOSgEbx-XCuDiSPCTq-q AID of backer 2
c -I## or -I##### Count code for Config Trait List
0th element XDND Config trait 0 DND
a -I## or -I##### Count code for Anchored Seal List
0th element -H## or -H##### Count code for field map of Seal 0
0.0th label 0J_i Label of field 0 of Seal 0 i
0.0th value EC4NQq-hiGgxhHKXBxkiojgBabiu_JCkE0GbiglDXNB5 Value of field 0 of Seal 0 AID
0.1th label 0J_s Label of field 1 of Seal 0 s
0.1th value MAAC Value of field 1 of Seal 0 Sequence Number
0.2th label 0J_d Label of field 2 of Seal 0 d
0.2th value EiGgxhHKXBxkiojgBabiu_JCkE0GbiglDXNB5C4NQq-h Value of field 2 of Seal 0 SAID
1th element -R## or -R##### Count code for value of Seal 1 (event seal triple)
1.1th value EHKXBxkiojgBaC4NQq-hiGCkE0GbiglDXNB5gxhbiu_JMAADEBxkiojgiGgxhHKXBDXNB5C4NQq-habiu_JCkE0Gbigl Value of of Seal 1 (event seal triple) pre+snu+dig
di EFXNB5C4NQq-hiGgxhHKXBxkiojgabiu_JCkE0GbiglD AID of delegating controller
# Delegated Rotation drt

Field order by label: v, t, d, i, s, p, kt, k, nt, n, bt, br, ba, c, a, di.

Field Label Value Description
NA -F## or -0F##### Count code for CESR native top-level fixed field signable message
v YKERIBAA Protocol Version primitive (KERI 2.00)
t drt Packet Type
d EC4NQq-hiGgbiglDXNB5xhHKXBxkiojgBabiu_JCkE0G SAID of event message
i EBabiu_JCkE0GbiglDXNB5C4NQq-hiGgxhHKXBxkiojg AID of controller of event message KEL
s MAAB Sequence Number of Event
p EBabiu_JCkE0GbiglDXNB5C4NQq-hiGgxhHKXBxkiojg Prior event SAID
kt MAAB Signing Threshold, either number or fractional weight qb64 variable length string (1)
k -I## or -I##### Count code for Signing Key List
0th element DC08no2iWhgFYTaUgrasnqz6llSvWQTWZNN6WBhWqp6w Public Key of signer 0
nt MAAB Rotation Threshold, either number or fractional weight qb64 variable length string (1)
n -I## or -I##### Count code for Rotation Key Digest List
0th element EM2cc_3JgstRRjmzrrA_BibgDDOarj1lzr8pqG5a-SSn Digest of Public Key of rotator 0
bt MAAC Rotation Threshold, either number or fractional weight qb64 variable length string (2)
br -I## or -I##### Count code for Backer Remove (cuts) AID List
0th element BCuDiSPCTq-qBBFDHkhf1_kmysrH8KSsFvoaOSgEbx-X AID of backer cut 0
ba -I## or -I##### Count code for Backer Add (adds) AID List
0th element BDiSPCTq-qBBFDHkhf1_kmysrH8KSsFvoaOSgEbx-XCu AID of backer add 0
c -I## or -I##### Count code for Config Trait List
0th element XDND Config trait 0 DND
a -I## or -I##### Count code for Anchored Seal List
0th element -H## or -H##### Count code for field map of Seal 0
0.0th label 0J_i Label of field 0 of Seal 0 i
0.0th value EC4NQq-hiGgxhHKXBxkiojgBabiu_JCkE0GbiglDXNB5 Value of field 0 of Seal 0 AID
0.1th label 0J_s Label of field 1 of Seal 0 s
0.1th value MAAC Value of field 1 of Seal 0 Sequence Number
0.2th label 0J_d Label of field 2 of Seal 0 d
0.2th value EiGgxhHKXBxkiojgBabiu_JCkE0GbiglDXNB5C4NQq-h Value of field 2 of Seal 0 SAID
1th element -R## or -R##### Count code for value of Seal 1 (event seal triple)
1.1th value EHKXBxkiojgBaC4NQq-hiGCkE0GbiglDXNB5gxhbiu_JMAADEBxkiojgiGgxhHKXBDXNB5C4NQq-habiu_JCkE0Gbigl Value of of Seal 1 (event seal triple) pre+snu+dig
di EFXNB5C4NQq-hiGgxhHKXBxkiojgabiu_JCkE0GbiglD AID of delegating controller
# Receipt rct

Field order by label: v, t, d, i, s.

Field Label Value Description
NA -F## or -0F##### Count code for CESR native top-level fixed field signable message
v YKERIBAA Protocol Version primitive (KERI 2.00)
t rct Packet Type
d EC4NQq-hiGgbiglDXNB5xhHKXBxkiojgBabiu_JCkE0G SAID of event message being receipted
i EBabiu_JCkE0GbiglDXNB5C4NQq-hiGgxhHKXBxkiojg AID of controller of event message KEL being receipted
s MAAB Sequence Number of event message being receipted

# KERI Routed Messages

These have the packet types qry, rpy, pro, bar, exn

# Query Message

Field order by label: v, t, d, dt, r, rr, q.

Field Label Value Description
NA -F## or -0F##### Count code for CESR native top-level fixed field signable message
v YKERIBAA Protocol Version primitive (KERI 2.00)
t qry Packet Type
d EC4NQq-hiGgbiglDXNB5xhHKXBxkiojgBabiu_JCkE0G SAID of message
dt 1AAG2020-08-22T17c50c09d988921p00c00 Base64 custom encoded 32 char ISO-8601 DateTime
r 4AAC-A-1-B-3 Base64 variable length CESR SAD Path string
rr 5AABAA-A Base64 variable length CESR SAD Path string
q -H## or -H##### Count code for Query field map
i label 0J_i Label of field i in q field map
i value EC4NQq-hiGgxhHKXBxkiojgBabiu_JCkE0GbiglDXNB5 Value of field i in q field map

# Reply Message

Field order by label: v, t, d, dt, r, a.

Field Label Value Description
NA -F## or -0F##### Count code for CESR native top-level fixed field signable message
v YKERIBAA Protocol Version primitive (KERI 2.00)
t rpy Packet Type
d EC4NQq-hiGgbiglDXNB5xhHKXBxkiojgBabiu_JCkE0G SAID of message
dt 1AAG2020-08-22T17c50c09d988921p00c00 Base64 custom encoded 32 char ISO-8601 DateTime
r 4AAC-A-1-B-3 Base64 variable length CESR SAD Path string
a -H## or -H##### Count code for Attribute field map
d label 0J_d Label of field d in a field map
d value EC4NQq-hiGgxhHKXBxkiojgBabiu_JCkE0GbiglDXNB5 Value of field d in a field map

# Prod Message

Field order by label: v, t, d, dt, r, rr, q.

Field Label Value Description
NA -F## or -0F##### Count code for CESR native top-level fixed field signable message
v YKERIBAA Protocol Version primitive (KERI 2.00)
t pro Packet Type
d EC4NQq-hiGgbiglDXNB5xhHKXBxkiojgBabiu_JCkE0G SAID of message
dt 1AAG2020-08-22T17c50c09d988921p00c00 Base64 custom encoded 32 char ISO-8601 DateTime
r 4AAC-A-1-B-3 Base64 variable length CESR SAD Path string
rr 5AABAA-A Base64 variable length CESR SAD Path string
q -H## or -H##### Count code for Query field map
i label 0J_i Label of field i in q field map
i value EC4NQq-hiGgxhHKXBxkiojgBabiu_JCkE0GbiglDXNB5 Value of field i in q field map

# Bare Message

Field order by label: v, t, d, dt, r, a.

Field Label Value Description
NA -F## or -0F##### Count code for CESR native top-level fixed field signable message
v YKERIBAA Protocol Version primitive (KERI 2.00)
t bar Packet Type
d EC4NQq-hiGgbiglDXNB5xhHKXBxkiojgBabiu_JCkE0G SAID of event message being receipted
dt 1AAG2020-08-22T17c50c09d988921p00c00 Base64 custom encoded 32 char ISO-8601 DateTime
r 4AAC-A-1-B-3 Base64 variable length CESR SAD Path string
a -H## or -H##### Count code for Attribute field map
d label 0J_d Label of field d in a field map
d value EC4NQq-hiGgxhHKXBxkiojgBabiu_JCkE0GbiglDXNB5 Value of field d in a field map

# Exchange Transaction Inception Message

Field order by label: v, t, d, i, ri, dt, r, q, a.

Field Label Value Description
NA -F## or -0F##### Count code for CESR native top-level fixed field signable message
v YKERIBAA Protocol Version primitive (KERI 2.00)
t xip Packet Type
d EC4NQq-hiGgbiglDXNB5xhHKXBxkiojgBabiu_JCkE0G SAID of message, transaction identifier SAID
i EBabiu_JCkE0GbiglDXNB5C4NQq-hiGgxhHKXBxkiojg Sender AID
ri ECRXq_bMF3Dd96ATbbMIZgUBBwuFAWx3_8s5XSt_0jey Receiver AID
dt 1AAG2020-08-22T17c50c09d988921p00c00 Base64 custom encoded 32 char ISO-8601 DateTime
r 4AAC-A-1-B-3 Base64 variable length CESR SAD Path string
q -H## or -H##### Count code for Query field map
i label 0J_i Label of field i in q field map
i value EC4NQq-hiGgxhHKXBxkiojgBabiu_JCkE0GbiglDXNB5 Value of field i in q field map
a -H## or -H##### Count code for Attribute field map
d label 0J_d Label of field d in a field map
d value EC4NQq-hiGgxhHKXBxkiojgBabiu_JCkE0GbiglDXNB5 Value of field d in a field map

# Exchange Message

Field order by label: v, t, d, i, ri, x, p, dt, r, q, a.

Field Label Value Description
NA -F## or -0F##### Count code for CESR native top-level fixed field signable message
v YKERIBAA Protocol Version primitive (KERI 2.00)
t exn Packet Type
d EBxkiojgBabiu_JCkE0GC4NQq-hiGgbiglDXNB5xhHKX SAID of message
i EBabiu_JCkE0GbiglDXNB5C4NQq-hiGgxhHKXBxkiojg Sender AID
ri ECRXq_bMF3Dd96ATbbMIZgUBBwuFAWx3_8s5XSt_0jey Receiver AID
x EC4NQq-hiGgbiglDXNB5xhHKXBxkiojgBabiu_JCkE0G Transaction Identifier SAID
p EGbiglDXNB5C4NQq-hiGgxhHKXBxkiojgBabiu_JCkE0 Prior message SAID
dt 1AAG2020-08-22T17c50c09d988921p00c00 Base64 custom encoded 32 char ISO-8601 DateTime
r 4AAC-A-1-B-3 Base64 variable length CESR SAD Path string
q -H## or -H##### Count code for Query field map
i label 0J_i Label of field i in q field map
i value EC4NQq-hiGgxhHKXBxkiojgBabiu_JCkE0GbiglDXNB5 Value of field i in q field map
a -H## or -H##### Count code for Attribute field map
d label 0J_d Label of field d in a field map
d value EC4NQq-hiGgxhHKXBxkiojgBabiu_JCkE0GbiglDXNB5 Value of field d in a field map

# Out-Of-Band-Introduction (OOBI)

An Out-Of-Band Introduction (OOBI) provides a discovery mechanism that associates a given URI or URL with a given AID or SAID. The URI provided by an OOBI acts as a service endpoint for discovering verifiable information about the AID or SAID. As such, an OOBI itself is not trusted but MUST be verified. To clarify, any information obtained from the service endpoint provided in the OOBI MUST be verified by some other mechanism. An OOBI, however, enables any internet and web search infrastructure to act as an out-of-band infrastructure to discover verifiable information over an in-band mechanism or protocol. The primary in-band verification protocol is KERI. The OOBI protocol provides a web-based bootstrap and/or discovery mechanism for the KERI and the ACDC (Authentic Chained Data Container) protocols ACDC OOBI. Thus, the security (or, more correctly, the lack of security) of an OOBI is out-of-band with respect to a KERI AID or an ACDC that uses KERI. To clarify, everything in KERI or that depends on KERI is end-verifiable; therefore, it has no security dependency, nor does it rely on security guarantees that may or may not be provided by web or internet infrastructure. OOBIs provide a bootstrap that enables what we call Percolated Information Discovery (PID) based on the academic concept called Invasion Percolation Theory [[27]] [[28]] [[25]] [[26]]. This bootstrap may then be parlayed into a secure mechanism for accepting and updating data. The principal data acceptance and update policy is denoted BADA (Best-Available-Data-Acceptance).

Vacuous discovery of IP resources such as service endpoints associated with a KERI AID or SAID depend an OOBI to associate a given URL with a given AID or SAID SAID OOBI [[29]]. The principal reason for this dependency is that KERI AIDs are derived in a completely decentralized manner. The root-of-trust of a KERI AID is completely independent of the Internet and DNS addressing infrastructure. Thus, an IP address or URL could be considered a type of Out-Of-Band Infrastructure (OOBI) for KERI for bootstrapping discovery. In this context, an introduction is an association between a KERI AID and a URL that may include either an explicit IP address or a DNS name for its host [RFC3986] [[29]]. We call this a KERI OOBI and is a special case of OOBI) with a shared acronym. For the sake of clarity, unless otherwise qualified, OOBI is used to mean this special case of an ‘introduction’ and not the general case of ‘infrastructure’.

Moreover, because IP infrastructure is not trusted by KERI, a KERI OOBI by itself is considered insecure with respect to KERI, and any OOBI must, therefore, be later verified using a KERI BADA mechanism. The principal use case for an OOBI is to jump-start or bootstrap the discovery of a service endpoint for a given AID. To reiterate, the OOBI by itself is not sufficient for discovery because the OOBI itself is insecure. The OOBI merely jump-starts or bootstraps the authenticated discovery.

OOBIs enable a KERI implementation to leverage existing IP and DNS infrastructure to introduce KERI AIDs and discover service endpoints, which may then be securely attributed. KERI does not, therefore, need its own dedicated discovery network; OOBIs with URLs will do.

A secondary use case for OOBIs is to provide service endpoints or URIs for SAD (items identifier by their SAID). A SAID is a content address derived from a cryptographic digest of the serialization of a data item. The SAID protocol [[1]] provides a derivation process where the SAID is actually included in the SAD. This makes a SAID self-referential. Verification of a SAD resource obtained by querying a URI that includes the SAD’s SAID is accomplished by simply re-deriving the SAID of the SAD in the reply and comparing it to the SAID in the URI. The sad URI scheme may be simply expressed as sad:said where said is replaced with the actual SAID of the referenced SAD item. The media type of the returned SAD is determined by its CESR-compatible serialization type, such as JSON, CBOR, MGPK, or native CESR, for example.

# Basic OOBI

The simplest form of a KERI OOBI MAY be expressed by any of a namespaced string, a tuple, a mapping, a structured message, or a structured attachment where every form contains both a KERI AID and a URL (or URI). The OOBI associates the URL with the AID. By convention, the URL typically includes the word oobi in its path to indicate that it is to be used as an OOBI, but this is NOT REQUIRED. In abstract tuple form, an OOBI is as follows:

(url, aid)

In concrete tuple form, an OOBI is as follows:

("http://8.8.5.6:8080/oobi", "EaU6JR2nmwyZ-i0d8JZAoTNZH3ULvYAfSVPzhzS6b5CM")

An OOBI itself is not signed or otherwise authenticatable by KERI but may employ some other Out-Of-Band-Authentication (OOBA) mechanism, i.e., non-KERI.

The OOBI is intentionally simplistic to enable very low byte count introductions such as a may be conveyed by a QR code or Data matrix [[29]] [[30]].

# OOBI URL (IURL)

URLs provide a namespace, which means that the mapping between URL and AID can be combined into one namespaced URL where the AID is in the path component and any other hints, such as roles or names, are in the query component of the URL. This would be a type of self-describing OOBI URL.

For example, suppose the AID is

EaU6JR2nmwyZ-i0d8JZAoTNZH3ULvYAfSVPzhzS6b5CM

This may be included as a path component of the URL, such as,

http://8.8.5.6:8080/oobi/EaU6JR2nmwyZ-i0d8JZAoTNZH3ULvYAfSVPzhzS6b5CM

This is called an OOBI URL, or IURL for short. All that is needed to bootstrap the discovery of a KERI AID is an IURL. KERI can leverage the full IP/DNS infrastructure as a discovery bootstrap of an AID by providing an associated IURL.

The AID may act in any of the KERI roles such as watcher, witness, juror, judge or registrar but is usually a controller. In the latter case, the IURL may be a service endpoint provided by one of the supporting components for a given controller. Thus, the AID in an OOBI may be either a controller ID, CID or an endpoint provider ID, EID. The resource at that URL in the OOBI is ultimately responsible for providing that detail, but an OOBI as a URL may contain hints in the query string for the URL, such as a role or name designation.

http://8.8.5.6:8080/oobi/EaU6JR2nmwyZ-i0d8JZAoTNZH3ULvYAfSVPzhzS6b5CM?role=watcher&name=eve

https://example.com/oobi/EaU6JR2nmwyZ-i0d8JZAoTNZH3ULvYAfSVPzhzS6b5CM?role=witness

When the role is provided in the IURL, the EID of the endpoint provider for that role would be discovered via the proof returned by querying the URL. In addition, The proof returned may indicate a different URL for that role so a self-describing IURL may act also as a forwarding mechanism.

To clarify, the minimum information in an OOBI is the pair, (URL, AID). The compact representation of an OOBI leverages the namespacing of the URL itself to provide the AID. Furthermore, the query string in the URL namespace may contain other information or hints, such as the role of the service endpoint represented by the URL or a user-friendly name.

# Well-Known OOBI

An OOBI may be returned as the result of a ‘GET’ request to an [RFC5785] well-known URL.

For example,

 /.well-known/keri/oobi/EaU6JR2nmwyZ-i0d8JZAoTNZH3ULvYAfSVPzhzS6b5CM

Where:

EaU6JR2nmwyZ-i0d8JZAoTNZH3ULvYAfSVPzhzS6b5CM is the AID and the result of the request is either target URL or a redirection to the target URL where the target URL can be

https://example.com/witness/witmer

http://8.8.5.5:8080/witness/witmer

http://10.0.5.15:8088/witness/witmer

The resultant target URL may be in a different domain or IP address from the well-known resource.

# CID and EID

A more verbose version would also include the endpoint role and the AID (EID) of the endpoint provider in a self-describing OOBI URL.

For example,

https://example.com/oobi/EaU6JR2nmwyZ-i0d8JZAoTNZH3ULvYAfSVPzhzS6b5CM/witness/BrHLayDN-mXKv62DAjFLX1_Y5yEUe0vA9YPe_ihiKYHE

http://8.8.5.6/oobi/EaU6JR2nmwyZ-i0d8JZAoTNZH3ULvYAfSVPzhzS6b5CM/witness/BrHLayDN-mXKv62DAjFLX1_Y5yEUe0vA9YPe_ihiKYHE

Where: EaU6JR2nmwyZ-i0d8JZAoTNZH3ULvYAfSVPzhzS6b5CM is the AID (CID) of the controller and BrHLayDN-mXKv62DAjFLX1_Y5yEUe0vA9YPe_ihiKYHE is the AID (EID) of the controller’s endpoint provider acting in the role of witness.

# Multi-OOBI (MOOBI)

An OOBI may include a list of URLs thus simultaneously making an introductory association between the AID and multiple URLs. This would be a multi-OOBI (MOOBI). In general, a MOOBI is a special case of an OOBI without making a named distinction. The first KERI reply message below is an example of a MOOBI.

# KERI Reply Messages as OOBIs

A more verbose expression for an OOBI would be an unsigned KERI reply message, rpy. The route, r field in the message starts with /oobi. This specifies that it is an OOBI, so the recipient knows to apply OOBI processing logic to the message. A list of URLs may be provided so that one reply message may provide multiple introductions.

NOTE

Examples in this section are not cryptographically verifiable

For example,

{
  "v": "KERI10JSON00011c_",
  "t":  "rpy",
  "d": "EZ-i0d8JZAoTNZH3ULaU6JR2nmwyvYAfSVPzhzS6b5CM",
  "dt": "2020-08-22T17:50:12.988921+00:00",
  "r": "/oobi/witness",
  "a" :
  {
    "urls":
    [
      "http://example.com/watcher/watson",
      "http://example.com/witness/wilma"
    ],
    "aid":  "EaU6JR2nmwyZ-i0d8JZAoTNZH3ULvYAfSVPzhzS6b5CM"
  }
}

A service endpoint location reply message could also be re-purposed as an OOBI by using a special route path that starts with /oobi but also includes the AID being introduced and, optionally, the role of the service endpoint provider. This approach effectively combines the information from both the /end/role and /loc/schemereply messages into one. This may allow a shortcut to authenticate the service endpoint. This is shown below.

{
  "v": "KERI10JSON00011c_",
  "t": "rpy",
  "d": "EZ-i0d8JZAoTNZH3ULaU6JR2nmwyvYAfSVPzhzS6b5CM",
  "dt": "2020-08-22T17:50:12.988921+00:00",
  "r": "/oobi/EaU6JR2nmwyZ-i0d8JZAoTNZH3ULvYAfSVPzhzS6b5CM/watcher",
  "a":
  {
    "eid": "BrHLayDN-mXKv62DAjFLX1_Y5yEUe0vA9YPe_ihiKYHE",
    "scheme": "http",
    "url":  "http://example.com/watcher/wilma"
  }
}

# Self (Blind) OOBI (SOOBI)

A bare URL but no AID may be used as a self (blind) OOBI for blind or self-introductions e.g., SOOBI. Querying that SOOBI may return or result in a default target OOBI or default target endpoint reply. This provides a mechanism for self-introduction or blind i.e., self OOBI (SOOBI). Consider the examples of self-OOBIs below.

http://8.8.5.7:8080/oobi

http://localhost:8080/oobi

http://8.8.5.7:8080/oobi?role=controller&name=eve

http://localhost:8080/oobi?role=controller&name=eve

To elaborate, by default, the result of a GET request to a self OOBI URL could be another OOBI with an AID that is the self AID of the node providing the self OOBI endpoint or the actual authenticatable self endpoint with its AID or a default set of authenticatable endpoints. This is useful to bootstrap components in an infrastructure where the target URLs do not use a public DNS address but instead use something more secure like an explicit public IP address or a private IP or private DNS address. A self-introduction provides a bootstrap mechanism similar to a hostname configuration file with the exception that in the OOBI case, the AID is not in the configuration file, just the bare URL, and the given node queries that bare URL (SOOBI) to get the target endpoint AID. This allows bootstrap using bare IP addresses in systems where the IP infrastructure is more securely managed than public DNS or where some other OOBA mechanism is used in concert.

To clarify, because a bare URL, acting as a SOOBI, does not expose an AID, the resultant response when querying the OOBI may depend on other factors such as the source IP of the querier (requester) and/or another OOBA mechanism. This supports the private bootstrap of infrastructure. Of course, one could argue that this is just kicking the can down the road, but IP addresses are correlatable, and a self OOBI can leverage IP infrastructure for discovery when used in combination with some other OOBA mechanism without unnecessary correlation.

For example, a given indirect mode controller is identified by its AID (CID). The controller MUST also create witness hosts with endpoints. This means first spinning up witness host nodes and creating witness AIDs (WIDs) for those nodes. Given that these WIDs MUST be eventually designated in the KEL for the CID, the controller of the CID can confirm using its KEL that the signed endpoint reply provided by a SOOBI request is indeed signed by the corresponding private keys for a WID designated in its KEL. This means that the only place that the WID MUST appear is in the KEL and not in all the config files used to bootstrap communications between the CID host and its designated WID hosts. Just SOOBIs will do. Whereas regular OOBIs with redundant configuration information may be a vector for a type of DDOS attack where corrupted, inconsistent, redundant configuration information results in a failure to boot a system. Redundancy for security is best applied in the context of a self-healing or resilient threshold structure that explicitly manages the redundancy as a security mechanism instead of as un-managed inadvertent redundancy.

# OOBI Forwarding

In every case, an OOBI may result in proof for a different URL than that provided in the OOBI itself. It allows OOBI forwarding so that introductions produced as hard copies, such as QR codes, do not necessarily become stale. The recipient of the OOBI may choose to accept that proof or not. Ultimately, the recipient only treats URLs as valid endpoints when they are fully KERI authenticated. Given that an OOBI result is always KERI authenticated before use in a given role, the worst case from a security perspective is that an OOBI may be part of a DDOS attack but not as part of a service endpoint cache poison attack.

# OOBI with MFA

An OOBI may be augmented with one or more OOBAs to minimize the likelihood of a DDOS OOBI attack. A given recipient may require as a precondition to accepting an OOBI one or more OOBA mechanisms, such as text messages, emails, etc., that provide some degree of non-KERI-based security to the OOBI. Thus, an OOBI could employ out-of-band (with respect to KERI) multi-factor authentication (MFA) to preclude any OOBI-based DDOS attacks on KERI.

# SPED (Speedy Percolated Endpoint Discovery)

All the information needed to discover and verify is bootstrapped from the OOBI. Subsequent authorization is non-interactive, thus making it highly scalable. BADA-RUN authorization is also lightweight for the host because the only memory requirements are a sequence number, date-time stamp window, and nullification state. This provides what we call zero-trust percolated discovery or speedy percolated endpoint discovery (SPED) [[25]][[26]][[27]][[28]]. Percolation means that each discoverer, in turn, may share what it discovers with any subsequent discoverers. Because the information so discovered is end-verifiable, the percolation mechanism does not need to be trusted. Percolating intermediaries do not need to be trusted.

# JIT/NTK Discovery

With percolated discovery, discovery mechanisms can be made very efficient because they can be optimized for any given exchange of verifiable data that requires discovery. This is called just-in-time/need-to-know JIT/NTK discovery. Each Exchanger of verifiable data MUST have already verified the data before exchanging it with the Exchangee. Therefore, all the information needed to verify (proofs) MUST have already been available to the Exchanger, i.e., need-to-know. The Exchanger can then percolate that verification information to the Exchangee at the time of exchange, i.e, just-in-time. This avoids the need to have a dedicated global infrastructure for the discovery of verifiable data and the associated proofs.

# Summary

The main value of an OOBI is that it is compact and is not encumbered by authentication proofs but may be used to kick-start the process of authentication (proving).

One way to pre-configure a vacuous KERI installation is to provide OOBIs or SOOBIs in a configuration file. The bootstrap process of the installation then queries the associated URLs to retrieve the KERI authentication proofs (BADA) that are then used to populate its database securely. This simplifies the configuration file.

An alternative would be to populate the configuration file with the KERI authentication proofs. But these proofs may be quite verbose and cumbersome and may make the config file somewhat difficult to manage in human-readable/writable form. Furthermore, if one already had the proofs, one could just pre-populate the database with those proofs. Therefore OOBI, OOBI-based configuration files may be advantageous as either easier to manage or as a viable option when the proofs are not yet available at configuration time.

Furthermore, a clean clone replay restart of a given KERI component is designed to fix any unverified corruption of its associated KELs. If each component uses OOBIs to retrieve the authentication proofs from other components, then all the components will have clean proofs instead of stale proofs.

# BADA (Best-Available-Data-Acceptance) Policy

The recipient of an OOBI verifies the OOBI by authenticating the endpoint URL given by the OOBI with respect to an authorization signed by the controller of the AID given by the OOBI. This authorization follows the BADA policy. The BADA policy guarantees the monotonicity of updates to authentically signed data at rest. This follows best practices for zero-trust computing infrastructure for authentic data. The authorization is usually obtained as a resource in reply to a query to the OOBI URL. Specifically, the service endpoint at the URL responds with a resource that contains the supporting reply messages that are KERI authenticatable.

# Security Issues

KERI follows a “zero-trust” security model for authentic or securely attributable data. That means that data is signed both in motion and at rest. The primary attack against signed data is a replay attack. In a replay attack, an adversary obtains a copy of data with a verifiable signature and then replays it later. Without some other information, it is difficult for a host to detect that it is indeed a replay or malicious reuse of signed data and not the original use of that data.

To elaborate, there are two primary types of attacks on authentic or authenticatable data-at-rest. The first is a replay attack. The second is a deletion attack. In a replay attack, an adversary keeps a copy of an authentic message or data together with its verifiable signature that has already been created and used by the controller of a KERI AID and then sometime later replays that same message with the signature. A verifier may thereby be fooled into believing that the replay is actually a new message and not a stale message. There are both interactive and non-interactive mitigations to replay attacks. Interactive mitigations use some type of nonce or salt exchanged between Updater and Updatee. The nonce exchange introduces latency, scalability, and synchronization limitations. Non-interactive mitigations require a monotonic ordering mechanism. Typically, monotonic ordering is based on logic rooted in a sequence number or date-time stamp. Because non-interactive mitigations are asynchronous, however, they do not have the latency and scalability limitations of interactive mitigations and are therefore preferred.

The KEL of a KERI AID provides such a monotonic ordering mechanism as it employs both a sequence number and digest chaining. For authentic data directly anchored to or determined by a KEL, the relative KEL location determines the monotonic order. This ordering determination includes TELs , which themselves are monotonically ordered with respect to anchoring seals in the associated KEL ACDC. For authentic data not directly anchored or included in a KEL, the relative key state (which is determined by the KEL) may be used in combination with a date-time stamp to ensure monotonic ordering. Finally, for any AID whose key state is fixed, a date-time stamp may be used with appropriate update logic to ensure monotonic ordering. The logic that ensures monotonic ordering is called BADA and is described later in this section.

A deletion attack is related to a replay attack. Once erased or deleted, a verifier may not be able to detect a replay attack of the deleted data because it has lost a record of the prior play to compare against. To elaborate, once erased, any stale authenticated data acting as authorization may be replayed without detection. This exposes a problem with the GPDR (General Data Protection Regulation) right-to-erasure, which, if naively implemented as total erasure, exposes the data controller to a replay attack of erased data.

The primary mitigation mechanism for deletion attacks is maintaining redundant copies of the signed authentic data. If one of the redundant copies has not been deleted, then comparing the hosts of the redundant copies will expose the deletion attack. The monotonicity of the data is preserved in each copy. The hosts need merely compare copies. Only the current data item needs to be kept in full in order to support the use of that data. For protection against replay attacks using stale data, only copies of the digest or signature of the data MUST be kept. To reiterate, a replay attack can be detected by comparing the digest or signature (which is a type of digest) of any undeleted copy with the presented data.

To summarize, authentic data at rest consists of the data item and signature(s). The two primary attacks are replay and deletion. Replay attack mitigation relies on replay monotonicity in data updates. Deletion attack mitigation relies on the redundancy of monotonic data.

# BADA Rules

The BADA rules apply to any data item stored in a database record whose value is used for some defined purpose. Updates are sourced from the controller of an associated KERI AID. The primary purpose of BADA policy is to enforce monotonicity of the updates with respect to the key state of that associated AID. This primarily protects against replay attacks on the database record. For example, a rollback to an earlier value via replay of an earlier update. An Update or change to the database record is ‘accepted’ when it follows the BADA rules (policy) for acceptance. The BADA rules ensure the monotonicity of all updates.

There are two different mechanisms for the controller of an AID to authorize updates to a given database record. The first is by referencing the update in the KEL of the authorizing AID. All entries in a KEL MUST be signed by the current signing keypair(s) given by the Key-state for that KEL. The second is by signing a date-time stamped update. In this case, the update MUST either includes a reference to the Key-state in the authorizing AID’s KEL from which the signing keypair(s) needed to verify the signature is obtained or the AID MUST be ephemeral with a fixed Key-state (has a non-transferable derivation code). The rules differ for each of the two mechanisms.

# KEL Anchored Updates

In this case, the update to a record is included in or anchored via a seal to the AID’s Key-state in its KEL. In either case, the update is referenced in an event in the KEL of the AID. By virtue of the reference, the Controller of that KEL’s AID is authorizing that Update. The record MAY have a Prior value that is being updated or the Update MAY serve to create the initial value of the record. Prior means the prior record.

Rules for the acceptance of the Update:  (in order of priority)
  Confirm Update is anchored or included in AID's KEL.

  WHEN Update is anchored in AID's KEL AND...
    IF no Prior THEN accept. (always)
    IF Prior AND...
  The Update’s anchor appears later in KEL than the Prior’s anchor THEN accept.
  Otherwise, do not accept.

# Signed (Not Anchored) Updates

In this case, the update to a record is signed by the controller of the AID, but the update itself is NOT included in or anchored to the AID’s KEL. The record may have a Prior value that is being updated or the update serves to create the initial value of the record. In this context, Prior means the Prior record. All date times are relative to the controller’s date time, NOT the database host’s date time.

There are two cases. These are as follows.

  1. Ephemeral AID whose Key-state is fixed (no KEL needed)
  2. Persistent AID whose Key-state is provided by a KEL
Rules for the acceptance of the Update: (in order of priority)

Confirm signature on the Update verifies against indicated key-state under which signature was made.

  WHEN signature verifies AND...
    IF no Prior THEN accept (always).
    IF Prior THEN ...
    Compare the Update’s verified signature key-state against the Prior's verified signature key-state.
      IF the Update’s key-state appears later in KEL than the Prior's key-state THEN accept.
      IF both the Update’s and the Prior's key-states appear at the same location in KEL AND...
        the Update’s date-time is later than the Prior's date-time THEN accept.
  Otherwise, do not accept.

# RUN off the CRUD

In the conventional client-server database architecture, the database server is responsible for creating records on behalf of clients and assigning unique identifiers for each record. The server returns to the client the unique record identifier when it creates a record. The server is the source of truth. But in a zero-trust (end-verifiable) decentralized peer-to-peer architecture, there is no client/server. Every host is a Peer. Each Peer MUST be the source of truth for its own data. Therefore, each Peer is responsible for managing its own records. Each Peer MUST be able to create unique identifiers for its own data. This inverts the architecture because each Peer creates a unique identifier for each of its own data items and sends that identifier with the data item to the other Peers. Each Peer stores data on behalf of the other Peers. This inverted architecture enables consistent, authentic data update policies that work asynchronously across multiple Peers and are replay and deletion attack-resistant. Each Peer has an end-verifiable (via signature) monotonically updated view of the data records sourced from the other Peers.

The acronym for the traditional client-server database update policy is CRUD (Create, Read, Update, Delete). The acronym for this new peer-to-peer end-verifiable monotonic update policy is RUN (Read, Update, Nullify). As described above, because the source of truth for each data item is a decentralized controller Peer, a given database hosted by any Peer does not Create records in the traditional sense of a server creating records for a client. The hosting Peer merely stores a copy of an Update to records sent out by the source Peer (controller). Thus, there is no Create action, only an Update action. When a Peer has not yet seen any version of a record, then its copy is vacuous and is replaced by the first Update it sees. To clarify, a source Peer Updates other Peers by sending out the latest copy or version of its own record. The original copy or version is always created by the source Peer not the data hosting destination Peer or destination Peer for short.

In order to ensure that the destination Peers are resistant to replay and deletion attacks, destination Peers apply non-interactive monotonic update logic to any Updates they receive from the source Peer. This means that a destination Peer MUST NOT ever delete a record storing the latest version of an Update. Thus, there is no Delete. Instead of Delete, Peers Nullify. A Nullify is a special type of Update that indicates that the data in the record is no longer valid but, importantly, without actually erasing or Deleting the record that includes a reference to the latest monotonic determining anchor and/or date-time. There are two ways to indicate Nullification. The first is to assign a null value to the record. This works for single-field records. The second is to attach an associated Boolean logic flag field that indicates the record has been Nullified. This works for multi-field records.

# OOBI KERI Endpoint Authorization (OKEA)

An important use case for BADA-RUN is to process OOBIs that provide service endpoint discovery of the AIDS of KERI components. These components include but are not limited to, Controllers, Agents, Backers (Witness or Registrar), Watchers, Jurors, Judges, and Forwarders. An endpoint is a URL that may include an IP Scheme, Host, Port, and Path. The model for securely managing endpoint data starts with a Principal Controller of an AID. A Principal Controller authorizes some other component to act as a Player in a Role. Typically, a Role serves some function needed by the Principal Controller to support its AID and may be reached at a service endpoint URL for that Role. Each component, in turn, is the Controller of its own AID. Each component AID is a Player that may provide or act in a Role on behalf of the Principal Controller by providing services at the associated service endpoint for its associated Role.

The authorization model uses a zero-trust BADA-RUN policy to Update authorizations. A Principal Controller authorizes a Player by signing a Role authorization message that authorizes the Player’s AID to act in a role. A Player authorizes its endpoint URL by signing an endpoint authorization message that authorizes a URL (location) with a scheme. Any Peer may keep an updated copy of the latest service endpoint URL(s) provided by a Player in a Role for a given Principal AID by following the BADA-RUN policy on Updates sent to its database of these authorizations. The authorizations are issued in the context of the KERI Key-state for the Principal and Player AIDs.

Some components (Players in Roles) are implicitly authorized by the Principal Controller by being explicitly designated in the KEL of the Principal, i.e., there is no explicit authorization message of the Player/Role. The authorization is implied by the KEL entry. For example, a Backer designation of a Witness or Registrar AID implicitly authorizes that AID to act as a Player in the Role of Witness or Registrar. An associated explicit endpoint authorization message signed by that Witness or Backer is still needed to provide the URL (location and scheme) of the actual service endpoint for that Player.

The combination of KERI and the BADA-RUN policy enables any Controller to manage data in a zero-trust architecture at the database level. Any Controller may promulgate verifiably authentic information with replay and deletion attack resistance. The authentic information may be simply source data or instead authorizations to enable some other function. The hard work of determining the associated Key-state is provided by KERI. KERI makes the establishment of authenticity straightforward. The BADA-RUN policy protects against replay and deletion attacks given authentic data.

This approach follows the many thin layers approach of the Hourglass protocol model. BADA-RUN is a thin layer on top of KERI authenticity. OOBIs are a thin discovery layer that sits on top of a thin authorization layer (leveraging reply messages and BADA-RUN logic) on top of KERI.

This also follows the design ethos of KERI of minimally sufficient means. OOBIs leverage the existing Internet discovery mechanisms but without needing to trust the Internet security model (or the lack of one). End-verifiability in KERI provides safety to any OOBI discovery. The Internet’s discovery mechanism, DNS/CA, is out-of-band with respect to KERI security guarantees. Thus, OOBIs may safely use DNS/CA, web search engines, social media, email, and messaging as discovery mechanisms. The worst case is the OOBI fails to result in a successful discovery and some other OOBI is needed.

Typically, the query of a ReST endpoint given by the OOBI URL could return as proof any associated authorizing reply message(s) and any associated KELs.

# Authorized Endpoint Disclosure Example

This section provides an example of using OKEA (OOBI KERI Endpoint Authorization) with BADA-RUN for endpoint disclosure.

The KERI protocol defines a generic reply message for updating information using the BADA-RUN policy. Each reply message includes a route, r, field that indicates both the payload type and the handler that SHOULD process the message. The route, r, field value is a slash, / delimited pathname string. The Principal Controller AID is indicated by the CID (Controller ID) or cid field. The endpoint component Player is indicated the EID (Endpoint Controller ID) or eid field. There are two different authorization cases. In one case, a CID authorizes an EID in a Role. In the other case, an EID authorizes a Loc (URL location) for a scheme. There are two routes for each type of authorization. One route Updates the authorization and the other Nullifies the authorization. These are summarized as follows,

  • Datetime stamped BADA authorization Reply message by CID of EID in Role (Update)
  • Datetime stamped BADA deauthorization by CID of EID in Role (Nullify)
  • Datetime stamped BADA authorization by EID of URL for scheme (Update).
  • Datetime stamped BADA deauthorization by EID of URL for scheme (Nullify)

A party interested in discovering the service endpoint for a given Controller AID initiates the discovery by providing an OOBI. A successful discovery will result in the return of signed reply messages that provide verifiable proof that the service endpoint (either directly provided in the OOBI, or indirectly provided via forwarding) is an authorized endpoint for that AID.

To summarize, upon acceptance of an OOBI the recipient queries the provided URL for proof that the URL is an authorized endpoint for the given AID. The proof format may depend on the actual role of the endpoint. A current witness for an AID is designated in the current key state’s latest establishment event in the AID’s KEL. Therefore, merely replying with the Key State or KEL may serve as proof for a witness introduced by an OOBI. The actual URL may be authorized by an attendant signed /loc/scheme reply message with the URL.

Other roles that are not explicitly part of Key-state (i.e., are not designated in KEL establishment events) MUST be authorized by explicitly signed reply messages. Typically, these will be a signed /end/role/ reply message. The actual URL may be authorized by an attendant signed /loc/scheme reply message with the URL.

NOTE

Examples in this section are not cryptographically verifiable

Example reply messages.

# Player EID in Role by CID Update

{
  "v": "KERI10JSON000113_",
  "t": "rpy",
  "d": "Ekd189yFsX1eLhQ2NffI6AaF8ZxKXyej_jfn4wMNJq-w",
  "dt": "2021-01-01T00:00:00.000000+00:00",
  "r": "/end/role/add",
  "a":
  {
    "cid": "EhlsdBaCvxnW0z3m2OXxStaZkG76g0zC_vtPbPPglDK0",
    "role": "witness",
    "eid": "BFUOWBaJz-sB_6b-_u_P9W8hgBQ8Su9mAtN9cY2sVGiY"
  }
}

# Player EID in Role by CID Nullify

{
  "v": "KERI10JSON000113_",
  "t": "rpy",
  "d": "EZ-i0d8JZAoTNZH3ULaU6JR2nmwyvYAfSVPzhzS6b5CM",
  "dt": "2021-01-01T00:00:00.000000+00:00",
  "r": "/end/role/cut",
  "a":
  {
    "cid": "EhlsdBaCvxnW0z3m2OXxStaZkG76g0zC_vtPbPPglDK0",
    "role": "witness",
    "eid": "BFUOWBaJz-sB_6b-_u_P9W8hgBQ8Su9mAtN9cY2sVGiY"
  }
}

# Endpoint Location with Scheme by EID Update

{
  "v": "KERI10JSON000108_",
  "t": "rpy",
  "d": "EbAwspDQjS-Ve-tzDtAuzx4K8uhh-0AyXWZrSKm64PFQ",
  "dt": "2021-01-01T00:00:00.000000+00:00",
  "r": "/loc/scheme",
  "a":
  {
    "eid": "BFUOWBaJz-sB_6b-_u_P9W8hgBQ8Su9mAtN9cY2sVGiY",
    "scheme": "http",
    "url": "http://localhost:8080/controller/tam"
  }
}

# Endpoint Location with Scheme by EID Nullify

To Nullify set the url to the empty string "".

{
  "v": "KERI10JSON000108_",
  "t": "rpy",
  "d": "EbAwspDQjS-Ve-tzDtAuzx4K8uhh-0AyXWZrSKm64PFQ",
  "dt": "2021-01-01T00:00:00.000000+00:00",
  "r": "/loc/scheme",
  "a":
  {
    "eid": "BFUOWBaJz-sB_6b-_u_P9W8hgBQ8Su9mAtN9cY2sVGiY",
    "scheme": "http",
    "url": ""
  }
}

[[/spec-inform]]

# Bibliography

RFC0791
Internet Protocol. J. Postel; 1981-09. Status: Internet Standard.
RFC3986
Uniform Resource Identifier (URI): Generic Syntax. T. Berners-Lee; R. Fielding; L. Masinter; 2005-01. Status: Internet Standard.
RFC4627
The application/json Media Type for JavaScript Object Notation (JSON). D. Crockford; 2006-07. Status: Informational.
RFC5280
Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile. D. Cooper; S. Santesson; S. Farrell; S. Boeyen; R. Housley; W. Polk; 2008-05. Status: Proposed Standard.
RFC5785
Defining Well-Known Uniform Resource Identifiers (URIs). M. Nottingham; E. Hammer-Lahav; 2010-04. Status: Proposed Standard.
RFC6960
X.509 Internet Public Key Infrastructure Online Certificate Status Protocol - OCSP. S. Santesson; M. Myers; R. Ankney; A. Malpani; S. Galperin; C. Adams; 2013-06. Status: Proposed Standard.

# Informative section

[[spec-inform]]

1. Samuel M. Smith, Composable Event Streaming Representation (CESR), 2022

2. C. Bormann, P. Hoffman, Concise Binary Object Representation (CBOR), 2020

3. Sadayuki Furuhashi, MessagePack, 2008

4. Samuel M. Smith, Key Event Receipt Infrastructure, 2021

5. Samuel M. Smith, Universal Identifier Theory, 2020

6. Samuel M. Smith, Decentralized Autonomic Data (DAD) and the three R’s of Key Management, 2018

7. David Wilkinson, Jorge F Willemsen, Invasion percolation: a new form of percolation theory, 1983

8. Information-Theoretic and Perfect Security

9. Cryptographically-secure pseudorandom number generator

10. Information Theory

11. [Cost analysis of hash collisions: Will quantum computers make SHARCS obsolete](https://cr.yp.to/hash/collisioncost-20090823.pdf?

12. Jean-Philippe Aumasson, Too Much Crypto, 2021

13. One-way Function

14. One-way Function

15. Public-key Cryptography

16. Marc Girault, Self-certified public keys

17. M. Kaminsky, E. Banks, SFS-HTTP: Securing the Web with Self-Certifying URLs, 1999

18. David Mazieres, Self-certifying File System, 2000

19. David Mazieres, M. Kaashoek, Escaping the Evils of Centralized Control with self-certifying pathnames, 2000

20. Certificate Revocation List

21. Verifiable Data Structures

22. Ricardian contract

23. Namespace

24. Eclipse Attack

25. Percolation Theory

26. First Passage Percolation

27. Invasion Percolation

28. Uniform Resource Locator

29. QR Code

30. Data Matrix

Issues
    Settings
    Help Snapshots

    External specifications:

    ["
    ACDC
    \n

    authentic-chained-data-container

    \n
    ACDC
    \n

    authentic-chained-data-container

    \n
    ADC
    \n

    authentic-data-container

    \n
    ADC
    \n

    authentic-data-container

    \n
    AID
    \n

    autonomic-identifier

    \n
    AID
    \n

    autonomic-identifier

    \n
    APC
    \n

    authentic-provenance-chain

    \n
    APC
    \n

    authentic-provenance-chain

    \n
    AVR
    \n

    authorized-vlei-representative

    \n
    AVR
    \n

    authorized-vlei-representative

    \n
    BADA
    \n

    best-available-data-acceptance-mechanism

    \n
    BADA
    \n

    best-available-data-acceptance-mechanism

    \n
    CESR-version
    \n

    the CESR Version is provided by a special Count Code that specifies the Version of all the CESR code tables in a given Stream or Stream section.

    \n
    CESR-version
    \n

    the CESR Version is provided by a special Count Code that specifies the Version of all the CESR code tables in a given Stream or Stream section.

    \n
    CESR
    \n

    composable-event-streaming-representation

    \n
    CESR
    \n

    composable-event-streaming-representation

    \n
    CLC
    \n

    chain-link-confidentiality

    \n
    CLC
    \n

    chain-link-confidentiality

    \n
    DAR
    \n

    No custom content found for vlei1:DAR

    \n
    DEL
    \n

    duplicitous-event-log

    \n
    DEL
    \n

    duplicitous-event-log

    \n
    ECR
    \n

    engagement-context-role

    \n
    ECR
    \n

    engagement-context-role

    \n
    GAR
    \n

    gleif-authorized-representative

    \n
    GAR
    \n

    gleif-authorized-representative

    \n
    GLEIS
    \n

    Global Legal Entity Identifier System

    \n
    GLEIS
    \n

    Global Legal Entity Identifier System

    \n
    IPEX
    \n

    issuance-and-presentation-exchange-protocol

    \n
    IPEX
    \n

    issuance-and-presentation-exchange-protocol

    \n
    KA2CE
    \n

    keri-agreement-algorithm-for-control-establishment

    \n
    KA2CE
    \n

    keri-agreement-algorithm-for-control-establishment

    \n
    KAACE
    \n

    keri-agreement-algorithm-for-control-establishment

    \n
    KAACE
    \n

    keri-agreement-algorithm-for-control-establishment

    \n
    KAPI
    \n

    Application programmer interfaces (APIs) for the various components in the KERI ecosystem such as Controllers, Agents, Witnesses, Watchers, Registrars etc need by which they can share information. The unique properties of the KERI protocol require APIs that preserve those properties. We call the set of APIs the KERI API.

    \n
    KAPI
    \n

    Application programmer interfaces (APIs) for the various components in the KERI ecosystem such as Controllers, Agents, Witnesses, Watchers, Registrars etc need by which they can share information. The unique properties of the KERI protocol require APIs that preserve those properties. We call the set of APIs the KERI API.

    \n
    KAWA
    \n

    keri’s-algorithm-for-witness-agreement

    \n
    KAWA
    \n

    keri’s-algorithm-for-witness-agreement

    \n
    KEL
    \n

    A Key Event Log.

    \n
    KEL
    \n

    A Key Event Log.

    \n
    KERI
    \n

    key-event-receipt-infrastructure

    \n
    KERI
    \n

    key-event-receipt-infrastructure

    \n
    KERIA-agent
    \n

    An agent in keria terms, is an instance of a keystore (hab) that runs in a given instance of the KERIA agent server.

    \n
    KERIA-agent
    \n

    An agent in keria terms, is an instance of a keystore (hab) that runs in a given instance of the KERIA agent server.

    \n
    KERIA
    \n

    KERI Agent in the cloud. The KERIA service will expose 3 separate HTTP endpoints on 3 separate network interfaces.

    \n
    KERIA
    \n

    KERI Agent in the cloud. The KERIA service will expose 3 separate HTTP endpoints on 3 separate network interfaces.

    \n
    KERIMask
    \n

    A wallet similar to MetaMask, the manifestation will be a browser extension and it will connect to KERIA servers in order for a person to control AIDs from their browser.

    \n
    KERIMask
    \n

    A wallet similar to MetaMask, the manifestation will be a browser extension and it will connect to KERIA servers in order for a person to control AIDs from their browser.

    \n
    KERISSE
    \n

    keri-suite-search-engine

    \n
    KERISSE
    \n

    keri-suite-search-engine

    \n
    KERL
    \n

    key-event-receipt-log

    \n
    KERL
    \n

    key-event-receipt-log

    \n
    KID
    \n

    keri-improvement-doc

    \n
    KID
    \n

    keri-improvement-doc

    \n
    KRAM
    \n

    keri-request-authentication-method

    \n
    KRAM
    \n

    keri-request-authentication-method

    \n
    OOBI
    \n

    out-of-band-introduction

    \n
    OOBI
    \n

    out-of-band-introduction

    \n
    OOR
    \n

    No custom content found for vlei1:OOR

    \n
    PID
    \n

    percolated-information-discovery

    \n
    PID
    \n

    percolated-information-discovery

    \n
    PTEL
    \n

    public-transaction-event-log

    \n
    PTEL
    \n

    public-transaction-event-log

    \n
    QAR
    \n

    No custom content found for vlei1:QAR

    \n
    QVI
    \n

    No custom content found for vlei1:QVI

    \n
    RID
    \n

    root-autonomic-identifier

    \n
    RID
    \n

    root-autonomic-identifier

    \n
    RUN
    \n

    The acronym for the new peer-to-peer end-verifiable monotonic update policy is RUN (Read, Update, Nullify).

    \n
    RUN
    \n

    The acronym for the new peer-to-peer end-verifiable monotonic update policy is RUN (Read, Update, Nullify).

    \n
    SAD
    \n

    self-addressing-data

    \n
    SAD
    \n

    self-addressing-data

    \n
    SAID
    \n

    self-addressing-identifier

    \n
    SAID
    \n

    self-addressing-identifier

    \n
    SCID
    \n

    self-certifying-identifier

    \n
    SCID
    \n

    self-certifying-identifier

    \n
    SKRAP
    \n

    signify-keria-request-authentication-protocol

    \n
    SKRAP
    \n

    signify-keria-request-authentication-protocol

    \n
    SKWA
    \n

    simple-keri-for-web-auth

    \n
    SKWA
    \n

    simple-keri-for-web-auth

    \n
    SPAC
    \n

    secure-private-authentic-confidentiality

    \n
    SPAC
    \n

    secure-private-authentic-confidentiality

    \n
    SSI
    \n

    No custom content found for toip1:SSI

    \n
    TEL
    \n

    transaction-event-log

    \n
    TEL
    \n

    transaction-event-log

    \n
    TOAD
    \n

    threshold-of-accountable-duplicity

    \n
    TOAD
    \n

    threshold-of-accountable-duplicity

    \n
    TSP
    \n

    trust-spanning-protocol

    \n
    TSP
    \n

    trust-spanning-protocol

    \n
    VCTEL
    \n

    virtual-credential-transaction-event-log

    \n
    VCTEL
    \n

    virtual-credential-transaction-event-log

    \n
    abandoned-identifier
    \n

    An AID is abandoned when either the inception-event or a subsequent rotation-event rotates to an empty next key digest list (which means the next threshold must also be 0).

    \n
    abandoned-identifier
    \n

    An AID is abandoned when either the inception-event or a subsequent rotation-event rotates to an empty next key digest list (which means the next threshold must also be 0).

    \n
    access-controlled-interaction
    \n

    Access controlled actions like submitting a report. If you already have that report then load balancer needs a mechanism to drop repeated requests.

    \n
    access-controlled-interaction
    \n

    Access controlled actions like submitting a report. If you already have that report then load balancer needs a mechanism to drop repeated requests.

    \n
    agency
    \n

    No custom content found for toip1:agency

    \n
    agent
    \n

    No custom content found for toip1:agent

    \n
    ambient-verifiability
    \n

    Verifiable by anyone, anywhere, at anytime. Although this seems a general term, it was first used in the context of KERI by Sam Smith.

    \n
    ambient-verifiability
    \n

    Verifiable by anyone, anywhere, at anytime. Although this seems a general term, it was first used in the context of KERI by Sam Smith.

    \n
    ample
    \n

    The minimum required number of participants in an event to have a supermajority so that one and only one agreement or consensus on an event may be reached. This is a critical part of the KAACE agreement algorithm (consensus) in KERI for establishing consensus between witnesses on the key state of a KERI identifier.

    \n
    ample
    \n

    The minimum required number of participants in an event to have a supermajority so that one and only one agreement or consensus on an event may be reached. This is a critical part of the KAACE agreement algorithm (consensus) in KERI for establishing consensus between witnesses on the key state of a KERI identifier.

    \n
    attribute
    \n

    No custom content found for toip1:attribute

    \n
    attributional-trust
    \n

    No custom content found for toip1:attributional-trust

    \n
    authentic-chained-data-container
    \n

    a directed acyclic graph with properties to provide a verifiable chain of proof-of-authorship. See the full specification

    \n
    authentic-chained-data-container
    \n

    a directed acyclic graph with properties to provide a verifiable chain of proof-of-authorship. See the full specification

    \n
    authentic-data-container
    \n

    A mechanism for conveying data that allows the authenticity of its content to be proved.

    \n
    authentic-data-container
    \n

    A mechanism for conveying data that allows the authenticity of its content to be proved.

    \n
    authentic-provenance-chain
    \n

    Interlinked presentation-exchange of evidence that allow data to be tracked back to its origin in an objectively verifiable way.

    \n
    authentic-provenance-chain
    \n

    Interlinked presentation-exchange of evidence that allow data to be tracked back to its origin in an objectively verifiable way.

    \n
    authoritative
    \n

    Established control authority over an identifier, that has received attestations to it, e.g. control over the identifier has been verified to its root-of-trust. So the (control over the) identifier is ‘authoritative’ because it can be considered accurate, renowned, honourable and / or respected.

    \n
    authoritative
    \n

    Established control authority over an identifier, that has received attestations to it, e.g. control over the identifier has been verified to its root-of-trust. So the (control over the) identifier is ‘authoritative’ because it can be considered accurate, renowned, honourable and / or respected.

    \n
    authorized-vlei-representative
    \n

    Also ‘AVR’. This a representative of a Legal Entity that are authorized by the DAR of a Legal Entity to request issuance and revocation of:

    \n
    authorized-vlei-representative
    \n

    Also ‘AVR’. This a representative of a Legal Entity that are authorized by the DAR of a Legal Entity to request issuance and revocation of:

    \n
    autonomic-identifier
    \n

    a self-managing cryptonymous identifier that must be self-certifying (self-authenticating) and must be encoded in CESR as a qualified Cryptographic primitive.

    \n
    autonomic-identifier
    \n

    a self-managing cryptonymous identifier that must be self-certifying (self-authenticating) and must be encoded in CESR as a qualified Cryptographic primitive.

    \n
    autonomic-identifier
    \n

    a self-managing cryptonymous identifier that must be self-certifying (self-authenticating) and must be encoded in CESR as a qualified Cryptographic primitive.

    \n
    autonomic-trust-basis
    \n

    When we use an AID as the root-of-trust we form a so-called autonomic trust basis. This is diagrammed as follows:

    \n
    autonomic-trust-basis
    \n

    When we use an AID as the root-of-trust we form a so-called autonomic trust basis. This is diagrammed as follows:

    \n
    backer
    \n

    an alternative to a traditional KERI based Witness commonly using Distributed Ledger Technology (DLT) to store the KEL for an identifier.

    \n
    backer
    \n

    an alternative to a traditional KERI based Witness commonly using Distributed Ledger Technology (DLT) to store the KEL for an identifier.

    \n
    base-media-type
    \n

    credential plus ld plus json.

    \n
    base-media-type
    \n

    credential plus ld plus json.

    \n
    bespoke-credential
    \n

    It’s an issuance-event of the disclosure or presentation of other ACDCs. Bespoke means Custom or tailor made.

    \n
    bespoke-credential
    \n

    It’s an issuance-event of the disclosure or presentation of other ACDCs. Bespoke means Custom or tailor made.

    \n
    best-available-data-acceptance-mechanism
    \n

    The BADA security model provides a degree of replay-attack protection. The attributate originator (issuer, author, source) is provided by an attached signature couple or quadruple. A single reply could have multiple originators. When used as an authorization the reply attributes may include the identifier of the authorizer and the logic for processing the associated route may require a matching attachment.

    \n
    best-available-data-acceptance-mechanism
    \n

    The BADA security model provides a degree of replay-attack protection. The attributate originator (issuer, author, source) is provided by an attached signature couple or quadruple. A single reply could have multiple originators. When used as an authorization the reply attributes may include the identifier of the authorizer and the logic for processing the associated route may require a matching attachment.

    \n
    bexter
    \n

    The class variable length text that is used in CESR and preserves the round-trip transposability using Base64 URL safe-only encoding even though the text variable length.

    \n
    bexter
    \n

    The class variable length text that is used in CESR and preserves the round-trip transposability using Base64 URL safe-only encoding even though the text variable length.

    \n
    bis
    \n

    bis = backed vc issue, registry-backed transaction event log credential issuance

    \n
    bis
    \n

    bis = backed vc issue, registry-backed transaction event log credential issuance

    \n
    bivalent
    \n

    A nested set of layered delegations in a delegation tree, wraps each layer with compromise recovery protection of the next higher layer. This maintains the security of the root layer for compromise recovery all the way out to the leaves in spite of the leaves using less secure key management methods.

    \n
    bivalent
    \n

    A nested set of layered delegations in a delegation tree, wraps each layer with compromise recovery protection of the next higher layer. This maintains the security of the root layer for compromise recovery all the way out to the leaves in spite of the leaves using less secure key management methods.

    \n
    blind-oobi
    \n

    A blind OOBI means that you have some mechanisms in place for verifying the AID instead of via the OOBI itself. A blind OOBI is essentially a URL. It’s called “blind” because the witness is not in the OOBI itself. You haves other ways of verifying the AID supplied.

    \n
    blind-oobi
    \n

    A blind OOBI means that you have some mechanisms in place for verifying the AID instead of via the OOBI itself. A blind OOBI is essentially a URL. It’s called “blind” because the witness is not in the OOBI itself. You haves other ways of verifying the AID supplied.

    \n
    blinded-revocation-registry
    \n

    The current state of a transaction-event-log (TEL) may be hidden or blinded such that the only way for a potential verifier of the state to observe that state is when the controller of a designated AID discloses it at the time of presentation.

    \n
    blinded-revocation-registry
    \n

    The current state of a transaction-event-log (TEL) may be hidden or blinded such that the only way for a potential verifier of the state to observe that state is when the controller of a designated AID discloses it at the time of presentation.

    \n
    bran
    \n

    A cryptographic string used as a primary input, a seed, for creating key material for and autonomic-identifier.

    \n
    bran
    \n

    A cryptographic string used as a primary input, a seed, for creating key material for and autonomic-identifier.

    \n
    brv
    \n

    brv = backed vc revoke, registry-backed transaction event log credential revocation

    \n
    brv
    \n

    brv = backed vc revoke, registry-backed transaction event log credential revocation

    \n
    cesr-proof-signatures
    \n

    CESR Proof Signatures is an extension to the Composable Event Streaming Representation [CESR] that provides transposable cryptographic signature attachments on self-addressing data SAD. Any SAD, such as an Authentic Chained Data Container (ACDC) Verifiable Credential [ACDC], for example, may be signed with a CESR Proof Signature and streamed along with any other CESR content. In addition, a signed SAD can be embedded inside another SAD, and the CESR proof signature attachment can be transposed across envelope boundaries and streamed without losing any cryptographic integrity.

    \n
    cesr-proof-signatures
    \n

    CESR Proof Signatures is an extension to the Composable Event Streaming Representation [CESR] that provides transposable cryptographic signature attachments on self-addressing data SAD. Any SAD, such as an Authentic Chained Data Container (ACDC) Verifiable Credential [ACDC], for example, may be signed with a CESR Proof Signature and streamed along with any other CESR content. In addition, a signed SAD can be embedded inside another SAD, and the CESR proof signature attachment can be transposed across envelope boundaries and streamed without losing any cryptographic integrity.

    \n
    cesride
    \n

    is concerned with parsing CESR primitives.

    \n
    cesride
    \n

    is concerned with parsing CESR primitives.

    \n
    chain-link-confidential-disclosure
    \n

    contractual restrictions and liability imposed on a recipient of a disclosed ACDC that contractually link the obligations to protect the disclosure of the information contained within the ACDC to all subsequent recipients as the information moves downstream. The Chain-link Confidential Disclosure provides a mechanism for protecting against un-permissioned exploitation of the data disclosed via an ACDC.

    \n
    chain-link-confidential-disclosure
    \n

    contractual restrictions and liability imposed on a recipient of a disclosed ACDC that contractually link the obligations to protect the disclosure of the information contained within the ACDC to all subsequent recipients as the information moves downstream. The Chain-link Confidential Disclosure provides a mechanism for protecting against un-permissioned exploitation of the data disclosed via an ACDC.

    \n
    chain-link-confidentiality
    \n

    Chains together a sequence of disclosee which may also include a set of constraints on data usage by both second and third parties expressed in legal language such that the constraints apply to all recipients of the disclosed data thus the phrase “chain link” confidentiality. Each Disclosee in the sequence in turn is the discloser to the next Disclosee.

    \n
    chain-link-confidentiality
    \n

    Chains together a sequence of disclosee which may also include a set of constraints on data usage by both second and third parties expressed in legal language such that the constraints apply to all recipients of the disclosed data thus the phrase “chain link” confidentiality. Each Disclosee in the sequence in turn is the discloser to the next Disclosee.

    \n
    cigar
    \n

    An unindexed-signature.

    \n
    cigar
    \n

    An unindexed-signature.

    \n
    code-table-selector
    \n

    the first character in the text code of composable-event-streaming-representation that determines which code-table to use, either a default code table or a code table selector character when not the default code table. Thus the 1 character text code table must do double duty. It must provide selectors for the different text code tables and also provide type codes for the most popular primitives that have a pad size of 1 that appear is the default code table.

    \n
    code-table-selector
    \n

    the first character in the text code of composable-event-streaming-representation that determines which code-table to use, either a default code table or a code table selector character when not the default code table. Thus the 1 character text code table must do double duty. It must provide selectors for the different text code tables and also provide type codes for the most popular primitives that have a pad size of 1 that appear is the default code table.

    \n
    cold-start-stream-parsing
    \n

    After a reboot (or cold start), a stream processor looks for framing information to know how to parse groups of elements in the stream.

    \n
    cold-start-stream-parsing
    \n

    After a reboot (or cold start), a stream processor looks for framing information to know how to parse groups of elements in the stream.

    \n
    compact-disclosure
    \n

    a disclosure of an ACDC that discloses only the SAID(s) of some or all of its field maps. Both Partial and Selective Disclosure rely on Compact Disclosure.

    \n
    compact-disclosure
    \n

    a disclosure of an ACDC that discloses only the SAID(s) of some or all of its field maps. Both Partial and Selective Disclosure rely on Compact Disclosure.

    \n
    compact-variant
    \n

    Either a most-compact version of an ACDC or the fully-compact version of an ACDC. An issuer commitment via a signature to any variant of ACDC (compact, full, etc) makes a cryptographic commitment to the top-level section fields shared by all variants of that ACDC because the value of a top-level-section is either the SAD or the SAID of the SAD of the associated section.

    \n
    compact-variant
    \n

    Either a most-compact version of an ACDC or the fully-compact version of an ACDC. An issuer commitment via a signature to any variant of ACDC (compact, full, etc) makes a cryptographic commitment to the top-level section fields shared by all variants of that ACDC because the value of a top-level-section is either the SAD or the SAID of the SAD of the associated section.

    \n
    composability
    \n

    short for text-binary concatenation composability. An encoding has Composability when any set of Self-Framing concatenated Primitives expressed in either the Text domain or Binary domain may be converted as a group to the other Domain and back again without loss.

    \n
    composability
    \n

    short for text-binary concatenation composability. An encoding has Composability when any set of Self-Framing concatenated Primitives expressed in either the Text domain or Binary domain may be converted as a group to the other Domain and back again without loss.

    \n
    composable-event-streaming-representation
    \n

    Also called ‘CESR’. This compact encoding scheme fully supports both textual and binary streaming applications of attached crypto material of all types. This approach includes composability in both the textual and binary streaming domains. The primitive may be the minimum possible but still composable size.

    \n
    composable-event-streaming-representation
    \n

    Also called ‘CESR’. This compact encoding scheme fully supports both textual and binary streaming applications of attached crypto material of all types. This approach includes composability in both the textual and binary streaming domains. The primitive may be the minimum possible but still composable size.

    \n
    composable
    \n

    composability

    \n
    composable
    \n

    composability

    \n
    configuration-traits
    \n

    a list of specially defined strings representing a configuration of a KEL. See #configuration-traits-field.

    \n
    configuration-traits
    \n

    a list of specially defined strings representing a configuration of a KEL. See #configuration-traits-field.

    \n
    contextual-linkability
    \n

    No custom content found for toip1:contextual-linkability

    \n
    contingent-disclosure
    \n

    Contingent disclosure is a privacy-preserving mechanism where only specific information or attributes are disclosed under defined conditions. It enables the selective sharing of data such that only the required information is revealed to a relying party, without exposing other unrelated or sensitive details. chain-link-confidentiality is a form of contingent disclosure.

    \n
    contingent-disclosure
    \n

    Contingent disclosure is a privacy-preserving mechanism where only specific information or attributes are disclosed under defined conditions. It enables the selective sharing of data such that only the required information is revealed to a relying party, without exposing other unrelated or sensitive details. chain-link-confidentiality is a form of contingent disclosure.

    \n
    contractually-protected-disclosure
    \n

    a discloser of an ACDC that leverages a Graduated Disclosure so that contractual protections can be put into place to minimize the leakage of information that can be correlated. A Contractually Protected Disclosure partially or selectively reveals the information contained within the ACDC in the initial interaction with the recipient and discloses further information only after the recipient agrees to the terms established by the discloser. More information may be progressively revealed as the recipient agrees to additional terms.

    \n
    contractually-protected-disclosure
    \n

    a discloser of an ACDC that leverages a Graduated Disclosure so that contractual protections can be put into place to minimize the leakage of information that can be correlated. A Contractually Protected Disclosure partially or selectively reveals the information contained within the ACDC in the initial interaction with the recipient and discloses further information only after the recipient agrees to the terms established by the discloser. More information may be progressively revealed as the recipient agrees to additional terms.

    \n
    control-authority
    \n

    No custom content found for toip1:control-authority

    \n
    controller
    \n

    an entity that can cryptographically prove the control authority over an AID and make changes on the associated KEL. A controller of a multi-sig AID may consist of multiple controlling entities.

    \n
    controller
    \n

    an entity that can cryptographically prove the control authority over an AID and make changes on the associated KEL. A controller of a multi-sig AID may consist of multiple controlling entities.

    \n
    cooperative-delegation
    \n

    The way KERI addresses the security-cost-performance-architecture-trade-off is via delegation of identifier prefixes. Delegation includes a delegator and a delegate. For this reason we may call this a cooperative delegation. This is a somewhat novel form of delegation.

    \n
    cooperative-delegation
    \n

    The way KERI addresses the security-cost-performance-architecture-trade-off is via delegation of identifier prefixes. Delegation includes a delegator and a delegate. For this reason we may call this a cooperative delegation. This is a somewhat novel form of delegation.

    \n
    correlation
    \n

    In our scope this is an identifier used to indicate that external parties have observed how wallet contents are related.

    \n
    correlation
    \n

    In our scope this is an identifier used to indicate that external parties have observed how wallet contents are related.

    \n
    count-code
    \n

    group-framing-code

    \n
    count-code
    \n

    group-framing-code

    \n
    credential
    \n

    Evidence of authority, status, rights, entitlement to privileges, or the like.

    \n
    credential
    \n

    Evidence of authority, status, rights, entitlement to privileges, or the like.

    \n
    current-threshold
    \n

    represents the number or fractional weights of signatures from the given set of current keys required to be attached to a Message for the Message to be considered fully signed.

    \n
    current-threshold
    \n

    represents the number or fractional weights of signatures from the given set of current keys required to be attached to a Message for the Message to be considered fully signed.

    \n
    custodial-agent
    \n

    An agent owned by an individual who has granted signing-authority to a custodian who is usually also the host of the running agent software. Using partial-rotation to facilitate custodial key management the owner of the identifier retains rotation-authority and thus the ability to “fire” the custodian at any time without requiring the cooperation of the custodian.

    \n
    custodial-agent
    \n

    An agent owned by an individual who has granted signing-authority to a custodian who is usually also the host of the running agent software. Using partial-rotation to facilitate custodial key management the owner of the identifier retains rotation-authority and thus the ability to “fire” the custodian at any time without requiring the cooperation of the custodian.

    \n
    custodial-rotation
    \n

    Rotation is based on control authority that is split between two key sets. The first for signing authority and the second (pre-rotated) for rotation authority, the associated thresholds and key list can be structured so that a designated custodial agent can hold signing authority, while the original controller can hold exclusive rotation authority.

    \n
    custodial-rotation
    \n

    Rotation is based on control authority that is split between two key sets. The first for signing authority and the second (pre-rotated) for rotation authority, the associated thresholds and key list can be structured so that a designated custodial agent can hold signing authority, while the original controller can hold exclusive rotation authority.

    \n
    dead-attack
    \n

    an attack on an establishment-event that occurs after the Key-state for that event has become stale because a later establishment event has rotated the sets of signing and pre-rotated keys to new sets.

    \n
    dead-attack
    \n

    an attack on an establishment-event that occurs after the Key-state for that event has become stale because a later establishment event has rotated the sets of signing and pre-rotated keys to new sets.

    \n
    decentralized-identity
    \n

    KERIs definition of decentralization (centralization) is about control not spatial distribution. In our definition decentralized is not necessarily the same as distributed. By distributed we mean that activity happens at more than one site. Thus decentralization is about control and distribution is about place. To elaborate, when we refer to decentralized infrastructure we mean infrastructure under decentralized (centralized) control no matter its spatial distribution. Thus decentralized infrastructure is infrastructure sourced or controlled by more than one entity.

    \n
    decentralized-identity
    \n

    KERIs definition of decentralization (centralization) is about control not spatial distribution. In our definition decentralized is not necessarily the same as distributed. By distributed we mean that activity happens at more than one site. Thus decentralization is about control and distribution is about place. To elaborate, when we refer to decentralized infrastructure we mean infrastructure under decentralized (centralized) control no matter its spatial distribution. Thus decentralized infrastructure is infrastructure sourced or controlled by more than one entity.

    \n
    delegated-identifier
    \n

    Matches the act of delegation with the appropriate digital twin. Consequently when applied recursively, delegation may be used to compose arbitrarily complex trees of hierarchical (delegative) key management event streams. This is a most powerful capability that may provide an essential building block for a generic universal decentralized key management infrastructure (DKMI) that is also compatible with the demand of generic event streaming applications.

    \n
    delegated-identifier
    \n

    Matches the act of delegation with the appropriate digital twin. Consequently when applied recursively, delegation may be used to compose arbitrarily complex trees of hierarchical (delegative) key management event streams. This is a most powerful capability that may provide an essential building block for a generic universal decentralized key management infrastructure (DKMI) that is also compatible with the demand of generic event streaming applications.

    \n
    delegation
    \n

    No custom content found for toip1:delegation

    \n
    derivation-code
    \n

    To properly extract and use the public-key-infrastructure embedded in a self-certifying-identifier we need to know the cryptographic signing scheme used by the key-pair. KERI includes this very compactly in the identifier, by replacing the pad character (a character used to fill a void to able to always end up with a fixed length public key) with a special character that encodes the derivation process. We call this the derivation code.

    \n
    derivation-code
    \n

    To properly extract and use the public-key-infrastructure embedded in a self-certifying-identifier we need to know the cryptographic signing scheme used by the key-pair. KERI includes this very compactly in the identifier, by replacing the pad character (a character used to fill a void to able to always end up with a fixed length public key) with a special character that encodes the derivation process. We call this the derivation code.

    \n
    designated-aliases
    \n

    An AID controller can designate aliases which are AID controlled identifiers such as a did:keri, did:webs, etc. The AID controller issues a designated aliases attestation (no issuee) that lists the identifiers and manages the status through a registry anchored to their KEL. See the designated aliases docs

    \n
    designated-aliases
    \n

    An AID controller can designate aliases which are AID controlled identifiers such as a did:keri, did:webs, etc. The AID controller issues a designated aliases attestation (no issuee) that lists the identifiers and manages the status through a registry anchored to their KEL. See the designated aliases docs

    \n
    designated-authorized-representative
    \n

    Also ‘DAR’. These are representatives of a Legal Entity that are authorized by the Legal Entity to act officially on behalf of the Legal Entity. DARs can authorize:

    \n
    designated-authorized-representative
    \n

    Also ‘DAR’. These are representatives of a Legal Entity that are authorized by the Legal Entity to act officially on behalf of the Legal Entity. DARs can authorize:

    \n
    diger
    \n

    A primitive that represents a digest. It has the ability to verify that an input hashes to its raw value.

    \n
    diger
    \n

    A primitive that represents a digest. It has the ability to verify that an input hashes to its raw value.

    \n
    dip
    \n

    dip = delcept, delegated inception

    \n
    dip
    \n

    dip = delcept, delegated inception

    \n
    direct-mode
    \n

    Two primary trust modalities motivated the KERI design, One of these is the direct (one-to-one) mode, in which the identity controller establishes control via verified signatures of the controlling key-pair. The direct mode doesn’t use witnesses nor key-event-receipt-logs, but has direct (albeit intermittent) network contact with the validator.

    \n
    direct-mode
    \n

    Two primary trust modalities motivated the KERI design, One of these is the direct (one-to-one) mode, in which the identity controller establishes control via verified signatures of the controlling key-pair. The direct mode doesn’t use witnesses nor key-event-receipt-logs, but has direct (albeit intermittent) network contact with the validator.

    \n
    disclosee
    \n

    a role of an entity that is a recipient to which an ACDC is disclosed. A Disclosee may or may not be the Issuee of the disclosed ACDC.

    \n
    disclosee
    \n

    a role of an entity that is a recipient to which an ACDC is disclosed. A Disclosee may or may not be the Issuee of the disclosed ACDC.

    \n
    discloser
    \n

    a role of an entity that discloses an authentic-chained-data-container. A Discloser may or may not be the Issuer of the disclosed ACDC.

    \n
    discloser
    \n

    a role of an entity that discloses an authentic-chained-data-container. A Discloser may or may not be the Issuer of the disclosed ACDC.

    \n
    discovery
    \n

    No custom content found for toip1:discovery

    \n
    dnd
    \n

    Do Not Delegate is a flag/attribute for an AID, and this is default set to “you can delegate.”

    \n
    dnd
    \n

    Do Not Delegate is a flag/attribute for an AID, and this is default set to “you can delegate.”

    \n
    domain
    \n

    a representation of a primitive either Text (T), Binary (B) or Raw binary ®.

    \n
    domain
    \n

    a representation of a primitive either Text (T), Binary (B) or Raw binary ®.

    \n
    drt
    \n

    drt = deltate, delegated rotation

    \n
    drt
    \n

    drt = deltate, delegated rotation

    \n
    dual-indexed-codes
    \n

    a context-specific coding scheme, for the common use case of thresholded multi-signature schemes in CESR.

    \n
    dual-indexed-codes
    \n

    a context-specific coding scheme, for the common use case of thresholded multi-signature schemes in CESR.

    \n
    dual-text-binary-encoding-format
    \n

    An encoding format that allows for both text and binary encoding format, which is fully interchangeable. The composability property enables the round trip conversion en-masse of concatenated primitives between the text domain and binary domain while maintaining the separability of individual primitives.

    \n
    dual-text-binary-encoding-format
    \n

    An encoding format that allows for both text and binary encoding format, which is fully interchangeable. The composability property enables the round trip conversion en-masse of concatenated primitives between the text domain and binary domain while maintaining the separability of individual primitives.

    \n
    duplicitous-event-log
    \n

    This is a record of inconsistent event messages produced by a given controller or witness with respect to a given key-event-receipt-log. The duplicitous events are indexed to the corresponding event in a KERL.

    \n
    duplicitous-event-log
    \n

    This is a record of inconsistent event messages produced by a given controller or witness with respect to a given key-event-receipt-log. The duplicitous events are indexed to the corresponding event in a KERL.

    \n
    duplicity-detection
    \n

    A mechanism to detect duplicity in cryptographically secured event logs.

    \n
    duplicity-detection
    \n

    A mechanism to detect duplicity in cryptographically secured event logs.

    \n
    duplicity
    \n

    the existence of more than one version of a Verifiable key-event-log for a given AID.

    \n
    duplicity
    \n

    the existence of more than one version of a Verifiable key-event-log for a given AID.

    \n
    edge
    \n

    a top-level field map within an ACDC that provides edges that connect to other ACDCs, forming a labeled property graph (LPG).

    \n
    edge
    \n

    a top-level field map within an ACDC that provides edges that connect to other ACDCs, forming a labeled property graph (LPG).

    \n
    end-role
    \n

    An end role is an authorization for one AID to serve in a role for another AID.

    \n
    end-role
    \n

    An end role is an authorization for one AID to serve in a role for another AID.

    \n
    engagement-context-role
    \n

    A person that represents the legal-entity in a functional or in another context role and is issued an ECR vlei-credential.

    \n
    engagement-context-role
    \n

    A person that represents the legal-entity in a functional or in another context role and is issued an ECR vlei-credential.

    \n
    escrow-state
    \n

    The current state of all the temporary storage locations (what events are waiting for what other information) that KERI protocol needs to keep track of, due to its fully asynchronous nature.

    \n
    escrow-state
    \n

    The current state of all the temporary storage locations (what events are waiting for what other information) that KERI protocol needs to keep track of, due to its fully asynchronous nature.

    \n
    establishment-event
    \n

    a key-event that establishes or changes the key state which includes the current set of authoritative keypairs (key state) for an AID.

    \n
    establishment-event
    \n

    a key-event that establishes or changes the key state which includes the current set of authoritative keypairs (key state) for an AID.

    \n
    exn
    \n

    exn = exchange

    \n
    exn
    \n

    exn = exchange

    \n
    exp
    \n

    exp = expose, sealed data exposition

    \n
    exp
    \n

    exp = expose, sealed data exposition

    \n
    field-map
    \n

    A traditional key:value pair renamed to avoid confusing with the cryptographic use of the term ‘key’.

    \n
    field-map
    \n

    A traditional key:value pair renamed to avoid confusing with the cryptographic use of the term ‘key’.

    \n
    first-seen
    \n

    refers to the first instance of a message received by any witness or watcher. The first-seen event is always seen, and can never be unseen. It forms the basis for duplicity detection in KERI-based systems.

    \n
    first-seen
    \n

    refers to the first instance of a message received by any witness or watcher. The first-seen event is always seen, and can never be unseen. It forms the basis for duplicity detection in KERI-based systems.

    \n
    frame-code
    \n

    framing-code

    \n
    frame-code
    \n

    framing-code

    \n
    framing-code
    \n

    a code that delineates a number of characters or bytes, as appropriate, that can be extracted atomically from a stream.

    \n
    framing-code
    \n

    a code that delineates a number of characters or bytes, as appropriate, that can be extracted atomically from a stream.

    \n
    full-disclosure
    \n

    a disclosure of an ACDC that discloses the full details of some or all of its field maps. In the context of selective-disclosure, Full Disclosure means detailed disclosure of the selectively disclosed attributes, not the detailed disclosure of all selectively disclosable attributes. In the context of partial-disclosure, Full Disclosure means detailed disclosure of the field map that was so far only partially disclosed.

    \n
    full-disclosure
    \n

    a disclosure of an ACDC that discloses the full details of some or all of its field maps. In the context of selective-disclosure, Full Disclosure means detailed disclosure of the selectively disclosed attributes, not the detailed disclosure of all selectively disclosable attributes. In the context of partial-disclosure, Full Disclosure means detailed disclosure of the field map that was so far only partially disclosed.

    \n
    fully-compact
    \n

    The most compact form of an ACDC. This is the only signed variant of an ACDC and this signature is anchored in a transaction-event-log (TEL) for the ACDC.

    \n
    fully-compact
    \n

    The most compact form of an ACDC. This is the only signed variant of an ACDC and this signature is anchored in a transaction-event-log (TEL) for the ACDC.

    \n
    fully-expanded
    \n

    The most user-friendly version of an ACDC credential. It doesn’t need to be signed and typically is not signed since the most compact version which is signed can be computed from this form and then the signature can be looked up in the TEL of the ACDC in question.

    \n
    fully-expanded
    \n

    The most user-friendly version of an ACDC credential. It doesn’t need to be signed and typically is not signed since the most compact version which is signed can be computed from this form and then the signature can be looked up in the TEL of the ACDC in question.

    \n
    ghost-credential
    \n

    Is a valid credential within in a 90 days grace period (the revocation transaction time frame before it’s booked to revocation registry).

    \n
    ghost-credential
    \n

    Is a valid credential within in a 90 days grace period (the revocation transaction time frame before it’s booked to revocation registry).

    \n
    gleif-authorized-representative
    \n

    A representative of GLEIF authorized to perform the identity verifications requirements needed to issue the QVI vLEI Credential.

    \n
    gleif-authorized-representative
    \n

    A representative of GLEIF authorized to perform the identity verifications requirements needed to issue the QVI vLEI Credential.

    \n
    graduated-disclosure
    \n

    a disclosure of an ACDC that does not reveal its entire content in the initial interaction with the recipient and, instead, partially or selectively reveals only the information contained within the ACDC necessary to further a transaction with the recipient. A Graduated disclosure may involve multiple steps where more information is progressively revealed as the recipient satisfies the conditions set by the discloser. compact-disclosure, partial-disclosure, selective-disclosure, and full-disclosure are all Graduated disclosure mechanisms.

    \n
    graduated-disclosure
    \n

    a disclosure of an ACDC that does not reveal its entire content in the initial interaction with the recipient and, instead, partially or selectively reveals only the information contained within the ACDC necessary to further a transaction with the recipient. A Graduated disclosure may involve multiple steps where more information is progressively revealed as the recipient satisfies the conditions set by the discloser. compact-disclosure, partial-disclosure, selective-disclosure, and full-disclosure are all Graduated disclosure mechanisms.

    \n
    graph-fragment
    \n

    An ACDC is a verifiable data structure and part of a graph, consisting of a node property and one or two edge proporties.

    \n
    graph-fragment
    \n

    An ACDC is a verifiable data structure and part of a graph, consisting of a node property and one or two edge proporties.

    \n
    group-code
    \n

    group-framing-code

    \n
    group-code
    \n

    group-framing-code

    \n
    group-framing-code
    \n

    special Framing Codes that can be specified to support groups of Primitives which make them pipelinable. Self-framing grouping using Count Codes is one of the primary advantages of composable encoding.

    \n
    group-framing-code
    \n

    special Framing Codes that can be specified to support groups of Primitives which make them pipelinable. Self-framing grouping using Count Codes is one of the primary advantages of composable encoding.

    \n
    hab
    \n

    A Hab is a keystore for one identifier. The Python implementation in keripy, also used by keria uses LMDB to store key material and all other data.

    \n
    hab
    \n

    A Hab is a keystore for one identifier. The Python implementation in keripy, also used by keria uses LMDB to store key material and all other data.

    \n
    habery
    \n

    ‘Hab’ comes from ‘Habitat’. It’s a place where multi-sigs and AIDs are linked. Habery manages a collection of hab. A Hab is a data structure (a Python object).

    \n
    habery
    \n

    ‘Hab’ comes from ‘Habitat’. It’s a place where multi-sigs and AIDs are linked. Habery manages a collection of hab. A Hab is a data structure (a Python object).

    \n
    hierarchical-composition
    \n

    Encoding protocol that is composable in a hierarchy and enables pipelining (multiplexing and de-multiplexing) of complex streams in either text or compact binary. This allows management at scale for high-bandwidth applications.

    \n
    hierarchical-composition
    \n

    Encoding protocol that is composable in a hierarchy and enables pipelining (multiplexing and de-multiplexing) of complex streams in either text or compact binary. This allows management at scale for high-bandwidth applications.

    \n
    icp
    \n

    icp = incept, inception

    \n
    icp
    \n

    icp = incept, inception

    \n
    identity-assurance
    \n

    No custom content found for toip1:identity-assurance

    \n
    inception-event
    \n

    an establishment-event that provides the incepting information needed to derive an AID and establish its initial Key state.

    \n
    inception-event
    \n

    an establishment-event that provides the incepting information needed to derive an AID and establish its initial Key state.

    \n
    inception
    \n

    The operation of creating an AID by binding it to the initial set of authoritative keypairs and any other associated information. This operation is made verifiable and duplicity evident upon acceptance as the inception event that begins the AID’s KEL.

    \n
    inception
    \n

    The operation of creating an AID by binding it to the initial set of authoritative keypairs and any other associated information. This operation is made verifiable and duplicity evident upon acceptance as the inception event that begins the AID’s KEL.

    \n
    indexed-signature
    \n

    Also called siger. An indexed signature attachment is used when signing anything with a multi-key autonomic identifier. The index is included as part of the attachment, so a verifier knows which of the multiple public keys was used to generate a specific signature.

    \n
    indexed-signature
    \n

    Also called siger. An indexed signature attachment is used when signing anything with a multi-key autonomic identifier. The index is included as part of the attachment, so a verifier knows which of the multiple public keys was used to generate a specific signature.

    \n
    indirect-mode
    \n

    Two primary trust modalities motivated the KERI design, One of these is the indirect (one-to-many) mode, which depends on witnessed key event receipt logs (KERL) as a secondary root-of-trust for validating events. This gives rise to the acronym KERI for key event receipt infrastructure.

    \n
    indirect-mode
    \n

    Two primary trust modalities motivated the KERI design, One of these is the indirect (one-to-many) mode, which depends on witnessed key event receipt logs (KERL) as a secondary root-of-trust for validating events. This gives rise to the acronym KERI for key event receipt infrastructure.

    \n
    inquisitor
    \n

    In the ACDC context it’s a general term for someone (in a validating role) that launches an inquiry at some KERI witness.

    \n
    inquisitor
    \n

    In the ACDC context it’s a general term for someone (in a validating role) that launches an inquiry at some KERI witness.

    \n
    integrity
    \n

    ~In KERI’s “security first” approach Authenticity includes technical integrity of data involved. This includes:

    \n
    interaction-event
    \n

    Non-establishment Event that anchors external data to the key-state as established by the most recent prior establishment event.

    \n
    interaction-event
    \n

    Non-establishment Event that anchors external data to the key-state as established by the most recent prior establishment event.

    \n
    interactive-authentication-design
    \n

    A group of approaches having an interactive mechanism that requires a set of requests and responses or challenge responses with challenge response replies for secure authentication.

    \n
    interactive-authentication-design
    \n

    A group of approaches having an interactive mechanism that requires a set of requests and responses or challenge responses with challenge response replies for secure authentication.

    \n
    interceptor
    \n

    a keria class that allows to push events that are happening inside the cloud agent to other backend processes.

    \n
    interceptor
    \n

    a keria class that allows to push events that are happening inside the cloud agent to other backend processes.

    \n
    interleaved-serialization
    \n

    Serializations of different types interleaved in an overarching format

    \n
    interleaved-serialization
    \n

    Serializations of different types interleaved in an overarching format

    \n
    iss
    \n

    iss = vc issue, verifiable credential issuance

    \n
    iss
    \n

    iss = vc issue, verifiable credential issuance

    \n
    issuance-and-presentation-exchange-protocol
    \n

    provides a uniform mechanism for the issuance and presentation of ACDCs in a securely attributable manner.

    \n
    issuance-and-presentation-exchange-protocol
    \n

    provides a uniform mechanism for the issuance and presentation of ACDCs in a securely attributable manner.

    \n
    issuance-event
    \n

    The initial transaction event log event anchored to the issuing AID’s key event log that represents the issuance of an ACDC credential.

    \n
    issuance-event
    \n

    The initial transaction event log event anchored to the issuing AID’s key event log that represents the issuance of an ACDC credential.

    \n
    issuance-exchange
    \n

    A special case of a presentation-exchange where the discloser is the issuer of the origin (Primary) ACDC of the directed-acyclic-graph formed by the set of chained authentic-chained-data-containers so disclosed.

    \n
    issuance-exchange
    \n

    A special case of a presentation-exchange where the discloser is the issuer of the origin (Primary) ACDC of the directed-acyclic-graph formed by the set of chained authentic-chained-data-containers so disclosed.

    \n
    issuee
    \n

    a role of an entity to which the claims of an ACDC are asserted.

    \n
    issuee
    \n

    a role of an entity to which the claims of an ACDC are asserted.

    \n
    issuer
    \n

    a role of an entity that asserts claims and creates an ACDC from these claims.

    \n
    issuer
    \n

    a role of an entity that asserts claims and creates an ACDC from these claims.

    \n
    ixn
    \n

    JSON field name (attribute) for Interaction Event; its content (value) contains a hash pointer. All transaction-event-log events are anchored in a key-event-log in either ixn (interaction-event) or rot (rotation-events). This is the foundation enabling a verifiable credential protocol to be built on top of KERI.

    \n
    ixn
    \n

    JSON field name (attribute) for Interaction Event; its content (value) contains a hash pointer. All transaction-event-log events are anchored in a key-event-log in either ixn (interaction-event) or rot (rotation-events). This is the foundation enabling a verifiable credential protocol to be built on top of KERI.

    \n
    judge
    \n

    A judge is an entity or component that examines the entries of one or more key-event-receipt-log and DELs of a given identifier to validate that the event history is from a non-duplicity controller and has been witnessed by a sufficient number of non-duplicitous witness such that it may be trusted or conversely not-trusted by a validator.

    \n
    judge
    \n

    A judge is an entity or component that examines the entries of one or more key-event-receipt-log and DELs of a given identifier to validate that the event history is from a non-duplicity controller and has been witnessed by a sufficient number of non-duplicitous witness such that it may be trusted or conversely not-trusted by a validator.

    \n
    juror
    \n

    A juror has the basic task of performing duplicity detection on events and event receipts.

    \n
    juror
    \n

    A juror has the basic task of performing duplicity detection on events and event receipts.

    \n
    jury
    \n

    The jury is the set of entities or components acting as juror.

    \n
    jury
    \n

    The jury is the set of entities or components acting as juror.

    \n
    keep
    \n

    Is KERI’s and ACDC’s user interface that uses the keripy agent for its backend. It uses the REST API exposed from the keripy agent.

    \n
    keep
    \n

    Is KERI’s and ACDC’s user interface that uses the keripy agent for its backend. It uses the REST API exposed from the keripy agent.

    \n
    keri-agreement-algorithm-for-control-establishment
    \n

    Agreement on an event in a key event log KEL means each witness has observed the exact version of the event and each witness’ receipt has been received by every other witness.

    \n
    keri-agreement-algorithm-for-control-establishment
    \n

    Agreement on an event in a key event log KEL means each witness has observed the exact version of the event and each witness’ receipt has been received by every other witness.

    \n
    keri-command-line-interface
    \n

    Command line tool used to create identifiers, manage keys, query for KELs and participate in delegated identifiers or multi-signature group identifiers. It also includes operations for running witnesses, watchers and cloud agents to establish a cloud presence for any identifier.

    \n
    keri-command-line-interface
    \n

    Command line tool used to create identifiers, manage keys, query for KELs and participate in delegated identifiers or multi-signature group identifiers. It also includes operations for running witnesses, watchers and cloud agents to establish a cloud presence for any identifier.

    \n
    keri-event-stream
    \n

    A stream of verifiable KERI data, consisting of the key-event-log and other data such as a transaction-event-log. This data is a CESR event stream (TODO: link to IANA application/cesr media type) and may be serialized in a file using composable-event-streaming-representation encoding. We refer to these CESR stream resources as KERI event streams to simplify the vocabulary.

    \n
    keri-event-stream
    \n

    A stream of verifiable KERI data, consisting of the key-event-log and other data such as a transaction-event-log. This data is a CESR event stream (TODO: link to IANA application/cesr media type) and may be serialized in a file using composable-event-streaming-representation encoding. We refer to these CESR stream resources as KERI event streams to simplify the vocabulary.

    \n
    keri-improvement-doc
    \n

    These docs are modular so teams of contributors can independently work and create PRs of individual KIDs; KIDs answer the question “how we do it”. We add commentary to the indivudual KIDs that elaborate on the why. It has been split from the how to not bother implementors with the why.

    \n
    keri-improvement-doc
    \n

    These docs are modular so teams of contributors can independently work and create PRs of individual KIDs; KIDs answer the question “how we do it”. We add commentary to the indivudual KIDs that elaborate on the why. It has been split from the how to not bother implementors with the why.

    \n
    keri-ox
    \n

    The RUST programming-language implementation of the KERI protocol.

    \n
    keri-ox
    \n

    The RUST programming-language implementation of the KERI protocol.

    \n
    keri-request-authentication-method
    \n

    All requests from a web client must use KRAM (KERI Request Authentication Method) for replay attack protection. The method is essentially based on each request body needing to include a date time string field in ISO-8601 format that must be within an acceptable time window relative to the server’s date time. See the KRAM Github repo

    \n
    keri-request-authentication-method
    \n

    All requests from a web client must use KRAM (KERI Request Authentication Method) for replay attack protection. The method is essentially based on each request body needing to include a date time string field in ISO-8601 format that must be within an acceptable time window relative to the server’s date time. See the KRAM Github repo

    \n
    keri-suite-search-engine
    \n

    KERISSE is the Docusaurus self-education site of Web-of-Trust GitHub repo with Typesense search facilities. Because of its focus on well-versed developers in the field of SSI and the support of their journey to understand the structure of the code and how things work in the keri-suite it’s more a search engine that drills down on documentation.

    \n
    keri-suite-search-engine
    \n

    KERISSE is the Docusaurus self-education site of Web-of-Trust GitHub repo with Typesense search facilities. Because of its focus on well-versed developers in the field of SSI and the support of their journey to understand the structure of the code and how things work in the keri-suite it’s more a search engine that drills down on documentation.

    \n
    keri-suite
    \n

    The KERI suite is the set of inter-related developments (KERI, ACDC, OOBI, CESR, IPEX, etc) under the Web-of -Trust user on Github

    \n
    keri-suite
    \n

    The KERI suite is the set of inter-related developments (KERI, ACDC, OOBI, CESR, IPEX, etc) under the Web-of -Trust user on Github

    \n
    keride
    \n

    is a Rust programming language library for key-event-receipt-infrastructure. Among its features

    \n
    keride
    \n

    is a Rust programming language library for key-event-receipt-infrastructure. Among its features

    \n
    keridemlia
    \n

    It is a contraction of key-event-receipt-infrastructure and Kademlia. It’s the distributed database of Witness IP-addresses based on a distributed-hash-table. It also does the CNAME - stuff that domain-name Services (DNS) offers for KERI: the mapping between an identifier and it’s controller AID stored in the KEL to its current wittness AID and the wittness AID to the IP address.

    \n
    keridemlia
    \n

    It is a contraction of key-event-receipt-infrastructure and Kademlia. It’s the distributed database of Witness IP-addresses based on a distributed-hash-table. It also does the CNAME - stuff that domain-name Services (DNS) offers for KERI: the mapping between an identifier and it’s controller AID stored in the KEL to its current wittness AID and the wittness AID to the IP address.

    \n
    kerific
    \n

    kerific is a front plugin or extension that currently only works for Chrome and Brave. It matches words in any text on the web that is parseable for kerific and offers buttons to various glossaries and definitions in the self-sovereign-identity field.

    \n
    kerific
    \n

    kerific is a front plugin or extension that currently only works for Chrome and Brave. It matches words in any text on the web that is parseable for kerific and offers buttons to various glossaries and definitions in the self-sovereign-identity field.

    \n
    keripy
    \n

    The Python programming-language implementation of the KERI protocol.

    \n
    keripy
    \n

    The Python programming-language implementation of the KERI protocol.

    \n
    keri’s-algorithm-for-witness-agreement
    \n

    a type of Byzantine Fault Tolerant (byzantine-fault-tolerance) algorithm.

    \n
    keri’s-algorithm-for-witness-agreement
    \n

    a type of Byzantine Fault Tolerant (byzantine-fault-tolerance) algorithm.

    \n
    kever
    \n

    Kever is a key event verifier.

    \n
    kever
    \n

    Kever is a key event verifier.

    \n
    key-event-log
    \n

    a Verifiable data structure that is a backward and forward chained, signed, append-only log of key events for an AID. The first entry in a KEL must be the one and only Inception event of that AID.

    \n
    key-event-log
    \n

    a Verifiable data structure that is a backward and forward chained, signed, append-only log of key events for an AID. The first entry in a KEL must be the one and only Inception event of that AID.

    \n
    key-event-message
    \n

    Message whose body is a key event and whose attachments may include signatures on its body.

    \n
    key-event-message
    \n

    Message whose body is a key event and whose attachments may include signatures on its body.

    \n
    key-event-receipt-infrastructure
    \n

    or the KERI protocol, is an identity system-based secure overlay for the Internet.

    \n
    key-event-receipt-infrastructure
    \n

    or the KERI protocol, is an identity system-based secure overlay for the Internet.

    \n
    key-event-receipt-log
    \n

    a key event receipt log is a kel that also includes all the consistent key event receipt messages created by the associated set of witnesses. See annex key-event-receipt-log.

    \n
    key-event-receipt-log
    \n

    a key event receipt log is a kel that also includes all the consistent key event receipt messages created by the associated set of witnesses. See annex key-event-receipt-log.

    \n
    key-event-receipt
    \n

    message whose body references a Key event and whose attachments must include one or more signatures on that Key event.

    \n
    key-event-receipt
    \n

    message whose body references a Key event and whose attachments must include one or more signatures on that Key event.

    \n
    key-event
    \n

    See the more general TrustoverIP concept of key-event: key-event

    \n
    key-event
    \n

    See the more general TrustoverIP concept of key-event: key-event

    \n
    kli
    \n

    keri-command-line-interface

    \n
    kli
    \n

    keri-command-line-interface

    \n
    ksn
    \n

    ksn = state, key state notice

    \n
    ksn
    \n

    ksn = state, key state notice

    \n
    ledger-backer
    \n

    A witness in KERI that is ledger-registered. It’s a type of backer that proof its authenticity by a signing key anchored to the public key of a data item on a (public) blockchain.

    \n
    ledger-backer
    \n

    A witness in KERI that is ledger-registered. It’s a type of backer that proof its authenticity by a signing key anchored to the public key of a data item on a (public) blockchain.

    \n
    legal-entity-engagement-context-role-vlei-credential-governance-framework
    \n

    A document that details the requirements for vlei-role-credential issued to representatives of a Legal Entity in other than official roles but in functional or other context of engagement.

    \n
    legal-entity-engagement-context-role-vlei-credential-governance-framework
    \n

    A document that details the requirements for vlei-role-credential issued to representatives of a Legal Entity in other than official roles but in functional or other context of engagement.

    \n
    legal-entity-official-organizational-role-vlei-credential-governance-framework
    \n

    A document that details the requirements for vlei-role-credential issued to official representatives of a Legal Entity.

    \n
    legal-entity-official-organizational-role-vlei-credential-governance-framework
    \n

    A document that details the requirements for vlei-role-credential issued to official representatives of a Legal Entity.

    \n
    legal-entity-vlei-credential-governance-framework
    \n

    A document that details the requirements for vLEI Credential issued by a qualified-vlei-issuer to a legal-entity.

    \n
    legal-entity-vlei-credential-governance-framework
    \n

    A document that details the requirements for vLEI Credential issued by a qualified-vlei-issuer to a legal-entity.

    \n
    legitimized-human-meaningful-identifier
    \n

    No custom content found for toip1:legitimized-human-meaningful-identifier

    \n
    listed-identifier
    \n

    Is a list in an authentic-chained-data-container of authorised did:webs identifier + method; the list appears in the metadata of the did:webs DID-doc.

    \n
    listed-identifier
    \n

    Is a list in an authentic-chained-data-container of authorised did:webs identifier + method; the list appears in the metadata of the did:webs DID-doc.

    \n
    live-attack
    \n

    an attack that compromises either the current signing keys used to sign non-establishment events or the current pre-rotated keys needed to sign a subsequent establishment event. See (Security Properties of Prerotation)[#live-attacks].

    \n
    live-attack
    \n

    an attack that compromises either the current signing keys used to sign non-establishment events or the current pre-rotated keys needed to sign a subsequent establishment event. See (Security Properties of Prerotation)[#live-attacks].

    \n
    locked-state
    \n

    The default status a KERI data store is in once it has been created using a passcode; it is by default encrypted.

    \n
    locked-state
    \n

    The default status a KERI data store is in once it has been created using a passcode; it is by default encrypted.

    \n
    management-TEL
    \n

    management-transaction-event-log

    \n
    management-TEL
    \n

    management-transaction-event-log

    \n
    management-transaction-event-log
    \n

    A ‘management transaction-event-log’ will signal the creation of the Virtual Credential Registry VCR and track the list of Registrars that will act as backer for the individual _ transaction event logs (TELs)_ for each virtual-credential (VC).

    \n
    management-transaction-event-log
    \n

    A ‘management transaction-event-log’ will signal the creation of the Virtual Credential Registry VCR and track the list of Registrars that will act as backer for the individual _ transaction event logs (TELs)_ for each virtual-credential (VC).

    \n
    moobi
    \n

    Multi OOBI would allow to share a bunch of different end-points (oobis) all at once. A way for a single store to share multiple endpoints for that store.

    \n
    moobi
    \n

    Multi OOBI would allow to share a bunch of different end-points (oobis) all at once. A way for a single store to share multiple endpoints for that store.

    \n
    most-compact
    \n

    An ACDC that, for a given level of disclosure, is as compact as it can be, which means

    \n
    most-compact
    \n

    An ACDC that, for a given level of disclosure, is as compact as it can be, which means

    \n
    multi-valent
    \n

    A delegator may have multiple delegate, thereby enabling elastic horizontal scalability. Multiple delegates from a single delegator. Furthermore, each delegate may act as a delegator for its own delegates to form a nested delegation tree.

    \n
    multi-valent
    \n

    A delegator may have multiple delegate, thereby enabling elastic horizontal scalability. Multiple delegates from a single delegator. Furthermore, each delegate may act as a delegator for its own delegates to form a nested delegation tree.

    \n
    naive-conversion
    \n

    Non-CESR Base64 conversion. How people are used to using the Base64 encode and decode. Without pre-padding etc all the stuff CESR does to ensure aligns on 24 bit boundaries so CESR never uses the ‘=’ pad character. But naive base64 will pad if the length is not 24 bit aligned.

    \n
    naive-conversion
    \n

    Non-CESR Base64 conversion. How people are used to using the Base64 encode and decode. Without pre-padding etc all the stuff CESR does to ensure aligns on 24 bit boundaries so CESR never uses the ‘=’ pad character. But naive base64 will pad if the length is not 24 bit aligned.

    \n
    ndigs
    \n

    Digests of public keys, not keys themselves. The reason to use ndigs is to prove control over public keys or to hide keys. It’s used in Keripy and consists of a list of qualified base64 digests of public rotation key derivations.

    \n
    ndigs
    \n

    Digests of public keys, not keys themselves. The reason to use ndigs is to prove control over public keys or to hide keys. It’s used in Keripy and consists of a list of qualified base64 digests of public rotation key derivations.

    \n
    nested-cooperative-delegated-identifiers
    \n

    In KERI delegations are cooperative, this means that both the delegator and delegate must contribute to a delegation. The delegator creates a cryptographic commitment in either a rotation or interaction event via a seal in a delegated establishment event. The delegate creates a cryptographic commitment in its establishment event via a seal to the delegating event.

    \n
    nested-cooperative-delegated-identifiers
    \n

    In KERI delegations are cooperative, this means that both the delegator and delegate must contribute to a delegation. The delegator creates a cryptographic commitment in either a rotation or interaction event via a seal in a delegated establishment event. The delegate creates a cryptographic commitment in its establishment event via a seal to the delegating event.

    \n
    next-threshold
    \n

    represents the number or fractional weights of signatures from the given set of next keys required to be attached to a Message for the Message to be considered fully signed.

    \n
    next-threshold
    \n

    represents the number or fractional weights of signatures from the given set of next keys required to be attached to a Message for the Message to be considered fully signed.

    \n
    non-establishment-event
    \n

    a Key event that does not change the current Key state for an AID. Typically, the purpose of a Non-establishment event is to anchor external data to a given Key state as established by the most recent prior Establishment event for an AID.

    \n
    non-establishment-event
    \n

    a Key event that does not change the current Key state for an AID. Typically, the purpose of a Non-establishment event is to anchor external data to a given Key state as established by the most recent prior Establishment event for an AID.

    \n
    non-interactive-authentication-design
    \n

    A group of approaches having non-interactive mechanisms that pose unique problems because they do not allow a challenge response reply handshake. A request is submitted that is self-authenticating without additional interaction.

    \n
    non-interactive-authentication-design
    \n

    A group of approaches having non-interactive mechanisms that pose unique problems because they do not allow a challenge response reply handshake. A request is submitted that is self-authenticating without additional interaction.

    \n
    non-repudiable
    \n

    No custom content found for toip1:non-repudiable

    \n
    non-transferable-identifier
    \n

    No custom content found for toip:non-transferable-identifier

    \n
    official-organizational-role
    \n

    Also ‘OOR’. A person that represents the Legal Entity in an official organizational role and is issued an OOR vLEI Credential.

    \n
    official-organizational-role
    \n

    Also ‘OOR’. A person that represents the Legal Entity in an official organizational role and is issued an OOR vLEI Credential.

    \n
    opcode
    \n

    Opcodes are meant to provide stream processing instructions that are more general and flexible than simply concatenated primitives or groups of primitives.

    \n
    opcode
    \n

    Opcodes are meant to provide stream processing instructions that are more general and flexible than simply concatenated primitives or groups of primitives.

    \n
    operator
    \n

    an optional field map in the Edge section that enables expression of the edge logic on edge subgraph as either a unary operator on the edge itself or an m-ary operator on the edge group.

    \n
    operator
    \n

    an optional field map in the Edge section that enables expression of the edge logic on edge subgraph as either a unary operator on the edge itself or an m-ary operator on the edge group.

    \n
    out-of-band-introduction
    \n

    Out-of-band Introductions (OOBIs) are discovery and validation of IP resources for key-event-receipt-infrastructure autonomic identifiers. Discovery via URI, trust via KERI.

    \n
    out-of-band-introduction
    \n

    Out-of-band Introductions (OOBIs) are discovery and validation of IP resources for key-event-receipt-infrastructure autonomic identifiers. Discovery via URI, trust via KERI.

    \n
    parside
    \n

    is a bunch of generators. Responsible for pulling out a stream of bits from a CESR stream and parse it.

    \n
    parside
    \n

    is a bunch of generators. Responsible for pulling out a stream of bits from a CESR stream and parse it.

    \n
    partial-disclosure
    \n

    a disclosure of an ACDC that partially discloses its field maps using Compact Disclosure. The Compact Disclosure provides a cryptographically equivalent commitment to the yet-to-be-disclosed content, and the later exchange of the uncompacted content is verifiable to an earlier Partial Disclosure. Unlike Selective disclosure, a partially disclosable field becomes correlatable to its encompassing block after its Full Disclosure.

    \n
    partial-disclosure
    \n

    a disclosure of an ACDC that partially discloses its field maps using Compact Disclosure. The Compact Disclosure provides a cryptographically equivalent commitment to the yet-to-be-disclosed content, and the later exchange of the uncompacted content is verifiable to an earlier Partial Disclosure. Unlike Selective disclosure, a partially disclosable field becomes correlatable to its encompassing block after its Full Disclosure.

    \n
    partial-pre-rotation
    \n

    partial-rotation

    \n
    partial-pre-rotation
    \n

    partial-rotation

    \n
    partial-rotation
    \n

    The pre-rotation mechanism supports partial pre-rotation or more exactly partial rotation of pre-rotated keypairs. It’s a rotation operation on a set of pre-rotated keys that may keep some keys in reserve (i.e unexposed) while exposing others as needed.

    \n
    partial-rotation
    \n

    The pre-rotation mechanism supports partial pre-rotation or more exactly partial rotation of pre-rotated keypairs. It’s a rotation operation on a set of pre-rotated keys that may keep some keys in reserve (i.e unexposed) while exposing others as needed.

    \n
    pathing
    \n

    It was designed to sign portions of a credential aimed at complex cases like

    \n
    pathing
    \n

    It was designed to sign portions of a credential aimed at complex cases like

    \n
    percolated-discovery
    \n

    a discovery mechanism for information associated with an AID or a SAID, which is based on Invasion Percolation Theory. Once an entity has discovered such information, it may in turn share what it discovers with other entities. Since the information so discovered is end-verifiable, the percolation mechanism and percolating intermediaries do not need to be trusted.

    \n
    percolated-discovery
    \n

    a discovery mechanism for information associated with an AID or a SAID, which is based on Invasion Percolation Theory. Once an entity has discovered such information, it may in turn share what it discovers with other entities. Since the information so discovered is end-verifiable, the percolation mechanism and percolating intermediaries do not need to be trusted.

    \n
    percolated-information-discovery
    \n

    In the OOBI protocol, a discovery mechanism for the KERI and the ACDC protocols is provided by a bootstrap that enables Percolated Information Discovery (PID), which is based on Invasion Percolation Theory.

    \n
    percolated-information-discovery
    \n

    In the OOBI protocol, a discovery mechanism for the KERI and the ACDC protocols is provided by a bootstrap that enables Percolated Information Discovery (PID), which is based on Invasion Percolation Theory.

    \n
    persistent-identifier
    \n

    No custom content found for toip1:persistent-identifier

    \n
    pre-rotation
    \n

    Cryptographic commitment to next rotated key set in previous rotation or inception-event.

    \n
    pre-rotation
    \n

    Cryptographic commitment to next rotated key set in previous rotation or inception-event.

    \n
    prefix
    \n

    A prefix that is composed of a basic Base-64 (URL safe) derivation code pre-pended to Base-64 encoding of a basic public digital signing key.

    \n
    prefix
    \n

    A prefix that is composed of a basic Base-64 (URL safe) derivation code pre-pended to Base-64 encoding of a basic public digital signing key.

    \n
    presentation-exchange
    \n

    An exchange that provides disclosure of one or more authentic-chained-data-containers between a Discloser and a Disclosee.

    \n
    presentation-exchange
    \n

    An exchange that provides disclosure of one or more authentic-chained-data-containers between a Discloser and a Disclosee.

    \n
    primary-root-of-trust
    \n

    In KERI a root-of-trust that is cryptographically verifiable all the way to its current controlling key pair in a PKI.

    \n
    primary-root-of-trust
    \n

    In KERI a root-of-trust that is cryptographically verifiable all the way to its current controlling key pair in a PKI.

    \n
    proem
    \n

    A “proem” is an introductory statement, preamble, or preface. It sets the stage for the content that follows, often providing context, framing the discussion, or outlining the purpose and scope of the material.

    \n
    proem
    \n

    A “proem” is an introductory statement, preamble, or preface. It sets the stage for the content that follows, often providing context, framing the discussion, or outlining the purpose and scope of the material.

    \n
    promiscuous-mode
    \n

    It is the mode a watcher runs in. A watcher uses the same code as a witness. However a watcher does so “lacking standards of selection; acting without careful judgment; indiscriminate”. Or “Showing little forethought or critical judgment; casual.”

    \n
    promiscuous-mode
    \n

    It is the mode a watcher runs in. A watcher uses the same code as a witness. However a watcher does so “lacking standards of selection; acting without careful judgment; indiscriminate”. Or “Showing little forethought or critical judgment; casual.”

    \n
    proof-of-authorship
    \n

    Proof that somebody or something has originally created certain content. It’s about data’s inception. Whereas proof-of-authority is about rights attached to this data.

    \n
    proof-of-authorship
    \n

    Proof that somebody or something has originally created certain content. It’s about data’s inception. Whereas proof-of-authority is about rights attached to this data.

    \n
    provenanced
    \n

    The act of verifying authenticity or quality of documented history or origin of something.

    \n
    provenanced
    \n

    The act of verifying authenticity or quality of documented history or origin of something.

    \n
    public-transaction-event-log
    \n

    is a public hash-linked data structure of transactions that can be used to track state anchored to a key-event-log.

    \n
    public-transaction-event-log
    \n

    is a public hash-linked data structure of transactions that can be used to track state anchored to a key-event-log.

    \n
    public-verifiable-credential-registry
    \n

    is a form of a Verifiable Data Registry that tracks the issuance/revocation state of credentials issued by the controller of the key-event-log. Two types of TELs will be used for this purpose: management-transaction-event-log and virtual-credential-transaction-event-log.

    \n
    public-verifiable-credential-registry
    \n

    is a form of a Verifiable Data Registry that tracks the issuance/revocation state of credentials issued by the controller of the key-event-log. Two types of TELs will be used for this purpose: management-transaction-event-log and virtual-credential-transaction-event-log.

    \n
    qry
    \n

    qry = query

    \n
    qry
    \n

    qry = query

    \n
    quadlet
    \n

    a group of 4 characters in the T domain and equivalently in triplets of 3 bytes each in the B domain used to define variable size.

    \n
    quadlet
    \n

    a group of 4 characters in the T domain and equivalently in triplets of 3 bytes each in the B domain used to define variable size.

    \n
    qualified-vlei-issuer-vlei-credential-governance-framework
    \n

    A document that details the requirements to enable this Credential to be issued by GLEIF to qualified-vlei-issuer which allows the Qualified vLEI Issuers to issue, verify and revoke legal-entity-vlei-credential-governance-framework, legal-entity-official-organizational-role-vlei-credential-governance-framework, and legal-entity-engagement-context-role-vlei-credential-governance-framework.

    \n
    qualified-vlei-issuer-vlei-credential-governance-framework
    \n

    A document that details the requirements to enable this Credential to be issued by GLEIF to qualified-vlei-issuer which allows the Qualified vLEI Issuers to issue, verify and revoke legal-entity-vlei-credential-governance-framework, legal-entity-official-organizational-role-vlei-credential-governance-framework, and legal-entity-engagement-context-role-vlei-credential-governance-framework.

    \n
    qualified-vlei-issuer
    \n

    The contracting party to the vLEI Issuer Qualification Agreement that has been qualified by GLEIF as a Qualified vLEI Issuer.

    \n
    qualified-vlei-issuer
    \n

    The contracting party to the vLEI Issuer Qualification Agreement that has been qualified by GLEIF as a Qualified vLEI Issuer.

    \n
    qualified
    \n

    When qualified, a cryptographic primitive includes a prepended derivation code (as a proem), that indicates the cryptographic algorithm or suite used for that derivation.

    \n
    qualified
    \n

    When qualified, a cryptographic primitive includes a prepended derivation code (as a proem), that indicates the cryptographic algorithm or suite used for that derivation.

    \n
    qvi-authorized-representative
    \n

    A designated representative of a QVI authorized, to conduct QVI operations with GLEIF and legal-entity. Also referring to a person in the role of a QAR.

    \n
    qvi-authorized-representative
    \n

    A designated representative of a QVI authorized, to conduct QVI operations with GLEIF and legal-entity. Also referring to a person in the role of a QAR.

    \n
    rct
    \n

    rct = receipt

    \n
    rct
    \n

    rct = receipt

    \n
    read-update-nullify
    \n

    Read, update, nullify are a set of actions you (or a server) can take on data. “Read” means to view it, “update” means to change it, and “nullify” means to invalidate it, but not “Delete” it. Mind you, there’s also no “Create”.

    \n
    read-update-nullify
    \n

    Read, update, nullify are a set of actions you (or a server) can take on data. “Read” means to view it, “update” means to change it, and “nullify” means to invalidate it, but not “Delete” it. Mind you, there’s also no “Create”.

    \n
    receipt-log
    \n

    ordered record of all key event receipts for a given set of witnesses.

    \n
    receipt-log
    \n

    ordered record of all key event receipts for a given set of witnesses.

    \n
    receipt
    \n

    event message or reference with one or more witness signatures.

    \n
    receipt
    \n

    event message or reference with one or more witness signatures.

    \n
    reconciliation
    \n

    Reconciliation is the process in which you decide to accept a fork of the key-event-log or not.

    \n
    reconciliation
    \n

    Reconciliation is the process in which you decide to accept a fork of the key-event-log or not.

    \n
    redundant-credential
    \n

    Multiple credentials issued by the same issuer (e.g. a QVI). They do not have anything to do with each other. They are independently valid.

    \n
    redundant-credential
    \n

    Multiple credentials issued by the same issuer (e.g. a QVI). They do not have anything to do with each other. They are independently valid.

    \n
    registrar
    \n

    identifiers that serve as backers for each transaction-event-log (TEL) under its provenance. This list of Registrars can be rotated with events specific to a certain type of TEL. In this way, a Registrar is analogous to a Backer in KERI KELs and Registrar lists are analogous to Backer lists in KERI KELs.

    \n
    registrar
    \n

    identifiers that serve as backers for each transaction-event-log (TEL) under its provenance. This list of Registrars can be rotated with events specific to a certain type of TEL. In this way, a Registrar is analogous to a Backer in KERI KELs and Registrar lists are analogous to Backer lists in KERI KELs.

    \n
    registration-interaction
    \n

    Setup/Registration interaction, new AID and authorization to establish access control. You present a (vLEI) credential. You don’t want that captured and misused. Narrowing the scope to a certain role (e.g. Document Submitter) is a pre-registration via delegation authority.

    \n
    registration-interaction
    \n

    Setup/Registration interaction, new AID and authorization to establish access control. You present a (vLEI) credential. You don’t want that captured and misused. Narrowing the scope to a certain role (e.g. Document Submitter) is a pre-registration via delegation authority.

    \n
    reputation
    \n

    Consistent behaviour over time on the basis of which anyone else makes near-future decisions.

    \n
    reputational-trust
    \n

    No custom content found for toip1:reputational-trust

    \n
    reserve-rotation
    \n

    One important use case for partial-rotation is to enable pre-rotated key pairs designated in one establishment-event to be held in reserve and not exposed at the next (immediately subsequent) establishment event.

    \n
    reserve-rotation
    \n

    One important use case for partial-rotation is to enable pre-rotated key pairs designated in one establishment-event to be held in reserve and not exposed at the next (immediately subsequent) establishment event.

    \n
    rev
    \n

    rev = vc revoke, verifiable credential revocation

    \n
    rev
    \n

    rev = vc revoke, verifiable credential revocation

    \n
    revocation-event
    \n

    An event that revokes control-authority over an identifier. From that point in time the authoritative key-pairs at hand are not valid anymore.

    \n
    revocation-event
    \n

    An event that revokes control-authority over an identifier. From that point in time the authoritative key-pairs at hand are not valid anymore.

    \n
    root-autonomic-identifier
    \n

    An entity may provide the root-of-trust for some ecosystem (with delegation )via its root AID. Let’s call this the RID for “root AID”. The RID must be protected using the highest level of security in its key-management.

    \n
    root-autonomic-identifier
    \n

    An entity may provide the root-of-trust for some ecosystem (with delegation )via its root AID. Let’s call this the RID for “root AID”. The RID must be protected using the highest level of security in its key-management.

    \n
    rot
    \n

    JSON field name (attribute) for Rotation Event; its content (value) contains a hash pointer. All transaction-event-log events are anchored in a key-event-log in either ixn (interaction-event) or rot (rotation-events). This is the foundation enabling a verifiable credential protocol to be built on top of KERI.

    \n
    rot
    \n

    JSON field name (attribute) for Rotation Event; its content (value) contains a hash pointer. All transaction-event-log events are anchored in a key-event-log in either ixn (interaction-event) or rot (rotation-events). This is the foundation enabling a verifiable credential protocol to be built on top of KERI.

    \n
    rotation-authority
    \n

    The (exclusive) right to rotate the authoritative key pair and establish changed control authority.

    \n
    rotation-authority
    \n

    The (exclusive) right to rotate the authoritative key pair and establish changed control authority.

    \n
    rotation-event
    \n

    an Establishment Event that provides the information needed to change the Key state, which includes a change to the set of authoritative keypairs for an AID.

    \n
    rotation-event
    \n

    an Establishment Event that provides the information needed to change the Key state, which includes a change to the set of authoritative keypairs for an AID.

    \n
    rotation
    \n

    The operation of revoking and replacing the set of authoritative key-pair for an AID. This operation is made verifiable and duplicity evident upon acceptance as a rotation event that is appended to the AID’s KEL.

    \n
    rotation
    \n

    The operation of revoking and replacing the set of authoritative key-pair for an AID. This operation is made verifiable and duplicity evident upon acceptance as a rotation event that is appended to the AID’s KEL.

    \n
    rpy
    \n

    rpy = reply

    \n
    rpy
    \n

    rpy = reply

    \n
    rules
    \n

    a top-level field map within an ACDC that provides a legal language as a Ricardian Contract, which is both human and machine-readable and referenceable by a cryptographic digest.

    \n
    rules
    \n

    a top-level field map within an ACDC that provides a legal language as a Ricardian Contract, which is both human and machine-readable and referenceable by a cryptographic digest.

    \n
    run-off-the-crud
    \n

    RUN off the CRUD is an alternative to the traditional CRUD approach to defining basic operations on resources in data management systems (e.g., databases, APIs). RUN stands for Read, Update, Nullify and bears a nuanced approach to deletion.

    \n
    run-off-the-crud
    \n

    RUN off the CRUD is an alternative to the traditional CRUD approach to defining basic operations on resources in data management systems (e.g., databases, APIs). RUN stands for Read, Update, Nullify and bears a nuanced approach to deletion.

    \n
    sally
    \n

    is an implementation of a verification service and acting as a reporting server. It is purpose-built software for the vLEI ecosystem to allow participants in the vLEI ecosystem present credentials, so the GLEIF Reporting API can show what vLEI are; issued to legal-entity.

    \n
    sally
    \n

    is an implementation of a verification service and acting as a reporting server. It is purpose-built software for the vLEI ecosystem to allow participants in the vLEI ecosystem present credentials, so the GLEIF Reporting API can show what vLEI are; issued to legal-entity.

    \n
    salter
    \n

    A primitive that represents a seed. It has the ability to generate new signers.

    \n
    salter
    \n

    A primitive that represents a seed. It has the ability to generate new signers.

    \n
    salty-nonce-blinding-factor
    \n

    For ease of sharing a secret and hiding information with this secret of Blindable State TELs we use a Salty Nonce Blinding Factor. You’d like to hide the state of certain credentials to some verifiers in the future, while keeping the state verifiable for others.

    \n
    salty-nonce-blinding-factor
    \n

    For ease of sharing a secret and hiding information with this secret of Blindable State TELs we use a Salty Nonce Blinding Factor. You’d like to hide the state of certain credentials to some verifiers in the future, while keeping the state verifiable for others.

    \n
    schema
    \n

    the said of a JSON schema that is used to issue and verify an ACDC.

    \n
    schema
    \n

    the said of a JSON schema that is used to issue and verify an ACDC.

    \n
    secondary-root-of-trust
    \n

    In KERI its a root-of-trust that, for its secure attribution, depends on another verifiable data structure (VDS) which MUST be a primary-root-of-trust.

    \n
    secondary-root-of-trust
    \n

    In KERI its a root-of-trust that, for its secure attribution, depends on another verifiable data structure (VDS) which MUST be a primary-root-of-trust.

    \n
    secure-asset-transfer-protocol
    \n

    An IETF protocol (and working group) in the making (as of mid 2022) for moving assets between blockchains.

    \n
    secure-asset-transfer-protocol
    \n

    An IETF protocol (and working group) in the making (as of mid 2022) for moving assets between blockchains.

    \n
    secure-attribution
    \n

    No custom content found for toip1:secure-attribution

    \n
    secure-private-authentic-confidentiality
    \n

    ToIP Trust Spanning Layer Group realized we do have a secure authentication layer (KERI) but we don’t have a secure confidentiality and privacy mechanism. Sam Smith proposes SPAC paper to define this.

    \n
    secure-private-authentic-confidentiality
    \n

    ToIP Trust Spanning Layer Group realized we do have a secure authentication layer (KERI) but we don’t have a secure confidentiality and privacy mechanism. Sam Smith proposes SPAC paper to define this.

    \n
    security-cost-performance-architecture-trade-off
    \n

    The degree of protection offered by a key management infrastructure usually forces a trade-off between security, cost, and performance.

    \n
    security-cost-performance-architecture-trade-off
    \n

    The degree of protection offered by a key management infrastructure usually forces a trade-off between security, cost, and performance.

    \n
    security
    \n

    ‘secure’ is free from or not exposed to danger or harm; safe. For identifiers security typically means secure from exploit or compromise. More specifically an identifier is secure with respect to an entity if there is a mechanism by which that entity may prove it has controller over the identifier.

    \n
    security
    \n

    ‘secure’ is free from or not exposed to danger or harm; safe. For identifiers security typically means secure from exploit or compromise. More specifically an identifier is secure with respect to an entity if there is a mechanism by which that entity may prove it has controller over the identifier.

    \n
    security
    \n

    ‘secure’ is free from or not exposed to danger or harm; safe. For identifiers security typically means secure from exploit or compromise. More specifically an identifier is secure with respect to an entity if there is a mechanism by which that entity may prove it has controller over the identifier.

    \n
    selective-disclosure
    \n

    a disclosure of an ACDC that selectively discloses its attributes using Compact Disclosure. The set of selectively disclosable attributes is provided as an array of blinded blocks where each attribute in the set has its own dedicated blinded block. Unlike Partial Disclosure, the selectively disclosed fields are not correlatable to the so far undisclosed but selectively disclosable fields in the same encompassing block.

    \n
    selective-disclosure
    \n

    a disclosure of an ACDC that selectively discloses its attributes using Compact Disclosure. The set of selectively disclosable attributes is provided as an array of blinded blocks where each attribute in the set has its own dedicated blinded block. Unlike Partial Disclosure, the selectively disclosed fields are not correlatable to the so far undisclosed but selectively disclosable fields in the same encompassing block.

    \n
    self-addressed-data
    \n

    a representation of data content from which a SAID is derived. The SAID is both cryptographically bound to (content-addressable) and encapsulated by (self-referential) its SAD said.

    \n
    self-addressed-data
    \n

    a representation of data content from which a SAID is derived. The SAID is both cryptographically bound to (content-addressable) and encapsulated by (self-referential) its SAD said.

    \n
    self-addressing-data
    \n

    an identifier that is content-addressable and self-referential. A SAID is uniquely and cryptographically bound to a serialization of data that includes the SAID as a component in that serialization said.

    \n
    self-addressing-data
    \n

    an identifier that is content-addressable and self-referential. A SAID is uniquely and cryptographically bound to a serialization of data that includes the SAID as a component in that serialization said.

    \n
    self-addressing-identifier
    \n

    any identifier that is deterministically generated out of the content, or a digest of the content.

    \n
    self-addressing-identifier
    \n

    any identifier that is deterministically generated out of the content, or a digest of the content.

    \n
    self-certifying-identifier
    \n

    a type of Cryptonym that is uniquely cryptographically derived from the public key of an asymmetric signing keypair (public, private).

    \n
    self-certifying-identifier
    \n

    a type of Cryptonym that is uniquely cryptographically derived from the public key of an asymmetric signing keypair (public, private).

    \n
    self-certifying-identifier
    \n

    a type of Cryptonym that is uniquely cryptographically derived from the public key of an asymmetric signing keypair (public, private).

    \n
    self-certifying-identifier
    \n

    a type of Cryptonym that is uniquely cryptographically derived from the public key of an asymmetric signing keypair (public, private).

    \n
    self-framing
    \n

    a textual or binary encoding that begins with type, size, and value so that a parser knows how many characters (when textual) or bytes (when binary) to extract from the stream for a given element without parsing the rest of the characters or bytes in the element is Self-Framing.

    \n
    self-framing
    \n

    a textual or binary encoding that begins with type, size, and value so that a parser knows how many characters (when textual) or bytes (when binary) to extract from the stream for a given element without parsing the rest of the characters or bytes in the element is Self-Framing.

    \n
    self-sovereign-identity
    \n

    No custom content found for toip1:self-sovereign-identity

    \n
    server-sent-event
    \n

    Mailbox notifications; a streaming service for the agent U/I, to get notifications from the KERI system itself.

    \n
    server-sent-event
    \n

    Mailbox notifications; a streaming service for the agent U/I, to get notifications from the KERI system itself.

    \n
    siger
    \n

    indexed-signature

    \n
    siger
    \n

    indexed-signature

    \n
    signer
    \n

    A primitive that represents a private key. It has the ability to create Sigers and Cigars (signatures).

    \n
    signer
    \n

    A primitive that represents a private key. It has the ability to create Sigers and Cigars (signatures).

    \n
    signify-keria-request-authentication-protocol
    \n

    SKRAP is a client to the KERIA server. Mobile clients will be using SKRAP to connect to KERI AIDs via agents in the new, multi-tenant Mark II Agent server, keria.

    \n
    signify-keria-request-authentication-protocol
    \n

    SKRAP is a client to the KERIA server. Mobile clients will be using SKRAP to connect to KERI AIDs via agents in the new, multi-tenant Mark II Agent server, keria.

    \n
    signify
    \n

    Signify is a web client key-event signing - and key pair creation app that minimizes the use of KERI on the client.

    \n
    signify
    \n

    Signify is a web client key-event signing - and key pair creation app that minimizes the use of KERI on the client.

    \n
    signing-authority
    \n

    The authority to sign on behalf of the controller of the authoritative key pair. Often in situation where delegation has taken place, e.g. a custodial agent. These are limited rights because rotation-authority is not included.

    \n
    signing-authority
    \n

    The authority to sign on behalf of the controller of the authoritative key pair. Often in situation where delegation has taken place, e.g. a custodial agent. These are limited rights because rotation-authority is not included.

    \n
    simple-keri-for-web-auth
    \n

    A KERI implementation that sacrifices performance or other non-security feature for usability. In general a narrow application of KERI may not require all the features of KERI but those features that it does support must still be secure.

    \n
    simple-keri-for-web-auth
    \n

    A KERI implementation that sacrifices performance or other non-security feature for usability. In general a narrow application of KERI may not require all the features of KERI but those features that it does support must still be secure.

    \n
    sniffable
    \n

    A stream is sniffable as soon as it starts with a group code or field map; in fact this is how our parser (parside) works. and detects if the CESR stream contains a certain datablock.

    \n
    sniffable
    \n

    A stream is sniffable as soon as it starts with a group code or field map; in fact this is how our parser (parside) works. and detects if the CESR stream contains a certain datablock.

    \n
    sniffer
    \n

    The sniffer is part of parside and detects if the CESR stream contains CESR binary, CESR Text, JSON, CBOR, MGPK.

    \n
    sniffer
    \n

    The sniffer is part of parside and detects if the CESR stream contains CESR binary, CESR Text, JSON, CBOR, MGPK.

    \n
    solicited-issuance
    \n

    The issuance of a Legal Entity vLEI Credentials, OOR vLEI Credentials and ECR vLEI Credentials upon receipt by the QAR of a Fully Signed issuance request from the AVR(s) of the legal-entity.

    \n
    solicited-issuance
    \n

    The issuance of a Legal Entity vLEI Credentials, OOR vLEI Credentials and ECR vLEI Credentials upon receipt by the QAR of a Fully Signed issuance request from the AVR(s) of the legal-entity.

    \n
    spurn
    \n

    To reject. In KERI, “spurn” refers to a cryptographic or protocol-based act of rejecting an invalid or untrusted event. This rejection is deliberate and purposeful, ensuring the system’s integrity by disregarding information that does not meet the necessary validation criteria. The verb ‘spurn’ is first used in the IPEX specification.

    \n
    spurn
    \n

    To reject. In KERI, “spurn” refers to a cryptographic or protocol-based act of rejecting an invalid or untrusted event. This rejection is deliberate and purposeful, ensuring the system’s integrity by disregarding information that does not meet the necessary validation criteria. The verb ‘spurn’ is first used in the IPEX specification.

    \n
    ssi-system
    \n

    The SSI Infrastructure consists of the technological components that are deployed all over the world for the purpose of providing, requesting and obtaining data for the purpose of negotiating and/or executing electronic transactions.

    \n
    ssi-system
    \n

    The SSI Infrastructure consists of the technological components that are deployed all over the world for the purpose of providing, requesting and obtaining data for the purpose of negotiating and/or executing electronic transactions.

    \n
    stable
    \n

    Refers to the state of cryptographic verifiability across a network or system. It generally implies that a particular identifier, event, or data set is consistent, fully verified, and cannot be contested within KERI.

    \n
    stable
    \n

    Refers to the state of cryptographic verifiability across a network or system. It generally implies that a particular identifier, event, or data set is consistent, fully verified, and cannot be contested within KERI.

    \n
    stale-event
    \n

    A stale key event is an outdated or irrelevant (key) event involving an stale-key that may compromise security.

    \n
    stale-event
    \n

    A stale key event is an outdated or irrelevant (key) event involving an stale-key that may compromise security.

    \n
    stale-key
    \n

    A stale key is an outdated or expired encryption key that should no longer be used for securing data

    \n
    stale-key
    \n

    A stale key is an outdated or expired encryption key that should no longer be used for securing data

    \n
    stream
    \n

    a CESR Stream is any set of concatenated Primitives, concatenated groups of Primitives, or hierarchically composed groups of primitives.

    \n
    stream
    \n

    a CESR Stream is any set of concatenated Primitives, concatenated groups of Primitives, or hierarchically composed groups of primitives.

    \n
    streamer
    \n

    A convenience class for supporting stream parsing, including nested (tunneled, encrypted) CESR streams. Streams can be a mixture/combination of different primitive, including other streams. A stream is a concatenation of primitives.

    \n
    streamer
    \n

    A convenience class for supporting stream parsing, including nested (tunneled, encrypted) CESR streams. Streams can be a mixture/combination of different primitive, including other streams. A stream is a concatenation of primitives.

    \n
    strip-parameter
    \n

    tells us what part of the CESR stream will be parsed by which code.

    \n
    strip-parameter
    \n

    tells us what part of the CESR stream will be parsed by which code.

    \n
    targeted-acdc
    \n

    an ACDC with the presence of the Issuee field in the attribute or attribute aggregate sections.

    \n
    targeted-acdc
    \n

    an ACDC with the presence of the Issuee field in the attribute or attribute aggregate sections.

    \n
    text-binary-concatenation-composability
    \n

    An encoding has composability when any set of self-framing concatenated primitives expressed in either the text domain or binary domain may be converted as a group to the other domain and back again without loss.

    \n
    text-binary-concatenation-composability
    \n

    An encoding has composability when any set of self-framing concatenated primitives expressed in either the text domain or binary domain may be converted as a group to the other domain and back again without loss.

    \n
    tholder
    \n

    t-holder object that supports fractionally-weighted signing-threshold

    \n
    tholder
    \n

    t-holder object that supports fractionally-weighted signing-threshold

    \n
    threshold-of-accountable-duplicity
    \n

    The threshold of accountable duplicity (TOAD) is a threshold number M that the controller declares to accept accountability for an event when any subset M of the N witnesses confirm that event. The threshold M indicates the minimum number of confirming witnesses the controller deems sufficient given some number F of potentially faulty witnesses, given that M >= N - F. This enables a controller to provide itself with any degree of protection it deems necessary given this accountability.

    \n
    threshold-of-accountable-duplicity
    \n

    The threshold of accountable duplicity (TOAD) is a threshold number M that the controller declares to accept accountability for an event when any subset M of the N witnesses confirm that event. The threshold M indicates the minimum number of confirming witnesses the controller deems sufficient given some number F of potentially faulty witnesses, given that M >= N - F. This enables a controller to provide itself with any degree of protection it deems necessary given this accountability.

    \n
    threshold-signature-scheme
    \n

    or TSS; is a type of digital signature protocol used by Mutli-party Computation (MPC) wallets to authorize transactions or key state changes.

    \n
    threshold-signature-scheme
    \n

    or TSS; is a type of digital signature protocol used by Mutli-party Computation (MPC) wallets to authorize transactions or key state changes.

    \n
    top-level-section
    \n

    The fields of an ACDC in compact-variant. The value of a top level section field is either the SAD or the SAID of the SAD of the associated section.

    \n
    top-level-section
    \n

    The fields of an ACDC in compact-variant. The value of a top level section field is either the SAD or the SAID of the SAD of the associated section.

    \n
    transaction-event-log
    \n

    The set of transactions that determine registry state form a log called a Transaction Event Log (TEL). The TEL provides a cryptographic proof of registry state by reference to the corresponding controlling key-event-log. Any validator may therefore cryptographically verify the authoritative of the registry.

    \n
    transaction-event-log
    \n

    The set of transactions that determine registry state form a log called a Transaction Event Log (TEL). The TEL provides a cryptographic proof of registry state by reference to the corresponding controlling key-event-log. Any validator may therefore cryptographically verify the authoritative of the registry.

    \n
    transfer-off-ledger
    \n

    The act of transferring control authority over an identifier from a ledger (or blockchain) to the native verifiable KERI data structure Key Event Log.

    \n
    transfer-off-ledger
    \n

    The act of transferring control authority over an identifier from a ledger (or blockchain) to the native verifiable KERI data structure Key Event Log.

    \n
    transferable-identifier
    \n

    No custom content found for toip1:transferable-identifier

    \n
    transferable
    \n

    No custom content found for transferable:transferable

    \n
    trust-domain
    \n

    A trust domain is the ecosystem of interactions that rely on a trust basis. A trust basis binds controllers, identifiers, and key-pairs. For example the Facebook ecosystem of social interactions is a trust domain that relies on Facebook’s identity system of usernames and passwords as its trust basis.

    \n
    trust-domain
    \n

    A trust domain is the ecosystem of interactions that rely on a trust basis. A trust basis binds controllers, identifiers, and key-pairs. For example the Facebook ecosystem of social interactions is a trust domain that relies on Facebook’s identity system of usernames and passwords as its trust basis.

    \n
    trust-spanning-protocol
    \n

    Protocol using verifiable-identifiers that signs every single message on the internet and makes them verifiable.

    \n
    trust-spanning-protocol
    \n

    Protocol using verifiable-identifiers that signs every single message on the internet and makes them verifiable.

    \n
    univalent
    \n

    In identifier systems, univalent means having a unique and non-ambiguous identifier for each entity or resource. This means that there is a one-to-one correspondence between the identifiers and the entities, and that no two different entities share the same identifier.

    \n
    univalent
    \n

    In identifier systems, univalent means having a unique and non-ambiguous identifier for each entity or resource. This means that there is a one-to-one correspondence between the identifiers and the entities, and that no two different entities share the same identifier.

    \n
    unpermissioned-correlation
    \n

    a correlation established between two or more disclosed ACDCs whereby the discloser of the ACDCs does not permit the disclosee to establish such a correlation.

    \n
    unpermissioned-correlation
    \n

    a correlation established between two or more disclosed ACDCs whereby the discloser of the ACDCs does not permit the disclosee to establish such a correlation.

    \n
    unsolicited-issuance
    \n

    Issuance of a Legal Entity vLEI Credential upon notice by a QAR to the AVR(s) of the Legal Entity that a Legal Entity vLEI Credential has been solicited on the legal-entity’s behalf.

    \n
    unsolicited-issuance
    \n

    Issuance of a Legal Entity vLEI Credential upon notice by a QAR to the AVR(s) of the Legal Entity that a Legal Entity vLEI Credential has been solicited on the legal-entity’s behalf.

    \n
    untargeted-acdc
    \n

    an ACDC without the presence of the Issuee field in the attribute or attribute aggregate sections.

    \n
    untargeted-acdc
    \n

    an ACDC without the presence of the Issuee field in the attribute or attribute aggregate sections.

    \n
    vLEI
    \n

    No custom content found for vlei1:vLEI

    \n
    vcp
    \n

    vcp = vdr incept, verifiable data registry inception

    \n
    vcp
    \n

    vcp = vdr incept, verifiable data registry inception

    \n
    vdr
    \n

    verifiable-data-registry

    \n
    vdr
    \n

    verifiable-data-registry

    \n
    verfer
    \n

    A primitive that represents a public key. It has the ability to verify signatures on data.

    \n
    verfer
    \n

    A primitive that represents a public key. It has the ability to verify signatures on data.

    \n
    verifiable-credential
    \n

    Verifiable credentials (VCs) are an open standard for digital credentials. They can represent information found in physical credentials, such as a passport or license, as well as new things that have no physical equivalent, such as ownership of a bank account.

    \n
    verifiable-credential
    \n

    Verifiable credentials (VCs) are an open standard for digital credentials. They can represent information found in physical credentials, such as a passport or license, as well as new things that have no physical equivalent, such as ownership of a bank account.

    \n
    verifiable-identifier
    \n

    No custom content found for toip1:verifiable-identifier

    \n
    verifiable-legal-entity-identifier
    \n

    Verifiable credentials are issued by authorized validation agents (QVI) under the governance of GLEIF, who delegate tasks to these agents. They provide cryptographic proof that the information about a legal entity, as linked to its Legal Entity Identifier (LEI), is verifiably authentic, accurate, and up-to-date.

    \n
    verifiable-legal-entity-identifier
    \n

    Verifiable credentials are issued by authorized validation agents (QVI) under the governance of GLEIF, who delegate tasks to these agents. They provide cryptographic proof that the information about a legal entity, as linked to its Legal Entity Identifier (LEI), is verifiably authentic, accurate, and up-to-date.

    \n
    verifiable
    \n

    a condition of a KEL: being internally consistent with the integrity of its backward and forward chaining digest and authenticity of its non-repudiable signatures.

    \n
    verifiable
    \n

    a condition of a KEL: being internally consistent with the integrity of its backward and forward chaining digest and authenticity of its non-repudiable signatures.

    \n
    verification
    \n

    An action an agent (of a principal) performs to determine the authenticity of a claim or other digital object using a cryptographic key.

    \n
    verification
    \n

    An action an agent (of a principal) performs to determine the authenticity of a claim or other digital object using a cryptographic key.

    \n
    verify
    \n

    The act, by or on behalf of a party, of determining whether that data is authenticity (i.e. originates from the party that authored it), timely (i.e. has not expired), and conforms to other specifications that apply to its structure.

    \n
    verify
    \n

    The act, by or on behalf of a party, of determining whether that data is authenticity (i.e. originates from the party that authored it), timely (i.e. has not expired), and conforms to other specifications that apply to its structure.

    \n
    version-code
    \n

    tells you which set of tables to load, it tells the table state. It’s a unique code. what version of the table is going to load.

    \n
    version-code
    \n

    tells you which set of tables to load, it tells the table state. It’s a unique code. what version of the table is going to load.

    \n
    version-string
    \n

    the first field in any top-level KERI field map in which it appears.

    \n
    version-string
    \n

    the first field in any top-level KERI field map in which it appears.

    \n
    version
    \n

    an instance of a KEL for an AID in which at least one event is unique between two instances of the kel.

    \n
    version
    \n

    an instance of a KEL for an AID in which at least one event is unique between two instances of the kel.

    \n
    virtual-credential-transaction-event-log
    \n

    will track the issued or revoked state of each virtual credential (VC) and will contain a reference to its corresponding management transaction event log (management TEL).

    \n
    virtual-credential-transaction-event-log
    \n

    will track the issued or revoked state of each virtual credential (VC) and will contain a reference to its corresponding management transaction event log (management TEL).

    \n
    vlei credential
    \n

    No custom content found for vlei1:vlei credential

    \n
    vlei-ecosystem-governance-framework
    \n

    No custom content found for vlei1:vlei-ecosystem-governance-framework

    \n
    vlei-role-credential
    \n

    No custom content found for vlei1:vlei-role-credential

    \n
    vrt
    \n

    vrt = vdr rotate, verifiable data registry rotation

    \n
    vrt
    \n

    vrt = vdr rotate, verifiable data registry rotation

    \n
    watcher
    \n

    an entity or component that keeps a copy of a kerl for an identifier but that is not designated by the controller of the identifier as one of its witnesses. See annex watcher.

    \n
    watcher
    \n

    an entity or component that keeps a copy of a kerl for an identifier but that is not designated by the controller of the identifier as one of its witnesses. See annex watcher.

    \n
    weight-of-weights
    \n

    There are 2 levels in the multi-sign weighted thresholds of multisig in KERI because the solution only needs to focus on tightly cooperating teams.

    \n
    weight-of-weights
    \n

    There are 2 levels in the multi-sign weighted thresholds of multisig in KERI because the solution only needs to focus on tightly cooperating teams.

    \n
    weight
    \n

    an optional field map in the Edge section that provides edge weight property that enables directed weighted edges and operators that use weights.

    \n
    weight
    \n

    an optional field map in the Edge section that provides edge weight property that enables directed weighted edges and operators that use weights.

    \n
    well-known-witnesses
    \n

    Witness identifier creation by using salts to initialize their key stores so that you can predict what identifiers will be created. For testing purposes only!

    \n
    well-known-witnesses
    \n

    Witness identifier creation by using salts to initialize their key stores so that you can predict what identifiers will be created. For testing purposes only!

    \n
    witness
    \n

    a witness is an entity or component designated (trusted) by the controller of an identifier. The primary role of a witness is to verify, sign, and keep events associated with an identifier. A witness is the controller of its own self-referential identifier which may or may not be the same as the identifier to which it is a witness. See also keri’s-algorithm-for-witness-agreement.

    \n
    witness
    \n

    a witness is an entity or component designated (trusted) by the controller of an identifier. The primary role of a witness is to verify, sign, and keep events associated with an identifier. A witness is the controller of its own self-referential identifier which may or may not be the same as the identifier to which it is a witness. See also keri’s-algorithm-for-witness-agreement.

    \n
    xip
    \n

    A XIP message allows a transaction set to be a mini peer to peer exchange to become a verifiable data structure. It makes the transaction become duplicity evident.

    \n
    xip
    \n

    A XIP message allows a transaction set to be a mini peer to peer exchange to become a verifiable data structure. It makes the transaction become duplicity evident.

    \n
    ","
    BOLA
    \n

    See broken-object-level-authorization

    \n
    ESSR
    \n

    Encrypt‐Sender‐Sign‐Receiver

    \n
    ESSR
    \n

    Encrypt‐Sender‐Sign‐Receiver

    \n
    ITPS
    \n

    information-theoretic-security

    \n
    ITPS
    \n

    information-theoretic-security

    \n
    LID
    \n

    legitimized-human-meaningful-identifier

    \n
    AAL
    \n

    See: authenticator assurance level.

    \n
    ABAC
    \n

    See: attribute-based access control.

    \n
    acceptance network
    \n

    A trust network designed to facilitate acceptance of verifiable data for its members.

    \n
    acceptance
    \n

    The action of a party receiving any form of verifiable data and using it to make a trust decision.

    \n
    acceptance
    \n

    The action of a party receiving any form of verifiable data and using it to make a trust decision.

    \n
    acceptance
    \n

    The action of a party receiving any form of verifiable data and using it to make a trust decision.

    \n
    access control
    \n

    The process of granting or denying specific requests for obtaining and using information and related information processing services.

    \n
    access control
    \n

    The process of granting or denying specific requests for obtaining and using information and related information processing services.

    \n
    accreditation
    \n

    Formal declaration by an accrediting authority that an information system is approved to operate at an acceptable level of risk, based on the implementation of an approved set of technical, managerial, and procedural safeguards.

    \n
    accreditation
    \n

    Formal declaration by an accrediting authority that an information system is approved to operate at an acceptable level of risk, based on the implementation of an approved set of technical, managerial, and procedural safeguards.

    \n
    accreditation
    \n

    Formal declaration by an accrediting authority that an information system is approved to operate at an acceptable level of risk, based on the implementation of an approved set of technical, managerial, and procedural safeguards.

    \n
    ACDC
    \n

    See: Authentic Chained Data Container.

    \n
    ACDC
    \n

    See: Authentic Chained Data Container.

    \n
    action
    \n

    Something that is actually done (a ‘unit of work’ that is executed) by a single actor (on behalf of a given party), as a single operation, in a specific context.

    \n
    action
    \n

    Something that is actually done (a ‘unit of work’ that is executed) by a single actor (on behalf of a given party), as a single operation, in a specific context.

    \n
    action
    \n

    Something that is actually done (a ‘unit of work’ that is executed) by a single actor (on behalf of a given party), as a single operation, in a specific context.

    \n
    action
    \n

    Something that is actually done (a ‘unit of work’ that is executed) by a single actor (on behalf of a given party), as a single operation, in a specific context.

    \n
    actor
    \n

    An entity that can act (do things/execute actions), e.g. people, machines, but not organizations. A digital agent can serve as an actor acting on behalf of its principal.

    \n
    actor
    \n

    An entity that can act (do things/execute actions), e.g. people, machines, but not organizations. A digital agent can serve as an actor acting on behalf of its principal.

    \n
    address
    \n

    See: network address.

    \n
    address
    \n

    See: network address.

    \n
    address
    \n

    See: network address.

    \n
    administering authority
    \n

    See: administering body.

    \n
    administering authority
    \n

    See: administering body.

    \n
    administering body
    \n

    A legal entity delegated by a governing body to administer the operation of a governance framework and governed infrastructure for a digital trust ecosystem, such as one or more trust registries.

    \n
    administering body
    \n

    A legal entity delegated by a governing body to administer the operation of a governance framework and governed infrastructure for a digital trust ecosystem, such as one or more trust registries.

    \n
    agency
    \n

    In the context of decentralized digital trust infrastructure, the empowering of a party to act independently of its own accord, and in particular to empower the party to employ an agent to act on the party's behalf.

    \n
    agent
    \n

    An actor that is executing an action on behalf of a party (called the principal of that actor). In the context of decentralized digital trust infrastructure, the term “agent” is most frequently used to mean a digital agent.

    \n
    agent
    \n

    An actor that is executing an action on behalf of a party (called the principal of that actor). In the context of decentralized digital trust infrastructure, the term “agent” is most frequently used to mean a digital agent.

    \n
    AID
    \n

    See autonomic-identifier.

    \n
    anonymous
    \n

    An adjective describing when the identity of a natural person or other actor is unknown.

    \n
    anycast address
    \n

    A network address (especially an IP address used for anycast routing of network transmissions.

    \n
    anycast address
    \n

    A network address (especially an IP address used for anycast routing of network transmissions.

    \n
    anycast
    \n

    Anycast is a network addressing and routing methodology in which a single IP-address is shared by devices (generally servers) in multiple locations. Routers direct packets addressed to this destination to the location nearest the sender, using their normal decision-making algorithms, typically the lowest number of BGP network hops. Anycast routing is widely used by content delivery networks such as web and name servers, to bring their content closer to end users.

    \n
    appraisability
    \n

    The ability for a communication endpoint identified with a verifiable identifier (VID) to be appraised for the set of its properties that enable a relying party or a verifier to make a trust decision about communicating with that endpoint.

    \n
    appraisability
    \n

    The ability for a communication endpoint identified with a verifiable identifier (VID) to be appraised for the set of its properties that enable a relying party or a verifier to make a trust decision about communicating with that endpoint.

    \n
    appraisability
    \n

    The ability for a communication endpoint identified with a verifiable identifier (VID) to be appraised for the set of its properties that enable a relying party or a verifier to make a trust decision about communicating with that endpoint.

    \n
    appropriate friction
    \n

    A user-experience design principle for information systems (such as digital wallets) specifying that the level of attention required of the holder for a particular transaction should provide a reasonable opportunity for an informed choice by the holder.

    \n
    assurance level
    \n

    A level of confidence in a claim that may be relied on by others. Different types of assurance levels are defined for different types of trust assurance mechanisms. Examples include authenticator assurance level, federation assurance level, and identity assurance level.

    \n
    assurance level
    \n

    A level of confidence in a claim that may be relied on by others. Different types of assurance levels are defined for different types of trust assurance mechanisms. Examples include authenticator assurance level, federation assurance level, and identity assurance level.

    \n
    attestation
    \n

    The issue of a statement, based on a decision, that fulfillment of specified requirements has been demonstrated. In the context of decentralized digital trust infrastructure, an attestation usually has a digital signature so that it is cryptographically verifiable.

    \n
    attestation
    \n

    The issue of a statement, based on a decision, that fulfillment of specified requirements has been demonstrated. In the context of decentralized digital trust infrastructure, an attestation usually has a digital signature so that it is cryptographically verifiable.

    \n
    attribute-based access control
    \n

    An access control approach in which access is mediated based on attributes associated with subjects (requesters) and the objects to be accessed. Each object and subject has a set of associated attributes, such as location, time of creation, access rights, etc. Access to an object is authorized or denied depending upon whether the required (e.g., policy-defined) correlation can be made between the attributes of that object and of the requesting subject.

    \n
    attribute-based access control
    \n

    An access control approach in which access is mediated based on attributes associated with subjects (requesters) and the objects to be accessed. Each object and subject has a set of associated attributes, such as location, time of creation, access rights, etc. Access to an object is authorized or denied depending upon whether the required (e.g., policy-defined) correlation can be made between the attributes of that object and of the requesting subject.

    \n
    attribute
    \n

    An identifiable set of data that describes an entity, which is the subject of the attribute.

    \n
    attribute
    \n

    An identifiable set of data that describes an entity, which is the subject of the attribute.

    \n
    attributional-trust
    \n

    KERI offers cryptographic root-of-trust to establish attributional trust. In the real world you’d also need reputational-trust. You can’t have reputation without attributional trust.

    \n
    attributional-trust
    \n

    KERI offers cryptographic root-of-trust to establish attributional trust. In the real world you’d also need reputational-trust. You can’t have reputation without attributional trust.

    \n
    audit log
    \n

    An audit log is a security-relevant chronological record, set of records, and/or destination and source of records that provide documentary evidence of the sequence of activities that have affected at any time a specific operation, procedure, event, or device.

    \n
    audit log
    \n

    An audit log is a security-relevant chronological record, set of records, and/or destination and source of records that provide documentary evidence of the sequence of activities that have affected at any time a specific operation, procedure, event, or device.

    \n
    audit
    \n

    Independent review and examination of records and activities to assess the adequacy of system controls, to ensure compliance with established policies and operational procedures.

    \n
    audit
    \n

    Independent review and examination of records and activities to assess the adequacy of system controls, to ensure compliance with established policies and operational procedures.

    \n
    auditor
    \n

    The party responsible for performing an audit. Typically an auditor must be accredited.

    \n
    auditor
    \n

    The party responsible for performing an audit. Typically an auditor must be accredited.

    \n
    Authentic Chained Data Container
    \n

    A digital data structure designed for both cryptographic verification and chaining of data containers. ACDC may be used for digital credentials.

    \n
    authentic-data
    \n

    integrity and provenance'd data.

    \n
    authentic-data
    \n

    integrity and provenance'd data.

    \n
    authentication
    \n

    Verifying the identity of a user, process, or device, often as a prerequisite to allowing access to resources in an information system.

    \n
    authentication
    \n

    Verifying the identity of a user, process, or device, often as a prerequisite to allowing access to resources in an information system.

    \n
    authentication
    \n

    Verifying the identity of a user, process, or device, often as a prerequisite to allowing access to resources in an information system.

    \n
    authentication
    \n

    Verifying the identity of a user, process, or device, often as a prerequisite to allowing access to resources in an information system.

    \n
    authentication
    \n

    Verifying the identity of a user, process, or device, often as a prerequisite to allowing access to resources in an information system.

    \n
    authenticator assurance level
    \n

    A measure of the strength of an authentication mechanism and, therefore, the confidence in it.

    \n
    authenticator assurance level
    \n

    A measure of the strength of an authentication mechanism and, therefore, the confidence in it.

    \n
    authenticator assurance level
    \n

    A measure of the strength of an authentication mechanism and, therefore, the confidence in it.

    \n
    authenticator assurance level
    \n

    A measure of the strength of an authentication mechanism and, therefore, the confidence in it.

    \n
    authenticator
    \n

    Something the claimant possesses and controls (typically a cryptographic module or password) that is used to authenticate the claimant’s identity.

    \n
    authenticity
    \n

    The property of being genuine and being able to be verified and trusted; confidence in the validity of a transmission, a message, or message originator.

    \n
    authenticity
    \n

    The property of being genuine and being able to be verified and trusted; confidence in the validity of a transmission, a message, or message originator.

    \n
    authoritative source
    \n

    A source of information that a relying party considers to be authoritative for that information. In ToIP architecture, the trust registry authorized by the governance framework for a trust community is typically considered an authoritative source by the members of that trust community. A system of record is an authoritative source for the data records it holds. A trust anchor is an authoritative source for the beginning of a trust chain.

    \n
    authoritative source
    \n

    A source of information that a relying party considers to be authoritative for that information. In ToIP architecture, the trust registry authorized by the governance framework for a trust community is typically considered an authoritative source by the members of that trust community. A system of record is an authoritative source for the data records it holds. A trust anchor is an authoritative source for the beginning of a trust chain.

    \n
    authoritative
    \n

    Information or data that comes from an authority for that information.

    \n
    authority
    \n

    A party of which certain decisions, ideas, policies, rules etc. are followed by other parties.

    \n
    authority
    \n

    A party of which certain decisions, ideas, policies, rules etc. are followed by other parties.

    \n
    authorization graph
    \n

    A graph of the authorization relationships between different entities in a trust-community. In a digital trust ecosystem, the governing body is typically the trust root of an authorization graph. In some cases, an authorization graph can be traversed by making queries to one or more trust registries.

    \n
    authorization
    \n

    The process of verifying that a requested action or service is approved for a specific entity.

    \n
    authorization
    \n

    The process of verifying that a requested action or service is approved for a specific entity.

    \n
    authorization
    \n

    The process of verifying that a requested action or service is approved for a specific entity.

    \n
    authorization
    \n

    The process of verifying that a requested action or service is approved for a specific entity.

    \n
    authorization
    \n

    The process of verifying that a requested action or service is approved for a specific entity.

    \n
    authorization
    \n

    The process of verifying that a requested action or service is approved for a specific entity.

    \n
    authorization
    \n

    The process of verifying that a requested action or service is approved for a specific entity.

    \n
    authorization
    \n

    The process of verifying that a requested action or service is approved for a specific entity.

    \n
    authorization
    \n

    The process of verifying that a requested action or service is approved for a specific entity.

    \n
    authorization
    \n

    The process of verifying that a requested action or service is approved for a specific entity.

    \n
    authorization
    \n

    The process of verifying that a requested action or service is approved for a specific entity.

    \n
    authorization
    \n

    The process of verifying that a requested action or service is approved for a specific entity.

    \n
    authorization
    \n

    The process of verifying that a requested action or service is approved for a specific entity.

    \n
    authorization
    \n

    The process of verifying that a requested action or service is approved for a specific entity.

    \n
    authorized organizational representative
    \n

    A person who has the authority to make claims, sign documents or otherwise commit resources on behalf of an organization.

    \n
    autonomic-identifier
    \n

    The specific type of self-certifying identifier defined by the KERI specifications: autonomic identifier.

    \n
    autonomic-identifier
    \n

    The specific type of self-certifying identifier defined by the KERI specifications: autonomic identifier.

    \n
    autonomic-identity-system
    \n

    an identity system that includes a primary root-of-trust in self-certifying identifiers that are strongly bound at issuance to a cryptographic signing (public, private) key pair. An AIS enables any entity to establish control over an AN in an independent, interoperable, and portable way.

    \n
    autonomic-identity-system
    \n

    an identity system that includes a primary root-of-trust in self-certifying identifiers that are strongly bound at issuance to a cryptographic signing (public, private) key pair. An AIS enables any entity to establish control over an AN in an independent, interoperable, and portable way.

    \n
    autonomic-namespace
    \n

    a namespace that is self-certifying and hence self-administrating. An AN has a self-certifying prefix that provides cryptographic verification of root control authority over its namespace. All derived AIDs in the same AN share the same root-of-trust, source-of-truth, and locus-of-control (RSL). The governance of the namespace is, therefore, unified into one entity, that is, the controller who is/holds the root authority over the namespace.

    \n
    autonomic-namespace
    \n

    a namespace that is self-certifying and hence self-administrating. An AN has a self-certifying prefix that provides cryptographic verification of root control authority over its namespace. All derived AIDs in the same AN share the same root-of-trust, source-of-truth, and locus-of-control (RSL). The governance of the namespace is, therefore, unified into one entity, that is, the controller who is/holds the root authority over the namespace.

    \n
    binding
    \n

    The technique of connecting two data elements together. In the context of key-event-receipt-infrastructure it’s the association of data or an identifier with another identifier or a subject (a person, organization or machine), thereby lifting the privacy of the subject through that connection, i.e. binding.

    \n
    biometric
    \n

    A measurable physical characteristic or personal behavioral trait used to recognize the AID, or verify the claimed identity, of an applicant. Facial images, fingerprints, and iris scan samples are all examples of biometrics.

    \n
    biometric
    \n

    A measurable physical characteristic or personal behavioral trait used to recognize the AID, or verify the claimed identity, of an applicant. Facial images, fingerprints, and iris scan samples are all examples of biometrics.

    \n
    blockchain
    \n

    A distributed ledger of cryptographically-signed transactions that are grouped into blocks. Each block is cryptographically linked to the previous one (making it tamper evident) after validation and undergoing a consensus decision. As new blocks are added, older blocks become more difficult to modify (creating tamper resistance). New blocks are replicated across copies of the ledger within the network, and any conflicts are resolved automatically using established rules.

    \n
    blockchain
    \n

    A distributed ledger of cryptographically-signed transactions that are grouped into blocks. Each block is cryptographically linked to the previous one (making it tamper evident) after validation and undergoing a consensus decision. As new blocks are added, older blocks become more difficult to modify (creating tamper resistance). New blocks are replicated across copies of the ledger within the network, and any conflicts are resolved automatically using established rules.

    \n
    broadcast address
    \n

    A broadcast address is a network address used to transmit to all devices connected to a multiple-access communications network. A message sent to a broadcast address may be received by all network-attached hosts. In contrast, a multicast address is used to address a specific group of devices, and a unicast address is used to address a single device. For network layer communications, a broadcast address may be a specific IP address.

    \n
    broadcast address
    \n

    A broadcast address is a network address used to transmit to all devices connected to a multiple-access communications network. A message sent to a broadcast address may be received by all network-attached hosts. In contrast, a multicast address is used to address a specific group of devices, and a unicast address is used to address a single device. For network layer communications, a broadcast address may be a specific IP address.

    \n
    broadcast
    \n

    In computer networking, telecommunication and information theory, broadcasting is a method of transferring a message to all recipients simultaneously. Broadcast delivers a message to all nodes in the network using a one-to-all association; a single datagram (or packet) from one sender is routed to all of the possibly multiple endpoints associated with the broadcast address. The network automatically replicates datagrams as needed to reach all the recipients within the scope of the broadcast, which is generally an entire network subnet.

    \n
    broken-object-level-authorization
    \n

    Refers to security flaws where users can access data they shouldn’t, due to inadequate permission checks on individual (sub)objects.

    \n
    broken-object-level-authorization
    \n

    Refers to security flaws where users can access data they shouldn’t, due to inadequate permission checks on individual (sub)objects.

    \n
    C2PA
    \n

    See: Coalition for Content Provenance and Authenticity.

    \n
    CA
    \n

    See: certificate authority.

    \n
    CA
    \n

    See: certificate authority.

    \n
    CAI
    \n

    See: Content Authenticity Initiative.

    \n
    capability
    \n

    The ability for an actor or agent to perform a specific action on behalf of party.

    \n
    capability
    \n

    The ability for an actor or agent to perform a specific action on behalf of party.

    \n
    certificate authority
    \n

    The entity in a public key infrastructure (PKI) that is responsible for issuing public key certificates and exacting compliance to a PKI policy.

    \n
    certificate authority
    \n

    The entity in a public key infrastructure (PKI) that is responsible for issuing public key certificates and exacting compliance to a PKI policy.

    \n
    certificate
    \n

    See: public key certificate.

    \n
    certificate
    \n

    See: public key certificate.

    \n
    certification authority
    \n

    See: certificate authority.

    \n
    certification authority
    \n

    See: certificate authority.

    \n
    certification body
    \n

    A legal entity that performs certification.

    \n
    certification body
    \n

    A legal entity that performs certification.

    \n
    certification
    \n

    A comprehensive assessment of the management, operational, and technical security controls in an information system, made in support of security accreditation, to determine the extent to which the controls are implemented correctly, operating as intended, and producing the desired outcome with respect to meeting the security requirements for the system.

    \n
    certification
    \n

    A comprehensive assessment of the management, operational, and technical security controls in an information system, made in support of security accreditation, to determine the extent to which the controls are implemented correctly, operating as intended, and producing the desired outcome with respect to meeting the security requirements for the system.

    \n
    chain of trust
    \n

    See: trust chain.

    \n
    chain of trust
    \n

    See: trust chain.

    \n
    chained credentials
    \n

    Two or more credentials linked together to create a trust chain between the credentials that is cryptographically verifiable.

    \n
    chaining
    \n

    See: trust chain.

    \n
    channel
    \n

    See: communication channel.

    \n
    channel
    \n

    See: communication channel.

    \n
    ciphertext
    \n

    Encrypted (enciphered) data. The confidential form of the plaintext that is the output of the encryption function.

    \n
    ciphertext
    \n

    Encrypted (enciphered) data. The confidential form of the plaintext that is the output of the encryption function.

    \n
    claim
    \n

    An assertion about a subject, typically expressed as an attribute or property of the subject. It is called a “claim” because the assertion is always made by some party, called the issuer of the claim, and the validity of the claim must be judged by the verifier.

    \n
    claim
    \n

    An assertion about a subject, typically expressed as an attribute or property of the subject. It is called a “claim” because the assertion is always made by some party, called the issuer of the claim, and the validity of the claim must be judged by the verifier.

    \n
    claim
    \n

    An assertion about a subject, typically expressed as an attribute or property of the subject. It is called a “claim” because the assertion is always made by some party, called the issuer of the claim, and the validity of the claim must be judged by the verifier.

    \n
    claim
    \n

    An assertion about a subject, typically expressed as an attribute or property of the subject. It is called a “claim” because the assertion is always made by some party, called the issuer of the claim, and the validity of the claim must be judged by the verifier.

    \n
    Coalition for Content Provenance and Authenticity
    \n

    C2PA is a Joint Development Foundation project of the Linux Foundation that addresses the prevalence of misleading information online through the development of technical standards for certifying the source and history (or provenance) of media content.

    \n
    collective-signature
    \n

    a group signature scheme, that (i) is shared by a set of signing groups and (ii) combined collective signature shared by several signing groups and several individual signers. The protocol of the first type is constructed and described in detail. It is possible to modify the described protocol which allows transforming the protocol of the first type into the protocol of the second type. The proposed collective signature protocols have significant merits, one of which is connected with possibility of their practical using on the base of the existing public key infrastructures.

    \n
    collective-signature
    \n

    a group signature scheme, that (i) is shared by a set of signing groups and (ii) combined collective signature shared by several signing groups and several individual signers. The protocol of the first type is constructed and described in detail. It is possible to modify the described protocol which allows transforming the protocol of the first type into the protocol of the second type. The proposed collective signature protocols have significant merits, one of which is connected with possibility of their practical using on the base of the existing public key infrastructures.

    \n
    communication channel
    \n

    A communication channel refers either to a physical transmission medium such as a wire, or to a logical connection over a multiplexed medium such as a radio channel in telecommunications and computer networking. A channel is used for information transfer of, for example, a digital bit stream, from one or several senders to one or several receivers.

    \n
    communication channel
    \n

    A communication channel refers either to a physical transmission medium such as a wire, or to a logical connection over a multiplexed medium such as a radio channel in telecommunications and computer networking. A channel is used for information transfer of, for example, a digital bit stream, from one or several senders to one or several receivers.

    \n
    communication endpoint
    \n

    A type of communication network node. It is an interface exposed by a communicating party or by a communication channel. An example of the latter type of a communication endpoint is a publish-subscribe topic or a group in group communication systems.

    \n
    communication endpoint
    \n

    A type of communication network node. It is an interface exposed by a communicating party or by a communication channel. An example of the latter type of a communication endpoint is a publish-subscribe topic or a group in group communication systems.

    \n
    communication endpoint
    \n

    A type of communication network node. It is an interface exposed by a communicating party or by a communication channel. An example of the latter type of a communication endpoint is a publish-subscribe topic or a group in group communication systems.

    \n
    communication endpoint
    \n

    A type of communication network node. It is an interface exposed by a communicating party or by a communication channel. An example of the latter type of a communication endpoint is a publish-subscribe topic or a group in group communication systems.

    \n
    communication metadata
    \n

    Metadata that describes the sender, receiver, routing, handling, or contents of a communication. Communication metadata is often observable even if the contents of the communication are encrypted.

    \n
    communication metadata
    \n

    Metadata that describes the sender, receiver, routing, handling, or contents of a communication. Communication metadata is often observable even if the contents of the communication are encrypted.

    \n
    communication session
    \n

    A finite period for which a communication channel is instantiated and maintained, during which certain properties of that channel, such as authentication of the participants, are in effect. A session has a beginning, called the session initiation, and an ending, called the session termination.

    \n
    communication session
    \n

    A finite period for which a communication channel is instantiated and maintained, during which certain properties of that channel, such as authentication of the participants, are in effect. A session has a beginning, called the session initiation, and an ending, called the session termination.

    \n
    communication session
    \n

    A finite period for which a communication channel is instantiated and maintained, during which certain properties of that channel, such as authentication of the participants, are in effect. A session has a beginning, called the session initiation, and an ending, called the session termination.

    \n
    communication session
    \n

    A finite period for which a communication channel is instantiated and maintained, during which certain properties of that channel, such as authentication of the participants, are in effect. A session has a beginning, called the session initiation, and an ending, called the session termination.

    \n
    communication
    \n

    The transmission of information.

    \n
    communication
    \n

    The transmission of information.

    \n
    complex password
    \n

    A password that meets certain security requirements, such as minimum length, inclusion of different character types, non-repetition of characters, and so on.

    \n
    complex password
    \n

    A password that meets certain security requirements, such as minimum length, inclusion of different character types, non-repetition of characters, and so on.

    \n
    compliance
    \n

    In the context of decentralized digital trust infrastructure, compliance is the extent to which a system, actor, or party conforms to the requirements of a regulation, governance framework, or trust framework that pertains to that particular entity.

    \n
    compliance
    \n

    In the context of decentralized digital trust infrastructure, compliance is the extent to which a system, actor, or party conforms to the requirements of a regulation, governance framework, or trust framework that pertains to that particular entity.

    \n
    compliance
    \n

    In the context of decentralized digital trust infrastructure, compliance is the extent to which a system, actor, or party conforms to the requirements of a regulation, governance framework, or trust framework that pertains to that particular entity.

    \n
    compliance
    \n

    In the context of decentralized digital trust infrastructure, compliance is the extent to which a system, actor, or party conforms to the requirements of a regulation, governance framework, or trust framework that pertains to that particular entity.

    \n
    compliance
    \n

    In the context of decentralized digital trust infrastructure, compliance is the extent to which a system, actor, or party conforms to the requirements of a regulation, governance framework, or trust framework that pertains to that particular entity.

    \n
    compliance
    \n

    In the context of decentralized digital trust infrastructure, compliance is the extent to which a system, actor, or party conforms to the requirements of a regulation, governance framework, or trust framework that pertains to that particular entity.

    \n
    concept
    \n

    An abstract idea that enables the classification of entities, i.e., a mental construct that enables an instance of a class of entities to be distinguished from entities that are not an instance of that class. A concept can be identified with a term.

    \n
    concept
    \n

    An abstract idea that enables the classification of entities, i.e., a mental construct that enables an instance of a class of entities to be distinguished from entities that are not an instance of that class. A concept can be identified with a term.

    \n
    confidential computing
    \n

    Hardware-enabled features that isolate and process encrypted data in memory so that the data is at less risk of exposure and compromise from concurrent workloads or the underlying system and platform.

    \n
    confidentiality
    \n

    In a communications context, a type of privacy protection in which messages use encryption or other privacy-preserving technologies so that only authorized parties have access.

    \n
    confidentiality
    \n

    In a communications context, a type of privacy protection in which messages use encryption or other privacy-preserving technologies so that only authorized parties have access.

    \n
    connection
    \n

    A communication channel established between two communication endpoints. A connection may be ephemeral or persistent.

    \n
    connection
    \n

    A communication channel established between two communication endpoints. A connection may be ephemeral or persistent.

    \n
    consent management
    \n

    A system, process or set of policies under which a person agrees to share personal data for specific usages. A consent management system will typically create a record of such consent.

    \n
    Content Authenticity Initiative
    \n

    The Content Authenticity Initiative (CAI) is an association founded in November 2019 by Adobe, the New York Times and Twitter. The CAI promotes an industry standard for provenance metadata defined by the C2PA. The CAI cites curbing disinformation as one motivation for its activities.

    \n
    contextual-linkability
    \n

    Refers to the condition where vendors or other data capture points provide enough context at point of capture to be able to use statistical correlation with existing data sets to link any of a person’s disclosed attributes to a set of already known data points about a given person.

    \n
    contextual-linkability
    \n

    Refers to the condition where vendors or other data capture points provide enough context at point of capture to be able to use statistical correlation with existing data sets to link any of a person’s disclosed attributes to a set of already known data points about a given person.

    \n
    control-authority
    \n

    In identity systems Control Authority is who controls what and that is the primary factor in determining the basis for trust in them. The entity with control authority takes action through operations that affect the

    \n
    control-authority
    \n

    In identity systems Control Authority is who controls what and that is the primary factor in determining the basis for trust in them. The entity with control authority takes action through operations that affect the

    \n
    controlled document
    \n

    A governance document whose authority is derived from a primary document.

    \n
    controlled document
    \n

    A governance document whose authority is derived from a primary document.

    \n
    controller
    \n

    In the context of digital communications, the entity in control of sending and receiving digital communications. In the context of decentralized digital trust infrastructure, the entity in control of the cryptographic keys necessary to perform cryptographically verifiable actions using a digital agent and digital wallet. In a ToIP context, the entity in control of a ToIP endpoint.

    \n
    controller
    \n

    In the context of digital communications, the entity in control of sending and receiving digital communications. In the context of decentralized digital trust infrastructure, the entity in control of the cryptographic keys necessary to perform cryptographically verifiable actions using a digital agent and digital wallet. In a ToIP context, the entity in control of a ToIP endpoint.

    \n
    correlation privacy
    \n

    In a communications context, a type of privacy protection in which messages use encryption, hashes, or other privacy-preserving technologies to avoid the use of identifiers or other content that unauthorized parties may use to correlate the sender and/or receiver(s).

    \n
    counterparty
    \n

    From the perspective of one party, the other party in a transaction, such as a financial transaction.

    \n
    counterparty
    \n

    From the perspective of one party, the other party in a transaction, such as a financial transaction.

    \n
    credential family
    \n

    A set of related digital credentials defined by a governing body (typically in a governance framework) to empower transitive trust decisions among the participants in a digital trust ecosystem.

    \n
    credential family
    \n

    A set of related digital credentials defined by a governing body (typically in a governance framework) to empower transitive trust decisions among the participants in a digital trust ecosystem.

    \n
    credential governance framework
    \n

    A governance framework for a credential family. A credential governance framework may be included within or referenced by an ecosystem governance framework.

    \n
    credential governance framework
    \n

    A governance framework for a credential family. A credential governance framework may be included within or referenced by an ecosystem governance framework.

    \n
    credential offer
    \n

    A protocol request invoked by an issuer to offer to issue a digital credential to the  holder of a digital wallet. If the request is invoked by the holder, it is called an issuance request.

    \n
    credential offer
    \n

    A protocol request invoked by an issuer to offer to issue a digital credential to the  holder of a digital wallet. If the request is invoked by the holder, it is called an issuance request.

    \n
    credential request
    \n

    See: issuance request.

    \n
    credential request
    \n

    See: issuance request.

    \n
    credential schema
    \n

    A data schema describing the structure of a digital credential. The W3C Verifiable Credentials Data Model Specification defines a set of requirements for credential schemas.

    \n
    credential schema
    \n

    A data schema describing the structure of a digital credential. The W3C Verifiable Credentials Data Model Specification defines a set of requirements for credential schemas.

    \n
    credential
    \n

    A container of claims describing one or more subjects. A credential is generated by the issuer of the credential and given to the holder of the credential. A credential typically includes a signature or some other means of proving its authenticity. A credential may be either a physical credential or a digital credential.

    \n
    credential
    \n

    A container of claims describing one or more subjects. A credential is generated by the issuer of the credential and given to the holder of the credential. A credential typically includes a signature or some other means of proving its authenticity. A credential may be either a physical credential or a digital credential.

    \n
    criterion
    \n

    In the context of terminology, a written description of a concept that anyone can evaluate to determine whether or not an entity is an instance or example of that concept. Evaluation leads to a yes/no result.

    \n
    cryptographic binding
    \n

    Associating two or more related elements of information using cryptographic techniques.

    \n
    cryptographic binding
    \n

    Associating two or more related elements of information using cryptographic techniques.

    \n
    cryptographic key
    \n

    A key in cryptography is a piece of information, usually a string of numbers or letters that are stored in a file, which, when processed through a cryptographic algorithm, can encode or decode cryptographic data. Symmetric cryptography refers to the practice of the same key being used for both encryption and decryption. Asymmetric cryptography has separate keys for encrypting and decrypting. These keys are known as the public keys and private keys, respectively.

    \n
    cryptographic key
    \n

    A key in cryptography is a piece of information, usually a string of numbers or letters that are stored in a file, which, when processed through a cryptographic algorithm, can encode or decode cryptographic data. Symmetric cryptography refers to the practice of the same key being used for both encryption and decryption. Asymmetric cryptography has separate keys for encrypting and decrypting. These keys are known as the public keys and private keys, respectively.

    \n
    cryptographic key
    \n

    A key in cryptography is a piece of information, usually a string of numbers or letters that are stored in a file, which, when processed through a cryptographic algorithm, can encode or decode cryptographic data. Symmetric cryptography refers to the practice of the same key being used for both encryption and decryption. Asymmetric cryptography has separate keys for encrypting and decrypting. These keys are known as the public keys and private keys, respectively.

    \n
    cryptographic key
    \n

    A key in cryptography is a piece of information, usually a string of numbers or letters that are stored in a file, which, when processed through a cryptographic algorithm, can encode or decode cryptographic data. Symmetric cryptography refers to the practice of the same key being used for both encryption and decryption. Asymmetric cryptography has separate keys for encrypting and decrypting. These keys are known as the public keys and private keys, respectively.

    \n
    cryptographic trust
    \n

    A specialized type of technical trust that is achieved using cryptographic algorithms.

    \n
    cryptographic verifiability
    \n

    The property of being cryptographically verifiable.

    \n
    cryptographic verifiability
    \n

    The property of being cryptographically verifiable.

    \n
    cryptographically bound
    \n

    A state in which two or more elements of information have a cryptographic binding.

    \n
    cryptographically verifiable
    \n

    A property of a data structure that has been digitally signed using a private key such that the digital signature can be verified using the public key. Verifiable data, verifiable messages, verifiable credentials, and verifiable data registries are all cryptographically verifiable. Cryptographic verifiability is a primary goal of the ToIP Technology Stack.

    \n
    cryptographically verifiable
    \n

    A property of a data structure that has been digitally signed using a private key such that the digital signature can be verified using the public key. Verifiable data, verifiable messages, verifiable credentials, and verifiable data registries are all cryptographically verifiable. Cryptographic verifiability is a primary goal of the ToIP Technology Stack.

    \n
    cryptography
    \n

    TODO

    \n
    custodial wallet
    \n

    A digital wallet that is directly in the custody of a principal, i.e., under the principal’s direct personal or organizational control. A digital wallet that is in the custody of a third party is called a non-custodial wallet.

    \n
    custodial wallet
    \n

    A digital wallet that is directly in the custody of a principal, i.e., under the principal’s direct personal or organizational control. A digital wallet that is in the custody of a third party is called a non-custodial wallet.

    \n
    custodian
    \n

    A third party that has been assigned rights and duties in a custodianship arrangement for the purpose of hosting and safeguarding a principal's private keys, digital wallet and digital assets on the principal’s behalf. Depending on the custodianship arrangement, the custodian may act as an exchange and provide additional services, such as staking, lending, account recovery, or security features.

    \n
    custodian
    \n

    A third party that has been assigned rights and duties in a custodianship arrangement for the purpose of hosting and safeguarding a principal's private keys, digital wallet and digital assets on the principal’s behalf. Depending on the custodianship arrangement, the custodian may act as an exchange and provide additional services, such as staking, lending, account recovery, or security features.

    \n
    custodianship arrangement
    \n

    The informal terms or formal legal agreement under which a custodian agrees to provide service to a principal.

    \n
    custodianship arrangement
    \n

    The informal terms or formal legal agreement under which a custodian agrees to provide service to a principal.

    \n
    dark pattern
    \n

    A design pattern, mainly in user interfaces, that has the effect of deceiving individuals into making choices that are advantageous to the designer.

    \n
    dark pattern
    \n

    A design pattern, mainly in user interfaces, that has the effect of deceiving individuals into making choices that are advantageous to the designer.

    \n
    data packet
    \n

    In telecommunications and computer networking, a network packet is a formatted unit of data carried by a packet-switched network such as the Internet. A packet consists of control information and user data; the latter is also known as the payload. Control information provides data for delivering the payload (e.g., source and destination network addresses, error detection codes, or sequencing information). Typically, control information is found in packet headers and trailers.

    \n
    data packet
    \n

    In telecommunications and computer networking, a network packet is a formatted unit of data carried by a packet-switched network such as the Internet. A packet consists of control information and user data; the latter is also known as the payload. Control information provides data for delivering the payload (e.g., source and destination network addresses, error detection codes, or sequencing information). Typically, control information is found in packet headers and trailers.

    \n
    data schema
    \n

    A description of the structure of a digital document or object, typically expressed in a machine-readable language in terms of constraints on the structure and content of documents or objects of that type. A credential schema is a particular type of data schema.

    \n
    data schema
    \n

    A description of the structure of a digital document or object, typically expressed in a machine-readable language in terms of constraints on the structure and content of documents or objects of that type. A credential schema is a particular type of data schema.

    \n
    data subject
    \n

    The natural person that is described by personal data. Data subject is the term used by the EU General Data Protection Regulation.

    \n
    data subject
    \n

    The natural person that is described by personal data. Data subject is the term used by the EU General Data Protection Regulation.

    \n
    data vault
    \n

    See: digital vault.

    \n
    data vault
    \n

    See: digital vault.

    \n
    data
    \n

    In the pursuit of knowledge, data is a collection of discrete values that convey information, describing quantity, quality, fact, statistics, other basic units of meaning, or simply sequences of symbols that may be further interpreted. A datum is an individual value in a collection of data.

    \n
    data
    \n

    In the pursuit of knowledge, data is a collection of discrete values that convey information, describing quantity, quality, fact, statistics, other basic units of meaning, or simply sequences of symbols that may be further interpreted. A datum is an individual value in a collection of data.

    \n
    datagram
    \n

    See: data packet.

    \n
    datagram
    \n

    See: data packet.

    \n
    dead-drop
    \n

    In cybersecurity or digital privacy scenarios, the term “dead drop” refers to encrypted or secure virtual spaces where information can be deposited or retrieved anonymously. In the credentials field, the presenter controls the disclosure, so you can’t re-identify the data.

    \n
    dead-drop
    \n

    In cybersecurity or digital privacy scenarios, the term “dead drop” refers to encrypted or secure virtual spaces where information can be deposited or retrieved anonymously. In the credentials field, the presenter controls the disclosure, so you can’t re-identify the data.

    \n
    decentralized identifier
    \n

    A globally unique persistent identifier that does not require a centralized registration authority and is often generated and/or registered cryptographically. The generic format of a DID is defined in section 3.1 DID Syntax of the W3C Decentralized Identifiers (DIDs) 1.0 specification. A specific DID scheme is defined in a DID method specification.

    \n
    decentralized identifier
    \n

    A globally unique persistent identifier that does not require a centralized registration authority and is often generated and/or registered cryptographically. The generic format of a DID is defined in section 3.1 DID Syntax of the W3C Decentralized Identifiers (DIDs) 1.0 specification. A specific DID scheme is defined in a DID method specification.

    \n
    decentralized identifier
    \n

    A globally unique persistent identifier that does not require a centralized registration authority and is often generated and/or registered cryptographically. The generic format of a DID is defined in section 3.1 DID Syntax of the W3C Decentralized Identifiers (DIDs) 1.0 specification. A specific DID scheme is defined in a DID method specification.

    \n
    decentralized identifier
    \n

    A globally unique persistent identifier that does not require a centralized registration authority and is often generated and/or registered cryptographically. The generic format of a DID is defined in section 3.1 DID Syntax of the W3C Decentralized Identifiers (DIDs) 1.0 specification. A specific DID scheme is defined in a DID method specification.

    \n
    decentralized identifier
    \n

    A globally unique persistent identifier that does not require a centralized registration authority and is often generated and/or registered cryptographically. The generic format of a DID is defined in section 3.1 DID Syntax of the W3C Decentralized Identifiers (DIDs) 1.0 specification. A specific DID scheme is defined in a DID method specification.

    \n
    Decentralized Identity Foundation
    \n

    A non-profit project of the Linux Foundation chartered to develop the foundational components of an open, standards-based, decentralized identity ecosystem for people, organizations, apps, and devices.

    \n
    decentralized identity
    \n

    A digital identity architecture in which a digital identity is established via the control of a set of cryptographic keys in a digital wallet so that the controller is not dependent on any external identity provider or other third party.

    \n
    decentralized identity
    \n

    A digital identity architecture in which a digital identity is established via the control of a set of cryptographic keys in a digital wallet so that the controller is not dependent on any external identity provider or other third party.

    \n
    decentralized-key-management-infrastructure
    \n

    No custom content found for toip2:decentralized-key-management-infrastructure

    \n
    Decentralized Web Node
    \n

    A decentralized personal and application data storage and message relay node, as defined in the DIF Decentralized Web Node specification. Users may have multiple nodes that replicate their data between them.

    \n
    Decentralized Web Node
    \n

    A decentralized personal and application data storage and message relay node, as defined in the DIF Decentralized Web Node specification. Users may have multiple nodes that replicate their data between them.

    \n
    deceptive pattern
    \n

    See: dark pattern.

    \n
    deceptive pattern
    \n

    See: dark pattern.

    \n
    decryption
    \n

    The process of changing ciphertext into plaintext using a cryptographic algorithm and key. The opposite of encryption.

    \n
    decryption
    \n

    The process of changing ciphertext into plaintext using a cryptographic algorithm and key. The opposite of encryption.

    \n
    decryption
    \n

    The process of changing ciphertext into plaintext using a cryptographic algorithm and key. The opposite of encryption.

    \n
    decryption
    \n

    The process of changing ciphertext into plaintext using a cryptographic algorithm and key. The opposite of encryption.

    \n
    decryption
    \n

    The process of changing ciphertext into plaintext using a cryptographic algorithm and key. The opposite of encryption.

    \n
    deep link
    \n

    In the context of the World Wide Web, deep linking is the use of a hyperlink that links to a specific, generally searchable or indexed, piece of web content on a website (e.g. “https://example.com/path/page”), rather than the website’s home page (e.g., “https://example.com”). The URL contains all the information needed to point to a particular item. Deep linking is different from mobile deep linking, which refers to directly linking to in-app content using a non-HTTP URI.

    \n
    deep link
    \n

    In the context of the World Wide Web, deep linking is the use of a hyperlink that links to a specific, generally searchable or indexed, piece of web content on a website (e.g. “https://example.com/path/page”), rather than the website’s home page (e.g., “https://example.com”). The URL contains all the information needed to point to a particular item. Deep linking is different from mobile deep linking, which refers to directly linking to in-app content using a non-HTTP URI.

    \n
    deep link
    \n

    In the context of the World Wide Web, deep linking is the use of a hyperlink that links to a specific, generally searchable or indexed, piece of web content on a website (e.g. “https://example.com/path/page”), rather than the website’s home page (e.g., “https://example.com”). The URL contains all the information needed to point to a particular item. Deep linking is different from mobile deep linking, which refers to directly linking to in-app content using a non-HTTP URI.

    \n
    deep link
    \n

    In the context of the World Wide Web, deep linking is the use of a hyperlink that links to a specific, generally searchable or indexed, piece of web content on a website (e.g. “https://example.com/path/page”), rather than the website’s home page (e.g., “https://example.com”). The URL contains all the information needed to point to a particular item. Deep linking is different from mobile deep linking, which refers to directly linking to in-app content using a non-HTTP URI.

    \n
    definition
    \n

    A textual statement defining the meaning of a term by specifying criterion that enable the concept identified by the term to be distinguished from all other concepts within the intended scope.

    \n
    definition
    \n

    A textual statement defining the meaning of a term by specifying criterion that enable the concept identified by the term to be distinguished from all other concepts within the intended scope.

    \n
    delegatee
    \n

    The second party receiving a delegation from a first party (the delegator).

    \n
    delegatee
    \n

    The second party receiving a delegation from a first party (the delegator).

    \n
    delegation credential
    \n

    A credential used to perform delegation.

    \n
    delegation credential
    \n

    A credential used to perform delegation.

    \n
    delegation
    \n

    A person or group of persons officially elected or appointed to represent another or others.

    \n
    delegation
    \n

    A person or group of persons officially elected or appointed to represent another or others.

    \n
    delegation
    \n

    A person or group of persons officially elected or appointed to represent another or others.

    \n
    delegation
    \n

    A person or group of persons officially elected or appointed to represent another or others.

    \n
    delegator
    \n

    The first party making a delegation to a second party (the delegatee).

    \n
    delegator
    \n

    The first party making a delegation to a second party (the delegatee).

    \n
    dependent
    \n

    An entity for the caring for and/or protecting/guarding/defending of which a guardianship arrangement has been established with a guardian.

    \n
    dependent
    \n

    An entity for the caring for and/or protecting/guarding/defending of which a guardianship arrangement has been established with a guardian.

    \n
    device controller
    \n

    The controller of a device capable of digital communications, e.g., a smartphone, tablet, laptop, IoT device, etc.

    \n
    device controller
    \n

    The controller of a device capable of digital communications, e.g., a smartphone, tablet, laptop, IoT device, etc.

    \n
    dictionary
    \n

    A dictionary is a listing of lexemes (words or terms) from the lexicon of one or more specific languages, often arranged alphabetically, which may include information on definitions, usage, etymologies, pronunciations, translation, etc. It is a lexicographical reference that shows inter-relationships among the data. Unlike a glossary, a dictionary may provide multiple definitions of a term depending on its scope or context.

    \n
    dictionary
    \n

    A dictionary is a listing of lexemes (words or terms) from the lexicon of one or more specific languages, often arranged alphabetically, which may include information on definitions, usage, etymologies, pronunciations, translation, etc. It is a lexicographical reference that shows inter-relationships among the data. Unlike a glossary, a dictionary may provide multiple definitions of a term depending on its scope or context.

    \n
    DID controller
    \n

    An entity that has the capability to make changes to a DID document. A DID might have more than one DID controller. The DID controller(s) can be denoted by the optional controller property at the top level of the DID document. Note that a DID controller might be the DID subject.

    \n
    DID controller
    \n

    An entity that has the capability to make changes to a DID document. A DID might have more than one DID controller. The DID controller(s) can be denoted by the optional controller property at the top level of the DID document. Note that a DID controller might be the DID subject.

    \n
    DID document
    \n

    A set of data describing the DID subject, including mechanisms, such as cryptographic public keys, that the DID subject or a DID delegate can use to authenticate itself and prove its association with the DID. A DID document might have one or more different representations as defined in section 6 of the W3C Decentralized Identifiers (DIDs) 1.0 specification.

    \n
    DID document
    \n

    A set of data describing the DID subject, including mechanisms, such as cryptographic public keys, that the DID subject or a DID delegate can use to authenticate itself and prove its association with the DID. A DID document might have one or more different representations as defined in section 6 of the W3C Decentralized Identifiers (DIDs) 1.0 specification.

    \n
    DID document
    \n

    A set of data describing the DID subject, including mechanisms, such as cryptographic public keys, that the DID subject or a DID delegate can use to authenticate itself and prove its association with the DID. A DID document might have one or more different representations as defined in section 6 of the W3C Decentralized Identifiers (DIDs) 1.0 specification.

    \n
    DID document
    \n

    A set of data describing the DID subject, including mechanisms, such as cryptographic public keys, that the DID subject or a DID delegate can use to authenticate itself and prove its association with the DID. A DID document might have one or more different representations as defined in section 6 of the W3C Decentralized Identifiers (DIDs) 1.0 specification.

    \n
    DID method
    \n

    A definition of how a specific DID method scheme is implemented. A DID method is defined by a DID method specification, which specifies the precise operations by which DIDs and DID documents are created, resolved, updated, and deactivated.

    \n
    DID method
    \n

    A definition of how a specific DID method scheme is implemented. A DID method is defined by a DID method specification, which specifies the precise operations by which DIDs and DID documents are created, resolved, updated, and deactivated.

    \n
    DID subject
    \n

    The entity identified by a DID and described by a DID document. Anything can be a DID subject: person, group, organization, physical thing, digital thing, logical thing, etc.

    \n
    DID subject
    \n

    The entity identified by a DID and described by a DID document. Anything can be a DID subject: person, group, organization, physical thing, digital thing, logical thing, etc.

    \n
    DID URL
    \n

    A DID plus any additional syntactic component that conforms to the definition in section 3.2 of the W3C Decentralized Identifiers (DIDs) 1.0 specification. This includes an optional DID path (with its leading / character), optional DID query (with its leading ? character), and optional DID fragment (with its leading # character).

    \n
    DID URL
    \n

    A DID plus any additional syntactic component that conforms to the definition in section 3.2 of the W3C Decentralized Identifiers (DIDs) 1.0 specification. This includes an optional DID path (with its leading / character), optional DID query (with its leading ? character), and optional DID fragment (with its leading # character).

    \n
    DID
    \n

    See: decentralized identifier

    \n
    digital agent
    \n

    In the context of ​​decentralized digital trust infrastructure, a software agent that operates in conjunction with a digital wallet to take actions on behalf of its controller.

    \n
    digital agent
    \n

    In the context of ​​decentralized digital trust infrastructure, a software agent that operates in conjunction with a digital wallet to take actions on behalf of its controller.

    \n
    digital asset
    \n

    A digital asset is anything that exists only in digital form and comes with a distinct usage right. Data that do not possess that right are not considered assets.

    \n
    digital asset
    \n

    A digital asset is anything that exists only in digital form and comes with a distinct usage right. Data that do not possess that right are not considered assets.

    \n
    digital certificate
    \n

    See: public key certificate.

    \n
    digital certificate
    \n

    See: public key certificate.

    \n
    digital credential
    \n

    A credential in digital form that is signed with a digital signature and held in a digital wallet. A digital credential is issued to a holder by an issuer; a proof of the credential is presented by the holder to a verifier.

    \n
    digital credential
    \n

    A credential in digital form that is signed with a digital signature and held in a digital wallet. A digital credential is issued to a holder by an issuer; a proof of the credential is presented by the holder to a verifier.

    \n
    digital ecosystem
    \n

    A digital ecosystem is a distributed, adaptive, open socio-technical system with properties of self-organization, scalability and sustainability inspired from natural ecosystems. Digital ecosystem models are informed by knowledge of natural ecosystems, especially for aspects related to competition and collaboration among diverse entities.

    \n
    digital ecosystem
    \n

    A digital ecosystem is a distributed, adaptive, open socio-technical system with properties of self-organization, scalability and sustainability inspired from natural ecosystems. Digital ecosystem models are informed by knowledge of natural ecosystems, especially for aspects related to competition and collaboration among diverse entities.

    \n
    digital identity
    \n

    An identity expressed in a digital form for the purpose representing the identified entity within a computer system or digital network.

    \n
    digital identity
    \n

    An identity expressed in a digital form for the purpose representing the identified entity within a computer system or digital network.

    \n
    digital identity
    \n

    An identity expressed in a digital form for the purpose representing the identified entity within a computer system or digital network.

    \n
    digital identity
    \n

    An identity expressed in a digital form for the purpose representing the identified entity within a computer system or digital network.

    \n
    digital rights management
    \n

    Digital rights management (DRM) is the management of legal access to digital content. Various tools or technological protection measures (TPM) like access control technologies, can restrict the use of proprietary hardware and copyrighted works. DRM technologies govern the use, modification and distribution of copyrighted works (e.g. software, multimedia content) and of systems that enforce these policies within devices.

    \n
    digital signature
    \n

    A digital signature is a mathematical scheme that uses cryptography for verifying the authenticity of digital messages or documents. A valid digital signature, where the prerequisites are satisfied, gives a recipient very high confidence that the message was created by a known sender (authenticity), and that the message was not altered in transit (integrity).

    \n
    digital signature
    \n

    A digital signature is a mathematical scheme that uses cryptography for verifying the authenticity of digital messages or documents. A valid digital signature, where the prerequisites are satisfied, gives a recipient very high confidence that the message was created by a known sender (authenticity), and that the message was not altered in transit (integrity).

    \n
    digital signature
    \n

    A digital signature is a mathematical scheme that uses cryptography for verifying the authenticity of digital messages or documents. A valid digital signature, where the prerequisites are satisfied, gives a recipient very high confidence that the message was created by a known sender (authenticity), and that the message was not altered in transit (integrity).

    \n
    digital signature
    \n

    A digital signature is a mathematical scheme that uses cryptography for verifying the authenticity of digital messages or documents. A valid digital signature, where the prerequisites are satisfied, gives a recipient very high confidence that the message was created by a known sender (authenticity), and that the message was not altered in transit (integrity).

    \n
    digital signature
    \n

    A digital signature is a mathematical scheme that uses cryptography for verifying the authenticity of digital messages or documents. A valid digital signature, where the prerequisites are satisfied, gives a recipient very high confidence that the message was created by a known sender (authenticity), and that the message was not altered in transit (integrity).

    \n
    digital signature
    \n

    A digital signature is a mathematical scheme that uses cryptography for verifying the authenticity of digital messages or documents. A valid digital signature, where the prerequisites are satisfied, gives a recipient very high confidence that the message was created by a known sender (authenticity), and that the message was not altered in transit (integrity).

    \n
    digital signature
    \n

    A digital signature is a mathematical scheme that uses cryptography for verifying the authenticity of digital messages or documents. A valid digital signature, where the prerequisites are satisfied, gives a recipient very high confidence that the message was created by a known sender (authenticity), and that the message was not altered in transit (integrity).

    \n
    digital trust ecosystem
    \n

    A digital ecosystem in which the participants are one or more interoperating trust communities. Governance of the various roles of governed parties within a digital trust ecosystem (e.g., issuers, holders, verifiers, certification bodies, auditors) is typically managed by a governing body using a governance framework as recommended in the ToIP Governance Stack. Many digital trust ecosystems will also maintain one or more trust lists and/or trust registries.

    \n
    digital trust ecosystem
    \n

    A digital ecosystem in which the participants are one or more interoperating trust communities. Governance of the various roles of governed parties within a digital trust ecosystem (e.g., issuers, holders, verifiers, certification bodies, auditors) is typically managed by a governing body using a governance framework as recommended in the ToIP Governance Stack. Many digital trust ecosystems will also maintain one or more trust lists and/or trust registries.

    \n
    digital trust utility
    \n

    An information system, network, distributed database, or blockchain designed to provide one or more supporting services to higher level components of decentralized digital trust infrastructure. In the ToIP stack, digital trust utilities are at Layer 1. A verifiable data registry is one type of digital trust utility.

    \n
    digital trust utility
    \n

    An information system, network, distributed database, or blockchain designed to provide one or more supporting services to higher level components of decentralized digital trust infrastructure. In the ToIP stack, digital trust utilities are at Layer 1. A verifiable data registry is one type of digital trust utility.

    \n
    digital vault
    \n

    A secure container for data whose controller is the principal. A digital vault is most commonly used in conjunction with a digital wallet and a digital agent. A digital vault may be implemented on a local device or in the cloud; multiple digital vaults may be used by the same principal across different devices and/or the cloud; if so they may use some type of synchronization. If the capability is supported, data may flow into or out of the digital vault automatically based on subscriptions approved by the controller.

    \n
    digital vault
    \n

    A secure container for data whose controller is the principal. A digital vault is most commonly used in conjunction with a digital wallet and a digital agent. A digital vault may be implemented on a local device or in the cloud; multiple digital vaults may be used by the same principal across different devices and/or the cloud; if so they may use some type of synchronization. If the capability is supported, data may flow into or out of the digital vault automatically based on subscriptions approved by the controller.

    \n
    digital wallet
    \n

    A user agent, optionally including a hardware component, capable of securely storing and processing cryptographic keys, digital credentials, digital assets and other sensitive private data that enables the controller to perform cryptographically verifiable operations. A non-custodial wallet is directly in the custody of a principal. A custodial wallet is in the custody of a third party. Personal wallets are held by individual persons; enterprise wallets are held by organizations or other legal entities.

    \n
    digital wallet
    \n

    A user agent, optionally including a hardware component, capable of securely storing and processing cryptographic keys, digital credentials, digital assets and other sensitive private data that enables the controller to perform cryptographically verifiable operations. A non-custodial wallet is directly in the custody of a principal. A custodial wallet is in the custody of a third party. Personal wallets are held by individual persons; enterprise wallets are held by organizations or other legal entities.

    \n
    discovery
    \n

    A mechanism that helps systems or devices find each other automatically, often used in networks to identify services or resources. In decentralized identifier systems it helps to locate and verify digital identities without relying on a central authority.

    \n
    discovery
    \n

    A mechanism that helps systems or devices find each other automatically, often used in networks to identify services or resources. In decentralized identifier systems it helps to locate and verify digital identities without relying on a central authority.

    \n
    distributed ledger
    \n

    A distributed ledger (also called a shared ledger or distributed ledger technology or DLT) is the consensus of replicated, shared, and synchronized digital data that is geographically spread (distributed) across many sites, countries, or institutions. In contrast to a centralized database, a distributed ledger does not require a central administrator, and consequently does not have a single (central) point-of-failure. In general, a distributed ledger requires a peer-to-peer (P2P) computer network and consensus algorithms so that the ledger is reliably replicated across distributed computer nodes (servers, clients, etc.). The most common form of distributed ledger technology is the blockchain, which can either be on a public or private network.

    \n
    distributed ledger
    \n

    A distributed ledger (also called a shared ledger or distributed ledger technology or DLT) is the consensus of replicated, shared, and synchronized digital data that is geographically spread (distributed) across many sites, countries, or institutions. In contrast to a centralized database, a distributed ledger does not require a central administrator, and consequently does not have a single (central) point-of-failure. In general, a distributed ledger requires a peer-to-peer (P2P) computer network and consensus algorithms so that the ledger is reliably replicated across distributed computer nodes (servers, clients, etc.). The most common form of distributed ledger technology is the blockchain, which can either be on a public or private network.

    \n
    distributed ledger
    \n

    A distributed ledger (also called a shared ledger or distributed ledger technology or DLT) is the consensus of replicated, shared, and synchronized digital data that is geographically spread (distributed) across many sites, countries, or institutions. In contrast to a centralized database, a distributed ledger does not require a central administrator, and consequently does not have a single (central) point-of-failure. In general, a distributed ledger requires a peer-to-peer (P2P) computer network and consensus algorithms so that the ledger is reliably replicated across distributed computer nodes (servers, clients, etc.). The most common form of distributed ledger technology is the blockchain, which can either be on a public or private network.

    \n
    distributed ledger
    \n

    A distributed ledger (also called a shared ledger or distributed ledger technology or DLT) is the consensus of replicated, shared, and synchronized digital data that is geographically spread (distributed) across many sites, countries, or institutions. In contrast to a centralized database, a distributed ledger does not require a central administrator, and consequently does not have a single (central) point-of-failure. In general, a distributed ledger requires a peer-to-peer (P2P) computer network and consensus algorithms so that the ledger is reliably replicated across distributed computer nodes (servers, clients, etc.). The most common form of distributed ledger technology is the blockchain, which can either be on a public or private network.

    \n
    domain
    \n

    See: security domain.

    \n
    domain
    \n

    See: security domain.

    \n
    DRM
    \n

    See: digital rights management.

    \n
    DWN
    \n

    See: Decentralized Web Node.

    \n
    ecosystem governance framework
    \n

    A governance framework for a digital trust ecosystem. An ecosystem governance framework may incorporate, aggregate, or reference other types of governance frameworks such as a credential governance framework or a utility governance framework.

    \n
    ecosystem governance framework
    \n

    A governance framework for a digital trust ecosystem. An ecosystem governance framework may incorporate, aggregate, or reference other types of governance frameworks such as a credential governance framework or a utility governance framework.

    \n
    ecosystem governance framework
    \n

    A governance framework for a digital trust ecosystem. An ecosystem governance framework may incorporate, aggregate, or reference other types of governance frameworks such as a credential governance framework or a utility governance framework.

    \n
    ecosystem governance framework
    \n

    A governance framework for a digital trust ecosystem. An ecosystem governance framework may incorporate, aggregate, or reference other types of governance frameworks such as a credential governance framework or a utility governance framework.

    \n
    ecosystem
    \n

    See: digital ecosystem.

    \n
    ecosystem
    \n

    See: digital ecosystem.

    \n
    eIDAS
    \n

    eIDAS (electronic IDentification, Authentication and trust Services) is an EU regulation with the stated purpose of governing “electronic identification and trust services for electronic transactions”. It passed in 2014 and its provisions came into effect between 2016-2018.

    \n
    encrypt-sender-sign-receiver
    \n

    An authenticated encryption approach, using PKI. It covers authenticity and confidentiality.

    \n
    encrypt-sender-sign-receiver
    \n

    An authenticated encryption approach, using PKI. It covers authenticity and confidentiality.

    \n
    encrypted data vault
    \n

    See: digital vault.

    \n
    encrypted data vault
    \n

    See: digital vault.

    \n
    encryption
    \n

    Cryptographic transformation of data (called plaintext) into a form (called ciphertext) that conceals the data's original meaning to prevent it from being known or used. If the transformation is reversible, the corresponding reversal process is called decryption, which is a transformation that restores encrypted data to its original state.

    \n
    encryption
    \n

    Cryptographic transformation of data (called plaintext) into a form (called ciphertext) that conceals the data's original meaning to prevent it from being known or used. If the transformation is reversible, the corresponding reversal process is called decryption, which is a transformation that restores encrypted data to its original state.

    \n
    encryption
    \n

    Cryptographic transformation of data (called plaintext) into a form (called ciphertext) that conceals the data's original meaning to prevent it from being known or used. If the transformation is reversible, the corresponding reversal process is called decryption, which is a transformation that restores encrypted data to its original state.

    \n
    encryption
    \n

    Cryptographic transformation of data (called plaintext) into a form (called ciphertext) that conceals the data's original meaning to prevent it from being known or used. If the transformation is reversible, the corresponding reversal process is called decryption, which is a transformation that restores encrypted data to its original state.

    \n
    encryption
    \n

    Cryptographic transformation of data (called plaintext) into a form (called ciphertext) that conceals the data's original meaning to prevent it from being known or used. If the transformation is reversible, the corresponding reversal process is called decryption, which is a transformation that restores encrypted data to its original state.

    \n
    end-to-end encryption
    \n

    Encryption that is applied to a communication before it is transmitted from the sender’s communication endpoint and cannot be decrypted until after it is received at the receiver’s communication endpoint. When end-to-end encryption is used, the communication cannot be decrypted in transit no matter how many intermediaries are involved in the routing process.

    \n
    end-to-end encryption
    \n

    Encryption that is applied to a communication before it is transmitted from the sender’s communication endpoint and cannot be decrypted until after it is received at the receiver’s communication endpoint. When end-to-end encryption is used, the communication cannot be decrypted in transit no matter how many intermediaries are involved in the routing process.

    \n
    End-to-End Principle
    \n

    The end-to-end principle is a design framework in computer networking. In networks designed according to this principle, guaranteeing certain application-specific features, such as reliability and security, requires that they reside in the communicating end nodes of the network. Intermediary nodes, such as gateways and routers, that exist to establish the network, may implement these to improve efficiency but cannot guarantee end-to-end correctness.

    \n
    end-verifiability
    \n

    a data item or statement may be cryptographically securely attributable to its source (party at the source end) by any recipient verifier (party at the destination end) without reliance on any infrastructure not under the verifier’s ultimate control.

    \n
    end-verifiability
    \n

    a data item or statement may be cryptographically securely attributable to its source (party at the source end) by any recipient verifier (party at the destination end) without reliance on any infrastructure not under the verifier’s ultimate control.

    \n
    end-verifiable
    \n

    When a log is end verifiable, it means that the log may be verified by any end user that receives a copy. No trust in intervening infrastructure is needed to verify the log and validate the content.

    \n
    end-verifiable
    \n

    When a log is end verifiable, it means that the log may be verified by any end user that receives a copy. No trust in intervening infrastructure is needed to verify the log and validate the content.

    \n
    endpoint system
    \n

    The system that operates a communications endpoint. In the context of the ToIP stack, an endpoint system is one of three types of systems defined in the ToIP Technology Architecture Specification.

    \n
    endpoint system
    \n

    The system that operates a communications endpoint. In the context of the ToIP stack, an endpoint system is one of three types of systems defined in the ToIP Technology Architecture Specification.

    \n
    endpoint
    \n

    See: communication endpoint.

    \n
    endpoint
    \n

    See: communication endpoint.

    \n
    enterprise data vault
    \n

    A digital vault whose controller is an organization.

    \n
    enterprise data vault
    \n

    A digital vault whose controller is an organization.

    \n
    enterprise wallet
    \n

    A digital wallet whose holder is an organization.

    \n
    enterprise wallet
    \n

    A digital wallet whose holder is an organization.

    \n
    entity
    \n

    Someone or something that is known to exist.

    \n
    entity
    \n

    Someone or something that is known to exist.

    \n
    ephemeral connection
    \n

    A connection that only exists for the duration of a single communication session or transaction.

    \n
    ephemeral connection
    \n

    A connection that only exists for the duration of a single communication session or transaction.

    \n
    expression language
    \n

    A language for creating a computer-interpretable (machine-readable) representation of specific knowledge.

    \n
    expression language
    \n

    A language for creating a computer-interpretable (machine-readable) representation of specific knowledge.

    \n
    FAL
    \n

    See: federation assurance level.

    \n
    federated identity
    \n

    A digital identity architecture in which a digital identity established on one computer system, network, or trust domain is linked to other computer systems, networks, or trust domains for the purpose of identifying the same entity across those domains.

    \n
    federated identity
    \n

    A digital identity architecture in which a digital identity established on one computer system, network, or trust domain is linked to other computer systems, networks, or trust domains for the purpose of identifying the same entity across those domains.

    \n
    federation assurance level
    \n

    A category that describes the federation protocol used to communicate an assertion containing authentication) and attribute information (if applicable) to a relying party, as defined in NIST SP 800-63-3 in terms of three levels: FAL 1 (Some confidence), FAL 2 (High confidence), FAL 3 (Very high confidence).

    \n
    federation assurance level
    \n

    A category that describes the federation protocol used to communicate an assertion containing authentication) and attribute information (if applicable) to a relying party, as defined in NIST SP 800-63-3 in terms of three levels: FAL 1 (Some confidence), FAL 2 (High confidence), FAL 3 (Very high confidence).

    \n
    federation assurance level
    \n

    A category that describes the federation protocol used to communicate an assertion containing authentication) and attribute information (if applicable) to a relying party, as defined in NIST SP 800-63-3 in terms of three levels: FAL 1 (Some confidence), FAL 2 (High confidence), FAL 3 (Very high confidence).

    \n
    federation assurance level
    \n

    A category that describes the federation protocol used to communicate an assertion containing authentication) and attribute information (if applicable) to a relying party, as defined in NIST SP 800-63-3 in terms of three levels: FAL 1 (Some confidence), FAL 2 (High confidence), FAL 3 (Very high confidence).

    \n
    federation
    \n

    A group of organizations that collaborate to establish a common trust framework or governance framework for the exchange of identity data in a federated identity system.

    \n
    federation
    \n

    A group of organizations that collaborate to establish a common trust framework or governance framework for the exchange of identity data in a federated identity system.

    \n
    federation
    \n

    A group of organizations that collaborate to establish a common trust framework or governance framework for the exchange of identity data in a federated identity system.

    \n
    federation
    \n

    A group of organizations that collaborate to establish a common trust framework or governance framework for the exchange of identity data in a federated identity system.

    \n
    fiduciary
    \n

    A fiduciary is a person who holds a legal or ethical relationship of trust with one or more other parties (person or group of persons). Typically, a fiduciary prudently takes care of money or other assets for another person. One party, for example, a corporate trust company or the trust department of a bank, acts in a fiduciary capacity to another party, who, for example, has entrusted funds to the fiduciary for safekeeping or investment. In a fiduciary relationship, one person, in a position of vulnerability, justifiably vests confidence, good faith, reliance, and trust in another whose aid, advice, or protection is sought in some matter.

    \n
    fiduciary
    \n

    A fiduciary is a person who holds a legal or ethical relationship of trust with one or more other parties (person or group of persons). Typically, a fiduciary prudently takes care of money or other assets for another person. One party, for example, a corporate trust company or the trust department of a bank, acts in a fiduciary capacity to another party, who, for example, has entrusted funds to the fiduciary for safekeeping or investment. In a fiduciary relationship, one person, in a position of vulnerability, justifiably vests confidence, good faith, reliance, and trust in another whose aid, advice, or protection is sought in some matter.

    \n
    first party
    \n

    The party who initiates a trust relationship, connection, or transaction with a second party.

    \n
    first party
    \n

    The party who initiates a trust relationship, connection, or transaction with a second party.

    \n
    foundational identity
    \n

    A set of identity data, such as a credential, issued by an authoritative source for the legal identity of the subject. Birth certificates, passports, driving licenses, and other forms of government ID documents are considered foundational identity documents. Foundational identities are often used to provide identity binding for functional identities.

    \n
    foundational identity
    \n

    A set of identity data, such as a credential, issued by an authoritative source for the legal identity of the subject. Birth certificates, passports, driving licenses, and other forms of government ID documents are considered foundational identity documents. Foundational identities are often used to provide identity binding for functional identities.

    \n
    fourth party
    \n

    A party that is not directly involved in the trust relationship between a first party and a second party, but provides supporting services exclusively to the first party (in contrast with a third party, who in most cases provides supporting services to the second party). In its strongest form, a fourth party has a fiduciary relationship with the first party.

    \n
    fourth party
    \n

    A party that is not directly involved in the trust relationship between a first party and a second party, but provides supporting services exclusively to the first party (in contrast with a third party, who in most cases provides supporting services to the second party). In its strongest form, a fourth party has a fiduciary relationship with the first party.

    \n
    functional identity
    \n

    A set of identity data, such as a credential, that is issued not for the purpose of establishing a foundational identity for the subject, but for the purpose of establishing other attributes, qualifications, or capabilities of the subject. Loyalty cards, library cards, and employee IDs are all examples of functional identities. Foundational identities are often used to provide identity binding for functional identities.

    \n
    functional identity
    \n

    A set of identity data, such as a credential, that is issued not for the purpose of establishing a foundational identity for the subject, but for the purpose of establishing other attributes, qualifications, or capabilities of the subject. Loyalty cards, library cards, and employee IDs are all examples of functional identities. Foundational identities are often used to provide identity binding for functional identities.

    \n
    gateway
    \n

    A gateway is a piece of networking hardware or software used in telecommunications networks that allows data to flow from one discrete network to another. Gateways are distinct from routers or switches in that they communicate using more than one protocol to connect multiple networks[1][2] and can operate at any of the seven layers of the open systems interconnection model (OSI).

    \n
    gateway
    \n

    A gateway is a piece of networking hardware or software used in telecommunications networks that allows data to flow from one discrete network to another. Gateways are distinct from routers or switches in that they communicate using more than one protocol to connect multiple networks[1][2] and can operate at any of the seven layers of the open systems interconnection model (OSI).

    \n
    GDPR
    \n

    See: General Data Protection Regulation.

    \n
    General Data Protection Regulation
    \n

    The General Data Protection Regulation (Regulation (EU) 2016/679, abbreviated GDPR) is a European Union regulation on information privacy in the European Union (EU) and the European Economic Area (EEA). The GDPR is an important component of EU privacy law and human rights law, in particular Article 8(1) of the Charter of Fundamental Rights of the European Union. It also governs the transfer of personal data outside the EU and EEA. The GDPR’s goals are to enhance individuals’ control and rights over their personal information and to simplify the regulations for international business.

    \n
    glossary
    \n

    A glossary (from Ancient Greek: γλῶσσα, glossa; language, speech, wording), also known as a vocabulary or clavis, is an alphabetical list of terms in a particular domain of knowledge (scope) together with the definitions for those terms. Unlike a dictionary, a glossary has only one definition for each term.

    \n
    glossary
    \n

    A glossary (from Ancient Greek: γλῶσσα, glossa; language, speech, wording), also known as a vocabulary or clavis, is an alphabetical list of terms in a particular domain of knowledge (scope) together with the definitions for those terms. Unlike a dictionary, a glossary has only one definition for each term.

    \n
    Governance - Risk Management - Compliance
    \n

    Governance, risk management, and compliance (GRC) are three related facets that aim to assure an organization reliably achieves objectives, addresses uncertainty and acts with integrity. Governance is the combination of processes established and executed by the directors (or the board of directors) that are reflected in the organization's structure and how it is managed and led toward achieving goals. Risk management is predicting and managing risks that could hinder the organization from reliably achieving its objectives under uncertainty. Compliance refers to adhering with the mandated boundaries (laws and regulations) and voluntary boundaries (company’s policies, procedures, etc.)

    \n
    governance diamond
    \n

    A term that refers to the addition of a governing body to the standard trust triangle of issuers, holders, and verifiers of credentials. The resulting combination of four parties represents the basic structure of a digital trust ecosystem.

    \n
    governance diamond
    \n

    A term that refers to the addition of a governing body to the standard trust triangle of issuers, holders, and verifiers of credentials. The resulting combination of four parties represents the basic structure of a digital trust ecosystem.

    \n
    governance document
    \n

    A document with at least one identifier that specifies governance requirements for a trust community.

    \n
    governance document
    \n

    A document with at least one identifier that specifies governance requirements for a trust community.

    \n
    governance framework
    \n

    A collection of one or more governance documents published by the governing body of a trust community.

    \n
    governance framework
    \n

    A collection of one or more governance documents published by the governing body of a trust community.

    \n
    governance graph
    \n

    A graph of the governance relationships between entities with a trust community. A governance graph shows which nodes are the governing bodies and which are the governed parties. In some cases, a governance graph can be traversed by making queries to one or more trust registries.Note: a party can play both roles and also be a participant in multiple governance frameworks.

    \n
    governance graph
    \n

    A graph of the governance relationships between entities with a trust community. A governance graph shows which nodes are the governing bodies and which are the governed parties. In some cases, a governance graph can be traversed by making queries to one or more trust registries.Note: a party can play both roles and also be a participant in multiple governance frameworks.

    \n
    governance requirement
    \n

    A requirement such as a policy, rule, or technical specification specified in a governance document.

    \n
    governance requirement
    \n

    A requirement such as a policy, rule, or technical specification specified in a governance document.

    \n
    governance
    \n

    The act or process of governing or overseeing the realization of (the results associated with) a set of objectives by the owner of these objectives, in order to ensure they will be fit for the purposes that this owner intends to use them for.

    \n
    governed information
    \n

    Any information published under the authority of a governing body for the purpose of governing a trust community. This includes its governance framework and any information available via an authorized trust registry.

    \n
    governed party
    \n

    A party whose role(s) in a trust community is governed by the governance requirements in a governance framework.

    \n
    governed party
    \n

    A party whose role(s) in a trust community is governed by the governance requirements in a governance framework.

    \n
    governed use case
    \n

    A use case specified in a governance document that results in specific governance requirements within that governance framework. Governed use cases may optionally be discovered via a trust registry authorized by the relevant governance framework.

    \n
    governed use case
    \n

    A use case specified in a governance document that results in specific governance requirements within that governance framework. Governed use cases may optionally be discovered via a trust registry authorized by the relevant governance framework.

    \n
    governing authority
    \n

    See: governing body.

    \n
    governing authority
    \n

    See: governing body.

    \n
    governing body
    \n

    The party (or set of parties) authoritative for governing a trust community, usually (but not always) by developing, publishing, maintaining, and enforcing a governance framework. A governing body may be a government, a formal legal entity of any kind, an informal group of any kind, or an individual. A governing body may also delegate operational responsibilities to an administering body.

    \n
    governing body
    \n

    The party (or set of parties) authoritative for governing a trust community, usually (but not always) by developing, publishing, maintaining, and enforcing a governance framework. A governing body may be a government, a formal legal entity of any kind, an informal group of any kind, or an individual. A governing body may also delegate operational responsibilities to an administering body.

    \n
    GRC
    \n

    See: Governance - Risk Management - Compliance.

    \n
    guardian
    \n

    A party that has been assigned rights and duties in a guardianship arrangement for the purpose of caring for, protecting, guarding, and defending the entity that is the dependent in that guardianship arrangement. In the context of decentralized digital trust infrastructure, a guardian is issued guardianship credentials into their own digital wallet in order to perform such actions on behalf of the dependent as are required by this role.

    \n
    guardian
    \n

    A party that has been assigned rights and duties in a guardianship arrangement for the purpose of caring for, protecting, guarding, and defending the entity that is the dependent in that guardianship arrangement. In the context of decentralized digital trust infrastructure, a guardian is issued guardianship credentials into their own digital wallet in order to perform such actions on behalf of the dependent as are required by this role.

    \n
    guardianship arrangement
    \n

    A guardianship arrangement (in a jurisdiction) is the specification of a set of rights and duties between legal entities of the jurisdiction. At a minimum, the entities participating in a guardianship arrangement are the guardian and the dependent.

    \n
    guardianship arrangement
    \n

    A guardianship arrangement (in a jurisdiction) is the specification of a set of rights and duties between legal entities of the jurisdiction. At a minimum, the entities participating in a guardianship arrangement are the guardian and the dependent.

    \n
    guardianship arrangement
    \n

    A guardianship arrangement (in a jurisdiction) is the specification of a set of rights and duties between legal entities of the jurisdiction. At a minimum, the entities participating in a guardianship arrangement are the guardian and the dependent.

    \n
    guardianship arrangement
    \n

    A guardianship arrangement (in a jurisdiction) is the specification of a set of rights and duties between legal entities of the jurisdiction. At a minimum, the entities participating in a guardianship arrangement are the guardian and the dependent.

    \n
    guardianship credential
    \n

    A digital credential issued by a governing body to a guardian to empower the guardian to undertake the rights and duties of a guardianship arrangement on behalf of a dependent.

    \n
    guardianship credential
    \n

    A digital credential issued by a governing body to a guardian to empower the guardian to undertake the rights and duties of a guardianship arrangement on behalf of a dependent.

    \n
    hardware security module
    \n

    A physical computing device that provides tamper-evident and intrusion-resistant safeguarding and management of digital keys and other secrets, as well as crypto-processing.

    \n
    hardware security module
    \n

    A physical computing device that provides tamper-evident and intrusion-resistant safeguarding and management of digital keys and other secrets, as well as crypto-processing.

    \n
    hardware security module
    \n

    A physical computing device that provides tamper-evident and intrusion-resistant safeguarding and management of digital keys and other secrets, as well as crypto-processing.

    \n
    hardware security module
    \n

    A physical computing device that provides tamper-evident and intrusion-resistant safeguarding and management of digital keys and other secrets, as well as crypto-processing.

    \n
    hash function
    \n

    An algorithm that computes a numerical value (called the hash value) on a data file or electronic message that is used to represent that file or message, and depends on the entire contents of the file or message. A hash function can be considered to be a fingerprint of the file or message. Approved hash functions satisfy the following properties: one-way (it is computationally infeasible to find any input that maps to any pre-specified output); and collision resistant (it is computationally infeasible to find any two distinct inputs that map to the same output).

    \n
    hash function
    \n

    An algorithm that computes a numerical value (called the hash value) on a data file or electronic message that is used to represent that file or message, and depends on the entire contents of the file or message. A hash function can be considered to be a fingerprint of the file or message. Approved hash functions satisfy the following properties: one-way (it is computationally infeasible to find any input that maps to any pre-specified output); and collision resistant (it is computationally infeasible to find any two distinct inputs that map to the same output).

    \n
    hash
    \n

    The result of applying a hash function to a message.

    \n
    hash
    \n

    The result of applying a hash function to a message.

    \n
    hash
    \n

    The result of applying a hash function to a message.

    \n
    hash
    \n

    The result of applying a hash function to a message.

    \n
    hash
    \n

    The result of applying a hash function to a message.

    \n
    holder binding
    \n

    The process of creating and verifying a relationship between the holder of a digital wallet and the wallet itself. Holder binding is related to but NOT the same as subject binding.

    \n
    holder binding
    \n

    The process of creating and verifying a relationship between the holder of a digital wallet and the wallet itself. Holder binding is related to but NOT the same as subject binding.

    \n
    holder
    \n

    A role an agent performs by serving as the controller of the cryptographic keys and digital credentials in a digital wallet. The holder makes issuance requests for credentials and responds to presentation requests for credentials. A holder is usually, but not always, a subject of the credentials they are holding.

    \n
    holder
    \n

    A role an agent performs by serving as the controller of the cryptographic keys and digital credentials in a digital wallet. The holder makes issuance requests for credentials and responds to presentation requests for credentials. A holder is usually, but not always, a subject of the credentials they are holding.

    \n
    host
    \n

    A host is any hardware device that has the capability of permitting access to a network via a user interface, specialized software, network address, protocol stack, or any other means. Some examples include, but are not limited to, computers, personal electronic devices, thin clients, and multi-functional devices.

    \n
    host
    \n

    A host is any hardware device that has the capability of permitting access to a network via a user interface, specialized software, network address, protocol stack, or any other means. Some examples include, but are not limited to, computers, personal electronic devices, thin clients, and multi-functional devices.

    \n
    hourglass model
    \n

    An architectural model for layered systems—and specifically for the protocol layers in a protocol stack—in which a diversity of supporting protocols and services at the lower layers are able to support a great diversity of protocols and applications at the higher layers through the use of a single protocol in the spanning layer in the middle—the “neck” of the hourglass.

    \n
    hourglass model
    \n

    An architectural model for layered systems—and specifically for the protocol layers in a protocol stack—in which a diversity of supporting protocols and services at the lower layers are able to support a great diversity of protocols and applications at the higher layers through the use of a single protocol in the spanning layer in the middle—the “neck” of the hourglass.

    \n
    HSM
    \n

    See: hardware security module.

    \n
    human auditable
    \n

    A process or procedure whose compliance with the policies in a trust framework or governance framework can only be verified by a human performing an audit. Human auditability is a primary goal of the ToIP Governance Stack.

    \n
    human auditable
    \n

    A process or procedure whose compliance with the policies in a trust framework or governance framework can only be verified by a human performing an audit. Human auditability is a primary goal of the ToIP Governance Stack.

    \n
    human experience
    \n

    The processes, patterns and rituals of acquiring knowledge or skill from doing, seeing, or feeling things as a natural person. In the context of decentralized digital trust infrastructure, the direct experience of a natural person using trust applications to make trust decisions within one or more digital trust ecosystems.

    \n
    human-readable
    \n

    Information that can be processed by a human but that is not intended to be machine-readable.

    \n
    human-readable
    \n

    Information that can be processed by a human but that is not intended to be machine-readable.

    \n
    human trust
    \n

    A level of assurance in a trust relationship or a trust decision that can be achieved only via human evaluation of applicable trust factors.

    \n
    IAL
    \n

    See: identity assurance level.

    \n
    identification
    \n

    The action of a party obtaining the set of identity data necessary to serve as that party’s identity for a specific entity.

    \n
    identification
    \n

    The action of a party obtaining the set of identity data necessary to serve as that party’s identity for a specific entity.

    \n
    identification
    \n

    The action of a party obtaining the set of identity data necessary to serve as that party’s identity for a specific entity.

    \n
    identification
    \n

    The action of a party obtaining the set of identity data necessary to serve as that party’s identity for a specific entity.

    \n
    identification
    \n

    The action of a party obtaining the set of identity data necessary to serve as that party’s identity for a specific entity.

    \n
    identifier
    \n

    A single attribute—typically a character string—that uniquely identifies an entity within a specific context (which may be a global context). Examples include the name of a party, the URL of an organization, or a serial number for a man-made thing.

    \n
    identifier
    \n

    A single attribute—typically a character string—that uniquely identifies an entity within a specific context (which may be a global context). Examples include the name of a party, the URL of an organization, or a serial number for a man-made thing.

    \n
    identity assurance level
    \n

    A category that conveys the degree of confidence that a person’s claimed identity is their real identity, for example as defined in NIST SP 800-63-3 in terms of three levels: IAL 1 (Some confidence), IAL 2 (High confidence), IAL 3 (Very high confidence).

    \n
    identity assurance level
    \n

    A category that conveys the degree of confidence that a person’s claimed identity is their real identity, for example as defined in NIST SP 800-63-3 in terms of three levels: IAL 1 (Some confidence), IAL 2 (High confidence), IAL 3 (Very high confidence).

    \n
    identity assurance level
    \n

    A category that conveys the degree of confidence that a person’s claimed identity is their real identity, for example as defined in NIST SP 800-63-3 in terms of three levels: IAL 1 (Some confidence), IAL 2 (High confidence), IAL 3 (Very high confidence).

    \n
    identity assurance level
    \n

    A category that conveys the degree of confidence that a person’s claimed identity is their real identity, for example as defined in NIST SP 800-63-3 in terms of three levels: IAL 1 (Some confidence), IAL 2 (High confidence), IAL 3 (Very high confidence).

    \n
    identity-assurance
    \n

    The heavy-lifting to be done by a trusted (middle-man) party to establish - and then offer reputational trust. An example of such a party is GLEIF. Instead, KERI is for attributional-trust. In the real world you need both.

    \n
    identity-assurance
    \n

    The heavy-lifting to be done by a trusted (middle-man) party to establish - and then offer reputational trust. An example of such a party is GLEIF. Instead, KERI is for attributional-trust. In the real world you need both.

    \n
    identity binding
    \n

    The process of associating a set of identity data, such as a credential, with its subject, such as a natural person. The strength of an identity binding is one factor in determining an authenticator assurance level.

    \n
    identity binding
    \n

    The process of associating a set of identity data, such as a credential, with its subject, such as a natural person. The strength of an identity binding is one factor in determining an authenticator assurance level.

    \n
    identity controller
    \n

    The controller (e.g., a natural person or organization) of an identity, especially a digital identity.

    \n
    identity data
    \n

    The set of data held by a party in order to provide an identity for a specific entity.

    \n
    identity document
    \n

    A physical or digital document containing identity data. A credential is a specialized form of identity document. Birth certificates, bank statements, and utility bills can all be considered identity documents.

    \n
    identity document
    \n

    A physical or digital document containing identity data. A credential is a specialized form of identity document. Birth certificates, bank statements, and utility bills can all be considered identity documents.

    \n
    identity proofing
    \n

    The process of a party gathering sufficient identity data to establish an identity for a particular subject at a particular identity assurance level.

    \n
    identity proofing
    \n

    The process of a party gathering sufficient identity data to establish an identity for a particular subject at a particular identity assurance level.

    \n
    identity proofing
    \n

    The process of a party gathering sufficient identity data to establish an identity for a particular subject at a particular identity assurance level.

    \n
    identity provider
    \n

    An identity provider (abbreviated IdP or IDP) is a system entity that creates, maintains, and manages identity information for principals and also provides authentication services to relying applications within a federation or distributed network.

    \n
    identity provider
    \n

    An identity provider (abbreviated IdP or IDP) is a system entity that creates, maintains, and manages identity information for principals and also provides authentication services to relying applications within a federation or distributed network.

    \n
    identity provider
    \n

    An identity provider (abbreviated IdP or IDP) is a system entity that creates, maintains, and manages identity information for principals and also provides authentication services to relying applications within a federation or distributed network.

    \n
    identity provider
    \n

    An identity provider (abbreviated IdP or IDP) is a system entity that creates, maintains, and manages identity information for principals and also provides authentication services to relying applications within a federation or distributed network.

    \n
    identity
    \n

    A collection of attributes or other identity data that describe an entity and enable it to be distinguished from all other entities within a specific scope of identification. Identity attributes may include one or more identifiers for an entity, however it is possible to establish an identity without using identifiers.

    \n
    identity
    \n

    A collection of attributes or other identity data that describe an entity and enable it to be distinguished from all other entities within a specific scope of identification. Identity attributes may include one or more identifiers for an entity, however it is possible to establish an identity without using identifiers.

    \n
    IDP
    \n

    See: identity provider.

    \n
    impersonation
    \n

    In the context of cybersecurity, impersonation is when an attacker pretends to be another person in order to commit fraud or some other digital crime.

    \n
    impersonation
    \n

    In the context of cybersecurity, impersonation is when an attacker pretends to be another person in order to commit fraud or some other digital crime.

    \n
    impersonation
    \n

    In the context of cybersecurity, impersonation is when an attacker pretends to be another person in order to commit fraud or some other digital crime.

    \n
    impersonation
    \n

    In the context of cybersecurity, impersonation is when an attacker pretends to be another person in order to commit fraud or some other digital crime.

    \n
    information-theoretic-security
    \n

    the highest level of cryptographic security concerning a cryptographic secret (seed, salt, or private key).

    \n
    information-theoretic-security
    \n

    the highest level of cryptographic security concerning a cryptographic secret (seed, salt, or private key).

    \n
    integrity
    \n\n
    intermediary system
    \n

    An intermediary system routes messages between endpoint systems but is not otherwise involved in the processing of those messages. In the context of end-to-end encryption, intermediary systems cannot decrypt the messages sent between the endpoint systems. In the ToIP stack, intermediary systems operate at ToIP Layer 2, the trust spanning layer. An intermediary system is one of three types of systems defined in the ToIP Technology Architecture Specification; the other two are endpoint systems and supporting systems.

    \n
    intermediary system
    \n

    An intermediary system routes messages between endpoint systems but is not otherwise involved in the processing of those messages. In the context of end-to-end encryption, intermediary systems cannot decrypt the messages sent between the endpoint systems. In the ToIP stack, intermediary systems operate at ToIP Layer 2, the trust spanning layer. An intermediary system is one of three types of systems defined in the ToIP Technology Architecture Specification; the other two are endpoint systems and supporting systems.

    \n
    intermediary system
    \n

    An intermediary system routes messages between endpoint systems but is not otherwise involved in the processing of those messages. In the context of end-to-end encryption, intermediary systems cannot decrypt the messages sent between the endpoint systems. In the ToIP stack, intermediary systems operate at ToIP Layer 2, the trust spanning layer. An intermediary system is one of three types of systems defined in the ToIP Technology Architecture Specification; the other two are endpoint systems and supporting systems.

    \n
    intermediary system
    \n

    An intermediary system routes messages between endpoint systems but is not otherwise involved in the processing of those messages. In the context of end-to-end encryption, intermediary systems cannot decrypt the messages sent between the endpoint systems. In the ToIP stack, intermediary systems operate at ToIP Layer 2, the trust spanning layer. An intermediary system is one of three types of systems defined in the ToIP Technology Architecture Specification; the other two are endpoint systems and supporting systems.

    \n
    Internet protocol suite
    \n

    The Internet protocol suite, commonly known as TCP/IP, is a framework for organizing the set of communication protocols used in the Internet and similar computer networks according to functional criteria. The foundational protocols in the suite are the Transmission Control Protocol (TCP), the User Datagram Protocol (UDP), and the Internet Protocol (IP).

    \n
    Internet Protocol
    \n

    The Internet Protocol (IP) is the network layer communications protocol in the Internet protocol suite (also known as the TCP/IP suite) for relaying datagrams across network boundaries. Its routing function enables internetworking, and essentially establishes the Internet. IP has the task of delivering packets from the source host to the destination host solely based on the IP addresses in the packet headers. For this purpose, IP defines packet structures that encapsulate the data to be delivered. It also defines addressing methods that are used to label the datagram with source and destination information.

    \n
    IP address
    \n

    An Internet Protocol address (IP address) is a numerical label such as 192.0.2.1 that is connected to a computer network that uses the Internet Protocol for communication. An IP address serves two main functions: network interface identification, and location addressing.

    \n
    IP address
    \n

    An Internet Protocol address (IP address) is a numerical label such as 192.0.2.1 that is connected to a computer network that uses the Internet Protocol for communication. An IP address serves two main functions: network interface identification, and location addressing.

    \n
    IP
    \n

    See: Internet Protocol.

    \n
    issuance request
    \n

    A protocol request invoked by the holder of a digital wallet to obtain a digital credential from an issuer.

    \n
    issuance request
    \n

    A protocol request invoked by the holder of a digital wallet to obtain a digital credential from an issuer.

    \n
    issuance
    \n

    The action of an issuer producing and transmitting a digital credential to a holder. A holder may request issuance by submitting an issuance request.

    \n
    issuance
    \n

    The action of an issuer producing and transmitting a digital credential to a holder. A holder may request issuance by submitting an issuance request.

    \n
    issuance
    \n

    The action of an issuer producing and transmitting a digital credential to a holder. A holder may request issuance by submitting an issuance request.

    \n
    issuance
    \n

    The action of an issuer producing and transmitting a digital credential to a holder. A holder may request issuance by submitting an issuance request.

    \n
    issuance
    \n

    The action of an issuer producing and transmitting a digital credential to a holder. A holder may request issuance by submitting an issuance request.

    \n
    issuer
    \n

    A role an agent performs to package and digitally sign a set of claims, typically in the form of a digital credential, and transmit them to a holder.

    \n
    issuer
    \n

    A role an agent performs to package and digitally sign a set of claims, typically in the form of a digital credential, and transmit them to a holder.

    \n
    jurisdiction
    \n

    The composition of: a) a legal system (legislation, enforcement thereof, and conflict resolution), b) a party that governs that legal system, c) a scope within which that legal system is operational, and d) one or more objectives for the purpose of which the legal system is operated.

    \n
    jurisdiction
    \n

    The composition of: a) a legal system (legislation, enforcement thereof, and conflict resolution), b) a party that governs that legal system, c) a scope within which that legal system is operational, and d) one or more objectives for the purpose of which the legal system is operated.

    \n
    KATE
    \n

    See: keys-at-the-edge.

    \n
    KERI
    \n

    See: Key Event Receipt Infrastructure.

    \n
    key establishment
    \n

    A process that results in the sharing of a key between two or more entities, either by transporting a key from one entity to another (key transport) or generating a key from information shared by the entities (key agreement).

    \n
    key event log
    \n

    An ordered sequence of records of key events.

    \n
    key event log
    \n

    An ordered sequence of records of key events.

    \n
    Key Event Receipt Infrastructure
    \n

    A decentralized permissionless key management architecture.

    \n
    key event
    \n

    An event in the history of the usage of a cryptographic key pair. There are multiple types of key events. The inception event is when the key pair is first generated. A rotation event is when the key pair is changed to a new key pair. In some key management systems (such as KERI), key events are tracked in a key event log.

    \n
    key event
    \n

    An event in the history of the usage of a cryptographic key pair. There are multiple types of key events. The inception event is when the key pair is first generated. A rotation event is when the key pair is changed to a new key pair. In some key management systems (such as KERI), key events are tracked in a key event log.

    \n
    key event
    \n

    An event in the history of the usage of a cryptographic key pair. There are multiple types of key events. The inception event is when the key pair is first generated. A rotation event is when the key pair is changed to a new key pair. In some key management systems (such as KERI), key events are tracked in a key event log.

    \n
    key management system
    \n

    A system for the management of cryptographic keys and their metadata (e.g., generation, distribution, storage, backup, archive, recovery, use, revocation, and destruction). An automated key management system may be used to oversee, automate, and secure the key management process. A key management is often protected by implementing it within the trusted execution environment (TEE) of a device. An example is the Secure Enclave on Apple iOS devices.

    \n
    key management system
    \n

    A system for the management of cryptographic keys and their metadata (e.g., generation, distribution, storage, backup, archive, recovery, use, revocation, and destruction). An automated key management system may be used to oversee, automate, and secure the key management process. A key management is often protected by implementing it within the trusted execution environment (TEE) of a device. An example is the Secure Enclave on Apple iOS devices.

    \n
    key management system
    \n

    A system for the management of cryptographic keys and their metadata (e.g., generation, distribution, storage, backup, archive, recovery, use, revocation, and destruction). An automated key management system may be used to oversee, automate, and secure the key management process. A key management is often protected by implementing it within the trusted execution environment (TEE) of a device. An example is the Secure Enclave on Apple iOS devices.

    \n
    key management system
    \n

    A system for the management of cryptographic keys and their metadata (e.g., generation, distribution, storage, backup, archive, recovery, use, revocation, and destruction). An automated key management system may be used to oversee, automate, and secure the key management process. A key management is often protected by implementing it within the trusted execution environment (TEE) of a device. An example is the Secure Enclave on Apple iOS devices.

    \n
    key management system
    \n

    A system for the management of cryptographic keys and their metadata (e.g., generation, distribution, storage, backup, archive, recovery, use, revocation, and destruction). An automated key management system may be used to oversee, automate, and secure the key management process. A key management is often protected by implementing it within the trusted execution environment (TEE) of a device. An example is the Secure Enclave on Apple iOS devices.

    \n
    key
    \n

    See: cryptographic key.

    \n
    key
    \n

    See: cryptographic key.

    \n
    key
    \n

    See: cryptographic key.

    \n
    key
    \n

    See: cryptographic key.

    \n
    keys-at-the-edge
    \n

    A key management architecture in which keys are stored on a user’s local edge devices, such as a smartphone, tablet, or laptop, and then used in conjunction with a secure protocol to unlock a key management system (KMS) and/or a digital vault in the cloud. This approach can enable the storage and sharing of large data structures that are not feasible on edge devices. This architecture can also be used in conjunction with confidential computing to enable cloud-based digital agents to safely carry out “user not present” operations.

    \n
    KMS
    \n

    See: key management system.

    \n
    knowledge
    \n

    The (intangible) sum of what is known by a specific party, as well as the familiarity, awareness or understanding of someone or something by that party.

    \n
    Laws of Identity
    \n

    A set of seven “laws” written by Kim Cameron, former Chief Identity Architect of Microsoft (1941-2021), to describe the dynamics that cause digital identity systems to succeed or fail in various contexts. His goal was to define the requirements for a unifying identity metasystem that can offer the Internet the identity layer it needs.

    \n
    Layer 1
    \n

    See: ToIP Layer 1.

    \n
    Layer 2
    \n

    See: ToIP Layer 2.

    \n
    Layer 3
    \n

    See: ToIP Layer 3.

    \n
    Layer 4
    \n

    See: ToIP Layer 4.

    \n
    Legal Entity Identifier
    \n

    The Legal Entity Identifier (LEI) is a unique global identifier for legal entities participating in financial transactions. Also known as an LEI code or LEI number, its purpose is to help identify legal entities on a globally accessible database. Legal entities are organisations such as companies or government entities that participate in financial transactions.

    \n
    Legal Entity Identifier
    \n

    The Legal Entity Identifier (LEI) is a unique global identifier for legal entities participating in financial transactions. Also known as an LEI code or LEI number, its purpose is to help identify legal entities on a globally accessible database. Legal entities are organisations such as companies or government entities that participate in financial transactions.

    \n
    Legal Entity Identifier
    \n

    The Legal Entity Identifier (LEI) is a unique global identifier for legal entities participating in financial transactions. Also known as an LEI code or LEI number, its purpose is to help identify legal entities on a globally accessible database. Legal entities are organisations such as companies or government entities that participate in financial transactions.

    \n
    Legal Entity Identifier
    \n

    The Legal Entity Identifier (LEI) is a unique global identifier for legal entities participating in financial transactions. Also known as an LEI code or LEI number, its purpose is to help identify legal entities on a globally accessible database. Legal entities are organisations such as companies or government entities that participate in financial transactions.

    \n
    legal entity
    \n

    An entity that is not a natural person but is recognized as having legal rights and responsibilities. Examples include corporations, partnerships, sole proprietorships, non-profit organizations, associations, and governments. (In some cases even natural systems such as rivers are treated as legal entities.)

    \n
    legal entity
    \n

    An entity that is not a natural person but is recognized as having legal rights and responsibilities. Examples include corporations, partnerships, sole proprietorships, non-profit organizations, associations, and governments. (In some cases even natural systems such as rivers are treated as legal entities.)

    \n
    legal identity
    \n

    A set of identity data considered authoritative to identify a party for purposes of legal accountability under one or more jurisdictions.

    \n
    legal identity
    \n

    A set of identity data considered authoritative to identify a party for purposes of legal accountability under one or more jurisdictions.

    \n
    legal person
    \n

    In law, a legal person is any person or ‘thing’ that can do the things a human person is usually able to do in law – such as enter into contracts, sue and be sued, own property, and so on.[3][4][5] The reason for the term “legal person” is that some legal persons are not people: companies and corporations are “persons” legally speaking (they can legally do most of the things an ordinary person can do), but they are not people in a literal sense (human beings).

    \n
    legal person
    \n

    In law, a legal person is any person or ‘thing’ that can do the things a human person is usually able to do in law – such as enter into contracts, sue and be sued, own property, and so on.[3][4][5] The reason for the term “legal person” is that some legal persons are not people: companies and corporations are “persons” legally speaking (they can legally do most of the things an ordinary person can do), but they are not people in a literal sense (human beings).

    \n
    legal system
    \n

    A system in which policies and rules are defined, and mechanisms for their enforcement and conflict resolution are (implicitly or explicitly) specified. Legal systems are not just defined by governments; they can also be defined by a governance framework.

    \n
    legal system
    \n

    A system in which policies and rules are defined, and mechanisms for their enforcement and conflict resolution are (implicitly or explicitly) specified. Legal systems are not just defined by governments; they can also be defined by a governance framework.

    \n
    legitimized-human-meaningful-identifier
    \n

    An AID and its associated self-certifying trust basis gives rise to a trust domain for associated cryptographically verifiable non-repudiable statements. Every other type of identifier including human meaningful identifiers may then be secured in this resultant trust domain via an end-verifiable authorization. This authorization legitimizes that human meaningful identifier as an LID through its association with an AID. The result is a secured trust domain specific identifier couplet of aid|lid.

    \n
    legitimized-human-meaningful-identifier
    \n

    An AID and its associated self-certifying trust basis gives rise to a trust domain for associated cryptographically verifiable non-repudiable statements. Every other type of identifier including human meaningful identifiers may then be secured in this resultant trust domain via an end-verifiable authorization. This authorization legitimizes that human meaningful identifier as an LID through its association with an AID. The result is a secured trust domain specific identifier couplet of aid|lid.

    \n
    LEI
    \n

    See: Legal Entity Identifier.

    \n
    level of assurance
    \n

    See: assurance level.

    \n
    level of assurance
    \n

    See: assurance level.

    \n
    level of assurance
    \n

    See: assurance level.

    \n
    level of assurance
    \n

    See: assurance level.

    \n
    liveness detection
    \n

    Any technique used to detect a presentation attack by determining whether the source of a biometric sample is a live human being or a fake representation. This is typically accomplished using algorithms that analyze biometric sensor data to detect whether the source is live or reproduced.

    \n
    locus of control
    \n

    The set of computing systems under a party’s direct control, where messages and data do not cross trust boundaries.

    \n
    machine-readable
    \n

    Information written in a computer language or expression language so that it can be read and processed by a computing device.

    \n
    machine-readable
    \n

    Information written in a computer language or expression language so that it can be read and processed by a computing device.

    \n
    man-made thing
    \n

    Athing generated by human activity of some kind. Man-made things include both active things, such as cars or drones, and passive things, such as chairs or trousers.

    \n
    man-made thing
    \n

    Athing generated by human activity of some kind. Man-made things include both active things, such as cars or drones, and passive things, such as chairs or trousers.

    \n
    mandatory
    \n

    A requirement that must be implemented in order for an implementer to be in compliance. In ToIP governance frameworks, a mandatory requirement is expressed using a MUST or REQUIRED keyword as defined in IETF RFC 2119.

    \n
    message
    \n

    A discrete unit of communication intended by the source for consumption by some recipient or group of recipients.

    \n
    message
    \n

    A discrete unit of communication intended by the source for consumption by some recipient or group of recipients.

    \n
    metadata
    \n

    Information describing the characteristics of data including, for example, structural metadata describing data structures (e.g., data format, syntax, and semantics) and descriptive metadata describing data contents (e.g., information security labels).

    \n
    mobile deep link
    \n

    In the context of mobile apps, deep linking consists of using a uniform resource identifier (URI) that links to a specific location within a mobile app rather than simply launching the app. Deferred deep linking allows users to deep link to content even if the app is not already installed. Depending on the mobile device platform, the URI required to trigger the app may be different.

    \n
    mobile deep link
    \n

    In the context of mobile apps, deep linking consists of using a uniform resource identifier (URI) that links to a specific location within a mobile app rather than simply launching the app. Deferred deep linking allows users to deep link to content even if the app is not already installed. Depending on the mobile device platform, the URI required to trigger the app may be different.

    \n
    mobile deep link
    \n

    In the context of mobile apps, deep linking consists of using a uniform resource identifier (URI) that links to a specific location within a mobile app rather than simply launching the app. Deferred deep linking allows users to deep link to content even if the app is not already installed. Depending on the mobile device platform, the URI required to trigger the app may be different.

    \n
    MPC
    \n

    See: multi-party computation.

    \n
    multi-party computation
    \n

    Secure multi-party computation (also known as secure computation, multi-party computation (MPC) or privacy-preserving computation) is a subfield of cryptography with the goal of creating methods for parties to jointly compute a function over their inputs while keeping those inputs private. Unlike traditional cryptographic tasks, where cryptography assures security and integrity of communication or storage and the adversary is outside the system of participants (an eavesdropper on the sender and receiver), the cryptography in this model protects participants’ privacy from each other.

    \n
    multi-party control
    \n

    A variant of multi-party computation where multiple parties must act in concert to meet a control requirement without revealing each other’s data. All parties are privy to the output of the control, but no party learns anything about the others.

    \n
    multi-signature
    \n

    A cryptographic signature scheme where the process of signing information (e.g., a transaction) is distributed among multiple private keys.

    \n
    multi-signature
    \n

    A cryptographic signature scheme where the process of signing information (e.g., a transaction) is distributed among multiple private keys.

    \n
    multicast address
    \n

    A multicast address is a logical identifier for a group of hosts in a computer network that are available to process datagrams or frames intended to be multicast for a designated network service.

    \n
    multicast address
    \n

    A multicast address is a logical identifier for a group of hosts in a computer network that are available to process datagrams or frames intended to be multicast for a designated network service.

    \n
    multicast
    \n

    In computer networking, multicast is group communication where data transmission is addressed (using a multicast address) to a group of destination computers simultaneously. Multicast can be one-to-many or many-to-many distribution. Multicast should not be confused with physical layer point-to-multipoint communication.

    \n
    natural person
    \n

    A person (in legal meaning, one who has its own legal personality) that is an individual human being, as distinguished from the broader category of a legal person, which may refer to either a natural person or an organization of any kind.

    \n
    natural person
    \n

    A person (in legal meaning, one who has its own legal personality) that is an individual human being, as distinguished from the broader category of a legal person, which may refer to either a natural person or an organization of any kind.

    \n
    natural thing
    \n

    A thing that exists in the natural world independently of humans. Although natural things may form part of a man-made thing, natural things are mutually exclusive with man-made things.

    \n
    natural thing
    \n

    A thing that exists in the natural world independently of humans. Although natural things may form part of a man-made thing, natural things are mutually exclusive with man-made things.

    \n
    network address
    \n

    A network address is an identifier for a node or host on a telecommunications network. Network addresses are designed to be unique identifiers across the network, although some networks allow for local, private addresses, or locally administered addresses that may not be unique. Special network addresses are allocated as broadcast or multicast addresses. A network address designed to address a single device is called a unicast address.

    \n
    network address
    \n

    A network address is an identifier for a node or host on a telecommunications network. Network addresses are designed to be unique identifiers across the network, although some networks allow for local, private addresses, or locally administered addresses that may not be unique. Special network addresses are allocated as broadcast or multicast addresses. A network address designed to address a single device is called a unicast address.

    \n
    NIST-CSRC
    \n

    Abbreviation for the NIST Computer Security Resource Center Glossary.

    \n
    node
    \n

    In telecommunications networks, a node (Latin: nodus, ‘knot’) is either a redistribution point or a communication endpoint. The definition of a node depends on the network and protocol layer referred to. A physical network node is an electronic device that is attached to a network, and is capable of creating, receiving, or transmitting information over a communication channel.

    \n
    node
    \n

    In telecommunications networks, a node (Latin: nodus, ‘knot’) is either a redistribution point or a communication endpoint. The definition of a node depends on the network and protocol layer referred to. A physical network node is an electronic device that is attached to a network, and is capable of creating, receiving, or transmitting information over a communication channel.

    \n
    non-custodial wallet
    \n

    A digital wallet that is directly in the control of the holder, usually because the holder is the device controller of the device hosting the digital wallet (smartcard, smartphone, tablet, laptop, desktop, car, etc.) A digital wallet that is in the custody of a third party is called a custodial wallet.

    \n
    non-custodial wallet
    \n

    A digital wallet that is directly in the control of the holder, usually because the holder is the device controller of the device hosting the digital wallet (smartcard, smartphone, tablet, laptop, desktop, car, etc.) A digital wallet that is in the custody of a third party is called a custodial wallet.

    \n
    non-repudiable
    \n

    Non-repudiation refers to a situation where a statement’s author cannot successfully dispute its authorship or the validity of an associated contract, signature or commitment.

    \n
    non-repudiable
    \n

    Non-repudiation refers to a situation where a statement’s author cannot successfully dispute its authorship or the validity of an associated contract, signature or commitment.

    \n
    non-transferable-identifier
    \n

    Controlling keys over this identifier cannot be rotated and therefore this identifier is non-transferable to other control.

    \n
    non-transferable-identifier
    \n

    Controlling keys over this identifier cannot be rotated and therefore this identifier is non-transferable to other control.

    \n
    non-transferable
    \n

    No transferable (the control over) a certain digital asset in an unobstructed or loss-less manner. As opposed to transferable.

    \n
    non-transferable
    \n

    No transferable (the control over) a certain digital asset in an unobstructed or loss-less manner. As opposed to transferable.

    \n
    objective
    \n

    Something toward which a party (its owner) directs effort (an aim, goal, or end of action).

    \n
    objective
    \n

    Something toward which a party (its owner) directs effort (an aim, goal, or end of action).

    \n
    OOBI
    \n

    See: out-of-band introduction.

    \n
    OOBI
    \n

    See: out-of-band introduction.

    \n
    OpenWallet Foundation
    \n

    A non-profit project of the Linux Foundation chartered to build a world-class open source wallet engine.

    \n
    operational circumstances
    \n

    In the context of privacy protection, this term denotes the context in which privacy trade-off decisions are made. It includes the regulatory environment and other non-technical factors that bear on what reasonable privacy expectations might be.

    \n
    optional
    \n

    A requirement that is not mandatory or recommended to implement in order for an implementer to be in compliance, but which is left to the implementer’s choice. In ToIP governance frameworks, an optional requirement is expressed using a MAY or OPTIONAL keyword as defined in IETF RFC 2119.

    \n
    organization
    \n

    A party that consists of a group of parties who agree to be organized into a specific form in order to better achieve a common set of objectives. Examples include corporations, partnerships, sole proprietorships, non-profit organizations, associations, and governments.

    \n
    organization
    \n

    A party that consists of a group of parties who agree to be organized into a specific form in order to better achieve a common set of objectives. Examples include corporations, partnerships, sole proprietorships, non-profit organizations, associations, and governments.

    \n
    organization
    \n

    A party that consists of a group of parties who agree to be organized into a specific form in order to better achieve a common set of objectives. Examples include corporations, partnerships, sole proprietorships, non-profit organizations, associations, and governments.

    \n
    organization
    \n

    A party that consists of a group of parties who agree to be organized into a specific form in order to better achieve a common set of objectives. Examples include corporations, partnerships, sole proprietorships, non-profit organizations, associations, and governments.

    \n
    organizational authority
    \n

    A type of authority where the party asserting its right is an organization.

    \n
    organizational authority
    \n

    A type of authority where the party asserting its right is an organization.

    \n
    out-of-band introduction
    \n

    A process by which two or more entities exchange VIDs in order to form a cryptographically verifiable connection (e.g., a ToIP connection), such as by scanning a QR code (in person or remotely) or clicking a deep link.

    \n
    out-of-band introduction
    \n

    A process by which two or more entities exchange VIDs in order to form a cryptographically verifiable connection (e.g., a ToIP connection), such as by scanning a QR code (in person or remotely) or clicking a deep link.

    \n
    out-of-band introduction
    \n

    A process by which two or more entities exchange VIDs in order to form a cryptographically verifiable connection (e.g., a ToIP connection), such as by scanning a QR code (in person or remotely) or clicking a deep link.

    \n
    out-of-band introduction
    \n

    A process by which two or more entities exchange VIDs in order to form a cryptographically verifiable connection (e.g., a ToIP connection), such as by scanning a QR code (in person or remotely) or clicking a deep link.

    \n
    owner
    \n

    The role that a party performs when it is exercising its legal, rightful or natural title to control a specific entity.

    \n
    owner
    \n

    The role that a party performs when it is exercising its legal, rightful or natural title to control a specific entity.

    \n
    P2P
    \n

    See: peer-to-peer.

    \n
    packet
    \n

    The logical unit of network communications produced by the transport layer.

    \n
    packet
    \n

    The logical unit of network communications produced by the transport layer.

    \n
    party
    \n

    An entity that sets its objectives, maintains its knowledge, and uses that knowledge to pursue its objectives in an autonomous (sovereign) manner. Natural persons and organizations are the typical examples.

    \n
    party
    \n

    An entity that sets its objectives, maintains its knowledge, and uses that knowledge to pursue its objectives in an autonomous (sovereign) manner. Natural persons and organizations are the typical examples.

    \n
    password
    \n

    A string of characters (letters, numbers and other symbols) that are used to authenticate an identity, verify access authorization or derive cryptographic keys.

    \n
    password
    \n

    A string of characters (letters, numbers and other symbols) that are used to authenticate an identity, verify access authorization or derive cryptographic keys.

    \n
    peer-to-peer
    \n

    Peer-to-peer (P2P) computing or networking is a distributed application architecture that partitions tasks or workloads between peers. Peers are equally privileged, equipotent participants in the network. This forms a peer-to-peer network of nodes.

    \n
    peer
    \n

    In the context of digital networks, an actor on the network that has the same status, privileges, and communications options as the other actors on the network.

    \n
    peer
    \n

    In the context of digital networks, an actor on the network that has the same status, privileges, and communications options as the other actors on the network.

    \n
    permission
    \n

    Authorization to perform some action on a system.

    \n
    permission
    \n

    Authorization to perform some action on a system.

    \n
    persistent connection
    \n

    A connection that is able to persist across multiple communication sessions. In a ToIP context, a persistent connection is established when two ToIP endpoints exchange verifiable identifiers (VIDs) that they can use to re-establish the connection with each other whenever it is needed.

    \n
    persistent connection
    \n

    A connection that is able to persist across multiple communication sessions. In a ToIP context, a persistent connection is established when two ToIP endpoints exchange verifiable identifiers (VIDs) that they can use to re-establish the connection with each other whenever it is needed.

    \n
    persistent-identifier
    \n

    transferable-identifier

    \n
    persistent-identifier
    \n

    transferable-identifier

    \n
    person
    \n

    See natural person.

    \n
    person
    \n

    See natural person.

    \n
    personal data store
    \n

    See: personal data vault.

    \n
    personal data store
    \n

    See: personal data vault.

    \n
    personal data store
    \n

    See: personal data vault.

    \n
    personal data store
    \n

    See: personal data vault.

    \n
    personal data vault
    \n

    A digital vault whose controller is a natural person.

    \n
    personal data vault
    \n

    A digital vault whose controller is a natural person.

    \n
    personal data
    \n

    Any information relating to an identified or identifiable natural person (called a data subject under GDPR).

    \n
    personal wallet
    \n

    A digital wallet whose holder is a natural person.

    \n
    personal wallet
    \n

    A digital wallet whose holder is a natural person.

    \n
    personally identifiable information
    \n

    Information (any form of data) that can be used to directly or indirectly identify or re-identify an individual person either singly or in combination within a single record or in correlation with other records. This information can be one or more attributes/fields/properties in a record (e.g., date-of-birth) or one or more records (e.g., medical records).

    \n
    personally identifiable information
    \n

    Information (any form of data) that can be used to directly or indirectly identify or re-identify an individual person either singly or in combination within a single record or in correlation with other records. This information can be one or more attributes/fields/properties in a record (e.g., date-of-birth) or one or more records (e.g., medical records).

    \n
    physical credential
    \n

    A credential in a physical form such as paper, plastic, or metal.

    \n
    physical credential
    \n

    A credential in a physical form such as paper, plastic, or metal.

    \n
    PII
    \n

    See: personally identifiable information.

    \n
    PKI
    \n

    See: public key infrastructure.

    \n
    plaintext
    \n

    Unencrypted information that may be input to an encryption operation. Once encrypted, it becomes ciphertext.

    \n
    plaintext
    \n

    Unencrypted information that may be input to an encryption operation. Once encrypted, it becomes ciphertext.

    \n
    policy
    \n

    Statements,rules, or assertions that specify the correct or expected behavior of an entity. For example, an authorization policy might specify the correct access control rules for a software component. Policies may be human-readable or machine-readable or both.

    \n
    policy
    \n

    Statements,rules, or assertions that specify the correct or expected behavior of an entity. For example, an authorization policy might specify the correct access control rules for a software component. Policies may be human-readable or machine-readable or both.

    \n
    PoP
    \n

    See: proof of personhood.

    \n
    presentation attack
    \n

    A type of cybersecurity attack in which the attacker attempts to defeat a biometric liveness detection system by providing false inputs.

    \n
    presentation attack
    \n

    A type of cybersecurity attack in which the attacker attempts to defeat a biometric liveness detection system by providing false inputs.

    \n
    presentation request
    \n

    A protocol request sent by the verifier to the holder of a digital wallet to request a presentation.

    \n
    presentation request
    \n

    A protocol request sent by the verifier to the holder of a digital wallet to request a presentation.

    \n
    presentation
    \n

    A verifiable message that a holder may send to a verifier containing proofs of one or more claims derived from one or more digital credentials from one or more issuers as a response to a specific presentation request from a  verifier.

    \n
    presentation
    \n

    A verifiable message that a holder may send to a verifier containing proofs of one or more claims derived from one or more digital credentials from one or more issuers as a response to a specific presentation request from a  verifier.

    \n
    presentation
    \n

    A verifiable message that a holder may send to a verifier containing proofs of one or more claims derived from one or more digital credentials from one or more issuers as a response to a specific presentation request from a  verifier.

    \n
    presentation
    \n

    A verifiable message that a holder may send to a verifier containing proofs of one or more claims derived from one or more digital credentials from one or more issuers as a response to a specific presentation request from a  verifier.

    \n
    presentation
    \n

    A verifiable message that a holder may send to a verifier containing proofs of one or more claims derived from one or more digital credentials from one or more issuers as a response to a specific presentation request from a  verifier.

    \n
    presentation
    \n

    A verifiable message that a holder may send to a verifier containing proofs of one or more claims derived from one or more digital credentials from one or more issuers as a response to a specific presentation request from a  verifier.

    \n
    primary document
    \n

    The governance document at the root of a governance framework. The primary document specifies the other controlled documents in the governance framework.

    \n
    primary document
    \n

    The governance document at the root of a governance framework. The primary document specifies the other controlled documents in the governance framework.

    \n
    principal
    \n

    The party for whom, or on behalf of whom, an actor is executing an action (this actor is then called an agent of that party).

    \n
    principal
    \n

    The party for whom, or on behalf of whom, an actor is executing an action (this actor is then called an agent of that party).

    \n
    Principles of SSI
    \n

    A set of principles for self-sovereign identity systems originally defined by the Sovrin Foundation and republished by the ToIP Foundation.

    \n
    privacy policy
    \n

    A statement or legal document (in privacy law) that discloses some or all of the ways a party gathers, uses, discloses, and manages a customer or client’s data.

    \n
    privacy policy
    \n

    A statement or legal document (in privacy law) that discloses some or all of the ways a party gathers, uses, discloses, and manages a customer or client’s data.

    \n
    privacy-washing
    \n

    De-identification so that it provides a personal data safe harbour and could be legally acceptable forwarded.

    \n
    privacy-washing
    \n

    De-identification so that it provides a personal data safe harbour and could be legally acceptable forwarded.

    \n
    private key
    \n

    In public key cryptography, the cryptographic key which must be kept secret by the controller in order to maintain security.

    \n
    private key
    \n

    In public key cryptography, the cryptographic key which must be kept secret by the controller in order to maintain security.

    \n
    proof of control
    \n

    See: proof of possession.

    \n
    proof of personhood
    \n

    Proof of personhood (PoP) is a means of resisting malicious attacks on peer-to-peer networks, particularly, attacks that utilize multiple fake identities, otherwise known as a Sybil attack. Decentralized online platforms are particularly vulnerable to such attacks by their very nature, as notionally democratic and responsive to large voting blocks. In PoP, each unique human participant obtains one equal unit of voting power, and any associated rewards.

    \n
    proof of possession
    \n

    A verification process whereby a level of assurance is obtained that the owner of a key pair actually controls the private key associated with the public key.

    \n
    proof of presence
    \n

    See: liveness detection.

    \n
    proof
    \n

    A digital object that enables cryptographic verification of either: a) the claims from one or more digital credentials, or b) facts about claims that do not reveal the data itself (e.g., proof of the subject being over/under a specific age without revealing a birthdate).

    \n
    proof
    \n

    A digital object that enables cryptographic verification of either: a) the claims from one or more digital credentials, or b) facts about claims that do not reveal the data itself (e.g., proof of the subject being over/under a specific age without revealing a birthdate).

    \n
    property
    \n

    In the context of digital communication, an attribute of a digital object or data structure, such as a DID document or a schema.

    \n
    property
    \n

    In the context of digital communication, an attribute of a digital object or data structure, such as a DID document or a schema.

    \n
    protected data
    \n

    Data that is not publicly available but requires some type of access control to gain access.

    \n
    protocol layer
    \n

    In modern protocol design, protocols are layered to form a protocol stack. Layering is a design principle that divides the protocol design task into smaller steps, each of which accomplishes a specific part, interacting with the other parts of the protocol only in a small number of well-defined ways. Layering allows the parts of a protocol to be designed and tested without a combinatorial explosion of cases, keeping each design relatively simple.

    \n
    protocol layer
    \n

    In modern protocol design, protocols are layered to form a protocol stack. Layering is a design principle that divides the protocol design task into smaller steps, each of which accomplishes a specific part, interacting with the other parts of the protocol only in a small number of well-defined ways. Layering allows the parts of a protocol to be designed and tested without a combinatorial explosion of cases, keeping each design relatively simple.

    \n
    protocol stack
    \n

    The protocol stack or network stack is an implementation of a computer networking protocol suite or protocol family. Some of these terms are used interchangeably but strictly speaking, the suite is the definition of the communication protocols, and the stack is the software implementation of them.

    \n
    protocol stack
    \n

    The protocol stack or network stack is an implementation of a computer networking protocol suite or protocol family. Some of these terms are used interchangeably but strictly speaking, the suite is the definition of the communication protocols, and the stack is the software implementation of them.

    \n
    pseudonym
    \n

    A pseudonym is a fictitious name that a person assumes for a particular purpose, which differs from their original or true name (orthonym). This also differs from a new name that entirely or legally replaces an individual’s own. Many pseudonym holders use pseudonyms because they wish to remain anonymous, but anonymity is difficult to achieve and often fraught with legal issues.

    \n
    pseudonym
    \n

    A pseudonym is a fictitious name that a person assumes for a particular purpose, which differs from their original or true name (orthonym). This also differs from a new name that entirely or legally replaces an individual’s own. Many pseudonym holders use pseudonyms because they wish to remain anonymous, but anonymity is difficult to achieve and often fraught with legal issues.

    \n
    pseudonym
    \n

    A pseudonym is a fictitious name that a person assumes for a particular purpose, which differs from their original or true name (orthonym). This also differs from a new name that entirely or legally replaces an individual’s own. Many pseudonym holders use pseudonyms because they wish to remain anonymous, but anonymity is difficult to achieve and often fraught with legal issues.

    \n
    pseudonym
    \n

    A pseudonym is a fictitious name that a person assumes for a particular purpose, which differs from their original or true name (orthonym). This also differs from a new name that entirely or legally replaces an individual’s own. Many pseudonym holders use pseudonyms because they wish to remain anonymous, but anonymity is difficult to achieve and often fraught with legal issues.

    \n
    public key certificate
    \n

    A set of data that uniquely identifies a public key (which has a corresponding private key) and an owner that is authorized to use the key pair. The certificate contains the owner’s public key and possibly other information and is digitally signed by a certification authority (i.e., a trusted party), thereby binding the public key to the owner.

    \n
    public key certificate
    \n

    A set of data that uniquely identifies a public key (which has a corresponding private key) and an owner that is authorized to use the key pair. The certificate contains the owner’s public key and possibly other information and is digitally signed by a certification authority (i.e., a trusted party), thereby binding the public key to the owner.

    \n
    public key certificate
    \n

    A set of data that uniquely identifies a public key (which has a corresponding private key) and an owner that is authorized to use the key pair. The certificate contains the owner’s public key and possibly other information and is digitally signed by a certification authority (i.e., a trusted party), thereby binding the public key to the owner.

    \n
    public key certificate
    \n

    A set of data that uniquely identifies a public key (which has a corresponding private key) and an owner that is authorized to use the key pair. The certificate contains the owner’s public key and possibly other information and is digitally signed by a certification authority (i.e., a trusted party), thereby binding the public key to the owner.

    \n
    public key cryptography
    \n

    Public key cryptography, or asymmetric cryptography, is the field of cryptographic systems that use pairs of related keys. Each key pair consists of a public key and a corresponding private key. Key pairs are generated with cryptographic algorithms based on mathematical problems termed one-way functions. Security of public key cryptography depends on keeping the private key secret; the public key can be openly distributed without compromising security.

    \n
    public key infrastructure
    \n

    A set of policies, processes, server platforms, software and workstations used for the purpose of administering certificates and public-private key pairs, including the ability to issue, maintain, and revoke public key certificates. The PKI includes the hierarchy of certificate authorities that allow for the deployment of digital certificates that support encryption, digital signature and authentication to meet business and security requirements.

    \n
    public key infrastructure
    \n

    A set of policies, processes, server platforms, software and workstations used for the purpose of administering certificates and public-private key pairs, including the ability to issue, maintain, and revoke public key certificates. The PKI includes the hierarchy of certificate authorities that allow for the deployment of digital certificates that support encryption, digital signature and authentication to meet business and security requirements.

    \n
    public key infrastructure
    \n

    A set of policies, processes, server platforms, software and workstations used for the purpose of administering certificates and public-private key pairs, including the ability to issue, maintain, and revoke public key certificates. The PKI includes the hierarchy of certificate authorities that allow for the deployment of digital certificates that support encryption, digital signature and authentication to meet business and security requirements.

    \n
    public key infrastructure
    \n

    A set of policies, processes, server platforms, software and workstations used for the purpose of administering certificates and public-private key pairs, including the ability to issue, maintain, and revoke public key certificates. The PKI includes the hierarchy of certificate authorities that allow for the deployment of digital certificates that support encryption, digital signature and authentication to meet business and security requirements.

    \n
    public key
    \n

    In public key cryptography, the cryptographic key that can be freely shared with anyone by the controller without compromising security. A party's public key must be verified as authoritative in order to verify their digital signature.

    \n
    public key
    \n

    In public key cryptography, the cryptographic key that can be freely shared with anyone by the controller without compromising security. A party's public key must be verified as authoritative in order to verify their digital signature.

    \n
    QR code
    \n

    A QR code (short for “quick-response code”) is a type of two-dimensional matrix barcode—a machine-readable optical image that contains information specific to the identified item. In practice, QR codes contain data for a locator, an identifier, and web tracking.

    \n
    QR code
    \n

    A QR code (short for “quick-response code”) is a type of two-dimensional matrix barcode—a machine-readable optical image that contains information specific to the identified item. In practice, QR codes contain data for a locator, an identifier, and web tracking.

    \n
    RBAC
    \n

    See: role-based access control.

    \n
    real world identity
    \n

    A term used to describe the opposite of digital identity, i.e., an identity (typically for a person) in the physical instead of the digital world.

    \n
    real world identity
    \n

    A term used to describe the opposite of digital identity, i.e., an identity (typically for a person) in the physical instead of the digital world.

    \n
    recommended
    \n

    A requirement that is not mandatory to implement in order for an implementer to be in compliance, but which should be implemented unless the implementer has a good reason. In ToIP governance frameworks, a recommendation is expressed using a SHOULD or RECOMMENDED keyword as defined in IETF RFC 2119.

    \n
    record
    \n

    A uniquely identifiable entry or listing in a database or registry.

    \n
    record
    \n

    A uniquely identifiable entry or listing in a database or registry.

    \n
    registrant
    \n

    The party submitting a registration record to a registry.

    \n
    registrant
    \n

    The party submitting a registration record to a registry.

    \n
    registrar
    \n

    The party who performs registration on behalf of a registrant.

    \n
    registrar
    \n

    The party who performs registration on behalf of a registrant.

    \n
    registration agent
    \n

    A party responsible for accepting registration requests and authenticating the registrant. The term may also apply to a party accepting issuance requests for digital credentials.

    \n
    registration
    \n

    The process by which a registrant submits a record to a registry.

    \n
    registration
    \n

    The process by which a registrant submits a record to a registry.

    \n
    registry
    \n

    A specialized database of records that serves as an authoritative source of information about entities.

    \n
    registry
    \n

    A specialized database of records that serves as an authoritative source of information about entities.

    \n
    relationship context
    \n

    A context established within the boundary of a trust relationship.

    \n
    relationship context
    \n

    A context established within the boundary of a trust relationship.

    \n
    relationship
    \n

    See ToIP relationship.

    \n
    relying party
    \n

    A party who accepts claims, credentials, trust graphs, or any other form of verifiable data from other parties (such as issuers, holders, trust registries, or other authoritative sources) in order to make a trust decision.

    \n
    relying party
    \n

    A party who accepts claims, credentials, trust graphs, or any other form of verifiable data from other parties (such as issuers, holders, trust registries, or other authoritative sources) in order to make a trust decision.

    \n
    reputation graph
    \n

    A graph of the reputation relationships between different entities in a trust community. In a digital trust ecosystem, the governing body may be one trust anchor of a reputation graph. In some cases, a reputation graph can be traversed by making queries to one or more trust registries.

    \n
    reputation graph
    \n

    A graph of the reputation relationships between different entities in a trust community. In a digital trust ecosystem, the governing body may be one trust anchor of a reputation graph. In some cases, a reputation graph can be traversed by making queries to one or more trust registries.

    \n
    reputation system
    \n

    Reputation systems are programs or algorithms that allow users to rate each other in online communities in order to build trust through reputation. Some common uses of these systems can be found on e-commerce websites such as eBay, Amazon.com, and Etsy as well as online advice communities such as Stack Exchange.

    \n
    reputation system
    \n

    Reputation systems are programs or algorithms that allow users to rate each other in online communities in order to build trust through reputation. Some common uses of these systems can be found on e-commerce websites such as eBay, Amazon.com, and Etsy as well as online advice communities such as Stack Exchange.

    \n
    reputation
    \n

    The beliefs or opinions that are generally held about an entity, typically developed as a result of social evaluation on a set of criteria, such as behavior, performance, or trustworthiness.

    \n
    reputation
    \n

    The beliefs or opinions that are generally held about an entity, typically developed as a result of social evaluation on a set of criteria, such as behavior, performance, or trustworthiness.

    \n
    reputational-trust
    \n

    Established by a trusted party offering identity-assurance.

    \n
    reputational-trust
    \n

    Established by a trusted party offering identity-assurance.

    \n
    requirement
    \n

    A specified condition or behavior to which a system needs to comply. Technical requirements are defined in technical specifications and implemented in computer systems to be executed by software actors. Governance requirements are defined in governance documents that specify policies and procedures to be executed by human actors. In ToIP specifications, requirements are expressed using the keywords defined in Internet RFC 2119.

    \n
    requirement
    \n

    A specified condition or behavior to which a system needs to comply. Technical requirements are defined in technical specifications and implemented in computer systems to be executed by software actors. Governance requirements are defined in governance documents that specify policies and procedures to be executed by human actors. In ToIP specifications, requirements are expressed using the keywords defined in Internet RFC 2119.

    \n
    revocation
    \n

    In the context of digital credentials, revocation is an event signifying that the issuer no longer attests to the validity of a credential they have issued. In the context of cryptographic keys, revocation is an event signifying that the controller no longer attests to the validity of a public/private key pair for which the controller is authoritative.

    \n
    revocation
    \n

    In the context of digital credentials, revocation is an event signifying that the issuer no longer attests to the validity of a credential they have issued. In the context of cryptographic keys, revocation is an event signifying that the controller no longer attests to the validity of a public/private key pair for which the controller is authoritative.

    \n
    revocation
    \n

    In the context of digital credentials, revocation is an event signifying that the issuer no longer attests to the validity of a credential they have issued. In the context of cryptographic keys, revocation is an event signifying that the controller no longer attests to the validity of a public/private key pair for which the controller is authoritative.

    \n
    revocation
    \n

    In the context of digital credentials, revocation is an event signifying that the issuer no longer attests to the validity of a credential they have issued. In the context of cryptographic keys, revocation is an event signifying that the controller no longer attests to the validity of a public/private key pair for which the controller is authoritative.

    \n
    revocation
    \n

    In the context of digital credentials, revocation is an event signifying that the issuer no longer attests to the validity of a credential they have issued. In the context of cryptographic keys, revocation is an event signifying that the controller no longer attests to the validity of a public/private key pair for which the controller is authoritative.

    \n
    revocation
    \n

    In the context of digital credentials, revocation is an event signifying that the issuer no longer attests to the validity of a credential they have issued. In the context of cryptographic keys, revocation is an event signifying that the controller no longer attests to the validity of a public/private key pair for which the controller is authoritative.

    \n
    risk assessment
    \n

    The process of identifying risks to organizational operations (including mission, functions, image, reputation), organizational assets, individuals, other organizations, and the overall ecosystem, resulting from the operation of an information system. Risk assessment is part of risk management, incorporates threat and vulnerability analyses, and considers risk mitigations provided by security controls planned or in place.

    \n
    risk assessment
    \n

    The process of identifying risks to organizational operations (including mission, functions, image, reputation), organizational assets, individuals, other organizations, and the overall ecosystem, resulting from the operation of an information system. Risk assessment is part of risk management, incorporates threat and vulnerability analyses, and considers risk mitigations provided by security controls planned or in place.

    \n
    risk decision
    \n

    See: trust decision.

    \n
    risk decision
    \n

    See: trust decision.

    \n
    risk management
    \n

    The process of managing risks to organizational operations (including mission, functions, image, or reputation), organizational assets, or individuals resulting from the operation of an information system, and includes: (i) the conduct of a risk assessment; (ii) the implementation of a risk mitigation strategy; and (iii) employment of techniques and procedures for the continuous monitoring of the security state of the information system.

    \n
    risk mitigation
    \n

    Prioritizing, evaluating, and implementing the appropriate risk-reducing controls/countermeasures recommended from the risk management process.

    \n
    risk mitigation
    \n

    Prioritizing, evaluating, and implementing the appropriate risk-reducing controls/countermeasures recommended from the risk management process.

    \n
    risk
    \n

    The effects that uncertainty (i.e. a lack of information, understanding or knowledge of events, their consequences or likelihoods) can have on the intended realization of an objectiveof a party.

    \n
    risk
    \n

    The effects that uncertainty (i.e. a lack of information, understanding or knowledge of events, their consequences or likelihoods) can have on the intended realization of an objectiveof a party.

    \n
    role-based access control
    \n

    Access control based on user roles (i.e., a collection of access authorizations a user receives based on an explicit or implicit assumption of a given role). Role permissions may be inherited through a role hierarchy and typically reflect the permissions needed to perform defined functions within an organization. A given role may apply to a single individual or to several individuals.

    \n
    role-based access control
    \n

    Access control based on user roles (i.e., a collection of access authorizations a user receives based on an explicit or implicit assumption of a given role). Role permissions may be inherited through a role hierarchy and typically reflect the permissions needed to perform defined functions within an organization. A given role may apply to a single individual or to several individuals.

    \n
    role credential
    \n

    A credential claiming that the subject has a specific role.

    \n
    role credential
    \n

    A credential claiming that the subject has a specific role.

    \n
    role
    \n

    A defined set of characteristics that an entity has in some context, such as responsibilities it may have, actions (behaviors) it may execute, or pieces of knowledge that it is expected to have in that context, which are referenced by a specific role name.

    \n
    role
    \n

    A defined set of characteristics that an entity has in some context, such as responsibilities it may have, actions (behaviors) it may execute, or pieces of knowledge that it is expected to have in that context, which are referenced by a specific role name.

    \n
    rotation
    \n

    a change of the key state, including a change to the set of authoritative key pairs for an identifier AID.

    \n
    rotation
    \n

    a change of the key state, including a change to the set of authoritative key pairs for an identifier AID.

    \n
    rotation
    \n

    a change of the key state, including a change to the set of authoritative key pairs for an identifier AID.

    \n
    rotation
    \n

    a change of the key state, including a change to the set of authoritative key pairs for an identifier AID.

    \n
    rotation
    \n

    a change of the key state, including a change to the set of authoritative key pairs for an identifier AID.

    \n
    router
    \n

    A router is a networking device that forwards data packets between computer networks. Routers perform the traffic directing functions between networks and on the global Internet. Data sent through a network, such as a web page or email, is in the form of data packets. A packet is typically forwarded from one router to another router through the networks that constitute an internetwork (e.g. the Internet) until it reaches its destination node. This process is called routing.

    \n
    router
    \n

    A router is a networking device that forwards data packets between computer networks. Routers perform the traffic directing functions between networks and on the global Internet. Data sent through a network, such as a web page or email, is in the form of data packets. A packet is typically forwarded from one router to another router through the networks that constitute an internetwork (e.g. the Internet) until it reaches its destination node. This process is called routing.

    \n
    routing
    \n

    Routing is the process of selecting a path for traffic in a network or between or across multiple networks. Broadly, routing is performed in many types of networks, including circuit-switched networks, such as the public switched telephone network (PSTN), and computer networks, such as the Internet. A router is a computing device that specializes in performing routing.

    \n
    routing
    \n

    Routing is the process of selecting a path for traffic in a network or between or across multiple networks. Broadly, routing is performed in many types of networks, including circuit-switched networks, such as the public switched telephone network (PSTN), and computer networks, such as the Internet. A router is a computing device that specializes in performing routing.

    \n
    routing
    \n

    Routing is the process of selecting a path for traffic in a network or between or across multiple networks. Broadly, routing is performed in many types of networks, including circuit-switched networks, such as the public switched telephone network (PSTN), and computer networks, such as the Internet. A router is a computing device that specializes in performing routing.

    \n
    rule
    \n

    A prescribed guide for conduct, process or action to achieve a defined result or objective. Rules may be human-readable or machine-readable or both.

    \n
    rule
    \n

    A prescribed guide for conduct, process or action to achieve a defined result or objective. Rules may be human-readable or machine-readable or both.

    \n
    RWI
    \n

    See: real world identity.

    \n
    schema
    \n

    A framework, pattern, or set of rules for enforcing a specific structure on a digital object or a set of digital data. There are many types of schemas, e.g., data schema, credential verification schema, database schema.

    \n
    schema
    \n

    A framework, pattern, or set of rules for enforcing a specific structure on a digital object or a set of digital data. There are many types of schemas, e.g., data schema, credential verification schema, database schema.

    \n
    SCID
    \n

    See: self-certifying identifier.

    \n
    SCID
    \n

    See: self-certifying identifier.

    \n
    scope
    \n

    In the context of terminology, scope refers to the set of possible concepts within which: a) a specific term is intended to uniquely identify a concept, or b) a specific glossary is intended to identify a set of concepts. In the context of identification, scope refers to the set of possible entities within which a specific entity must be uniquely identified. In the context of specifications, scope refers to the set of problems (the problem space) within which the specification is intended to specify solutions.

    \n
    scope
    \n

    In the context of terminology, scope refers to the set of possible concepts within which: a) a specific term is intended to uniquely identify a concept, or b) a specific glossary is intended to identify a set of concepts. In the context of identification, scope refers to the set of possible entities within which a specific entity must be uniquely identified. In the context of specifications, scope refers to the set of problems (the problem space) within which the specification is intended to specify solutions.

    \n
    second party
    \n

    The party with whom a first party engages to form a trust relationship, establish a connection, make a delegation, or execute a transaction.

    \n
    second party
    \n

    The party with whom a first party engages to form a trust relationship, establish a connection, make a delegation, or execute a transaction.

    \n
    secure-attribution
    \n

    Secure attribution is strongly related to making and proving statements. A controller makes statements to the a validator or verifier, who in turn validates the statements issued. A controllerowns” the statement: content and attribution via digital signatures. Secure attribution is “whodunit?!” in cyberspace.

    \n
    secure-attribution
    \n

    Secure attribution is strongly related to making and proving statements. A controller makes statements to the a validator or verifier, who in turn validates the statements issued. A controllerowns” the statement: content and attribution via digital signatures. Secure attribution is “whodunit?!” in cyberspace.

    \n
    Secure Enclave
    \n

    A coprocessor on Apple iOS devices that serves as a trusted execution environment.

    \n
    Secure Enclave
    \n

    A coprocessor on Apple iOS devices that serves as a trusted execution environment.

    \n
    secure multi-party computation
    \n

    See: multi-party computation.

    \n
    Secure Sockets Layer
    \n

    No custom content found for toip2:Secure Sockets Layer

    \n
    security domain
    \n

    An environment or context that includes a set of system resources and a set of system entities that have the right to access the resources as defined by a common security policy, security model, or security architecture.

    \n
    security domain
    \n

    An environment or context that includes a set of system resources and a set of system entities that have the right to access the resources as defined by a common security policy, security model, or security architecture.

    \n
    security policy
    \n

    A set of policies and rules that governs all aspects of security-relevant system and system element behavior.

    \n
    security policy
    \n

    A set of policies and rules that governs all aspects of security-relevant system and system element behavior.

    \n
    self-addressing-data
    \n

    No custom content found for keri1:self-addressing-data

    \n
    self-asserted
    \n

    A term used to describe a claim or a credential whose subject is also the issuer.

    \n
    self-certified
    \n

    When a party provides its own certification that it is compliant with a set of requirements, such as a governance framework. The term is also applied to data structures that are cryptographically verifiable such as self-certifying identifiers.

    \n
    self-certifying identifier
    \n

    A subclass of verifiable identifier (VID) that is cryptographically verifiable without the need to rely on any third party for verification because the identifier is cryptographically bound to the cryptographic keys from which it was generated.

    \n
    self-certifying identifier
    \n

    A subclass of verifiable identifier (VID) that is cryptographically verifiable without the need to rely on any third party for verification because the identifier is cryptographically bound to the cryptographic keys from which it was generated.

    \n
    self-certifying identifier
    \n

    A subclass of verifiable identifier (VID) that is cryptographically verifiable without the need to rely on any third party for verification because the identifier is cryptographically bound to the cryptographic keys from which it was generated.

    \n
    self-certifying identifier
    \n

    A subclass of verifiable identifier (VID) that is cryptographically verifiable without the need to rely on any third party for verification because the identifier is cryptographically bound to the cryptographic keys from which it was generated.

    \n
    self-sovereign identity
    \n

    Self-sovereign identity is a decentralized identity architecture that implements the Principles of SSI — principally that it puts the identity controller (e.g., a natural person or organization) directly in control of the identifiers and credentials they use to assert their digital identity.

    \n
    self-sovereign identity
    \n

    Self-sovereign identity is a decentralized identity architecture that implements the Principles of SSI — principally that it puts the identity controller (e.g., a natural person or organization) directly in control of the identifiers and credentials they use to assert their digital identity.

    \n
    sensitive data
    \n

    Personal data that a reasonable person would view from a privacy protection standpoint as requiring special care above and beyond other personal data.

    \n
    session
    \n

    See: communication session.

    \n
    session
    \n

    See: communication session.

    \n
    single-signature-identifier
    \n

    or single sig identifier; is an identifier controlled by a one-of-one signing key-pair

    \n
    single-signature-identifier
    \n

    or single sig identifier; is an identifier controlled by a one-of-one signing key-pair

    \n
    sociotechnical system
    \n

    An approach to complex organizational work design that recognizes the interaction between people and technology in workplaces. The term also refers to coherent systems of human relations, technical objects, and cybernetic processes that inhere to large, complex infrastructures. Social society, and its constituent substructures, qualify as complex sociotechnical systems.

    \n
    sociotechnical system
    \n

    An approach to complex organizational work design that recognizes the interaction between people and technology in workplaces. The term also refers to coherent systems of human relations, technical objects, and cybernetic processes that inhere to large, complex infrastructures. Social society, and its constituent substructures, qualify as complex sociotechnical systems.

    \n
    sociotechnical system
    \n

    An approach to complex organizational work design that recognizes the interaction between people and technology in workplaces. The term also refers to coherent systems of human relations, technical objects, and cybernetic processes that inhere to large, complex infrastructures. Social society, and its constituent substructures, qualify as complex sociotechnical systems.

    \n
    software agent
    \n

    In computer science, a software agent is a computer program that acts for a user or other program in a relationship of agency, which derives from the Latin agere (to do): an agreement to act on one’s behalf. A user agent is a specific type of software agent that is used directly by an end-user as the principal.

    \n
    software agent
    \n

    In computer science, a software agent is a computer program that acts for a user or other program in a relationship of agency, which derives from the Latin agere (to do): an agreement to act on one’s behalf. A user agent is a specific type of software agent that is used directly by an end-user as the principal.

    \n
    Sovrin Foundation
    \n

    A 501 ©(4) nonprofit organization established to administer the governance framework governing the Sovrin Network, a public service utility enabling self-sovereign identity on the internet. The Sovrin Foundation is an independent organization that is responsible for ensuring the Sovrin identity system is public and globally accessible.

    \n
    spanning layer
    \n

    A specific layer within a protocol stack that consists of a single protocol explicitly designed to provide interoperability between the protocol layers above it and below it.

    \n
    specification
    \n

    See: technical specification.

    \n
    specification
    \n

    See: technical specification.

    \n
    ssi-system
    \n

    No custom content found for keri1:ssi-system

    \n
    SSI
    \n

    See: self-sovereign identity.

    \n
    SSL
    \n

    No custom content found for toip2:SSL

    \n
    stale-event
    \n

    No custom content found for keri1:stale-event

    \n
    stale-key
    \n

    No custom content found for keri1:stale-key

    \n
    stream
    \n

    In the context of digital communications, and in particular streaming media, a flow of data delivered in a continuous manner from a server to a client rather than in discrete messages.

    \n
    stream
    \n

    In the context of digital communications, and in particular streaming media, a flow of data delivered in a continuous manner from a server to a client rather than in discrete messages.

    \n
    streaming media
    \n

    Streaming media is multimedia for playback using an offline or online media player. Technically, the stream is delivered and consumed in a continuous manner from a client, with little or no intermediate storage in network elements. Streaming refers to the delivery method of content, rather than the content itself.

    \n
    subject
    \n

    The entity described by one or more claims, particularly in the context of credentials.

    \n
    subject
    \n

    The entity described by one or more claims, particularly in the context of credentials.

    \n
    subscription
    \n

    In the context of decentralized digital trust infrastructure, a subscription is an agreement between a first digital agent—the publisher—to automatically send a second digital agent—the subscriber—a message when a specific type of event happens in the wallet or vault managed by the first digital agent.

    \n
    subscription
    \n

    In the context of decentralized digital trust infrastructure, a subscription is an agreement between a first digital agent—the publisher—to automatically send a second digital agent—the subscriber—a message when a specific type of event happens in the wallet or vault managed by the first digital agent.

    \n
    supporting system
    \n

    A system that operates at ToIP Layer 1, the trust support layer of the ToIP stack. A supporting system is one of three types of systems defined in the ToIP Technology Architecture Specification.

    \n
    supporting system
    \n

    A system that operates at ToIP Layer 1, the trust support layer of the ToIP stack. A supporting system is one of three types of systems defined in the ToIP Technology Architecture Specification.

    \n
    Sybil attack
    \n

    A Sybil attack is a type of attack on a computer network service in which an attacker subverts the service’s reputation system by creating a large number of pseudonymous identities and uses them to gain a disproportionately large influence. It is named after the subject of the book Sybil, a case study of a woman diagnosed with dissociative identity disorder.

    \n
    Sybil attack
    \n

    A Sybil attack is a type of attack on a computer network service in which an attacker subverts the service’s reputation system by creating a large number of pseudonymous identities and uses them to gain a disproportionately large influence. It is named after the subject of the book Sybil, a case study of a woman diagnosed with dissociative identity disorder.

    \n
    system of record
    \n

    A system of record (SOR) or source system of record (SSoR) is a data management term for an information storage system (commonly implemented on a computer system running a database management system) that is the authoritative source for a given data element or piece of information.

    \n
    system of record
    \n

    A system of record (SOR) or source system of record (SSoR) is a data management term for an information storage system (commonly implemented on a computer system running a database management system) that is the authoritative source for a given data element or piece of information.

    \n
    tamper evident
    \n

    A process which makes alterations to the data easily detectable. Form digital data objects, this is typically achieved via cryptographic verification.

    \n
    tamper evident
    \n

    A process which makes alterations to the data easily detectable. Form digital data objects, this is typically achieved via cryptographic verification.

    \n
    tamper resistant
    \n

    A process which makes alterations to data difficult (hard to perform), costly (expensive to perform), or both. For digital data objects, this is typically achieved via cryptographic verification.

    \n
    tamper resistant
    \n

    A process which makes alterations to data difficult (hard to perform), costly (expensive to perform), or both. For digital data objects, this is typically achieved via cryptographic verification.

    \n
    tamper resistant
    \n

    A process which makes alterations to data difficult (hard to perform), costly (expensive to perform), or both. For digital data objects, this is typically achieved via cryptographic verification.

    \n
    tamper resistant
    \n

    A process which makes alterations to data difficult (hard to perform), costly (expensive to perform), or both. For digital data objects, this is typically achieved via cryptographic verification.

    \n
    TCP/IP stack
    \n

    The protocol stack implementing the TCP/IP suite.

    \n
    TCP/IP stack
    \n

    The protocol stack implementing the TCP/IP suite.

    \n
    TCP/IP
    \n

    See: Internet Protocol Suite.

    \n
    TCP
    \n

    No custom content found for toip2:TCP

    \n
    technical requirement
    \n

    A requirement for a hardware or software component or system. In the context of decentralized digital trust infrastructure, technical requirements are a subset of governance requirements. Technical requirements are often specified in a technical specification.

    \n
    technical requirement
    \n

    A requirement for a hardware or software component or system. In the context of decentralized digital trust infrastructure, technical requirements are a subset of governance requirements. Technical requirements are often specified in a technical specification.

    \n
    technical specification
    \n

    A document that specifies, in a complete, precise, verifiable manner, the requirements, design, behavior, or other characteristics of a system or component and often the procedures for determining whether these provisions have been satisfied.

    \n
    technical specification
    \n

    A document that specifies, in a complete, precise, verifiable manner, the requirements, design, behavior, or other characteristics of a system or component and often the procedures for determining whether these provisions have been satisfied.

    \n
    technical trust
    \n

    A level of assurance in a trust relationship that can be achieved only via technical means such as hardware, software, network protocols, and cryptography.Cryptographic trust is a specialized type of technical trust.

    \n
    TEE
    \n

    See: trusted execution environment.

    \n
    term
    \n

    A unit of text (i.e., a word or phrase) that is used in a particular context or scope to refer to a concept (or a relation between concepts, or a property of a concept).

    \n
    term
    \n

    A unit of text (i.e., a word or phrase) that is used in a particular context or scope to refer to a concept (or a relation between concepts, or a property of a concept).

    \n
    terminology
    \n

    Terminology is a group of specialized words and respective meanings in a particular field, and also the study of such terms and their use; the latter meaning is also known as terminology science. A term is a word, compound word, or multi-word expressions that in specific contexts is given specific meanings—meaning which may deviate from the meanings the same words have in other contexts and in everyday language. Terminology is a discipline that studies, among other things, the development of such terms and their interrelationships within a specialized domain. Terminology differs from lexicography, as the former involves the study of concepts, conceptual systems and their labels (terms), whereas lexicography studies words and their meanings.

    \n
    terminology
    \n

    Terminology is a group of specialized words and respective meanings in a particular field, and also the study of such terms and their use; the latter meaning is also known as terminology science. A term is a word, compound word, or multi-word expressions that in specific contexts is given specific meanings—meaning which may deviate from the meanings the same words have in other contexts and in everyday language. Terminology is a discipline that studies, among other things, the development of such terms and their interrelationships within a specialized domain. Terminology differs from lexicography, as the former involves the study of concepts, conceptual systems and their labels (terms), whereas lexicography studies words and their meanings.

    \n
    terms community
    \n

    A group of parties who share the need for a common terminology.

    \n
    terms community
    \n

    A group of parties who share the need for a common terminology.

    \n
    terms wiki
    \n

    A wiki website used by a terms community to input, maintain, and publish its terminology. The Concepts and Terminology Working Group at the ToIP Foundation has created a simple template for GitHub-based terms wikis.

    \n
    terms wiki
    \n

    A wiki website used by a terms community to input, maintain, and publish its terminology. The Concepts and Terminology Working Group at the ToIP Foundation has created a simple template for GitHub-based terms wikis.

    \n
    thing
    \n

    An entity that is neither a natural person nor an organization and thus cannot be a party. A thing may be a natural thing or a man-made thing.

    \n
    thing
    \n

    An entity that is neither a natural person nor an organization and thus cannot be a party. A thing may be a natural thing or a man-made thing.

    \n
    third party
    \n

    A party that is not directly involved in the trust relationship between a first party and a second party, but provides supporting services to either or both of them.

    \n
    third party
    \n

    A party that is not directly involved in the trust relationship between a first party and a second party, but provides supporting services to either or both of them.

    \n
    three party model
    \n

    The issuerholderverifier model used by all types of physical credentials and digital credentials to enable transitive trust decisions.

    \n
    timestamp
    \n

    A token or packet of information that is used to provide assurance of timeliness; the timestamp contains timestamped data, including a time, and a signature generated by a trusted timestamp authority (TTA).

    \n
    timestamp
    \n

    A token or packet of information that is used to provide assurance of timeliness; the timestamp contains timestamped data, including a time, and a signature generated by a trusted timestamp authority (TTA).

    \n
    TLS
    \n

    See: Transport Layer Security.

    \n
    ToIP application
    \n

    A trust application that runs at ToIP Layer 4, the trust application layer.

    \n
    ToIP application
    \n

    A trust application that runs at ToIP Layer 4, the trust application layer.

    \n
    ToIP channel
    \n

    See: ToiP relationship.

    \n
    ToIP channel
    \n

    See: ToiP relationship.

    \n
    ToIP communication
    \n

    Communication that uses the ToIP stack to deliver ToIP messages between ToIP endpoints, optionally using ToIP intermediaries to provide authenticity, confidentiality, and correlation privacy.

    \n
    ToIP communication
    \n

    Communication that uses the ToIP stack to deliver ToIP messages between ToIP endpoints, optionally using ToIP intermediaries to provide authenticity, confidentiality, and correlation privacy.

    \n
    ToIP connection
    \n

    See: ToIP relationship.

    \n
    ToIP connection
    \n

    See: ToIP relationship.

    \n
    ToIP controller
    \n

    The controller of a verifiable identifier (VID) used with the ToIP stack.

    \n
    ToIP controller
    \n

    The controller of a verifiable identifier (VID) used with the ToIP stack.

    \n
    ToIP endpoint
    \n

    An endpoint that communicates via the ToIP Trust Spanning Protocol (TSP) as described in the ToIP Technology Architecture Specification.

    \n
    ToIP endpoint
    \n

    An endpoint that communicates via the ToIP Trust Spanning Protocol (TSP) as described in the ToIP Technology Architecture Specification.

    \n
    ToIP Foundation
    \n

    A non-profit project of the Linux Foundation chartered to define an overall architecture for decentralized digital trust infrastructure known as the ToIP stack.

    \n
    ToIP Governance Architecture Specification
    \n

    The specification defining the requirements for the ToIP Governance Stack published by the ToIP Foundation.

    \n
    ToIP governance framework
    \n

    A governance framework that conforms to the requirements of the ToIP Governance Architecture Specification.

    \n
    ToIP governance framework
    \n

    A governance framework that conforms to the requirements of the ToIP Governance Architecture Specification.

    \n
    ToIP Governance Metamodel
    \n

    A structural model for governance frameworks that specifies the recommended governance documents that should be included depending on the objectives of the trust community.

    \n
    ToIP Governance Stack
    \n

    The governance half of the four layer ToIP stack as defined by the ToIP Governance Architecture Specification.

    \n
    ToIP identifier
    \n

    A verifiable identifier (VID) for an entity that is addressable using the ToIP stack.

    \n
    ToIP identifier
    \n

    A verifiable identifier (VID) for an entity that is addressable using the ToIP stack.

    \n
    ToIP intermediary
    \n

    See: intermediary system.

    \n
    ToIP intermediary
    \n

    See: intermediary system.

    \n
    ToIP Layer 1
    \n

    The trust support layer of the ToIP stack, responsible for supporting the trust spanning protocol at ToIP Layer 2.

    \n
    ToIP Layer 2
    \n

    The trust spanning layer of the ToIP stack, responsible for enabling trust task protocols at ToIP Layer 3.

    \n
    ToIP Layer 3
    \n

    The trust task layer of the ToIP stack, responsible for enabling trust applications at ToIP Layer 4.

    \n
    ToIP Layer 4
    \n

    The trust application layer of the ToIP stack, where end-users have the direct human experience of using applications that call trust task protocols to engage in trust relationships and make trust decisions using ToIP decentralized digital trust infrastructure.

    \n
    ToIP layer
    \n

    One of four protocol layers in the ToIP stack. The four layers are ToIP Layer 1, ToIP Layer 2, ToIP Layer 3, and ToIP Layer 4.

    \n
    ToIP layer
    \n

    One of four protocol layers in the ToIP stack. The four layers are ToIP Layer 1, ToIP Layer 2, ToIP Layer 3, and ToIP Layer 4.

    \n
    ToIP message
    \n

    A message communicated between ToIP endpoints using the ToIP stack. ToIP messages are transmitted over the ToIP Trust Spanning Protocol (TSP) at Layer 2 of the ToIP stack.

    \n
    ToIP message
    \n

    A message communicated between ToIP endpoints using the ToIP stack. ToIP messages are transmitted over the ToIP Trust Spanning Protocol (TSP) at Layer 2 of the ToIP stack.

    \n
    ToIP relationship
    \n

    A VID-to-VID relationship formed between two entities over the ToIP Trust Spanning Protocol.

    \n
    ToIP specification
    \n

    A specification published by the ToIP Foundation. ToIP specifications may be in one of three states: Draft Deliverable, Working Group Approved Deliverable, or ToIP Approved Deliverable.

    \n
    ToIP specification
    \n

    A specification published by the ToIP Foundation. ToIP specifications may be in one of three states: Draft Deliverable, Working Group Approved Deliverable, or ToIP Approved Deliverable.

    \n
    ToIP stack
    \n

    The layered architecture for decentralized digital trust infrastructure defined by the ToIP Foundation. The ToIP stack is a dual stack consisting of two halves: the ToIP Technology Stack and the ToIP Governance Stack. The four layers in the ToIP stack are ToIP Layer 1, ToIP Layer 2, ToIP Layer 3, and ToIP Layer 4.

    \n
    ToIP stack
    \n

    The layered architecture for decentralized digital trust infrastructure defined by the ToIP Foundation. The ToIP stack is a dual stack consisting of two halves: the ToIP Technology Stack and the ToIP Governance Stack. The four layers in the ToIP stack are ToIP Layer 1, ToIP Layer 2, ToIP Layer 3, and ToIP Layer 4.

    \n
    ToIP system
    \n

    A computing system that participates in the ToIP Technology Stack. There are three types of ToIP systems: endpoint systems, intermediary systems, and supporting systems.

    \n
    ToIP system
    \n

    A computing system that participates in the ToIP Technology Stack. There are three types of ToIP systems: endpoint systems, intermediary systems, and supporting systems.

    \n
    ToIP Technology Architecture Specification
    \n

    The technical specification defining the requirements for the ToIP Technology Stack published by the ToIP Foundation.

    \n
    ToIP Technology Stack
    \n

    The technology half of the four layer ToIP stack as defined by the ToIP Technology Architecture Specification.

    \n
    ToIP trust community
    \n

    A trust community governed by a ToIP governance framework.

    \n
    ToIP trust network
    \n

    A trust network implemented using the ToIP stack.

    \n
    ToIP trust network
    \n

    A trust network implemented using the ToIP stack.

    \n
    ToIP Trust Registry Protocol
    \n

    The open standard trust task protocol defined by the ToIP Foundation to perform the trust task of querying a trust registry. The ToIP Trust Registry Protocol operates at Layer 3 of the ToIP stack.

    \n
    ToIP Trust Spanning Protocol
    \n

    The ToIP Trust Spanning Protocol (TSP) is the ToIP Layer 2 protocol for verifiable messaging that implements the trust spanning layer of the ToIP stack.  The TSP enables actors in different digital trust domains to interact in a similar way to how the Internet Protocol (IP) enables devices on different local area networks to exchange data.

    \n
    ToIP Trust Spanning Protocol
    \n

    The ToIP Trust Spanning Protocol (TSP) is the ToIP Layer 2 protocol for verifiable messaging that implements the trust spanning layer of the ToIP stack.  The TSP enables actors in different digital trust domains to interact in a similar way to how the Internet Protocol (IP) enables devices on different local area networks to exchange data.

    \n
    ToIP
    \n

    See: Trust Over IP

    \n
    transaction
    \n

    A discrete event between a user and a system that supports a business or programmatic purpose. A digital system may have multiple categories or types of transactions, which may require separate analysis within the overall digital identity risk assessment.

    \n
    transaction
    \n

    A discrete event between a user and a system that supports a business or programmatic purpose. A digital system may have multiple categories or types of transactions, which may require separate analysis within the overall digital identity risk assessment.

    \n
    transferable-identifier
    \n

    Control over the identifier transferable by rotation.

    \n
    transferable-identifier
    \n

    Control over the identifier transferable by rotation.

    \n
    transferable
    \n

    Capable of being transferred or conveyed from one place or person to another. Place can be its and bits.

    \n
    transferable
    \n

    Capable of being transferred or conveyed from one place or person to another. Place can be its and bits.

    \n
    transitive trust decision
    \n

    A trust decision made by a first party about a second party or another entity based on information about the second party or the other entity that is obtained from one or more third parties.

    \n
    transitive trust decision
    \n

    A trust decision made by a first party about a second party or another entity based on information about the second party or the other entity that is obtained from one or more third parties.

    \n
    Transmission Control Protocol
    \n

    No custom content found for toip2:Transmission Control Protocol

    \n
    Transport Layer Security
    \n

    Transport Layer Security (TLS) is a cryptographic protocol designed to provide communications security over a computer network. The protocol is widely used in applications such as email, instant messaging, and Voice over IP, but its use in securing HTTPS remains the most publicly visible. The TLS protocol aims primarily to provide security, including privacy (confidentiality), integrity, and authenticity through the use of cryptography, such as the use of certificates, between two or more communicating computer applications.

    \n
    transport layer
    \n

    Layer of the TCP/IP protocol stack that is responsible for reliable connection-oriented or connectionless end-to-end communications.

    \n
    tribal knowledge
    \n

    Knowledge that is known within an “in-group” of people but unknown outside of it. A tribe, in this sense, is a group of people that share such a common knowledge.

    \n
    trust anchor
    \n

    The authoritative source that serves as the origin of a trust chain.

    \n
    trust anchor
    \n

    The authoritative source that serves as the origin of a trust chain.

    \n
    trust application layer
    \n

    In the context of the ToIP stack, the trust application layer is ToIP Layer 4. Applications running at this layer call trust task protocols at ToIP Layer 3.

    \n
    trust application
    \n

    An application that runs at ToIP Layer 4 in order to perform trust tasks or engage in other verifiable messaging using the ToIP stack.

    \n
    trust application
    \n

    An application that runs at ToIP Layer 4 in order to perform trust tasks or engage in other verifiable messaging using the ToIP stack.

    \n
    trust assurance
    \n

    A process that provides a level of assurance sufficient to make a particular trust decision.

    \n
    trust assurance
    \n

    A process that provides a level of assurance sufficient to make a particular trust decision.

    \n
    trust basis
    \n

    The properties of a verifiable identifier (VID) or a ToIP system that enable a party to appraise it to determine a trust limit.

    \n
    trust boundary
    \n

    The border of a trust domain.

    \n
    trust boundary
    \n

    The border of a trust domain.

    \n
    trust chain
    \n

    A set of cryptographically verifiable links between digital credentials or other data containers that enable transitive trust decisions.

    \n
    trust chain
    \n

    A set of cryptographically verifiable links between digital credentials or other data containers that enable transitive trust decisions.

    \n
    trust community
    \n

    A set of parties who collaborate to achieve a mutual set of trust objectives.

    \n
    trust community
    \n

    A set of parties who collaborate to achieve a mutual set of trust objectives.

    \n
    trust context
    \n

    The context in which a specific party makes a specific trust decision. Many different factors may be involved in establishing a trust context, such as: the relevant interaction or transaction; the presence or absence of existing trust relationships; the applicability of one or more governance frameworks; and the location, time, network, and/or devices involved. A trust context may be implicit or explicit; if explicit, it may be identified using an identifier. A ToIP governance framework is an example of an explicit trust context identified by a verifiable identifier (VID).

    \n
    trust context
    \n

    The context in which a specific party makes a specific trust decision. Many different factors may be involved in establishing a trust context, such as: the relevant interaction or transaction; the presence or absence of existing trust relationships; the applicability of one or more governance frameworks; and the location, time, network, and/or devices involved. A trust context may be implicit or explicit; if explicit, it may be identified using an identifier. A ToIP governance framework is an example of an explicit trust context identified by a verifiable identifier (VID).

    \n
    trust decision
    \n

    A decision that a party needs to make about whether to engage in a specific interaction or transaction with another entity that involves real or perceived risks.

    \n
    trust decision
    \n

    A decision that a party needs to make about whether to engage in a specific interaction or transaction with another entity that involves real or perceived risks.

    \n
    trust domain
    \n

    A security domain defined by a computer hardware or software architecture, a security policy, or a trust community, typically via a trust framework or governance framework.

    \n
    trust domain
    \n

    A security domain defined by a computer hardware or software architecture, a security policy, or a trust community, typically via a trust framework or governance framework.

    \n
    trust ecosystem
    \n

    See digital trust ecosystem.

    \n
    trust ecosystem
    \n

    See digital trust ecosystem.

    \n
    trust establishment
    \n

    The process two or more parties go through to establish a trust relationship. In the context of decentralized digital trust infrastructure, trust establishment takes place at two levels. At the technical trust level, it includes some form of key establishment. At the human trust level, it may be accomplished via an out-of-band introduction, the exchange of digital credentials, queries to one or more trust registries, or evaluation of some combination of human-readable and machine-readable governance frameworks.

    \n
    trust factor
    \n

    A property, relationship, or other signal that can contribute to a party making a trust decision.

    \n
    trust factor
    \n

    A property, relationship, or other signal that can contribute to a party making a trust decision.

    \n
    trust framework
    \n

    A term (most frequently used in the digital identity industry) to describe a governance framework for a digital identity system, especially a federation.

    \n
    trust framework
    \n

    A term (most frequently used in the digital identity industry) to describe a governance framework for a digital identity system, especially a federation.

    \n
    trust graph
    \n

    A data structure describing the trust relationship between two or more entities. A simple trust graph may be expressed as a trust list. More complex trust graphs can be recorded or registered in and queried from a trust registry. Trust graphs can also be expressed using trust chains and chained credentials. Trust graphs can enable verifiers and relying parties to make transitive trust decisions.

    \n
    trust graph
    \n

    A data structure describing the trust relationship between two or more entities. A simple trust graph may be expressed as a trust list. More complex trust graphs can be recorded or registered in and queried from a trust registry. Trust graphs can also be expressed using trust chains and chained credentials. Trust graphs can enable verifiers and relying parties to make transitive trust decisions.

    \n
    trust limit
    \n

    A limit to the degree a party is willing to trust an entity in a specific trust relationship within a specific trust context.

    \n
    trust limit
    \n

    A limit to the degree a party is willing to trust an entity in a specific trust relationship within a specific trust context.

    \n
    trust list
    \n

    A one-dimensional trust graph in which an authoritative source publishes a list of entities that are trusted in a specific trust context. A trust list can be considered a simplified form of a trust registry.

    \n
    trust list
    \n

    A one-dimensional trust graph in which an authoritative source publishes a list of entities that are trusted in a specific trust context. A trust list can be considered a simplified form of a trust registry.

    \n
    trust network
    \n

    A network of parties who are connected via trust relationships (such as via a membership agreement) conforming to requirements defined in a legal regulation, trust framework or governance framework. A trust network is more formal than a digital trust ecosystem; the latter may connect parties more loosely via transitive trust relationships and/or across multiple trust networks.

    \n
    trust network
    \n

    A network of parties who are connected via trust relationships (such as via a membership agreement) conforming to requirements defined in a legal regulation, trust framework or governance framework. A trust network is more formal than a digital trust ecosystem; the latter may connect parties more loosely via transitive trust relationships and/or across multiple trust networks.

    \n
    trust objective
    \n

    An objective shared by the parties in a trust community to establish and maintain trust relationships.

    \n
    trust objective
    \n

    An objective shared by the parties in a trust community to establish and maintain trust relationships.

    \n
    Trust over IP
    \n

    A term coined by John Jordan to describe the decentralized digital trust infrastructure made possible by the ToIP stack. A play on the term Voice over IP (abbreviated VoIP). The term was adopted as the name for the Trust over IP Foundation aka ToIP Foundation.

    \n
    trust registry protocol
    \n

    See: ToIP Trust Registry Protocol.

    \n
    trust registry
    \n

    A registry that serves as an authoritative source for trust graphs or other governed information describing one or more trust communities. A trust registry is typically authorized by a governance framework.

    \n
    trust registry
    \n

    A registry that serves as an authoritative source for trust graphs or other governed information describing one or more trust communities. A trust registry is typically authorized by a governance framework.

    \n
    trust relationship
    \n

    A relationship between a party and an entity in which the party has decided to trust the entity in one or more trust contexts up to a trust limit.

    \n
    trust relationship
    \n

    A relationship between a party and an entity in which the party has decided to trust the entity in one or more trust contexts up to a trust limit.

    \n
    trust root
    \n

    See: trust anchor

    \n
    trust root
    \n

    See: trust anchor

    \n
    trust service provider
    \n

    In the context of specific digital trust ecosystems, such as the European Union’s eIDAS regulations, a trust service provider is a legal entity that provides specific trust support services as required by legal regulations, trust frameworks, or governance frameworks. In the larger context of ToIP infrastructure, a trust service provider is a provider of services based on the ToIP stack. Most generally, a trust service provider is to the trust layer for the Internet what an Internet service provider (ISP) is to the Internet layer.

    \n
    trust service provider
    \n

    In the context of specific digital trust ecosystems, such as the European Union’s eIDAS regulations, a trust service provider is a legal entity that provides specific trust support services as required by legal regulations, trust frameworks, or governance frameworks. In the larger context of ToIP infrastructure, a trust service provider is a provider of services based on the ToIP stack. Most generally, a trust service provider is to the trust layer for the Internet what an Internet service provider (ISP) is to the Internet layer.

    \n
    trust spanning layer
    \n

    A spanning layer designed to span between different digital trust domains. In the ToIP stack, the trust spanning layer is ToIP Layer 2.

    \n
    trust spanning protocol
    \n

    See: ToIP Trust Spanning Protocol.

    \n
    trust support layer
    \n

    In the context of the ToIP stack, the trust support layer is ToIP Layer 1. It supports the operations of the ToIP Trust Spanning Protocol at ToIP Layer 2.

    \n
    trust support
    \n

    A system, protocol, or other infrastructure whose function is to facilitate the establishment and maintenance of trust relationships at higher protocol layers. In the ToIP stack, the trust support layer is Layer 1.

    \n
    trust support
    \n

    A system, protocol, or other infrastructure whose function is to facilitate the establishment and maintenance of trust relationships at higher protocol layers. In the ToIP stack, the trust support layer is Layer 1.

    \n
    trust task layer
    \n

    In the context of the ToIP stack, the trust task layer is ToIP Layer 3. It supports trust applications operating at ToIP Layer 4.

    \n
    trust task protocol
    \n

    A ToIP Layer 3 protocol that implements a specific trust task on behalf of a trust application operating at ToIP Layer 4.

    \n
    trust task protocol
    \n

    A ToIP Layer 3 protocol that implements a specific trust task on behalf of a trust application operating at ToIP Layer 4.

    \n
    trust task
    \n

    A specific task that involves establishing, verifying, or maintaining trust relationships or exchanging verifiable messages or verifiable data that can be performed on behalf of a trust application by a trust task protocol at Layer 3 of the ToIP stack.

    \n
    trust task
    \n

    A specific task that involves establishing, verifying, or maintaining trust relationships or exchanging verifiable messages or verifiable data that can be performed on behalf of a trust application by a trust task protocol at Layer 3 of the ToIP stack.

    \n
    trust triangle
    \n

    See: three-party model.

    \n
    trust triangle
    \n

    See: three-party model.

    \n
    trust
    \n

    A belief that an entity will behave in a predictable manner in specified circumstances. The entity may be a person, process, object or any combination of such components. The entity can be of any size from a single hardware component or software module, to a piece of equipment identified by make and model, to a site or location, to an organization, to a nation-state. Trust, while inherently a subjective determination, can be based on objective evidence and subjective elements. The objective grounds for trust can include for example, the results of information technology product testing and evaluation. Subjective belief, level of comfort, and experience may supplement (or even replace) objective evidence, or substitute for such evidence when it is unavailable. Trust is usually relative to a specific circumstance or situation (e.g., the amount of money involved in a transaction, the sensitivity or criticality of information, or whether safety is an issue with human lives at stake). Trust is generally not transitive (e.g., you trust a friend but not necessarily a friend of a friend). Finally, trust is generally earned, based on experience or measurement.

    \n
    trust
    \n

    A belief that an entity will behave in a predictable manner in specified circumstances. The entity may be a person, process, object or any combination of such components. The entity can be of any size from a single hardware component or software module, to a piece of equipment identified by make and model, to a site or location, to an organization, to a nation-state. Trust, while inherently a subjective determination, can be based on objective evidence and subjective elements. The objective grounds for trust can include for example, the results of information technology product testing and evaluation. Subjective belief, level of comfort, and experience may supplement (or even replace) objective evidence, or substitute for such evidence when it is unavailable. Trust is usually relative to a specific circumstance or situation (e.g., the amount of money involved in a transaction, the sensitivity or criticality of information, or whether safety is an issue with human lives at stake). Trust is generally not transitive (e.g., you trust a friend but not necessarily a friend of a friend). Finally, trust is generally earned, based on experience or measurement.

    \n
    trust
    \n

    A belief that an entity will behave in a predictable manner in specified circumstances. The entity may be a person, process, object or any combination of such components. The entity can be of any size from a single hardware component or software module, to a piece of equipment identified by make and model, to a site or location, to an organization, to a nation-state. Trust, while inherently a subjective determination, can be based on objective evidence and subjective elements. The objective grounds for trust can include for example, the results of information technology product testing and evaluation. Subjective belief, level of comfort, and experience may supplement (or even replace) objective evidence, or substitute for such evidence when it is unavailable. Trust is usually relative to a specific circumstance or situation (e.g., the amount of money involved in a transaction, the sensitivity or criticality of information, or whether safety is an issue with human lives at stake). Trust is generally not transitive (e.g., you trust a friend but not necessarily a friend of a friend). Finally, trust is generally earned, based on experience or measurement.

    \n
    trusted execution environment
    \n

    A trusted execution environment (TEE) is a secure area of a main processor. It helps code and data loaded inside it to be protected with respect to confidentiality and integrity. Data integrity prevents unauthorized entities from outside the TEE from altering data, while code integrity prevents code in the TEE from being replaced or modified by unauthorized entities, which may also be the computer owner itself as in certain DRM schemes.

    \n
    trusted execution environment
    \n

    A trusted execution environment (TEE) is a secure area of a main processor. It helps code and data loaded inside it to be protected with respect to confidentiality and integrity. Data integrity prevents unauthorized entities from outside the TEE from altering data, while code integrity prevents code in the TEE from being replaced or modified by unauthorized entities, which may also be the computer owner itself as in certain DRM schemes.

    \n
    trusted execution environment
    \n

    A trusted execution environment (TEE) is a secure area of a main processor. It helps code and data loaded inside it to be protected with respect to confidentiality and integrity. Data integrity prevents unauthorized entities from outside the TEE from altering data, while code integrity prevents code in the TEE from being replaced or modified by unauthorized entities, which may also be the computer owner itself as in certain DRM schemes.

    \n
    trusted execution environment
    \n

    A trusted execution environment (TEE) is a secure area of a main processor. It helps code and data loaded inside it to be protected with respect to confidentiality and integrity. Data integrity prevents unauthorized entities from outside the TEE from altering data, while code integrity prevents code in the TEE from being replaced or modified by unauthorized entities, which may also be the computer owner itself as in certain DRM schemes.

    \n
    trusted role
    \n

    A role that performs restricted activities for an organization after meeting competence, security and background verification requirements for that role.

    \n
    trusted role
    \n

    A role that performs restricted activities for an organization after meeting competence, security and background verification requirements for that role.

    \n
    trusted third party
    \n

    In cryptography, a trusted third party (TTP) is an entity which facilitates interactions between two parties who both trust the third party; the third party reviews all critical transaction communications between the parties, based on the ease of creating fraudulent digital content. In TTP models, the relying parties use this trust to secure their own interactions. TTPs are common in any number of commercial transactions and in cryptographic digital transactions as well as cryptographic protocols, for example, a certificate authority (CA) would issue a digital certificate to one of two parties. The CA then becomes the TTP to that certificate’s issuance. Likewise transactions that need a third party recordation would also need a third-party repository service of some kind.

    \n
    trusted third party
    \n

    In cryptography, a trusted third party (TTP) is an entity which facilitates interactions between two parties who both trust the third party; the third party reviews all critical transaction communications between the parties, based on the ease of creating fraudulent digital content. In TTP models, the relying parties use this trust to secure their own interactions. TTPs are common in any number of commercial transactions and in cryptographic digital transactions as well as cryptographic protocols, for example, a certificate authority (CA) would issue a digital certificate to one of two parties. The CA then becomes the TTP to that certificate’s issuance. Likewise transactions that need a third party recordation would also need a third-party repository service of some kind.

    \n
    trusted third party
    \n

    In cryptography, a trusted third party (TTP) is an entity which facilitates interactions between two parties who both trust the third party; the third party reviews all critical transaction communications between the parties, based on the ease of creating fraudulent digital content. In TTP models, the relying parties use this trust to secure their own interactions. TTPs are common in any number of commercial transactions and in cryptographic digital transactions as well as cryptographic protocols, for example, a certificate authority (CA) would issue a digital certificate to one of two parties. The CA then becomes the TTP to that certificate’s issuance. Likewise transactions that need a third party recordation would also need a third-party repository service of some kind.

    \n
    trusted third party
    \n

    In cryptography, a trusted third party (TTP) is an entity which facilitates interactions between two parties who both trust the third party; the third party reviews all critical transaction communications between the parties, based on the ease of creating fraudulent digital content. In TTP models, the relying parties use this trust to secure their own interactions. TTPs are common in any number of commercial transactions and in cryptographic digital transactions as well as cryptographic protocols, for example, a certificate authority (CA) would issue a digital certificate to one of two parties. The CA then becomes the TTP to that certificate’s issuance. Likewise transactions that need a third party recordation would also need a third-party repository service of some kind.

    \n
    trusted third party
    \n

    In cryptography, a trusted third party (TTP) is an entity which facilitates interactions between two parties who both trust the third party; the third party reviews all critical transaction communications between the parties, based on the ease of creating fraudulent digital content. In TTP models, the relying parties use this trust to secure their own interactions. TTPs are common in any number of commercial transactions and in cryptographic digital transactions as well as cryptographic protocols, for example, a certificate authority (CA) would issue a digital certificate to one of two parties. The CA then becomes the TTP to that certificate’s issuance. Likewise transactions that need a third party recordation would also need a third-party repository service of some kind.

    \n
    trusted third party
    \n

    In cryptography, a trusted third party (TTP) is an entity which facilitates interactions between two parties who both trust the third party; the third party reviews all critical transaction communications between the parties, based on the ease of creating fraudulent digital content. In TTP models, the relying parties use this trust to secure their own interactions. TTPs are common in any number of commercial transactions and in cryptographic digital transactions as well as cryptographic protocols, for example, a certificate authority (CA) would issue a digital certificate to one of two parties. The CA then becomes the TTP to that certificate’s issuance. Likewise transactions that need a third party recordation would also need a third-party repository service of some kind.

    \n
    trusted timestamp authority
    \n

    An authority that is trusted to provide accurate time information in the form of a timestamp.

    \n
    trusted timestamp authority
    \n

    An authority that is trusted to provide accurate time information in the form of a timestamp.

    \n
    trusted timestamp authority
    \n

    An authority that is trusted to provide accurate time information in the form of a timestamp.

    \n
    trusted timestamp authority
    \n

    An authority that is trusted to provide accurate time information in the form of a timestamp.

    \n
    trustworthiness
    \n

    An attribute of an entity, such as a person or organization, that provides confidence to others of the qualifications, capabilities, and reliability of that entity to perform specific tasks and fulfill assigned responsibilities. Trustworthiness is also a characteristic of information technology products and systems. The attribute of trustworthiness, whether applied to people, processes, or technologies, can be measured, at least in relative terms if not quantitatively. The determination of trustworthiness plays a key role in establishing trust relationships among persons and organizations. The trust relationships are key factors in risk decisions made by senior leaders/executives.

    \n
    trustworthy
    \n

    A property of an entity that has the attribute of trustworthiness.

    \n
    TSP
    \n

    See: ToIP Trust Spanning Protocol.

    \n
    TTA
    \n

    See: trusted timestamp authority.

    \n
    TTP
    \n

    See: trusted third party.

    \n
    UDP
    \n

    See: User Datagram Protocol.

    \n
    unicast address
    \n

    A network address used for a unicast.

    \n
    unicast address
    \n

    A network address used for a unicast.

    \n
    unicast
    \n

    In computer networking, unicast is a one-to-one transmission from one point in the network to another point; that is, one sender and one receiver, each identified by a network address (a unicast address). Unicast is in contrast to multicast and broadcast which are one-to-many transmissions. Internet Protocol unicast delivery methods such as Transmission Control Protocol (TCP) and User Datagram Protocol (UDP) are typically used.

    \n
    Uniform Resource Identifier
    \n

    A Uniform Resource Identifier (URI) is the generic standard for all types of identifiers used to link resources in the World Wide Web. The most common type of a URI is a URL (Uniform Resource Locator). The URI standard is defined by IETF RFC 3986. URNs (Uniform Resource Names) are another type of URIs intended for persistent identifiers.

    \n
    Uniform Resource Identifier
    \n

    A Uniform Resource Identifier (URI) is the generic standard for all types of identifiers used to link resources in the World Wide Web. The most common type of a URI is a URL (Uniform Resource Locator). The URI standard is defined by IETF RFC 3986. URNs (Uniform Resource Names) are another type of URIs intended for persistent identifiers.

    \n
    Uniform Resource Identifier
    \n

    A Uniform Resource Identifier (URI) is the generic standard for all types of identifiers used to link resources in the World Wide Web. The most common type of a URI is a URL (Uniform Resource Locator). The URI standard is defined by IETF RFC 3986. URNs (Uniform Resource Names) are another type of URIs intended for persistent identifiers.

    \n
    Uniform Resource Identifier
    \n

    A Uniform Resource Identifier (URI) is the generic standard for all types of identifiers used to link resources in the World Wide Web. The most common type of a URI is a URL (Uniform Resource Locator). The URI standard is defined by IETF RFC 3986. URNs (Uniform Resource Names) are another type of URIs intended for persistent identifiers.

    \n
    Uniform Resource Locator
    \n

    A Uniform Resource Locator (URL) is the standard form of a Web address used to link resources in browsers and other Internet applications. Technically, it is a specific type of Uniform Resource Identifier (URI).

    \n
    Uniform Resource Locator
    \n

    A Uniform Resource Locator (URL) is the standard form of a Web address used to link resources in browsers and other Internet applications. Technically, it is a specific type of Uniform Resource Identifier (URI).

    \n
    Uniform Resource Locator
    \n

    A Uniform Resource Locator (URL) is the standard form of a Web address used to link resources in browsers and other Internet applications. Technically, it is a specific type of Uniform Resource Identifier (URI).

    \n
    Uniform Resource Locator
    \n

    A Uniform Resource Locator (URL) is the standard form of a Web address used to link resources in browsers and other Internet applications. Technically, it is a specific type of Uniform Resource Identifier (URI).

    \n
    Uniform Resource Name
    \n

    A Uniform Resource Name (URN) is a type of URI (Uniform Resource Identifier) designed for persistent identifiers that are intended to be assigned once to a resource and never changed to identify a different resource. In some cases a URN is also intended to serve as a persistent way to locate the identified resource over time even as it moves locations on the network. The URN standard is defined by IETF RFC 8141.

    \n
    Uniform Resource Name
    \n

    A Uniform Resource Name (URN) is a type of URI (Uniform Resource Identifier) designed for persistent identifiers that are intended to be assigned once to a resource and never changed to identify a different resource. In some cases a URN is also intended to serve as a persistent way to locate the identified resource over time even as it moves locations on the network. The URN standard is defined by IETF RFC 8141.

    \n
    Uniform Resource Name
    \n

    A Uniform Resource Name (URN) is a type of URI (Uniform Resource Identifier) designed for persistent identifiers that are intended to be assigned once to a resource and never changed to identify a different resource. In some cases a URN is also intended to serve as a persistent way to locate the identified resource over time even as it moves locations on the network. The URN standard is defined by IETF RFC 8141.

    \n
    Uniform Resource Name
    \n

    A Uniform Resource Name (URN) is a type of URI (Uniform Resource Identifier) designed for persistent identifiers that are intended to be assigned once to a resource and never changed to identify a different resource. In some cases a URN is also intended to serve as a persistent way to locate the identified resource over time even as it moves locations on the network. The URN standard is defined by IETF RFC 8141.

    \n
    URI
    \n

    See: Uniform Resource Identifier.

    \n
    URL
    \n

    See: Uniform Resource Locator.

    \n
    URN
    \n

    See: Uniform Resource Name.

    \n
    user agent
    \n

    A software agent that is used directly by the end-user as the principal. Browsers, email clients, and digital wallets are all examples of user agents.

    \n
    user agent
    \n

    A software agent that is used directly by the end-user as the principal. Browsers, email clients, and digital wallets are all examples of user agents.

    \n
    User Datagram Protocol
    \n

    In computer networking, the User Datagram Protocol (UDP) is one of the core communication protocols of the Internet protocol suite used to send messages (transported as datagrams in packets) to other hosts on an Internet Protocol (IP) network. Within an IP network, UDP does not require prior communication to set up communication channels or data paths.

    \n
    utility governance framework
    \n

    A governance framework for a digital trust utility. A utility governance framework may be a component of or referenced by an ecosystem governance framework or a credential governance framework.

    \n
    utility governance framework
    \n

    A governance framework for a digital trust utility. A utility governance framework may be a component of or referenced by an ecosystem governance framework or a credential governance framework.

    \n
    validation
    \n

    An action an agent (of a principal) performs to determine whether a digital object or set of data meets the requirements of a specific party.

    \n
    validation
    \n

    An action an agent (of a principal) performs to determine whether a digital object or set of data meets the requirements of a specific party.

    \n
    vault
    \n

    See: digital vault.

    \n
    vault
    \n

    See: digital vault.

    \n
    VC
    \n

    See: verifiable credential.

    \n
    verifiable credential
    \n

    A standard data model and representation format for cryptographically-verifiable digital credentials as defined by the W3C Verifiable Credentials Data Model Specification.

    \n
    verifiable credential
    \n

    A standard data model and representation format for cryptographically-verifiable digital credentials as defined by the W3C Verifiable Credentials Data Model Specification.

    \n
    verifiable credential
    \n

    A standard data model and representation format for cryptographically-verifiable digital credentials as defined by the W3C Verifiable Credentials Data Model Specification.

    \n
    verifiable credential
    \n

    A standard data model and representation format for cryptographically-verifiable digital credentials as defined by the W3C Verifiable Credentials Data Model Specification.

    \n
    verifiable data registry
    \n

    A registry that facilitates the creation, verification, updating, and/or deactivation of decentralized identifiers and DID documents. A verifiable data registry may also be used for other cryptographically-verifiable data structures such as verifiable credentials.

    \n
    verifiable data registry
    \n

    A registry that facilitates the creation, verification, updating, and/or deactivation of decentralized identifiers and DID documents. A verifiable data registry may also be used for other cryptographically-verifiable data structures such as verifiable credentials.

    \n
    verifiable data registry
    \n

    A registry that facilitates the creation, verification, updating, and/or deactivation of decentralized identifiers and DID documents. A verifiable data registry may also be used for other cryptographically-verifiable data structures such as verifiable credentials.

    \n
    verifiable data registry
    \n

    A registry that facilitates the creation, verification, updating, and/or deactivation of decentralized identifiers and DID documents. A verifiable data registry may also be used for other cryptographically-verifiable data structures such as verifiable credentials.

    \n
    verifiable data
    \n

    Any digital data or object that is digitally signed in such a manner that it can be cryptographically verified.

    \n
    verifiable identifier
    \n

    An identifier over which the controller can provide cryptographic proof of control. Each type of VID defines a specific means for discovering the public key, network endpoints, or other metadata necessary to prove control. Decentralized identifiers (DIDs) are a W3C standard for VIDs. VIDs are the cryptographically verifiable identifiers used in the ToIP stack.

    \n
    verifiable identifier
    \n

    An identifier over which the controller can provide cryptographic proof of control. Each type of VID defines a specific means for discovering the public key, network endpoints, or other metadata necessary to prove control. Decentralized identifiers (DIDs) are a W3C standard for VIDs. VIDs are the cryptographically verifiable identifiers used in the ToIP stack.

    \n
    verifiable identifier
    \n

    An identifier over which the controller can provide cryptographic proof of control. Each type of VID defines a specific means for discovering the public key, network endpoints, or other metadata necessary to prove control. Decentralized identifiers (DIDs) are a W3C standard for VIDs. VIDs are the cryptographically verifiable identifiers used in the ToIP stack.

    \n
    verifiable identifier
    \n

    An identifier over which the controller can provide cryptographic proof of control. Each type of VID defines a specific means for discovering the public key, network endpoints, or other metadata necessary to prove control. Decentralized identifiers (DIDs) are a W3C standard for VIDs. VIDs are the cryptographically verifiable identifiers used in the ToIP stack.

    \n
    verifiable message
    \n

    A message communicated as verifiable data by virtue of being digitally signed.

    \n
    verifiable message
    \n

    A message communicated as verifiable data by virtue of being digitally signed.

    \n
    verifiable message
    \n

    A message communicated as verifiable data by virtue of being digitally signed.

    \n
    verifiable
    \n

    In the context of digital communications infrastructure, the ability to determine the authenticity of a communication (e.g., sender, contents, claims, metadata, provenance), or the underlying sociotechnical infrastructure (e.g., governance, roles, policies, authorizations, certifications).

    \n
    verifiable
    \n

    In the context of digital communications infrastructure, the ability to determine the authenticity of a communication (e.g., sender, contents, claims, metadata, provenance), or the underlying sociotechnical infrastructure (e.g., governance, roles, policies, authorizations, certifications).

    \n
    verification
    \n

    An action an agent (of a principal) performs to determine the authenticity of a claim or other data object. Cryptographic verification uses cryptographic keys.

    \n
    verification
    \n

    An action an agent (of a principal) performs to determine the authenticity of a claim or other data object. Cryptographic verification uses cryptographic keys.

    \n
    verification
    \n

    An action an agent (of a principal) performs to determine the authenticity of a claim or other data object. Cryptographic verification uses cryptographic keys.

    \n
    verification
    \n

    An action an agent (of a principal) performs to determine the authenticity of a claim or other data object. Cryptographic verification uses cryptographic keys.

    \n
    verification
    \n

    An action an agent (of a principal) performs to determine the authenticity of a claim or other data object. Cryptographic verification uses cryptographic keys.

    \n
    verifier
    \n

    A role an agent performs to perform verification of one or more proofs of the claims in a digital credential or other verifiable data.

    \n
    verifier
    \n

    A role an agent performs to perform verification of one or more proofs of the claims in a digital credential or other verifiable data.

    \n
    VID relationship
    \n

    The communications relationship formed between two VIDs using the ToIP Trust Spanning Protocol. A particular feature of this protocol is its ability to establish as many VID relationships as needed to establish different relationship contexts between the communicating entities.

    \n
    VID relationship
    \n

    The communications relationship formed between two VIDs using the ToIP Trust Spanning Protocol. A particular feature of this protocol is its ability to establish as many VID relationships as needed to establish different relationship contexts between the communicating entities.

    \n
    VID-to-VID
    \n

    The specialized type of peer-to-peer communications enabled by the ToIP Trust Spanning Protocol. Each pair of VIDs creates a unique VID relationship.

    \n
    VID-to-VID
    \n

    The specialized type of peer-to-peer communications enabled by the ToIP Trust Spanning Protocol. Each pair of VIDs creates a unique VID relationship.

    \n
    VID
    \n

    See ​​verifiable identifier.

    \n
    virtual-credential
    \n

    No custom content found for keri1:virtual-credential

    \n
    virtual vault
    \n

    A digital vault enclosed inside another digital vault by virtue of having its own verifiable identifier (VID) and its own set of encryption keys that are separate from those used to unlock the enclosing vault.

    \n
    virtual vault
    \n

    A digital vault enclosed inside another digital vault by virtue of having its own verifiable identifier (VID) and its own set of encryption keys that are separate from those used to unlock the enclosing vault.

    \n
    Voice over IP
    \n

    Voice over Internet Protocol (VoIP), also called IP telephony, is a method and group of technologies for voice calls for the delivery of voice communication sessions over Internet Protocol (IP) networks, such as the Internet.

    \n
    Voice over IP
    \n

    Voice over Internet Protocol (VoIP), also called IP telephony, is a method and group of technologies for voice calls for the delivery of voice communication sessions over Internet Protocol (IP) networks, such as the Internet.

    \n
    VoIP
    \n

    See: Voice over IP.

    \n
    W3C Verifiable Credentials Data Model Specification
    \n

    A W3C Recommendation defining a standard data model and representation format for cryptographically-verifiable digital credentials. Version 1.1 was published on 03 March 2022.

    \n
    wallet engine
    \n

    The set of software components that form the core of a digital wallet, but which by themselves are not sufficient to deliver a fully functional wallet for use by a digital agent (of a principal). A wallet engine is to a digital wallet what a browser engine is to a web browser.

    \n
    wallet engine
    \n

    The set of software components that form the core of a digital wallet, but which by themselves are not sufficient to deliver a fully functional wallet for use by a digital agent (of a principal). A wallet engine is to a digital wallet what a browser engine is to a web browser.

    \n
    wallet
    \n

    See: digital wallet.

    \n
    wallet
    \n

    See: digital wallet.

    \n
    witness
    \n

    A computer system that receives, verifies, and stores proofs of key events for a verifiable identifier (especially an autonomic identifier). Each witness controls its own verifiable identifier used to sign key event messages stored by the witness. A witness may use any suitable computer system or database architecture, including a file, centralized database, distributed database, distributed ledger, or blockchain.

    \n
    witness
    \n

    A computer system that receives, verifies, and stores proofs of key events for a verifiable identifier (especially an autonomic identifier). Each witness controls its own verifiable identifier used to sign key event messages stored by the witness. A witness may use any suitable computer system or database architecture, including a file, centralized database, distributed database, distributed ledger, or blockchain.

    \n
    zero-knowledge proof
    \n

    A specific kind of cryptographic proof that proves facts about data to a verifier without revealing the underlying data itself. A common example is proving that a person is over or under a specific age without revealing the person’s exact birthdate.

    \n
    zero-knowledge proof
    \n

    A specific kind of cryptographic proof that proves facts about data to a verifier without revealing the underlying data itself. A common example is proving that a person is over or under a specific age without revealing the person’s exact birthdate.

    \n
    zero-knowledge proof
    \n

    A specific kind of cryptographic proof that proves facts about data to a verifier without revealing the underlying data itself. A common example is proving that a person is over or under a specific age without revealing the person’s exact birthdate.

    \n
    zero-knowledge proof
    \n

    A specific kind of cryptographic proof that proves facts about data to a verifier without revealing the underlying data itself. A common example is proving that a person is over or under a specific age without revealing the person’s exact birthdate.

    \n
    zero-knowledge service provider
    \n

    The provider of a zero-knowledge service that hosts encrypted data on behalf of the principal but does not have access to the private keys in order to be able to decrypt it.

    \n
    zero-knowledge service provider
    \n

    The provider of a zero-knowledge service that hosts encrypted data on behalf of the principal but does not have access to the private keys in order to be able to decrypt it.

    \n
    zero-knowledge service
    \n

    In cloud computing, the term “zero-knowledge” refers to an online service that stores, transfers or manipulates data in a way that maintains a high level of confidentiality, where the data is only accessible to the data's owner (the client), and not to the service provider. This is achieved by encrypting the raw data at the client’s side or end-to-end (in case there is more than one client), without disclosing the password to the service provider. This means that neither the service provider, nor any third party that might intercept the data, can decrypt and access the data without prior permission, allowing the client a higher degree of privacy than would otherwise be possible. In addition, zero-knowledge services often strive to hold as little metadata as possible, holding only that data that is functionally needed by the service.

    \n
    zero-knowledge service
    \n

    In cloud computing, the term “zero-knowledge” refers to an online service that stores, transfers or manipulates data in a way that maintains a high level of confidentiality, where the data is only accessible to the data's owner (the client), and not to the service provider. This is achieved by encrypting the raw data at the client’s side or end-to-end (in case there is more than one client), without disclosing the password to the service provider. This means that neither the service provider, nor any third party that might intercept the data, can decrypt and access the data without prior permission, allowing the client a higher degree of privacy than would otherwise be possible. In addition, zero-knowledge services often strive to hold as little metadata as possible, holding only that data that is functionally needed by the service.

    \n
    zero-trust architecture
    \n

    A network security architecture based on the core design principle “never trust, always verify”, so that all actors are denied access to resources pending verification.

    \n
    zero-trust architecture
    \n

    A network security architecture based on the core design principle “never trust, always verify”, so that all actors are denied access to resources pending verification.

    \n
    zero-trust architecture
    \n

    A network security architecture based on the core design principle “never trust, always verify”, so that all actors are denied access to resources pending verification.

    \n
    zero-trust architecture
    \n

    A network security architecture based on the core design principle “never trust, always verify”, so that all actors are denied access to resources pending verification.

    \n
    ZKP
    \n

    See: zero-knowledge proof.

    \n
    ","
    DAR
    \n

    designated-authorized-representative

    \n
    DAR
    \n

    designated-authorized-representative

    \n
    ECR
    \n

    engagement-context-role

    \n
    ECR
    \n

    engagement-context-role

    \n
    GAR
    \n

    gleif-authorized-representative

    \n
    GAR
    \n

    gleif-authorized-representative

    \n
    GLEIF
    \n

    Global Legal Entity Identifier Foundation

    \n
    GLEIS
    \n

    Global Legal Entity Identifier System

    \n
    GLEIS
    \n

    Global Legal Entity Identifier System

    \n
    KERI
    \n

    key-event-receipt-infrastructure

    \n
    LEI
    \n

    Legal Entity Identifier(s)

    \n
    LEI
    \n

    Legal Entity Identifier(s)

    \n
    OOR
    \n

    official-organizational-role

    \n
    OOR
    \n

    official-organizational-role

    \n
    QAR
    \n

    qvi-authorized-representative

    \n
    QAR
    \n

    qvi-authorized-representative

    \n
    QVI
    \n

    qualified-vlei-issuer

    \n
    QVI
    \n

    qualified-vlei-issuer

    \n
    active-status
    \n

    A LEI Entity status in the Global LEI System.

    \n
    active-status
    \n

    A LEI Entity status in the Global LEI System.

    \n
    annual-vlei-issuer-qualification
    \n

    A formal annual evaluation process performed by GLEIF to ensure that the Qualified vLEI Issuer continues to meet the requirements of the vLEI Ecosystem Governance Framework.

    \n
    annual-vlei-issuer-qualification
    \n

    A formal annual evaluation process performed by GLEIF to ensure that the Qualified vLEI Issuer continues to meet the requirements of the vLEI Ecosystem Governance Framework.

    \n
    audit-report
    \n

    An audit report provided to the Qualified vLEI Issuer by its internal or

    \n
    audit-report
    \n

    An audit report provided to the Qualified vLEI Issuer by its internal or

    \n
    autonomic-identifier
    \n

    No custom content found for keri1:autonomic-identifier

    \n
    candidate-vlei-issuer
    \n

    An organization that has applied to become a Qualified vLEI Issuer.

    \n
    candidate-vlei-issuer
    \n

    An organization that has applied to become a Qualified vLEI Issuer.

    \n
    Challenge Message
    \n

    A message sent and responded to during the Identity Authentication session.

    \n
    Challenge Message
    \n

    A message sent and responded to during the Identity Authentication session.

    \n
    continuity-policy
    \n

    A policy that GLEIF must have for the survival of control authority of all controllers for the GLEIF Root AID and its Delegated AIDs, including Escrow Controllers and that QVIs and Legal Entities should have for survival of control authority of their Controllers.

    \n
    continuity-policy
    \n

    A policy that GLEIF must have for the survival of control authority of all controllers for the GLEIF Root AID and its Delegated AIDs, including Escrow Controllers and that QVIs and Legal Entities should have for survival of control authority of their Controllers.

    \n
    Controller
    \n

    A controlling entity of an identifier. See the examples Root AID GLEIF Authorized Representative, the Internal Delegated AID GLEIF Authorized Representative and the External Delegated AID GLEIF Authorized Representative in the GLEIF Identifier Governance Framework.

    \n
    Controller
    \n

    A controlling entity of an identifier. See the examples Root AID GLEIF Authorized Representative, the Internal Delegated AID GLEIF Authorized Representative and the External Delegated AID GLEIF Authorized Representative in the GLEIF Identifier Governance Framework.

    \n
    day
    \n

    A business day, provided that a given day only counts as such if it is a business day both at GLEIF’s legal domicile in the operating office in Frankfurt/Germany, and at the Qualified vLEI Issuer’s domicile. Defined term in the vLEI Issuer Qualification Agreement.

    \n
    day
    \n

    A business day, provided that a given day only counts as such if it is a business day both at GLEIF’s legal domicile in the operating office in Frankfurt/Germany, and at the Qualified vLEI Issuer’s domicile. Defined term in the vLEI Issuer Qualification Agreement.

    \n
    Delegated AIDs
    \n

    Autonomic Identifiers (AIDs) which have associated Decentralized Identifier (DIDs). These are primary identifiers. Unless otherwise indicated, whenever the term identifier is used with reference to KERI, the references are to primary identifiers. Examples are: GLEIF Internal Delegated AID (GIDA) and GLEIF External Delegated AID (GEDA).

    \n
    Delegated AIDs
    \n

    Autonomic Identifiers (AIDs) which have associated Decentralized Identifier (DIDs). These are primary identifiers. Unless otherwise indicated, whenever the term identifier is used with reference to KERI, the references are to primary identifiers. Examples are: GLEIF Internal Delegated AID (GIDA) and GLEIF External Delegated AID (GEDA).

    \n
    Delegated AIDs
    \n

    Autonomic Identifiers (AIDs) which have associated Decentralized Identifier (DIDs). These are primary identifiers. Unless otherwise indicated, whenever the term identifier is used with reference to KERI, the references are to primary identifiers. Examples are: GLEIF Internal Delegated AID (GIDA) and GLEIF External Delegated AID (GEDA).

    \n
    Delegated AIDs
    \n

    Autonomic Identifiers (AIDs) which have associated Decentralized Identifier (DIDs). These are primary identifiers. Unless otherwise indicated, whenever the term identifier is used with reference to KERI, the references are to primary identifiers. Examples are: GLEIF Internal Delegated AID (GIDA) and GLEIF External Delegated AID (GEDA).

    \n
    Designated Authorized Representative
    \n

    A representative of a Qualified vLEI Issuer or a Legal Entity that are authorized by the QVI or the Legal Entity to act officially on behalf of the QVI or the Legal Entity. DARs of QVIs can authorize vLEI Issuer Qualification Program Checklists, execute the vLEI Issuer Qualification Agreement and provide designate/replace Qualified vLEI Issuer Authorized Representatives (QARs). DARs of Legal Entities can execute the contract between a Qualified vLEI Issuer and the Legal Entity and provide designate/replace Legal Entity Authorized Representatives (LARs).

    \n
    Designated Authorized Representative
    \n

    A representative of a Qualified vLEI Issuer or a Legal Entity that are authorized by the QVI or the Legal Entity to act officially on behalf of the QVI or the Legal Entity. DARs of QVIs can authorize vLEI Issuer Qualification Program Checklists, execute the vLEI Issuer Qualification Agreement and provide designate/replace Qualified vLEI Issuer Authorized Representatives (QARs). DARs of Legal Entities can execute the contract between a Qualified vLEI Issuer and the Legal Entity and provide designate/replace Legal Entity Authorized Representatives (LARs).

    \n
    Designated Authorized Representative
    \n

    A representative of a Qualified vLEI Issuer or a Legal Entity that are authorized by the QVI or the Legal Entity to act officially on behalf of the QVI or the Legal Entity. DARs of QVIs can authorize vLEI Issuer Qualification Program Checklists, execute the vLEI Issuer Qualification Agreement and provide designate/replace Qualified vLEI Issuer Authorized Representatives (QARs). DARs of Legal Entities can execute the contract between a Qualified vLEI Issuer and the Legal Entity and provide designate/replace Legal Entity Authorized Representatives (LARs).

    \n
    Designated Authorized Representative
    \n

    A representative of a Qualified vLEI Issuer or a Legal Entity that are authorized by the QVI or the Legal Entity to act officially on behalf of the QVI or the Legal Entity. DARs of QVIs can authorize vLEI Issuer Qualification Program Checklists, execute the vLEI Issuer Qualification Agreement and provide designate/replace Qualified vLEI Issuer Authorized Representatives (QARs). DARs of Legal Entities can execute the contract between a Qualified vLEI Issuer and the Legal Entity and provide designate/replace Legal Entity Authorized Representatives (LARs).

    \n
    Distributed Hash Table
    \n

    In computing, a data structure that implements an associative array abstract data type, a structure that can map keys to values (Wikipedia). Within the vLEI Ecosystem, these tables are used for the discovery of AIDs.

    \n
    Distributed Hash Table
    \n

    In computing, a data structure that implements an associative array abstract data type, a structure that can map keys to values (Wikipedia). Within the vLEI Ecosystem, these tables are used for the discovery of AIDs.

    \n
    Distributed Hash Table
    \n

    In computing, a data structure that implements an associative array abstract data type, a structure that can map keys to values (Wikipedia). Within the vLEI Ecosystem, these tables are used for the discovery of AIDs.

    \n
    Effective Date
    \n

    The later of the dates of signing shown on the first page of the vLEI Issuer Qualification Agreement.

    \n
    Effective Date
    \n

    The later of the dates of signing shown on the first page of the vLEI Issuer Qualification Agreement.

    \n
    Engagement Context Role Person
    \n

    A person that represents the Legal Entity in a functional or in another context role and is issued an ECR vLEI Credential.

    \n
    Engagement Context Role Person
    \n

    A person that represents the Legal Entity in a functional or in another context role and is issued an ECR vLEI Credential.

    \n
    Engagement Context Role Person
    \n

    A person that represents the Legal Entity in a functional or in another context role and is issued an ECR vLEI Credential.

    \n
    engagement-context-role
    \n

    A person that represents the legal-entity in a functional or in another context role and is issued an ECR vlei-credential.

    \n
    engagement-context-role
    \n

    A person that represents the legal-entity in a functional or in another context role and is issued an ECR vlei-credential.

    \n
    Escrow Agent
    \n

    Specific organizations appointed by GLEIF as secondary signers to the GLEIF Root AID, to be able to act if the required weighted multi-sig threshold of GLEIF primary signers is not available for key rotation or recovery.

    \n
    Escrow Agent
    \n

    Specific organizations appointed by GLEIF as secondary signers to the GLEIF Root AID, to be able to act if the required weighted multi-sig threshold of GLEIF primary signers is not available for key rotation or recovery.

    \n
    Extraordinary vLEI Issuer Qualification
    \n

    Qualification conducted under exceptional circumstances which give GLEIF reason to believe that the Qualification Documentation is no longer current or being adhered to.

    \n
    Extraordinary vLEI Issuer Qualification
    \n

    Qualification conducted under exceptional circumstances which give GLEIF reason to believe that the Qualification Documentation is no longer current or being adhered to.

    \n
    Fully Signed
    \n

    Meets the threshold of the signed keys.

    \n
    Fully Signed
    \n

    Meets the threshold of the signed keys.

    \n
    GLEIF API
    \n

    API to directly access the complete LEI data pool in real time with rich query capabilities.

    \n
    GLEIF API
    \n

    API to directly access the complete LEI data pool in real time with rich query capabilities.

    \n
    GLEIF Authorized Representative
    \n

    A representative of GLEIF authorized to perform the identity verification requirements needed to issue the QVI vLEI Credential. GLEIF has authorized specific GARs, Internal and External GARs, for the GIDA and GEDA (see definition of Delegated AIDs).

    \n
    GLEIF Authorized Representative
    \n

    A representative of GLEIF authorized to perform the identity verification requirements needed to issue the QVI vLEI Credential. GLEIF has authorized specific GARs, Internal and External GARs, for the GIDA and GEDA (see definition of Delegated AIDs).

    \n
    GLEIF Authorized Representative
    \n

    A representative of GLEIF authorized to perform the identity verification requirements needed to issue the QVI vLEI Credential. GLEIF has authorized specific GARs, Internal and External GARs, for the GIDA and GEDA (see definition of Delegated AIDs).

    \n
    GLEIF Business Day
    \n

    Business Day in Frankfurt am Main, Germany (Monday – Friday)

    \n
    GLEIF Business Day
    \n

    Business Day in Frankfurt am Main, Germany (Monday – Friday)

    \n
    GLEIF Identifier Governance Framework
    \n

    A document that details the purpose, principles, policies, and specifications that apply to the use of the GLEIF Root Autonomic Identifier (AID) and its GLEIF Delegated AIDs in the vLEI Ecosystem.

    \n
    GLEIF Identifier Governance Framework
    \n

    A document that details the purpose, principles, policies, and specifications that apply to the use of the GLEIF Root Autonomic Identifier (AID) and its GLEIF Delegated AIDs in the vLEI Ecosystem.

    \n
    GLEIF Identifier Governance Framework
    \n

    A document that details the purpose, principles, policies, and specifications that apply to the use of the GLEIF Root Autonomic Identifier (AID) and its GLEIF Delegated AIDs in the vLEI Ecosystem.

    \n
    GLEIF Root of Trust AID
    \n

    The GLEIF Root Aid provides the Root of Trust for the ecosystem tree of trust. Each branch in that tree is a Chain of Trust. The Delegated Aid Chain of Trust branch provides trust for delegated GLEIF AIDS and Qualified vLEI Issuer Delegated AIDs. The vLEI Chain of Trust branch, that attaches to the Delegated AID Chain of Trust branch, provides trust for all vLEIs within the vLEI ecosystem.

    \n
    GLEIF Root of Trust AID
    \n

    The GLEIF Root Aid provides the Root of Trust for the ecosystem tree of trust. Each branch in that tree is a Chain of Trust. The Delegated Aid Chain of Trust branch provides trust for delegated GLEIF AIDS and Qualified vLEI Issuer Delegated AIDs. The vLEI Chain of Trust branch, that attaches to the Delegated AID Chain of Trust branch, provides trust for all vLEIs within the vLEI ecosystem.

    \n
    GLEIF Website
    \n

    http://www.gleif.org

    \n
    GLEIF Website
    \n

    http://www.gleif.org

    \n
    Global Legal Entity Identifier System
    \n

    Global LEI Repository A database managed by GLEIF containing all current and historical LEIs and LEI reference data.

    \n
    Global Legal Entity Identifier System
    \n

    Global LEI Repository A database managed by GLEIF containing all current and historical LEIs and LEI reference data.

    \n
    Identity Assurance
    \n

    A process that is part of Identity Verification, the steps of which are defined in each of the vLEI Credential Frameworks of the vLEI Ecosystem Governance Framework, which must be conducted before the issuance of vLEI Credentials.

    \n
    Identity Assurance
    \n

    A process that is part of Identity Verification, the steps of which are defined in each of the vLEI Credential Frameworks of the vLEI Ecosystem Governance Framework, which must be conducted before the issuance of vLEI Credentials.

    \n
    Identity Authentication
    \n

    A process that is part of Identity Verification, the steps of which are defined in each of the vLEI Credential Frameworks of the vLEI Ecosystem Governance Framework, which must be conducted before the issuance of vLEI Credentials.

    \n
    Identity Authentication
    \n

    A process that is part of Identity Verification, the steps of which are defined in each of the vLEI Credential Frameworks of the vLEI Ecosystem Governance Framework, which must be conducted before the issuance of vLEI Credentials.

    \n
    Inception Event
    \n

    Initial event used during the creation of an AID.

    \n
    Inception Event
    \n

    Initial event used during the creation of an AID.

    \n
    Interaction Event
    \n

    Non-establishment Event (non-establishment-event) that anchors external data to the key-state as established by the most recent prior establishment event (establishment-event).

    \n
    Interaction Event
    \n

    Non-establishment Event (non-establishment-event) that anchors external data to the key-state as established by the most recent prior establishment event (establishment-event).

    \n
    IT Information
    \n

    Technology, encompassing application software, computer and network systems and suitable equipment for the implementation and support of such systems.

    \n
    IT Information
    \n

    Technology, encompassing application software, computer and network systems and suitable equipment for the implementation and support of such systems.

    \n
    Key Event Receipt Infrastructure
    \n

    Provides the identifier and key management architecture for the vLEI Ecosystem Technical Architecture

    \n
    Key Event Receipt Infrastructure
    \n

    Provides the identifier and key management architecture for the vLEI Ecosystem Technical Architecture

    \n
    Key Management
    \n

    Unless otherwise specified, the term key-pair refers to an asymmetric (public, private) key-pair for digital signatures. The private key is used to generate signatures and the public key is used to validate signatures.

    \n
    Key Management
    \n

    Unless otherwise specified, the term key-pair refers to an asymmetric (public, private) key-pair for digital signatures. The private key is used to generate signatures and the public key is used to validate signatures.

    \n
    Key Pre-Rotation for Transferable AIDs
    \n

    KERI, the authoritative key stage of a transferable AID consists of two sets of key-pairs. The first set is the current set of signing keys and the second set is the pre-committed set of one-time rotation keys that after rotation will become the next or pre-rotated set of signing keys. These two sets provide the basis for KERI’s pre-rotation mechanism and the on-device storage of public/private key pairs associated with an AID.

    \n
    Key Pre-Rotation for Transferable AIDs
    \n

    KERI, the authoritative key stage of a transferable AID consists of two sets of key-pairs. The first set is the current set of signing keys and the second set is the pre-committed set of one-time rotation keys that after rotation will become the next or pre-rotated set of signing keys. These two sets provide the basis for KERI’s pre-rotation mechanism and the on-device storage of public/private key pairs associated with an AID.

    \n
    Key Store
    \n

    The on-device storage of public/private key pairs associated with an

    \n
    Key Store
    \n

    The on-device storage of public/private key pairs associated with an

    \n
    Legal Entity Authorized Representative
    \n

    A representative of a Legal Entity that are authorized by a DAR of a Legal Entity to request issuance and revocation of vLEI Legal Entity Credentials, Legal Entity Official Organizational Role vLEI Credentials (OOR vLEI Credentials), and Legal Entity Engagement Context Role vLEI Credentials (ECR vLEI Credentials).

    \n
    Legal Entity Authorized Representative
    \n

    A representative of a Legal Entity that are authorized by a DAR of a Legal Entity to request issuance and revocation of vLEI Legal Entity Credentials, Legal Entity Official Organizational Role vLEI Credentials (OOR vLEI Credentials), and Legal Entity Engagement Context Role vLEI Credentials (ECR vLEI Credentials).

    \n
    Legal Entity Authorized Representative
    \n

    A representative of a Legal Entity that are authorized by a DAR of a Legal Entity to request issuance and revocation of vLEI Legal Entity Credentials, Legal Entity Official Organizational Role vLEI Credentials (OOR vLEI Credentials), and Legal Entity Engagement Context Role vLEI Credentials (ECR vLEI Credentials).

    \n
    Legal Entity Engagement Context Role vLEI Credential Governance Framework
    \n

    A document that details the requirements for vlei-role-credentials issued to representatives of a Legal Entity in other than official roles but in functional or other context of engagement.

    \n
    Legal Entity Engagement Context Role vLEI Credential Governance Framework
    \n

    A document that details the requirements for vlei-role-credentials issued to representatives of a Legal Entity in other than official roles but in functional or other context of engagement.

    \n
    Legal Entity As defined in ISO 17442:2020
    \n

    A legal person or structure that is organized under the laws of any jurisdiction; includes, but is not limited to, unique parties that are legally or financially responsible for the performance of financial transactions or have the legal right in their jurisdiction to enter independently into legal contracts, regardless of whether they are incorporated or constituted in some other way (e.g., trust, partnership, contractual). It includes governmental organizations and supra-nationals and individuals when acting in a business capacity but excludes natural persons. It also includes international branches.

    \n
    Legal Entity As defined in ISO 17442:2020
    \n

    A legal person or structure that is organized under the laws of any jurisdiction; includes, but is not limited to, unique parties that are legally or financially responsible for the performance of financial transactions or have the legal right in their jurisdiction to enter independently into legal contracts, regardless of whether they are incorporated or constituted in some other way (e.g., trust, partnership, contractual). It includes governmental organizations and supra-nationals and individuals when acting in a business capacity but excludes natural persons. It also includes international branches.

    \n
    Legal Entity Official Organizational Role vLEI Credential Governance Framework
    \n

    A document that details the requirements for vlei-role-credential issued to official representatives of a Legal Entity.

    \n
    Legal Entity Official Organizational Role vLEI Credential Governance Framework
    \n

    A document that details the requirements for vlei-role-credential issued to official representatives of a Legal Entity.

    \n
    Legal Entity vLEI Credential Governance Framework
    \n

    A document that details the requirements for vLEI Credential issued by a qualified-vlei-issuer to a legal-entity.

    \n
    Legal Entity vLEI Credential Governance Framework
    \n

    A document that details the requirements for vLEI Credential issued by a qualified-vlei-issuer to a legal-entity.

    \n
    LEI Issuer
    \n

    An organization accredited by GLEIF to validate legal entity information and register new LEIs and reference data which are sent to GLEIF for inclusion in the GLEIS.

    \n
    Non-Disclosure Agreement
    \n

    No custom content found for toip2:Non-Disclosure Agreement

    \n
    Non-Transferable AIDs
    \n

    Non-transferable AIDs are self-certifying but are not meant for long term persistent use and hence their key-pair(s) are not rotatable. Instead, the identifier is abandoned and replaced with a new identifier with a new set of key-pair(s). These may also be called ephemeral AIDs. Within KERI, the primary use for non-transferable (ephemeral) AIDs are for the Witness identifiers. Because Witnesses are used in a pool, the pool forms a threshold structure which provides protection from the exploit of a minority of the key-pairs of the ephemeral Witness AIDs in the pool. If a given Witness AID has its key(s) compromised, then the Witness AID itself is abandoned and replaced. Thus, the Witness pool management policy protects Witness ephemeral AIDs.

    \n
    Non-Transferable AIDs
    \n

    Non-transferable AIDs are self-certifying but are not meant for long term persistent use and hence their key-pair(s) are not rotatable. Instead, the identifier is abandoned and replaced with a new identifier with a new set of key-pair(s). These may also be called ephemeral AIDs. Within KERI, the primary use for non-transferable (ephemeral) AIDs are for the Witness identifiers. Because Witnesses are used in a pool, the pool forms a threshold structure which provides protection from the exploit of a minority of the key-pairs of the ephemeral Witness AIDs in the pool. If a given Witness AID has its key(s) compromised, then the Witness AID itself is abandoned and replaced. Thus, the Witness pool management policy protects Witness ephemeral AIDs.

    \n
    Non-Transferable AIDs
    \n

    Non-transferable AIDs are self-certifying but are not meant for long term persistent use and hence their key-pair(s) are not rotatable. Instead, the identifier is abandoned and replaced with a new identifier with a new set of key-pair(s). These may also be called ephemeral AIDs. Within KERI, the primary use for non-transferable (ephemeral) AIDs are for the Witness identifiers. Because Witnesses are used in a pool, the pool forms a threshold structure which provides protection from the exploit of a minority of the key-pairs of the ephemeral Witness AIDs in the pool. If a given Witness AID has its key(s) compromised, then the Witness AID itself is abandoned and replaced. Thus, the Witness pool management policy protects Witness ephemeral AIDs.

    \n
    Non-Transferable AIDs
    \n

    Non-transferable AIDs are self-certifying but are not meant for long term persistent use and hence their key-pair(s) are not rotatable. Instead, the identifier is abandoned and replaced with a new identifier with a new set of key-pair(s). These may also be called ephemeral AIDs. Within KERI, the primary use for non-transferable (ephemeral) AIDs are for the Witness identifiers. Because Witnesses are used in a pool, the pool forms a threshold structure which provides protection from the exploit of a minority of the key-pairs of the ephemeral Witness AIDs in the pool. If a given Witness AID has its key(s) compromised, then the Witness AID itself is abandoned and replaced. Thus, the Witness pool management policy protects Witness ephemeral AIDs.

    \n
    Official Organizational Role Person
    \n

    A person that represents the Legal Entity in an official organizational role and is issued an OOR vLEI Credential.

    \n
    Official Organizational Role Person
    \n

    A person that represents the Legal Entity in an official organizational role and is issued an OOR vLEI Credential.

    \n
    Official Organizational Role Person
    \n

    A person that represents the Legal Entity in an official organizational role and is issued an OOR vLEI Credential.

    \n
    official-organizational-role
    \n

    Also ‘OOR’. A person that represents the Legal Entity in an official organizational role and is issued an OOR vLEI Credential.

    \n
    official-organizational-role
    \n

    Also ‘OOR’. A person that represents the Legal Entity in an official organizational role and is issued an OOR vLEI Credential.

    \n
    Out-of-band Introduction
    \n

    See out-of-band-introduction

    \n
    Out-of-band Introduction
    \n

    See out-of-band-introduction

    \n
    pdf
    \n

    No custom content found for toip2:pdf

    \n
    Proof Request
    \n

    One of the initiating steps in the Issuance and Presentation Exchange Protocol (IPEX). In this step, a Verifier is requesting a credential presentation from a holder of a credential as proof that the holder is in possession of a credential that meets criterial defined in the proof request.

    \n
    Proof Request
    \n

    One of the initiating steps in the Issuance and Presentation Exchange Protocol (IPEX). In this step, a Verifier is requesting a credential presentation from a holder of a credential as proof that the holder is in possession of a credential that meets criterial defined in the proof request.

    \n
    Qualification
    \n

    The formal evaluation process performed by GLEIF to ensure that an organization which has applied for Qualification (a Candidate vLEI Issuer) meets the requirements of the vLEI Ecosystem Governance Framework.

    \n
    Qualified vLEI Issuer Authorized Representative
    \n

    A designated representative of a QVI authorized to conduct QVI operations with GLEIF and Legal Entities. QARs perform the Identity Verification requirements needed to issue vLEI Legal Entity Credentials, Legal Entity Official Organizational Role vLEI Credentials (OOR vLEI Credentials), and Legal Entity Engagement Context Role vLEI Credentials (ECR vLEI Credentials) as well as the issuance and revocation these Credentials.

    \n
    Qualified vLEI Issuer Authorized Representative
    \n

    A designated representative of a QVI authorized to conduct QVI operations with GLEIF and Legal Entities. QARs perform the Identity Verification requirements needed to issue vLEI Legal Entity Credentials, Legal Entity Official Organizational Role vLEI Credentials (OOR vLEI Credentials), and Legal Entity Engagement Context Role vLEI Credentials (ECR vLEI Credentials) as well as the issuance and revocation these Credentials.

    \n
    Qualified vLEI Issuer Authorized Representative
    \n

    A designated representative of a QVI authorized to conduct QVI operations with GLEIF and Legal Entities. QARs perform the Identity Verification requirements needed to issue vLEI Legal Entity Credentials, Legal Entity Official Organizational Role vLEI Credentials (OOR vLEI Credentials), and Legal Entity Engagement Context Role vLEI Credentials (ECR vLEI Credentials) as well as the issuance and revocation these Credentials.

    \n
    Qualified vLEI Issuer Business Day
    \n

    Business Day according to local Qualified vLEI Issuer business calendar.

    \n
    Qualified vLEI Issuer Business Day
    \n

    Business Day according to local Qualified vLEI Issuer business calendar.

    \n
    qualified-vlei-issuer-identifier-and-vlei-credential-governance-framework
    \n

    A document that details the requirements to create and delegate AIDs for the QVI and to enable the vLEI Credential to be issued by GLEIF to Qualified vLEI Issuers which allows the Qualified vLEI Issuers to issue, verify and revoke Legal Entity vLEI Credentials, Legal Entity Official Organizational Role vLEI Credentials, and Legal Entity Engagement Context Role vLEI Credentials.

    \n
    qualified-vlei-issuer-identifier-and-vlei-credential-governance-framework
    \n

    A document that details the requirements to create and delegate AIDs for the QVI and to enable the vLEI Credential to be issued by GLEIF to Qualified vLEI Issuers which allows the Qualified vLEI Issuers to issue, verify and revoke Legal Entity vLEI Credentials, Legal Entity Official Organizational Role vLEI Credentials, and Legal Entity Engagement Context Role vLEI Credentials.

    \n
    Qualified vLEI Issuer TrustMark Terms of Use
    \n

    A document that details the terms of use of the TrustMark by the Qualified vLEI Issuer. (Appendix 6 to the vLEI Issuer Qualification Agreement)

    \n
    Qualified vLEI Issuer TrustMark Terms of Use
    \n

    A document that details the terms of use of the TrustMark by the Qualified vLEI Issuer. (Appendix 6 to the vLEI Issuer Qualification Agreement)

    \n
    qualified-vlei-issuer-vlei-credential-governance-framework
    \n

    A document that details the requirements to enable this Credential to be issued by GLEIF to qualified-vlei-issuer which allows the Qualified vLEI Issuers to issue, verify and revoke legal-entity-vlei-credential-governance-framework, legal-entity-official-organizational-role-vlei-credential-governance-framework, and legal-entity-engagement-context-role-vlei-credential-governance-framework.

    \n
    qualified-vlei-issuer-vlei-credential-governance-framework
    \n

    A document that details the requirements to enable this Credential to be issued by GLEIF to qualified-vlei-issuer which allows the Qualified vLEI Issuers to issue, verify and revoke legal-entity-vlei-credential-governance-framework, legal-entity-official-organizational-role-vlei-credential-governance-framework, and legal-entity-engagement-context-role-vlei-credential-governance-framework.

    \n
    qualified-vlei-issuer
    \n

    The contracting party to the vLEI Issuer Qualification Agreement that has been qualified by GLEIF as a Qualified vLEI Issuer.

    \n
    qualified-vlei-issuer
    \n

    The contracting party to the vLEI Issuer Qualification Agreement that has been qualified by GLEIF as a Qualified vLEI Issuer.

    \n
    Qualified vLEI Issuer – Legal Entity Required Contract Terms
    \n

    A document that specifies the contract terms that must be included in the agreement between a Qualified vLEI Issuer and a Legal Entity that has requested a Legal Entity vLEI. (Appendix 7 to the vLEI Issuer Qualification Agreement)

    \n
    Qualified vLEI Issuer
    \n

    The contracting party to the vLEI Issuer Qualification Agreement that has been qualified by GLEIF as a Qualified vLEI Issuer.

    \n
    Qualified vLEI Issuer
    \n

    The contracting party to the vLEI Issuer Qualification Agreement that has been qualified by GLEIF as a Qualified vLEI Issuer.

    \n
    QVI Authorized Representative Person
    \n

    A person in the role of a QAR.

    \n
    QVI Authorized Representative Person
    \n

    A person in the role of a QAR.

    \n
    QVI Authorized Representative Person
    \n

    A person in the role of a QAR.

    \n
    qvi-authorized-representative
    \n

    A designated representative of a QVI authorized, to conduct QVI operations with GLEIF and legal-entity. Also referring to a person in the role of a QAR.

    \n
    qvi-authorized-representative
    \n

    A designated representative of a QVI authorized, to conduct QVI operations with GLEIF and legal-entity. Also referring to a person in the role of a QAR.

    \n
    Registrar
    \n

    In place of a traditional KERI witness pool a blockchain (i.e., Cardano) or other Distributed Ledger Technology (DLT) can be used to store Key Events.

    \n
    Registrar
    \n

    In place of a traditional KERI witness pool a blockchain (i.e., Cardano) or other Distributed Ledger Technology (DLT) can be used to store Key Events.

    \n
    Registrar
    \n

    In place of a traditional KERI witness pool a blockchain (i.e., Cardano) or other Distributed Ledger Technology (DLT) can be used to store Key Events.

    \n
    Resolver
    \n

    An entity or component that provides discovery for identifiers. A Resolver is the Controller of its own self-referential identifier which may not be the same as the identifier to which it is a Resolver.

    \n
    Resolver
    \n

    An entity or component that provides discovery for identifiers. A Resolver is the Controller of its own self-referential identifier which may not be the same as the identifier to which it is a Resolver.

    \n
    Root of Trust
    \n

    No custom content found for toip2:Root of Trust

    \n
    Rotation Event
    \n

    An event to rotate the private keys of an AIDs.

    \n
    Rotation Event
    \n

    An event to rotate the private keys of an AIDs.

    \n
    seal
    \n

    No custom content found for toip2:seal

    \n
    Self-addressing Identifier
    \n

    An identifier that is deterministically generated from and embedded in the content it identifies, making it and its data mutually tamper-evident.

    \n
    Self-addressing Identifier
    \n

    An identifier that is deterministically generated from and embedded in the content it identifies, making it and its data mutually tamper-evident.

    \n
    Self-addressing Identifier
    \n

    An identifier that is deterministically generated from and embedded in the content it identifies, making it and its data mutually tamper-evident.

    \n
    Service Endpoints
    \n

    Address at where a given identifier can receive KERI messages.

    \n
    Service Endpoints
    \n

    Address at where a given identifier can receive KERI messages.

    \n
    Service Endpoints
    \n

    Address at where a given identifier can receive KERI messages.

    \n
    Service Endpoints
    \n

    Address at where a given identifier can receive KERI messages.

    \n
    Service Level Agreement
    \n

    No custom content found for toip2:Service Level Agreement

    \n
    Signature Verification Infrastructure
    \n

    An attack against signature verification infrastructure typically requires replacing the signature verification code with malicious code that falsely reports signature verification on signed statements. KERI provides a specific protection mechanism for signature verification via a Watcher pool where an event is only accepted as verified if a sufficient majority of the Watchers in a pool agree on the verification status of the signature(s) on that event. This provides a threshold structure where an attacker must compromise the code integrity of a sufficient number of Watchers for successful attack. Because the composition of a Watcher pool does not need to be publicly disclosed, an attacker must also discover that composition to ensure a successful attack.

    \n
    Signature Verification Infrastructure
    \n

    An attack against signature verification infrastructure typically requires replacing the signature verification code with malicious code that falsely reports signature verification on signed statements. KERI provides a specific protection mechanism for signature verification via a Watcher pool where an event is only accepted as verified if a sufficient majority of the Watchers in a pool agree on the verification status of the signature(s) on that event. This provides a threshold structure where an attacker must compromise the code integrity of a sufficient number of Watchers for successful attack. Because the composition of a Watcher pool does not need to be publicly disclosed, an attacker must also discover that composition to ensure a successful attack.

    \n
    Sources
    \n

    The sources or edges section of a vLEI credential cause the vLEI credential to become a fragment of a distributed property graph. The sources chain a vLEI credential to other vLEI credential to which this credential is dependent.

    \n
    Sources
    \n

    The sources or edges section of a vLEI credential cause the vLEI credential to become a fragment of a distributed property graph. The sources chain a vLEI credential to other vLEI credential to which this credential is dependent.

    \n
    Sources
    \n

    The sources or edges section of a vLEI credential cause the vLEI credential to become a fragment of a distributed property graph. The sources chain a vLEI credential to other vLEI credential to which this credential is dependent.

    \n
    Spot Check
    \n

    The operation of performing an OOBI exchange and challenge/response exchange over a live session with an unauthenticated contact to ensure the other person in the live session has control of the contact’s private keys.

    \n
    Spot Check
    \n

    The operation of performing an OOBI exchange and challenge/response exchange over a live session with an unauthenticated contact to ensure the other person in the live session has control of the contact’s private keys.

    \n
    Strength
    \n

    All key-pairs MUST be generated using a cryptographic algorithm with at least 128 bits of cryptographic strength for the salt or seed used to generate the private key of the key pair.

    \n
    Strength
    \n

    All key-pairs MUST be generated using a cryptographic algorithm with at least 128 bits of cryptographic strength for the salt or seed used to generate the private key of the key pair.

    \n
    Swiss Law
    \n

    A set of rules, orders, regulation and court decisions which constitutes the law in Switzerland. The source of Swiss law can be federal or cantonal.

    \n
    Swiss Law
    \n

    A set of rules, orders, regulation and court decisions which constitutes the law in Switzerland. The source of Swiss law can be federal or cantonal.

    \n
    Third Party Services
    \n

    IT or operational infrastructure services outsourced by Qualified vLEI Issuers.

    \n
    Third Party Services
    \n

    IT or operational infrastructure services outsourced by Qualified vLEI Issuers.

    \n
    TrustMark
    \n

    A TrustMark for a Qualified vLEI Issuer provided GLEIF by to the Qualified vLEI Issuer (refer to Appendix 6 to the vLEI Issuer Qualification Agreement).

    \n
    vLEI
    \n

    verifiable-legal-entity-identifier

    \n
    vLEI
    \n

    verifiable-legal-entity-identifier

    \n
    Validator
    \n

    An entity or component that determines that a given signed statement associated with an identifier was valid at the time of its issuance.

    \n
    Validator
    \n

    An entity or component that determines that a given signed statement associated with an identifier was valid at the time of its issuance.

    \n
    verifiable-legal-entity-identifier
    \n

    Verifiable credentials are issued by authorized validation agents (QVI) under the governance of GLEIF, who delegate tasks to these agents. They provide cryptographic proof that the information about a legal entity, as linked to its Legal Entity Identifier (LEI), is verifiably authentic, accurate, and up-to-date.

    \n
    verifiable-legal-entity-identifier
    \n

    Verifiable credentials are issued by authorized validation agents (QVI) under the governance of GLEIF, who delegate tasks to these agents. They provide cryptographic proof that the information about a legal entity, as linked to its Legal Entity Identifier (LEI), is verifiably authentic, accurate, and up-to-date.

    \n
    verifiable LEI Ecosystem
    \n

    Governance Framework Information Trust Policies

    \n
    verifiable LEI Ecosystem
    \n

    Governance Framework Information Trust Policies

    \n
    verifiable LEI Ecosystem
    \n

    Governance Framework Information Trust Policies

    \n
    verifiable LEI Ecosystem
    \n

    Governance Framework Information Trust Policies

    \n
    verifiable LEI
    \n

    An Authentic Chained Data Container credential which contains an LEI issued in accordance with the vLEI Ecosystem Governance Framework requirements.

    \n
    verifiable LEI
    \n

    An Authentic Chained Data Container credential which contains an LEI issued in accordance with the vLEI Ecosystem Governance Framework requirements.

    \n
    verifiable LEI
    \n

    An Authentic Chained Data Container credential which contains an LEI issued in accordance with the vLEI Ecosystem Governance Framework requirements.

    \n
    Verifier
    \n

    An entity or component that cryptographically verifies the signature(s) on an event message.

    \n
    Verifier
    \n

    An entity or component that cryptographically verifies the signature(s) on an event message.

    \n
    vLEI Chain of Trust
    \n

    The cryptographic chain of trust for organizational identity established for the vLEI which connects the following entities: GLEIF>Qualified vLEI Issuers>Legal Entities>Persons Representing

    \n
    vlei-credential
    \n

    Credential concerning a verifiable Legal Entity Identifier, residing in the GLEIS and compliant with one or more of the GLEIF governance-frameworks

    \n
    vlei-credential
    \n

    Credential concerning a verifiable Legal Entity Identifier, residing in the GLEIS and compliant with one or more of the GLEIF governance-frameworks

    \n
    vlei-ecosystem-governance-framework
    \n

    The Verifiable LEI (vLEI) Ecosystem governance-framework Information Trust Policies. It’s a document that defines the information security, privacy, availability, confidentiality and processing integrity policies that apply to all vLEI Ecosystem Members.

    \n
    vlei-ecosystem-governance-framework
    \n

    The Verifiable LEI (vLEI) Ecosystem governance-framework Information Trust Policies. It’s a document that defines the information security, privacy, availability, confidentiality and processing integrity policies that apply to all vLEI Ecosystem Members.

    \n
    vLEI Ecosystem Stakeholder
    \n

    A stakeholder in the vLEI Ecosystem following the requirements outlined in the vLEI Ecosystem Governance Framework.

    \n
    vLEI Issuance
    \n

    The process of issuing a vLEI Credential.

    \n
    vLEI Issuer Contact Details
    \n

    A list of contact details of GLEIF and the Candidate vLEI Issuer during Qualification and of GLEIF and the Qualified vLEI Issuer during ongoing operations. Also, will include the names and email addresses of Designated Authorized Representatives (DARs) of the Legal Entity (Appendix 4 to the vLEI Issuer Qualification Agreement).

    \n
    vLEI Issuer Qualification Agreement
    \n

    An agreement between GLEIF and an organization that has been qualified by GLEIF to operate as a Qualified vLEI Issuer.

    \n
    vLEI Issuer Qualification Program Checklist
    \n

    The document that details the control and process requirements for Qualification (Appendix 3 to the vLEI Issuer Qualification Agreement).

    \n
    vLEI Issuer Qualification Program Manual
    \n

    The document that describes the Qualification program (Appendix 2 to the vLEI Issuer Qualification Agreement).

    \n
    vLEI Maintenance
    \n

    All steps taken to ensure that the vLEI continues to be based on the existence of a LEI that maintains the required entity and registration statuses in the GLEIS as well as keeping credential wallets and private keys secure.

    \n
    vLEI Revocation
    \n

    The process of revoking a vLEI Credential.

    \n
    vlei-role-credential
    \n

    It is a vlei-credential that attests to a role within a legal entity to an individual or an entity. It cryptographically proves that the individual or entity is authorized to act in that role on behalf of the legal entity.

    \n
    vlei-role-credential
    \n

    It is a vlei-credential that attests to a role within a legal entity to an individual or an entity. It cryptographically proves that the individual or entity is authorized to act in that role on behalf of the legal entity.

    \n
    vLEI Software
    \n

    Open-source developed software sponsored by GLEIF with the capabilities for vLEI Credential Issuance, vLEI Credential Presentation, Identifier and Key Management and vLEI Credential Revocation and supporting functions.

    \n
    vLEI Software
    \n

    Open-source developed software sponsored by GLEIF with the capabilities for vLEI Credential Issuance, vLEI Credential Presentation, Identifier and Key Management and vLEI Credential Revocation and supporting functions.

    \n
    vLEI User
    \n

    Any user of vLEI credentials in any applicable use case.

    \n
    Watcher
    \n

    An entity or component that keeps a copy of a Key Event Receipt Log (KERL) for an identifier but is not designated by the Controller thereof as one of its Witnesses.

    \n
    Watcher
    \n

    An entity or component that keeps a copy of a Key Event Receipt Log (KERL) for an identifier but is not designated by the Controller thereof as one of its Witnesses.

    \n
    Witness
    \n

    An entity or component designated (trusted) by the Controller of an identifier. The primary role of a Witness is to verify, sign, and keep events associated with an identifier. A Witness is the Controller of its own self-referential identifier which may or may not be the same as the identifier to which it is a Witness. As a special case a Controller may serve as its own Witness. Witness designations are included in key (establishment) events. As a result, the role of a Witness may be verified using the identifier’s rotation history. When designated, a Witness becomes part of the supporting infrastructure establishing and maintaining control authority over an identifier. An identifier Witness therefore is part of its trust basis and may be controlled (but not necessarily so) by its Controller.

    \n
    Witness
    \n

    An entity or component designated (trusted) by the Controller of an identifier. The primary role of a Witness is to verify, sign, and keep events associated with an identifier. A Witness is the Controller of its own self-referential identifier which may or may not be the same as the identifier to which it is a Witness. As a special case a Controller may serve as its own Witness. Witness designations are included in key (establishment) events. As a result, the role of a Witness may be verified using the identifier’s rotation history. When designated, a Witness becomes part of the supporting infrastructure establishing and maintaining control authority over an identifier. An identifier Witness therefore is part of its trust basis and may be controlled (but not necessarily so) by its Controller.

    \n
    ","
    ADR
    \n

    architectural-decision-record

    \n
    ADR
    \n

    architectural-decision-record

    \n
    API
    \n

    application-programming-interface

    \n
    API
    \n

    application-programming-interface

    \n
    BFT
    \n

    byzantine-fault-tolerance

    \n
    BFT
    \n

    byzantine-fault-tolerance

    \n
    CBOR
    \n

    concise-binary-object-representation

    \n
    CBOR
    \n

    concise-binary-object-representation

    \n
    CRUD
    \n

    Is acronym for the traditional client-server database update policy is CRUD (Create, Read, Update, Delete).

    \n
    CRUD
    \n

    Is acronym for the traditional client-server database update policy is CRUD (Create, Read, Update, Delete).

    \n
    CSPRNG
    \n

    means “Cryptographically Secure Pseudorandom Number Generator,” which means that a sequence of numbers (bits, bytes…) that is produced from an algorithm that is deterministic (the sequence is generated from some unknown internal state), hence pseudorandom is also cryptographically secure, or not.

    \n
    CSPRNG
    \n

    means “Cryptographically Secure Pseudorandom Number Generator,” which means that a sequence of numbers (bits, bytes…) that is produced from an algorithm that is deterministic (the sequence is generated from some unknown internal state), hence pseudorandom is also cryptographically secure, or not.

    \n
    CT
    \n

    certificate-transparency

    \n
    CT
    \n

    certificate-transparency

    \n
    DAG
    \n

    directed-acyclic-graph

    \n
    DAG
    \n

    directed-acyclic-graph

    \n
    DHT
    \n

    distributed-hash-table

    \n
    DHT
    \n

    distributed-hash-table

    \n
    DID
    \n

    decentralized-identifier

    \n
    DID
    \n

    decentralized-identifier

    \n
    DKMI
    \n

    decentralized-key-management-infrastructure

    \n
    DKMI
    \n

    decentralized-key-management-infrastructure

    \n
    DKMI
    \n

    decentralized-key-management-infrastructure

    \n
    DKMI
    \n

    decentralized-key-management-infrastructure

    \n
    E2E
    \n

    end-to-end

    \n
    E2E
    \n

    end-to-end

    \n
    FFI
    \n

    foreign-function-interface

    \n
    FFI
    \n

    foreign-function-interface

    \n
    GLEIF
    \n

    Global Legal Entity Identifier Foundation

    \n
    GLEIF
    \n

    Global Legal Entity Identifier Foundation

    \n
    GPG
    \n

    gnu-privacy-guard

    \n
    GPG
    \n

    gnu-privacy-guard

    \n
    HSM
    \n

    hardware-security-module

    \n
    HSM
    \n

    hardware-security-module

    \n
    I-O
    \n

    input-output

    \n
    I-O
    \n

    input-output

    \n
    IANA
    \n

    internet-assigned-numbers-authority

    \n
    IANA
    \n

    internet-assigned-numbers-authority

    \n
    JOSE
    \n

    javascript-object-signing-and-encryption

    \n
    JOSE
    \n

    javascript-object-signing-and-encryption

    \n
    JSON
    \n

    javascript-object-notation

    \n
    JSON
    \n

    javascript-object-notation

    \n
    LEI
    \n

    Legal Entity Identifier

    \n
    LEI
    \n

    Legal Entity Identifier

    \n
    LLM
    \n

    large-language-model

    \n
    LLM
    \n

    large-language-model

    \n
    LoA
    \n

    levels-of-assurance

    \n
    LoA
    \n

    levels-of-assurance

    \n
    LoC
    \n

    loci-of-control

    \n
    LoC
    \n

    loci-of-control

    \n
    MFA
    \n

    multi-factor-authentication

    \n
    MFA
    \n

    multi-factor-authentication

    \n
    MIME-type
    \n

    media-type

    \n
    MIME-type
    \n

    media-type

    \n
    NFT
    \n

    non-fungible-token

    \n
    NFT
    \n

    non-fungible-token

    \n
    P2P
    \n

    peer-to-peer

    \n
    P2P
    \n

    peer-to-peer

    \n
    PGP
    \n

    pretty-good-privacy

    \n
    PGP
    \n

    pretty-good-privacy

    \n
    PKI
    \n

    public-key-infrastructure

    \n
    PKI
    \n

    public-key-infrastructure

    \n
    PRNG
    \n

    means “Pseudorandom Number Generator” which means that a sequence of numbers (bits, bytes…) is produced from an algorithm which looks random, but is in fact deterministic (the sequence is generated from some unknown internal state), hence pseudorandom.

    \n
    PRNG
    \n

    means “Pseudorandom Number Generator” which means that a sequence of numbers (bits, bytes…) is produced from an algorithm which looks random, but is in fact deterministic (the sequence is generated from some unknown internal state), hence pseudorandom.

    \n
    TCP
    \n

    transmission-control-protocol

    \n
    TEE
    \n

    trusted-execution-environment

    \n
    TEE
    \n

    trusted-execution-environment

    \n
    TPM
    \n

    trusted-platform-module

    \n
    TPM
    \n

    trusted-platform-module

    \n
    UI
    \n

    user-interface

    \n
    UI
    \n

    user-interface

    \n
    URL
    \n

    uniform-resource-locator

    \n
    URL
    \n

    uniform-resource-locator

    \n
    VC
    \n

    verifiable-credential

    \n
    VC
    \n

    verifiable-credential

    \n
    VDS
    \n

    verifiable-data-structure

    \n
    VDS
    \n

    verifiable-data-structure

    \n
    XBRL
    \n

    extensible-business-reporting-language

    \n
    XBRL
    \n

    extensible-business-reporting-language

    \n
    agency
    \n

    Agents can be people, edge computers and the functionality within wallets; the service an agent offers.

    \n
    agency
    \n

    Agents can be people, edge computers and the functionality within wallets; the service an agent offers.

    \n
    append-only-event-logs
    \n

    Append-only is a property of computer data storage such that new data can be appended to the storage, but where existing data is immutable.

    \n
    append-only-event-logs
    \n

    Append-only is a property of computer data storage such that new data can be appended to the storage, but where existing data is immutable.

    \n
    application-programming-interface
    \n

    An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software.

    \n
    application-programming-interface
    \n

    An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software.

    \n
    architectural-decision-record
    \n

    Is a justified software design choice that addresses a functional or non-functional requirement that is architecturally significant.

    \n
    architectural-decision-record
    \n

    Is a justified software design choice that addresses a functional or non-functional requirement that is architecturally significant.

    \n
    authentic-web
    \n

    The authentic web is the internet as a whole giant verifiable data structure. Also called Web5. The web will be one big graph. That’s the mental model of the ‘authentic web’.

    \n
    authentic-web
    \n

    The authentic web is the internet as a whole giant verifiable data structure. Also called Web5. The web will be one big graph. That’s the mental model of the ‘authentic web’.

    \n
    authenticity
    \n

    The quality of having an objectively verifiable origin ; contrast veracity. When a newspaper publishes a story about an event, every faithful reproduction of that story may be authentic — but that does not mean the story was true (has veracity).

    \n
    authenticity
    \n

    The quality of having an objectively verifiable origin ; contrast veracity. When a newspaper publishes a story about an event, every faithful reproduction of that story may be authentic — but that does not mean the story was true (has veracity).

    \n
    authority
    \n

    https://glossary.trustoverip.org/#term:authority

    \n
    authority
    \n

    https://glossary.trustoverip.org/#term:authority

    \n
    authorization
    \n

    Is the function of specifying access rights/privileges to resources, which is related to general information security and computer security, and to access control in particular.

    \n
    authorization
    \n

    Is the function of specifying access rights/privileges to resources, which is related to general information security and computer security, and to access control in particular.

    \n
    autonomic-computing-systems
    \n

    Self managing computing systems using algorithmic governance, from the 90’s way way way before DAOs. KERI creator Sam Smith worked at funded Navy research in the 90’s on autonomic survivable systems as in “self-healing” systems: “We called them autonomic way back then”.

    \n
    autonomic-computing-systems
    \n

    Self managing computing systems using algorithmic governance, from the 90’s way way way before DAOs. KERI creator Sam Smith worked at funded Navy research in the 90’s on autonomic survivable systems as in “self-healing” systems: “We called them autonomic way back then”.

    \n
    base64
    \n

    In computer programming, Base64 is a group of binary-to-text encoding schemes that represent binary data (more specifically, a sequence of 8-bit bytes) in sequences of 24 bits that can be represented by four 6-bit Base64 digits.

    \n
    base64
    \n

    In computer programming, Base64 is a group of binary-to-text encoding schemes that represent binary data (more specifically, a sequence of 8-bit bytes) in sequences of 24 bits that can be represented by four 6-bit Base64 digits.

    \n
    blake3
    \n

    BLAKE3 is a relatively young (2020) cryptographic hash function based on Bao and BLAKE2.

    \n
    blake3
    \n

    BLAKE3 is a relatively young (2020) cryptographic hash function based on Bao and BLAKE2.

    \n
    branch
    \n

    In software development a ‘branch’ refers to the result of branching: the duplication of an object under version control for further separate modification.

    \n
    branch
    \n

    In software development a ‘branch’ refers to the result of branching: the duplication of an object under version control for further separate modification.

    \n
    byzantine-agreement
    \n

    (non PoW) Byzantine Agreement is byzantine-fault-tolerance of distributed computing systems that enable them to come to consensus despite arbitrary behavior from a fraction of the nodes in the network. BA consensus makes no assumptions about the behavior of nodes in the system. Practical Byzantine Fault Tolerance (pBFT) is the prototypical model for Byzantine agreement, and it can reach consensus fast and efficiently while concurrently decoupling consensus from resources (i.e., financial stake in PoS or electricity in PoW).

    \n
    byzantine-agreement
    \n

    (non PoW) Byzantine Agreement is byzantine-fault-tolerance of distributed computing systems that enable them to come to consensus despite arbitrary behavior from a fraction of the nodes in the network. BA consensus makes no assumptions about the behavior of nodes in the system. Practical Byzantine Fault Tolerance (pBFT) is the prototypical model for Byzantine agreement, and it can reach consensus fast and efficiently while concurrently decoupling consensus from resources (i.e., financial stake in PoS or electricity in PoW).

    \n
    byzantine-fault-tolerance
    \n

    A Byzantine fault (also interactive consistency, source congruency, error avalanche, byzantine-agreement problem, Byzantine generals problem, and Byzantine failure) is a condition of a computer system, particularly distributed computing systems, where components may fail and there is imperfect information on whether a component has failed.

    \n
    byzantine-fault-tolerance
    \n

    A Byzantine fault (also interactive consistency, source congruency, error avalanche, byzantine-agreement problem, Byzantine generals problem, and Byzantine failure) is a condition of a computer system, particularly distributed computing systems, where components may fail and there is imperfect information on whether a component has failed.

    \n
    canonicalization
    \n

    In computer science, canonicalization (sometimes standardization or normalization) is a process for converting data that has more than one possible representation into a “standard,” “normal,” or canonical form.

    \n
    canonicalization
    \n

    In computer science, canonicalization (sometimes standardization or normalization) is a process for converting data that has more than one possible representation into a “standard,” “normal,” or canonical form.

    \n
    certificate-transparency
    \n

    Certificate Transparency (CT) is an Internet security standard and open source framework for monitoring and auditing digital certificates. The standard creates a system of public logs that seek to eventually record all certificates issued by publicly trusted certificate authorities, allowing efficient identification of mistakenly or maliciously issued certificates. As of 2021, Certificate Transparency is mandatory for all SSL/TLS certificates.

    \n
    certificate-transparency
    \n

    Certificate Transparency (CT) is an Internet security standard and open source framework for monitoring and auditing digital certificates. The standard creates a system of public logs that seek to eventually record all certificates issued by publicly trusted certificate authorities, allowing efficient identification of mistakenly or maliciously issued certificates. As of 2021, Certificate Transparency is mandatory for all SSL/TLS certificates.

    \n
    chain-of-custody
    \n

    From Wikipedia (Source):

    \n
    chain-of-custody
    \n

    From Wikipedia (Source):

    \n
    Challenge Message
    \n

    A message sent and responded to during an Identity Authentication session.

    \n
    Challenge Message
    \n

    A message sent and responded to during an Identity Authentication session.

    \n
    claim
    \n

    An assertion of the truth of something, typically one which is disputed or in doubt. A set of claims might convey personally identifying information: name, address, date of birth and citizenship, for example. (Source).

    \n
    claim
    \n

    An assertion of the truth of something, typically one which is disputed or in doubt. A set of claims might convey personally identifying information: name, address, date of birth and citizenship, for example. (Source).

    \n
    clone
    \n

    A copy of a system that is - and works exactly as the original

    \n
    clone
    \n

    A copy of a system that is - and works exactly as the original

    \n
    cloud-agent
    \n

    Cloud agent is software that is installed on the cloud server instances in order to provide security, monitoring, and analysis solutions for the cloud. They actually provide information and helps to provide control over cloud entities.

    \n
    cloud-agent
    \n

    Cloud agent is software that is installed on the cloud server instances in order to provide security, monitoring, and analysis solutions for the cloud. They actually provide information and helps to provide control over cloud entities.

    \n
    code-table
    \n

    a code table is the Internet’s most comprehensive yet simple resource for browsing and searching for alt codes, ascii codes, entities in html, unicode characters, and unicode groups and categories.

    \n
    code-table
    \n

    a code table is the Internet’s most comprehensive yet simple resource for browsing and searching for alt codes, ascii codes, entities in html, unicode characters, and unicode groups and categories.

    \n
    collision
    \n

    In cryptography and identity collision generally refers to something going wrong because an identical result has been produced but it refers to - or points to - different sources or assets backing this result.

    \n
    collision
    \n

    In cryptography and identity collision generally refers to something going wrong because an identical result has been produced but it refers to - or points to - different sources or assets backing this result.

    \n
    complementary-integrity-verification
    \n

    A mechanism that can verify integrity independent of needing access to a previous instance or reference version of the information for comparison.

    \n
    complementary-integrity-verification
    \n

    A mechanism that can verify integrity independent of needing access to a previous instance or reference version of the information for comparison.

    \n
    concatenation
    \n

    In formal language theory and computer programming, string concatenation is the operation of joining character strings end-to-end. For example, the concatenation of “snow” and “ball” is “snowball”.

    \n
    concatenation
    \n

    In formal language theory and computer programming, string concatenation is the operation of joining character strings end-to-end. For example, the concatenation of “snow” and “ball” is “snowball”.

    \n
    concise-binary-object-representation
    \n

    It is a binary data serialization format loosely based on JSON authored by C. Bormann. Like JSON it allows the transmission of data objects that contain name–value pairs, but in a more concise manner. This increases processing and transfer speeds at the cost of human readability.

    \n
    confidentiality
    \n

    All statements in a conversation are only known by the parties to that conversation.

    \n
    confidentiality
    \n

    All statements in a conversation are only known by the parties to that conversation.

    \n
    configuration-files
    \n

    In computing, configuration files (commonly known simply as config files) are files used to configure the parameters and initial settings for some computer programs. They are used for user applications, server processes and operating system settings.

    \n
    configuration-files
    \n

    In computing, configuration files (commonly known simply as config files) are files used to configure the parameters and initial settings for some computer programs. They are used for user applications, server processes and operating system settings.

    \n
    consensus-mechanism
    \n

    How groups of entitities come to decisions. In general to learn about consensus mechanisms read any textbook on decision making, automated reasoning, multi-objective decision making, operations research etc.

    \n
    consensus-mechanism
    \n

    How groups of entitities come to decisions. In general to learn about consensus mechanisms read any textbook on decision making, automated reasoning, multi-objective decision making, operations research etc.

    \n
    content-addressable-hash
    \n

    Finding content by a hash of this content, generated by a one-way hash function applied to the content.

    \n
    content-addressable-hash
    \n

    Finding content by a hash of this content, generated by a one-way hash function applied to the content.

    \n
    coroutines
    \n

    Computer programs that can be suspended and resumed at will.

    \n
    coroutines
    \n

    Computer programs that can be suspended and resumed at will.

    \n
    crypto-libraries
    \n

    Cryptography libraries deal with cryptography algorithms and have API function calls to each of the supported features.

    \n
    crypto-libraries
    \n

    Cryptography libraries deal with cryptography algorithms and have API function calls to each of the supported features.

    \n
    cryptocurrency
    \n

    A digital asset designed to work as a medium of exchange wherein individual coin ownership records are stored in a digital ledger or computerized database using strong cryptography to secure transaction record entries, to control the creation of additional digital coin records.

    \n
    cryptocurrency
    \n

    A digital asset designed to work as a medium of exchange wherein individual coin ownership records are stored in a digital ledger or computerized database using strong cryptography to secure transaction record entries, to control the creation of additional digital coin records.

    \n
    cryptographic-commitment-scheme
    \n

    is a cryptographic primitive that allows one to commit to a chosen value (or chosen statement) while keeping it hidden to others, with the ability to reveal the committed value later.

    \n
    cryptographic-commitment-scheme
    \n

    is a cryptographic primitive that allows one to commit to a chosen value (or chosen statement) while keeping it hidden to others, with the ability to reveal the committed value later.

    \n
    cryptographic-primitive
    \n

    the serialization of a value associated with a cryptographic operation including but not limited to a digest (hash), a salt, a seed, a private key, a public key, or a signature.

    \n
    cryptographic-primitive
    \n

    the serialization of a value associated with a cryptographic operation including but not limited to a digest (hash), a salt, a seed, a private key, a public key, or a signature.

    \n
    cryptographic-strength
    \n

    The term “cryptographically strong” is often used to describe an encryption algorithm, and implies, in comparison to some other algorithm (which is thus cryptographically weak), greater resistance to attack. But it can also be used to describe hashing and unique identifier and filename creation algorithms.

    \n
    cryptographic-strength
    \n

    The term “cryptographically strong” is often used to describe an encryption algorithm, and implies, in comparison to some other algorithm (which is thus cryptographically weak), greater resistance to attack. But it can also be used to describe hashing and unique identifier and filename creation algorithms.

    \n
    cryptonym
    \n

    a cryptographic pseudonymous identifier represented by a string of characters derived from a random or pseudo-random secret seed or salt via a one-way cryptographic function with a sufficiently high degree of cryptographic strength (e.g., 128 bits, see appendix on cryptographic-strength. A cryptonym is a type of primitive.

    \n
    cryptonym
    \n

    a cryptographic pseudonymous identifier represented by a string of characters derived from a random or pseudo-random secret seed or salt via a one-way cryptographic function with a sufficiently high degree of cryptographic strength (e.g., 128 bits, see appendix on cryptographic-strength. A cryptonym is a type of primitive.

    \n
    data-anchor
    \n

    Data anchors are digest of digital data, that uniquely identify this data. The digest is the anchor and can be used to identify - and point to the data at the same time.

    \n
    data-anchor
    \n

    Data anchors are digest of digital data, that uniquely identify this data. The digest is the anchor and can be used to identify - and point to the data at the same time.

    \n
    decentralized-identifier
    \n

    Decentralized identifiers (DID) are a new type of identifier that enables verifiable, decentralized digital identity. A DID refers to any subject (e.g., a person, organization, thing, data model, abstract entity, etc.) as determined by the controller of the DID.

    \n
    decentralized-identifier
    \n

    Decentralized identifiers (DID) are a new type of identifier that enables verifiable, decentralized digital identity. A DID refers to any subject (e.g., a person, organization, thing, data model, abstract entity, etc.) as determined by the controller of the DID.

    \n
    decentralized-identity
    \n

    is a technology that uses cryptography to allow individuals to create and control their own unique identifiers. They can use these identifiers to obtain Verifiable Credentials from trusted organizations and, subsequently, present elements of these credentials as proof of claims about themselves. In this model, the individual takes ownership of their own identity and does not need to cede control to centralized service providers or companies.

    \n
    decentralized-identity
    \n

    is a technology that uses cryptography to allow individuals to create and control their own unique identifiers. They can use these identifiers to obtain Verifiable Credentials from trusted organizations and, subsequently, present elements of these credentials as proof of claims about themselves. In this model, the individual takes ownership of their own identity and does not need to cede control to centralized service providers or companies.

    \n
    decentralized-key-management-infrastructure
    \n

    a key management infrastructure that does not rely on a single entity for the integrity and security of the system as a whole. Trust in a DKMI is decentralized through the use of technologies that make it possible for geographically and politically disparate entities to reach an agreement on the key state of an identifier DPKI.

    \n
    decentralized-key-management-infrastructure
    \n

    a key management infrastructure that does not rely on a single entity for the integrity and security of the system as a whole. Trust in a DKMI is decentralized through the use of technologies that make it possible for geographically and politically disparate entities to reach an agreement on the key state of an identifier DPKI.

    \n
    digest
    \n

    verifiable cryptographic commitment. It’s a collision-resistant hash of content.

    \n
    digest
    \n

    verifiable cryptographic commitment. It’s a collision-resistant hash of content.

    \n
    digital-signature
    \n

    A digital signature is a mathematical scheme for verifying the authenticity of digital messages or documents. A valid digital signature, where the prerequisites are satisfied, gives a recipient very strong reason to believe that the message was created by a known sender (authentication), and that the message was not altered in transit (integrity).

    \n
    digital-signature
    \n

    A digital signature is a mathematical scheme for verifying the authenticity of digital messages or documents. A valid digital signature, where the prerequisites are satisfied, gives a recipient very strong reason to believe that the message was created by a known sender (authentication), and that the message was not altered in transit (integrity).

    \n
    directed-acyclic-graph
    \n

    From Wikipedia (source):

    \n
    directed-acyclic-graph
    \n

    From Wikipedia (source):

    \n
    distributed-hash-table
    \n

    It is a distributed system that provides a lookup service similar to a hash table: key-value pairs are stored in a DHT, and any participating node can efficiently retrieve the value associated with a given key. The main advantage of a DHT is that nodes can be added or removed with minimum work around re-distributing keys.

    \n
    distributed-hash-table
    \n

    It is a distributed system that provides a lookup service similar to a hash table: key-value pairs are stored in a DHT, and any participating node can efficiently retrieve the value associated with a given key. The main advantage of a DHT is that nodes can be added or removed with minimum work around re-distributing keys.

    \n
    domain-name
    \n

    A domain name is a string that identifies a realm of administrative autonomy, authority or control within the Internet. Domain names are used in various networking contexts and for application-specific naming and addressing purposes.

    \n
    domain-name
    \n

    A domain name is a string that identifies a realm of administrative autonomy, authority or control within the Internet. Domain names are used in various networking contexts and for application-specific naming and addressing purposes.

    \n
    double-spend-proof
    \n

    Total global ordering of transactions so that value can’t be spent twice at the same time from the unit of value. Or in everyday language: you can’t spend your money twice.

    \n
    double-spend-proof
    \n

    Total global ordering of transactions so that value can’t be spent twice at the same time from the unit of value. Or in everyday language: you can’t spend your money twice.

    \n
    eclipse-attack
    \n

    An eclipse attack is a peer-to-peer network-based attack. Eclipse attack can only be performed on nodes that accept incoming connections from other nodes, and not all nodes accept incoming connections.

    \n
    eclipse-attack
    \n

    An eclipse attack is a peer-to-peer network-based attack. Eclipse attack can only be performed on nodes that accept incoming connections from other nodes, and not all nodes accept incoming connections.

    \n
    electronic-signature
    \n

    An electronic signature, or e-signature, refers to data in electronic form, which is logically associated with other data in electronic form and which is used by the signatory to sign. This type of signature has the same legal standing as a handwritten signature as long as it adheres to the requirements of the specific regulation under which it was created (e.g., eIDAS in the European Union, NIST-DSS in the USA or ZertES in Switzerland).

    \n
    electronic-signature
    \n

    An electronic signature, or e-signature, refers to data in electronic form, which is logically associated with other data in electronic form and which is used by the signatory to sign. This type of signature has the same legal standing as a handwritten signature as long as it adheres to the requirements of the specific regulation under which it was created (e.g., eIDAS in the European Union, NIST-DSS in the USA or ZertES in Switzerland).

    \n
    end-to-end
    \n

    Inter-host communication and data flow transformations, considered in motion and at rest.

    \n
    end-to-end
    \n

    Inter-host communication and data flow transformations, considered in motion and at rest.

    \n
    entity
    \n

    entity in the #essiflab glossary.

    \n
    entity
    \n

    entity in the #essiflab glossary.

    \n
    entropy
    \n

    Unpredictable information. Often used as a secret or as input to a key generation algorithm.

    \n
    entropy
    \n

    Unpredictable information. Often used as a secret or as input to a key generation algorithm.

    \n
    ephemeral
    \n

    Lasting for a markedly brief time. Having a short lifespan.

    \n
    ephemeral
    \n

    Lasting for a markedly brief time. Having a short lifespan.

    \n
    escrow
    \n

    ‘Escrow’ as a noun is a (legal) arrangement in which a third party temporarily holds money or property until a particular condition has been met.

    \n
    escrow
    \n

    ‘Escrow’ as a noun is a (legal) arrangement in which a third party temporarily holds money or property until a particular condition has been met.

    \n
    extensible-business-reporting-language
    \n

    XBRL is the open international standard for digital business reporting, managed by a global not for profit consortium, XBRL International.

    \n
    extensible-business-reporting-language
    \n

    XBRL is the open international standard for digital business reporting, managed by a global not for profit consortium, XBRL International.

    \n
    foreign-function-interface
    \n

    Is a mechanism by which a program written in one, usually an interpreted (scripted), programming language that can call routines or make use of services written or compiled in another one.

    \n
    foreign-function-interface
    \n

    Is a mechanism by which a program written in one, usually an interpreted (scripted), programming language that can call routines or make use of services written or compiled in another one.

    \n
    gnu-privacy-guard
    \n

    also GnuPG; is a free-software replacement for Symantec’s PGP cryptographic software suite. It is compliant with RFC 4880, the IETF standards-track specification of OpenPGP. Modern versions of PGP are interoperable with GnuPG and other OpenPGP-compliant systems.

    \n
    gnu-privacy-guard
    \n

    also GnuPG; is a free-software replacement for Symantec’s PGP cryptographic software suite. It is compliant with RFC 4880, the IETF standards-track specification of OpenPGP. Modern versions of PGP are interoperable with GnuPG and other OpenPGP-compliant systems.

    \n
    governance-framework
    \n

    Also called ‘Governance structure’. Governance frameworks are the structure of a government and reflect the interrelated relationships, factors, and other influences upon the institution. Governance frameworks structure and delineate power and the governing or management roles in an organization. They also set rules, procedures, and other informational guidelines.

    \n
    governance-framework
    \n

    Also called ‘Governance structure’. Governance frameworks are the structure of a government and reflect the interrelated relationships, factors, and other influences upon the institution. Governance frameworks structure and delineate power and the governing or management roles in an organization. They also set rules, procedures, and other informational guidelines.

    \n
    hardware-security-module
    \n

    A HSM is a physical computing device that safeguards and manages secrets (most importantly digital keys), performs encryption and decryption functions for digital signatures, strong authenticity and other cryptographic functions.

    \n
    hardware-security-module
    \n

    A HSM is a physical computing device that safeguards and manages secrets (most importantly digital keys), performs encryption and decryption functions for digital signatures, strong authenticity and other cryptographic functions.

    \n
    hierarchical-asynchronous-coroutines-and-input-output
    \n

    HIO is an acronym which stands for ‘Weightless hierarchical asynchronous coroutines and I/O in Python’.

    \n
    hierarchical-asynchronous-coroutines-and-input-output
    \n

    HIO is an acronym which stands for ‘Weightless hierarchical asynchronous coroutines and I/O in Python’.

    \n
    hierchical-deterministic-keys
    \n

    An HDK type is a deterministic Bitcoin wallet derived from a known seed that allows child keys to be created from the parent key. Because the child key is generated from a known seed, a relationship between the child and parent keys is invisible to anyone without that seed.

    \n
    hierchical-deterministic-keys
    \n

    An HDK type is a deterministic Bitcoin wallet derived from a known seed that allows child keys to be created from the parent key. Because the child key is generated from a known seed, a relationship between the child and parent keys is invisible to anyone without that seed.

    \n
    hio
    \n

    Weightless hierarchical asynchronous coroutines and I/O in Python.

    \n
    hio
    \n

    Weightless hierarchical asynchronous coroutines and I/O in Python.

    \n
    identifier-system
    \n

    a system for uniquely identifying (public) identities

    \n
    identifier-system
    \n

    a system for uniquely identifying (public) identities

    \n
    identifier
    \n

    Something to uniquely identify (public) identities; pointing to something or someone else.

    \n
    identifier
    \n

    Something to uniquely identify (public) identities; pointing to something or someone else.

    \n
    identity
    \n

    A unique entity. Typically represented by a unique identifier.

    \n
    identity
    \n

    A unique entity. Typically represented by a unique identifier.

    \n
    inconsistency
    \n

    If a reason, idea, opinion, etc. is inconsistent, different parts of it do not agree, or it does not agree with something else. Data inconsistency occurs when similar data is kept in different formats in more than one file. When this happens, it is important to match the data between files.

    \n
    inconsistency
    \n

    If a reason, idea, opinion, etc. is inconsistent, different parts of it do not agree, or it does not agree with something else. Data inconsistency occurs when similar data is kept in different formats in more than one file. When this happens, it is important to match the data between files.

    \n
    input-output
    \n

    In computing, input/output (I/O, or informally io or IO) is the communication between an information processing system, such as a computer, and the outside world, possibly a human or another information processing system. Inputs are the signals or data received by the system and outputs are the signals or data sent from it. The term can also be used as part of an action; to “perform I/O” is to perform an input or output operation.

    \n
    input-output
    \n

    In computing, input/output (I/O, or informally io or IO) is the communication between an information processing system, such as a computer, and the outside world, possibly a human or another information processing system. Inputs are the signals or data received by the system and outputs are the signals or data sent from it. The term can also be used as part of an action; to “perform I/O” is to perform an input or output operation.

    \n
    integrity
    \n

    Integrity (of a message or data) means that the information is whole, sound, and unimpaired (not necessarily correct). It means nothing is missing from the information; it is complete and in intended good order.

    \n
    internal-inconsistency
    \n

    Internal is used to describe things that exist or happen inside an entity. In our scope of digital identifier its (in)consistency is considered within the defining data structures and related data stores.

    \n
    internal-inconsistency
    \n

    Internal is used to describe things that exist or happen inside an entity. In our scope of digital identifier its (in)consistency is considered within the defining data structures and related data stores.

    \n
    internet-assigned-numbers-authority
    \n

    is the organization that oversees the allocation of IP addresses to internet service providers (ISPs).

    \n
    internet-assigned-numbers-authority
    \n

    is the organization that oversees the allocation of IP addresses to internet service providers (ISPs).

    \n
    interoperability
    \n

    Interoperability is a characteristic of a product or system to work with other products or systems. While the term was initially defined for information technology or systems engineering services to allow for information exchange.

    \n
    interoperability
    \n

    Interoperability is a characteristic of a product or system to work with other products or systems. While the term was initially defined for information technology or systems engineering services to allow for information exchange.

    \n
    interoperable
    \n

    interoperability

    \n
    interoperable
    \n

    interoperability

    \n
    ip-address
    \n

    An Internet Protocol address (IP address) is a numerical label such as ‘192.0.2.1’ that is connected to a computer network that uses the Internet Protocol for communication. An IP address serves two main functions: network interface identification and location addressing.

    \n
    ip-address
    \n

    An Internet Protocol address (IP address) is a numerical label such as ‘192.0.2.1’ that is connected to a computer network that uses the Internet Protocol for communication. An IP address serves two main functions: network interface identification and location addressing.

    \n
    javascript-object-notation
    \n

    JSON (JavaScript Object Notation, pronounced /ˈdʒeɪsən/; also /ˈdʒeɪˌsɒn/) is an open standard file format and data interchange format that uses human-readable text to store and transmit data objects consisting of attribute–value pairs and arrays (or other serializable values). It is a common data format with diverse uses in electronic data interchange, including that of web applications with servers.

    \n
    javascript-object-notation
    \n

    JSON (JavaScript Object Notation, pronounced /ˈdʒeɪsən/; also /ˈdʒeɪˌsɒn/) is an open standard file format and data interchange format that uses human-readable text to store and transmit data objects consisting of attribute–value pairs and arrays (or other serializable values). It is a common data format with diverse uses in electronic data interchange, including that of web applications with servers.

    \n
    javascript-object-signing-and-encryption
    \n

    is a framework intended to provide a method to securely transfer claims (such as authorization information) between parties. The JOSE framework provides a collection of specifications to serve this purpose.

    \n
    javascript-object-signing-and-encryption
    \n

    is a framework intended to provide a method to securely transfer claims (such as authorization information) between parties. The JOSE framework provides a collection of specifications to serve this purpose.

    \n
    key-compromise
    \n

    Basically there are three infrastructures that are included in “key management” systems that must be protected:

    \n
    key-compromise
    \n

    Basically there are three infrastructures that are included in “key management” systems that must be protected:

    \n
    key-management
    \n

    management of cryptographic keys in a crypto-system. This includes dealing with the generation, exchange, storage, use, crypto-shredding (destruction) and replacement of keys (also #key-rotation). It includes cryptographic protocol design, key servers, user procedures, and other relevant protocols.

    \n
    key-management
    \n

    management of cryptographic keys in a crypto-system. This includes dealing with the generation, exchange, storage, use, crypto-shredding (destruction) and replacement of keys (also #key-rotation). It includes cryptographic protocol design, key servers, user procedures, and other relevant protocols.

    \n
    key-pair
    \n

    is a private key and its corresponding public key resulting from a one-way crypto-graphical function; a key pair is used with an asymmetric-key (public-key) algorithm in a so called public-key-infrastructure (PKI).

    \n
    key-pair
    \n

    is a private key and its corresponding public key resulting from a one-way crypto-graphical function; a key pair is used with an asymmetric-key (public-key) algorithm in a so called public-key-infrastructure (PKI).

    \n
    key-state
    \n

    a set of currently authoritative keypairs for an AID and any other information necessary to secure or establish control authority over an AID. This includes current keys, prior next key digests, current thresholds, prior next thresholds, witnesses, witness thresholds, and configurations.

    \n
    key-state
    \n

    a set of currently authoritative keypairs for an AID and any other information necessary to secure or establish control authority over an AID. This includes current keys, prior next key digests, current thresholds, prior next thresholds, witnesses, witness thresholds, and configurations.

    \n
    key-stretching
    \n

    In cryptography, key stretching techniques are used to make a possibly weak key, typically a password or passphrase, more secure against a brute-force attack by increasing the resources (time and possibly space) it takes to test each possible key.

    \n
    key-stretching
    \n

    In cryptography, key stretching techniques are used to make a possibly weak key, typically a password or passphrase, more secure against a brute-force attack by increasing the resources (time and possibly space) it takes to test each possible key.

    \n
    key-transparency
    \n

    provides a lookup service for generic records and a public, tamper-proof audit log of all record changes. While being publicly auditable, individual records are only revealed in response to queries for specific IDs.

    \n
    key-transparency
    \n

    provides a lookup service for generic records and a public, tamper-proof audit log of all record changes. While being publicly auditable, individual records are only revealed in response to queries for specific IDs.

    \n
    key
    \n

    In our digital scope it’s a mechanism for granting or restricting access to something. MAY be used to issue and prove, MAY be used to transfer and control over identity and cryptocurrency. More

    \n
    key
    \n

    In our digital scope it’s a mechanism for granting or restricting access to something. MAY be used to issue and prove, MAY be used to transfer and control over identity and cryptocurrency. More

    \n
    keystore
    \n

    A keystore in KERI is the encrypted data store that hold the private keys for a collection of AIDs.

    \n
    keystore
    \n

    A keystore in KERI is the encrypted data store that hold the private keys for a collection of AIDs.

    \n
    large-language-model
    \n

    A large language model (LLM) is a language model consisting of a neural network with many parameters (typically billions of weights or more), trained on large quantities of unlabeled text using self-supervised learning or semi-supervised learning.

    \n
    large-language-model
    \n

    A large language model (LLM) is a language model consisting of a neural network with many parameters (typically billions of weights or more), trained on large quantities of unlabeled text using self-supervised learning or semi-supervised learning.

    \n
    lead-bytes
    \n

    In order to avoid confusion with the use of the term pad character, when pre-padding with bytes that are not replaced later, we use the term lead bytes. So lead-bytes are added “pre-conversion”.

    \n
    lead-bytes
    \n

    In order to avoid confusion with the use of the term pad character, when pre-padding with bytes that are not replaced later, we use the term lead bytes. So lead-bytes are added “pre-conversion”.

    \n
    legal-entity
    \n

    Unique parties that are legally or financially responsible for the performance of financial transactions or have the legal right in their jurisdiction to enter independently into legal contracts.

    \n
    legal-entity
    \n

    Unique parties that are legally or financially responsible for the performance of financial transactions or have the legal right in their jurisdiction to enter independently into legal contracts.

    \n
    levels-of-assurance
    \n

    Identity and other trust decisions are often not binary. They are judgement calls. Any time that judgement is not a simple “Yes/No” answer, you have the option for levels of assurance. Also ‘LoA’.

    \n
    levels-of-assurance
    \n

    Identity and other trust decisions are often not binary. They are judgement calls. Any time that judgement is not a simple “Yes/No” answer, you have the option for levels of assurance. Also ‘LoA’.

    \n
    liveness
    \n

    Liveness refers to a set of properties of concurrent systems, that require a system to make progress despite the fact that its concurrently executing components (“processes”) may have to “take turns” in critical sections, parts of the program that cannot be simultaneously run by multiple processes.

    \n
    liveness
    \n

    Liveness refers to a set of properties of concurrent systems, that require a system to make progress despite the fact that its concurrently executing components (“processes”) may have to “take turns” in critical sections, parts of the program that cannot be simultaneously run by multiple processes.

    \n
    loci-of-control
    \n

    Locus of control is the degree to which people believe that they, as opposed to external forces (beyond their influence), have control over the outcome of events in their lives. Also ‘LoC’.

    \n
    loci-of-control
    \n

    Locus of control is the degree to which people believe that they, as opposed to external forces (beyond their influence), have control over the outcome of events in their lives. Also ‘LoC’.

    \n
    media-type
    \n

    A Media type (formerly known as MIME type) is a standard way to indicate the nature and format of a file, in the same way as ‘image/jpeg’ for JPEG images, used on the internet.

    \n
    media-type
    \n

    A Media type (formerly known as MIME type) is a standard way to indicate the nature and format of a file, in the same way as ‘image/jpeg’ for JPEG images, used on the internet.

    \n
    message
    \n

    a serialized data structure that comprises its body and a set of serialized data structures that are its attachments. Attachments may include but are not limited to signatures on the body.

    \n
    message
    \n

    a serialized data structure that comprises its body and a set of serialized data structures that are its attachments. Attachments may include but are not limited to signatures on the body.

    \n
    messagepack
    \n

    MessagePack is a computer data interchange format. It is a binary form for representing simple data structures like arrays and associative arrays. MessagePack aims to be as compact and simple as possible. The official implementation is available in a variety of languages

    \n
    messagepack
    \n

    MessagePack is a computer data interchange format. It is a binary form for representing simple data structures like arrays and associative arrays. MessagePack aims to be as compact and simple as possible. The official implementation is available in a variety of languages

    \n
    multi-factor-authentication
    \n

    Authentication by combining multiple security factors. Well-known factors are what you know, what you have and what you are.

    \n
    multi-factor-authentication
    \n

    Authentication by combining multiple security factors. Well-known factors are what you know, what you have and what you are.

    \n
    multicodec
    \n

    Is a self-describing multi-format, it wraps other formats with a tiny bit of self-description. A multi-codec identifier is both a variant (variable length integer) and the code identifying data.

    \n
    multicodec
    \n

    Is a self-describing multi-format, it wraps other formats with a tiny bit of self-description. A multi-codec identifier is both a variant (variable length integer) and the code identifying data.

    \n
    multiplexing
    \n

    In telecommunications and computer networking, multiplexing (sometimes contracted to muxing) is a method by which multiple analog or digital signals are combined into one signal over a shared medium. The aim is to share a scarce resource - a physical transmission medium.

    \n
    multiplexing
    \n

    In telecommunications and computer networking, multiplexing (sometimes contracted to muxing) is a method by which multiple analog or digital signals are combined into one signal over a shared medium. The aim is to share a scarce resource - a physical transmission medium.

    \n
    multisig
    \n

    also multi-signature or multisignature; is a digital signature scheme which allows a group of users to sign a single piece of digital data.

    \n
    multisig
    \n

    also multi-signature or multisignature; is a digital signature scheme which allows a group of users to sign a single piece of digital data.

    \n
    namespace
    \n

    In an identity system, an identifier can be generalized to a namespace to provide a systematic way of organizing identifiers for related resources and their attributes. A namespace is a grouping of symbols or identifiers for a set of related objects.

    \n
    namespace
    \n

    In an identity system, an identifier can be generalized to a namespace to provide a systematic way of organizing identifiers for related resources and their attributes. A namespace is a grouping of symbols or identifiers for a set of related objects.

    \n
    Non-Disclosure Agreement
    \n

    An agreement that outlines requirements for handling confidential information

    \n
    Non-Disclosure Agreement
    \n

    An agreement that outlines requirements for handling confidential information

    \n
    Non-Disclosure Agreement
    \n

    An agreement that outlines requirements for handling confidential information

    \n
    non-fungible-token
    \n

    A non-fungible token (NFT) is a financial security consisting of digital data stored in a blockchain, a form of distributed ledger.

    \n
    non-fungible-token
    \n

    A non-fungible token (NFT) is a financial security consisting of digital data stored in a blockchain, a form of distributed ledger.

    \n
    non-normative
    \n

    A theory is called non-normative if it does not do what has described under ‘normative’. In general, the purpose of non-normative theories is not to give answers, but rather to describe possibilities or predict what might happen as a result of certain actions.

    \n
    non-normative
    \n

    A theory is called non-normative if it does not do what has described under ‘normative’. In general, the purpose of non-normative theories is not to give answers, but rather to describe possibilities or predict what might happen as a result of certain actions.

    \n
    normative
    \n

    a theory is “normative” if it, in some sense, tells you what you should do - what action you should take. If it includes a usable procedure for determining the optimal action in a given scenario.

    \n
    normative
    \n

    a theory is “normative” if it, in some sense, tells you what you should do - what action you should take. If it includes a usable procedure for determining the optimal action in a given scenario.

    \n
    one-way-function
    \n

    In computer science, a one-way function is a function that is easy to compute on every input, but hard to invert given the image of a random input. Here, “easy” and “hard” are to be understood in the sense of computational complexity theory, specifically the theory of polynomial time problems.

    \n
    one-way-function
    \n

    In computer science, a one-way function is a function that is easy to compute on every input, but hard to invert given the image of a random input. Here, “easy” and “hard” are to be understood in the sense of computational complexity theory, specifically the theory of polynomial time problems.

    \n
    owner
    \n

    Owner in ToIP glossary

    \n
    owner
    \n

    Owner in ToIP glossary

    \n
    ownership
    \n

    Ownership in ToIP glossary

    \n
    ownership
    \n

    Ownership in ToIP glossary

    \n
    pad
    \n

    is a character used to fill empty space, because many applications have fields that must be a particular length.

    \n
    pad
    \n

    is a character used to fill empty space, because many applications have fields that must be a particular length.

    \n
    passcode
    \n

    A password, sometimes called a passcode (for example in Apple devices), is secret data, typically a string of characters, usually used to confirm a user’s identity.

    \n
    passcode
    \n

    A password, sometimes called a passcode (for example in Apple devices), is secret data, typically a string of characters, usually used to confirm a user’s identity.

    \n
    payload
    \n

    The term ‘payload’ is used to distinguish between the ‘interesting’ information in a chunk of data or similar and the overhead to support it. The payload refers to the interesting part.

    \n
    payload
    \n

    The term ‘payload’ is used to distinguish between the ‘interesting’ information in a chunk of data or similar and the overhead to support it. The payload refers to the interesting part.

    \n
    pdf
    \n

    A document in the standard portable document format “pdf”-format

    \n
    pdf
    \n

    A document in the standard portable document format “pdf”-format

    \n
    peer-to-peer
    \n

    Peer-to-peer (P2P) computing or networking is a distributed application architecture that partitions tasks or workloads between peers. Peers are equally privileged, equipotent participants in the network. They are said to form a peer-to-peer network of nodes

    \n
    peer-to-peer
    \n

    Peer-to-peer (P2P) computing or networking is a distributed application architecture that partitions tasks or workloads between peers. Peers are equally privileged, equipotent participants in the network. They are said to form a peer-to-peer network of nodes

    \n
    perfect-security
    \n

    a special case of Information theoretic security itps.

    \n
    perfect-security
    \n

    a special case of Information theoretic security itps.

    \n
    persistent-data-structure
    \n

    An append only verifiable data structure. What we sign may not change.

    \n
    persistent-data-structure
    \n

    An append only verifiable data structure. What we sign may not change.

    \n
    pipelining
    \n

    In computing, a pipeline, also known as a data pipeline, is a set of data processing elements connected in series, where the output of one element is the input of the next one. The elements of a pipeline are often executed in parallel or in time-sliced fashion. Some amount of buffer storage is often inserted between elements.

    \n
    pipelining
    \n

    In computing, a pipeline, also known as a data pipeline, is a set of data processing elements connected in series, where the output of one element is the input of the next one. The elements of a pipeline are often executed in parallel or in time-sliced fashion. Some amount of buffer storage is often inserted between elements.

    \n
    post-pad
    \n

    the action and / or result of extending a string with trailing pad characters to align to a certain length in bits or bytes.

    \n
    post-pad
    \n

    the action and / or result of extending a string with trailing pad characters to align to a certain length in bits or bytes.

    \n
    post-quantum
    \n

    In cryptography, post-quantum cryptography (PQC) (sometimes referred to as quantum-proof, quantum-safe or quantum-resistant) refers to cryptographic algorithms (usually public-key algorithms) that are thought to be secure against a cryptanalytic attack by a quantum computer.

    \n
    post-quantum
    \n

    In cryptography, post-quantum cryptography (PQC) (sometimes referred to as quantum-proof, quantum-safe or quantum-resistant) refers to cryptographic algorithms (usually public-key algorithms) that are thought to be secure against a cryptanalytic attack by a quantum computer.

    \n
    pre-pad
    \n

    the action and / or result of prepending a string with leading pad characters to align to a certain length in bits or bytes.

    \n
    pre-pad
    \n

    the action and / or result of prepending a string with leading pad characters to align to a certain length in bits or bytes.

    \n
    pretty-good-privacy
    \n

    Is an encryption program that provides cryptographic privacy and authentication for data communication. PGP is used for signing, encrypting, and decrypting texts, e-mails, files, directories, and whole disk partitions and to increase the security of e-mail communications. Phil Zimmermann developed PGP in 1991.

    \n
    pretty-good-privacy
    \n

    Is an encryption program that provides cryptographic privacy and authentication for data communication. PGP is used for signing, encrypting, and decrypting texts, e-mails, files, directories, and whole disk partitions and to increase the security of e-mail communications. Phil Zimmermann developed PGP in 1991.

    \n
    primitive
    \n

    a serialization of a unitary value. All Primitives in KERI must be expressed in composable-event-streaming-representation.

    \n
    primitive
    \n

    a serialization of a unitary value. All Primitives in KERI must be expressed in composable-event-streaming-representation.

    \n
    privacy
    \n

    Privacy is the ability of an individual or group to seclude themselves or information about themselves, and thereby express themselves selectively.

    \n
    privacy
    \n

    Privacy is the ability of an individual or group to seclude themselves or information about themselves, and thereby express themselves selectively.

    \n
    proof-of-authority
    \n

    Proof that somebody or something has certain rights or permissions. It’s about data. Whereas proof-of-authorship is about data and its original creator.

    \n
    proof-of-authority
    \n

    Proof that somebody or something has certain rights or permissions. It’s about data. Whereas proof-of-authorship is about data and its original creator.

    \n
    protocol
    \n

    Generic term to describe a code of correct conduct. Also called “etiquette”: a code of personal behavior.

    \n
    protocol
    \n

    Generic term to describe a code of correct conduct. Also called “etiquette”: a code of personal behavior.

    \n
    provenance
    \n

    From Wikipedia (Source):

    \n
    provenance
    \n

    From Wikipedia (Source):

    \n
    pseudo-random-number
    \n

    A (set of) value(s) or element(s) that is statistically random, but it is derived from a known starting point and is typically repeated over and over.

    \n
    pseudo-random-number
    \n

    A (set of) value(s) or element(s) that is statistically random, but it is derived from a known starting point and is typically repeated over and over.

    \n
    public-key-infrastructure
    \n

    Is a set of roles, policies, hardware, software and procedures needed to create, manage, distribute, use, store and revoke digital certificates and manage public-key encryption.

    \n
    public-key-infrastructure
    \n

    Is a set of roles, policies, hardware, software and procedures needed to create, manage, distribute, use, store and revoke digital certificates and manage public-key encryption.

    \n
    race-condition
    \n

    A race condition or race hazard is the condition of an electronics, software, or other system where the system’s substantive behavior is dependent on the sequence or timing of other uncontrollable events. It becomes a bug when one or more of the possible behaviors is undesirable.

    \n
    race-condition
    \n

    A race condition or race hazard is the condition of an electronics, software, or other system where the system’s substantive behavior is dependent on the sequence or timing of other uncontrollable events. It becomes a bug when one or more of the possible behaviors is undesirable.

    \n
    rainbow-table-attack
    \n

    A rainbow table attack is a password-cracking method that uses a special table (a “rainbow table”) to crack the password hashes in a database.

    \n
    rainbow-table-attack
    \n

    A rainbow table attack is a password-cracking method that uses a special table (a “rainbow table”) to crack the password hashes in a database.

    \n
    registry
    \n

    In our digital mental model it’s an official digital record book. When people refer to a registry, they usually mean a specific instance, within a multi-tenant registry. E.g. Docker Hub is a multi-tenant registry, where there’s a set of official / public images.

    \n
    registry
    \n

    In our digital mental model it’s an official digital record book. When people refer to a registry, they usually mean a specific instance, within a multi-tenant registry. E.g. Docker Hub is a multi-tenant registry, where there’s a set of official / public images.

    \n
    replay-attack
    \n

    A replay attack occurs when a cybercriminal eavesdrops on a secure network communication, intercepts it, and then fraudulently delays or resends it to misdirect the receiver into doing what the hacker wants.

    \n
    replay-attack
    \n

    A replay attack occurs when a cybercriminal eavesdrops on a secure network communication, intercepts it, and then fraudulently delays or resends it to misdirect the receiver into doing what the hacker wants.

    \n
    repo
    \n

    Software is our line of work. In this, ‘repo’ is the short hand for ‘Repository’, mostly referring to a software repo(sitory) on Github.com, Gitlab (https://gitlab.com) or other software repository hosting services.

    \n
    repo
    \n

    Software is our line of work. In this, ‘repo’ is the short hand for ‘Repository’, mostly referring to a software repo(sitory) on Github.com, Gitlab (https://gitlab.com) or other software repository hosting services.

    \n
    revocation
    \n

    Revocation is the act of recall or annulment. It is the cancelling of an act, the recalling of a grant or privilege, or the making void of some deed previously existing.

    \n
    revocation
    \n

    Revocation is the act of recall or annulment. It is the cancelling of an act, the recalling of a grant or privilege, or the making void of some deed previously existing.

    \n
    ricardian-contract
    \n

    The Ricardian contract, as invented by Ian Grigg in 1996, is a method of recording a document as a contract at law, and linking it securely to other systems, such as accounting, for the contract as an issuance of value.

    \n
    ricardian-contract
    \n

    The Ricardian contract, as invented by Ian Grigg in 1996, is a method of recording a document as a contract at law, and linking it securely to other systems, such as accounting, for the contract as an issuance of value.

    \n
    root-of-trust
    \n

    A root-of-trust is some component of a system that is security by design and its security characteristics may be inherently trusted or relied upon by other components of the system.

    \n
    root-of-trust
    \n

    A root-of-trust is some component of a system that is security by design and its security characteristics may be inherently trusted or relied upon by other components of the system.

    \n
    salt
    \n

    random data fed as an additional input to a one-way function that hashes data.

    \n
    salt
    \n

    random data fed as an additional input to a one-way function that hashes data.

    \n
    schema-namespace-registry
    \n

    a centrally managed schema-registry where corporations or individuals reserve schemas within a specific namespace in order to have an interoperable schema that is labeled with a corporation-specific or individual-specific namespace.

    \n
    schema-namespace-registry
    \n

    a centrally managed schema-registry where corporations or individuals reserve schemas within a specific namespace in order to have an interoperable schema that is labeled with a corporation-specific or individual-specific namespace.

    \n
    schema-registry
    \n

    Central registry for credential schemas based on namespaces.

    \n
    schema-registry
    \n

    Central registry for credential schemas based on namespaces.

    \n
    seal
    \n

    a seal is a cryptographic commitment in the form of a cryptographic digest or hash tree root (Merkle root) that anchors arbitrary data or a tree of hashes of arbitrary data to a particular event in the key event sequence.

    \n
    seal
    \n

    a seal is a cryptographic commitment in the form of a cryptographic digest or hash tree root (Merkle root) that anchors arbitrary data or a tree of hashes of arbitrary data to a particular event in the key event sequence.

    \n
    Secure Sockets Layer
    \n

    The original transport layer security protocol developed by Netscape and partners. Now deprecated in favor of Transport Layer Security (TLS).

    \n
    Secure Sockets Layer
    \n

    The original transport layer security protocol developed by Netscape and partners. Now deprecated in favor of Transport Layer Security (TLS).

    \n
    security-overlay-properties-trillema
    \n

    An identifier system has some degree of any combination of the three properties authenticity, privacy and confidentiality, but not all three completely.

    \n
    security-overlay-properties-trillema
    \n

    An identifier system has some degree of any combination of the three properties authenticity, privacy and confidentiality, but not all three completely.

    \n
    seed
    \n

    In cryptography a ‘seed’ is a pseudorandomly generated number, often expressed in representation of a series of words.

    \n
    seed
    \n

    In cryptography a ‘seed’ is a pseudorandomly generated number, often expressed in representation of a series of words.

    \n
    self-sovereignty
    \n

    Self sovereignty in Trust over IP wiki.

    \n
    self-sovereignty
    \n

    Self sovereignty in Trust over IP wiki.

    \n
    semver
    \n

    Semantic Versioning Specification 2.0. See also (https://semver.org/)[https://semver.org/].

    \n
    semver
    \n

    Semantic Versioning Specification 2.0. See also (https://semver.org/)[https://semver.org/].

    \n
    service-endpoint
    \n

    In our context we consider a web service endpoint which is a uniform-resource-locator at which clients of specific service can get access to the service.

    \n
    service-endpoint
    \n

    In our context we consider a web service endpoint which is a uniform-resource-locator at which clients of specific service can get access to the service.

    \n
    Service Level Agreement
    \n

    A document that contains detailed descriptions of the services to be provided by service parties and the service level requirements expected for these services.

    \n
    Service Level Agreement
    \n

    A document that contains detailed descriptions of the services to be provided by service parties and the service level requirements expected for these services.

    \n
    Service Level Agreement
    \n

    A document that contains detailed descriptions of the services to be provided by service parties and the service level requirements expected for these services.

    \n
    signed-digest
    \n

    commitment to content, by digitally signing a digest of this content.

    \n
    signed-digest
    \n

    commitment to content, by digitally signing a digest of this content.

    \n
    signing-threshold
    \n

    Is the minimum number of valid signatures to satisfy the requirement for successful verification in a threshold-signature-scheme.

    \n
    signing-threshold
    \n

    Is the minimum number of valid signatures to satisfy the requirement for successful verification in a threshold-signature-scheme.

    \n
    source-of-truth
    \n

    The source of truth is a trusted data source that gives a complete picture of the data object as a whole.

    \n
    source-of-truth
    \n

    The source of truth is a trusted data source that gives a complete picture of the data object as a whole.

    \n
    spanning-layer
    \n

    An all encompassing layer horizontal layer in a software architecture. Each trust layer only spans platform specific applications. It bifurcates the internet trust map into domain silos (e.g. twitter.com), because there is no spanning trust layer.

    \n
    spanning-layer
    \n

    An all encompassing layer horizontal layer in a software architecture. Each trust layer only spans platform specific applications. It bifurcates the internet trust map into domain silos (e.g. twitter.com), because there is no spanning trust layer.

    \n
    SSL
    \n

    See: Secure Sockets Layer.

    \n
    sub-shell
    \n

    A subshell is basically a new shell just to run a desired program. A subshell can access the global variables set by the ‘parent shell’ but not the local variables. Any changes made by a subshell to a global variable is not passed to the parent shell.

    \n
    sub-shell
    \n

    A subshell is basically a new shell just to run a desired program. A subshell can access the global variables set by the ‘parent shell’ but not the local variables. Any changes made by a subshell to a global variable is not passed to the parent shell.

    \n
    supermajority
    \n

    Sufficient majority that is labeled immune from certain kinds of attacks or faults.

    \n
    supermajority
    \n

    Sufficient majority that is labeled immune from certain kinds of attacks or faults.

    \n
    tcp-endpoint
    \n

    This is a service-endpoint of the web transmission-control-protocol

    \n
    tcp-endpoint
    \n

    This is a service-endpoint of the web transmission-control-protocol

    \n
    threshold-structure-security
    \n

    A threshold structure for security allows for weaker key management or execution environment infrastructure individually, but achieve greater overall security by multiplying the number of attack surfaces that an attacker must overcome to compromise a system.

    \n
    threshold-structure-security
    \n

    A threshold structure for security allows for weaker key management or execution environment infrastructure individually, but achieve greater overall security by multiplying the number of attack surfaces that an attacker must overcome to compromise a system.

    \n
    trans-contextual-value
    \n

    Value that is transferrable between contexts. How do we recapture the value in our data? 1- Leverage cooperative network effects 2- Retake control of our data.

    \n
    trans-contextual-value
    \n

    Value that is transferrable between contexts. How do we recapture the value in our data? 1- Leverage cooperative network effects 2- Retake control of our data.

    \n
    Transmission Control Protocol
    \n

    The Transmission Control Protocol (TCP) is one of the main protocols of the Internet protocol suite. It originated in the initial network implementation in which it complemented the Internet Protocol (IP). Therefore, the entire suite is commonly referred to as TCP/IP. TCP provides reliable, ordered, and error-checked delivery of a stream of octets (bytes) between applications running on hosts communicating via an IP network. Major internet applications such as the World Wide Web, email, remote administration, and file transfer rely on TCP, which is part of the Transport Layer of the TCP/IP suite. SSL/TLS often runs on top of TCP.

    \n
    Transmission Control Protocol
    \n

    The Transmission Control Protocol (TCP) is one of the main protocols of the Internet protocol suite. It originated in the initial network implementation in which it complemented the Internet Protocol (IP). Therefore, the entire suite is commonly referred to as TCP/IP. TCP provides reliable, ordered, and error-checked delivery of a stream of octets (bytes) between applications running on hosts communicating via an IP network. Major internet applications such as the World Wide Web, email, remote administration, and file transfer rely on TCP, which is part of the Transport Layer of the TCP/IP suite. SSL/TLS often runs on top of TCP.

    \n
    tritet
    \n

    3 bits. See Performant resynchronization with unique start bits.

    \n
    tritet
    \n

    3 bits. See Performant resynchronization with unique start bits.

    \n
    trusted-execution-environment
    \n

    Protected hardware/software/firmware security system. The controller may protect its key generation, key storage, and event signing infrastructure by running it inside a trusted execution environment (TEE).

    \n
    trusted-execution-environment
    \n

    Protected hardware/software/firmware security system. The controller may protect its key generation, key storage, and event signing infrastructure by running it inside a trusted execution environment (TEE).

    \n
    trusted-platform-module
    \n

    A device that enhances the security and privacy (of identity systems) by providing hardware-based cryptographic functions.

    \n
    trusted-platform-module
    \n

    A device that enhances the security and privacy (of identity systems) by providing hardware-based cryptographic functions.

    \n
    ts-node
    \n

    npm package that lets you run typescript from a shell

    \n
    ts-node
    \n

    npm package that lets you run typescript from a shell

    \n
    uniform-resource-locator
    \n

    A Uniform Resource Locator (URL), colloquially termed a web address, is a reference to a web resource that specifies its location on a computer network and a mechanism for retrieving it.

    \n
    uniform-resource-locator
    \n

    A Uniform Resource Locator (URL), colloquially termed a web address, is a reference to a web resource that specifies its location on a computer network and a mechanism for retrieving it.

    \n
    user-interface
    \n

    A user interface (UI or U/I) is the space where interactions between humans and machines occur.

    \n
    user-interface
    \n

    A user interface (UI or U/I) is the space where interactions between humans and machines occur.

    \n
    validate
    \n

    ESSIF-lab definition of validate. Although this definition is very general, in the KERI/ACDC vocabulary, ‘validate’ currently has extra diverse meanings extending the one of eSSIF-lab, such as

    \n
    validate
    \n

    ESSIF-lab definition of validate. Although this definition is very general, in the KERI/ACDC vocabulary, ‘validate’ currently has extra diverse meanings extending the one of eSSIF-lab, such as

    \n
    validator
    \n

    any entity or agent that evaluates whether or not a given signed statement as attributed to an identifier is valid at the time of its issuance.

    \n
    validator
    \n

    any entity or agent that evaluates whether or not a given signed statement as attributed to an identifier is valid at the time of its issuance.

    \n
    variable-length
    \n

    a type of count code allowing for vaiable size signatures or attachments which can be parsed to get the full size.

    \n
    variable-length
    \n

    a type of count code allowing for vaiable size signatures or attachments which can be parsed to get the full size.

    \n
    veracity
    \n

    The quality of being true; contrast authenticity. When a newspaper publishes a story about an event, every faithful reproduction of that story may be authentic — but that does not mean the story was true (has veracity).

    \n
    veracity
    \n

    The quality of being true; contrast authenticity. When a newspaper publishes a story about an event, every faithful reproduction of that story may be authentic — but that does not mean the story was true (has veracity).

    \n
    verifiable-data-registry
    \n

    A role a system might perform by mediating issuance and verification of ACDCs. See verifiable data registry.

    \n
    verifiable-data-registry
    \n

    A role a system might perform by mediating issuance and verification of ACDCs. See verifiable data registry.

    \n
    verifiable-data-structure
    \n

    A verifiable data structure is a data structure that incorporates cryptographic techniques to ensure the integrity and authenticity of its contents. It allows users to verify the correctness of the data stored within the structure without relying on a trusted third party.

    \n
    verifiable-data-structure
    \n

    A verifiable data structure is a data structure that incorporates cryptographic techniques to ensure the integrity and authenticity of its contents. It allows users to verify the correctness of the data stored within the structure without relying on a trusted third party.

    \n
    verified-integrity
    \n

    A mechanism that can unambiguously assess whether the information is/continues to be whole, sound and unimpaired

    \n
    verified-integrity
    \n

    A mechanism that can unambiguously assess whether the information is/continues to be whole, sound and unimpaired

    \n
    verifier
    \n

    any entity or agent that cryptographically verifies the signature(s) and digests on an event Message.

    \n
    verifier
    \n

    any entity or agent that cryptographically verifies the signature(s) and digests on an event Message.

    \n
    verify-signature
    \n

    Applying an algorithm that, given the message, public key and signature, either accepts or rejects the message’s claim to authenticity.

    \n
    verify-signature
    \n

    Applying an algorithm that, given the message, public key and signature, either accepts or rejects the message’s claim to authenticity.

    \n
    wallet
    \n

    A crypto wallet is a device, physical medium, program or a service which stores the public and/or private keys for cryptocurrency transactions and digital identifiers.

    \n
    wallet
    \n

    A crypto wallet is a device, physical medium, program or a service which stores the public and/or private keys for cryptocurrency transactions and digital identifiers.

    \n
    web-of-trust
    \n

    In cryptography, a web of trust is a concept used in PGP, gnu-privacy-guard, and other OpenPGP-compatible systems to establish the authenticity of the binding between a public key and its owner.

    \n
    web-of-trust
    \n

    In cryptography, a web of trust is a concept used in PGP, gnu-privacy-guard, and other OpenPGP-compatible systems to establish the authenticity of the binding between a public key and its owner.

    \n
    zero-trust-computing
    \n

    A security model centered on the principle of “never trust, always verify.” It assumes that threats can exist inside and outside the network, and thus, no entity — a device, user, or system — is inherently trusted. This approach requires continuous verification of all users and devices attempting to access network resources.

    \n
    zero-trust-computing
    \n

    A security model centered on the principle of “never trust, always verify.” It assumes that threats can exist inside and outside the network, and thus, no entity — a device, user, or system — is inherently trusted. This approach requires continuous verification of all users and devices attempting to access network resources.

    \n
    zero-trust
    \n

    a Zero Trust approach trusts no one.

    \n
    zero-trust
    \n

    a Zero Trust approach trusts no one.

    \n
    "]