Encriptación

El término encriptación (o cifrado) abarca varios procedimientos, métodos y enfoques para proteger los datos confidenciales del acceso de terceros y realizar comunicaciones digitales seguras entre dos o más usuarios. La idea básica del cifrado es que los datos se convierten a un formato ilegible utilizando una clave antes de que se produzca un intercambio de información entre el remitente y el destinatario, o se almacenen los datos. El formato convertido se denomina texto cifrado y el formato legible se denomina texto sin formato. Sólo aquellos que conocen la clave (código) correcta para el algoritmo de cifrado tienen acceso al texto sin formato y pueden codificarlo en su forma original. Por lo tanto, el código debe mantenerse secreto o distribuirse de manera especial para que los datos puedan transmitirse o almacenarse de forma segura. El cifrado forma parte de la criptografía en lo que se refiere a la implementación técnica y a la seguridad de los diferentes métodos de cifrado.

Información general

El cifrado se utiliza en Internet, en el correo electrónico, en la programación y en las infraestructuras a diferentes niveles. En el contexto de la industria 4.0 y la economía digital, la protección de las infraestructuras de tecnología de la información, la transmisión de datos y la privacidad es un requisito previo importante para el cambio digital. Los métodos de cifrado se pueden encontrar en casi todas partes en la comunicación digital, incluida la recuperación de correos electrónicos, cuando se introduce una contraseña o se carga una web. Se aplica en diferentes lugares:

  • Transferencia de datos, que se denomina datos en tránsito. Ejemplos: encriptación de extremo a extremo en servicios de mensajería instantánea o arquitecturas cliente-servidor.
  • En el almacenamiento de datos, que también se describe como datos en reposo. Ejemplos: Proveedores de servicios de Internet o cloud computing.

La encriptación oculta el contenido del mensaje a través de un proceso en el que traduce plain text a texto encriptado y haciéndolo ilegible para personas, clientes o infraestructuras no autorizadas. Esto se hace utilizando algoritmos de cifrado, cuyo resultado es texto cifrado. Un algoritmo de encriptación es básicamente una función matemática que contiene datos de entrada junto con una clave. Si la función se calcula con la clave correcta, se generan datos cifrados como formato de salida.

Si el mensaje debe ser decodificado, debe ser devuelto a su forma original con una llave. Sólo los transmisores y/o receptores autorizados tienen conocimiento de cómo se puede descifrar el mensaje y, por lo tanto, su contenido. En principio, cualquier clave podría ser descifrada, pero eso requeriría un alto grado de potencia de cálculo y conocimientos detallados sobre criptografía.

Cómo funciona el cifrado

Dependiendo del proceso de encriptación, existen numerosos algoritmos, claves y modelos para la verificación de transmisores y receptores. Los métodos de encriptación incluyen no sólo uno o más algoritmos, sino también principios clave de distribución y verificación de la autenticidad e integridad de los datos y comunicación de los participantes.

Los métodos pueden distinguirse entre sí por el tipo de distribución de claves:

  • Encriptación simétrica / encriptación de clave privada: Para el cifrado y descifrado se utiliza la misma clave, que debe intercambiarse de forma segura entre el emisor y el receptor. Los archivos, directorios y unidades suelen estar protegidos con este método. Un ejemplo es el estándar internacional AES, cuya longitud de clave puede ser de hasta 256 bits. AES se utiliza en redes WLAN, telefonía IP o en PCs para proteger datos sensibles del acceso de terceros. Los datos se descomponen en bloques y se cifran como bloque cifrado o las cadenas se codifican secuencialmente como flujo cifrado.[1]
  • Encriptación asimétrica / encriptación de clave pública: Se utilizan dos claves que están enlazadas matemáticamente entre sí y forman un par de claves. La clave pública se puede compartir con cualquier persona, pero la clave privada debe permanecer confidencial. Sólo una de las dos claves se utiliza para el descifrado, la otra es responsable del cifrado. El código privado descifra el texto secreto y lo transmite a un texto legible. El código público se utiliza para encriptar y ocultar el contenido. La forma en que se distribuyen específicamente los códigos o claves depende de diferentes factores, como el caso de la aplicación y la infraestructura de IT. El ejemplo más conocido de este método de cifrado es el criptosistema RSA, que puede cifrar datos y también comprobar firmas digitales. RSA se utiliza en banca, servicios telefónicos, y en varios protocolos de transmisión y red como Ipsec, SSL / TLS o SSH. El RSA se considera más seguro en comparación con los métodos simétricos, pero también es más complejo y significativamente más lento en el procesamiento asistido por ordenador.[2]
  • Encriptación híbrida: La mayoría de los métodos modernos de encriptación utilizan una combinación de estos dos métodos. Los datos se cifran simétricamente con una clave de sesión antes de que esta clave se conecte asimétricamente a una clave pública destinada al receptor. Debido a que el receptor no conoce la clave original directamente, pero puede descifrar el texto cifrado con la segunda clave, este modelo utiliza las ventajas de ambos métodos. Los datos se pueden encriptar rápidamente y el problema de distribución se resuelve con un par de claves asimétricas.

Otros objetivos de seguridad

El cifrado puede proteger ciertos tipos de datos y contenido del acceso de terceros, pero no se puede determinar mediante el cifrado si un mensaje o el remitente es auténtico. Por lo tanto, algunos métodos de encriptación cumplen objetivos adicionales que resultan de un problema de distribución de claves.[3]

  • Integridad: Se puede verificar el origen de un mensaje.
  • Autenticación: Se puede determinar si un mensaje se ha modificado después de que se haya enviado.
  • No rechazo: El remitente del mensaje no puede negar el envío del mismo más tarde.

Estos objetivos se logran a través del uso de diferentes métodos, enfoques e infraestructuras, incluyendo certificados, firmas digitales e infraestructuras de clave pública. Se supone que deben garantizar que el creador de un mensaje, así como el propio mensaje, no puedan ser falsificados.

Parcialmente, estos métodos se basan en funciones y valores hash complejos que se prueban entre sí. Por ejemplo, una contraseña o un PIN pueden almacenarse como un valor de hash para comparar el valor de hash de la cadena actual con el valor de hash almacenado al introducir la contraseña. De esta manera, se comprueba la exactitud de la contraseña sin que uno de los usuarios de la comunicación pueda ver el texto sin formato.

Relevancia para la programación

El tema de la encriptación no sólo concierne a los programadores y profesionales de IT, sino a cualquiera que utilice los sistemas de IT de alguna manera. Las empresas deben asegurarse de que los datos de sus clientes están encriptados. Los usuarios deben asegurarse de que sus contraseñas se mantienen seguras. Sin embargo, los métodos de encriptación probados sólo proporcionan un cierto grado de protección, ya que ningún sistema de IT está totalmente a salvo de ataques. Cualquier sistema puede ser roto. Depende del rendimiento del ordenador y del conocimiento de los algoritmos de cifrado. En la práctica, se ha demostrado que los sistemas de código abierto parecen proporcionar mejor protección que los sistemas patentados. La razón es que más desarrolladores trabajan en estos sistemas y los someten a pruebas continuas.

La única excepción es la de los ordenadores cuánticos. Los ordenadores cuánticos o quantum representan una amenaza para los procesos asimétricos porque pueden trabajar mucho más rápido. Sin embargo, esto se aplica sólo de forma limitada a los procesos simétricos. La razón es la prueba de que las claves largas pueden ser una protección hasta cierto punto, incluso con la capacidad de cálculo de los ordenadores cuánticos. Cuanto más larga sea la clave, mayor será la potencia de cálculo necesaria para descifrarla. Por último, pero no menos importante, la implementación de un algoritmo de encriptación es de gran importancia. Nadie puede anticipar todas las vulnerabilidades cuando se implementa un sistema.

Referencias

  1. Conceptos básicos de encriptado y criptografía searchsecurity.techtarget.com. Visitado el 16/08/2017
  2. Criptografía Asimétrica searchsecurity.techtarget.com Visitado el 16/08/2017
  3. Encriptación searchsecurity.techtarget.com. Visitado el on 16/08/2017