
Extracting a 3DES key from an IBM 4758SummaryThe IBM 4758 is an extremely secure cryptographic co-processor. It is usedby banking systems and in other security conscious applications to holdkeying material. It is designed to make it impossible to extract thiskeying material unless you have the correct permissions and can involveothers 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 softwarecalled the "Common Cryptographic Architecture" (CCA)to export any and all of this program's DES and 3DES keys to us. All we need is:
The attack can only be performed by an insider with physical access to thecryptographic co-processor, but they can act alone. The FPGA evaluation boardis used as a "brute force key cracking" machine. Programming this is areasonably straightforward task that does not require specialist hardwaredesign knowledge. Since the board is pre-built and comes with all thenecessary 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 machinein the open community that has actually been built and then used to findan unknown key! Until IBM fix the CCA software to prevent our attack, banks arevulnerable to a dishonest branch manager whose teenager has $995 and afew hours to spend in duplicating our work. NEW: 5 FEB 2002: Version 2.41 of the CCA has now been made availableavailable on IBM's website athttp://www-3.ibm.com/security/cryptocards/html/release241.shtml. Version 2.41 includes fixes specificallydesigned to prevent the attack described on this website, and some ofthe related weaknesses described in Mike Bond's paper "Attacks onCryptoprocessor Transaction Sets". Contents
How the problem might be fixedIn creating these web pages we wished to concentrate on what the problemwas with the IBM 4758 running the CCA software. How it might be fixed willto some extent be a matter of programming taste, and might also raise verycomplex issues of compatability with systems that are already in the field.We therefore shied away from describing how IBM might fix the problem. However, so many people have asked for ideas about this, that we are now making available an outline of what needs to be done, both by IBM to correct theflaws we have found in their system and by banks who wish to minimisetheir short terms risks before new software becomes available. Thisinformation (which of necessity is somewhat technical) may be found athttp://www.cl.cam.ac.uk/~mkb23/fix.html. Frequently Asked Questions
Other linksMichael Bond. "Attacks on Cryptoprocessor Transaction Sets" Proceedingsof 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 Guidefor 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 |