So I'm working on a near future cyber punk sort of world. Nothing is quite set in stone yet but here's what I have so far.
As a quick primer/reminder on how asymmetric cryptography works:
- A user can generate a new private/public key pair for themselves at any time for any reason at no cost to them. They are simply files, e.g.
pub.key. For simplicity, let's assume that it's impossible to generate matching keys. If Alice generates a key pair and Bob generates a key pair then they are always unique. Let's also pretend that there are practically infinite keys.
- Public keys are common knowledge, easily looked up, and contain no secret or revealing information.
- Private keys are only ever held by the owner. Nobody should ever know or store anybody else's private keys.
- For Alice to send Bob a message, Alice will encrypt the message using Bob's public key. The secured message can be sent to Bob using any means, even public open transmissions. Bob then uses his private key to decrypt the message.
- Messages can be Signed and Verified. For example, Alice can Sign a message by hashing the message and encrypting the hash with her private key. She can then encrypt the message and the signature using Bob's public key and send him the secured message and signature. Bob will decrypt the package with his private key. Bob can decrypt the signature using Alice's public key. If his hash of the message matches Alice's hash of the message he knows it was untampered and that Alice was the only person who could have signed it.
- A private key can be submitted to a public Revocation List as a way to indicate that the key is not to be used or trusted. Nobody should use the public key to send a message for fear of interception or tampering and any messages signed by that private key may not have been written by the original owner of the private key.
- A Web of Trust (WOT) is made by a user vouching for another user's public key. For example if Alice wants to publicly state that a particular public key really does belong to Bob, she can sign his public key. The more people to sign Bob's key, the more people can trust that the key really does belong to him. If Bob decides to add his private key to a Revocation List, Bob will need to start over and have trusted individuals like Alice sign his new public key. This prevents Eve from generating a key pair and pretending to be Bob. These Revocation Lists are public and once a private key is on the list, it can't be removed without exception.
This is a super simple break down of how RSA asymmetric cryptography works in the real world and I would like to not break these rules and remain as technically feasible as possible. More complex intricacies still work (e.g. blind signing) but I won't go into detail about all the theories here. In this world everybody knows the basic principles of sending secure messages, signing the messages, and how to verify other people's messages. And of course, the number 1 rule that nobody forgets: Never share your private keys. Not with parents, spouses, bosses, the government, nobody.
Everybody has at least 1 key pair. It begins at birth when your parents or the doctors generate you a new key for you. Your parents sign the new key as well as individuals who were present for the birth (the doctor, family, midwives, god parents, whoever wants to) to begin your WOT. This key basically becomes that person's identity. Legal documents are cryptographically signed using your keys instead of pen on paper signatures. After a rigorous verification process and WOT analysis, the government eventually signs your public key to be used for legal matters (sort of like an alternative to today's Social Security Numbers). People can generate more key pairs if they wish to have semi-private online persona like having a Google account that doesn't use your real name. Instead of using your government signed keys, you could generate a set of keys for when you interact with Google. If a key is revoked, the owner should attempt to rebuild as much of their old WOT as possible as a way of saying "you can see I'm no longer using the old key, but the same people that signed my old key are signing my new key so you can believe this new key represents the same person."
High speed Internet is cheap (if not free), everywhere, and fast. Online storage for both public and private use are abundant. It's trivial to sign a message and make it publicly available on your corner of the Internet or to use somebody's public key to send them a secure message. It's as easy as blogging and texting and almost no piece of data is posted without either being signed or secured by somebody's keys. There are services available that can store your private key using symmetrical encryption (of which you're the only one who knows the password) for situations when a key is accidentally destroyed such as house fire or hard-drive corruption.
Here is my question: If Eve obtains Alice's private key how best can Eve hold the key hostage? What can Eve do to prevent Alice from putting the key on a Revocation List and generating a new key?
My first thoughts were things like a Revocation List rejecting a private key submission literally preventing Alice from revoking her private key. But there's no legitimate reason why a List would need to be governed and if one List rejected her key, she could go to another. In an open source style world somebody could spin up a public revocation list in no time. No authority is required to say "don't use this normally super secret thing that I'm now making public."
I also thought that Eve could threaten Alice's WOT. If Alice's public key was signed by her small, immediate family and Eve threatened to kill Alice's family if the key is revoked then Alice would choose to not revoke the key. The problem is that there's not really a point in having a small WOT. A larger web better cements that this key (which ultimately represents your identity) really is yours. You'd have classmates, teachers, friends, neighbors, the government, coworkers, bosses, clients, and pretty much anybody you interact with capable of signing your key. It would be unreasonable for Eve to threaten to kill everybody Alice has ever known in an attempt to stop you from generating a new key and rebuild a similar WOT with it.
I'm looking for a way for Eve to hold Alice's identity hostage as a form of blackmail and control over Alice.