Written by: Debra Littlejohn Shinder
Over the past weeks, the news has been full of reports claiming that various government agencies, such as the U.S. National Security Agency (NSA) and U.K. GCHQ have cracked the security protocols that (we thought) have been protecting the confidentiality of our data. Other headlines proclaim that some large tech companies have built backdoors into their software. Even some VPN protocols have apparently been penetrated. The gist of it all is that, in essence, nothing on today’s Internet-connected networks is truly safe.
I’ll leave the politics of all that for other times and places, but what does it mean for businesses that have sensitive information to protect and the IT personnel charged with implementing that protection? What steps can you take to minimize the chances of your data being compromised by your own government (or worse, a foreign one)? And if the government can do it, what about well-funded criminal organizations? Is it time to just give up and concede that privacy of all kinds is a thing of the past?
According to many experts, encryption is still the first and best step you can take to protect the confidentiality of your organization’s data. However, all encryption algorithms are not created equal. Leaked documents indicate that the NSA has cracked many encryption algorithms, but strong cryptographic standards, when properly implemented, can greatly reduce the chances of compromise according to many security experts.
The cloud complicates things. U.S. laws may require cloud providers to provide the government with access to your data – if they have access. Experts recommend that when it comes to cloud storage, you should practice BYOE (Bring Your Own Encryption). This means encrypting your data before you store it or transmit it.
Encrypting data depends on the use of keys. Management of encryption keys is a crucial factor that impacts how well protected encrypted data really is. Regardless of the type of keys used by a particular cryptographic system – symmetric or asymmetric – the way those keys are generated, stored, exchanged and replaced can be the weak link, no matter how strong the encryption algorithms themselves might be. Public key cryptography, which is asymmetric, depends on a key pair, one of which is shared freely while the other is kept secret. Symmetric systems are based on a “shared secret,” with the same key used for both encryption and decryption. In the latter case, how to communicate the key to the recipient of encrypted data can be especially problematic.
Key exchange protocols make it easier to exchange encryption keys safely. Keys can be encapsulated within other keys, and asymmetric and symmetric cryptography can be used together, with session keys or master keys protecting the keys actually used to encrypt the data. Keys are not vulnerable only during exchange; they also must be protected in the key repository in which they’re stored. Another issue is the scope of the key. Best security practices would dictate that the same key not be used for encrypting multiple messages or files, so that if the key does become compromised, it can only be used to decrypt the one file with which it’s associated.
Enterprise organizations generally implement a public key infrastructure (PKI) that’s based on digital certificates issued by a certification authority, which associate a public key with a particular entity (user or computer). The CA must be trustworthy, and can be an internal CA (for example, on a Microsoft Windows Server running the certificate services role or using a UNIX server with OpenSSL) or a public commercial CA such as Verisign, Thawte, Comodo and others.
The private keys that are used with certificates must be kept absolutely secure. If the keys are stored on a computer’s hard disk, in some cases an attacker might be able to use disk utilities to extract them and then decipher them. In addition, when encryption operations are performed on a computer operating system, it can be possible for attackers to obtain the private keys by attacking the OS memory through memory dumps or buffer overflows. Storing the keys on a smart card or other hardware-based device can keep them more secure. This is called hardware-based cryptography, because the cryptographic operations happen on the tamper-resistant (not tamper-proof) device and that means those keys never get cached in the computer’s memory where they could possibly be recovered by an attacker.
Of course, it then becomes important to provide a high level of physical security for the devices that hold these keys. CAs that generate keys and certificates should also be physically secured and their operating systems hardened by removing any unnecessary services and configuring security settings to the highest standards. The CA’s private key is, of course, a critical component, and a hierarchical CA structure is most secure. The root CA should be a dedicated computer that is not connected to the network and is used only to sign or renew certificates for intermediate CAs.
–