What Is Symmetric Encryption?
What Is Symmetric Encryption?
Organizations need a better way to monitor their keys.
Join the DZone community and get the full member experience.Join For Free
Symmetric encryption is a method of cryptography where a single key is responsible for encrypting and decrypting data. The involved parties share that key, password, or passphrase, and they can use it to decrypt or encrypt any messages they want. According to the Open Web Application Security Project (OWASP), some of the most common algorithms used for symmetric cryptography include the Data Encryption Standard (DES), which uses 56-bit keys, Triple DES, which applies the DES algorithm three times with different keys; and the Advanced Encryption Standard (AES), an algorithm which the United States National Institute of Standards and Technology recommends new applications use for securely storing and transferring data.
Symmetric key ciphers, or the algorithms used to perform encryption and decryption, appeal to organizations because they are inexpensive despite the level of protection they afford. Indeed, authentication is built into symmetric cryptography in that parties can't decrypt data that's encrypted with one symmetric key using another symmetric key. The IBM Knowledge Center notes that symmetric key ciphers are also smaller in size. This property helps minimize the time delay involved with encrypting and decrypting data.
But symmetric encryption isn't perfect. Keys in this method of cryptography live on forever, which means organizations must invest in logging and auditing of the keys over their lifecycle. It also means that if a symmetric key is lost, organizations can't recall it. Instead, they must encrypt and decrypt data with a different key once they recover their data in an unencrypted form.
Given the business costs associated with symmetric key loss, companies need to take great care in ensuring the involved parties securely exchange their key. One approach is a custodial system by which custodians obtain portions of the key from a hardware security module (HSM), or a physical computing device that manages keys. They then secure those components and mail them to receiving entities, who enter their respective key fragments into the HSM to form the key. Successful entry of all components allows the involved parties to encrypt and decrypt data using the completed key.
Alternatively, a custodian might obtain a symmetric key wrapped with an asymmetric keystore. That custodian then mails that keystore to the receiver, who uploads the keystore into the HSM. The module, in turn, unwraps the keystore, thereby enabling the receiver to encrypt and decrypt messages. Of course, this method has its limits. If a recipient always needs another key to encrypt the symmetric key, things could spiral out of control and lead to a never-ending cycle of keys depending on additional keys.
When all is said and done, organizations need a way to monitor their keys. This process could become resource-intensive, especially if multiple parties need to establish their own secure communications channels with one another using symmetric encryption, or if they will need their own keys per each channel. That's why it's in organizations' best interest to automate their key management.
Opinions expressed by DZone contributors are their own.