Saturday, June 24, 2017

A kindly lesson for you non-techies about encryption

The following tweets need to be debunked:



The answer to John Schindler's question is:
every expert in cryptography doesn't know this
Oh, sure, you can find fringe wacko who also knows crypto that agrees with you but all the sane members of the security community will not.


Telegram is not trustworthy because it's partially closed-source. We can't see how it works. We don't know if they've made accidental mistakes that can be hacked. We don't know if they've been bribed by the NSA or Russia to put backdoors in their program. In contrast, PGP and Signal are open-source. We can read exactly what the software does. Indeed, thousands of people have been reviewing their software looking for mistakes and backdoors. Being open-source doesn't automatically make software better, but it does make hiding secret backdoors much harder.

Telegram is not trustworthy because we aren't certain the crypto is done properly. Signal, and especially PGP, are done properly.

The thing about encryption is that when done properly, it works. Neither the NSA nor the Russians can break properly encrypted content. There's no such thing as "military grade" encryption that is better than consumer grade. There's only encryption that nobody can hack vs. encryption that your neighbor's teenage kid can easily hack. Those scenes in TV/movies about breaking encryption is as realistic as sound in space: good for dramatic presentation, but not how things work in the real world.

In particular, end-to-end encryption works. Sure, in the past, such apps only encrypted as far as the server, so whoever ran the server could read your messages. Modern chat apps, though, are end-to-end: the servers have absolutely no ability to decrypt what's on them, unless they can get the decryption keys from the phones. But some tasks, like encrypted messages to a group of people, can be hard to do properly.

Thus, in contrast to what John Schindler says, while we techies have doubts about Telegram, we don't have doubts about Russia authorities having access to Signal and PGP messages.


Snowden hatred has become the anti-vax of crypto. Sure, there's no particular reason to trust Snowden -- people should really stop treating him as some sort of privacy-Jesus. But there's no particular reason to distrust him, either. His bland statements on crypto are indistinguishable from any other crypto-enthusiast statements. If he's a Russian pawn, then so too is the bulk of the crypto community.


With all this said, using Signal doesn't make you perfectly safe. The person you are chatting with could be a secret agent -- especially in group chat. There could be cameras/microphones in the room where you are using the app. The Russians can also hack into your phone, and likewise eavesdrop on everything you do with the phone, regardless of which app you use. And they probably have hacked specific people's phones. On the other hand, if the NSA or Russians were widely hacking phones, we'd detect that this was happening. We haven't.

Signal is therefore not a guarantee of safety, because nothing is, and if your life depends on it, you can't trust any simple advice like "use Signal". But, for the bulk of us, it's pretty damn secure, and I trust neither the Russians nor the NSA are reading my Signal or PGP messages.


At first blush, this @20committee tweet appears to be non-experts opining on things outside their expertise. But in reality, it's just obtuse partisanship, where truth and expertise doesn't matter. Nothing you or I say can change some people's minds on this matter, no matter how much our expertise gives weight to our words. This post is instead for bystanders, who don't know enough to judge whether these crazy statements have merit.






Bonus:

So let's talk about "every crypto expert". It's, of course, impossible to speak for every crypto expert. It's like saying how the consensus among climate scientists is that mankind is warming the globe, while at the same time, ignoring the wide spread disagreement on how much warming that is.

The same is true here. You'll get a widespread different set of responses from experts about the above tweet. Some, for example, will stress my point at the bottom that hacking the endpoint (the phone) breaks all the apps, and thus justify the above tweet from that point of view. Others will point out that all software has bugs, and it's quite possible that Signal has some unknown bug that the Russians are exploiting.

So I'm not attempting to speak for what all experts might say here in the general case and what long lecture they can opine about. I am, though, pointing out the basics that virtually everyone agrees on, the consensus of open-source and working crypto.

10 comments:

james01201 said...

I think you'll find Telegram is open source. Take a look at their website and read the following quote;

"We have published the code for our Android, iOS, web and desktop apps (Win, OSX and Linux). This code also allows security researchers to fully evaluate our end-to-end encryption implementation."

https://telegram.org/apps

james01201 said...
This comment has been removed by the author.
Locksmith said...

I was satisfied to read your comment on "military grade" encryption. It is just marketing-speak, and yet it is not debunked enough. Even "professional" companies in security post this vacuousness.

David Maxwell said...

Unlike Unknown above, I disagree on the specifics of the Military Grade encryption comment. Yes, you can divide algorithms into broken/not-broken, but there's a lot of details in the analysis of strength of an algorithm, and it's very fair to expect sha-256 less than sha-384 less than sha-512. All not broken, but offering different likely security lifespans.

Unknown said...
This comment has been removed by the author.
reginald surict said...

Thanks for a post. Have a glimpse at the site.

Unknown said...
This comment has been removed by a blog administrator.
Unknown said...
This comment has been removed by a blog administrator.
Unknown said...
This comment has been removed by a blog administrator.
Jenny said...
This comment has been removed by a blog administrator.