Not all data encryption is created equal
Protect your vulnerable side
Hands off the network
If an attacker gets physical access to your network you are done. The simple reality is that most networks are like eggs – protected by a relatively strong shell but the inside is soft and gooey. If you manage to compromise any one thing on my network the rest will fall like dominoes.
I am pretty sure that D-Link hasn't released an updated firmware for one of my network-attached storage (NAS) units since it shipped. My Synology is probably out of date and I haven't even turned the Sentinel on in the past week. I know there are Windows updates waiting for it.
I tried to count the number of USB ports on my network and gave up. All the laptops and servers have several. The tablets and smartphones each have one or two. The NASes each have at least two and even the Wi-Fi access point has a pair. The phone, the switches and the ZigBee control unit sport USB ports and I am pretty sure nearly all of them can boot off of those ports.
If you can get a USB stick into any port on my network you can probably get malware onto whichever device you touch. That means you can turn that device into something you control. If it has a radio you can control it directly. If it doesn't, you can have it use a “dial home” command application and control it remotely over the internet.
Another interesting possibility that few know about is that your ISP can push configuration changes and even firmware down to your cable or ADSL modems: remote updates and configuration changes can happen without our consent or knowledge.
Considering all packets flow through the modem, setting up an SSL man-in-the-middle attack would be a trivial matter. In other words, you can't even trust your own modem to be on your side.
Care for your hard drives
At this point, encrypting everything everywhere seems to be the only hope for any semblance of privacy or security. As an end-user, I don't want to have to worry about which encryption algorithms things use. I just want my data to be safe.
When it comes to my NAS, I choose those that can encrypt data at rest.
I use Bitlocker drive encryption on my Windows clients and sometimes Truecrypt. Of course, these can be worked around if you place the system in hibernate or suspend, so care and feeding of encrypted hard drives is recommended.
I do encrypt my Android clients, but there are questions as to how effective that actually is. Until the systems are a little more robust I won't trust any sensitive data to Android's native encryption.
In short, I am not certain I could completely secure my home network and that network has only a couple of dozen devices. Device diversity and number is increasing exponentially. Older devices are not falling off the stack, leaving vulnerable devices still in use, sometimes for more than a decade.
Beware the internet
IPv6 is coming and bringing a whole new security model for our networks. Our devices will have externally routable addresses. One mistake while configuring your home router – or one flaw in that router's firmware – and the internet will be able to crawl into your house without any fancy shenanigans required.
I use HTTPS and other encryption in motion protocols but I am always paranoid about that modem I don't control and those darn man-in-the-middle attacks.
So what to do if I want to store any remotely sensitive data on the internet?
Not all encryption is made equal. There are older algorithms that are cryptographically weak and easy to crack, so avoid them. Instead, AES-256 is a good start – probably the minimum that should be used for encrypting data – and bcrypt is handy for storing passwords, but how can one be sure that their implementation is sound?
I am certainly not going to take the internet provider's word as gospel that “we use good encryption”. Big deal. Before you trust a hosting firm or a cloud provider with your data, look for an independent vetting certification from a standards body to ensure that the implementation of the encryption has been done securely.
Among the better programmes available is the National Institute of Standards Technology FIPS 140-2 standard.
A FIPS 140-2 certificate confirms that the encryption has been implemented in a way that cannot be circumvented. This verifies that the modules used to encrypt information work as intended and are good enough for the provider to host “sensitive but unclassified” government information.
Frankly, that is good enough for me. I can't imagine anything I'd need to store requiring a higher designation than that. It is generally considered to be the gold standard for civilian mobile security.
FIPS 140-2 is the reason that BlackBerry handsets are good enough for government work. Few other phones have met these requirements, the Galaxy S4 and iPhone 4 (OS6) being among the exceptions.
No network that has an exposure to the outside world can ever be completely secure, but while I am busy trying to secure my own network against various potential bogeymen, it is nice to know that at least there are some targets to shoot for when storing my information elsewhere.
If you care about your data, encryption needs to be more than a neat feature. It has to become a way of life. ®