21
SEGURIDAD EN COMERCIO ELECTRÓNICO Manuel Pons Martorell Departament de Telecomunicacions Escola Universitària Politècnica de Mataró

SEGURIDAD EN COMERCIO ELECTRÓNICO · 1. Introducción al comercio electrónico 1.1. Arquitectura El comercio electrónico abarca todos los conceptos relacionados con procesos de

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SEGURIDAD EN COMERCIO ELECTRÓNICO · 1. Introducción al comercio electrónico 1.1. Arquitectura El comercio electrónico abarca todos los conceptos relacionados con procesos de

SEGURIDAD EN COMERCIOELECTRÓNICO

Manuel Pons MartorellDepartament de Telecomunicacions

Escola Universitària Politècnica de Mataró

Page 2: SEGURIDAD EN COMERCIO ELECTRÓNICO · 1. Introducción al comercio electrónico 1.1. Arquitectura El comercio electrónico abarca todos los conceptos relacionados con procesos de

23/01/00 Escola Universitària Politècnica de Mataró

Departament de Telecomunicacions Página 2

Índice

1. INTRODUCCIÓN AL COMERCIO ELECTRÓNICO................................................................4

1.1. ARQUITECTURA...............................................................................................................................41.2. REQUISITOS DEL COMERCIO ELECTRÓNICO .....................................................................................51.3. DINERO ELECTRÓNICO ....................................................................................................................61.4. SISTEMAS DE CRÉDITO Y DÉBITO .....................................................................................................61.5. TARJETAS DE CRÉDITO O DÉBITO.....................................................................................................61.6. SISTEMAS DE MICROPAGOS .............................................................................................................7

2. SSL (SECURE SOCKETS LAYER) Y TLS (TRANSPORT LAYER SECURITY) ..................9

2.1. CARACTERÍSTICAS DEL SSL............................................................................................................92.2. PROTOCOLO SSL...........................................................................................................................102.3. PROTOCOLO DE REGISTRO EN SSL ................................................................................................112.4. PROTOCOLO HANDSHAKE EN SSL.................................................................................................122.5. PROTOCOLO TLS...........................................................................................................................14

3. SET (SECURE ELECTRONIC TRANSACTION) .....................................................................15

3.1. CARACTERÍSTICAS ........................................................................................................................153.2. AGENTES DEL COMERCIO ELECTRÓNICO DE SET...........................................................................153.3. MÓDULOS DE PROGRAMACIÓN......................................................................................................163.4. FIRMA DUAL..................................................................................................................................163.5. TRANSACCIÓN DE COMPRA............................................................................................................20

Page 3: SEGURIDAD EN COMERCIO ELECTRÓNICO · 1. Introducción al comercio electrónico 1.1. Arquitectura El comercio electrónico abarca todos los conceptos relacionados con procesos de

23/01/00 Escola Universitària Politècnica de Mataró

Departament de Telecomunicacions Página 3

Índice de figuras

Figura 1.6.1: Arquitectura de un sistema de micropagos ........................................... 7

Figura 2.1.1: Situación de SSL en la pila TCP/IP........................................................ 9

Figura 2.2.1: Protocolos de SSL .................................................................................. 10

Figura 2.3.1: Protocolo de registro de SSL................................................................. 11

Figura 2.3.2: Integridad en el protocolo de registro de SSL..................................... 12

Figura 2.4.1: Protocolo Handshake de SSL................................................................ 13

Figura 3.2.1: Agentes del SET ..................................................................................... 16

Figura 3.4.1: Firma dual en SET................................................................................. 17

Figura 3.4.2: Tratamiento de los mensajes PI y OI en SET...................................... 20

Figura 3.5.1: Transacción de compra en SET............................................................ 22

Page 4: SEGURIDAD EN COMERCIO ELECTRÓNICO · 1. Introducción al comercio electrónico 1.1. Arquitectura El comercio electrónico abarca todos los conceptos relacionados con procesos de

23/01/00 Escola Universitària Politècnica de Mataró

Departament de Telecomunicacions Página 4

1. Introducción al comercio electrónico

1.1. Arquitectura

El comercio electrónico abarca todos los conceptos relacionados con procesos demercado entre entidades físicas o jurídicas a través de redes telemáticas. Por los tipos deusuarios se pueden diferenciar dos grandes grupos:

• Comercio entre empresas. Se caracteriza por tener un segmento de clientesposibles limitado, así permite utilizar tecnologías que no necesariamente han de serestándares al alcance de cualquiera.

• Comercio entre empresas y usuarios domésticos anónimos. El segmento declientes es toda la red, en la mayoría de casos Internet, y únicamente está limitadogeográficamente por los servicios de transporte del producto. Es conveniente utilizarsistemas estándares y muy extendidos.

Como en todas las transacciones, en el comercio electrónico intervienen varios agentesque se deben comunicar. Los agentes mínimos en un sistema de comercio electrónicoson:

• Comprador. Adquiere el producto o servicio.• Comerciante. Vende el producto o servicio.• Entidades y servicios financieros. Autorizan los pagos y realizan los movimientos

de dinero entre comprador y comerciante.

Además las entidades y servicios financieros pueden ser diversos en la mismatransacción:

• Banco del comprador.• Banco del vendedor.• Pasarela entre bancos.• Marca de la tarjeta de crédito o débito si se utiliza.• Broker para micropagos.

También puede haber entidades implicadas en la seguridad como una autoridad decertificación, o en la logística como las empresas de transportes.

Todos los agentes de la transacción han de estar comunicados mediante la red ofísicamente, aunque un sistema ideal sólo utilizaría la red. Dependiendo del medio depago y del sistema de seguridad se utilizarán unos agentes o otros.

Una transacción siempre se realiza con estas cuatro fases:

1. El comprador obtiene los datos del producto o servicio del vendedor.2. Se solicita la autorización de pago del comprador.3. Se confirma la autorización y se paga al vendedor (en algunos sistemas el pago

puede realizarse después de la cuarta fase).4. Se entrega el producto o servicio mediante un transporte físico o por la red.

Page 5: SEGURIDAD EN COMERCIO ELECTRÓNICO · 1. Introducción al comercio electrónico 1.1. Arquitectura El comercio electrónico abarca todos los conceptos relacionados con procesos de

23/01/00 Escola Universitària Politècnica de Mataró

Departament de Telecomunicacions Página 5

Existen diversas formas de pago en el comercio electrónico que se pueden agrupar encuatro familias:

• Dinero electrónico.• Sistemas de crédito y débito.• Tarjetas de crédito y débito.• Sistemas de micropagos.

Los protocolos de seguridad más utilizados actualmente son:

• SSL/TLS. Es un protocolo de seguridad para cualquier aplicación de Internet y, porlo tanto, se puede utilizar en el comercio electrónico. Está muy extendido yactualmente todos los navegadores comerciales lo implementan (Ver capítulo 2).

• SET. Es un protocolo especialmente diseñado para el comercio electrónico contarjetas de crédito. Actualmente se encuentra en su fase de desarrollo (Ver capítulo3).

Un caso particular del comercio electrónico es cuando la cantidad a pagar es máspequeña que los costes de transacción, en estos casos se deben utilizar sistemasespeciales denominados de micropagos.

1.2. Requisitos del comercio electrónico

El principal requisito en una transacción de comercio electrónico es la seguridad,como en todas las transacciones que implican el manejo de dinero.

Pero hay otros requisitos aconsejables para que los sistemas de comercio electrónicosean comparables a los de monedas y billetes, sino no se aplican puede que el comercioelectrónico no sea atractivo para los usuarios. Estos son:

• Anonimato. Con monedas o billetes la identidad del comprador no es conocida porlos vendedores. Para poder mantener también en el comercio electrónico el derechopropio de los humanos a la intimidad, nadie excepto el banco propio deberíanconocer la identidad del comprador y éste no debería conocer la naturaleza de lacompra.

• Flexibilidad. Poder aceptar diferentes medios de pago para todas las situacionesposibles de usuarios de Internet.

• Convertibilidad. Poder transformar los diferentes sistemas de pago sin necesidadde realizar una compra, como pasa con las divisas y las cuentas de los bancos.

• Eficiencia. El coste del sistema de comercio no debe ser mayor que el precio delproducto o servicio.

• Ser divisible. Como las monedas o billetes poder dividir la posibilidad de compraen fracciones más pequeñas.

• Transferible. Poder pasar el poder de compra de una persona a otra sin necesidadde realizar una transacción, igual que se puede prestar o regalar el dinero tradicional.

El único sistema de pago que cumple todos los requisitos es el dinero electrónico.

Page 6: SEGURIDAD EN COMERCIO ELECTRÓNICO · 1. Introducción al comercio electrónico 1.1. Arquitectura El comercio electrónico abarca todos los conceptos relacionados con procesos de

23/01/00 Escola Universitària Politècnica de Mataró

Departament de Telecomunicacions Página 6

1.3. Dinero electrónico

Estos sistemas deben cumplir todos los requisitos comentados en el apartado 1.2, porlo tanto tienen exactamente las mismas funciones que las monedas y los billetes.

Se utilizan diversas tecnologías para implementarlos:

• Números firmados. La entidad financiera emite unos números aleatorios y losfirma con su clave privada. Estos números están registrados en la base de datos de laentidad. Su valúa depende de la longitud del número y se pueden fraccionarcambiándolos en la entidad. Los usuarios los piden por la red a la entidad a cambiode un cargo a su cuenta o tarjeta y los utilizan o dan cuando creen conveniente. Elsistema DigiCash trabaja con este tipo de dinero electrónico.

• Monederos electrónicos. Son tarjetas con un chip donde se almacenan cantidadesde dinero que previamente se han descontado de una cuenta. El poseedor de latarjeta posee el dinero de forma anónima y los puede gastar cuando y de la formaque quiera, así como prestar. Estos sistemas ya se utilizan en las compras físicas,pero para Internet se deberían construir ordenadores con lectores adecuados.

1.4. Sistemas de crédito y débito

En estos sistemas el usuario debe tener una cuenta con la entidad que gestiona lospagos, esta cuenta puede recibir dinero real o estar conectada a una cuenta real de unbanco y recibir cargos por las compras.

Pueden ser de:

• Débito. Se debe tener dinero en la cuenta para cubrir el gasto.• Crédito. La entidad puede dar crédito hasta el día del pago completo o fraccionado.

Los usuarios se deben dar de alta en el sistema y abrir la cuenta, después reciben unpassword o otra manera de identificarse. Al realizar compras en las tiendas virtualesque permiten este forma de pago se debe indicar el password o identificador y entoncesse comprueba si el pago está autorizado.

Utilizan este sistema entre otras las entidades: NetCheque, NetBill, FirstVirtual,InfoCommerce, Virtu@lCash, etc... Probablemente cada vez se utilizarán menos debidoa la tendencia hacia sistemas universales que no dependen de darse de alta en unaentidad. Pueden servir para realizar micropagos.

1.5. Tarjetas de crédito o débito

Son los más utilizados y posiblemente los que se extiendan más en el futuro. Se trabajacon una tarjeta de crédito o débito cargando la compra como si se hubiera hecho en unatienda física. No cumple los requisitos de anonimato, aunque el sistema de seguridad

Page 7: SEGURIDAD EN COMERCIO ELECTRÓNICO · 1. Introducción al comercio electrónico 1.1. Arquitectura El comercio electrónico abarca todos los conceptos relacionados con procesos de

23/01/00 Escola Universitària Politècnica de Mataró

Departament de Telecomunicacions Página 7

SET permite que el vendedor no conozca los datos de la tarjeta del comprador y elbanco los datos del producto o servicio comprado.

1.6. Sistemas de micropagos

Los micropagos en comercio electrónico ocurren cuando el precio del producto oservicio es muy pequeño y puede ser menor que coste de la transacción realizadamediante los métodos habituales.

La característica fundamental de estos sistemas es bajar mucho los costes de latransacción a costa de pérdida de seguridad. Su principio se basa en que lastransacciones son tan pequeñas que no resultan atractivas para realizar un ataque, así losesfuerzos realizados por el ladrón no compensan el valor del robo.

Se utilizan unos intermediarios llamados Brokers. Es normal que un comprador realicemuchos micropagos a muchos vendedores diferentes y que un comerciante recibamuchas compras de poco valor de muchos compradores diferentes. Gestionar estasinteracciones múltiples entre compradores y vendedores por muy poco margen debeneficio no interesa a ninguna de las partes. Así se utilizan brokers que concentrantodas las compras de un comprador y todas las ventas de un comerciante y asísimplifican el modelo (Ver Figura 1.6.1).

Figura 1.6.1: Arquitectura de un sistema de micropagos

Actualmente no existe un estándar para realizar micropagos sino que existen variossistemas que compiten para ser el futuro estándar, algunos ya se están utilizando. Unascaracterísticas comunes a la mayoría son:

• Utilización de dinero electrónico. Utilizan sistemas con características de dineroelectrónico (ver apartado 1.3 Dinero electrónico). Las unidades de transacción sellaman monedas electrónicas y pueden ser generadas por el broker o por elcomprador que posee un permiso firmado por el broker.

• Cambio. Los vendedores tienen la posibilidad de devolver cambio o las monedas sepueden fragmentar.

• Detección de doble pago. Para detectar la doble utilización de las monedaselectrónicas los vendedores mantienen una base datos con los mensajes monedarecibidos, esto se debe mantener hasta la caducidad de estos mensajes. Esta

Compradores Vendedores

Broker

Transacción portarjeta o cuentacorriente

Abonos de lasmonedas

Múltiples micropagos

Envío de monedas opermiso parafabricarlas

Page 8: SEGURIDAD EN COMERCIO ELECTRÓNICO · 1. Introducción al comercio electrónico 1.1. Arquitectura El comercio electrónico abarca todos los conceptos relacionados con procesos de

23/01/00 Escola Universitària Politècnica de Mataró

Departament de Telecomunicacions Página 8

prestación obliga en la mayoría de sistemas a editar monedas especificas para unvendedor y, por lo tanto, se pierde la flexibilidad de sistema universal.

• Cifrado débil. Para aumentar la velocidad de proceso y facilitar la gestión de clavesno se acostumbra a utilizar encriptación de clave pública, pero si se utiliza, seprocura minimizar el número de ejecuciones del algoritmo. Normalmente laseguridad se implementa mediante funciones Hash con o sin clave.

Algunos de los sistemas más conocidos son:

• Millicent. Las monedas electrónicas se denominan scrips. La seguridad se basa enuna clave secreta compartida entre el vendedor y el broker. No utiliza encriptaciónsólo funciones Hash con clave. Los scrips están marcados para un comprador y unvendedor determinados, se compran al Broker.

• MicroMint. Permite diferentes formas de monedas: anónimas (poca seguridad),marcadas para el comprador y marcadas para el vendedor. Como seguridadsolamente utiliza la propiedad de resistencia a colisiones de las funciones Hash. Lasmonedas se compran al broker.

• Payword. Las monedas son cadenas de resúmenes realizados por funciones Hash,denominadas Paywords, cada elemento de la cadena es la función Hash del anteriory el primero es un número aleatorio. Los Payword son generados por el compradory sirven para cualquier vendedor. Para generar Paywords se debe poseer uncertificado de clave pública firmado por el broker, donde aparece la cantidadmáxima que se puede gastar en una transacción. Es un sistema de crédito donde elbroker responde del cliente (como las tarjetas). En cada compra se realiza una únicaencriptación de clave pública.

• SubScrip. Utiliza un mensaje llamado ticket que es específico para un vendedor yun comprador. El ticket se actualiza en el vendedor después de cada compra,restando la cantidad pagada del total. El vendedor mantiene una base de datos de lostickets y sus últimos valores. Los Brokers generan los tickets.

La Tabla 1.6.1 compara los 4 sistemas.

Millicent MicroMint Payword SubScrip

Encriptación No No Sí NoHashing Sí, con

clave.Sí Sí No

Monedas específicas de vendedor Sí Depende No SíMonedas específicas de comprador Sí Depende Sí SíGenera las monedas Broker Broker Comprador Broker

Tabla 1.6.1

Page 9: SEGURIDAD EN COMERCIO ELECTRÓNICO · 1. Introducción al comercio electrónico 1.1. Arquitectura El comercio electrónico abarca todos los conceptos relacionados con procesos de

23/01/00 Escola Universitària Politècnica de Mataró

Departament de Telecomunicacions Página 9

2. SSL (Secure Sockets Layer) y TLS (Transport LayerSecurity)

2.1. Características del SSL

El SSL es un protocolo seguro de Internet inventado por la empresa Netscape. No esexclusivo del comercio electrónico sino que sirve para cualquier comunicación víaInternet y, por lo tanto, también para transacciones económicas. Está implementado pordefecto en todos los navegadores de Netscape para Webs, o sea, para el protocoloHTTP, aunque se espera que pronto salgan versiones para Mail, FTP, etc...

Sustituye los sockets del sistema operativo. Los sockets son el interficie entre lasaplicaciones y el protocolo TCP/IP del sistema operativo (Ver Figura 2.1.1). Así puedeservir para cualquier aplicación que utilice TCP/IP: Mail, Webs, FTP, News, etc...Aunque las aplicaciones de los programas actuales sólo permiten HTTP (Webs).

Figura 2.1.1: Situación de SSL en la pila TCP/IP

Para diferenciar las páginas dentro de una zona de servidor SSL, Netscape utiliza ladenominación https y se conecta mediante el puerto 443.

El SSL puede realizar las funciones:

• Fragmentación. En el emisor se fragmentan los bloques mayores que 214 octetos yen el receptor se vuelven a reensamblar.

• Compresión. Se puede aplicar un algoritmo de compresión a los mensajes.• Autenticación. Permite autenticar el cliente y el servidor mediante certificados. Este

proceso se realiza durante la fase de Handshake. Durante la transmisión losmensajes autentican al emisor mediante un resumen con clave, llamado MAC, encada mensaje.

• Integridad. En todos los mensajes se protege la integridad mediante el MAC.• Confidencialidad. Todos los mensajes se envían encriptados.

Se utilizan certificados X.509v3 para la transmisión de las claves públicas.

Aplicación

SSL

TCP

IP

Page 10: SEGURIDAD EN COMERCIO ELECTRÓNICO · 1. Introducción al comercio electrónico 1.1. Arquitectura El comercio electrónico abarca todos los conceptos relacionados con procesos de

23/01/00 Escola Universitària Politècnica de Mataró

Departament de Telecomunicacions Página 10

2.2. Protocolo SSL

El protocolo SSL se divide en dos capas complementarias (ver Figura 2.2.1):

• Protocolo Handshake. Realiza las siguientes funciones:! Autenticación de usuario y servidor.! Selección de los parámetros de la sesión y de la conexión.! Establece la conexión segura.

• Protocolo de registro (Record protocol). Se utiliza para la encriptación de losprotocolos de las capas más altas: Handshake y aplicaciones.

Figura 2.2.1: Protocolos de SSL

El protocolo SSL se comporta como una máquina de estados, durante el intercambio deinformación siempre hay un estado de escritura activo y otro pendiente y un estado delectura activo y otro pendiente. Para cambiar del estado activo al pendiente se utiliza unsubprotocolo del Handshake llamado Change Cipher Spec.

Entre dos entidades cliente y servidor se pueden abrir varias sesiones SSL, aunque no eshabitual, y dentro de cada sesión se pueden mantener varias conexiones SSL. Lasconexiones se abren o cierran a través del protocolo de Handshake.

Un estado de sesión incluye los siguientes elementos:

• Identificador de sesión. Un número arbitrario elegido por el servidor paraidentificar la sesión.

• Certificado. El certificado X.509v3 del otro.• Método de compresión. Algoritmo de compresión.• Algoritmo de encriptación. Especifica el algoritmo simétrico de encriptación para

confidencialidad y la función Hash de resumen para integridad. También se definenatributos de Hash o encriptación.

• Clave maestra. Un número de 48 bytes secreto entre el servidor y el cliente.• Flag de nuevas conexiones. Indica si desde esta sesión se pueden iniciar nuevas

conexiones.

Aplicación

Handshake SSL

TCP

IP

Registro SSL

Page 11: SEGURIDAD EN COMERCIO ELECTRÓNICO · 1. Introducción al comercio electrónico 1.1. Arquitectura El comercio electrónico abarca todos los conceptos relacionados con procesos de

23/01/00 Escola Universitària Politècnica de Mataró

Departament de Telecomunicacions Página 11

Un estado de conexión incluye los siguientes elementos:

• Números aleatorios del servidor y el cliente. Números de inicio de la secuenciaelegidos por el cliente y el servidor.

• Número secreto del cliente para MAC. Número secreto utilizado por el clientepara calcular los MAC de sus mensajes.

• Número secreto del servidor para MAC. Número secreto utilizado por el servidorpara calcular los MAC de sus mensajes.

• Clave secreta del cliente. Clave secreta utilizada por el cliente para encriptar susmensajes.

• Clave secreta del servidor. Clave secreta utilizada por el servidor para encriptarsus mensajes.

• Vectores iniciales (IV). Si se utiliza encriptación con modo CBC (Cipher BlockChainning) se necesita un vector inicial para cada clave.

• Números de secuencia. Cada parte actualiza números de secuencia en cadamensaje, estos son puestos a cero cuando se recibe un mensaje change chiper spec.

2.3. Protocolo de registro en SSL

El protocolo de registro realiza las funciones de seguridad sobre los mensajes que llegande la capa de Handshake o de las aplicaciones (HTTP, FTP,...). Para ello utiliza losparámetros de conexión que se han negocionado antes mediante la capa de Handshake.En la Figura 2.3.1 se pueden ver las funciones realizadas por orden de actuación en elemisor.

Figura 2.3.1: Protocolo de registro de SSL

La fragmentación divide los mensajes mayores de 214 bytes en bloques más pequeños.

La compresión se realiza utilizando el algoritmo que se ha negociado en la fase inicial,puede ser algoritmo nulo (Null) si no se comprimen los mensajes.

La autenticación e integridad se realiza calculando un resumen del mensajeconcatenado con un número secreto y el número de secuencia (Ver Figura 2.3.2). Elresultado de este resumen es el MAC y se añade al mensaje. La autenticación se puedecomprobar con el número secreto, que sólo comparten el cliente y el servidor, y

Compresión

ConfidencialidadIntegridad yautenticación

FragmentaciónClienteoservidor

Page 12: SEGURIDAD EN COMERCIO ELECTRÓNICO · 1. Introducción al comercio electrónico 1.1. Arquitectura El comercio electrónico abarca todos los conceptos relacionados con procesos de

23/01/00 Escola Universitària Politècnica de Mataró

Departament de Telecomunicacions Página 12

mediante el número de secuencia que nunca viaja en claro. La integridad se realizamediante la función Hash.

Figura 2.3.2: Integridad en el protocolo de registro de SSL

La confidencialidad se realiza encriptando con un algoritmo simétrico mediante laclave secreta negociada en el Handshake. Las encriptaciones pueden ser de:

• Bloque. Se encripta en bloques de 64 bits. Si el mensaje no es múltiplo de 64 seañaden bits de relleno y se indica en el formato del mensaje. Los algoritmosutilizados son RC2 y DES en forma CBC, para la forma CBC se utiliza un vectorinicial (IV) previamente pactado.

• Stream. Se encripta realizando la OR-Exclusiva entre los bytes y un generadorpseudoaleatorio, este generador es el algoritmo RC4.

2.4. Protocolo Handshake en SSL

Se encarga de establecer, finalizar y mantener las conexiones SSL. Durante elHandshake se negocian los parámetros generales de la sesión y los particulares de cadaconexión. Hay dos subprotocolos anexos:

• Change Cipher Spec. Es un único mensaje que sirve para pasar de los estadosactivos a los pendientes.

• Alerta. Son mensajes que avisan de problemas ocurridos durante la conexión,pueden obligar a una terminación brusca de la sesión.

En la Figura 2.4.1 se puede ver el esquema del protocolo.

Función Hash

Mensaje

346472667.....

Número secreto de MAC

Contador de númerosde secuencia

MAC

Page 13: SEGURIDAD EN COMERCIO ELECTRÓNICO · 1. Introducción al comercio electrónico 1.1. Arquitectura El comercio electrónico abarca todos los conceptos relacionados con procesos de

23/01/00 Escola Universitària Politècnica de Mataró

Departament de Telecomunicacions Página 13

Figura 2.4.1: Protocolo Handshake de SSL

Cliente Servidor

ClientHello

ServerHello

Certificado del Servidor

ServerKeyExchange

O

ClientKeyExchange

CertificateRequest

OPCIONAL

CertificateVerify

Respuesta a CertificateRequest

ChangeCipherSpec

Finished

ChangeCipherSpec

Finished

Generación de la clave maestraprevia aleatoria.

Generación de la clave maestra apartir de la previa

Generación de la clave maestra apartir de la previa

Page 14: SEGURIDAD EN COMERCIO ELECTRÓNICO · 1. Introducción al comercio electrónico 1.1. Arquitectura El comercio electrónico abarca todos los conceptos relacionados con procesos de

23/01/00 Escola Universitària Politècnica de Mataró

Departament de Telecomunicacions Página 14

Los mensajes llevan la siguiente información:

• ClientHello. Es el mensaje que envía el cliente cuando establece contacto con unservidor seguro. Describe los parámetros que quiere utilizar durante la sesión:! Hora y fecha.! Identificador de sesión.! Algoritmos de encriptación. Consecutivamente envía los algoritmos por orden

de preferencia de intercambio de claves, encriptación de mensajes y MAC.! Algoritmos de compresión. Se envían los algoritmos que acepta por orden de

preferencia.• ServerHello. Se envían los algoritmos elegidos para la conexión, siempre deben ser

alguno de los propuestos en el mensaje de ClientHello. Si no hay acuerdo con losalgoritmos se envía un mensaje de error.

• Certificado o ServerKeyExchange. Si el servidor tiene certificado X.509v3 seenvía, sino no tiene se puede utilizar el mensaje ServerKeyExchange para enviar laclave pública sin certificado. El cliente puede elegir si accepta una clave sincertificado.

• CertificateRequest. Los servidores pueden pedir certificados a los clientesutilizando este mensaje.

• CertificateVerify. Si el cliente recibe una petición de certificado debe enviar sucertificado mediante este mensaje.

• ClientKeyExchange. Se envía un número aleatorio que sirve para calcular la clavemaestra, esta clave sirve para generar todas las claves y números secretos utilizadosen SSL. Se envía encriptada con la clave pública del servidor.

• ChangeCipherSpec. Inicia la sesión segura.• Finished. Termina la fase de Handshake. Sirve para comprobar que la negociación

de parámetros y claves ha funcionado correctamente.

2.5. Protocolo TLS

El TLS es un protocolo estandarizado por el IETF, por lo tanto, es un estándar de factode Internet. Su origen es el SSL versión 3 pero se aparta de éste para mejorar algunascosas y, sobre todo, porque SSL es propiedad de una empresa privada: Netscape. Así elTLS puede ser el estándar mundial para todo el software de cliente y servidor. El TLSpermite compatibilidad con SSLv3, el cliente y el servidor definen el protocoloutilizado durante el Handshake.

Las diferencias más importantes son sobre los siguientes aspectos:

• Alerta de certificado. En respuesta al mensaje CertificateRequest los clientes queno tienen certificado sólo contestan con un mensaje de alerta si son SSL.

• Claves de sesión. Se calculan de forma diferente.• Algoritmos de intercambio de claves. El TLS no soporta el algoritmo Fortezza

Kea del SSL, un algoritmo secreto y de propiedad privada muy similar al DiffieHellman.

• Campos incluidos en el MAC. En TLS se utilizan dos campos más del mensaje queen SSL para el cálculo del MAC. Es más seguro.

Page 15: SEGURIDAD EN COMERCIO ELECTRÓNICO · 1. Introducción al comercio electrónico 1.1. Arquitectura El comercio electrónico abarca todos los conceptos relacionados con procesos de

23/01/00 Escola Universitària Politècnica de Mataró

Departament de Telecomunicacions Página 15

3. SET (Secure Electronic Transaction)

3.1. Características

El SET es un protocolo inventado exclusivamente para realizar comercio electrónicocon tarjetas de crédito. Fue impulsado por las empresas de tarjetas de crédito Visa yMasterCard, las más extendidas e importantes del mundo. Han colaborado en sudesarrollo las empresas más significativas del mundo de la telemática: GTE, IBM,Microsoft, SAIC, Terisa, Verisign, etc... La participación de estas empresas tanimportantes y especialmente el impulso de las marcas de tarjetas Visa y MasterCardhacen que este protocolo tenga muchas posibilidades de convertirse en el futuro sistemade comercio electrónico seguro.

Es un sistema abierto y multiplataforma, donde se especifican protocolos, formatosde mensaje, certificados, etc... sin limitación de lenguaje de programación, sistemaoperativo o máquina. El formato de mensajes está basado en el estándar definido por laempresa RSA Data Security Inc. PKCS-7, como los protocolos S-MIME y SSL.

La especificación del SET v1.0 está contenida en 3 volúmenes publicados en mayo de1997 y es de libre distribución en la web www.setco.org. El organismo SETcohomologa los módulos de programación y los certificados desarrollados por empresasprivadas, después de pasar unos tests técnicos y pagar unos derechos. El softwarehomologado por SETco tiene derecho a llevar el logotipo de SET.

El protocolo SET se puede transportar directamente en TCP, mediante correoelectrónico con SMTP o MIME y en Webs con HTTP.

3.2. Agentes del comercio electrónico de SET

En SET se definen 5 agentes que pueden intervenir en transacciones comerciales:

• Comprador. Adquiere un producto utilizando la tarjeta de crédito de su propiedad.• Banco o entidad financiera (Issuer). Emite la tarjeta de crédito del comprador.• Comerciante (Merchant). Vende los productos.• Banco del comerciante (Acquirer). Banco donde el comerciante tiene la cuenta.• Pasarela de pagos (Payment gateway). Gestiona la interacción con los bancos.

Puede ser una entidad independiente o el mismo banco del comerciante.

Dos agentes relacionados pero que no actúan directamente en las transacciones son:

• Propietario de la marca de la tarjeta. Avalan las tarjetas: Visa, MasterCard,American Expres, etc...

• Autoridad de certificación. Crea los certificados que se utilizan en lastransacciones de la pasarela, el vendedor y el comprador. Pueden ser los bancos, lospropietarios de la marca de la tarjeta o entidades independientes.

Se relacionan entre ellos como marca la Figura 3.2.1.

Page 16: SEGURIDAD EN COMERCIO ELECTRÓNICO · 1. Introducción al comercio electrónico 1.1. Arquitectura El comercio electrónico abarca todos los conceptos relacionados con procesos de

23/01/00 Escola Universitària Politècnica de Mataró

Departament de Telecomunicacions Página 16

Figura 3.2.1: Agentes del SET

3.3. Módulos de programación

Para poder utilizar el SET se deben incorporar unos módulos de software que adaptanlos programas existentes al protocolo. Se han definido 4 módulos:

• Cartera (Wallet). Es una aplicación que se instala en el navegador del compradorcomo plug-in.

• De venta (merchant). Se conecta a la Web del vendedor. Como se parece mucho alos actuales terminales punto de venta para tarjetas se le llama también TPV.

• Pasarela de pagos (payment geteway). Cumple las funciones de este agente.• Autoridad de certificación (CA). Crea certificados de clave pública adaptados al

estándar SET.

Los 4 módulos se pueden homologar por separado en la entidad SETco, actualmente yahay varias empresas que ofrecen productos comerciales de alguno de los módulos consello SET.

3.4. Firma dual

La firma dual es un concepto nuevo de firma inventado por el SET, para dosdocumentos relacionados resuelve el compromiso entre su privacidad mutua frente a lanecesidad de demostrar que están relacionados comercialmente.

Comprador Vendedor

Banco delcomprador

Banco delvendedor

Pasarela depago

Internet

Red bancaria

Cuenta corriente

Page 17: SEGURIDAD EN COMERCIO ELECTRÓNICO · 1. Introducción al comercio electrónico 1.1. Arquitectura El comercio electrónico abarca todos los conceptos relacionados con procesos de

23/01/00 Escola Universitària Politècnica de Mataró

Departament de Telecomunicacions Página 17

En una transacción SET:

• El vendedor no debe saber los datos bancarios del comprador.• El banco no debe saber la información del producto vendido.

Pero los documentos con la información bancaria y la del producto deben estarligados por la misma firma, de manera que se pueda comprobar que han sidogenerados por la misma persona y para el mismo fin. En las transacciones del SET elcomprador genera dos documentos:

• Información de pedido (OI). Donde se describen los datos del producto, el precio ytodas las informaciones necesarias para realizar la compra. Este documento sólopuede ser visto por el vendedor.

• Instrucciones de pago (PI). Donde se describen los datos bancarios del compradory se dan instrucciones para el pago de la cantidad de venta. Este documento sólopuede ser visto por la pasarela de pago.

La firma dual del OI y el PI se realiza concatenando los resúmenes de los dos y despuésencriptandolos con la clave privada del comprador (ver Figura 3.4.1).

Figura 3.4.1: Firma dual en SET

Cada parte recibe uno de los mensajes y la firma dual:

M1 | FD = M1 | X | Y= M1 | EKP[H(M1) | H(M2)] | H(M1) | H(M2)

Para comprobar la firma dual se realizan las operaciones:

! H1 = H(M1)! H2 = H1 XOR Y! Se comprueba si ¿DKU [X] = H1 | H2?

OI

PI

Comprador

Hash

Hash

OI

PI

OI

PI

AlgoritmoAsimétrico

OI

PI

Clave privada

Firma dual

XOR Y

Concatenación

Page 18: SEGURIDAD EN COMERCIO ELECTRÓNICO · 1. Introducción al comercio electrónico 1.1. Arquitectura El comercio electrónico abarca todos los conceptos relacionados con procesos de

23/01/00 Escola Universitària Politècnica de Mataró

Departament de Telecomunicacions Página 18

En el SET:

el vendedor recibe del comprador:

• OI.• Firma dual.

Comprueba la autenticación del comprador y la integridad del OI. (Ver Figura 3.4.2)

La pasarela de pagos recibe del comprador:

• PI.• Firma dual.

Del vendedor:

• Resumen del OI.

Con el mensaje del comprador comprueba la autenticación del comprador y laintegridad del PI. Con el mensaje del vendedor comprueba la relación entre el OIenviado al vendedor y el utilizado para la firma dual recibida. (Ver Figura 3.4.2)

El comprador no se conecta directamente con la pasarela de pagos, envía alvendedor todos los documentos pero la información para la pasarela se encripta conla clave pública de la pasarela. Cuando el vendedor ha comprobado la informacióndirigida a él, envía la parte encriptada a la pasarela.

Page 19: SEGURIDAD EN COMERCIO ELECTRÓNICO · 1. Introducción al comercio electrónico 1.1. Arquitectura El comercio electrónico abarca todos los conceptos relacionados con procesos de

23/01/00 Escola Universitària Politècnica de Mataró

Departament de Telecomunicacions Página 19

Vendedor

Pasarela de pagos

OI

PI

Y

Y

OI

PI

OI

PI

OI

Del comprador

Hash OI

Algoritmodesencriptación

OI

PIComprobación

Del comprador

Del vendedor

Hash PI

Algoritmodesencriptación

OI

PI

Comprobación

Clave pública del comprador

Clave pública del comprador

XOR PI

OI

PI

XOR OIOI

PI

OI

PI

Page 20: SEGURIDAD EN COMERCIO ELECTRÓNICO · 1. Introducción al comercio electrónico 1.1. Arquitectura El comercio electrónico abarca todos los conceptos relacionados con procesos de

23/01/00 Escola Universitària Politècnica de Mataró

Departament de Telecomunicacions Página 20

Figura 3.4.2: Tratamiento de los mensajes PI y OI en SET

3.5. Transacción de compra

En la transacción de compra actúan el comprador, el vendedor y la pasarela a través deInternet y la pasarela se comunica con los bancos por medio de la red bancaria. Elcomprador siempre se relaciona con la pasarela a través del vendedor, nuncadirectamente. La seguridad se gestiona de la siguiente manera:

• Confidencialidad. Se encripta utilizando claves de sesión encriptadas con las clavespúblicas de los receptores.

• Firma electrónica. Se utilizan firmas normales y duales encriptadas con las clavesprivadas de los firmantes.

• Suplantación de personalidad. Las claves públicas del vendedor, comprador ypasarela se deben enviar al principio mediante certificados avalados por unaautoridad de certificación homologada por SET.

Los documentos utilizados son:

• Información de pedido (OI). Ver apartado 3.4 Firma dual..• Instrucciones de pago (PI). Ver apartado 3.4 Firma dual.• Petición de autorización de pago. El vendedor cuando ha comprobado que los

datos enviados por el comprador son correctos envía este mensaje a la pasarela paraque pida autorización de pago a los bancos. La pasarela cuando ha comprobado losdatos que ha recibido del vendedor hace una petición de pago al banco delcomprador.

• Autorización de pago. El banco envía una autorización de pago a la pasarela si latarjeta del comprador es correcta y permite el cargo del importe.

• Solicitud de pago. Después de la entrega física del producto el vendedor pidecobrar a la pasarela el pago.

• Solicitud de compensación. La pasarela pide al banco del comprador latransferencia al banco del vendedor.

Todos los documentos llevan el identificador único de la transacción (ID).

La transacción puede realizarse con o sin firma dual, mediante un protocolo iniciallos agentes deciden el tipo de transacción.

El esquema de la transacción con firma dual se puede ver en la Figura 3.5.1., los detallesse han omitido. El significado de los símbolos representados en la Figura 3.5.1 son:

ESKUX[M]. M encriptado con una clave de sesión aleatoria k y un algoritmo simétrico yk encriptado con un algoritmo asimétrico con la clave pública de X.

FD. Firma dual del OI y el PI.

Firma. La firma calcula realizada con la encriptación del resumen con la clave privadadel emisor.

Page 21: SEGURIDAD EN COMERCIO ELECTRÓNICO · 1. Introducción al comercio electrónico 1.1. Arquitectura El comercio electrónico abarca todos los conceptos relacionados con procesos de

23/01/00 Escola Universitària Politècnica de Mataró

Departament de Telecomunicacions Página 21

CX. Certificado de clave pública de X.

Figura 3.5.1: Transacción de compra en SET

Comprador Vendedor Pasarela de pagos

Selección de producto

Selección de tarjeta

Asignación del ID de latransacción

CVendedor | CPasarela

ESKUVendedor[OI | H(PI) | FD]

ESKUPasarela[PI | H(OI) | FD]

Ccomprador

Respuesta OI

ESKUVendedor[Confirmaciónpedido] | Firma

ESKUPasarela[Petición autorización depago] | Firma

Petición autorización de pago

Banco

Autorización de pago | Firma

Entrega del producto

ESKUPasarela[Solicitud depago] | Firma

Solicitud decompensación

Banco