Una cosa que ha quedado muy clara en la era de Internet es que evitar que personas no autorizadas accedan a los datos almacenados en sistemas informáticos habilitados para la web es extremadamente difícil. Basta con que un trabajador haga clic en el enlace incorrecto de un correo electrónico, o responda de forma imprudente a una solicitud de información aparentemente legítima, para que un intruso obtenga acceso completo a todos sus datos. En los actuales entornos normativos y de relaciones públicas, ese tipo de infracción puede ser catastrófica.
¿Pero qué pasaría si pudiera estar seguro de que, aunque un atacante tuviera acceso a su información, no podría utilizarla? Esa es la función de la encriptación de datos.
Cómo funciona la encriptación
La idea básica de la encriptación es convertir los datos en una forma en la que el significado original quede enmascarado, y sólo aquellos que estén debidamente autorizados puedan descifrarlos. Esto se hace codificando la información mediante funciones matemáticas basadas en un número llamado clave. Para descifrar (o descifrar) la información se utiliza un proceso inverso, con la misma clave o con otra diferente. Si se utiliza la misma clave para el cifrado y el descifrado, se dice que el proceso es simétrico. Si se utilizan claves diferentes, el proceso se define como asimétrico.
Dos de los algoritmos de encriptación más utilizados en la actualidad son AES y RSA. Ambos son muy eficaces y seguros, pero suelen utilizarse de forma diferente. Veamos cómo se comparan.
El cifrado AES
AES (Advanced Encryption Standard) se ha convertido en el algoritmo de cifrado preferido por gobiernos, instituciones financieras y empresas preocupadas por la seguridad en todo el mundo. La Agencia de Seguridad Nacional de Estados Unidos (NSC) lo utiliza para proteger la información «ultra secreta» del país.
El algoritmo AES aplica sucesivamente una serie de transformaciones matemáticas a cada bloque de datos de 128 bits. Como los requisitos computacionales de este método son bajos, AES puede utilizarse con dispositivos informáticos de consumo, como ordenadores portátiles y teléfonos inteligentes, así como para cifrar rápidamente grandes cantidades de datos. Por ejemplo, la serie de mainframes IBM z14 utiliza AES para permitir un cifrado generalizado en el que todos los datos de todo el sistema, ya sea en reposo o en tránsito, están cifrados.
AES es un algoritmo simétrico que utiliza la misma clave de 128, 192 o 256 bits tanto para el cifrado como para el descifrado (la seguridad de un sistema AES aumenta exponencialmente con la longitud de la clave). Incluso con una clave de 128 bits, la tarea de descifrar AES comprobando cada uno de los 2128 valores posibles de la clave (un ataque de «fuerza bruta») es tan intensiva desde el punto de vista computacional que incluso el superordenador más rápido necesitaría, de media, más de 100 billones de años para hacerlo. De hecho, AES nunca ha sido descifrado y, según las tendencias tecnológicas actuales, se espera que siga siendo seguro durante años.
Lea nuestro eBook
IBM i Encryption 101
Este eBook proporciona una introducción al cifrado, incluyendo las mejores prácticas para el cifrado de IBM i.
Encriptación RSA
RSA se llama así por los científicos del MIT (Rivest, Shamir y Adleman) que lo describieron por primera vez en 1977. Se trata de un algoritmo asimétrico que utiliza una clave conocida públicamente para el cifrado, pero que requiere una clave diferente, conocida sólo por el destinatario, para el descifrado. En este sistema, llamado apropiadamente criptografía de clave pública (PKC), la clave pública es el producto de la multiplicación de dos enormes números primos. Sólo ese producto, de 1024, 2048 o 4096 bits de longitud, se hace público. Pero el descifrado RSA requiere conocer los dos factores primos de ese producto. Como no se conoce ningún método para calcular los factores primos de números tan grandes, sólo el creador de la clave pública puede generar también la clave privada necesaria para el descifrado.
RSA es más intensivo desde el punto de vista computacional que AES, y mucho más lento. Normalmente se utiliza para cifrar sólo pequeñas cantidades de datos.
Cómo funcionan juntos AES y RSA
Un problema importante de AES es que, como algoritmo simétrico, requiere que tanto el cifrador como el descifrador utilicen la misma clave. Esto da lugar a un problema crucial de gestión de claves: ¿cómo se puede distribuir esa importantísima clave secreta a quizás cientos de destinatarios en todo el mundo sin correr el enorme riesgo de que se vea comprometida por descuido o deliberadamente en algún punto del camino? La respuesta es combinar los puntos fuertes del cifrado AES y RSA.
En muchos entornos de comunicación modernos, incluido Internet, la mayor parte de los datos que se intercambian se cifran con el veloz algoritmo AES. Para obtener la clave secreta necesaria para descifrar esos datos, los destinatarios autorizados publican una clave pública y conservan una clave privada asociada que sólo ellos conocen. A continuación, el remitente utiliza esa clave pública y RSA para cifrar y transmitir a cada destinatario su propia clave secreta AES, que puede utilizarse para descifrar los datos.
Para obtener más información sobre el cifrado, lea nuestro eBook: IBM i Encryption 101