Hazelnet 3.0.0
Reference implementation of the CAN Bus Security (CBS) protocol
Data Fields
hzl_ClientGroupState Struct Reference

Hazelnet Client variable State. More...

#include <hzl_Client.h>

Data Fields

hzl_ReqNonce_t requestNonce
 Random nonce used in the last Request (N^{req}_G). More...
 
hzl_Timestamp_t lastHandshakeEventInstant
 Timestamp of when the Request was transmitted or when the Response was received (r_G). More...
 
hzl_Timestamp_t currentRxLastMessageInstant
 Timestamp of when the last valid received secured message belonging to the currently active Session was processed (m_G). More...
 
hzl_Timestamp_t previousRxLastMessageInstant
 Timestamp of when the last valid received secured message belonging to the previously active Session was processed (m^{old}_G), currently about to expire. More...
 
hzl_CtrNonce_t currentCtrNonce
 Counter Nonce of the the currently active Session (N^{ctr}_G). More...
 
hzl_CtrNonce_t previousCtrNonce
 Counter Nonce of the the previously active Session (N^{ctr,old}_G), currently about to expire. More...
 
uint8_t currentStk [HZL_LTK_LEN]
 Short Term Key of the the currently active Session (STK_G). More...
 
uint8_t previousStk [HZL_LTK_LEN]
 Short Term Key of the the previously active Session (STK^{old}_G), currently about to expire. More...
 
uint8_t unusedPadding [4]
 Padding to the next struct. More...
 

Detailed Description

Hazelnet Client variable State.

Single instance per Group, multiple instances per Client. Initialised, modified, managed and cleared fully by the Client: the user MUST NOT touch its contents.

Field Documentation

◆ requestNonce

hzl_ReqNonce_t hzl_ClientGroupState::requestNonce

Random nonce used in the last Request (N^{req}_G).

Non-zero when a Response is currently expected.

◆ lastHandshakeEventInstant

hzl_Timestamp_t hzl_ClientGroupState::lastHandshakeEventInstant

Timestamp of when the Request was transmitted or when the Response was received (r_G).

Used to check if its timeout is expired or when the old Session data should be cleared.

◆ currentRxLastMessageInstant

hzl_Timestamp_t hzl_ClientGroupState::currentRxLastMessageInstant

Timestamp of when the last valid received secured message belonging to the currently active Session was processed (m_G).

Used to scale down the acceptable Counter Nonce interval.

◆ previousRxLastMessageInstant

hzl_Timestamp_t hzl_ClientGroupState::previousRxLastMessageInstant

Timestamp of when the last valid received secured message belonging to the previously active Session was processed (m^{old}_G), currently about to expire.

Used to scale down the acceptable Counter Nonce interval.

◆ currentCtrNonce

hzl_CtrNonce_t hzl_ClientGroupState::currentCtrNonce

Counter Nonce of the the currently active Session (N^{ctr}_G).

◆ previousCtrNonce

hzl_CtrNonce_t hzl_ClientGroupState::previousCtrNonce

Counter Nonce of the the previously active Session (N^{ctr,old}_G), currently about to expire.

◆ currentStk

uint8_t hzl_ClientGroupState::currentStk[HZL_LTK_LEN]

Short Term Key of the the currently active Session (STK_G).

◆ previousStk

uint8_t hzl_ClientGroupState::previousStk[HZL_LTK_LEN]

Short Term Key of the the previously active Session (STK^{old}_G), currently about to expire.

◆ unusedPadding

uint8_t hzl_ClientGroupState::unusedPadding[4]

Padding to the next struct.


The documentation for this struct was generated from the following file: