Portada » Informática » Criptografía: Algoritmos, Firmas Digitales y Protocolos de Seguridad
El cifrado simétrico utiliza la misma llave para encriptar y desencriptar.
El cifrado asimétrico utiliza una llave pública para encriptar y una llave privada para desencriptar.
p: número primo, g: generador (públicos). A = ga mod(p), S = Ab mod(p).
El mensaje m se divide en bloques menores que n. Cada bloque mi se cifra con ci = mie mod(n).
mi = cid mod(n).
Los flujos de Base64 son de 24 bits.
Ventajas: Creación de firmas más rápida comparado con RSA, llaves más cortas logrando un nivel de seguridad equivalente, mejor rendimiento.
Desventajas: La verificación de firmas es más lenta que con RSA, se necesita un generador de números aleatorios seguro para no comprometer la seguridad de la firma.
Proceso: Se elige un punto sobre la curva elíptica y se genera un número aleatorio como clave privada. Con ambos, se genera una ecuación y se obtiene un segundo punto que será la clave pública.
Funcionamiento:
SSL (Secure Sockets Layer): Protocolo de seguridad en Internet que autentica sitios web y permite una conexión cifrada entre el navegador y el servidor (HTTPS). SSL 3.0 fue rechazado, dando origen a TLS 1.0.
TLS (Transport Layer Security): Siguiente generación de SSL. Ofrece canales de comunicación encriptados. Es recomendable evitar SSL y versiones de TLS anteriores a 1.1.
Funciones de SSL y TLS:
Handshake: SSL explícito (más pasos), TLS implícito (más rápido).
Mensajes de alerta: SSL comunica errores como warning y fatal. TLS agrega «close notify» para finalizar la sesión y cifra las alertas.
Mensaje de autenticación (MAC): Verifica la integridad y autenticidad de los mensajes. Se genera con una llave secreta y se adjunta al mensaje. SSL usa MD5, TLS usa HMAC.
Archivos de datos que vinculan una clave criptográfica con los detalles de un sitio web. Aseguran una comunicación encriptada y la legitimidad del sitio.
Permite identificar aplicaciones mediante su uso de TLS. JA3 Fingerprint toma huellas digitales de la respuesta del servidor y la forma en que la aplicación se comunica con TLS, creando una huella de la negociación criptográfica.
Evitar Fingerprinting:
JARM Fingerprint: Identifica servidores por sus respuestas TLS mediante el envío de 10 «clienthello».
Intermediarios confiables que establecen una cadena de confianza.
CRL (Certificate Revocation List): Lista de certificados revocados. Las páginas revisan el estado del certificado mediante la publicación, descarga y consulta de la CRL.
Ventaja: Permite verificar sin conexión a la CA.
Desventaja: Necesidad de actualizar la lista, el tamaño de la lista puede ser grande, y existe un periodo de validez (periodo entre la publicación de la CRL y su expiración).
OSCP (Online Certificate Status Protocol): Permite verificar el estado de un certificado X.509 en tiempo real (RFC 6960).
Ventajas: Actualización en vivo.
Desventajas: Requiere conexión activa al servidor OSCP, el cual puede rastrear las solicitudes y saber qué sitios visita el usuario.
OCSP Stapling: Proporciona respuestas OSCP pre-firmadas al establecer una conexión TLS, evitando la consulta directa al servidor OSCP.
Ventajas: Menor latencia, mejora la privacidad, eficiencia y seguridad.
El estándar más común para certificados digitales. Define la estructura y el formato de los certificados, asegurando la interoperabilidad entre sistemas y aplicaciones.
Norma internacional que trata sobre la implementación y mantenimiento de un sistema de gestión de la seguridad de la información.
Conjunto de directrices prácticas para mejorar la ciberseguridad. No son certificables y están diseñados para ser implementados de forma flexible, buscando mitigar las vulnerabilidades más comunes.
Desarrolla varios marcos de ciberseguridad. No es un estándar en sí mismo, sino un conjunto de directrices y buenas prácticas para gestionar riesgos de ciberseguridad. No es certificable y es adoptado por organizaciones en EE. UU.
Extensión de ISO 27001 enfocada en la seguridad en entornos de computación en la nube.
Estándar de seguridad diseñado para proteger la información de tarjetas de pago y prevenir fraudes. Establece requisitos como la protección de datos sensibles, el uso de redes seguras, la gestión de accesos, el monitoreo constante y la implementación de medidas contra vulnerabilidades. Aplicable a cualquier organización que procese, almacene o transmita datos de tarjetas, su objetivo principal es garantizar la confidencialidad, integridad y seguridad de las transacciones electrónicas.
Regula el uso de documentos electrónicos y firmas electrónicas, otorgándoles validez legal y garantizando su reconocimiento en trámites administrativos y judiciales. Establece las bases para asegurar la autenticidad e integridad de los documentos digitales mediante el uso de firmas electrónicas simples y avanzadas, regulando además a las entidades certificadoras que emiten certificados digitales necesarios para la firma electrónica avanzada.
Para que un documento electrónico tenga validez legal, debe cumplir con los requisitos de:
Combina cifrado simétrico y asimétrico para garantizar la seguridad de los mensajes. En el cifrado, el remitente genera una clave de sesión aleatoria para cifrar el mensaje usando un algoritmo simétrico, ya que este método es rápido y eficiente para datos grandes. Luego, cifra la clave de sesión con la clave pública del destinatario utilizando un algoritmo asimétrico como RSA. El mensaje cifrado y la clave de sesión cifrada se envían al destinatario. En el descifrado, el destinatario usa su clave privada para descifrar la clave de sesión y luego usa esa clave de sesión para descifrar el mensaje simétrico. La clave de sesión es esencial porque combina la velocidad del cifrado simétrico con la seguridad del cifrado asimétrico, evitando la necesidad de compartir la clave simétrica directamente.
Vulnerabilidades: Fuerza bruta, criptoanálisis diferencial, dependencia de rondas fuertes.
Los números de Fermat son relevantes para los certificados digitales porque F4 = 65537 se utiliza como exponente público en RSA, optimizando la seguridad y la eficiencia en procesos de cifrado y verificación de firmas. Su simplicidad binaria y sus propiedades matemáticas lo convierten en una elección ideal en la infraestructura de clave pública (PKI).