En seguridad de la información existen tres pilares fundamentales:
- Confidencialidad
- Integridad
- Disponibilidad
A estos tres términos se le conoce en la industria con las siglas CIA, que inglés representan las palabras Confidentiality, Integrity and Availability.
En el presente artículo nos concentramos en la implementación de la parte de confidencialidad de la información.
Una información considerada confidencial es aquella que solo debe ser conocida por las partes interesadas. Por ejemplo, tu número de seguridad social o cuenta bancaria representan datos confidenciales, por lo tanto, solo revelas esta información a ciertas personas, como por ejemplo, tu empleador.
Si una información considerada confidencial cae en manos de un tercero malintencionado, este hecho podría acarrear consecuencias negativas para el dueño de la información.
Por ejemplo, obteniendo el número de seguridad social de una persona un tercero tiene la posibilidad tomar un préstamo a nombre de esa persona y afectar su crédito.
Si tú contraseña de Facebook es obtenida por cualquier medio, alguien podría divulgar información a través de tu news feed que podría afectar severamente tu reputación.
La manera en que los sistemas protegen la información, tanto en tránsito como reposo, es a través de la utilización de la tecnología de cifrado.
El cifrado de información es el arte de tomar un texto original y transformarlo en un formato ilegible a un tercero que desconozca el algoritmo y la clave secreta.
Por ejemplo, si tomamos el siguiente texto:
“Mañana a las 11:00 PM haremos el allanamiento en busca de la droga que viene en el barco La Victoria”.
Si ciframos el texto anterior el resultado sería el siguiente:
Alguien que quiera conocer el significado real de este texto debe poseer la clave secreta necesaria para descifrar el mensaje.

En seguridad de la información existen dos tipos de algoritmos de cifrado:
- Simétrico
- Asimétrico
Los algoritmos simétricos son aquellos que la llave o clave secreta para encriptar la información es la misma utilizada para desencriptarla. Por lo tanto, el transmisor y el receptor del mensaje deben de conocer a priori la clave secreta antes de transmitir el mensaje.
Ejemplos de algoritmos simétricos:
- AES
- 3DES
- DES
- RC4
Es importante señalar que al momento encriptar la información un factor determinante es el tamaño de la clave secreta. Por ejemplo, el algoritmo AES, uno de los más utilizados en la industria, soporta llaves de 128, 192 y 256 bits.
Mientras más larga es la llave, más difícil es para un atacante adivinar la clave secreta a través de empleo de fuerza bruta.
Un inconveniente que tienen los algoritmos simétricos que es las partes involucradas en la comunicación deben buscar una forma segura de intercambiar la clave secreta antes de enviar la información cifrada.
Si la clave secreta es comprometida al momento de ser intercambiada entre las partes, automáticamente toda la comunicación es insegura. Esta limitante supone un desafío para las partes involucradas, especialmente si están separadas por largas distancias.
Una solución a este problema es el empleo de algoritmos de cifrado asimétricos.
Los algoritmos asimétricos son aquellos que emplean un par de llaves (pública y privada) para encriptar y desencriptar la información.
La llave pública, como el nombre lo indica, es conocida por todo el mundo y es utilizada para encriptar la información. La llave privada, conocida sólo por su dueño, es utilizada para desencriptar la información.
Por ejemplo, Alicia y John se aman pero quieren mantener su affair en secreto (Alicia es casada). Para esto ambos acuerdan que cualquier información enviada entre ellos será cifrada utilizando un algoritmo asimétrico.
Alicia tiene dos llaves: una pública y una privada. John también tiene dos llaves: una pública y una privada. Por lo tanto, en este escenario tenemos un total de cuatros llaves.
Alicia le envía un siguiente mensaje a John con el siguiente texto:
“John, eres el mejor amante del mundo. Eres lo máximo. Mi marido no me sabe a nada después que te conocí.”
Alicia para enviar sus pensamientos cifra el correo utilizando la llave pública de John. Este mensaje sólo podrá ser desencriptado con la llave privada de John.
Cuando Alicia cifra el mensaje con el algoritmo RSA, este transforma el texto original en lo siguiente:

John recibe el mensaje cifrado de Alicia. Utilizando su llave privada desencripta el texto anterior para conocer su contenido.
Luego, John responde el email a Alicia con el siguiente texto:
“Alicia, no dejo de pensar en ti todos los días. Vamos a vernos mañana en el mismo sitio de siempre.”
John cifra el mensaje utilizando la llave pública de Alicia.
El resultado es el siguiente:

Por lo tanto, este mensaje sólo podrá ser desencriptado utilizando la llave privada de Alica.
Los algoritmos de cifrado asimétricos más utilizando son:
- RSA
- ECC
- El Gamal
- DSA
La desventaja de los algoritmos asimétricos es que por su complejidad son lentos encriptando y desencriptando información en comparación con sus pares simétricos.
La función de cifrado requiere una utilización intensiva del CPU en los dispositivos, por lo tanto, al momento de escoger un algoritmo de cifrado es importante tomar en cuenta este detalle.
En la práctica, el protocolo IPSEC utiliza algoritmos asimétricos para transmitir de manera segura el shared secret o clave secreta utilizada por el algoritmo simétrico para cifrar el contenido de los paquetes IP transmitidos entre en cliente y el concentrado VPN.
Los algoritmos asimétricos también son utilizados para otras funciones importantes como la implementación de firmas digitales. Este tema lo abordaremos en otro artículo dedicado únicamente a este tema.