News for hackers. Stuff that matters.
Re:WhatsApp's Signal Protocol integration is now complete by mike_hearn on Tuesday April 05, 2016 @12:01PM (#11431490)
This is really excellent. A few thoughts:

1) They seem to have replaced TLS/SSL between client and server with "Noise Pipes". Based on a couple of minutes Googling this seems to be a brand new one-man protocol from Trevor Perrin (the same guy who did Axoltl on which Signal is based). At least, I'd never heard of it. I wonder if this is the first inkling of a post-TLS future?

http://noiseprotocol.org/noise.html

2) It's a shame to see key words be killed off by internationalisation concerns. 12 words seems so much more friendly, at least to English speakers, than a 50 digit number. In practice I doubt any non-trivial numbers of people will ever compare codes by reading out such a number. I hope further research here can develop better replacements for encoding short binary strings in i18n friendly ways (perhaps with icons instead of specific words? if you don't speak a common language with your chat partner then the app is useless anyway).

3) What's the next step? My feeling is that the next step is securing the build and distribution pipeline. WhatsApp could partner with security firms around the world, like Kaspersky Lab in Moscow, perhaps one in Germany and another in Iran, to make it harder for the software to be forcibly backdoored by a single decision of a single government representative. This would require splitting the RSA signing keys used by the app stores. I have some code in my inbox that claims it can do this (it's written by some academics and I obtained it after a bit of a runaround) but I never found the time to play with it.

Of course, getting a bunch of security firms to sign off on every update, no matter how trivial that update is, might prove politically difficult inside Facebook. If mobile platforms supported in-app sandboxing better then the app could slowly be refactored to be more like Chrome, where the base layer doesn't trust the upper layers. Those upper layers wouldn't have access to key material and could then be updated more freely than the higher privileged components.

Re:WhatsApp's Signal Protocol integration is now complete by moxie on Tuesday April 05, 2016 @12:14PM (#11431623)
> They seem to have replaced TLS/SSL between client and server with "Noise Pipes".

WhatsApp was already using a custom protocol instead of TLS. We worked with them to transition over to Noise Pipes, which has some advantages over what they were doing before. Also, we've renamed Axolotl to Signal Protocol: https://whispersystems.org/blog/signal-inside-and-out/

Re:WhatsApp's Signal Protocol integration is now complete by tptacek on Tuesday April 05, 2016 @12:35PM (#11431855)
It is killing me that you didn't rename Signal to Axolotl.
Re:WhatsApp's Signal Protocol integration is now complete by ironsides on Tuesday April 05, 2016 @03:22PM (#11433522)
If user growth and mainstream adoption are your goals then calling the product 'Signal' is the better choice by leaps and bounds.

Axolotl is cool in a techy/underground sort of way (if your into that) but completely misses the boat on being 1) Easy to spell, 2) easy to pronounce, 3) easy to understand.

Mainstream users would just say "wtf" and move on to whatsapp/telegram/facebook messenger.

Re:WhatsApp's Signal Protocol integration is now complete by aw3c2 on Tuesday April 05, 2016 @02:04PM (#11432791)
Why?

"Axolotl" at least has seriously pronunciation issues so I am glad it is not used "user-side".

Re:WhatsApp's Signal Protocol integration is now complete by tptacek on Tuesday April 05, 2016 @02:20PM (#11432959)
For my part: because "Axolotl" is one of the most widely name-dropped terms in hipster cryptography, and because it's been adopted by other projects, and because it's distinctive, and because they basically own the term. In a stroke, everyone doing secure key ratchets would have been using their product.

It's also just a cool name.

Re:WhatsApp's Signal Protocol integration is now complete by garrettr_ on Tuesday April 05, 2016 @05:26PM (#11434642)
I always liked "Axolotol" because axolotols are a type of salamander with the amazing ability to regenerate parts of their bodies (including their brains!), and the Axolotol protocol, like OTR, is "self-healing", meaning it's capable of recovering from a compromised session key (https://whispersystems.org/blog/advanced-ratcheting/).
Re:WhatsApp's Signal Protocol integration is now complete by vmasto on Wednesday April 06, 2016 @01:59AM (#11436909)
And you're spelling it wrong which pretty much validates the renaming.
Re:WhatsApp's Signal Protocol integration is now complete by david-given on Wednesday April 06, 2016 @06:52AM (#11437910)
Axolotls are also cool because they're not really a species in their own right --- they're actually just the juvenile form of a salamander. But they can breed while in their juvenile form! It's as if tadpoles could lay eggs without having to turn into frogs first.

In fact, axolotls only metamorphose into salamanders if triggered by the external environment. If you don't stimulate them in the right way, they stay axolotls. For a long time they were thought of as two different types of creature completely.

There's a story of one of the very early researchers looking at his vivarium one day and discovering that it was now full of salamanders rather than the axolotls he was expecting. I would love to have heard the conversation...

Re:WhatsApp's Signal Protocol integration is now complete by seivan on Thursday April 07, 2016 @12:33AM (#11444742)
Basically like a Pokemon.
Re:WhatsApp's Signal Protocol integration is now complete by DigitalJack on Tuesday April 05, 2016 @05:52PM (#11434833)
I thought it was a misspelling of axlotl from dune, so I had to google it. Frank Herbert must have taken his inspiration from the salamander as well, given what the axlotl tanks were for.
Re:WhatsApp's Signal Protocol integration is now complete by aw3c2 on Tuesday April 05, 2016 @03:11PM (#11433412)
Thanks and I agree about that!
Re:WhatsApp's Signal Protocol integration is now complete by jacobolus on Tuesday April 05, 2016 @02:58PM (#11433309)
Because words coming from Nahuatl are cool! (coyotl, mesquitl, tomatl, ahuacatl, etc.) See more from https://en.wikipedia.org/wiki/List_of_English_words_from_ind...

They’re distinctively spelled, don’t collide with existing search terms, often have available domains, etc. Most importantly, they anticipated the web 2.0 trend of ending words with two consonants in a row. ;)

Finally, just look at this guy: https://upload.wikimedia.org/wikipedia/commons/f/f6/AxolotlB...

Re:WhatsApp's Signal Protocol integration is now complete by derefr on Tuesday April 05, 2016 @03:07PM (#11433372)
Linguistic tangent: the common suffix on those words is interesting. Is it required for Nahuatl nouns, like the Latin -t suffix? I notice that not all the other example words on the linked page-section have it, but a large majority do.
Re:WhatsApp's Signal Protocol integration is now complete by ar-jan on Tuesday April 05, 2016 @03:53PM (#11433788)
t͡ɬ is a phoneme in Nahuatl [0] (Voiceless alveolar lateral affricate [1] if you care to hear it), which explains why many Nahuatl words have sequences of "tl". I don't know if there's a specific reason why these words end with that sound (it doesn't have to be a suffix).

Edit: yes, it's a suffix (for Classical Nahuatl): "Non-possessed nouns take a suffix called the absolutive. This suffix takes the form -tl after vowels (ā-tl, "water") and -tli after consonants [...]" ([2]).

0: https://en.wikipedia.org/wiki/Nahuatl#Phonology

1:https://en.wikipedia.org/wiki/Voiceless_alveolar_lateral_aff...

2: https://en.wikipedia.org/wiki/Classical_Nahuatl_grammar

Re:WhatsApp's Signal Protocol integration is now complete by thaumasiotes on Tuesday April 05, 2016 @05:39PM (#11434733)
> Is it required for Nahuatl nouns, like the Latin -t suffix?

I don't understand what you're thinking of here? Here are some Latin nouns, all in nominative case:

    nauta   (first declension)
    puer    (second)
    gladius (second)
    malum   (second)
    lex     (third)
    limen   (third)
    tempus  (third)
    virtus  (third)
    civitas (third)
    cornu   (fourth)
    manus   (fourth)
    res     (fifth)
I gave the nominative case, but in fact none of those nouns has any form ending in -t. The only -t suffix I know of in Latin is for third-person singular verbs.
Re:WhatsApp's Signal Protocol integration is now complete by derefr on Tuesday April 05, 2016 @07:20PM (#11435376)
Ah, sorry, yes, I meant the verbs. Originally I was going to make a comparison to nouns—nouns in Lojban, which have a -j suffix.
Re:WhatsApp's Signal Protocol integration is now complete by ekiru on Wednesday April 06, 2016 @01:04AM (#11436728)
I'm confused and am not sure if you're thinking of something else or if I'm quite misinformed about Lojban. I don't think lojban has suffixes at all (prefixes, on the other hand). For -j specifically, the only words in lojban which are permitted to end in j are names, but there it's not obligatory. Names are required to end in a consonant, but there are at least a few that are more common than j, I think.
Re:WhatsApp's Signal Protocol integration is now complete by smarinov on Thursday April 07, 2016 @12:38AM (#11444762)
FWIW `-j` is the plural suffix for all nouns and adjectives in Esperanto (not in accusative where the full generic form followed by an additional `-n`), but I don't know whether the OP had that in mind or something completely different.
Re:WhatsApp's Signal Protocol integration is now complete by thaumasiotes on Tuesday April 05, 2016 @05:34PM (#11434698)
> Because words coming from Nahuatl are cool! (coyotl, mesquitl, tomatl, ahuacatl, etc.)

> Most importantly, they anticipated the web 2.0 trend of ending words with two consonants in a row. ;)

But those words (coyote, mesquite, tomato, and avocado, unless I seriously miss my guess) all end in a vowel.

Re:WhatsApp's Signal Protocol integration is now complete by TuringTest on Wednesday April 06, 2016 @06:12AM (#11437802)
> But those words (coyote, mesquite, tomato, and avocado, unless I seriously miss my guess) all end in a vowel.

Because they were adopted by Spanish speakers. English products using these names could either adopt the Spanish form, or as the GP suggest follow the 2.0 trend and recover the original form, publishing their webpage in the East Timor .tl domain.

Re:WhatsApp's Signal Protocol integration is now complete by ge0rg on Tuesday April 05, 2016 @02:15PM (#11432901)
But it had a significantly better signal-to-noise (SCNR) ratio when looking for specifications, code and docs. The original "axolotl" term comes from a completely different domain, so it was easy to distinguish and filter for.

"Signal" in IT usually means UNIX inter-process communication.

Re:WhatsApp's Signal Protocol integration is now complete by mc32 on Tuesday April 05, 2016 @04:57PM (#11434377)
Kids would love that name because they know it as that cool looking salamander with gills (or whatever they are).
Re:WhatsApp's Signal Protocol integration is now complete by tptacek on Tuesday April 05, 2016 @05:44PM (#11434781)
Confirming this: my daughter was thrilled that there was something in my field actually called "axolotl".
Re:WhatsApp's Signal Protocol integration is now complete by coroutines on Tuesday April 05, 2016 @04:13PM (#11433954)
This thread is making me want to reread Dune.
Re:WhatsApp's Signal Protocol integration is now complete by antihero on Wednesday April 06, 2016 @05:45AM (#11437720)
For me the biggest thing is - how do we have any idea that WhatsApp is actually using this wonderful crypto tech under the hood? For example my WhatsApp is claiming my messages to my friend are encrypted, whereas his phone is claiming they are not. This is not exactly conducive to trust!
Re:WhatsApp's Signal Protocol integration is now complete by russgray on Wednesday April 06, 2016 @02:05PM (#11440525)
Mine did that for a while, then it resolved itself. Maybe it takes some time for all instances in a group to agree they are encrypted; I also think at least one of my groups marked itself encrypted after everyone in it had posted at least one comment since yesterday.
Re:WhatsApp's Signal Protocol integration is now complete by baby on Tuesday April 05, 2016 @02:12PM (#11432877)
What's the incentive of not using TLS?
Re:WhatsApp's Signal Protocol integration is now complete by rakoo on Tuesday April 05, 2016 @02:42PM (#11433159)
It's easy to shoot yourself in the foot with TLS (see: OpenSSL). Also, TLS has roots in a time where we knew much less in terms of crypto; as time went on and flaws were discovered, SSL/TLS was patched all around, meaning it has become much harder to implement correctly.

Noise starts from a clean state with modern knowledge of cryptography and modern cryptography. Much easier to understand and replicate, much harder to shoot yourself in the foot with.

TLS brings modularity and evolutivity, much needed in a protocol the scale of HTTP. In Whatsapp's case, Whatsapp controls both the server and the client; it is much easier to transition between versions because all bricks are under control. When you don't need what TLS brings anymore it makes sense to discard it.

As another example: Tarsnap (https://www.tarsnap.com/) uses spiped (https://www.tarsnap.com/spiped.html), a very simple yet powerful mechanism to build an encrypted channel. Its protocol and proof fit in ~100 lines (https://github.com/Tarsnap/spiped/blob/master/README). When you don't need all the jazz provided by TLS (and when you're lucky enough to be able to pre-share keys, which helps a lot) then a simple protocol is good.

Re:WhatsApp's Signal Protocol integration is now complete by makomk on Tuesday April 05, 2016 @03:56PM (#11433815)
It looks like Noise leaves an implementer with more than enough rope to hang themselves with - for example, it allows unauthenticated Diffie-Hellman, it appears to permit user-selected handshake sequences, has 16(!) different official handshake sequences with subtly different properties, each of which allow payloads to be attached to any message in the handshake process that in turn have different levels of reduced security, etc.
Re:WhatsApp's Signal Protocol integration is now complete by tptacek on Tuesday April 05, 2016 @04:22PM (#11434043)
You're describing Noise. WhatsApp uses Noise Pipes, which is one of many instances of the Noise framework.

You're right that it's not a good idea for generalists to pick up Noise and go to town with it. Noise isn't misuse-proof.

Re:WhatsApp's Signal Protocol integration is now complete by lmm on Wednesday April 06, 2016 @06:37AM (#11437867)
> You're right that it's not a good idea for generalists to pick up Noise and go to town with it. Noise isn't misuse-proof.

Nor is SSL. Couldn't an opinionated SSL library (supporting exactly one protocol version, one cipher only, etc) provide the same simplicity of use while remaining interoperable and reusing an already-validated protocol?

Re:WhatsApp's Signal Protocol integration is now complete by tptacek on Wednesday April 06, 2016 @07:46AM (#11438086)
Simplicity of use isn't the only benefit they get from Noise Pipes; they also get increased security, in a couple of important ways.

It's not the choice I would have made, but I am not as good as Moxie or Trevor.

Re:WhatsApp's Signal Protocol integration is now complete by rakoo on Wednesday April 06, 2016 @09:40AM (#11438675)
FYI there is an RFC (currently a draft) for a suite of parameters considered secure for some time, ie some kind of LTS: https://tools.ietf.org/html/draft-gutmann-tls-lts-02

The idea is more or less what you want, hardcode some known-good configuration for servers that can't or won't be upgraded every other month.

Re:WhatsApp's Signal Protocol integration is now complete by wolf550e on Wednesday April 06, 2016 @01:25PM (#11440217)
That appears to not fully interoperate with regular TLS implementations, and does not require the use of the most popular secure ciphersuite ECDHE_RSA_AESGCM. If they need to make changes to make it secure, define an extension and say this profile makes the extension mandatory (like MAC-then-encrypt), but don't just change the protocol.
Re:WhatsApp's Signal Protocol integration is now complete by tptacek on Wednesday April 06, 2016 @10:46AM (#11439088)
This is less a practical draft and more a political statement about the author's dislike for TLS 1.3. In particular, it makes extensive modifications to the TLS protocol itself (it doesn't merely propose a limited set of safe parameters).
Re:WhatsApp's Signal Protocol integration is now complete by baby on Tuesday April 05, 2016 @04:40PM (#11434197)
> It's easy to shoot yourself in the foot with TLS

I would argue it's easier to shoot yourself in the face trying to re-implement/re-design something like TLS.

Re:WhatsApp's Signal Protocol integration is now complete by rakoo on Wednesday April 06, 2016 @08:32AM (#11438298)
The mind behind Noise (Trevor Perrin) is one of the minds behind Axolotl (actually Noise can be seen as a generalization of the Axolotl's cross-signing of DH keys, see this post: https://whispersystems.org/blog/simplifying-otr-deniability/) so I would likely be comfortable with it. Although it is completely true that it's been far less used and studied than TLS.
Re:WhatsApp's Signal Protocol integration is now complete by quotemstr on Wednesday April 06, 2016 @04:29AM (#11437454)
The OP's point is that it is like TLS, except with a novelty effect. Personally, I prefer that everyone standardize than use a hundred different crypto protocols, none of which receives adequate scrutiny. TLS1.3, with encrypt-then-MAC and zero-RTT setup, can't get here fast enough.
Re:WhatsApp's Signal Protocol integration is now complete by mahyarm on Tuesday April 05, 2016 @02:25PM (#11433016)
About 6 round trips, which gives you about a 30s latency on EDGE networks. Doing a key exchange once, retaining it and then doing future communications with just 1 round trip is significantly faster.
Re:WhatsApp's Signal Protocol integration is now complete by jd20 on Tuesday April 05, 2016 @02:41PM (#11433154)
Isn't a full TLS handshake 6 messages (thus 3 round trips)? Also with false start and resumption, TLS can also typically achieve 1 roundtrip, right? (I'm also confused by 30s latency for 6 RTT, but maybe I"m too focused on US market, where EDGE latency would be more like 500ms each way.)

Maybe not all of WhatsApp's platforms support the latest TLS improvements though, thus it's easier to roll their own?

Re:WhatsApp's Signal Protocol integration is now complete by jd20 on Tuesday April 05, 2016 @02:31PM (#11433057)
I'm curious about this too. Short of some rigid technical requirement, it's hard to imagine why you'd want to reinvent the wheel or forgo a protocl which is so widely available and studied. (Although I've not read the Noise whitepaper though, I'm sure it must have some benefits compared to TLS.)
Re:WhatsApp's Signal Protocol integration is now complete by mike_hearn on Tuesday April 05, 2016 @12:22PM (#11431718)
Thanks.

As an aside, what's with Nietzsche? He seems to crop up in your screenshots quite frequently.

Re:WhatsApp's Signal Protocol integration is now complete by defen on Tuesday April 05, 2016 @01:33PM (#11432475)
"The individual has always had to struggle to keep from being overwhelmed by the tribe. If you try it, you will be lonely often, and sometimes frightened. But no price is too high to pay for the privilege of owning yourself."

(just a guess)

Re:WhatsApp's Signal Protocol integration is now complete by ianmiers on Tuesday April 05, 2016 @02:02PM (#11432781)
Is there any documentation on the old custom protocol?
Re:WhatsApp's Signal Protocol integration is now complete by andersen1488 on Tuesday April 05, 2016 @03:23PM (#11433532)
What exactly is wrong with TLS? Why the switch?
Re:WhatsApp's Signal Protocol integration is now complete by KingMob on Tuesday April 05, 2016 @09:32PM (#11435965)
As a protocol, it's quite old, complex, and has a huge surface area for attacks. E.g., the Wikipedia page (https://en.wikipedia.org/wiki/Transport_Layer_Security#Attac...) lists over a dozen major attacks against TLS/SSL. Its only advantage is ubiquity; it's the standard in every browser and web server.
Re:WhatsApp's Signal Protocol integration is now complete by mtgx on Tuesday April 05, 2016 @01:19PM (#11432333)
Moxie, what do you say to this?

https://twitter.com/JZdziarski/status/717399098563891200

Is that true? Are the messages decrypted server-side for iOS users?

Re:WhatsApp's Signal Protocol integration is now complete by narrowrail on Tuesday April 05, 2016 @02:23PM (#11432979)
This post illustrates how silly it is to link to a tweet, and not just paste the text of the message directly. This tweet has been deleted.

And for anyone else that hates visiting these social networks, Moxie's reply was, "I'm sure, but it'd be to everyone's benefit for you to verify."

Re:WhatsApp's Signal Protocol integration is now complete by dewey on Tuesday April 05, 2016 @01:51PM (#11432668)
Re:WhatsApp's Signal Protocol integration is now complete by davorb on Tuesday April 05, 2016 @01:31PM (#11432450)
> What's the next step?

Imho one thing that the Signal project suffers from -- and that a lot of open-source projects suffer from -- is poor documentation. They need document their protocol better, to make it easier for third parties to integrate with their system.

Signal still lacks a working desktop client (no, the one that you can use if you're running Chrome doesn't count), and I'm sure tons of people would be eager to do stuff like provide integration for Pidgin if only there was better documentation.

Re:WhatsApp's Signal Protocol integration is now complete by ge0rg on Tuesday April 05, 2016 @02:18PM (#11432935)
+1 for documentation. The XMPP community is trying to get "OMEMO"[0,1] rolled out, which is an XMPP adaptation of Axolotl, but fails due to missing specs[2].

[0] https://conversations.im/omemo/

[1] https://conversations.im/xeps/multi-end.html

[2] http://mail.jabber.org/pipermail/standards/2015-November/030...

Re:WhatsApp's Signal Protocol integration is now complete by Spakman on Wednesday April 06, 2016 @04:56AM (#11437544)
I agree about the documentation and a number of other things, but why doesn't the Chromium extension count as a desktop client? You don't need to use Chromium for anything else if you don't want.
Re:WhatsApp's Signal Protocol integration is now complete by ge0rg on Wednesday April 06, 2016 @06:17AM (#11437822)
I suppose the main reason is that it links to your existing Signal installation on iOS/Android, and does not work standalone.
Re:WhatsApp's Signal Protocol integration is now complete by pfg on Tuesday April 05, 2016 @01:11PM (#11432229)
I keep wondering if package managers (be it Google Play, apt or dnf) are in need of a solution like Certificate Transparency. Like Certificate Transparency, it would not necessarily prevent a backdoor(/certificate) from being pushed to selected users, but it would guarantee detectability, at least after the fact. If the package as a whole is included in the log, it would also allow BinDiff-style reverse engineering of any backdoor. Application developers could scan the log for unauthorized builds of their software (i.e. key compromises), and I imagine there are some things you can do with gossip protocols for end-users as well (i.e.: how popular is this build? Am I the only one running it?).

This would solve part of the trust issue both for proprietary and open source software (I mean, who's actually using or verifying reproducible builds?). It would also be a huge problem for intelligence agencies or other adversaries who want to do this undetected.

Re:WhatsApp's Signal Protocol integration is now complete by mike_hearn on Wednesday April 06, 2016 @04:29AM (#11437457)
It would be interesting but I suspect ultimately futile.

Certificate transparency works because detected problems are actionable: the bad certificates can be revoked and, if necessary, so can the entire CA that was compromised.

There is no way to revoke an app store, as there's only two of them that matter. So if the transparency system revealed subversion .... then what? There'd be a big uproar for a few days, but nobody would know who the target was, or what the bad app was doing, and there'd be no action that could be taken.

Re:WhatsApp's Signal Protocol integration is now complete by pfg on Wednesday April 06, 2016 @05:19AM (#11437627)
I think the actual implications wouldn't be too different in production.

Those are the main scenarios where Binary Transparency might be of use:

1. An application developer's private key gets compromised (either through a breach or an inside job). Binary Transparency would allow the developer to monitor the log server for any unauthorized binaries and, once detected, investigate the source of the attack, rotate keys and possibly blacklist the affected binary (not sure if a mechanism like that exists at the moment, but it would make sense with Binary Transparency).

2. The application developer is coerced into signing a binary including a backdoor. Binary Transparency would guarantee that there's a public record of a modified binary being released. This alone would probably make any adversary think twice about doing this, especially if they want to stay unnoticed. In addition to that, gossip protocols and dedicated auditors could allow users to detect odd releases even if the developers were gagged. This might very well result in the app being effectively revoked because users stop trusting it.

Both scenarios would at the very least allow the backdoor to be reverse-engineered.

Ultimately, I'm afraid you're probably right and the limitations and complexity of this approach probably won't make it viable for a long time. Maybe the thinking will change if we see some high-profile cases where apps are backdoored - that's what got the ball rolling for Certificate Transparency, after all.

Re:WhatsApp's Signal Protocol integration is now complete by zmanian on Tuesday April 05, 2016 @07:23PM (#11435393)
Yes binary transparency for package managers is extremely needed esp because we've been widely publicizing this vulnerability a lot now with no real fix.
Re:WhatsApp's Signal Protocol integration is now complete by StavrosK on Tuesday April 05, 2016 @01:02PM (#11432149)
> 12 words seems so much more friendly, at least to English speakers

I have a feeling that English speakers are the minority of WhatsApp users.

> if you don't speak a common language with your chat partner then the app is useless anyway

They do speak a common language, it's usually just not English.

Re:WhatsApp's Signal Protocol integration is now complete by msh on Tuesday April 05, 2016 @01:53PM (#11432693)
And the language of the clients might not be the same. I might write in English to a German friend, but my whatsapp is localized to Danish and his to Germany.

How would whatsapp know what language to present the words in?

Re:WhatsApp's Signal Protocol integration is now complete by eridius on Tuesday April 05, 2016 @02:59PM (#11433317)
It could have a language picker. It's not like you're stuck with just one language; the underlying fingerprint could be converted into any language that has an appropriate dictionary constructed for it, so all you would have to do is ensure both parties have picked the same language and you can then compare the fingerprint easily.
Re:WhatsApp's Signal Protocol integration is now complete by jandrese on Tuesday April 05, 2016 @04:39PM (#11434184)
That could get confusing.

"Ok, your pattern is Bread Cloud Tiller..." "Scheiße! We're being MITMed! My pattern is Brot Wolke Pinne..."

Re:WhatsApp's Signal Protocol integration is now complete by eridius on Tuesday April 05, 2016 @07:03PM (#11435294)
If I were to design this system, I'd make the language picker very prominent and have a very clear explanation saying to make sure both parties have the same language selected before comparing the words.

Alternatively, the party whose code is being confirmed would just select the language, and the other party's UI could automatically update to show the code in the chosen language. The first party would still have to pick a language both people understand but (as long as both parties have a working internet connection) there wouldn't be a sync issue.

Re:WhatsApp's Signal Protocol integration is now complete by StavrosK on Tuesday April 05, 2016 @08:27PM (#11435718)
I would just use numbers.
Re:WhatsApp's Signal Protocol integration is now complete by espadrine on Tuesday April 05, 2016 @07:02PM (#11435290)
I might be misunderstanding the situation, but isn't emoji universal? Would it be ill-fitted here?
Re:WhatsApp's Signal Protocol integration is now complete by yorwba on Tuesday April 05, 2016 @02:54PM (#11433272)
It could be a selectable option.
Re:WhatsApp's Signal Protocol integration is now complete by losvedir on Wednesday April 06, 2016 @01:45AM (#11436858)
>> if you don't speak a common language with your chat partner then the app is useless anyway

> They do speak a common language, it's usually just not English.

I think you misunderstood the original poster was getting at. Here's the full parenthetical: "(perhaps with icons instead of specific words? if you don't speak a common language with your chat partner then the app is useless anyway)". So replace the words that you're supposed to read with little pictures. Then it doesn't matter what language the people speak as long as they're speaking the same language, since they'll be "reading" the images. You'll see a little house icon, and read "house" or "casa" or "jia" or whatever.

Re:WhatsApp's Signal Protocol integration is now complete by ianmiers on Tuesday April 05, 2016 @02:01PM (#11432767)
I'm hoping they deploy some from of key transparency. E.g. CONIKS or CONAME, the version Yahoo and Google are working on for e2e that already has a productionish grade sever and client[0]. Either that or give the community a practical reason why it can't be used as is, and then we can start working on alternatives.

[0] https://github.com/yahoo/conam

Re:WhatsApp's Signal Protocol integration is now complete by pa7ch on Tuesday April 05, 2016 @02:33PM (#11433072)
I think he already made a strong point why CONIKS style transparency isn't all that great for end-users. See this mailing list thread that includes the author of CONIKS talking about it with moxie before CONIKS was published:

https://moderncrypto.org/mail-archive/messaging/2014/000226....

https://moderncrypto.org/mail-archive/messaging/2014/000234....

Basically, users change their identity key in practice so often that a 3rd-party can't be the source of truth on whether a MITM has happened. Only the user can audit that and most users are not equipped to do so. So, towards the goal of universal e2e messaging its not clear that key transparency is a real win over the simplicity of trust-on-first-use.

Re:WhatsApp's Signal Protocol integration is now complete by ianmiers on Tuesday April 05, 2016 @06:18PM (#11435017)
So I think CONAME solves 90% of this. It's set up in such a way that third party verifiers only have to check that the update counter for each key is monotonic. Users can check just that, for the current epoch, the write counter is correct and their key is there. So only a user themselves should see a warning. (and warning cans be disabled by default ... as long as the attacker doesn't know if the user has them on or not, it's an issue)

In contrast, in CONIKS, a user had to check every single epoch. Which was impractical and meant you relied on third party auditors.

This doesn't deal with the restore from backup issue. I think given the FBI apple phone issue though, maybe it's worth reevaluating the risk vs. reword here. Especially if user visible warnings are opt in.

Re:WhatsApp's Signal Protocol integration is now complete by pa7ch on Wednesday April 06, 2016 @12:54PM (#11439988)
Oh thats really interesting. I've never read CONAME before so I'll check it out. It sounds like its definitely worth evaluating more.

I've wonder if things like multi-device support or deriving a private key from a passphrase (mini-lock style) will eventually make user identity far less likely to change. Then it might be safer to complain louder when your in the situation that someone's identity has changed.

Re:WhatsApp's Signal Protocol integration is now complete by envy2 on Tuesday April 05, 2016 @12:05PM (#11431537)
> 2) It's a shame to see key words be killed off by internationalisation concerns. 12 words seems so much more friendly, at least to English speakers, than a 50 digit number. In practice I doubt any non-trivial numbers of people will ever compare codes by reading out such a number. I hope further research here can develop better replacements for encoding short binary strings in i18n friendly ways (perhaps with icons instead of specific words? if you don't speak a common language with your chat partner then the app is useless anyway).

There's a QR code representation as well that can be scanned to verify.

Re:WhatsApp's Signal Protocol integration is now complete by drdaeman on Tuesday April 05, 2016 @05:25PM (#11434632)
A wild idea: a string of distinctive emojis (distinctive: I mean, not allowing emojis that are too close, like too similar face expressions where only smaller details differ)

They're unified, they're mostly language-agnostic, and there is shitload of them so the representation would be much more compact than hexadecimal or base64-encoded string.

Re:WhatsApp's Signal Protocol integration is now complete by jsmthrowaway on Tuesday April 05, 2016 @05:42PM (#11434761)
Cryptography software built with emojis would probably the final straw to me burning down my career, destroying every computing device I own, buying a shrimp boat, and living out my days at sea with a Lieutenant Dan stand-in by my side, wistfully remembering the good times when the computing world made sense as Bud Light finds its way down my jaded, cynical throat.

Put it on a .io domain for bonus points.

Re:WhatsApp's Signal Protocol integration is now complete by drdaeman on Tuesday April 05, 2016 @08:08PM (#11435642)
Hey, hey, if that nonsense would appear in my XMPP client I'd really feel the urge do to the same. But aren't we're talking about modern popular messaging apps here?

If those only'd be international, I'd seriously propose key fingerprints based on animated meme-filled "gifs". Because that's what the common audience understands (or at least my impression is so). Not some weird-looking strings of meaningless digits and letters.

Re:WhatsApp's Signal Protocol integration is now complete by jszymborski on Tuesday April 05, 2016 @12:54PM (#11432059)
I feel like there are a lot of security issues with QR code representations, namely that the information are even less transparent than hexadecimal fingerprints, and therefore are not really a fail-safe to MITM attacks.
Re:WhatsApp's Signal Protocol integration is now complete by kevincox on Tuesday April 05, 2016 @03:00PM (#11433318)
I'm not sure about this. If they can change what QR code you are seeing they can change the words as well.
Re:WhatsApp's Signal Protocol integration is now complete by patcon on Tuesday April 05, 2016 @05:14PM (#11434526)
My hope is that the next step for WhatsApp is to add editing of arbitrary received messages in the client app. While the protocol provides plausible deniability of messages in the cryptographic sense, it's hard for someone who sent an incrimination message to argue that their layperson recipient someone modified the message when the app doesn't allow this to happen easily
Re:WhatsApp's Signal Protocol integration is now complete by erkkie on Tuesday April 05, 2016 @12:21PM (#11431704)
Reproducible builds help with 3) as well. There was just an announcement re that a few days ago: https://whispersystems.org/blog/reproducible-android/
Re:WhatsApp's Signal Protocol integration is now complete by zeveb on Tuesday April 05, 2016 @12:39PM (#11431900)
Noise is really interesting. I'd hoped from the name that it might incorporate some of the ideas behind Dust[1], which attempts to hide even that there is a Dust session going on, and what the public and private keys of the recipients are. No such luck — still, it looks very interesting.

[1] http://freehaven.net/anonbib/cache/wileydust.pdf

Re:WhatsApp's Signal Protocol integration is now complete by skybrian on Tuesday April 05, 2016 @01:14PM (#11432275)
What's interesting about Noise?
Re:WhatsApp's Signal Protocol integration is now complete by tptacek on Tuesday April 05, 2016 @05:31PM (#11434677)
It's an expert-authored modern framework for designing fast cryptographic transport protocols that have (depending on the options you select) forward secrecy, peer authentication, and resistance to key compromise.

The notion of a cryptographic protocol framework, rather than a complicated negotiation scheme for a kitchen-sink protocol, is also somewhat novel.

Re:WhatsApp's Signal Protocol integration is now complete by Mafana0 on Tuesday April 05, 2016 @03:02PM (#11433343)
> It's a shame to see key words be killed off by internationalisation concerns.

I think it's actually a solid decision from WhatsApp since the majority of their users are from non English speaking countries[0].

[0]: http://www.statista.com/statistics/291540/mobile-internet-us...

Re:WhatsApp's Signal Protocol integration is now complete by lmm on Wednesday April 06, 2016 @06:40AM (#11437873)
The question isn't really what country they're from though. How many of those users can't speak English?
Re:WhatsApp's Signal Protocol integration is now complete by tommorris on Wednesday April 20, 2016 @06:18AM (#11533340)
Quite a lot.

One example: WhatsApp is one of the primary messaging services used in Brazil, with something like half the population using it. The vast majority of which don't speak any languages other than Portuguese.

When the courts in Brazil shut down WhatsApp for 48 hours, there was a huge outcry because it is THE primary means of communication for people, especially to talk to family who have gone abroad.

Re:WhatsApp's Signal Protocol integration is now complete by kobayashi on Tuesday April 05, 2016 @05:53PM (#11434838)
Why on Earth would someone from a liberal democracy want to partner with a security firm based in Iran?
Re:WhatsApp's Signal Protocol integration is now complete by stelonix on Tuesday April 05, 2016 @06:14PM (#11434990)
Perhaps because said liberal democracies are known to spy on that someone more than Iran, North Korea and China combined.
Re:WhatsApp's Signal Protocol integration is now complete by kobayashi on Tuesday April 05, 2016 @09:23PM (#11435933)
That's an absolutely ridiculous and ignorant statement.
Re:WhatsApp's Signal Protocol integration is now complete by kobayashi on Wednesday April 06, 2016 @02:59PM (#11440941)
Downvote me all you want, but it doesn't make you right. It just goes to show your own lack of knowledge regarding the intelligence efforts in support of social control in totalitarian states.
Re:WhatsApp's Signal Protocol integration is now complete by dvdplm on Tuesday April 05, 2016 @06:19PM (#11435026)
To keep said liberal democracy honest?
Re:WhatsApp's Signal Protocol integration is now complete by kobayashi on Tuesday April 05, 2016 @09:24PM (#11435942)
Iran, a brutal theocratic dictatorship is going to keep a liberal democracy honest? You've got to be kidding me...
Re:WhatsApp's Signal Protocol integration is now complete by martindevans on Tuesday April 05, 2016 @12:24PM (#11431737)
> It's a shame to see key words be killed off by internationalisation concerns [....] I hope further research here can develop better replacements for encoding short binary strings in i18n friendly ways

I rather like the urbit way of encoding numbers. I can't remember the exact details but it's something like: There are 256 unique three letter words (all nonsense, but deliberately picked to be possible to pronounce). Each word is mapped to a byte and then a blob of binary data becomes a nonsense word.

So for example "tasfyn-partyv" instead of "1242B24A".

Re:WhatsApp's Signal Protocol integration is now complete by tptacek on Tuesday April 05, 2016 @12:59PM (#11432117)
This idea isn't unique to Urbit; it dates back to at least S/Key.
Re:WhatsApp's Signal Protocol integration is now complete by bostik on Wednesday April 06, 2016 @02:04AM (#11436930)
This sounds a bit like babble print, which is a more complex type of encoding mechanism.[0]

The first I encountered that was in SILC, where it was used to make the key fingerprint more or less pronounceable. It's interesting that the encoding scheme never really got wider attention, although it is available in both openssh and openssl.

Similar ideas come and go, and get rediscovered - so maybe now is the time for wider acceptance.

A bit of googling provided me with a nice starting point for implementations, so babble print has certainly been recognised in some circles.[1]

0: http://bohwaz.net/archives/web/Bubble_Babble.html

1: https://github.com/eur0pa/bubblepy

Re:WhatsApp's Signal Protocol integration is now complete by kuschku on Tuesday April 05, 2016 @12:40PM (#11431912)
> deliberately picked to be possible to pronounce

That only works in English, again.

Re:WhatsApp's Signal Protocol integration is now complete by stormbrew on Tuesday April 05, 2016 @12:56PM (#11432082)
It seems like there could be a lowest-common-denominator set of phonemes that such a system could be built on, with translations into symbol groups for different languages. As long as those symbol groups are relatable by two people who speak the same language, that might be sufficient?
Re:WhatsApp's Signal Protocol integration is now complete by maxerickson on Tuesday April 05, 2016 @04:55PM (#11434358)
Or just offer different sets of phonemes for different languages (and allow easy switching). You don't need any commonality across languages.

Of course that's not helpful when two people who don't speak a common language are trying to establish communication, but it probably isn't their biggest problem.

Re:WhatsApp's Signal Protocol integration is now complete by avn2109 on Tuesday April 05, 2016 @01:27PM (#11432409)
>> "lowest-common-denominator set of phonemes"

They already spent a bunch of time and effort finding these phonemes to build Esperanto, right?

Re:WhatsApp's Signal Protocol integration is now complete by jodrellblank on Tuesday April 05, 2016 @10:14PM (#11436110)
No, see this criticism of Esperanto phonemes: http://www.xibalba.demon.co.uk/jbr/ranto/#b

Its choices are large, irregular, unclearly defined and basically Eastern Polish.

Re:WhatsApp's Signal Protocol integration is now complete by pgeorgi on Tuesday April 05, 2016 @02:21PM (#11432961)
Esperanto was designed to be partially understandable by people across Europe by lifting words from various languages liberally.

Lojban is designed to be well-defined on phonemes, but that still only works when knowing its (rather simple) pronunciation rules.

Re:WhatsApp's Signal Protocol integration is now complete by stormbrew on Tuesday April 05, 2016 @01:43PM (#11432593)
That would probably still be a very eurocentric set of phonemes, so probably would not really be suitable for the modern multilingual world, I would think.
Re:WhatsApp's Signal Protocol integration is now complete by elasticdog on Tuesday April 05, 2016 @01:06PM (#11432182)
Still western-focused, but Oren Tirosh's mnemonic encoding [1] project is pretty close as well.

[1] http://web.archive.org/web/20090918202746/http://tothink.com...

Re:WhatsApp's Signal Protocol integration is now complete by kodablah on Tuesday April 05, 2016 @02:27PM (#11433021)
Similarly, proquint.
Re:WhatsApp's Signal Protocol integration is now complete by Xeoncross on Tuesday April 05, 2016 @03:22PM (#11433524)
Could someone explain the benefit of the noise protocol? Some of us are not well-versed in the problems or attack vectors of modern crypto.
Re:WhatsApp's Signal Protocol integration is now complete by cmdrfred on Tuesday April 05, 2016 @08:26PM (#11435715)
I'd be interested as well I'm building a chat system myself and I'm currently using AES (its web based and zero knowledge so I need a javascript implementation)
Re:WhatsApp's Signal Protocol integration is now complete by taejo on Wednesday April 06, 2016 @10:53AM (#11439149)
If you don't understand the difference between a block cipher and a secure transport you probably shouldn't be writing cryptographic software.
Re:WhatsApp's Signal Protocol integration is now complete by humanrebar on Tuesday April 05, 2016 @12:21PM (#11431707)
> What's the next step?

Is there any work on encrypting group chat sessions?

Re:WhatsApp's Signal Protocol integration is now complete by mike_hearn on Tuesday April 05, 2016 @12:23PM (#11431725)
Please read the articles. It already says that those are encrypted, as well as voice calls. Apparently once everyone is upgraded, nothing will be unencrypted. Their white paper also describes the protocols used in quite a lot of detail.
Re:WhatsApp's Signal Protocol integration is now complete by humanrebar on Tuesday April 05, 2016 @01:16PM (#11432288)
I was asking because I have a notification today in one of my chats saying that e2ee was enabled. I didn't see the same notification in any group chats. Outside of that notification, it's not clear to me when things are encrypted.

Maybe the next step is a more obvious indicator.

Re:WhatsApp's Signal Protocol integration is now complete by koenigdavidmj on Tuesday April 05, 2016 @01:35PM (#11432498)
I just checked this with a group chat I'm in, and it said that it was not yet enabled because one person has not yet updated.
Re:WhatsApp's Signal Protocol integration is now complete by spikengineer on Tuesday April 05, 2016 @03:46PM (#11433720)
After a few weeks, non-updating users will get a stern warning that Whatsapp will stop working until they update. Whatsapp does this with every version. They expire every few months.
Re:WhatsApp's Signal Protocol integration is now complete by zxexz on Tuesday April 05, 2016 @01:22PM (#11432353)
Doesn't everyone in the chat have to have the new version of the app before it's all e2e?
Re:WhatsApp's Signal Protocol integration is now complete by humanrebar on Tuesday April 05, 2016 @01:32PM (#11432463)
I guess? Hence the indicator. It would be nice to know if someone switched phones and e2ee turned off, for example.
Re:WhatsApp's Signal Protocol integration is now complete by kasey_junk on Tuesday April 05, 2016 @01:42PM (#11432581)
> Once a client recognizes a contact as being fully e2e capable, it will not permit transmitting plaintext to that contact

They do this to prevent degradation attacks.

Re:WhatsApp's Signal Protocol integration is now complete by somesay on Wednesday April 06, 2016 @05:25AM (#11437650)
Once your number had e2e support0, you can't switch to a phone without e2e. Notifications on key changes are switched off by default, but I hope they still warn you in the chat history. We'll see.
Re:WhatsApp's Signal Protocol integration is now complete by antihero on Wednesday April 06, 2016 @05:23AM (#11437642)
It doesn't seem to say anything about the Web client, though.
Re:WhatsApp's Signal Protocol integration is now complete by jamesdwilson on Tuesday April 05, 2016 @12:46PM (#11431976)
no proof without open source
Re:WhatsApp's Signal Protocol integration is now complete by bad_user on Tuesday April 05, 2016 @04:01PM (#11433856)
The open-source alternative is the Signal app made by Whisper Systems, the same people helping with WhatsApp from TFA, available for Android and iOS: https://whispersystems.org/

Don't know what kind of funding they've been having, but for an open-source app, it's pretty polished.

Re:WhatsApp's Signal Protocol integration is now complete by zanny on Tuesday April 05, 2016 @02:08PM (#11432831)
Matrix uses the Signal protocol for encryption as well, if you want a fully free implementation of the same tech.

https://matrix.org/git/olm/

Re:WhatsApp's Signal Protocol integration is now complete by jamesdwilson on Tuesday April 05, 2016 @02:29PM (#11433033)
thanks! could i use it to connect to WhatsApp?
Re:WhatsApp's Signal Protocol integration is now complete by zanny on Tuesday April 05, 2016 @03:44PM (#11433697)
WhatsApp uses a proprietary (fork of XMPP) messaging protocol and does not interoperate with anyone else (intentionally), like Hangouts and Skype, and unlike Matrix which is federated, and has gateways for IRC and XMPP already available.
Re:WhatsApp's Signal Protocol integration is now complete by kmch on Tuesday April 05, 2016 @01:17PM (#11432303)
You could inspect the packets yourself to see that they are encrypted.
Re:WhatsApp's Signal Protocol integration is now complete by jamesdwilson on Tuesday April 05, 2016 @01:24PM (#11432365)
skype is encrypted too, and backdoored. don't forget whatsapp is owned by facebook.
Re:WhatsApp's Signal Protocol integration is now complete by jamesdwilson on Tuesday April 05, 2016 @01:23PM (#11432363)
how do i know they aren't sending the chat log in a side channel, encrypted?
Re:WhatsApp's Signal Protocol integration is now complete by koide on Wednesday April 06, 2016 @07:36AM (#11438048)
It's worse to use an encrypted but potentially compromised channel than a plain text one only when you assume the encryption is not in fact compromised, which you shouldn't do.

So I fail to see the problem. It still likely protects you from nosy neighbors or nasty non tech savvy competitors, even if it doesn't protect you from state level actors or from Facebook itself.

The above, in addition to the fact that open source is neither required for auditing, nor guarantees proper auditing occurring (see OpenSSL having vulnerabilities for years before anybody released them to the public)