by Douglas Crawford
January
16, 2019
Technical Audit Performed by: Charles Cook, Former NASA, Software Engineer (PhD in Aerospace Engineering)
Introduction
Edward Snowden's NSA spying revelations highlighted just how much we have sacrificed to the gods of technology and convenience something we used to take for granted, and once considered a basic human right - our privacy.
It is just not just the NSA. Governments the world over are racing to introduce legislation that allows to them to monitor and store every email, phone call and Instant Message, every web page visited, and every VoIP conversation made by every single one of their citizens.
The press has bandied parallels with George Orwell's dystopian world ruled by an all-seeing Big Brother about a great deal. They are depressingly accurate.
Encryption provides a highly effective way to protect your internet behavior, communications, and data. The main problem with using encryption is that its use flags you up to organizations such as the NSA for closer scrutiny.
Details of the NSA's data collection rules are here.
What it boils down to is that the NSA examines data from US citizens, then discards it if it's found to be uninteresting. Encrypted data, on the other hand, is stored indefinitely until the NSA can decrypt it.
The NSA can keep all data relating to non-US citizens indefinitely, but practicality suggests that encrypted data gets special attention.
If a lot more people start to use encryption, then encrypted data will stand out less, and surveillance organizations' job of invading everyone's privacy will be much harder.
Remember - anonymity is not a crime!
How Secure is Encryption?
Following revelations about the scale of the NSA's deliberate assault on global encryption standards, confidence in encryption has taken a big dent.
So let's examine the current state of play…
NIST
The United States National Institute of Standards and Technology (NIST) developed and/or certified,
NIST works closely with the NSA in the development of its ciphers.
Given the NSA's systematic efforts to weaken or build backdoors into international encryption standards, there is every reason to question the integrity of NIST algorithms.
NIST has been quick to deny any wrongdoing ("NIST would not deliberately weaken a cryptographic standard").
It has also has invited public participation in a number of upcoming proposed encryption-related standards in a move designed to bolster public confidence.
The New York Times, however, has accused the NSA of introducing undetectable backdoors, or subverting the public development process to weaken the algorithms, thus circumventing NIST-approved encryption standards.
News that a NIST-certified cryptographic standard - the Dual Elliptic Curve algorithm (Dual_EC_DRGB) had been deliberately weakened not just once, but twice, by the NSA destroyed pretty much any existing trust.
That there might be a deliberate backdoor in Dual_EC_DRGB had already been noticed before.
In 2006 researchers at the Eindhoven University of Technology in the Netherlands noted that an attack against it was easy enough to launch on 'an ordinary PC.'
Microsoft engineers also flagged up a suspected backdoor in the algorithm.
Despite these concerns, where NIST leads, industry follows.
...all include the algorithm in their products' cryptographic libraries.
This is in large part because compliance with NIST standards is a prerequisite to obtaining US government contracts.
NIST-certified cryptographic standards are pretty much ubiquitous worldwide throughout all areas of industry and business that rely on privacy (including the VPN industry).
This is all rather chilling.
Perhaps because so much relies on these standards, cryptography experts have been unwilling to face up to the problem.
Perfect Forward Secrecy
One of the revelations in the information provided by Edward Snowden is that,
That these certificates can be "singled out" strongly suggests that 1024-bit RSA encryption (commonly used to protect the certificate keys) is weaker than previously thought.
The NSA and GCHQ could therefore decrypt it much more quickly than expected.
In addition to this, the SHA-1 algorithm widely used to authenticate SSL/TLS connections is fundamentally broken. In both cases, the industry is scrambling fix the weaknesses as fast as it can.
It is doing this by moving onto RSA-2048+, Diffie-Hellman, or Elliptic Curve Diffie-Hellman (ECDH) key exchanges and SHA-2+ hash authentication.
What these issues (and the 2014 Heartbleed Bug fiasco) clearly highlight is the importance of using perfect forward secrecy (PFS) for all SSL/TLS connections.
This is a system whereby a new and unique (with no additional keys derived from it) private encryption key is generated for each session. For this reason, it is also known as an ephemeral key exchange.
Using PFS, if one SSL key is compromised, this does not matter very much because new keys are generated for each connection.
They are also often refreshed during connections. To meaningfully access communications these new keys would also need to be compromised. This makes the task so arduous as to be effectively impossible.
Unfortunately, it is common practice (because it's easy) for companies to use just one private encryption key.
If this key is compromised, then the attacker can access all communications encrypted with it.
OpenVPN and PFS
The most widely used VPN protocol is OpenVPN. It is considered very secure.
One of the reasons for this is because it allows the use of ephemeral keys. Sadly this is not implemented by many VPN providers. Without perfect forward secrecy, OpenVPN connections are not considered secure.
It is also worth mentioning here that the HMAC SHA-1 hashes routinely used to authenticate OpenVPN connections are not a weakness. This is because HMAC SHA-1 is much less vulnerable to collision attacks than standard SHA-1 hashes.
Mathematical proof of this is available in this paper.
The Takeaway - So, is Encryption Secure?
To underestimate the NSA's ambition or ability to compromise all encryption is a mistake.
However, encryption remains the best defense we have against it (and others like it).
To the best of anyone's knowledge, strong ciphers such as AES (despite misgivings about its NIST certification) and OpenVPN (with perfect forward secrecy) remain secure.
As Bruce Schneier, encryption specialist, fellow at Harvard's Berkman Center for Internet and Society, and privacy advocate famously stated,
Remember too that the NSA is not the only potential adversary.
However, most criminals and even governments have nowhere near the NSA's ability to circumvent encryption.
The Importance of End-to-end Encryption
End-to-end (e2e) encryption means that you encrypt data on your own device.
Only you hold the encryption keys (unless you share them). Without these keys, an adversary will find it extremely difficult to decrypt your data.
Many services and products do not use e2e encryption.
Instead they encrypt your data and hold the keys for you. This can be very convenient, as it allows for easy recovery of lost passwords, syncing across devices, and so forth. It does mean, however, that these third parties could be compelled to hand over your encryption keys.
A case in point is Microsoft. It encrypts all emails and files held in OneDrive (formerly SkyDrive), but it also holds the encryption keys. In 2013 it used these to unlock the emails and files of its 250 million worldwide users for inspection by the NSA.
Strongly avoid services that encrypt your data on their servers, rather than you encrypting your own data on your own machine.
HTTPS
Although strong encryption has recently become trendy, websites have been using strong end-to-end encryption for the last 20 years.
After all, if websites were not secure, then online shopping or banking wouldn't be possible.
The encryption protocol used for this is HTTPS, which stands for HTTP Secure (or HTTP over SSL/TLS). It is used for websites that need to secure users' communications and is the backbone of internet security.
When you visit a non-secure HTTP website, data is transferred unencrypted.
This means anyone watching can see everything you do while visiting that site. This includes your transaction details when making payments. It is even possible to alter the data transferred between you and the web server.
With HTTPS, a cryptographic key exchange occurs when you first connect to the website.
All subsequent actions on the website are encrypted, and thus hidden from prying eyes. Anyone watching can see that you have visited a certain website, but cannot see which individual pages you read, or any data transferred.
For example, the BestVPN.com website is secured using HTTPS.
Unless you are using a VPN while reading this web page, your ISP can see that you have visited www.bestvpn.com, but cannot see that you are reading this particular article.
HTTPS uses end-to-end encryption.
It is easy to tell if you visit a website secured by HTTPS - just look for a locked padlock icon to the left of the main URL/search bar.
There are issues relating to HTTPS, but in general it is secure. If it wasn't, none of the billions of financial transactions and transfers of personal data that happen every day on the internet would be possible.
The internet itself (and possibly the world economy!) would collapse overnight.
For a detailed discussion on HTTPS, please see here.
Metadata
An important limitation to encryption is that it does not necessarily protect users from the collection of metadata.
Even if the contents of emails, voice conversations, or web browsing sessions cannot be readily listened in on, knowing when, where, from whom, to whom, and how regularly such communication takes place can tell an adversary a great deal.
This is a powerful tool in the wrong hands.
For example, even if you use a securely encrypted messaging service such as WhatsApp, Facebook will still be able to tell,
...and more.
With such information, it would be easy to discover that you were having an affair, for example.
Although the NSA does target individual communications, its primary concern is the collection of metadata.
As NSA General Counsel Stewart Baker has openly acknowledged,
Technologies such as VPNs and Tor can make the collection of metadata very difficult.
For example, an ISP cannot collect metadata relating to the browsing history of customers who use a VPN to hide their online activities.
Note, though, that many VPN providers themselves log some metadata. This should be a consideration when choosing a service to protect your privacy.
Please also note that mobile apps typically bypass any VPN that is running on your device, and connect directly to their publishers' servers.
Using a VPN, for example, will not prevent WhatsApp sending metadata to Facebook.
Identify Your Threat Model
When considering how to protect your privacy and stay secure on the internet, carefully consider who or what worries you most.
Defending yourself against everything is almost impossible. And any attempt to do so will likely seriously degrade the usability (and your enjoyment) of the internet.
Identifying to yourself that being caught downloading an illicit copy of Game of Thrones is a bigger worry than being targeted by a crack NSA TAO team for personalized surveillance is a good start. It will leave you less stressed, with a more useable internet and with more effective defenses against the threats that really matter to you.
Of course, if your name is Edward Snowden, then TAO teams will be part of your threat model…
I will discuss steps you should take to help identify your threat model in an upcoming article on BestVPN.com.
In the meantime, this article does a good job of introducing the basics.
Use FOSS Software
The terrifying scale of the NSA's attack on public cryptography, and its deliberate weakening of common international encryption standards, has demonstrated that no proprietary software can be trusted.
Even software specifically designed with security in mind.
The NSA has co-opted or coerced hundreds of technology companies into building backdoors into their programs, or otherwise weakening security in order to allow it access.
US and UK companies are particularly suspect, although the reports make it clear that companies across the world have acceded to NSA demands.
The problem with proprietary software is that the NSA can fairly easily approach and convince the sole developers and owners to play ball. In addition to this, their source code is kept secret.
This makes it easy to add to or modify the code in dodgy ways without anyone noticing.
The best answer to this problem is to use free open source software (FOSS).
Often jointly developed by disparate and otherwise unconnected individuals, the source code is available to everyone to examine and peer-review. This minimizes the chances that someone has tampered with it.
Ideally, this code should also be compatible with other implementations, in orderto minimize the possibility of a backdoor being built in.
It is, of course, possible that NSA agents have infiltrated open source development groups and introduced malicious code without anyone's knowledge. In addition, the sheer amount of code that many projects involve means that it is often impossible to fully peer-review all of it.
Despite these potential pitfalls, FOSS remains the most reliable and least likely to be tampered with software available. If you truly care about privacy you should try to use it exclusively (up to and including using FOSS operating systems such as Linux).
Steps You Can Take to Improve Your Privacy
With the proviso that nothing is perfect, and if "they" really want to get you "they" probably can, there are steps you can take to improve your privacy.
|