XCORE SDK
XCORE Software Development Kit
|
APIs for Secure link configuration and usage. More...
Macros | |
#define | SL_WFX_KEY_VALUE_SIZE 32 |
#define | SL_WFX_HOST_PUB_KEY_SIZE 32 |
#define | SL_WFX_HOST_PUB_KEY_MAC_SIZE 64 |
#define | SL_WFX_NCP_PUB_KEY_SIZE 32 |
#define | SL_WFX_NCP_PUB_KEY_MAC_SIZE 64 |
#define | SL_WFX_SESSION_KEY_PROTECTION_DISABLE_MAGIC 0xfa21e603 |
Magic word used to disable Session Key protection. | |
#define | SL_WFX_ENCR_BMP_SIZE 32 |
Enumerations | |
enum | sl_wfx_secure_link_state_e { SECURE_LINK_NA_MODE = 0x0 , SECURE_LINK_UNTRUSTED_MODE = 0x1 , SECURE_LINK_TRUSTED_MODE = 0x2 , SECURE_LINK_TRUSTED_ACTIVE_ENFORCED = 0x3 } |
*Secure Link' device state More... | |
enum | sl_wfx_securelink_mac_key_dest_e { SECURE_LINK_MAC_KEY_DEST_OTP = 0x78 , SECURE_LINK_MAC_KEY_DEST_RAM = 0x87 } |
destination of the Secure Link MAC key, used by request message sl_wfx_set_securelink_mac_key_req_body_t More... | |
enum | sl_wfx_secure_link_session_key_alg_e { SECURE_LINK_CURVE25519 = 0x01 , SECURE_LINK_KDF = 0x02 } |
Session Key computation algorithms. More... | |
APIs for Secure link configuration and usage.
WFX family of product have the ability to encrypt the SDIO or SPI link.
Link to more detailed documentation about the Secure Link feature : SecureLink
Confirmation of Secure Link Layer configuration sl_wfx_securelink_configure_req_body_t.
Configure Secure Link Layer.
This API can be used to:
About the Session Key protection: SecureLink underlying encryption algorithm is AES CCM. This algorithm is using an internal Nonce counter incremented each time a message is encrypted/decrypted. This counter is not supposed to go beyond a given limit to guarantee AES CCM security properties. This is why Host Driver is responsible for renegotiating the session key once the message counter is approaching the limit. Disabling the Session Key protection will disable the check performed by the firmware that the Nonce counter is crossing the limit, allowing Host Driver to use the same session key during the same power cycle, even during a very long time. This behavior is not recommended.
To disable the protection, a given magic word (SL_WFX_SESSION_KEY_PROTECTION_DISABLE_MAGIC) must be provided as DisableSessionKeyProtection parameter value. Any other value will let the protection set.
typedef struct sl_wfx_securelink_exchange_pub_keys_req_body_s sl_wfx_securelink_exchange_pub_keys_req_body_t |
Exchange Secure Link Public Keys.
This API is used by the Host to send its curve25519 public key to Device, and get back Device public key in the confirmation message. Once keys are exchanged and authenticated (using their respective MAC), each peer computes the Secure Link session key that will be used to encrypt/decrypt future Host<->Device messages.
Set the Secure Link MAC key.
This API can be used for Trusted Eval devices in two contexts: