I’m asking for existing tools/systems that let me programmatically say: “here is my public key, BUT if each of these 5 other public keys all send a signed message saying that my public key has been compromised, then you should mark my public key as compromised, and use the new one they provide”. (This is not for a particular task, I’m just curious if any existing auth systems are capable of this)

I call the idea “guardian keys” because it could be friends’ public keys or or just more-securely-stored less-frequently-used keys that you control.

NOTE: I know this would not work for data encryption. Encrypted data is simply gone if a key is lost. But, for proving an identity, like a login, there could be a system like this but I don’t know of any

  • OneCardboardBox@lemmy.sdf.org
    link
    fedilink
    English
    arrow-up
    10
    ·
    4 months ago

    What you’re looking for is a revocation key. You can generate one in GPG at the same time that you generate your identity key. The method of securing it is up to you. In your example, a simple way would be to encrypt it with the 5 sequential keys. Or you could break the revocation key up into K parts with Shamir’s secret sharing algorithm.

    This example assumes that you’re using existing Web of Trust PKI to manage your public keys: https://stackoverflow.com/questions/59664526/how-the-correct-way-to-revoke-gpg-on-key-server#62644875

    • jeffhykin@lemm.eeOP
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      4 months ago

      Cool, this is exactly what I was hoping to learn but couldn’t find. It sounds like its still a pretty manual process, but thats okay. If thats how it is righ now, then thats exactly what I want to know.

      I’m considering making tools (GUI local app, but also website AUTH frontend/backend tooling) to try and make systems like this more commonplace and standardized. I didn’t know about revocation keys, so I’m glad I heard about that before trying to build my own.

  • just_another_person@lemmy.world
    link
    fedilink
    arrow-up
    6
    ·
    4 months ago

    Your public key is public. It’s in the name. There’s no way it can be compromised, because it’s meant to be disseminated publicly.

    Am I missing something?

    • jeffhykin@lemm.eeOP
      link
      fedilink
      arrow-up
      2
      ·
      4 months ago

      Yeah, sorry I incrementally edited the title before posting and accidentally made it make no sense. I meant publicly announce that a private key was compromised

  • makeasnek@lemmy.ml
    link
    fedilink
    English
    arrow-up
    1
    ·
    4 months ago

    Yes this exists. Multi-sig is also worth mentioning though it doesn’t solve this problem in the way you’re asking but it does eliminate the risk of total loss of security if a single key is compromised.