It is basically a 256 byte 8 bit wide EEPROM with special write protection.Â In order to successfully write to the device, you need to know a 3 byte password called the Programmable Security Code (PSC).Â The code is locked tightly inside the memory area of the device and if you try to guess it, you have 3 tries before being permanently locked out forever (well forever for some, we can always perform magic on the part).
Note:Â Clicking on all pictures except the diagram will give you a larger ~2 MB 2400 * ~2400 image in a seperate window
The photo above is a picture shows the entire substrate.Â There was still some dirt on the die but it didn't effect our interests.Â The geometry of the device is pretty big (> 2 uM).Â It has one polysilicon layerÂ and one metal layer fabricated using an NMOS process.
Note:Â Just because the device is big does not constitute ease of an attack but it does make execution of an attack easier for an attacker without large amount of expense.
The above diagram has been taken from Page 7 of the SLE4442 PDF.Â
A successful attack on this device means an attacker knows the PSC which enables write operations to the device under attackÂ or the abilityÂ to clone the device under attack into fresh new target who can act like the original device.Â We'll discuss the PSC in more detail below.
We have pretty much identified all the important areas listed on the Page 7 diagramÂ in theÂ above picture.Â We can see again a test circuit that has had its enable sawn off during production.Â We can see the enable line looping back for the die that was placed to the right of this die.Â Notice the duck?Â Hrmmmm... Seems to be pointing at 2 test points.Â We'll just say that the duck probably knows what he's looking at ;)
We left out a few areasÂ noted in the block diagram however the most important areas have been highlighted in red.
We removed the top metal (the only metal layer) and you can now see the diffusion and poly layers.Â You can literally take these two pictures above andÂ create a schematic from them if you understand NMOS circuits.
Possible attacks on the device:
- Electrical glitches:Â Fed through VCC / CLOCK line are possible.Â The circuit latches are all toggled from the serial clock provided by the user.
- Optical Erasure:Â UV seems to clear cells of the EEPROM to zero.Â Masking of the EEPROM except for the 3 PSC bytes would result in a PSC of $00,$00,$00 for that particular device.Â However note this is not a favorable attack as the device would probably become rejected by the host that this device belongs too.
- OpticalÂ glitches:Â TheseÂ give strange results.Â An optical glitch in the right area might produce readback of the PSC code through command $31 (Read Security Memory).
- Bus attacks:Â Sitting on the databus will show you the PSC of the device.Â This method is effective but not easilly accomplish by most.
- PSC Control logic:Â Find the right signal in this area and you can make the device believe a valid PSC has been previously given allowing readback of the PSC through command $31.Â This is our prefered method, just ask the duck ;).
The security model used on this type of device is one in which the host-environment is trusted.Â This is a riskyÂ way of thinking but ironically, it has been used a lot (Fedex/Kinko's payment cards(SLE4442, SLE5542), Telephone cards in use worldwide (ST1335, ST1355), laundry machine smartcards (AT88SC102).
Proof of failure of this trust model has been shown in places such as:
- Phone card emulation in Europe.Â It became so bad, metal detectors were placed inside the phones smartcard area to deter eavesdropping.
- Fedex/Kinko's was successfully compromised by a man named Strom Carlson.Â He demonstrated the abuse of the SLE4442 in use by Kinko's at the time.Â You can read an article about it here.