Protocolos
SSL (Secure Sockets Layer)
El SSL es un protocolo seguro de Internet inventado por la empresa Netscape. Sirve para cualquier comunicación vía Internet, y por lo tanto, para las transacciones económicas realizadas en el comercio electrónico.
Sustituye los sockets del sistema operativo. Los sockets son el interficie entre las aplicaciones y el protocolo TCP/IP del sistemaoperativo. De este modo puede servir para cualquier aplicación que utilice TCP/IP: Mail, Webs, FTP, news, etc..., aunque las aplicaciones de los programas actuales solo permites HTTP (Webs).
Para diferenciar las páginas dentro de una zona de servidor SSL, se utiliza la denominación https y se conecta mediante el puerto 443.
El SSL puede realizar las siguientes funciones:
•Fragmentación. En el emisor se fragmentan los bloques mayores que 214 octetos y en el receptor se vuelven a reensamblar.
• Compresión. Se puede aplicar un algoritmo de compresión a los mensajes.
• Autentificación. Permite autentificar el cliente y el servidor mediante certificados. Este proceso se realiza durante la fase de Handshake. Durante la transmisión los mensaje autentifican al emisor mediante unresumen con clave, llamado MAC, en cada mensaje.
• Integridad. En todos los mensajes se protege la integridad mediante el MAC.
• Confidencialidad. Todos los mensajes se envían cifrados.
Se utilizan certificados X509v3 para la transmisión de las claves públicas.
Protocolo SSL
El protocolo SSL se divide en dos capas complementarias:
• Protocolo Handshake. Realiza las siguientes funciones:
Autentificación de usuario y servidor.
Selección de los parámetros de sesión y conexión.
Establece la conexión segura.
• Protocolo de registro (Record Protocol). Se utiliza para el cifrado de los protocolos de las capas más altas: Handshake y aplicaciones.
El protocolo SSL se comporta como una máquina de estados, durante el intercambio de información siempre hay un estado deescritura activo y otro pendiente y un estado de lectura activo y otro pendiente. Para cambiar del estado activo al pendiente se utiliza un subprotocolo del Handshake llamado Change Cypher Spec.
Entre dos entidades cliente y servidor se pueden abrir varias sesiones SSL, aunque no es habitual, y dentro de cada sesión se pueden mantener varias conexiones SSL. Las conexiones se abren o cierran a través delprotocolo de Handshake.
Un estado de sesión incluye los siguientes elementos:
• Identificador de sesión. Un número arbitrario elegido por el servidor para identificar la sesión.
• Certificado. El certificado X509v3 del otro.
• Método de compresión. Algoritmo de compresión.
• Algoritmo de cifrado. Especifica el algoritmo simétrico de cifrado para confidencialidad y la función Hash de resumenpara integridad. También se definen atributos de Hash o cifrado.
• Clave maestra. Un número de 48 bytes secreto entre el servidor y cliente.
• Flag de nuevas conexiones. Indica si desde esta sesión se pueden iniciar nuevas conexiones.
Un estado de conexión incluye los siguientes elementos:
• Números aleatorios del servidor y cliente. Números de inicio de la secuencia elegidos por el cliente yel servidor.
• Número secreto del cliente para MAC. Número secreto utilizado por el cliente para calcular los MAC de sus mensajes.
• Número secreto del servidor para MAC. Número secreto utilizado por el servidor para calcular los MAC de sus mensajes.
• Clave secreta del cliente. Clave secreta utilizada por el cliente para cifrar sus mensajes.
• Clave secreta del servidor. Clave secretautilizada por el servidor para cifrar sus mensajes.
• Vectores iniciales (IV). Si se utiliza cifrado con modo CBC (Cipher Bloack Chainning) se necesita un vector inicial para cada clave.
• Números de secuencia. Cada parte actualiza números de secuencia en cada mensaje, estos son puestos a cero cuando se recibe un mensaje change cipher spec.
SET (Secure Electronic Transaction)
El SET es...
Regístrate para leer el documento completo.