Built-in hardware level security is crucial in developing a secure wallet solution. Citadel Wallet is utilizing a microcontroller based on a newly released ARM Cortex-M33 core architecture developed for IoT and embedded applications that require high security and low power consumption. Advanced dual core technology allows separation of secure and non-secure applications running on the same chip without risking security. The processor has a built in TrustZone security extension for hardware-enforced isolation, a coprocessor interface, memory protection units, and a floating-point unit. The Cortex-M33 processor with TrustZone and memory protection is PSA certified providing security assurance for applications that require high levels of protection.

The Cortex-M33 microprocessor achieves an optimal blend between real-time determinism, energy efficiency, software productivity, and system security which opens the door for many new applications and opportunities across diverse markets including blockchains. M33 microprocessor is based on the ARMv8-M architecture which reduces the complexity of developing secure embedded solutions that scale all the way from the smallest IoT device to complex SoCs. When M33 core is in Secure state, it can access both Secure and Non-secure memories. If the ARMv8-M architecture with Security Extension is implemented, the processor starts up in Secure state. When the core is in Non-secure state, it can access Non-secure memories only.

Secure core will allow to use a TRNG (True Random Number Generator) block to generate truly random FIPS 140-2 compliant private/public key pairs required for cryptocurrency account creation. MPU (Memory Protection Unit) and KMU (Key Management Unit) will allow secure storage of keys and management of them for different needs such as encrypted Bluetooth, off chip memory communication and handling of public keys. Secure core of the microcontroller will interact with off chip Secure Element for submitting messages that need to be signed and returned.

Non-Secure core of the microcontroller will be responsible for running the general application for the wallet communication with the PC or mobile device through USB, BLE or NFC. It will handle user inputs through touch or button user interfaces and drive the LCD.

Last updated