bZRTP
bZRTP is an opensource implementation of ZRTP keys exchange protocol
Loading...
Searching...
No Matches
Data Fields
bzrtpSASRelayMessage_struct Struct Reference

Clear ACK Message rfc 5.12 This message contains no data but only a length and message type which are stored in the bzrtpPacket_t structure There the no need to define a structure type for this packet. More...

#include <packetParser.h>

Data Fields

uint8_t MAC [8]
 
uint8_t CFBIV [16]
 
uint16_t sig_len
 
uint8_t V
 
uint8_t A
 
uint8_t D
 
uint8_t renderingScheme [4]
 
uint8_t relayedSasHash [32]
 
uint8_t signatureBlockType
 
uint8_tsignatureBlock
 

Detailed Description

Clear ACK Message rfc 5.12 This message contains no data but only a length and message type which are stored in the bzrtpPacket_t structure There the no need to define a structure type for this packet.

SASRelay Message rfc 5.13 The SASrelay message is sent by a trusted MiTM, most often a PBX. It is not sent as a response to a packet, but is sent as a self-initiated packet by the trusted MiTM (Section 7.3). It can only be sent after the rest of the ZRTP key negotiations have completed, after the Confirm messages and their ACKs. It can only be sent after the trusted MiTM has finished key negotiations with the other party, because it is the other party's SAS that is being relayed. It is sent with retry logic until a RelayACK message (Section 5.14) is received or the retry schedule has been exhausted. Part of the message is encrypted using the negotiated block cipher for media encryption. Depending on whether the trusted MiTM had taken the role of the initiator or the responder during the ZRTP key negotiation, the SASrelay message is encrypted with zrtpkeyi or zrtpkeyr.

Field Documentation

◆ A

uint8_t bzrtpSASRelayMessage_struct::A

The Allow Clear flag (A) is a Boolean bit defined in Section 4.7.2 - Encrypted - (1 bit)

◆ CFBIV

uint8_t bzrtpSASRelayMessage_struct::CFBIV[16]

The CFB Initialization Vector is a 128-bit random nonce (128 bits)

◆ D

uint8_t bzrtpSASRelayMessage_struct::D

The Disclosure Flag (D) is a Boolean bit defined in Section 11. - Encrypted - (1 bit)

◆ MAC

uint8_t bzrtpSASRelayMessage_struct::MAC[8]

a MAC computed over the encrypted part of the message (64 bits)

◆ relayedSasHash

uint8_t bzrtpSASRelayMessage_struct::relayedSasHash[32]

the sashash relayed from the other party. The first 32-bit word of the sashash contains the sasvalue, which may be rendered to the user using the specified SAS rendering scheme. If this SASrelay message is being sent to a ZRTP client that does not trust this MiTM, the sashash will be ignored by the recipient and should be set to zeros by the PBX. - Encrypted - (256 bits)

◆ renderingScheme

uint8_t bzrtpSASRelayMessage_struct::renderingScheme[4]

the SAS rendering scheme for the relayed sashash, which will be the same rendering scheme used by the other party on the other side of the trusted MiTM. - Encrypted - (32 bits)

◆ sig_len

uint16_t bzrtpSASRelayMessage_struct::sig_len

The SAS signature length. The trusted MiTM MAY compute a digital signature on the SAS hash, as described in Section 7.2, using a persistent signing key owned by the trusted MiTM. If no SAS signature is present, all bits are set to zero. The signature length is in words and includes the signature type block. If the calculated signature octet count is not a multiple of 4, zeros are added to pad it out to a word boundary. If no signature block is present, the overall length of the SASrelay message will be set to 19 words.

◆ signatureBlock

uint8_t* bzrtpSASRelayMessage_struct::signatureBlock

Optionnal signature block as decribded in section 7.2 - Encrypted - (variable length)

◆ signatureBlockType

uint8_t bzrtpSASRelayMessage_struct::signatureBlockType

Optionnal signature type : "PGP " or "X509" string - Encrypted - (32 bits)

◆ V

uint8_t bzrtpSASRelayMessage_struct::V

The SAS Verified flag (V) is a Boolean bit defined in Section 7.1. - Encrypted - (1 bit)


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