Overview ======== This project demonstrates the usage of Secure Module functionality in combination with host library and MBEDTLS cryptographic library. Walkthrough example => Demonstrates usage of secure module from a system integrator's perspective. Illustrates typical product use AES example => Demonstrates wrapped setting/retrieving of symmetric keys and crypto applications of stored symmetric keys Config example => Demonstrates storage and usage of config keys Debug example => Demonstrates miscellaneous functionality supported by Debug Mode of secure module EccNohc => Demonstrates ECC crypto functionality of secure module without relying on Host Crypto GPStorage => Demonstrates general purpose storage functionality and monotonic counter usage Misc => Demonstrates miscellaneous module functionality PSK => Demonstrates plain or ECDH enhanced pre-shared key based master key creation SCP => Demonstrates setting up an SCP03 channel between Host and secure module Sst => Demonstrate storage of symmetric keys and public keys Boot => Demonstrates that the HostOS does NOT need to know the SCP03 Base Keys to establish an SCP03 session (provided the boot loader has established the SCP03 session and saved the SCP03 session state) SstKp => Demonstrates storage of key pairs Toolchain supported =================== - MCUXpresso Hardware requirements ===================== - Micro USB cable - Kinetis FRDM-K64F/FRDM-K82F/FRDM-KW41Z board - Personal Computer - A71CH Mini PCB - A71CH Arduino shield Prepare the Demo ================ 1. Build the demo 2. Connect a USB cable between the PC host and the OpenSDA USB port on the target board. 3. Download the program to the target board. 4. Open a serial terminal on PC for OpenSDA serial device with these settings: - 115200 baud rate - 8 data bits - No parity - One stop bit - No flow control - change Setup->Terminal->New-line->Receive->AUTO 5. Either press the reset button on your board or launch the debugger in your IDE to begin running the demo. Running the demo ================ The below messages are seen on the terminal followed by the test specific log messages selectResponseDataLen: 2 0x01:0x31: ATR=0xB8.04.11.01.05.04.B9.02.01.01.BA.01.01.BB.0C.41.37.31.30.78.43.48.32.34.32.52.31.BC.00. SCI2C_HostLib Version : 0x0130 Applet Version : 0x0131 SecureBox Version: 0x0000 ==========SELECT-DONE========= (more tests are run as part of this example) End of project ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~