Key Event Receipt Infrastructure (KERI) Model for a Universal DKMI ) .Samue\Mv'S“rimthh.D.
Background Reading sk ringescamicomen o007 540 464166 42oct https:/[pdos.csail.mit.edu/~kaminsky/sfs-http.ps Mazieres, D. and Kaashoek, M. F., “Escaping the Evils of Centralized Control with self-certifying pathnames,” MIT Laboratory for Mazieres, D., “Self-certifying File System,” MIT Ph.D. Dissertation, 2000/06/01 https:/lpdos.csall.mit.edu/~ericp/docisfs-thesis.ps https:github.com/SmithSamuelM{Papersfblobjmaster/whitepapers/open-reputation-low-level-whitepaper.pdf Smith, S. M., “Decentralized Autonomic Data (DAD) and the three R's of Key Management,” Rebooting the Web of Trust RWOT 6, Spring httpsi/fgithub.com/SmithSamuelM/Papers/blobjmasterfwhitepapers/DecentralizedAutonomicData.pdf httpsilfgithub.com/SmithSamuelM/Papers/blobjmaster/whitepapers/A_DID_for_everything.pdf smith, 5. M., “Key Event Receipt Infrastructure (KERI) Design and Build”, arXiv, 2019/07/03 https:/farxiv.orgfabs/1907.02143
Human Basis of Trust I know you or I know of you therefore I trust you On the internet | can’t really know who you are. therefore | can’t trust you
Decentralized Control Authority Asymmetric PKI: Public-Private Key Pairs for Digital Signatures CSPRNG Cryptographic Strength Pseudo Random Number Generator Collision Resistant Random Seed (Entropy) Available to Anyone Seed -> Private Key -> One Way Function -> Public Key Authority comes from collision resistance Inherently decentralized via sole-sovereignty over random seed Controller of private key is the only one who can make verifiable signed attestations associated with the Public Key (Identifier)
Derived Self-Certifying Content Addressable Identifiers Content Hash:
Seed -> Private Key -> One-way Function (sign scheme) -> Public Key -> +Content -> One- way Function (hash scheme) -> Derived Identifier
Seed -> Private Key -> One-way Function (sign scheme) -> Public Key -> [ +Content -> One- way Function (hash scheme) -> Derived Identifier ]...
Cryptographic Root-of-Trust Trust who said it not what was said Consistent attribution is the root-of-trust (integral non-repudiable statements) Duplicity detection I trust that controller of private key made a set of statements Build trust in what was said via consistently attributable (who) histories of consistent statements (what). (i.e. reputation)
Self-Certifying Identifier/Namespace
Decentralized Cryptographic Root-of-Trust Use public key in identifier or as prefix in namespace Signed statements that include self-certifying identifier Self-Certifying namespace End-wise Verifiable to Primary Root-of-Trust Other roots of trust may add to but not replace self-certification All decentralized infrastructure has self-certifying identifiers as primary root-of-trust Decentralized key management is therefore essential to protecting infrastructure Enables provenanced chain of transformations with verifiable control over transformations. Authoritative control via signing not encryption keys.
AUTONOMIC IDENTIFIER (AID) Self-Governing Self-Certifying Self-Sovereign Self-Managing Self-Administering
AUTONOMIC NAMESPACE (AN) Prefixed with AID Extensible Cryptographically Verifiable Identifier Derivation
KEY MANAGEMENT Rotation = Revoke and Replace Reproduction = Creation, Derivation Recovery
BEST PRACTICE One-use = One-time, One-place, One-way
Key Rotation Key rotation is useful when the controller of a self-certifying identifier needs to maintain persistent control over that identifier indefinitely despite exploits of the private key(s). Otherwise in the event of exploit, the controller could just abandon the exploited identifier and create a new identifier with a new (public, private) key pair. Rotatable Authoritative Signing Key(s) vs. Non-rotatable Authoritative Signing Key(s)
Key Rotation More After rotation the public key associated with the identifier is not changed, but merely the private key(s) that is authoritative is changed. Otherwise the identifier loses its value as an identifier. After rotation the original private key has been revoked and replaced with the new private key(s) specified in the rotation operation. The initial rotation operation must be signed at the very least with the original private key. The new public key is then included in the identifier’s key rotation history. The latest rotation entry provides the current authoritative key pair. In order to verify an attestation belonging to a self-certifying identifier the verifier must lookup and validate the key rotation history for that identifier.
Pre-rotation Inception -> Rotation -> Rotation -> ... Inception event: 1) Establish original self-certifying key 2) Commit to next set of key(s) Each rotation event: 1) Execute rotation operation to new key(s) 2) Commit to next set of key(s) Rotation signed by both previous and new set of key(s) Rotation exploit requires exploit of two sets key(s) one of which has not been exposed.
Two Use Cases Online haltable establishment (one-to-one, pair-wise) Offline non-haltable establishment (one-to-many, any-wise, N-wise)
Online or One-to-one or Pair-wise: Ato B Entty Entty A B Controller of Identifier A A EV:V:K SB"\BBV" Validator of Identifier A o
Event Generator Event Validator v AR t Str v ‘ ecg‘:’c - Key Event Log (KEL) Key Event Log (KEL) Key Event Receipt Log (KERL) Key Event Receipt Log (KERL)
Online or One-to-one or Pair-wise: B to A Entity Entity A B Validator of Identifier B B Evgnl S‘I\ream Controller of Identifier B to < Event Validator Event Generator \ i Y T ‘ Key Event Log (KEL) Key Event Log (KEL) Key Event Receipt Log (KERL) Key Event Receipt Log (KERL)
Offline Trustworthy Service Service provided by N designated witnesses and at least one judge. Service provides a correct or at least a complete KERL to any validator that requests it. Service availability means at least one correct or complete KERL is extant key state validation mechanism does not use total ordered distributed consensus
Offline Components Controller of Identifier A Witness of Identifier A Judge of Identifier A Validator of Identifier A dentifier Mapper ‘ PublicKey A Public Key A Identfier Mapper T Event Verifier Event Verffer I Public Key A ‘State Engine State Engine Puhl\cfey A Event Generator l L Event Verifier State Engine KELKERL of A KELIKERL of A ‘ Stale Engine KEL/KERL of A J; KELKERL of A Event Validator Receipt Engine l Event Validator Receipt Engine
Offline or One-to-many or Any-wise i e || U |
Complete or Correct Witnesses only signs and stores first received and verified version of an event at a given location in full event sequence. Witnesses provide an immutable KERL of all receipts from any witnesses for the version of each event in its log. M of N Designated Witnesses Complete if KERL has M+1 receipts for event Correct if M is a majority of N
Exploit Recovery Pre-rotation protects against live exploit Recover by rotation to new authoritative key(s) Witnessed event log protects against dead exploit Single honest witness enables duplicity detection Historical receipts prove accepted history
Variants Single Key Sequence for Rotation and Signing Single Interleaved (Doubled) Key Sequence for Rotation and Signing Single Key Sequence for Rotation with multiple Delegated Key Sequence(s) for Signing Dual Key Sequence for Separate Rotation and Sighing
Delegator Deiegae Delogte Delegte A X Y z Koy Bt e oy Evrt team oy Evn tam oy EntSteam Alospton ARolton ARolion « XA Alrceton A0 Xosplen Xitracion ¥ Alrcpion Afotlion Mol [l A% nespon Xittacton ¥ nfrachon Aotton « X ARelatan ¥ fracion v o Zicaehon Xintracion ¥ nfracion e Aese A ottion e el Zinracion | A XRotafon | | X ercion_| | Y4~ ARdelon | Zintracton Aolton Xitracion ¥ nfracion T, A+ Y Raalen Xa- ARdtaten ¥ tracton 2 ARotton e [t Zinacton a2 otton recion ercton Zinracion ARolton Xintracion ¥ nfracion e A YRatton « X ARelatan Y e ARetaion ARotton [ [T ARG | - Zac ARolalon | A ZRdtaion | | Xiercion_| Zinteraction Aottion Xintracion A~ XRasion B Zinracton
KEY Event Based Provenance of Identifiers KERI events enable cryptographic Proof-of-Authority or Proof-of- Provenance for every identifier. Proof is copy of key event receipt log (KERL)