Técnicas de cifrado. Clave pública y clave privada

Transcripción

Técnicas de cifrado. Clave pública y clave privada
Técnicas de cifrado. Clave
pública y clave privada:
- Pretty Good Privacy (PGP). GNU Privacy Good (GPG).
- Seguridad a nivel de aplicación: SSH (“Secure Shell”).
- Seguridad en IP (IPSEC).
- Seguridad en Web : SSL ("Secure Socket Layer“).
TLS ("Transport Layer Security”).
Luis Villalta Márquez
Pretty Good Privacy (PGP)
GNU Privacy Good (GPG)
 PGP es una herramienta de cifrado de texto plano a
comprimido. La compresión de los datos ahorra
espacio en disco, tiempos de transmisión y, más
importante aún, fortalece la seguridad criptográfica.
Después de comprimir el texto, PGP crea una clave
de sesión secreta que solo se empleará una vez.
Esta clave es un número aleatorio generado a partir
de los movimientos del ratón y las teclas que se
pulsen durante unos segundos con el propósito
específico de generar esta clave.
 GPG es una herramienta de cifrado y firmas digitales,
que viene a ser un reemplazo del PGP (Pretty Good
Privacy) pero con la principal diferencia que es
software libre licenciado bajo la GPL. GPG utiliza el
estándar del IETF denominado OpenPGP.
Seguridad a nivel de aplicación:
SSH ("Secure Shell")
SSH es un protocolo que permite a los equipos establecer una
conexión segura que hace posible que un cliente (un usuario o
incluso un equipo) abra una sesión interactiva en una máquina
remota (servidor) para enviar comandos o archivos a través de un
canal seguro.
 Los datos que circulan entre el cliente y el servidor están
cifrados y esto garantiza su confidencialidad (nadie más que el
servidor y el cliente pueden leer la información que se envía a
través de la red).
 El cliente y el servidor se autentifican uno a otro para asegurarse
que las dos máquinas que se comunican son, de hecho,
aquellas que las partes creen que son. El hacker ya no puede
adoptar la identidad del cliente o de su servidor (falsificación).
Una conexión SSH se establece en varias fases:
 Primero, se determina la identidad entre el servidor y el cliente
para establecer un canal seguro (capa segura de transporte).
 Segundo, el cliente inicia sesión en el servidor.
Seguridad en IP (IPSEC)
 IPsec (abreviatura de Internet Protocol security) es un
conjunto de protocolos cuya función es asegurar las
comunicaciones sobre el Protocolo de Internet (IP)
autenticando y/o cifrando cada paquete IP en un flujo de
datos. IPsec también incluye protocolos para el
establecimiento de claves de cifrado.
Seguridad en Web
 SSL ("Secure Socket Layer") y TLS ("Transport Layer
Security") son protocolos criptográficos que proporcionan
comunicaciones de seguridad en el Internet. TLS y SSL cifra
los segmentos de conexiones de red por encima de la capa de
transporte, utilizando criptografía asimétrica de clave cambio,
el cifrado simétrico de la vida privada, y los códigos de
autenticación de mensajes para la integridad del mensaje.
Seguridad en Web: SSL
SSL ("Secure Socket Layer").
SSL proporciona autenticación y privacidad de la información entre
extremos sobre Internet mediante el uso de criptografía. Habitualmente,
sólo el servidor es autenticado fes decir, se garantiza su identidad)
mientras que el cliente se mantiene sin autenticar.
Funcionamiento:
 Durante la primera fase, el cliente y el servidor negocian qué algoritmos
criptográficos se van a usar.
 El cliente envía y recibe varias estructuras handshoke:
 Envía un mensaje ClientHello especificando una lista de conjunto de
cifrados, métodos de compresión y la versión del protocolo SSL más
alta permitida. Éste también envía bytes aleatorios que serán usados
más tarde (llamados Challenge de Cliente o Reto). Además puede
Incluir el identificador de la sesión.
 Después, recibe un registro ServerHello, en el que el servidor elige los
parámetros de conexión a partir de las opciones ofertadas con
anterioridad por el cliente.
Seguridad en Web: SSL
 Cuando los parámetros de la conexión son conocidos, cliente
y servidor intercambian certificados (dependiendo de las
claves públicas de cifrado seleccionadas). Estos certificados
son actualmente X.509, pero hay también un borrador
especificando el uso de certificados basados en OpenPGP.
 El servidor puede requerir un certificado al cliente, para que
la conexión sea mutuamente autenticada.
 Cliente y servidor negocian una clave secreta (simétrica)
común llamada moster secret, posiblemente usando el
resultado de un intercambio Diffie-Hellman, o simplemente
cifrando una clave secreta con una clave pública que es
descifrada con la clave privada de cada uno. Todos los datos
de claves restantes son derivados a partir de este master
secret (y los valores aleatorios generados en el cliente y el
servidor!, que son pasados a través una función
pseudoaleatoria cuidadosamente elegida.
Seguridad en Web: TLS
 TLS ("Transport Layer Securitv").
TLS (Transport Layer Securityl es una evolución del
protocolo SSL (Secure Sockets Layer), es un protocolo
mediante el cual se establece una conexión segura por
medio de un canal cifrado entre el cliente y servidor. Así el
intercambio de información se realiza en un entorno
seguro y libre de ataques. Normalmente el servidor es el
único que es autenticado, garantizando así su identidad,
pero el cliente se mantiene sin autenticar, ya que para la
autenticación mutua se necesita una infraestructura de
claves públicas (o PKI) para los clientes. Estos protocolos
permiten prevenir escuchas (eavesdropping), evitar la
falsificación de la Identidad del remitente y mantener la
integridad del mensaje en una aplicación cliente-servidor.

Documentos relacionados