GNUnet  0.11.x
Data Fields
DvHopPS Struct Reference

Content signed by each peer during DV learning. More...

Collaboration diagram for DvHopPS:
[legend]

Data Fields

struct GNUNET_CRYPTO_EccSignaturePurpose purpose
 Purpose is GNUNET_SIGNATURE_PURPOSE_TRANSPORT_DV_HOP. More...
 
struct GNUNET_PeerIdentity pred
 Identity of the previous peer on the path. More...
 
struct GNUNET_PeerIdentity succ
 Identity of the next peer on the path. More...
 
struct ChallengeNonceP challenge
 Challenge value used by the initiator to re-identify the path. More...
 

Detailed Description

Content signed by each peer during DV learning.

This assues the initiator of the DV learning operation that the hop from pred via the signing peer to succ actually exists. This makes it impossible for an adversary to supply the network with bogus routes.

The challenge is included to provide replay protection for the initiator. This way, the initiator knows that the hop existed after the original challenge was first transmitted, providing a freshness metric.

Peers other than the initiator that passively learn paths by observing these messages do NOT benefit from this. Here, an adversary may indeed replay old messages. Thus, passively learned paths should always be immediately marked as "potentially stale".

Definition at line 593 of file gnunet-service-tng.c.

Field Documentation

◆ purpose

struct GNUNET_CRYPTO_EccSignaturePurpose DvHopPS::purpose

Purpose is GNUNET_SIGNATURE_PURPOSE_TRANSPORT_DV_HOP.

Definition at line 598 of file gnunet-service-tng.c.

Referenced by forward_dv_learn(), and handle_dv_learn().

◆ pred

struct GNUNET_PeerIdentity DvHopPS::pred

Identity of the previous peer on the path.

Definition at line 603 of file gnunet-service-tng.c.

◆ succ

struct GNUNET_PeerIdentity DvHopPS::succ

Identity of the next peer on the path.

Definition at line 608 of file gnunet-service-tng.c.

◆ challenge

struct ChallengeNonceP DvHopPS::challenge

Challenge value used by the initiator to re-identify the path.

Definition at line 613 of file gnunet-service-tng.c.


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