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
    12
    ·
    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
      3
      ·
      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?

    • Tangent5280@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      4 months ago

      You’re missing the most obvious thing the OP might have meant.

      I took it to mean the case when the public-private key pair has been compromised. Systems been hacked, someone looked over his shoulder when authorising himself etc etc.

      So OP is just asking what happens if someone steals my private key, and I need to tell the rest of the world my Identity cannot be verified using this key pair anymore.

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

        Yeah, but that wasn’t the post. Could have confused on what a public key was. Same question still applies though. If you know your private key was blown, you still need to manually clean up after it.

    • 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
    2
    ·
    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.