Ir al contenido

Webinar: Regístrese para nuestro próximo seminario web

Regístrate Ahora

Cifrado simétrico frente a asimétrico: ¿Cuál es más seguro?

Los cifrados asimétricos y simétricos son los tipos de cifrado utilizados en criptografía. En el cifrado simétrico, solo interviene una clave, que se utiliza tanto para el cifrado como para el descifrado. La clave debe compartirse entre las partes implicadas que desean cifrar y descifrar datos.

Cifrados asimétricos y simétricos son los tipos de cifrado Se utiliza en criptografía. En el cifrado simétrico, solo interviene una clave, que se usa tanto para cifrar como para descifrar datos. Esta clave debe ser compartida entre las partes involucradas que deseen cifrar y descifrar datos. En cambio, el cifrado asimétrico utiliza dos claves separadas relacionadas matemáticamente. Estas claves se denominan clave privada y clave pública. Generalmente, un certificado está asociado a una clave pública, la cual contiene la información sobre su propietario.

El certificado contiene información como el nombre, el nombre de la organización, los algoritmos utilizados, etc. Aunque el cifrado simétrico y el asimétrico parecen similares, el cifrado simétrico es comparativamente más rápido que el asimétrico; por lo tanto, en términos de rendimiento, el cifrado asimétrico es más lento, razón por la cual el cifrado simétrico se suele utilizar junto con el asimétrico. Analizaremos esto con más detalle en los casos prácticos que se describen a continuación.  

Cifrado simétrico

Como se mencionó anteriormente, el cifrado simétrico utiliza la misma clave para cifrar y descifrar, por lo que el emisor enviaría la clave al receptor para descifrar los datos cifrados. Esta clave debe protegerse y transferirse de forma segura. Si se pierde, los datos no se pueden descifrar, y si se vulnera, se comprometerá el cifrado. 

De este modo, las claves simétricas se transfieren entre las partes mediante cifrado asimétrico, lo que garantiza que permanezcan cifradas. Ahora, se utilizan dos claves diferentes para cifrar y descifrar los datos.  

El cifrado simétrico es comparativamente mucho más rápido que el cifrado asimétrico, razón por la cual todavía se utiliza masivamente hoy en día.  

Cifrado asimétrico

El cifrado asimétrico utiliza dos claves distintas que están matemáticamente relacionadas entre sí. La primera clave se denomina clave privada. La clave privada es la que está fuertemente protegida. A menudo, esta clave permanece en una ubicación segura. HSM o una computadora con aislamiento para garantizar la protección de la clave privada. La clave pública se deriva de la clave privada y puede distribuirse. Un certificado suele crearse con una clave pública que contiene información sobre el propietario de la clave y algunos detalles sobre la clave misma.  

El par de claves se basa en números primos de longitud extendida. Las claves pública y privada se calculan simultáneamente mediante la misma operación matemática: las funciones trampa. La principal característica de las funciones trampa es su simplicidad de cálculo en una dirección; sin embargo, su complejidad en la dirección inversa. Con una clave privada se puede obtener la clave pública, pero no es posible obtener la clave privada a partir de la clave pública.  

Aunque el cifrado asimétrico proporciona mayor protección a las claves, es comparativamente más lento que el cifrado simétrico. Por esta razón, el cifrado asimétrico se utiliza a menudo para intercambiar la clave secreta, lo que permite establecer un cifrado simétrico para una transferencia de datos más rápida y agilizar el cifrado y descifrado de datos. 

Casos de uso

Cifrado simétrico
El cifrado simétrico utiliza una sola clave para cifrar y descifrar, por lo que es ideal para cifrar y descifrar datos locales. Algunos casos de uso del cifrado simétrico son: 

  •  Los datos en reposo: Los datos en reposo son aquellos almacenados en una unidad física y que no se transfieren entre dispositivos. Estos datos pueden almacenarse en discos duros, SSD, unidades flash, etc. Los datos en reposo suelen contener información valiosa para los atacantes, como datos de clientes y empleados, secretos comerciales, propiedad intelectual, etc. Para protegerlos adecuadamente, las organizaciones utilizan cifrado simétrico.
    Una forma eficaz de cifrar todos los datos de una unidad física es cifrar la propia unidad. Esto se denomina cifrado de disco completo, que ofrece menos ventajas que el cifrado parcial o de carpetas. Muchos archivos (como los de Word) crean un archivo temporal al abrirse. Este archivo temporal puede permanecer sin cifrar. Muchas distribuciones de Linux proporcionan cifrado de disco completo durante la instalación del sistema operativo, y Microsoft ofrece el cifrado de unidad BitLocker para Windows. El cifrado de disco completo deja sin cifrar el volumen de arranque para que el sistema operativo pueda iniciarse, pero todos los demás volúmenes, incluido el espacio de intercambio y los archivos temporales, permanecen cifrados.
  • Industria bancaria y de pagos: El sector bancario y de pagos es uno de los más seguros, y existen numerosas normativas para garantizar su seguridad. Sin embargo, también es uno de los sectores con mayor volumen de transacciones, lo que exige rapidez. El cifrado simétrico proporciona un cifrado y descifrado rápidos de grandes volúmenes de datos, incluidas las transacciones. Estos datos suelen contener información de identificación personal (IIP), que debe protegerse para cumplir con la normativa PCI DSS y prevenir el robo de identidad. Asimismo, es necesario garantizar la identidad del usuario y la autenticidad de las transacciones con rapidez. Esta es una de las razones por las que el sector bancario utiliza el cifrado simétrico.

Cifrado asimétrico 
El cifrado asimétrico es más lento que el cifrado simétrico, por lo que se utiliza para pequeñas cantidades de datos, como el intercambio de claves secretas o el suministro de identidades digitales.

A medida que las organizaciones se digitalizan, las firmas digitales se vuelven cruciales para identificar datos auténticos y garantizar la identidad de una persona. Las firmas digitales aseguran que los datos involucrados no han sido modificados y que son auténticos (incluidos archivos PDF, aplicaciones, etc.). El destinatario de los datos firmados utilizará la firma digital para demostrar a un tercero que la persona que la generó fue quien la emitió. Esto se conoce como no repudio, ya que la persona no puede refutar la firma posteriormente.

Los siguientes pasos explican cómo se utiliza una firma digital para intercambiar información entre un remitente y un receptor:

  1. En primer lugar, los datos que se van a transferir se cifran mediante algún algoritmo de cifrado hash, como SHA-256. El cifrado hash es una función unidireccional que genera un valor único para cada entrada única. Los datos originales no se pueden obtener a partir del valor hash. Esto garantiza la integridad de los datos, ya que si estos se modifican, el valor hash correspondiente también cambiará.
  2. El hash se cifra con la clave privada del remitente, lo que crea una firma digital.
  3. Ahora se adjuntará la firma digital y se enviará al remitente.
  4. Después de recibir los datos y la firma digital, la firma se descifra utilizando la clave pública del remitente, que proporciona el valor hash generado en el primer paso.
  5. A continuación, el receptor convierte los datos obtenidos en hash.
  6. Si el hash obtenido en el paso 5 es igual al hash que el receptor obtuvo en el paso 4, se garantiza la integridad de los datos. En cambio, si los hashes no coinciden, los datos han sido modificados.

Las firmas digitales están pensadas para ser utilizadas en correos electrónicos, transferencias de datos, distribución de software y otras aplicaciones, requiriendo integridad de los datos y garantizando la autenticidad del origen de los mismos.

Servicios de cifrado personalizados

Evaluamos, elaboramos estrategias e implementamos soluciones y estrategias de cifrado.

Caso práctico de cifrado asimétrico y simétrico

Los cifrados asimétricos y simétricos se utilizan a menudo en combinación para mantener un equilibrio entre rendimiento, transferencia segura, identificación, etc. Un solo cifrado puede no ser suficiente por sí solo. 

Caso de uso 1: Aplicaciones de mensajería

Muchas aplicaciones de mensajería, como WhatsApp, Telegram y Signal, proporcionan cifrado de extremo a extremo para garantizar la confidencialidad de los usuarios implicados y autenticar a los usuarios para que se comuniquen entre sí de forma segura. 

En el cifrado de extremo a extremo, los mensajes y las llamadas se cifran para que nadie ajeno a los usuarios pueda obtener información en texto plano. Solo se cifran los datos; las cabeceras, los pies de página y la información de enrutamiento de los mensajes permanecen sin cifrar.

Una de las mejores características es que incluso si la clave se ve comprometida de alguna manera desde el dispositivo físico del usuario, esa clave no se puede utilizar para descifrar ningún texto previamente cifrado.

Para lograr esto, se utilizan cifrados simétricos y asimétricos. El cifrado asimétrico se utiliza para iniciar la conversación entre los usuarios, lo que implica el intercambio de claves secretas por cifrado simétrico. Una vez establecida la comunicación y tras el intercambio de una clave secreta, se utiliza el cifrado simétrico durante toda la comunicación.

En primer lugar, al instalar la aplicación en el usuario, se crea el par de claves. La clave pública del usuario se registra y almacena en el servidor de aplicaciones, pero la clave privada permanece en su dispositivo. El usuario que desea iniciar la conversación obtiene la clave pública del receptor del servidor de aplicaciones. Con esta clave pública, el emisor envía un mensaje cifrado al receptor. Este mensaje cifrado contiene parámetros para establecer una sesión simétrica entre las partes involucradas.

El receptor usaría su clave privada para descifrar el mensaje y establecer un cifrado simétrico entre el remitente y el receptor. Una vez establecida la sesión, los clientes intercambian mensajes protegidos con una clave de mensaje mediante AES256 en modo CBC para el cifrado y HMAC-SHA256 para la autenticación. La sesión cifrada se restablecería únicamente al reinstalar la aplicación o al cambiar de dispositivo.  

Caso de uso 2: HTTPS

HTTPS (Protocolo Seguro de Transferencia de Hipertexto) es una versión segura del protocolo HTTP que utiliza el protocolo SSL/TLS para el cifrado y la autenticación. HTTPS está especificado en la RFC 2818 (mayo de 2000) y utiliza el puerto 443 por defecto en lugar del puerto 80 de HTTP. 

El protocolo HTTPS permite a los usuarios de sitios web transmitir datos confidenciales, como números de tarjetas de crédito, información bancaria y credenciales de inicio de sesión, de forma segura a través de internet. Por ello, HTTPS es esencial para la seguridad de actividades en línea como compras, operaciones bancarias y teletrabajo. HTTPS es ahora el protocolo estándar para todos los sitios web, independientemente de si intercambian datos confidenciales con los usuarios. 

Una conexión HTTPS entre un cliente y un servidor utiliza cifrado simétrico y asimétrico. Al igual que en el caso anterior, primero se utiliza el cifrado asimétrico para establecer la comunicación e intercambiar secretos, y luego se utiliza el cifrado simétrico para el resto de la comunicación. La clave utilizada para el cifrado simétrico se denomina clave de sesión. Las claves de sesión se generan aleatoriamente al crear una sesión y se utilizan únicamente para esa sesión en particular. Los pasos que comprende HTTPS son: 

  1. Cuando el cliente intenta conectarse al servidor, este primero envía un certificado TLS. La CA correspondiente verifica el certificado para garantizar su autenticidad y la del servidor involucrado.
  2. El certificado también contiene conjuntos de cifrado y la versión máxima de TLS compatible.
  3. Tras verificar el certificado y configurar los algoritmos y las versiones de TLS al máximo entre el cliente y el servidor, el cliente genera una clave de sesión. Esta clave se cifra con la clave pública del servidor y se envía a este.
  4. El servidor descifra la clave de sesión utilizando su clave privada.
  5. La clave de sesión se utiliza entonces para el cifrado simétrico, y los datos se intercambian entre el servidor y el cliente utilizando dicha clave.
  6. La sesión continúa únicamente con cifrado simétrico.

Conclusión

El cifrado simétrico es, sin duda, una de las técnicas de cifrado más rápidas, pero requiere un intercambio seguro de la clave secreta para ser eficaz. Por ello, se utiliza el cifrado asimétrico para intercambiar la clave del cifrado simétrico. En ambos casos, el cifrado asimétrico se emplea brevemente para intercambiar parámetros y establecer el cifrado simétrico para el resto de la comunicación. Debido a su lentitud y alto consumo de recursos, el cifrado asimétrico se utiliza únicamente para paliar las deficiencias del cifrado simétrico. Así pues, ambos se utilizan conjuntamente para lograr una comunicación segura óptima, mantener la privacidad, garantizar la autenticidad, la integridad de los datos y una autenticación adecuada.