Características y diferencias entre el protocolo SSL y el protocolo SET
SSL (Secure?Sockets? Layer) Protocolo de capa de sockets seguros
Es un protocolo de comunicación seguro lanzado por Netscape en 1995. SSL proporciona una conexión segura entre dos computadoras, cifrando toda la sesión y garantizando una transmisión segura. El protocolo SSL se basa en el confiable protocolo de control de transmisión TCP y no tiene nada que ver con el protocolo de capa superior. Varios protocolos de capa de aplicación (como HTTP, FTP, TELNET, etc.) se pueden transmitir de forma transparente a través del protocolo SSL.
El protocolo SSL se divide en dos capas: protocolo de intercambio SSL y protocolo de registro SSL. La relación entre el protocolo SSL y el protocolo TCP/IP se muestra en la Figura 1:
HTTPS, FTPS, TELNETS, IMAPS, etc.
Protocolo de protocolo de enlace SSL
Protocolo de registro SSL
p>Protocolo de control de transmisión TCP
Protocolo de Internet IP
Figura 1 La relación entre el protocolo SSL y el protocolo TCP/IP
Seguridad proporcionada por el protocolo SSL La conexión tiene las siguientes tres características básicas:
(1) La conexión es confidencial: existe una clave de sesión única para cada conexión y una criptografía simétrica. Se utiliza un sistema (como DES, RC4, etc.) para cifrar los datos;
(2) La conexión es confiable: la transmisión del mensaje utiliza un algoritmo MAC (como MD5, SHA, etc.) para verificación de integridad;
(3) La entidad par se identifica mediante sistemas de criptografía asimétrica (como RSA, DSS, etc.) que se utilizan para la autenticación.
1.2? Protocolo de protocolo de enlace SSL
El protocolo de protocolo de enlace SSL se utiliza para establecer un canal de transmisión seguro entre las partes que se comunican. Implementa específicamente las siguientes funciones: (1) Verificar el servidor en. el lado del cliente. El protocolo SSL utiliza autenticación de identidad basada en clave pública; (2) Verificar el cliente en el lado del servidor (opcional) (3) Negociar entre el cliente y el servidor los algoritmos de cifrado y los algoritmos de compresión admitidos por ambas partes; Los algoritmos de cifrado opcionales incluyen: IDEA, RC4, DES, 3DES, RSA, DSS, Diffie_hellman, Fortezza, MD5, SHA, etc. (4) Generar claves de sesión para algoritmos de cifrado simétrico (5) Establecer una conexión SSL cifrada. El proceso general de protocolo de enlace se muestra en la Figura 2:
Figura 2 Proceso de protocolo de enlace del protocolo SSL
El proceso de protocolo de enlace se divide en 4 etapas:
(1) Inicialización Para una conexión lógica, el cliente primero envía un mensaje ClientHello y el servidor también debe devolver un mensaje ServerHello. Estos dos mensajes se utilizan para negociar las capacidades de seguridad de ambas partes, incluida la versión del protocolo, los parámetros aleatorios, el ID de sesión y el algoritmo de clave de intercambio. , algoritmo de cifrado simétrico, algoritmo de compresión, etc.
(2) El servidor debe enviar el certificado del servidor (incluida la clave pública del servidor, etc.) y la clave de sesión. Si el servidor requiere verificación del cliente, debe enviar un mensaje CertificateRequest. Finalmente, el servidor envía un mensaje ServerHelloDone, indicando que la fase de saludo ha finalizado y el servidor está esperando una respuesta del cliente.
(3) Si el servidor requiere verificación del cliente, el cliente primero envía un mensaje de Certificado, luego genera una clave de sesión, la cifra con la clave pública del servidor y la encapsula en el mensaje ClientKeyExchange. el cliente envía su propio certificado y luego envía una firma digital CertificateVerify para verificar el certificado.
(4) El cliente envía un mensaje ChangeCipherSpec para notificar al servidor que los mensajes futuros se cifrarán utilizando los parámetros de seguridad negociados previamente y, finalmente, envía un mensaje Finalizado cifrado. Después de recibir los dos mensajes anteriores, el servidor también envía su propio mensaje ChangeCipherSpec y su propio mensaje Finalizado. En este punto, el protocolo de enlace se completa y ambas partes pueden comenzar a transmitir datos de la aplicación.
El protocolo de protocolo de enlace SSL establece elementos de información del estado de la sesión apropiados en ambas partes que se comunican, como se muestra en la siguiente tabla:
Descripción del elemento de información del estado de la sesión
Identificación de la conversación selección de servidor Se utiliza para identificar un identificador de conversación activo y reiniciado
Certificado de par El certificado X509 de la entidad par
El algoritmo de compresión de datos utilizado por el método de compresión
El algoritmo de cifrado de datos y el algoritmo MAC utilizados en la descripción de cifrado
Clave de sesión La clave de sesión compartida por el cliente y el servidor
Reiniciable identifica si esta conversación se puede reiniciar Se utiliza para inicializar nuevos indicadores
1.3? Protocolo de registro SSL
Después de que el protocolo de registro SSL recibe los datos de la capa superior, debe segmentarlos, comprimirlos y cifrarlos, y finalmente enviarlos a través de la capa de transporte. En el protocolo SSL, todos los datos transmitidos se encapsulan en registros. El protocolo de registro SSL especifica el formato del encabezado del registro y los datos del registro.
Cada registro SSL contiene la siguiente información: (1) Tipo de contenido: se refiere al protocolo de alto nivel de SSL; (2) Número de versión del protocolo: se refiere al número de versión del protocolo SSL utilizado actualmente; existen versiones 2.0 y 3.0; (3) Longitud: se refiere a la longitud de los datos registrados, la longitud máxima de los datos registrados es 16383 bytes (4) Carga útil de datos: el resultado del procesamiento de los datos utilizando el método de compresión y cifrado; método definido en la etapa de protocolo de enlace SSL; (5) MAC: la MAC se calcula antes de cifrar los datos válidos y colocarlos en el registro SSL para verificar la integridad de los datos. Si se utiliza el algoritmo MD5, la longitud de los datos MAC es de 16 bytes. El protocolo de registro SSL adopta una versión revisada de la estructura HMAC en RFC2104. Se coloca un número de secuencia en el mensaje antes de utilizar la función HASH para resistir diversas formas de ataques de retransmisión. El número de secuencia es un contador incremental de 32 bits.
Protocolo 2SET
2.1 Descripción general del protocolo SET
El protocolo de transacciones electrónicas seguras SET (Secure Electronic Transaction) fue desarrollado en 1996 por MasterCard (Visa) y A Secure Especificación de transacciones electrónicas formulada conjuntamente por Visa (MasterCard), dos importantes compañías internacionales de tarjetas de crédito. Proporciona autenticación entre consumidores, comerciantes y bancos, garantiza la confidencialidad, confiabilidad y no repudio de las transacciones y garantiza la seguridad de las compras en línea utilizando tarjetas de crédito en un entorno de red abierto.
2.2? Modelo de cifrado de datos utilizado en el protocolo SET
El modelo de cifrado de datos utilizado en el protocolo SET se muestra en la Figura 3.
Figura 3 Modelo de cifrado de datos utilizado en el protocolo SET
Este modelo tiene las siguientes características:
(1) La identidad de los participantes de la transacción utiliza certificados digitales para completo, el formato del certificado digital generalmente adopta el estándar internacional X.509;
(2) El no repudio de la transacción se logra mediante firma digital. Dado que la firma digital es generada por la clave privada del remitente, y solo él conoce la clave privada del remitente, el remitente no puede negar los datos de la transacción que ha enviado
(3) Utilice un algoritmo de resumen de mensajes para garantizar; la integridad de los datos;
(4) Dado que el algoritmo de cifrado asimétrico tiene una velocidad de operación lenta, debe usarse junto con el algoritmo de cifrado simétrico. El algoritmo de cifrado simétrico se utiliza para cifrar los datos. y el sobre digital se utiliza para cifrar los datos. Intercambie claves simétricas.
2.3? Proceso de intercambio de datos del protocolo SET
El sistema de compras del protocolo SET consta de cinco partes: titular de la tarjeta, comerciante, pasarela de pago, banco adquirente y banco emisor de la tarjeta. partes El proceso de intercambio de datos entre partes se muestra en la Figura 4.
Figura 4 Proceso de intercambio de datos del protocolo SET
3 Comparación entre el protocolo SSL y el protocolo SET
Las diferencias entre el protocolo SSL y el protocolo SET se reflejan principalmente en la siguientes aspectos:
(1) Interfaz de usuario: el protocolo SSL ha sido integrado por navegadores y servidores WEB, y no es necesario instalar software especial mientras está en el protocolo SET, el cliente debe instalarlo; instale un software especial de billetera electrónica, que se procesa en el servidor comercial y en la red bancaria. También es necesario instalar el software correspondiente.
(2) Velocidad de procesamiento: el protocolo SET es muy complejo y grande, y la velocidad de procesamiento es lenta. Un proceso de transacción SET típico requiere verificar el certificado electrónico 9 veces, verificar la firma digital 6 veces, entregar el certificado 7 veces, realizar 5 firmas, 4 cifrados simétricos y 4 cifrados asimétricos. Todo el proceso de transacción puede tardar entre 1,5 y 2 minutos; El protocolo SSL es mucho más simple y la velocidad de procesamiento es más rápida que el protocolo SET.
(3) Requisitos de autenticación: el protocolo SSL inicial no proporcionaba un mecanismo de autenticación de identidad. Aunque en SSL3.0, la autenticación de identidad entre el navegador y el servidor web se puede lograr mediante firmas digitales y certificados digitales. pero la autenticación multipartita todavía no es posible y en SSL solo se requiere la autenticación del servidor comercial, mientras que la autenticación del cliente es opcional. Por el contrario, el protocolo SET tiene requisitos de autenticación más altos. Todos los miembros que participan en transacciones SET deben solicitar certificados digitales y resuelve los problemas de autenticación multipartita entre clientes y bancos, clientes y comerciantes, y comerciantes y bancos.
(4) Seguridad: La seguridad es el tema más crítico en las transacciones en línea. El protocolo SET utiliza cifrado de clave pública, resúmenes de información y firmas digitales para garantizar la confidencialidad, identificación, integridad y no repudio de la información. El protocolo SET utiliza firmas dobles para garantizar el aislamiento mutuo de la información de cada participante, lo que permite a los comerciantes. solo ven los datos del pedido del titular de la tarjeta, mientras que los bancos solo pueden obtener la información de la tarjeta de crédito del titular de la tarjeta. Aunque el protocolo SSL también utiliza cifrado de clave pública, resumen de información y detección de MAC, que pueden proporcionar confidencialidad, integridad y un cierto grado de autenticación de identidad, carece de un sistema de autenticación completo y no puede proporcionar una función antirepudio completa. Por tanto, SET es mucho más seguro que SSL.
(5) Nivel de protocolo y función: SSL es una especificación técnica de seguridad de la capa de transporte. No tiene las funciones de negocio, coordinación e integración del comercio electrónico. El protocolo SET se encuentra en la capa de aplicación. No solo estandariza todo el proceso de actividad empresarial, sino que también formula estrictos estándares de cifrado y autenticación y tiene funciones comerciales, de coordinación e integración.
Resumen:
Debido a que el protocolo SSL es de bajo costo, rápido y fácil de usar, no requiere modificaciones importantes en el sistema de red existente, por lo que ha sido ampliamente utilizado. . Sin embargo, a medida que se expande la escala del comercio electrónico, el riesgo de fraude en línea también aumenta. En el futuro comercio electrónico, el protocolo SET dominará gradualmente.