A Formal Theory of Key Conjuring
The authors describe a formalism for key conjuring, the process by which an attacker obtains an unknown, encrypted key by repeatedly calling a cryptographic API function with random values in place of keys. This technique has been used to attack the security APIs of several Hardware Security Modules (HSMs), which are widely deployed in the ATM (Cash Machine) network. They propose formalism for detecting computationally feasible key conjuring operations, incorporated into a Dolev-Yao style model of the security API. They show that security in the presence of key conjuring operations is decidable for a particular class of APIs, which includes the key management API of IBM's Common Cryptographic Architecture (CCA).