Let's say we have a server whose job is to sign documents using a private key. Let's say that there's a bug in the software and the private key gets stolen. I'm interested in mechanisms to mitigate the damage.
One thing you could do is have the server throw out keys as it goes. Instead of giving a the server a single private key, you'd give it a sequence of private keys. The node signs doc1 with key1, doc2 with key2, etc. When it's done with a key, it throws out the key completely, so that key can't be stolen any more. There must be some mechanism to procedurally generate the sequence of keys, but I don't know the name of the technique to google it. Anybody know what this is called?
Are there any other cool techniques that can be used to protect the private keys?
I found a paper called "A Forward-Secure Digital Signature Scheme." I think I'm on the right track.
I'm still interested in the second part of my question, though: is there anything I can do besides forward secure digital signatures?