Secure_LinkGENERAL_API
APIs for Secure link configuration and usage.
Data Structures |
|
struct | HiSetSlMacKeyReqBody_t |
Set the Secure Link MAC key.
|
|
struct | HiSetSlMacKeyCnfBody_t |
Confirmation for the Secure Link MAC key setting.
|
|
struct | HiSlExchangePubKeysReqBody_t |
Exchange Secure Link Public Keys.
|
|
struct | HiSlExchangePubKeysCnfBody_t |
Confirmation for exchange of Secure Link Public Keys.
|
|
struct | HiSlConfigureReqBody_t |
Configure Secure Link Layer.
|
|
struct | HiSlConfigureCnfBody_t |
Confirmation of Secure Link Layer configuration
HiSlConfigureReqBody_t
.
|
Enumerations |
|
enum |
SecureLinkState
{
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
|
|
enum |
SlMacKeyDest
{
SL_MAC_KEY_DEST_OTP = 0x78, SL_MAC_KEY_DEST_RAM = 0x87 } |
destination of the
Secure Link MAC key
, used by request message
HiSetSlMacKeyReqBody_t
|
|
enum |
SlConfigureSkeyInvld
{
SL_CONFIGURE_SKEY_INVLD_INVALIDATE = 0x87, SL_CONFIGURE_SKEY_INVLD_NOP = 0x00 } |
used in request message
HiSlConfigureReqBody_t
to trigger
Session Key
invalidation
|
Detailed Description
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
Data Structure Documentation
◆ HiSetSlMacKeyReqBody_t
struct HiSetSlMacKeyReqBody_t |
Set the Secure Link MAC key.
This API can be used in two contexts:
- for Trused Eval chips : used to set a temporary SecureLink MAC key in RAM.
- for Trused Enforced chips : used to permanently burn the SecureLink MAC key in OTP memory
Definition at line
551
of file
general_api.h
.
Data Fields | ||
---|---|---|
uint8_t | KeyValue[32] | Secure Link MAC Key value. |
uint8_t | OtpOrRam | Key destination - OTP or RAM (see enum SlMacKeyDest ) |
◆ HiSetSlMacKeyCnfBody_t
struct HiSetSlMacKeyCnfBody_t |
Confirmation for the Secure Link MAC key setting.
Definition at line
563
of file
general_api.h
.
Data Fields | ||
---|---|---|
uint32_t | Status | Key upload status (see enum HiStatus ) |
◆ HiSlExchangePubKeysReqBody_t
struct HiSlExchangePubKeysReqBody_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.
Definition at line
581
of file
general_api.h
.
Data Fields | ||
---|---|---|
uint8_t | HostPubKey[32] | Host Public Key. |
uint8_t | HostPubKeyMac[64] | Host Public Key MAC. |
◆ HiSlExchangePubKeysCnfBody_t
struct HiSlExchangePubKeysCnfBody_t |
Confirmation for exchange of Secure Link Public Keys.
Definition at line
595
of file
general_api.h
.
Data Fields | ||
---|---|---|
uint8_t | NcpPubKey[32] | Device Public Key. |
uint8_t | NcpPubKeyMac[64] | Device Public Key MAC. |
uint32_t | Status | Request status (see enum HiStatus ) |
◆ HiSlConfigureReqBody_t
struct HiSlConfigureReqBody_t |
Configure Secure Link Layer.
This API can be used to:
- Set/update the Secure Link encryption bitmap
- Optionally (and additionally), invalidate the current session key
Upon request reception, Device will update its own encryption bitmap and return the updated value in the confirmation.
Definition at line
626
of file
general_api.h
.
Data Fields | ||
---|---|---|
uint8_t | EncrBmp[32] | Encryption bitmap. |
uint8_t | SkeyInvld | Invalidate Session Key (see enum SlConfigureSkeyInvld ) |
◆ HiSlConfigureCnfBody_t
struct HiSlConfigureCnfBody_t |
Confirmation of Secure Link Layer configuration HiSlConfigureReqBody_t .
Definition at line
639
of file
general_api.h
.
Data Fields | ||
---|---|---|
uint32_t | Status | Request status (see enum ::WsmStatus) |
Enumeration Type Documentation
◆ SecureLinkState
enum SecureLinkState |
◆ SlConfigureSkeyInvld
enum SlConfigureSkeyInvld |
used in request message HiSlConfigureReqBody_t to trigger Session Key invalidation
Enumerator | |
---|---|
SL_CONFIGURE_SKEY_INVLD_INVALIDATE |
Force invalidating session key. |
SL_CONFIGURE_SKEY_INVLD_NOP |
Do not invalidate session key. |
Definition at line
610
of file
general_api.h
.
◆ SlMacKeyDest
enum SlMacKeyDest |
destination of the Secure Link MAC key , used by request message HiSetSlMacKeyReqBody_t
Enumerator | |
---|---|
SL_MAC_KEY_DEST_OTP |
Key will be stored in OTP. |
SL_MAC_KEY_DEST_RAM |
Key will be stored in RAM. |
Definition at line
538
of file
general_api.h
.