NanoSMP
The NanoSMP (Security Module Plugin) connector defines a provider interface layer for Secure Elements (SE) to integrate with NanoTAP (Trust Anchor Platform). The NanoTAP layer provides transport protocols and applications with a simple set of APIs to seamlessly integrate with any type of secure element. To build a connector with NanoSMP, the security module provider must register and implement the APIs based on the capabilities supported by the secure element.
Note
Each NanoSMP connector is a licensed extension of NanoTAP for a specific type of secure element (i.e., processor) and target operating environment (i.e., operating system).
Key features
The NanoSMP connector provides the following features, depending on the capabilities supported by the secure element:
Small memory footprint
Speeds integration and testing of complex cryptographic secure functions for your product
Threadless, asynchronous architecture
Guaranteed GPL-free code that protects your intellectual property
API abstraction layer that provides APIs for the transport protocol stack and polyglot applications
APIs for discovery, provisioning, context management, session management and secure functions.
Extensible set of secure functions for cryptographic operations, random number generation, secure (measured, authenticated) storage, attestation, and key storage.
System requirements
Memory requirements
The NanoSMP connector for TPM 2.0/1.2 has a minimum memory footprint of 640KB.
Typical memory usage is with a full set of ciphers and may vary (decrease or increase) based on 32/64-bit, x86/ARM/MIPS, reduced set of ciphers, static/shared library, and compile flags.
Supported operating systems
Linux
Microsoft® Windows
FreeRTOS
ThreadX
Supported operating platforms
Infineon® TPM 2.0/1.2 (Windows, Linux)
ST-Micro® TPM 2.0/1.2 (Windows, Linux)
Atmel® TPM 2.0/1.2 (Windows, Linux)
NXP A71CH (FreeRTOS)
Renesas S5 (ThreadX)
PKCS#11-based SIM (Linux)