[tor-commits] [tor/master] prop289: Add random bytes to the unused portion of the cell

asn at torproject.org asn at torproject.org
Thu May 2 15:16:20 UTC 2019


commit a6e012508e5b0d676cdf204fcbd7942e3cc21419
Author: David Goulet <dgoulet at torproject.org>
Date:   Tue Feb 19 15:02:11 2019 -0500

    prop289: Add random bytes to the unused portion of the cell
    
    Signed-off-by: David Goulet <dgoulet at torproject.org>
---
 src/core/or/relay.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/core/or/relay.c b/src/core/or/relay.c
index 47275a811..63c406d8a 100644
--- a/src/core/or/relay.c
+++ b/src/core/or/relay.c
@@ -572,6 +572,14 @@ relay_send_command_from_edge_,(streamid_t stream_id, circuit_t *circ,
   if (payload_len)
     memcpy(cell.payload+RELAY_HEADER_SIZE, payload, payload_len);
 
+  /* Add random bytes to the unused portion of the payload, to foil attacks
+   * where the other side can predict all of the bytes in the payload and thus
+   * compute authenticated sendme cells without seeing the traffic.  See
+   * proposal 289. */
+  crypto_fast_rng_getbytes(get_thread_fast_rng(),
+                           cell.payload + RELAY_HEADER_SIZE + payload_len,
+                           RELAY_PAYLOAD_SIZE - payload_len);
+
   log_debug(LD_OR,"delivering %d cell %s.", relay_command,
             cell_direction == CELL_DIRECTION_OUT ? "forward" : "backward");
 





More information about the tor-commits mailing list