document_text
3 rows where source_id = "weboftrust-ietf-did-keri-main"
This data as json, CSV (advanced)
| id ▼ | source_id | kind | license | title | url | credit | chars | text |
|---|---|---|---|---|---|---|---|---|
| weboftrust-ietf-did-keri-main/10 | weboftrust-ietf-did-keri-main | repository prose file | Apache-2.0 | draft-pfeairheller-did-keri.md | https://github.com/WebOfTrust/ietf-did-keri/blob/main/draft-pfeairheller-did-keri.md | WebOfTrust / ietf-did-keri-main, https://github.com/WebOfTrust/ietf-did-keri/blob/main/draft-pfeairheller-did-keri.md. Licensed under the Apache License 2.0; the license and any notices are in the repository. Found through KERISSE. | 16709 | <hr>
title: "The did:keri DID Method" abbrev: "DID-KERI" docname: draft-pfeairheller-did-keri-latest category: info ipr: trust200902 area: TODO workgroup: TODO Working Group keyword: Internet-Draft stand_alone: yes smart_quotes: no pi: [toc, sortrefs, symrefs] author:
normative: CESR: target: https://datatracker.ietf.org/doc/draft-ssmith-cesr/ title: Composable Event Streaming Representation (CESR) author: ins: S. Smith name: Samuel M. Smith org: ProSapien LLC date: 2021 informative: KERI: target: https://arxiv.org/abs/1907.02143 title: Key Event Receipt Infrastructure (KERI) author: ins: S. Smith name: Samuel M. Smith org: ProSapien LLC date: 2021 tags: IETF, KERI, CESR --- abstract KERI provides a means for secure and decentralised key management. This specification defines a DID method based on KERI. --- middle IntroductionThe Key Event Receipt Infrastructure is a system for secure self-certifying Identifiers which aims at minimum sufficiency and maximum security. It defines mechanisms for proving the Root of Trust for self-certifying Identifiers and their associated Key State. This spec defines a transform from Key State to DID Document, such that any valid Key Event Log can be processed into a DID Document. A close analogy is did:peer, except that where the data model of did:peer is a DID Document and JSON patches on said Document, the basic data model of did:keri is an append-only log of Key Events. KERI-based Identifiers are suitable for both any-wise and n-wise purposes. ConceptsEventsA Key Event is an atomic transaction over the Key State of an Identifier. While all events have some semantic meaning within KERI, only a subset will change the keys in a Key State (rotation and delegated rotation). Key Event LogThe Key Event Log is a type of hash-chained data structure from which the Key State of an Identifier can be derived. It can always be used to recreate the state at any point ("event-sourcing"). Key Event Receipt LogThe Key Event Receipt Logs are built from receipts of events signed by the witnesses of those events (these are called Key StateKey State represents the current values for the keys, witnesses and thresholds for a given identifier, signed by a provider. The signature from the provider signifies that the provider has verified the KEL for the identifier and the result of that verification is the key state. The key state is represented in a Key State Notification Message detailed fully in Event Serialization Key State Messages. The following fields are defined for a Key State Notification Message:
Key state notification messages differ depending on whether the signer is using a delegated identifier. The follow examples detail the fields needed for each permutation.
Resolver Metadatadid:keri defines
The DID DocumentThe following field MAY appear in a did:keri DID document: Non-normative note: multiple namespaces using the same DID method could prove control or replay history for one controlling keypair that has been used across multiple ledgers. KERL logs could be stored in a secondary root of trust (i.e., a ledger), and similar or identical resolver metadata could be returned by querying the same identifier there. The did:keri FormatThe format for the did:keri method conforms to the [[DID-CORE]] specification and is simple. It consists of the Method NameThe method name that identifies this DID method SHALL be: A DID that uses this method MUST begin with the following prefix: Method Specific IdentifierThe method specific identifier for the did:keri method is the prefix for a content self-addressing self-certifying identifier. A self-addressing, self-certifying identifier is cryptographically bound to the inception keys used to create it. The rationale and process for the derivation of an identifier is described in detail in the Derivation Codes section of [[KID0001]]
OperationsThe following section outlines the DID operations for the did:keri method. CreateCreation of a did:keri DID is accomplished by creating, signing and publishing an Inception event. If witnesses are listed in the inception event, the receipts are also required for DID creation to be complete. Detailed steps for prefix derivation are in [[KID0001]] and witness configuration in [[KID0009]]. Inception events are covered in [[KID0003]]. ReadSteps to resolve a `did:keri:$PREFIX` DID:
Establishment of control authority can be done independently of DID document contents, as long as the Key State is provided in the DID Document Metadata. See Resolver Metadata. UpdateUpdating a did:keri DID is accomplished by publishing establishment events to the KEL for performing operations such as key rotation and updating signature thresholds, witnesses and delegates. A detailed description of event types, their semantics and uses can be found in [[KID0003]]. DeactivateDeactivation of a did:keri DID consists of rotation to 0 controlling keys, which terminates the ability to recover the identifier and indicates that the identifier has been abandoned. Identifiers which are delegated to by an abandoned Identifier are also considered abandoned (delegating Ixn events can no longer be created). Detailed steps are specified in [[KID0003]]. Privacy ConsiderationsA breakdown of the privacy considerations from [[RFC6973]] section 5 is provided below. SurveillanceA robust witness network along with consistent witness rotation provides protection from monitoring and association of an individual's activity inside a KERI network. Stored Data CompromiseFor resolvers that simply discover the Key State endorsed by another party in a discovery network, caching policies of that network would guide stored data security considerations. In the event that a resolver is also the endorsing party, meaning they have their own KERI identifier and are verifying the KEL and signing the Key State themselves, leveraging the facilities provided by the KERI protocol (key rotation, witness maintenance, multi-sig) should be used to protect the identities used to sign the Key State. See [[KID0005]] for information on KERI key rotation, [[KID0009]] for a discussion on witnesses and [[KID0004]] for KERI's support of multi-sig. Unsolicited TrafficDID Documents are not required to provide endpoints and thus not subject to unsolicited traffic. MisattributionThis DID Method relies on KERI's duplicity detection to determine when the non-repudiable controller of a DID has been inconsistent and can no longer be trusted. This establishment of non-repudiation enables consistent attribution. See [[KID0010]] for a detailed description of KERI’S Agreement Algorithm for Control Establishment (KAACE). CorrelationThe root of trust for KERI identifiers is entropy and therefore offers no direct means of correlation. In addition, KERI provides two modes of communication, direct mode and indirect mode. Direct mode allows for pairwise (n-wise as well) relationships that can be used to establish private relationships. See [[KID0001]] for a description of KID prefix generation and [[KID0009]] for a comparison between Direct and Indirect modes. IdentificationThe root of trust for KERI identifiers is entropy and therefore offers no direct means of identification. In addition, KERI provides two modes of communication, direct mode and indirect mode. Direct mode allows for pairwise (n-wise as well) relationships that can be used to establish private relationships. See [[KID0001]] for a description of KID prefix generation and [[KID0009]] for a comparison between Direct and Indirect modes. Secondary UseThe Key State made available in the metadata of this DID method is generally available and can be used by any party to retrieve and verify the state of the KERL for the given identifier. DisclosureNo data beyond the Key State for the identifier is provided by this DID method. ExclusionThis DID method provides no opportunity for correlation (See ), identification (See ) or disclosure (See ) and therefore there is no opportunity to exclude the controller from knowing about data that others have about them. Security ConsiderationsKey State VerificationUsers of a did:keri did method resolver MUST verify the key state returned in the document metadata of the resolution result. The signature of the resolver can be used to determine if the resolver is dysfunctional and should no longer be trusted. However it should not be used to verify the key state. The only definitive method for verifying the key state is to pass the key state to a KERI library and perform the verification of that key state. A breakdown of the security considerations from [[RFC3552]] is provided below. Confidentiality Violations, Password SniffingAll private keys used to establish control over the KERI identifier of a KERI DID method DID should be held secret. KERI's use of delegation ensures that private keys for each identifier never need to be transferred. DID controllers can delegate levels of authority of other identities to enable remote agents. See [[KID0007]] for a discussion of delegation. In addition, pre-rotation mechanism provides key rotation capabilities while eliminating exposure of the next public key until it is rotated into the current signing key. Enforcing key rotation for every event of a given identifier provides further protection against key exposure. See [[KID0005]] for a description of pre-rotation and the protections it provides Replay Attacksdid:keri relies on the KERI protocol which is not susceptible to replay attacks. The hash linking, signatures and sequence numbers of events ensures that replayed messages do not effect the protocol. See [[KID0003]] for a description of KERI events. Message Insertion, Deletion, Modificationdid:keri relies on the KERI protocol which is not susceptible to message deletion or modification attacks. The hash linking, signatures and sequence numbers of events ensures that messages can not be modified or deleted without immediate detection. In addition, KERI's duplicity detection mechanisms allow easy detection of inserted messages allowing validators to determine the consistency of a DID controller. See [[KID0003]] for a description of KERI events and [[KID0010]] for the KAACE algorithm. Man-In-The-Middle AttacksThe protections mentioned in Replay Attacksand Message Attacksrender Man-In-The-Middle attacks ineffective against the KERI protocol and this DID Method. Conventions and Definitions{::boilerplate bcp14-tagged} IANA ConsiderationsThis document has no IANA actions. --- back Acknowledgments{:numbered="false"} TODO acknowledge. |
| weboftrust-ietf-did-keri-main/8 | weboftrust-ietf-did-keri-main | repository prose file | Apache-2.0 | CONTRIBUTING.md | https://github.com/WebOfTrust/ietf-did-keri/blob/main/CONTRIBUTING.md | WebOfTrust / ietf-did-keri-main, https://github.com/WebOfTrust/ietf-did-keri/blob/main/CONTRIBUTING.md. Licensed under the Apache License 2.0; the license and any notices are in the repository. Found through KERISSE. | 1203 | ContributingThis repository relates to activities in the Internet Engineering Task Force (IETF). All material in this repository is considered Contributions to the IETF Standards Process, as defined in the intellectual property policies of IETF currently designated as BCP 78, BCP 79 and the IETF Trust Legal Provisions (TLP) Relating to IETF Documents. Any edit, commit, pull request, issue, comment or other change made to this repository constitutes Contributions to the IETF Standards Process (https://www.ietf.org/). You agree to comply with all applicable IETF policies and procedures, including, BCP 78, 79, the TLP, and the TLP rules regarding code components (e.g. being subject to a Simplified BSD License) in Contributions. In addition to the terms of the the IETF Standards Process described above all contributions to this repository fall under the specifics of the licensing terms described in License Terms this includes Apache2 licensing of patents. |
| weboftrust-ietf-did-keri-main/9 | weboftrust-ietf-did-keri-main | repository prose file | Apache-2.0 | LICENSE.md | https://github.com/WebOfTrust/ietf-did-keri/blob/main/LICENSE.md | WebOfTrust / ietf-did-keri-main, https://github.com/WebOfTrust/ietf-did-keri/blob/main/LICENSE.md. Licensed under the Apache License 2.0; the license and any notices are in the repository. Found through KERISSE. | 1837 | LicenseAll software and documentation in this repository are Copyright 2022 DID-KERI Contributors and all contributions to this repository are Licensed under the Apache License, Version 2.0 (the "License") here; As as defined in the the License, these contributions include but are not limited to patents, source code, specification text, documentation, comments and issues. You may not use the software or documentation in this repository except in compliance with the License. Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS. You may obtain a copy of the License at Apache2. To remove any doubt as the origin on any contributions, all contributers are also bound by the Developer Ceritificate of Origin v1.1 (DCO 1.1) which may be found here As a GitHub repository, all contributions to this repository are also bound by the GitHub inbound=outbound policy. This may be found under Section D.6 here The legal structure of this repository with respect to the licensing of its associated contributions also follows GitHub's Open Source Guide reccomendations for open source standards and code. These may be found here In addition to the above copyright and licensing restrictions, all contributions to this repository are contributions to the IETF standards process and are licensed accordingly. The IETF license terms are defined in the guidelines for contributions. |
Advanced export
JSON shape: default, array, newline-delimited, object
CREATE TABLE document_text (id TEXT PRIMARY KEY, source_id TEXT, kind TEXT, license TEXT, title TEXT, url TEXT,
credit TEXT, chars INTEGER, text TEXT);