<feed xmlns='http://www.w3.org/2005/Atom'>
<title>shapeshifter-dispatcher.git/doc, branch master</title>
<subtitle>[shapeshifter-dispatcher] 
</subtitle>
<link rel='alternate' type='text/html' href='https://leap.se/git/shapeshifter-dispatcher.git/'/>
<entry>
<title>Add the "meek_lite" transport, which does what one would expect.</title>
<updated>2015-10-29T17:29:21+00:00</updated>
<author>
<name>Yawning Angel</name>
<email>yawning@torproject.org</email>
</author>
<published>2015-10-29T17:29:21+00:00</published>
<link rel='alternate' type='text/html' href='https://leap.se/git/shapeshifter-dispatcher.git/commit/?id=611205be681322883a4d73dd00fcb13c4352fe53'/>
<id>611205be681322883a4d73dd00fcb13c4352fe53</id>
<content type='text'>
This is a meek client only implementation, with the following
differences with dcf's `meek-client`:

 - It is named `meek_lite` to differentiate it from the real thing.
 - It does not support using an external helper to normalize TLS
   signatures, so adversaries can look for someone using the Go
   TLS library to do HTTP.
 - It does the right thing with TOR_PT_PROXY, even when a helper is
   not present.

Most of the credit goes to dcf, who's code I librerally cribbed and
stole.  It is intended primarily as a "better than nothina" option
for enviornments that do not or can not presently use an external
Firefox helper.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is a meek client only implementation, with the following
differences with dcf's `meek-client`:

 - It is named `meek_lite` to differentiate it from the real thing.
 - It does not support using an external helper to normalize TLS
   signatures, so adversaries can look for someone using the Go
   TLS library to do HTTP.
 - It does the right thing with TOR_PT_PROXY, even when a helper is
   not present.

Most of the credit goes to dcf, who's code I librerally cribbed and
stole.  It is intended primarily as a "better than nothina" option
for enviornments that do not or can not presently use an external
Firefox helper.
</pre>
</div>
</content>
</entry>
<entry>
<title>Move logging wrappers into common/log, and add a DEBUG log level.</title>
<updated>2015-04-03T14:21:31+00:00</updated>
<author>
<name>Yawning Angel</name>
<email>yawning@torproject.org</email>
</author>
<published>2015-04-03T14:21:31+00:00</published>
<link rel='alternate' type='text/html' href='https://leap.se/git/shapeshifter-dispatcher.git/commit/?id=df4265707999b08d220374c08e82711f264247bf'/>
<id>df4265707999b08d220374c08e82711f264247bf</id>
<content type='text'>
Implements feature #15576.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Implements feature #15576.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add support for acting as a ScrambleSuit client.</title>
<updated>2015-02-17T11:33:29+00:00</updated>
<author>
<name>Yawning Angel</name>
<email>yawning@torproject.org</email>
</author>
<published>2015-02-17T11:33:29+00:00</published>
<link rel='alternate' type='text/html' href='https://leap.se/git/shapeshifter-dispatcher.git/commit/?id=0066cfc3932c50323fa596981f18ef5b0e862742'/>
<id>0066cfc3932c50323fa596981f18ef5b0e862742</id>
<content type='text'>
This allows obfs4proxy to be used as a ScrambleSuit client that is wire
compatible with the obfs4proxy implementation, including session ticket
support, and length obfuscation.

The current implementation has the following limitations:
 * IAT obfuscation is not supported (and is disabled in all other
   ScrambleSuit implementations by default).
 * The length distribution and probabilites are different from those
   generated by obfsproxy and obfsclient due to a different DRBG.
 * Server support is missing and is unlikely to be implemented.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This allows obfs4proxy to be used as a ScrambleSuit client that is wire
compatible with the obfs4proxy implementation, including session ticket
support, and length obfuscation.

The current implementation has the following limitations:
 * IAT obfuscation is not supported (and is disabled in all other
   ScrambleSuit implementations by default).
 * The length distribution and probabilites are different from those
   generated by obfsproxy and obfsclient due to a different DRBG.
 * Server support is missing and is unlikely to be implemented.
</pre>
</div>
</content>
</entry>
<entry>
<title>Document the obfs4 NaCl secretbox nonce generation.</title>
<updated>2015-01-14T20:49:56+00:00</updated>
<author>
<name>Yawning Angel</name>
<email>yawning@torproject.org</email>
</author>
<published>2015-01-14T20:49:56+00:00</published>
<link rel='alternate' type='text/html' href='https://leap.se/git/shapeshifter-dispatcher.git/commit/?id=0f038ca4fa4c175d427251838cfee6fb6d6b9e2f'/>
<id>0f038ca4fa4c175d427251838cfee6fb6d6b9e2f</id>
<content type='text'>
Forgot to include this in the spec, though it was documented as a
comment in the framing code.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Forgot to include this in the spec, though it was documented as a
comment in the framing code.
</pre>
</div>
</content>
</entry>
<entry>
<title>Write an example obfs4 bridge line to "obfs4_bridgeline.txt".</title>
<updated>2014-09-24T16:00:42+00:00</updated>
<author>
<name>Yawning Angel</name>
<email>yawning@torproject.org</email>
</author>
<published>2014-09-24T16:00:42+00:00</published>
<link rel='alternate' type='text/html' href='https://leap.se/git/shapeshifter-dispatcher.git/commit/?id=514c3c6053ee3a2d3a842fd59b623ef432d93b7d'/>
<id>514c3c6053ee3a2d3a842fd59b623ef432d93b7d</id>
<content type='text'>
Write an example client bridge line suitable for use with the running
obfs4 server instance to "obfs4_bridgeline.txt" for the convenience of
bridge operators.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Write an example client bridge line suitable for use with the running
obfs4 server instance to "obfs4_bridgeline.txt" for the convenience of
bridge operators.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix spelling error in man page, no functional changes.</title>
<updated>2014-09-06T17:30:55+00:00</updated>
<author>
<name>Yawning Angel</name>
<email>yawning@torproject.org</email>
</author>
<published>2014-09-06T17:30:55+00:00</published>
<link rel='alternate' type='text/html' href='https://leap.se/git/shapeshifter-dispatcher.git/commit/?id=c4378cc0d3b025a67af3fa2be504bc9a2cac0bea'/>
<id>c4378cc0d3b025a67af3fa2be504bc9a2cac0bea</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add a man page for obfs4proxy.</title>
<updated>2014-09-06T16:40:37+00:00</updated>
<author>
<name>Yawning Angel</name>
<email>yawning@torproject.org</email>
</author>
<published>2014-09-06T16:40:37+00:00</published>
<link rel='alternate' type='text/html' href='https://leap.se/git/shapeshifter-dispatcher.git/commit/?id=09633500b3c875288059b9bea8ab59c1a34207c8'/>
<id>09633500b3c875288059b9bea8ab59c1a34207c8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Change the TYPE_PRNG_SEED length to 24.</title>
<updated>2014-08-27T12:26:09+00:00</updated>
<author>
<name>Yawning Angel</name>
<email>yawning@torproject.org</email>
</author>
<published>2014-08-27T12:26:09+00:00</published>
<link rel='alternate' type='text/html' href='https://leap.se/git/shapeshifter-dispatcher.git/commit/?id=94d3fe9a0802e2614d4a4b9297ed57b1979865fc'/>
<id>94d3fe9a0802e2614d4a4b9297ed57b1979865fc</id>
<content type='text'>
This matches what the code actually sends.  It's shorter than the
ScrambleSuit PRNG seed, but that's because the SipHash-2-4 based
Hash_DRBG has 24 bytes of internal state (key + initial output).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This matches what the code actually sends.  It's shorter than the
ScrambleSuit PRNG seed, but that's because the SipHash-2-4 based
Hash_DRBG has 24 bytes of internal state (key + initial output).
</pre>
</div>
</content>
</entry>
<entry>
<title>Change how the length obfsucation mask is derived.</title>
<updated>2014-06-02T17:50:01+00:00</updated>
<author>
<name>Yawning Angel</name>
<email>yawning@schwanenlied.me</email>
</author>
<published>2014-06-02T17:50:01+00:00</published>
<link rel='alternate' type='text/html' href='https://leap.se/git/shapeshifter-dispatcher.git/commit/?id=5bdc376e2abaf5ac87816b763f5b26e314ee9536'/>
<id>5bdc376e2abaf5ac87816b763f5b26e314ee9536</id>
<content type='text'>
Instead of using the nonce for the secret box, just use SipHash-2-4 in
OFB mode instead.  The IV is generated as part of the KDF.  This
simplifies the code a decent amount and also is better on the off
chance that SipHash-2-4 does not avalanche as well as it is currently
assumed.

While here, also decouple the fact that *this implementation* of obfs4
uses a PRNG with 24 bytes of internal state for protocol polymorphism
instead of 32 bytes (that the spec requires).

THIS CHANGE BREAKS WIRE PROTCOL COMPATIBILITY.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead of using the nonce for the secret box, just use SipHash-2-4 in
OFB mode instead.  The IV is generated as part of the KDF.  This
simplifies the code a decent amount and also is better on the off
chance that SipHash-2-4 does not avalanche as well as it is currently
assumed.

While here, also decouple the fact that *this implementation* of obfs4
uses a PRNG with 24 bytes of internal state for protocol polymorphism
instead of 32 bytes (that the spec requires).

THIS CHANGE BREAKS WIRE PROTCOL COMPATIBILITY.
</pre>
</div>
</content>
</entry>
<entry>
<title>Change the maximm handshake length to 8192 bytes.</title>
<updated>2014-05-23T04:04:31+00:00</updated>
<author>
<name>Yawning Angel</name>
<email>yawning@schwanenlied.me</email>
</author>
<published>2014-05-23T04:04:31+00:00</published>
<link rel='alternate' type='text/html' href='https://leap.se/git/shapeshifter-dispatcher.git/commit/?id=272fb852e72ac282144fe8608fea62ab74b9549c'/>
<id>272fb852e72ac282144fe8608fea62ab74b9549c</id>
<content type='text'>
 * handhake_ntor_test now is considerably more comprehensive.
 * The padding related constants in the spec were clarified.

This breaks wireprotocol compatibility.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
 * handhake_ntor_test now is considerably more comprehensive.
 * The padding related constants in the spec were clarified.

This breaks wireprotocol compatibility.
</pre>
</div>
</content>
</entry>
</feed>
