They have developed and patented a method to generate high-quality identifiers and true random numbers from the star-up values of static digital memories such as SRAMs. Image: CSIC.“There are not two identical static digital memories, because in their fabrication variations happen in a random and unpredictable way”, explains Iluminada Baturone, scientists at the Centro Nacional de Microelectrónica and professor at the Universidad de Sevilla.
“SRAMs digital memories are composed of cells where logic values of “1” or “0” can be written and read when they are powered up. When they are powered down, the cells loose those values. The interesting issue is that when a memory is powered up, and before anything is written on it, some of its cells, usually the same ones, store a “1” and others store a “0”. The cells behave as if they were see-saws: starting from the middle and first position of balance, some of them will always go down in the left side and others will go down in the right”.
These start-up values form together a chain of bits from which a kind of “number plate” or “fingerprint” of the device can be extracted, because it is virtually impossible that two different memories have the same start-up values. Even in the case one memory is copied, the star-up values will never be the same. That’s why scientists all around the world are studying this characteristic as a way to avoid falsification of electronic products.
Nevertheless, a limitation of this technique is that the start-up values change if some circumstances change, like operation temperature or power supply voltage. For obvious reasons, the “electronic fingerprint” cannot be changeable, says Baturone. The issue is, then, how to obtain a stable and permanent fingerprint.
Another additional issue is that, in many applications, these “fingerprints” cannot be saved or communicated in clear because they could be copied, but they have to be protected with cryptographic algorithms which, many times, require of true random numbers. How to obtain true random numbers from a digital memory?
The method allows identification of any electronic device that connects to a server or to an intelligent system
The scientific team led by Iluminada Baturone and composed by scientists from the CSIC and from the Universidad de Sevilla has researched to find an answer. They have developed and patented a method to generate high-quality identifiers and true random numbers from the star-up values of static digital memories such as SRAMs. Experimental studies have shown that the method reduces the length of the identifiers maintaining the same identification capability. At the same time, it simplifies the generation of true random numbers. It can be applied to standard digital designs and carried out by the final user, without the need of a complex laboratory set-up. Particularly, this method can be carried with simple circuitry which can be added to the memory circuits.
This method facilitates, for instance, linking a software to a unique physical device, in order to prevent other devices to execute the software. Or, another example, it allows identification of any electronic device that connects to a server or to an intelligent system to make operations, such as banking transactions or managing highly confidential information. Besides, the method facilitates the generation of cryptographic keys, avoiding the need of saving cryptographic information in safe non-volatile memories.
Contact:
José Ramón Domínguez Solís,
Vicepresidencia Adjunta de Transferencia de Conocimiento
Consejo Superior de Investigaciones Científicas (CSIC)
Tel.: + 34 – 95 423 23 49