Monday, April 1, 2024

Observaciones y recomendaciones para implementar el criptosistema.

 

Implementar un criptosistema conlleva ciertas consideraciones clave:




1. Elección del algoritmo: Seleccionar algoritmos de criptografía bien establecidos y probados, buscando asesoramiento de expertos en seguridad para elegir la mejor opción. 

2.  Tamaño de las claves: Asegúrate de usar longitudes de clave suficientes para garantizar la seguridad. Las longitudes de clave más cortas pueden ser vulnerables a ataques.

3. Gestión de claves: Maneja cuidadosamente las claves. Protégelas, almacénalas de manera segura y gestiona su ciclo de vida. Considera el uso de hardware especializado o soluciones de gestión de claves.

4. Seguridad de los datos en tránsito y en reposo: Asegúrate de encriptar tanto los datos en tránsito (comunicaciones) como los datos en reposo (almacenados en dispositivos o servidores).

5. Protección contra ataques: Considera posibles ataques, como ataques de fuerza bruta, y aplica medidas de seguridad para mitigarlos, como el bloqueo después de múltiples intentos fallidos.

6. Actualizaciones y parches: Mantén actualizados tus algoritmos y software relacionado con la criptografía. Las actualizaciones pueden corregir vulnerabilidades conocidas.

7. Verificación y auditoría: Realiza pruebas de seguridad y auditorías periódicas para asegurarte de que tu sistema de criptografía sigue siendo seguro ante las últimas amenazas.

8. Cumplimiento normativo: Asegúrate de cumplir con las regulaciones y estándares de seguridad aplicables a tu industria, como GDPR, HIPAA, entre otros.

La implementación de un criptosistema requiere un enfoque holístico y una comprensión profunda de los principios de seguridad, así como la capacidad de adaptarse a medidas de seguridad en constante evolución. Es recomendable buscar asesoramiento de expertos en seguridad en caso de dudas o para implementaciones críticas.

6.    

Caso práctico de aplicación (qué algoritmo, dónde y cómo usarlo):

Supongamos que Ana quiere enviar a David un mensaje secreto que solo él pueda leer.

Primero, David envía a Ana una caja abierta, pero con cerradura, cerradura que se bloqueará una vez se cierre la caja, y que solo podrá abrirse con una llave, que solo David tiene. Ana recibe la caja, escribe el mensaje, lo pone en la caja y la cierra con su cerradura (ahora Ana ya no podrá abrir la caja para acceder de nuevo al mensaje). Finalmente, Ana envía la caja a David y este la abre con su llave. En este ejemplo, la caja con la cerradura es la «clave pública» de David, y la llave de la cerradura es su «clave privada». 



"Caja" y "cerradura" son variables, dos datos (en el caso más sencillo, dos números) necesarios ambos para resolver un determinado problema matemático de manera inmediata. Es cierto que teniendo solo la "cerradura" (alguien que interceptase la caja antes de que llegue a David), un cerrajero experto podría abrir la caja sin necesidad de la "llave", pero, en la práctica, un sistema de cifrado competente exhibe una complejidad tal que su resolución, desconociendo la clave privada del destinatario, exige de una potencia computacional o de un coste en tiempo desproporcionadamente mayor al valor esperado del robo de la información (la computación cuántica, por ejemplo, reduciría en mucho dicho coste, volviendo obsoletos no pocos sistemas criptográficos que actualmente pueden considerarse efectivamente invulnerables).



REFERENCIA

Wikipedia -La Enciclopedia Libre, 5 de noviembre 2023,  Criptografía asimétrica, Ejemplo.



Ventajas, desventajas y diferencias con el criptosistema simétrico


 

Ventajas de cifrado simétrico

La carga computacional asociada con el cifrado simétrico es menor , lo que resulta en un rendimiento más eficiente. Esto es relevante especialmente en sistemas con recursos limitados.

Es eficaz para cifrar grandes cantidades de datos sin comprometer significativamente el rendimiento del sistema.  

Los algoritmos simétricos son más fáciles de implementar , por lo que su integración en sistemas y aplicaciones es más sencilla.

El cifrado simétrico es generalmente más rápido que el cifrado asimétrico , ya que implica operaciones matemáticas menos complejas.

El cifrado simétrico puede ofrecer un nivel de seguridad comparable al cifrado asimétrico  cuando se utilizan claves suficientemente largas

Las claves simétricas son más cortas que las claves asimétricas , factor que facilita su generación, gestión y almacenamiento.


Desventajas

La principal desventaja del cifrado simétrico es la necesidad de compartir y distribuir la clave de manera segura entre las partes autorizadas . La gestión de claves puede ser un desafío, especialmente en entornos distribuidos.

La movilidad de las claves (cambiar o actualizar las claves)  puede ser más difícil de manejar en comparación con el cifrado asimétrico .

Si la clave simétrica se ve comprometida en algún momento,  todo el historial de comunicación cifrada con esa clave también está en riesgo . No ofrece Perfect Forward Secrecy (PFS) o Secreto Perfecto Hacia Adelante, que es la capacidad de garantizar que la información pasada permanezca segura incluso si las claves actuales se ven comprometidas.

A diferencia del cifrado asimétrico,  no proporciona de manera inherente un mecanismo de autenticación directa . A menudo, se utiliza junto con funciones de hash para abordar este aspecto.

 

Ventajas cifrado asimétrico

La separación de claves brinda un nivel más alto de seguridad.

Facilita la distribución segura de claves en entornos en línea.

Es eficaz para sistemas con un gran número de usuarios, ya que cada entidad puede tener su par de claves.

Garantiza la confidencialidad de la información al utilizar la clave privada para descifrar mensajes.

Permite la verificación de la autenticidad de los participantes en una comunicación.

Desventajas

Puede ser más lento que otros métodos criptográficos.

En situaciones de cifrado masivo, como el cifrado de grandes volúmenes de datos, el cifrado asimétrico podría ser menos eficiente que el simétrico.

Las operaciones matemáticas complejas asociadas con el cifrado asimétrico pueden requerir más recursos computacionales.




REFERENCIA

CEUPE MAGAZINE, cifrado asimétrico, blog digital,  

https://www.ceupe.com/blog/cifrado-asimetrico.html




¿Cómo funciona y cuales son sus algoritmos representativos?

 


En el momento han aparecido multitud de algoritmos asimétricos, la mayoría de los cuales son inseguros; otros son poco prácticos, bien sea porque el criptograma es considerablemente mayor que el mensaje original, bien sea porque la longitud de la clave es enorme. Por lo general se basan en plantear al atacante problemas matemáticos difíciles de resolver. En la práctica, muy pocos algoritmos son realmente útiles. El más popular por su sencillez es RSA, que ha sobrevivido a multitud de ataques, si bien necesita una longitud de clave considerable. Otros algoritmos son los de ElGamal y Rabin. Los algoritmos asimétricos utilizan generalmente longitudes de clave mucho mayores que los simétricos. Por ejemplo, mientras que para algoritmos simétricos se considera segura una clave de 128 bits, para algoritmos asimétricos se recomiendan claves de al menos 1024 bits. Además, la complejidad de cálculo que comportan estos últimos los hace considerablemente más lentos que los algoritmos de cifrado simétricos. En la práctica los métodos asimétricos se emplean únicamente para codificar la clave de sesión (simétrica) de cada mensaje o transacción particular. Los algoritmos asimétricos poseen dos claves diferentes en lugar de una, Kp y KP, denominadas clave privada y clave pública. Una de ellas se emplea para codificar, mientras que la otra se usa para decodificar. Dependiendo de la aplicación que le demos al algoritmo, la clave pública será la de cifrado o viceversa. Para que estos criptosistemas sean seguros también ha de cumplirse que a partir de una de las claves resulta extremadamente difícil calcular la otra. 

Algunos de los métodos de cifrados asimétricos más famosos son:

  • RSA (Rivest, Shamir y Adleman):  Utiliza claves públicas y privadas para cifrar y descifrar. Su seguridad se basa en la dificultad de factorizar grandes números primos.
  • PGP (Privacidad Bastante Buena):  Utiliza un sistema híbrido que combina cifrado simétrico y asimétrico. Se utiliza comúnmente para asegurar correos electrónicos y archivos.
  • Cifrado ElGamal : Se basa en la dificultad del problema del logaritmo discreto. Usa una clave pública para cifrar y una clave privada para descifrar.
  • Protocolo Criptográfico Diffie-Hellman:  Aunque es más común conocido como un protocolo de intercambio de claves, también puede considerarse un método de cifrado asimétrico. Permite a las dos partes acordar de forma segura una clave secreta compartida.
  • DSA (Algoritmo de Firma digital):  Diseñado para firmar digitalmente información. Utilice un par de claves para crear y verificar firmas digitales.
  • ECC (Criptografía de Curva Elíptica):  Emplea propiedades matemáticas de curvas elípticas para cifrar y firmar digitalmente. Ofrece seguridad con claves más cortas que otros métodos.
  • Criptografía Basada en Retículos:  Se basa en problemas matemáticos difíciles asociados con retículos. Es considerado resistente a ataques cuánticos, lo que lo hace atractivo para el futuro de la criptografía.

REFERENCIA

 


¿Qué es el criptosistema de clave publica?

 

Asimétricos o de clave pública: emplea 2 claves (Kp) clave privada y Kp clave pública, estas 2 claves se mantienen unidas mediante una especie de llavero. Esta es utilizada para proteger archivos, carpetas y unidades completas ante acceso no autorizado. Cualquier persona que tenga clave pública puede verificar firmas digitales, autenticar a los participantes y enviar datos cifrados al propietario de la clave privada para poder descifrar datos, generar firmas digitales o autenticar la identidad del usuario. La criptografía asimétrica permite a cualquier persona acceder a una clave pública pero descifra pero datos los datos únicamente mediante la clave privada, por lo que se intercambian de forma segura. El cifrado asimétrico funciona de la siguiente manera: el destinatario genera un par de claves y comunica la clave pública a la otra parte, guardándose la clave privada para sí. El remitente codifica el mensaje con la clave pública y lo envía al destinatario como “texto secreto”, desde el momento del cifrado el destinatario solo podrá descifrar el mensaje con su clave privada. Las dos claves son completamente independientes una de otra: incluso si un atacante conoce la clave pública, no le serviría para averiguar la clave privada.




Para garantizarlo, la  clave pública emplea números primos bien definidos  que se multiplican y dan un resultado concreto. Por ejemplo, se utiliza un cálculo como el siguiente: 23 x 199 = 4577

La clave privada emplea exclusivamente el resultado de este cálculo (en el ejemplo, el número 4577). Resulta casi imposible averiguar los números anteriores solo con este valor, porque  la combinatoria es muy compleja . Hasta la fecha, no existen métodos o algoritmos matemáticos que faciliten el cálculo anterior.

¿Dónde se utiliza cifrado asimétrico o de clave pública? se utiliza en el tráfico de correo electrónico como en el método de cifrado estándar S/MIME en las firmas digitales y en protocolos criptográficos como SSL/TLS, SSH y HTTPS.


RFERENCIA:

31 de Mayo 2022, Cifrado Asimétrico, documento Digital Guide,https://www.ionos.es/digitalguide/servidores/seguridad/cifrado-asimetrico/#:~:text=El%20cifrado%20asim%C3%A9trico%2C%20tambi%C3%A9n%20conocido,cifrar%20y% 20descifrar%20los%20datos .


Observaciones y recomendaciones para implementar el criptosistema.

  Implementar un criptosistema conlleva ciertas consideraciones clave: 1.  Elección del algoritmo:  Seleccionar algoritmos de criptografía b...