HN user

mfwoods

144 karma

mfwoods

Posts1
Comments38
View on HN

That's true, and in that sense it doesn't really matter if they publish the server source or not (although they really should continue to do so). What does matter is that the client was designed with a possible malicious server in mind so you don't have to trust the code the server is running.

No. The clients are open source, and (at least on Android) you are able to verify that the source on Github is the same that was used to compile the client on Google Play with reproducible builds [1].

And even if the servers turn out to be malicious, the clients are designed to expose as little metadata as possible with things like private contact discovery[2], sealed sender[3] and private groups[4]. It's not perfect, but the data a malicious server could collect is limited.

[1] https://github.com/signalapp/Signal-Android/tree/master/repr...

[2] https://signal.org/blog/private-contact-discovery/

[3] https://signal.org/blog/sealed-sender/

[4] https://signal.org/blog/signal-private-group-system/

Can I use Signal from desktop only?

Yes, the desktop client functions independently from the phone client once linked (so not like whatsapp that proxies everything through your phone).

Can I create an account from desktop?

Technically yes, but you either need to compile the desktop client yourself[0] and miss some features or use something like signal-cli[1] to act as the main client. So it's not supported (yet?).

Is my account independent of any specific device?

The first client that registers acts as the main client, so no. But it might get easier to restore access on a different device without using backups with the secure value recovery[2] stuff they are working on.

Can I use Signal on multiple computers at the same time with correct credentials?

It's possible to link and use several desktop clients at the same time.

[0] https://github.com/signalapp/Signal-Desktop/blob/development...

[1] https://github.com/AsamK/signal-cli

[2] https://signal.org/blog/secure-value-recovery/

Because there is no end to end encryption (other than some very limited temporary one on one chats that only work between two mobile devices) which means the server can (and does) read and store all your messages. Getting access to your full chat history is as simple as intercepting a single text, because the server has access to your plain text messages.

They might do some form of encryption to store the messages, but this is meaningless when they also have access to the keys and can decrypt any message whenever they want.

Not necessarily. But storing them in plain text on the server and all history accessible just by hijacking a phone number (or a single text message) is, considering the alternatives, don't you agree?

I assume they removed it because they don't want anyone to use old insecure code. The RedPhone server hasn't been used for years now and was replaced with a better implementation.

You're right there's no official support on their server, but there are some unofficial guides on their community forums on how to set it up. Also, GCM is not a hard dependency. On Android it will fall back to using only websockets (and no GCM) when Google Play Services is not installed since some time. What other features have they removed without replacement?

Only the encryption layer of the protocol is the same, they are not really compatible otherwise.

I assume it's a design trade-off when you have E2EE and don't store any messages on the server. With Signal (and I assume Wire) you have to register each device and each device needs to manage its keys. Every message is send multiple times, once for each device, and each device has an independent message queue on the server. That's why you only get the messages from after you registered the device.

Whatsapp doesn't have to do any of that and can just keep the keys on one device.

Just because it's on a keyserver doesn't mean it's trustworthy. Keyservers do no verification of any kind on the keys they host.

If you(r system) trust the certificate that https://updates.signal.org/ is using, you should be confident that you are getting the correct keys.

(You shouldn't trust a stranger on the internet, but I am getting the same keys when I download them.)

You still need a phone with a registered Signal on iOS or Android initially to activate the desktop version (sorry if that wasn't clear), but you can turn your phone off after.

Edit: It actually has the option to register without smartphone, but it's only enabled in the debug versions.

For those that don't want to enable Javascript, these are the hidden Linux instructions:

  $ curl -s https://updates.signal.org/desktop/apt/keys.asc | sudo apt-key add -
  $ echo "deb [arch=amd64] https://updates.signal.org/desktop/apt xenial main" | sudo tee -a /etc/apt/sources.list.d/signal-xenial.list
  $ sudo apt update && sudo apt install signal-desktop

Signal Desktop works without having your phone turned on. It acts like a full, independent client after linking it to your smartphone app (unlike WhatsApp, which does require your phone to be turned on).

The Heartbleed Bug 12 years ago

I just installed update openssl_1.0.1e-2+deb7u5 and libssl1.0.0_1.0.1e-2+deb7u5 on debian wheezy, so it seems the fix is now available.

Not only that, but these bases usually also have a non-trivial contribution to the local economy. Especially in smal(ler) towns, I'd expect there are quite some people who'd rather have a job because of those bases (directly or indirectly) than stop some of the spying (maybe).

I'm not sure what this adds over applying PGP on the server?

The way to intercept the message with the server doing PGP would be to either MITM the connection or breach into the server to intercept before encryption.

In both cases you could just as well modify the javascript served to the browser to defeat the PGP done in the browser as well.

That small print to use a local account from 8.0 was moved one extra click away to the page you get on when you click on the button to register a new Microsoft Account in 8.1.

So it's still there but you have to really look for it.