Skip to content
Snippets Groups Projects
  1. Jun 07, 2014
  2. Jun 02, 2014
  3. Jun 01, 2014
    • Yawning Angel's avatar
      Move the server keypair generation to right after Accept(). · 36228437
      Yawning Angel authored
      Instead of threading the code, move the keypair generation to right
      after Accept() is called.  This should mask the timing differential due
      to the rejection sampling with the noise from the variablity in how
      long it takes for the server to get around to pulling a connection out
      of the backlog, and the time taken for the client to send it's portion
      of the handshake.
      
      The downside is that anyone connecting to the obfs4 port does force us
      to do a bunch of math, but the obfs4 math is relatively cheap compared
      to it's precursors.
      
      Fixes #9.
      36228437
    • Yawning Angel's avatar
      Generate client keypairs before connecting, instead of after. · 2001f0b6
      Yawning Angel authored
      Part of issue #9.
      2001f0b6
  4. May 28, 2014
  5. May 26, 2014
  6. May 25, 2014
  7. May 24, 2014
  8. May 23, 2014
    • Yawning Angel's avatar
      Add support for IAT obfuscation (disabled by default). · e77ddddf
      Yawning Angel authored
      When enabled, inter-packet delay will be randomized between 0 and 10
      ms in 100 usec intervals.  As experiences from ScrambleSuit (and back
      of the envelope math based on how networks work) show, this is
      extremely expensive and artificially limits the throughput of the link.
      
      When enabled, bulk transfer throughput will be limited to an average of
      278 KiB/s.
      e77ddddf
    • Yawning Angel's avatar
      Change the maximm handshake length to 8192 bytes. · 272fb852
      Yawning Angel authored
       * handhake_ntor_test now is considerably more comprehensive.
       * The padding related constants in the spec were clarified.
      
      This breaks wireprotocol compatibility.
      272fb852
  9. May 22, 2014
    • Yawning Angel's avatar
      Add replay detection to handshakes. · fd4e3c7c
      Yawning Angel authored
      This is done by maintaining a map keyed off the SipHash-2-4 digest of
      the MAC_C component of the handshake.  Collisions, while possible are
      unlikely in the extreme and are thus treated as replays.
      
      In concept this is fairly similar to the ScrambleSuit `replay.py` code,
      with a few modifications:
      
       * There is a upper bound on how large the replay filter can grow.
         Currently this is set to 102400 entries, though it is unlikely that
         this limit will be hit.
      
       * A doubly linked list is also maintained parallel to the map, so the
         filter compaction process does not need to iterate over the entire
         filter.
      fd4e3c7c
  10. May 21, 2014
  11. May 20, 2014
  12. May 18, 2014
  13. May 17, 2014
  14. May 16, 2014
Loading