Automated private key recovery for DNSSEC Colorado State University, CS 681 John Tesch
Motivation DNSSEC provides for asymmetric keys but does not address the issue of lost keys. The key regeneration process may affect performance of DNS servers Multiple pairs of keys create conflicts among DNS servers
Asymmetric keys The public key is stored in the KEY resource record and is backed up. The private key is stored and protected in the file system of the DNS server The public key can be reloaded The loss of the private key requires a re- computation of a new pair of keys
Simplistic Approach Take the private key, S prv, and encrypt it with the public key of the parent DNS server, P pub. m = [S prv,P pub ] Provides some redundancy, but still a single point of failure Can be compromised or lost
Our Approach Take the private key, S prv, and encrypt it with the public key of the parent, P pub. m = [S prv,P pub ] Divide the encryption, m, into parts or shares. m\n Distribute and encrypt the shares to subordinate DNS servers (child). [m/n,C pub ]
(k,n)=threshold scheme A dealer shares a secret key between n parties Each party receives a share A group of any k participants can cooperate to reconstruct the shares No group of k-1 participants can get any information about the secret
Algorithm modification Use Shamir’s (k,n)-threshold scheme Encrypt the shares with the public keys of the DNS childern Store the shares on the DNS database as a Resource Record
Conclusion Using our method, private keys can be stored in plain sight. The use of the (k,n)-threshold scheme allows for voting when recreating the private key The distribution of the shares cannot be easily traced