Re: [tor-dev] next globe update feedback

2013-11-18 Thread Karsten Loesing
On 11/8/13 2:59 AM, Matthew Finkel wrote:
 On Thu, Nov 07, 2013 at 03:33:23PM -0500, m...@rndm.de wrote:
 I also added relay family links. While working on this feature I noticed 
 that the onionoo family field can return fingerprints of bridges.
 I modified the way the relay details route works and now it checks if 
 the api returns a valid relay. If this isn't the case it checks for a 
 bridge and redirects to its detail page.
 (for example TorLand2 has a bridge in its family members field and 
 clicking on the fingerprint throws an error on atlas)

 If this behavior is wrong or something is missing just tell me.
 
 Well, that's one place I didn't think to look for leaking bridge
 fingerprints. At this point there is no way to retrieve a bridge's IP
 address and port number using its fingerprint, right? And, considering the
 default torrc does say: However, you should never include a bridge's
 fingerprint here, as it would break its concealability and potentionally
 reveal its IP/TCP address. I really don't know how else to prevent
 this. Onionoo could do extra processing to prevent leaking these
 bridges, but I'm not sure that's a good way to do it.

Onionoo does not sanitize any information from relay or bridge
descriptors.  Onionoo processes publicly available information from
metrics, so whatever is sensitive in there is already available to
whoever wants to use it.  Onionoo only makes it more convenient for
people to use this information.

Metrics does not sanitize relay descriptors, only bridge descriptors.
Whatever people put in their relay configuration and that goes into
relay descriptors will be made public.

 On another note, globe looks awesome! Thanks you!

Very true.  Thanks, Christian!

All the best,
Karsten

___
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev


Re: [tor-dev] obfsproxy buffering

2013-11-18 Thread Ian Goldberg
On Sun, Nov 17, 2013 at 07:33:12PM -0800, David Stainton wrote:
 Hi,
 
 I noticed that because the obfsproxy api can sometimes buffer and
 resend smaller chunks of data. My simple use of Nacl stream_crypto to
 wrap each incoming data buffers will not work... that is because the
 client and server must keep synchronized nonce counters for the
 decrypt/encrypt to work... and in this case the client may send one
 large buffer and the server may receive many smaller buffers... trying
 to decrypt them with different nonces will of course fail.
 
 https://github.com/david415/obfsproxy/tree/david-nacl-stream-withoutkeyexchange
 
 It seems like the solution is to write a super simple framing
 protocol... which is to say that I can first send a frame length; and
 on the receiving end simply read until frame length worth of data is
 consumed... and then apply the crypto_stream cipher on that frame with
 the correct corresponding nonce.

Super-simple framing protocols often fall victim to attacks in which the
adversary messes with the length in the frame header.  See, for example,
Plaintext Recovery Attacks Against SSH:
http://www.isg.rhul.ac.uk/~kp/SandPfinal.pdf

So be careful here.

   - Ian
___
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev


Re: [tor-dev] obfsproxy buffering

2013-11-18 Thread David Stainton
 Super-simple framing protocols often fall victim to attacks in which the
 adversary messes with the length in the frame header.  See, for example,
 Plaintext Recovery Attacks Against SSH:
 http://www.isg.rhul.ac.uk/~kp/SandPfinal.pdf

 So be careful here.

- Ian

Over Tor it won't be a problem because Tor is authenticated.
Thanks for the paper... I do really love to read papers like this.
___
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev


Re: [tor-dev] obfsproxy buffering

2013-11-18 Thread David Stainton
 It seems like the solution is to write a super simple framing
 protocol... which is to say that I can first send a frame length; and
 on the receiving end simply read until frame length worth of data is
 consumed... and then apply the crypto_stream cipher on that frame with
 the correct corresponding nonce.

 That sounds like a reasonable solution.  ScrambleSuit also has its own 
 protocol
 header, if that helps:
 https://gitweb.torproject.org/user/phw/scramblesuit.git/blob/HEAD:/message.py#l161

Cool. Thanks! I'll take a look.

 Also, I'm probably stating the obvious here, but you seem to be using a static
 key for encryption and decryption.  That results in a many time pad, i.e., the
 same key is used for many plain texts.  That's a problem because Tor's TLS
 handshake is predictable and a censor could observe that multiple independent
 SaltyStream connections share several bytes in their handshake.  You might 
 want
 to use a key derivation function, as also suggested by the NaCl doc:

 NaCl does not make any promises regarding the resistance of crypto_stream to
 related-key attacks. It is the caller's responsibility to use proper
 key-derivation functions.

I wrote this as a sort of rough draft... It is meant to accept a key
from the commandline... you know, for testing.
So I specified default keys... but really this is just for testing. To
be useful at all there'd have to be
proper key generation like you are saying and key exchange...

It's OK to use crypto_stream to encode multiple messages with the same key
as long as the nonce is different each time :

This means that an attacker cannot distinguish this function from a
uniform random function. Consequently, if a series of messages is
encrypted by crypto_stream_xor with a different nonce for each
message, the ciphertexts are indistinguishable from uniform random
strings of the same length.


Cheers

David
___
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev


Re: [tor-dev] obfsproxy buffering

2013-11-18 Thread Zack Weinberg
On Mon, Nov 18, 2013 at 10:47 AM, David Stainton dstainton...@gmail.com wrote:
 Super-simple framing protocols often fall victim to attacks in which the
 adversary messes with the length in the frame header.  See, for example,
 Plaintext Recovery Attacks Against SSH:
 http://www.isg.rhul.ac.uk/~kp/SandPfinal.pdf

 Over Tor it won't be a problem because Tor is authenticated.

I think that's an oversimplistic way of looking at the problem, but
you're mostly right.

Suppose that your message framing is just

len (4 bytes plaintext) | LEN bytes of cipher text including higher
level MAC | ...

If an active MITM flips bits in the length field, you will feed the
wrong number of bytes to the decryptor and the MAC check will fail.
Moreover, this is an *unrecoverable* failure condition: there's no way
for you to get back in sync with the other end. You have to drop the
connection, and the other side has to respond to a connection drop in
a sensible fashion. (I wouldn't recommend trying to reconnect and
retransmit the queue - rather, propagate the failure up to Tor.) But,
because the length field is plaintext, there is no decryption oracle;
the adversary can't trick you into decrypting something that's not a
length field and treating the result as a length field. I think this
is probably acceptable for obfsK, which is just supposed to be
different from anything recognizable.

If you want all-bytes-on-the-wire-indistinguishable-from-randomness,
that is considerably harder -- a great deal of the complexity of the
chopper of https://hacks.owlfolio.org/pubs/2012-stegotorus.pdf is in
service of being able to encrypt the length field without exposing a
decryption oracle.  Note that I no longer think that design is sound,
but it will still give you an idea of what it takes.

zw
___
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev


Re: [tor-dev] Apple App Store Redux

2013-11-18 Thread Erinn Clark
* Ralf-Philipp Weinmann r...@coderpunks.org [2013:11:17 10:25 +0100]: 
 Getting TBB into the App Store would definitely help increase its visibility 
 on
 the OSX side. However, I am not really in favour of giving a US company a list
 of all users having downloaded TBB plus information whether or not they are 
 upgraded
 to the most recent version...

IMO this is a very persuasive reason not to put it there. 
 
 I think I still have access to both. Let me pull the latest version of both
 agreements (iPhone and OSX developer) and attach them to #6540.

Thank you!

 Have you spoken to Mozilla how they have obtained their code signing cert?

I believe this is on Mike's TODO list since he talks to Mozilla people fairly
frequently, but it may not be a high priority for him. Mike, let me know if you
would prefer for me to take this on?


signature.asc
Description: Digital signature
___
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev


Re: [tor-dev] Apple App Store Redux

2013-11-18 Thread Erinn Clark
* Fabio Pietrosanti (naif) li...@infosecurity.ch [2013:11:17 11:08 +0100]: 
 I think, as already discussed here [1] and [2], that TBB *must* goes in
 all kind of application store.

Please see Ralf's reply to me elsewhere in the thread -- do you still think
this while taking into account what we know about US companies' cooperation the
NSA/USG with regards to turning over user data? Feels a bit like leading lambs
to slaughter. I'm not comfortable with Apple having access to that much user
information, especially tied to real names and credit card numbers and stuff.

We should try to increase adoption, yes, but not at the expense of our users'
safety, and the calculus involved is more complex than what you have presented
here.


signature.asc
Description: Digital signature
___
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev


Re: [tor-dev] Apple App Store Redux

2013-11-18 Thread Nathan Freitas
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 11/18/2013 01:39 PM, Erinn Clark wrote:
 * Ralf-Philipp Weinmann r...@coderpunks.org [2013:11:17 10:25
 +0100]:
 Getting TBB into the App Store would definitely help increase
 its visibility on the OSX side. However, I am not really in
 favour of giving a US company a list of all users having
 downloaded TBB plus information whether or not they are
 upgraded to the most recent version...
 IMO this is a very persuasive reason not to put it there.
 

For what it is worth, this is what we effectively do by putting Orbot
in the Google Play store. We heavily promote alternatives (direct APK
download, F-droid repo, etc), but Google Play is where the majority of
downloads come from.

Now, mobile is different, because the behaviors of users looking to
find and install software is quite different than on the web/desktop.

In addition, considering the amount of atrocious free proxy software
being peddled in Google Play, I feel I would be doing our intended
audience a disservice by not offering a quality option like Orbot,
where they are primarily looking to find solutions.

+n

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIcBAEBAgAGBQJSimVnAAoJEKgBGD5ps3qpbAYP/3XemdFRrhXOV5J1BUrKPbzP
YyasI66Nirgo7XAzcjukCRYUBR2uF8tNhNyQW7EIL373CgCDKGWsAwebtyIa7ry1
V6jW31VVd0Iory9Vl/ZCTEpTXWKyfp/EhuLpUXZeeASi5H/R/qKQg+3j2/mO4j3h
OpowQFQmm5Z2s6oJ09HFQZ/2UfBExHnxV0oPLmYUOQ3hftRoD/uxsSIrWSO9u+OW
6u6z0HKgyg/+vcm1QXV7ozYaGXboaZ00NuJjhsm1aNQYGbtnn/gpFQfYmiMW85Pr
oM02pS0dk3RDk++9hyv8LAzdNxj/C2kUSvtL1xsgZMgReCC0rBJnBaHf3XESwkeG
njouArjw3RG6r/QNtpY/9lWM+ZFJcDHjkUHXyym7aVUgg520TruVyLwHn4fmzXL5
6EJDQktnPySamaimf1uI3zGUSQJv/nhiU1XNSUnNCEnRsVnNLxHh2+7FRC/gVOIw
XYGgQ0+Afk0sXlZRBB0yaARljWeWDSHhNARvvRSvAxnbtWm+/ltAa55m2CvA1Chg
AZYNwTZDYyzJ3xnDf5jXSeAxAEj0+VFcVM8evEGNiFcguQwBxWG5rzrSm3gR5hqG
dsTASZWa377NNVfNicMlnra+OAgJnPc1kFC3NPXMMlmLMsPwACN1GRd16HdxrDn1
u3gg39s2LoUQJZPOIWPe
=x52u
-END PGP SIGNATURE-
___
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev


Re: [tor-dev] Apple App Store Redux

2013-11-18 Thread Nathan Freitas
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 11/18/2013 02:07 PM, Nathan Freitas wrote:
 Now, mobile is different, because the behaviors of users looking
 to find and install software is quite different than on the
 web/desktop.

As a side note, for those interested, we are really investing in the
next 3-6 months in a new project called Bazaar which is about
decentralized but secure app sharing.

https://dev.guardianproject.info/projects/bazaar/wiki

This includes adding Tor support into the F-Droid open repo mobile client:
https://guardianproject.info/2013/11/05/setting-up-your-own-app-store-with-f-droid/

and investigating DropBox-like syncing solutions that work well over Tor:
https://guardianproject.info/2013/11/12/your-own-private-dropbox-with-free-software/

If all goes well, it will be fairly easy for people to socially share
apps like Orbot in a device-to-device manner over Hidden Services, OTR
chat sessions, wifi and bluetooth. Stay tuned!

+n

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIcBAEBAgAGBQJSime4AAoJEKgBGD5ps3qp2+QP/0LWlxW5p20OT4m1UKZFSEGL
Cd92kX7ogfjFAIMc2x8BeMc0ic03lfziTLwao+mf3+IvIDnp4AJDyGwlNjyZ/pE2
t0PFioM/h24DTBkwHEd/oD0SUE9Idg8bJH66NadyA3aZLdh3vARFkddpjiVSVMnm
K5m1w46HlD5EcBjMUt0LGyIYCzVncblqI2zkP6YCpt0F4oB8/lCaWZGLAap/Yhn0
eX+P5GOZjL3T3Vy5Cm7Zo44saPoClElSJ2lfJNmUXYe735IO0u6CkomQ8wlB/VpV
ZlTrGd6xcB2g64jjkDUvcgWreKB/5jXJIWu0zi9V8GHZ5S9lSbvhfwoVlGGLWmh1
jUQGB9zsKQqNM6xMxoGsMcXXIKuHuqGW8wZxdff1HMp8ZhI9NVCcxXNdHT3kbduZ
cT50co2j0Td4DifuZohKWSnXAkLtVVBKH9QN21x+qNmSjmNcMlkSfkUDQRQ+fJqL
+zc77i1q/BZoK4Ht4C7l/Yk5RIhpn6H1wRaDr7OZetbbs/I322JZto3NUYZDmNNy
236G/5GmNnJEjQfymino6iRLipTPzr07eBI8FWChxhvWn1q9gs4Koo/yH8WVQ7EE
vr5D2P2NTwdZFSch6PFybyKWA2AIzRevBiS0Fmojsni6w4cZ28V2WP5KonKXrh8V
G1LSfFcwhhxBTj5lcmNF
=gzhF
-END PGP SIGNATURE-
___
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev


[tor-dev] Speeding Up Tor with SPDY

2013-11-18 Thread Christian Grothoff
Dear all,

Andrey Uzunov's Master's thesis on Speeding Up Tor with SPDY
is now available at https://gnunet.org/content/speeding-tor-spdy

My personal conclusions are that SPDY PUSH should not be used with
Tor, and that modest performance gains with SPDY are attainable
for typical websites.  Aside from deployment considerations (how
to detect exits supporting SPDY2HTTP translation), a major area
for further work will be adding HTTP pipelining support to the
SPDY2HTTP proxy to avoid performance regressions seen with some
sites.

For those that prefer watching over reading, we'll post the
defense talk on https://gnunet.org/ once we've finished the
conversion.

Feedback is of course welcome. However, as Andrey is now finished
with his thesis and looking for work (hire him!) -- and as I don't
have any funding to support further work on this now -- it is unlikely
that we'll be doing any further major implementation work on this
in the near future.  Naturally, the existing code is freely
available (and does work, if one is willing to go through the
pains to set it up properly).


Happy hacking!

Christian



signature.asc
Description: OpenPGP digital signature
___
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev


Re: [tor-dev] obfsproxy buffering

2013-11-18 Thread David Stainton
yeah... you are right! Thanks for the clarification.
I've been meaning to read the Stegotorus paper soon.

Cheers!

David


On Mon, Nov 18, 2013 at 9:24 AM, Zack Weinberg za...@panix.com wrote:
 On Mon, Nov 18, 2013 at 10:47 AM, David Stainton dstainton...@gmail.com 
 wrote:
 Super-simple framing protocols often fall victim to attacks in which the
 adversary messes with the length in the frame header.  See, for example,
 Plaintext Recovery Attacks Against SSH:
 http://www.isg.rhul.ac.uk/~kp/SandPfinal.pdf

 Over Tor it won't be a problem because Tor is authenticated.

 I think that's an oversimplistic way of looking at the problem, but
 you're mostly right.

 Suppose that your message framing is just

 len (4 bytes plaintext) | LEN bytes of cipher text including higher
 level MAC | ...

 If an active MITM flips bits in the length field, you will feed the
 wrong number of bytes to the decryptor and the MAC check will fail.
 Moreover, this is an *unrecoverable* failure condition: there's no way
 for you to get back in sync with the other end. You have to drop the
 connection, and the other side has to respond to a connection drop in
 a sensible fashion. (I wouldn't recommend trying to reconnect and
 retransmit the queue - rather, propagate the failure up to Tor.) But,
 because the length field is plaintext, there is no decryption oracle;
 the adversary can't trick you into decrypting something that's not a
 length field and treating the result as a length field. I think this
 is probably acceptable for obfsK, which is just supposed to be
 different from anything recognizable.

 If you want all-bytes-on-the-wire-indistinguishable-from-randomness,
 that is considerably harder -- a great deal of the complexity of the
 chopper of https://hacks.owlfolio.org/pubs/2012-stegotorus.pdf is in
 service of being able to encrypt the length field without exposing a
 decryption oracle.  Note that I no longer think that design is sound,
 but it will still give you an idea of what it takes.

 zw
 ___
 tor-dev mailing list
 tor-dev@lists.torproject.org
 https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev
___
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev


[tor-dev] Development Calendar

2013-11-18 Thread Tom Lowenthal
Hello humans,

I know that meetings and scheduling are a pain. That sucks. Here's a
calendar of our regular meetings, which might make it easier:

https://www.google.com/calendar/embed?src=1gf7r9dh4bcv0vc926ipq5177g%40group.calendar.google.comctz=America/Los_Angeles

I hope that helps a bit. Here are some thoughts.

It's a Google calendar. Yeah, about that. Calendars are hard, and I
couldn't find anything free and open that seemed as easy and
convenient as Google calendar. If you know of something FLOSS that's
as easy and convenient, you should tell me, and help me move it over.
In the mean time, you don't need a Google account to use it, and you
can read it on the web or with an iCal feed. Complaints and
suggestions welcome.


Access/collaboration. I think you need a Google account to editing
things. If you have a Google account and you want to edit this thing,
drop me a line with a blurb and a Google account adress. I'll add you.
If you don't have a Google account, fear not too hard. If you email
me, I'll add something to the calendar for you. Here are things you
should include in your email:

* title for the event/meeting;
* timezone, start, and end times;
* location, IRC channel, phone access procedure, or whatever;
* repeat schedule;
* any content or description for the body; and
* anything else you think is important.

Updates. This calendar should remain accurate, especially for meetings
which I plan or am at. I use it as *my* primary calendar of public Tor
meetings, so it'll always represent my current view of the universe.

Anything else?

-Tom
___
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev


Re: [tor-dev] Development of an HTTP PT

2013-11-18 Thread Ximin Luo
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

On 17/11/13 14:22, dardok wrote:
 Hi,
 
 I've been reading about Selenium web-browser driver thing and I
 consider that is not very handy to do what an HTTP PT client side
 needs, that is to forge HTTP requests and embbed the TOR traffic into
 these HTTP requests.
 
 It is more oriented to emulated a web user interaction with a real
 browser (such as firefox, chrome, opera, ie, ...) and the interaction
 and testing of web apps from these browsers.
 
 Also I cannot see how to handle the responses from the server-side
 using this thing. Few functions seem to be interesting regarding HTTP
 protocol handling and manipulation, as I said before most of the
 functions present are related with the user interaction.
 
 The Python version can be installed easily: pip install selenium
 
 The already implemented functions can be read on this file:
 /usr/share/pyshared/selenium/selenium.py
 
 I didn't find any useful function to allow a HTTP PT (client side)
 embed the TOR traffic into HTTP requests (maybe some cookie function
 related) and extract the information sent by the HTTP PT server side
 (maybe some get_body_text() or get_text() funtion).
 
 So I am ready to consider that this option is not be useful to
 implement a HTTP PT client side. Anyway, I would like to discuss this
 point with someone interested in this topic.
 

Hey dardok, I am not an expert with any of these technologies at all, but 
perhaps you could look into this?

https://addons.mozilla.org/en-us/firefox/addon/mozrepl/

It's an extension you install that then lets you telnet-connect to it and 
control firefox - which means you could do that from a PT. (There might be an 
even cleaner interface for programmable access, telnet is just what's 
advertised on the front page.)

https://github.com/bard/mozrepl/wiki/Tutorial

This shows an example on how to visit a website (the remote bridge maybe) and 
get information out of the resulting page.

X

- -- 
GPG: 4096R/1318EFAC5FBBDBCE
git://github.com/infinity0/pubkeys.git
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.15 (GNU/Linux)
Comment: Using GnuPG with Icedove - http://www.enigmail.net/

iQIcBAEBCAAGBQJSirUsAAoJEIYN7zuPZQt5yGcQAJbQjkL2AXOwuGD5T4Zluop2
fF3PQW3MmUPmazlC7YmzNzjIvGEuBzkG4qc7wmCjo+rHuJqkDADMNlomdp9zxbjQ
ziRntZS7b87skkZ+dXg+TK2z30zJlwcJc0SW5XnWo+v45GgxYhJ2UFGP0fxpYBI0
ZScFXXp2TIEkvwbqsewseW0K9w3/rYUv2wQova+izeVyqVkPlzg0B5zhpav2jbWq
c0TqRDGZsY9oBIdh+GLiTO1V1/NZXFTNkfS1iLJhqqJYeosOWiuGQVOzc2w/7yN3
VxIG1dldbsIgjci59cc1/FgqdrdTdLwwBcp9HexRI8jrLLwbDBpY61OgchTBhlWf
EnrsIZZCIAZzAcPGqwsBTFGXxVcTjwtEokPZdDORcrBHqv3DNKKgvRcT+aIX+/AH
dTinyRaaOh1c5F+6wuddDqd1sgLxdaiuZRNmqmGa4gX7ZXxs+SwlB+9nVWyv6r+e
ZT6vxinKrjPeC4vCRIpRISsi1T6bogeugsX9+iE43f1vh2HrTL+AuxStvFKCy55L
fXVhItmvI6VbyI5XpRsj+YuLLmpRB8+j7/W6Jg5Gc1/uFbwpIH+mxBKbUV9hE47F
FOmq0qIftAhGOQAFXjdczooHSJ1AZeiVkFh6gW/6lbmnjga9NH8eVMIuGPjvA8yk
3JWGDkyUUToIMSN6WYGS
=tMSt
-END PGP SIGNATURE-
___
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev