Slashdot Mirror


Wired Profiles John Brooks, the Programmer Behind Ricochet

wabrandsma writes with this excerpt from Wired: John Brooks, who is just 22 and a self-taught coder who dropped out of school at 13, was always concerned about privacy and civil liberties. Four years ago he began work on a program for encrypted instant messaging that uses Tor hidden services for the protected transmission of communications. The program, which he dubbed Ricochet, began as a hobby. But by the time he finished, he had a full-fledged desktop client that was easy to use, offered anonymity and encryption, and even resolved the issue of metadata—the "to" and "from" headers and IP addresses spy agencies use to identify and track communications—long before the public was aware that the NSA was routinely collecting metadata in bulk for its spy programs. The only problem Brooks had with the program was that few people were interested in using it. Although he'd made Ricochet's code open source, Brooks never had it formally audited for security and did nothing to promote it, so few people even knew about it.

Then the Snowden leaks happened and metadata made headlines. Brooks realized he already had a solution that resolved a problem everyone else was suddenly scrambling to fix. Though ordinary encrypted email and instant messaging protect the contents of communications, metadata allows authorities to map relationships between communicants and subpoena service providers for subscriber information that can help unmask whistleblowers, journalists's sources and others.

5 of 49 comments (clear)

  1. Re:Awful Summary...as usual... by stefantalpalaru · · Score: 3, Informative

    That's a different project. This one is written in C++ and it uses Qt for the GUI: https://github.com/ricochet-im...

  2. Metadata by sexconker · · Score: 4, Insightful

    How exactly do you solve the problem of metadata on TCP/IP networks? Metadata is how these networks operate.

    Every packet has an origin that will be traceable to the source ISP. If you're on your own connection, you're fucked.
    If you're on your own connection and you VPN to some other connection it's just a matter of how much effort the powers that be want to waste tracking you down. Any schlub can run a Tor node, so you get nothing there. And of course, you have to initiate that connection from somewhere.

    The only way to truly hide is to use someone else's connection (without their knowledge), with a different spoofed MAC every time. Everything else is just obfuscation. We already know every fucking packet touching a major telecom is logged in the US, and we have damned good reason to believe it's true world-wide.

    1. Re:Metadata by ledow · · Score: 4, Interesting

      There isn't a solution to that. You have to talk to other points, and you have to do so from a connection you are on. That information, on ANY network in the world, is inevitable.

      The only thing you can do is obscure it as much as possible so that people can't tell WHAT you did over the connection, or WHAT you passed to those others. They will be able to know who they were, but unless you can introduce sufficient plausible deniability (with Tor, that's just by using random people as the next hop), you can't do anything about that.

      I don't think that's a problem we should waste time trying to solve. You aren't going to be able to obscure your endpoint's knowledge when 100% of the time someone is paying money for that endpoint to be connected to other endpoints. We do not have a darknet.

      But it's also not that big a deal. With proper encryption and enough fake / routing data running through your connection with that encryption (and PFS), it's meaningless. All that can happen is someone can say "you were online, and so was John". If that's enough to convict you, you have bigger problems than the protocol of the network you used.

    2. Re:Metadata by funny_smell · · Score: 3, Informative

      A possible solution, only practical for small messages, would be a merge of a public message board with encryption. You would be able to decrypt only the messages sent to you, among the hundreds that you would have to download - just to verify which ones you can decrypt.
      In such environment there is no open metadata identifying "To" and "From." You encrypt the message to "To" and it is added to a group of messages.

      Of course there must be methods to limit the groups sizes, and to allow you to find which group to access. Both doesn't seems to be that difficult.

  3. Re:American coder, not interested by FatdogHaiku · · Score: 3, Funny

    The OP is right and should be modded 5, Insightful.

    Just as soon as we figure out who he is...

    --
    You have the right to remain sentient. If you give up the right to remain sentient, you will be elected to public office