Un protocolo de
seguridad es la parte visible de una aplicación, es el conjunto de
programas y actividades programadas que cumplen con un objetivo
especifico y que usan esquemas de seguridad criptográfica.
El ejemplo más común es SSL (Secure Sockets Layer)
que vemos integrado en el Browser de Netscape y hace su aparición
cuando el candado de la barra de herramientas se cierra y también sí la
dirección de Internet cambia de http a https, otro ejemplo es PGP que
es un protocolo libre ampliamente usado de intercambio de correo
electrónico seguro, uno más es el conocido y muy publicitado SET que es un protocolo que permite dar seguridad en las transacciones por Internet usando tarjeta de crédito, IPsec que proporciona seguridad en la conexión de Internet a un nivel más bajo.
Estos y cualquier
protocolo de seguridad procura resolver algunos de los problemas de la
seguridad como la integridad, la confidencialidad, la autenticación y el
no rechazo, mediante sus diferentes características
Las características
de los protocolos se derivan de las múltiples posibilidades con que se
puede romper un sistema, es decir, robar información, cambiar
información, leer información no autorizada, y todo lo que se considere
no autorizado por los usuarios de una comunicación por red.
Enseguida vemos un escenario donde puede ocurrir algo de esto:
Por ejemplo sobre la
seguridad por Internet se deben de considerar las siguientes tres
partes: seguridad en el browser (Netscape o Explorer), la seguridad en
el Web server (el servidor al cual nos conectamos) y la seguridad de la
conexión.
Un ejemplo de protocolo es SET,
objetivo efectuar transacciones seguras con tarjeta de crédito, usa
certificados digitales, criptografía de clave pública y criptografía
clave privada.
SSL es el protocolo de comunicación segura más conocido y usado actualmente, SSL [81][82] actúa en la capa de comunicación y es como un túnel que protege a toda la información enviada y recibida. SSL es usado en gran cantidad de aplicaciones que requieren proteger la comunicación.
Con SSL se pueden usar diferentes algoritmos para las diferentes aplicaciones, por ejemplo usaDES, TDES, RC2, RC4, MD5, SHA-1, DH y RSA, cuando una comunicación esta bajo SSL la información que es cifrada es:
El URL del documento
requerido El contenido del documento requerido El contenido de cualquier
forma requerida Los “cookies” enviados del browser al servidor Los
“cookies” enviados del servidor al browser El contenido de las cabeceras
de los http
El procedimiento que se lleva acabo para establecer una comunicación segura con SSL es el siguiente:
1) EL cliente (browser) envía un mensaje de saludo al Server “ClientHello”
2) El servidor responde con un mensaje “ServerHello” 3) El servidor envía su certificado 4) El servidor solicita el certificado del cliente
5) El cliente envía
su certificado: si es válido continua la comunicación si no para o sigue
la comunicación sin certificado del cliente 6) El cliente envía un mensaje “ClientKeyExchange” solicitando un intercambio de claves simétricas si es el caso
7) El cliente envía
un mensaje “CertificateVerify” si se ha verificado el certificado del
servidor, en caso de que el cliente este en estado de autenticado
8) Ambos cliente y servidor envían un mensaje “ChangeCipherSpec” que significa el comienzo de la comunicación segura.
9) Al término de
la comunicación ambos envían el mensaje “finished” con lo que termina la
comunicación segura, este mensaje consiste en un intercambio del hash
de toda la conversación, de manera que ambos están seguros que los
mensajes fueron recibidos intactos (íntegros).
La versión más actual de SSL es la v3, existen otro protocolo parecido a SSL solo que es desarrollado por IETF que se denomina TLS (Transport Layer Security
Protocol) y difiere en que usa un conjunto un poco más amplio de
algoritmos criptográficos. Por otra parte existe tambiénSSL plus, un protocolo que extiende las capacidades de SSL y tiene por mayor característica que es interoperable con RSA, DSA/DH y CE (Criptografía Elíptica).

El protocolo SSL
SET
Este protocolo esta especialmente diseñado para asegurar las transacciones por Internet que se pagan
con tarjeta de crédito. Esto es debido a que una gran cantidad de
transacciones de compra por Internet son efectuadas con tarjeta de
crédito, por otro lado SSL deja descubierto alguna información sensible cuando se usa para lo mismo. La principal característica de SET [77][79][80][83], es que cubre estos huecos en la seguridad que deja SSL.
Por ejemplo con SSL solo
protege el número de tarjeta cuando se envía del cliente al
comerciante, sin embargo no hace nada para la validación del número de
tarjeta, para chequear sí el cliente esta autorizado a usar ese número
de tarjeta, para ver la autorización de la transacción del banco del
comerciante etc., Además que el comerciante puede fácilmente guardar el
número de tarjeta del cliente. En fin, todas estas debilidades son
cubiertas por SET, éste permite dar seguridad tanto al cliente, al comerciante como al banco emisor de la tarjeta y al banco del comerciante.
1) El cliente inicializa la compra: consiste en que el cliente usa el browser para seleccionar los productos a comprar y llena la forma de orden correspondiente. SETcomienza cuando el cliente hace clic en “pagar” y se envía un mensaje de iniciar SET.
2) El cliente usando SET envía la orden y la información de pago al comerciante:el
software SET del cliente crea dos mensajes uno conteniendo la
información de la orden de compra, el total de la compra y el número de
orden. El segundo mensaje contiene la información de pago, es decir, el
número de la tarjeta de crédito del cliente y la información del banco
emisor de la tarjeta. El primer mensaje es cifrado usando un sistema
simétrico y es empaquetada en un sobre digital que se cifra usando la
clave pública del comerciante. El segundo mensaje también es cifrado
pero usando la clave pública del banco (esto previene que el comerciante
tenga acceso a los números de tarjetas de los clientes). Finalmente el
cliente firma ambos mensajes.
3) El comerciante pasa la información de pago al banco: el software SET del
comerciante genera un requerimiento de autorización, éste es comprimido
(con un hash) y firmado por el comerciante para probar su identidad al
banco del comerciante, además de ser cifrado con un sistema simétrico y
guardado en un sobre digital que es cifrado con la clave pública del
banco.
4) El banco verifica la validez del requerimiento: el
banco descifra el sobre digital y verifica la identidad del
comerciante, en el caso de aceptarla descifra la información de pago del
cliente y verifica su identidad. En tal caso genera una requerimiento
de autorización lo firma y envía al banco que genero la tarjeta del
cliente.
5) El emisor de la tarjeta autoriza la transacción: el
banco del cliente (emisor de la tarjeta) confirma la identidad del
cliente, descifra la información recibida y verifica la cuenta del
cliente en caso de que no haya problemas, aprueba el requerimiento de
autorización, lo firma y lo regresa al banco del comerciante.
6) El banco del comerciante autoriza la transacción: una
ves recibida la autorización del banco emisor, el banco del comerciante
autoriza la transacción la firma y la envía al servidor del
comerciante.
7) El servidor del comerciante complementa la transacción: el
servidor del comerciante da a conocer que la transacción que la tarjeta
fue aprobada y muestra al cliente la conformidad de pago, y procesa la
orden que pide el cliente terminado la compra cuando se le son enviados
los bienes que compró el cliente.
8) El comerciante captura la transacción: en
la fase final de SET el comerciante envía un mensaje de “captura” a su
banco, esto confirma la compra y genera el cargo a la cuenta del
cliente, así como acreditar el monto a la cuenta del comerciante.
9) El generador de la tarjeta envía el aviso de crédito al cliente: el cargo de SET aparece en estado de cuenta del cliente que se le envía mensualmente.
No hay comentarios:
Publicar un comentario