The ST25DV-I2C CryptoDemo firmware shows how to establish a secure transfer channel over NFC, between an STM32 microcontroller and an Android smartphone. It uses the fast transfer mode (FTM) feature of the ST25DV-I2C NFC Tag. The items available for this demonstration are: this firmware (STSW-ST25DV003), the Android application (STSW-ST25003), a user manual (UM2575), and application note (AN5323). An ST25DV-I2C-DISCO board is required to run the demonstration. This demonstration establishes a secure transfer channel by using cryptography to perform mutual authentication and to encrypt the communications over NFC. This secure transfer channel is used during the demonstration to securely send and retrieve data, perform the device settings, and upload new firmware. Only the granted user may communicate with the STM32 microcontroller to perform these operations. All the communications are encrypted between the microcontroller and the Android phone in both ways, so that the user can configure the product or retrieve data securely.
Encryption of all NFC bidirectional communications between an Android™ phone and an STM32 microcontroller
Fast communications over NFC, using ST25DV fast transfer mode
AES and ECC cryptography
Mutual authentication between the Android phone and the STM32 microcontroller
Establishment of a unique AES session key
Encryption can be used to retrieve data, set device settings or update the firmware securely