[messaging] Wickr Protocol Description

Matt Corallo moderncrypto at bluematt.me
Thu Nov 26 15:33:00 PST 2015

Except the TextSecure protocol is rather well-defined (I've personally nearly completely implemented a working protocol without reading the TextSecure code at all). This is rather unclear in a number of ways...

It says, with regard to the device key, "the app provides a salt and padding information to prevent malicious and/or unregistered users from replicating the device key if the unique device identifiers were to be compromised". They don't seem to specify how the salt works. I assume they're using a random 32 bytes or so, which gives a rather misleading understanding of what the device key is. It's not really a device-specific key but a random key which uses device IDs to protect against a bad system RNG (why aren't they doing this for all keys, as it's generally good hygiene?). Otherwise, maybe they're using a small salt, but I don't see why they shouldn't be using a random key here.

I'm interested to know what is in the message header... It seems to me, there is some way to prove the header was sent my the same individual who sent the message forward secrecy of broken. If there isn't, their claim that "Being able to successfully decrypt the header with the generated header key provides assurances to the recipient that the SMC was sent by the supposed sender" is bogus.

Further, I'm very concerned by the ability of random users to "obtain the sender’s username and application ID from the Wickr server". Since the application ID is "generated by hashing the user’s password with device information", anyone who can find some part of your device information can probably easily (offline) brute force your password. Because they don't specify what is in your "device information", it's unclear how much data you'd have to find but, really, it'd be hard to have to brute force much more than a serial number if you know their phone model and have some knowledge of their mac address (which is generally trivial to find). What's worse, I've seen manufactures include the device serial number on receipts and if someone has access to your phone long enough to pop the back off and take a picture likely has everything they need.

I only got two pages into keys and primitives, but there is no way I'm ever using Wickr. Don't ever trust crypto if you can't find a spec sufficiently detailed to be able to implement a compatible client from just public documentation (preferably with an open source client).

On November 26, 2015 12:48:27 PM EST, Tony Arcieri <bascule at gmail.com> wrote:
>Wickr has released this description of their encrypted messaging
>At first glance it reminds me of this:
>Tony Arcieri
>Messaging mailing list
>Messaging at moderncrypto.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://moderncrypto.org/mail-archive/messaging/attachments/20151126/c5e3cbc4/attachment.html>

More information about the Messaging mailing list