How does smart card store keys and saves it from client applications on same memory?

1.07K viewsCryptography and Security

How does smart card store keys and saves it from client applications on same memory?

Smart card saves keys on its memory. We see other client applications also run on it. Everyone is using same physical memory. How does smart card application protect its keys?

expert_sg Answered question May 12, 2021
0

Below are several layers of protection applied for sensitive data storage in smartcard:

  • Encrypted storage of data (include keys and data) in NVM (Flash/EEPROM)
  • Scrambling of data storage (virtual/physical memory concept – real physical address unknown)
  • Implementations to prevent side-channel attacks. Sensors to monitor frequency, voltage, temperature, light parameters
  • Security Domain implementation following Global Platform specifications for Multi-application cards.
  • Application-level Access Rights Protection for Key storage
  • Application-level use of secure Javacard API for Key storage and access.

smartcard chip is the most secure and trusted hardware solution for on-chip key generation, digital signature.

expert_sg Answered question May 12, 2021
0

The smart card chips itself designed to be tamper-proof and resist attempts to extract key data. Smart card operating system or application will generally have specific key store area in the memory with additional security mechanisms (eg: encryption, key shares etc). And the application will be designed in such a way that there is no provision to retrieve key like you retrieve data using APDUs (eg: READ BINARY)

Bytes & Nibbles Technologies Posted new comment May 9, 2021

Right – In addition to that keep in mind the security enforced by the Java Virtual Machine for the Java cards which provide isolation between different applications.

On the OS side, there are also so ways to use keys without accessing them.

1