Skip to content

Instantly share code, notes, and snippets.

@frank-dspeed
Created November 2, 2022 04:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save frank-dspeed/4e178b1ca1dd51501a49532e99fe725a to your computer and use it in GitHub Desktop.
Save frank-dspeed/4e178b1ca1dd51501a49532e99fe725a to your computer and use it in GitHub Desktop.
Secure Peer Verification Concept

Peer Verification process

After the connection handshake the human handshake needs to happen we mark the old and new keys when they are used for messages

Example

Async Distributed Key Verification including conditional overtime mutation Archives the goal of Ultra High Security applyed async out of band does not effect core throughput of data Is able to verify and discard or quarantäne data.


const Peer1 = {
  answerKeysArchive: [""],
  answerKeys: [""], // we store his hist publicKeys that we can use to send messages
  currentKeys: [""], // partial set of answerKeys that indicate if we should take more actions like gen new offeredKeys after manual verification or use the old once. 
  offeredKeysArchive: [""],
  offeredKeys: [""], // All keys we issued to him for use to send us messages.
}

// We verify how many of the publicKeys he can verify with his private keys that he knows
// then we decide by human interaction via a external connection if we accept the new key or not.
// when we accept that key we give him a new individual public key from us so that he can verify that he 
// has talked to us already
sendNewPublicKeyForPeer(Peer1)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment