Extracting a 3DES key from an IBM 4758SummaryThe IBM 4758 is an extremely secure crytographic co-processor. It is used by banking systems and in other security conscious applications to hold keying material. It is designed to make it impossible to extract this keying material unless you have the correct permissions and can involve others in a conspiracy. We are able, by a mixture of sleight-of-hand and raw processing power, to persuade an IBM 4758 running IBM's ATM (cash machine) support software called the "Common Cryptographic Architecture" (CCA) to export any and all its DES and 3DES keys to us. All we need is:
The attack can only be performed by an insider with physical access to the cryptographic co-processor, but they can act alone. The FPGA evaluation board is used as a "brute force key cracking" machine. Programming this is a reasonably straightforward task that does not require specialist hardware design knowledge. Since the board is pre-built and comes with all the necessary connectors and tools, it is entirely suitable for amateur use. Besides being the first documented attack on the IBM 4758 to be run "in anger", we believe that this is only the second DES cracking machine in the open community that has actually been built and then used to find an unknown key! Until IBM fix the CCA software to prevent our attack, banks are vulnerable to a dishonest branch manager whose teenager has $995 and a few hours to spend in duplicating our work. Contents
Frequently Asked Questions
Other linksMichael Bond. "Attacks on Cryptoprocessor Transaction Sets" Proceedings
of the CHES 2001 Workshop, Paris 2001. Springer Verlag LNCS 2162, pp 220-234. Michael Bond & Ross Anderson. "API-Level Attacks on Embedded Systems" IEEE Computer 34(10), October 2001, pp 67-75. "Brute force attacks on crytographic keys" a web-based survey of results, plus an annotated bibliography concentrating on DES crackers. http://www.cl.cam.ac.uk/~rnc1/brute.html "IBM PCI Cryptographic Coprocessor CCA Basic Services Reference and Guide for IBM 4758 Models 002 and 023 with Release 2.40", Seventh Edition, September 2001. Available from: ftp://www6.software.ibm.com/software/cryptocards/CCA_Basic_Services_Reference_240.pdf |