[tor-bugs] #11343 [Tor Launcher]: TorLauncher's UI should warn users when a bridge fingerprint appears to be incomplete

Tor Bug Tracker & Wiki blackhole at torproject.org
Fri Mar 28 02:24:34 UTC 2014


#11343: TorLauncher's UI should warn users when a bridge fingerprint appears to be
incomplete
--------------------------+-----------------------
 Reporter:  isis          |          Owner:  brade
     Type:  defect        |         Status:  new
 Priority:  normal        |      Milestone:
Component:  Tor Launcher  |        Version:
 Keywords:  bridgedb      |  Actual Points:
Parent ID:                |         Points:
--------------------------+-----------------------
 A Tails user reported some trouble using the new Tails (version 0.23)
 which includes TorLauncher. They were entering a bridge line, and were
 confused why it was not working. After some troubleshooting, we determined
 that they had only entered 27 (out of 40) of the characters of the
 bridge's fingerprint.

 Perhaps it would help users to have some sort of feedback on this?

 The simplest would be: when they hit "OK", to take them back and display a
 message saying "Oops! It looks like you were trying to enter a bridge
 fingerprint. Bridge fingerprints are 40 characters long, and you only have
 27!"

 More complicated: while they are typing the fingerprint, display a dynamic
 message which counts down the number of characters missing.

 For posterity, here is the conversation from `#tails`:

 {{{
 00:55  alster ) i'm just trying to run tails for the first time actually,
 with
                 a bridges setup, but having trouble to get past the point
 where
                 i need to type the bridges.
 00:56  alster ) but the error message actually sounds like i may have a
 typo
 00:56  alster ) [warn] key digest for bridge is wrong
 00:57  velope ) hmm, are you entering a fingerprint for the bridge? don't.
 00:57  alster ) [warn] controller gave us config lines that didn't
 validate:
                 Bridge line did not parse. See logs for details.
 00:58  alster ) the lines i got in the box look like this:
 00:58  alster ) bridge obfs3 <IPv4> <HASH>
 00:59  alster ) i guess the HASH is the fingerprint you're referring to?
 00:59    isis ) yes, HASH is the fingerprint
 00:59  alster ) actually that's
 00:59  alster ) bridge obfs3 <IPv4:PORT> <HASH>
 00:59    isis ) that should be correct
 01:00  alster ) so what i should be using is this instead?
 01:00  alster ) bridge obfs3 <IPv4:PORT>
 01:00  alster ) correct?
 01:00    isis ) i am not sure, i have not tried the new tails yet, but you
 really want the fingerprint in there, otherwise you could be trivially
 man-in-the-middled
 01:01    isis ) so if tails is not handing the fingerprint correctly, that
 is a
                 serious bug
 01:01  alster ) maybe i don't want the leading "bridge"? since
 bridges.torproject.org does not output this
 01:02    isis ) well, i write the code for bridges.tpo
 01:02  alster ) well i entered the data manually, so chances are i just
                 misspelled it
 01:02    isis ) and the only reason we stopped putting the 'bridge ' at
 the
                 beginning was because vidalia is idiotic and didn't handle
 it
                 correctly
 01:03    isis ) torlauncher explicitly has code to handle lines which
 either start
                 with 'bridge ', or with the transport method, or with the
 IP:PORT
 01:03  alster ) i assume the fingerprints should be the exact same # of
 characters
                 always, right?
 01:03    isis ) yes, always 40 chars
 01:04    isis ) though? perhaps? is your bridge's fingerprint all
 uppercase or
                 all lowercase?
 01:04  alster ) all lowercase
 01:04    isis ) bridges.torproject.org currently returns lowercase
 01:05  alster ) i just checked, https://bridges.torproject.org gave me 2
                 fingerprints with 40 characters each
 01:05  alster ) but one of those i typed has 29 only
 01:05  alster ) so it's my fault
 01:05    isis ) ah, okay, that make sense :)
 01:06    isis ) but perhaps torlauncher should be a bit smarter and tell
 you
                 that that was the problem
 01:06    arma ) isis: you could be man-in-the-middled for your first hop,
 but
                 not your second or third. and if they're in a position to
                 man-in-the-middle your first hop, they're in a position to
                 do traffic analysis on it. so either way you'd best hope
                 they're not watching the other end too. and if they are,
 it
                 doesn't matter that they can mitm the first end.
 01:06    isis ) arma: yes, true
 01:07    arma ) that's why i was fine giving out bridges without
 fingerprints
 01:07    arma ) it seems there's been a big push lately to switch to "you
 must
                 have a fingerprint"
 01:07    arma ) which seems to really harm usability
 01:07    isis ) arma: though mitm'ing the first hop opens the grounds for
 more
                 attacks than just analysis, like the replay attack and
 xor'ing
                 in tags into the encrypted streams
 01:08    isis ) arma: but this is the first i've heard of a usability
 issue
                 with the fingerprints, is this normal? there are lots of
 these
                 problems?
 01:08  alster ) this GUI definitely needs something like "okay, you
 entered 27
                 characters so far, 13 more to go."
 01:09  alster ) also, the lines you enter there do currently wrap
 01:09  alster ) (making it hard to read)
 01:09    isis ) yes, i agree, it definitely should tell you that something
 was
                 amok
 01:09    arma ) isis: anybody who tries to manually copy a bridge line
 will
                 basically fail if it's more than an ip and a port and
 maybe a
                 few more characters
 01:10    isis ) arma: i can give them a QR code with two lines of python,
                 would that help?
 01:10    arma ) but also, good point, they can get in past the tls if they
 can
                 mitm the bridge. which is meaningful.
 01:11    arma ) would the qr code help this tails person? probably not.
 would it
                 help an orbot person? maybe.
 01:11  alster ) presenting the fingerprint in a user friendly way (and
 having a
                 user freindly input on the other end) would help
 01:12  alster ) so think of images of fruits or whatever
 01:12    isis ) should there be a "Wat? You expect me to type that in?
 Give me
                 a QR code!" button on BridgeDB when you get bridges?
 01:13  velope ) the GUI could be better, but for most people anything
 involving
                 long meaningless strings is massive fail
 01:13    isis ) hmm, the images of fruits thing becomes much harder to do,
 i
                 think, because it would need to be something that the
 bridge
                 puts in their descriptor (so that your tor could check it
 when
                 you try to connect to the bridge)
 01:14    isis ) hmm. i will need to think about this more.
 01:14  velope ) "needs proposal"
 01:15    isis ) though torlauncher should also be okay if there is no
                 fingerprint at all
 01:15  velope ) it is
 }}}

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/11343>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list