Criptografía y Seguridad en Sistemas Informáticos: Algoritmos, Protocolos y Estándares
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 6,98 KB
Criptografía Simétrica y Asimétrica
Algoritmos Simétricos
En la criptografía simétrica, se utiliza la misma clave para cifrar y descifrar la información. Algunos algoritmos comunes incluyen:
- DES (Data Encryption Standard): Un algoritmo de cifrado por bloques que ha sido ampliamente utilizado, pero ahora se considera inseguro debido a su longitud de clave de 56 bits.
- 2DES (Double DES): Una variante de DES que aplica el algoritmo dos veces con dos claves diferentes, aumentando la longitud efectiva de la clave.
- 3DES (Triple DES): Aplica DES tres veces con dos o tres claves diferentes. Hay varias configuraciones:
- K1 = K2, K3 distinta: Reduce la seguridad y es similar a 2DES.
- K1 = K3, K2 distinta: Similar al anterior, no ofrece la seguridad completa de 3DES.
- K2 = K3, K1 distinta: Vulnerable, similar a los casos anteriores.
- K1 = K2 = K3: Equivalente a DES simple, sin las ventajas de 3DES.
- Blowfish: Un algoritmo de cifrado por bloques rápido y seguro, con una longitud de clave variable.
- AES (Advanced Encryption Standard): El estándar actual para el cifrado simétrico, utilizado en una amplia variedad de aplicaciones. Ofrece diferentes longitudes de clave (128, 192 y 256 bits).
Paddings (Rellenos)
Los paddings son necesarios en el cifrado por bloques para asegurar que los datos tengan la longitud correcta. Algunos esquemas de padding comunes son:
- PKCS#5 / PKCS#7: Añade bytes con el valor del número de bytes añadidos (ej. 3 bytes ->
x03x03x03
). - ISO 7816-4: Añade un byte
x80
seguido de ceros (x00
). - ISO 10126: Añade bytes aleatorios y el último byte indica el número de bytes de relleno.
- ANSI X9.23: Añade ceros y el último byte indica el número de bytes de relleno.
- Relleno con espacios:
0x20
.
Criptografía Asimétrica
Algoritmo de Diffie-Hellman
Permite a dos partes establecer una clave secreta compartida sobre un canal inseguro:
- A calcula: A = ga mod(p)
- B calcula: B = gb mod(p)
- A y B intercambian A y B.
- A calcula: s = Ba mod(p)
- B calcula: s = Ab mod(p)
La clave secreta compartida 's' es la misma para A y B.
RSA (Rivest-Shamir-Adleman)
Se basa en la dificultad de factorizar números primos grandes. Se utiliza tanto para cifrado como para firma digital. Para la firma digital:
- Se calcula el hash del documento.
- Se cifra el hash con la clave privada del emisor (firma).
- El receptor descifra la firma con la clave pública del emisor.
- Si el hash descifrado coincide con el hash del documento recibido, la firma es válida.
DSA (Digital Signature Algorithm)
Es un estándar para firmas digitales. Es más rápido que RSA en la generación de firmas, pero más lento en la verificación.
ECDSA (Elliptic Curve Digital Signature Algorithm)
Utiliza criptografía de curva elíptica para generar firmas digitales. Ofrece claves más pequeñas y mayor eficiencia que RSA.
EDDSA (Edwards-curve Digital Signature Algorithm)
Utiliza curvas de Edwards, una forma específica de curvas elípticas, para firmas digitales y verificación de autenticidad.
Firmas Digitales y Electrónicas
- Firma digitalizada: Escaneo de una firma manuscrita.
- Firma electrónica simple: Checkbox o similar, no vinculante legalmente.
- Firma electrónica avanzada (FEA): Vincula la firma con el firmante y el documento.
- Firma digital: Garantiza autenticidad, integridad y no repudio.
Protocolos de Seguridad: SSL y TLS
TLS (Transport Layer Security) es el sucesor de SSL (Secure Sockets Layer). TLS ofrece mejoras en algoritmos, un proceso de handshake más seguro y alertas encriptadas. Los componentes principales de TLS son:
- Compresión.
- Autenticación.
- Cifrado.
El protocolo de Handshake TLS:
CLIENTHELLO
SERVERHELLO
SERVER CERT
SERVER KEY EXCHANGE (opcional)
SERVER HELLO DONE
CLIENT KEY EXCHANGE
Certificados Digitales
Tipos de Certificados
- Validación de Dominio (DV): Verifica la propiedad del dominio.
- Validación de Organización (OV): Verifica la identidad de la organización.
- Validación Extendida (EV): Proporciona el nivel más alto de verificación de identidad.
X.509
Es un estándar para certificados digitales que define su estructura y formato, asegurando la interoperabilidad.
Fingerprint
Técnicas para identificar clientes y servidores, como JA3, JA4 y JARM.
Revocación de Certificados
Mecanismos para invalidar certificados antes de su fecha de expiración:
- CRL (Certificate Revocation List): Lista de certificados revocados.
- OCSP (Online Certificate Status Protocol): Protocolo para verificar el estado de revocación en tiempo real.
- OCSP Stapling: Mejora de OCSP donde el servidor web proporciona la respuesta OCSP firmada.
Normativas y Estándares
Ley 19.799 (Chile)
Regula la validez legal de los documentos y firmas electrónicas. Requiere el uso de FEA asociada a un certificado digital emitido por una Autoridad Certificadora (CA).
PCI DSS (Payment Card Industry Data Security Standard)
Conjunto de normas de seguridad para proteger los datos de tarjetas de crédito. Incluye requisitos como:
- Fortalecer las redes.
- Configurar firewalls.
- Mantener antivirus actualizados.
- Monitorear redes y registros (logs).
- Controlar el acceso a los datos.
El incumplimiento puede resultar en multas y sanciones.
Vulnerabilidades de la Red de Feistel
La red de Feistel es una estructura utilizada en muchos algoritmos de cifrado por bloques. Algunas vulnerabilidades comunes incluyen:
- Ataques de fuerza bruta: Intentar todas las combinaciones posibles de claves si la longitud de la clave es insuficiente.
- Criptoanálisis diferencial y lineal: Explotar la estructura interna de la red para reducir el espacio de claves.
- Ataques de "related-key": Aprovechar las relaciones entre claves en ciertas implementaciones para realizar ataques más eficientes.