Please explain "mask", "hard mask", "soft mask"

Julien SIMON

In the smart card context, the mask is the software that is burned in ROM by the chip manufacturer. This will include the runtime environment and the default applications provided by the card issuer. Some people also use the terms "hard mask" and "ROM mask".

Using a devilish mechanism, it's possible to patch part of the hard mask with code stored in EEPROM: this code is called "soft mask". Its purpose is usually to fix bugs in the hard mask: you just shipped the new mask to the manufacturer and an intern finds a critical bug (sounds familiar?). Nobody wants to throw 100,000 brand new cards away, so you'll have to come up with a soft mask. This will save the day, but it'll waste a few kilobytes of precious EEPROM…