Seguridad en el comercio electrónico

  • Jordi Herrera Joancomartí

     Jordi Herrera Joancomartí

    Licenciado en Matemáticas por la Universidad Autónoma de Barcelona y doctor por la Universidad Politécnica de Cataluña. Su ámbito de investigación es la seguridad de la información y, más concretamente, la criptografía y la protección del copyright. Actualmente es profesor propio en los Estudios de Informática y Multimedia de la Universitat Oberta de Catalunya.

PID_00160584
Ninguna parte de esta publicación, incluido el diseño general y la cubierta, puede ser copiada, reproducida, almacenada o transmitida de ninguna forma, ni por ningún medio, sea este eléctrico, químico, mecánico, óptico, grabación, fotocopia, o cualquier otro, sin la previa autorización escrita de los titulares de los derechos.

Introducción

Una de las diferencias importantes entre el comercio electrónico y el comercio tradicional es el hecho de que las transacciones se realizan en un entorno no presencial y, por lo tanto, los interlocutores no se conocen. Este hecho genera una desconfianza mutua entre los participantes que provoca que los requisitos de seguridad que son necesarios en los sistemas de comercio electrónico sean superiores a los del comercio convencional.
Por otro lado, la explosión del comercio electrónico se ha producido, en gran medida, por la generalización del uso de las redes de ordenadores. El hecho de que las redes sean abiertas facilita todavía más el incremento del número de usuarios que se conectan a ellas, pero a la vez implica que los niveles de seguridad de estas redes sean por defecto bajos, lo que hace necesaria la utilización de técnicas complementarias que aseguren la seguridad que el protocolo IP no ofrece por sí mismo.
En este módulo didáctico definiremos los conceptos básicos de la seguridad de la información. Para saber cómo se pueden aplicar al comercio electrónico, estudiaremos algunas nociones básicas de criptografía. Estas nociones nos permitirán entender de una manera más clara las infraestructuras de clave pública muy utilizadas en el comercio electrónico. Hay que destacar que estas nociones de criptografía serán muy básicas, para que posteriormente otros conceptos más generales, como las infraestructuras de clave pública, se puedan entender de manera más clara. El estudiante que quiera ampliar en el estudio de la criptografía puede consultar los materiales de la asignatura Criptografía.
Centrándonos en el comercio electrónico, hemos dividido la seguridad en diferentes ámbitos, según lo que queramos proteger. Así, diferenciaremos la seguridad en el conjunto de los datos, la seguridad en los sistemas de pago y la seguridad en el producto vendido (en el supuesto de que éste se encuentre en soporte electrónico).
Para acabar, es importante destacar que este módulo no pretende ser un curso de seguridad desde un punto de vista general, sino que se quiere dar una visión concreta de cómo afecta la seguridad al comercio electrónico.

Objetivos

Los materiales didácticos de este módulo deben permitir lograr los objetivos siguientes:
  1. Entender y asimilar los conceptos básicos de la seguridad de la información.

  2. Conocer el funcionamiento elemental de la criptografía, tanto de clave simétrica como de clave pública.

  3. Entender el concepto de firma digital y cómo las infraestructuras de clave pública ayudan a resolver las carencias que la firma digital tiene por sí sola.

  4. Conocer la utilidad de las tarjetas inteligentes con microprocesador en el campo de la seguridad.

  5. Entender las diferentes problemáticas de seguridad que existen en los diferentes ámbitos del comercio electrónico y qué soluciones posibles hay para cada uno de ellos.

1.Conceptos básicos de seguridad de la información

Para poder entender qué papel tiene la seguridad en el comercio electrónico desde un punto de vista global, en primer lugar es necesario establecer diferentes conceptos que fijan diferentes niveles de seguridad de la información.
Si tomamos como ejemplo la compra de un libro en una tienda en línea pagando con nuestra tarjeta de crédito convencional, es necesario que se cumplan los requisitos de seguridad siguientes:
1) No ha de haber nadie más en la tienda que pueda ver los datos de nuestra tarjeta de crédito.
2) Es necesario que "la identidad" de la tienda no pueda ser suplantada, es decir, que nadie pueda crear una página web igual a la de una tienda conocida para hacernos creer que compramos en ésta.
3) Tampoco debe ser posible que ningún intruso pueda modificar los datos de nuestra tarjeta o de la transacción de compra.
4) Para terminar, si después de haber dado nuestro beneplácito para la compra de un producto nos arrepentimos, la tienda ha de poder probar que nos hemos desdicho de lo que habíamos acordado previamente.
Esta situación nos permite identificar los cuatro conceptos clave de seguridad de la información: confidencialidad, autenticación, integridad y no repudio.
Así, al hecho de que nadie, aparte de la tienda, pueda ver los datos de nuestra tarjeta se lo denomina confidencialidad.
Por otro lado, que nadie pueda suplantar la identidad de la tienda recae en la propiedad de autenticación.
La integridad es la propiedad que asegura que los datos de nuestra tarjeta o del pedido no puedan ser modificados por nadie excepto nosotros, sin que la tienda lo detecte.
Finalmente, el hecho de que no nos podamos desdecir de haber realizado un pedido se conoce como no repudio.
Para ser más precisos, podemos definir estos conceptos de la manera siguiente:
La confidencialidad es la propiedad que asegura que sólo quienes están autorizados tendrán acceso a la información. A menudo, esta propiedad se conoce también con el nombre de privacidad (1) .
La integridad es la propiedad que asegura la no alteración de la información. Esta alteración puede ser inserción, borrado o sustitución de la información.
La autenticación es la propiedad que hace referencia a la identificación. Es el nexo de unión entre la información y el emisor de ésta.
El no repudio es la propiedad que preserva que alguna de las partes niegue algún compromiso o acción tomado con anterioridad.
Aparte de estos conceptos básicos de seguridad de la información citados, hay otros objetivos que incluye la seguridad de la información y que se pueden derivar de los ya citados. Entre éstos destacamos los siguientes:
  • control de acceso

  • autenticación de mensaje o de entidad

  • firma

  • autorización

  • validación

  • certificación

  • confirmación

  • revocación

Para obtener las cuatro propiedades básicas de la seguridad de la información descritas y también las extensiones citadas, la herramienta básica que se utiliza es la criptografía, de la que introduciremos algunos conceptos en los apartados siguientes.

2.Conceptos básicos de criptografía

Desde un punto de vista histórico, la criptografía hace muchos años que se utiliza, pero fue durante las guerras mundiales y con la introducción de los ordenadores cuando experimentó una evolución mayor. En los últimos años, el uso de redes abiertas de ordenadores, como Internet, y el creciente interés del mercado por el comercio electrónico han propiciado un nuevo impulso de esta ciencia. Para saber algo más sobre cómo se pueden conseguir diferentes niveles de seguridad en las aplicaciones de comercio electrónico, necesitaremos entender algunos conceptos básicos que daremos en este apartado.
Dado que el ámbito de la criptografía a menudo es bastante específico, a lo largo del módulo irá apareciendo nueva nomenclatura que encontraréis definida en el glosario que aparece al final de este módulo.
Antiguamente, la criptografía se definía como el arte de la escritura secreta, tal como su etimología indica (del griego krypto ‘secreto' y grapho ‘escritura'). En la actualidad, una de las definiciones más precisas de este término es la siguiente:
La criptografía es la ciencia que estudia las técnicas matemáticas relacionadas con los diferentes aspectos de la seguridad de la información.
Cuando hablamos de criptografía no debemos confundirla con la criptología, puesto que esta última es un término más amplio.
La criptología es la ciencia que engloba la criptografía y el criptoanálisis.
El criptoanálisis es el estudio de las técnicas que permiten romper los criptosistemas que diseña la criptografía. Así, la criptología incluye tanto las técnicas que permiten obtener la seguridad como aquellas que permiten perderla. En este módulo nos centraremos básicamente en técnicas criptográficas y consideraremos que los criptosistemas utilizados son suficientemente seguros.
Centrándonos, pues, en la criptografía, podemos hacer la distinción siguiente: la criptografía de clave simétrica (también llamada criptografía de clave compartida o secreta) y la criptografía de clave pública (o criptografía asimétrica).
A continuación incidiremos algo más detalladamente en cada uno de los grupos de la distinción anterior.

2.1.Criptografía de clave simétrica

La criptografía de clave simétrica (secreta o compartida) incluye aquellas cifras en las que el emisor y el receptor comparten una misma clave para cifrar y descifrar los mensajes.
La figura siguiente muestra el esquema general de cifrado y descifrado:
Figura 1
Figura 1
Anna, A, quiere enviar el mensaje, m, a Bernat, B, de manera cifrada. Para hacerlo utiliza el algoritmo de cifrado y una clave secreta, k. De este modo obtiene el texto cifrado, m'. Tanto el algoritmo de cifrado como la clave son conocidos por B, quien los aplica a m para obtener el mensaje en claro, m.
La criptografía de clave simétrica se divide en dos grandes grupos: criptosistemas de bloque y criptosistemas de flujo. Considerando que los sistemas de cifrado en flujo se utilizan principalmente en las aplicaciones de cifrado en tiempo real, que necesitan mucha velocidad (televisión cifrada, telefonía móvil, etc.), pero que no son muy utilizados en los sistemas de pago electrónico, dejaremos esta técnica y nos centraremos en los criptosistemas de bloque.
Un criptosistema de bloque es un esquema de cifrado que divide el texto en claro en bloques de longitud fija y que realiza la acción de cifrado sobre cada bloque, utilizando la clave secreta compartida por emisor y receptor.
Los criptosistemas más antiguos que se conocen están dentro del grupo de los criptosistemas de bloque, en los que cada bloque es una letra o un grupo de letras. Así, encontramos, por ejemplo, las cifras de transposición y las cifras de sustitución (simple, homofónica, polialfabética, poligráfica).
Ejemplo de sustitución simple
Si tomamos el alfabeto catalán (de 27 letras) como espacio de texto en claro y también como espacio de texto cifrado, podemos definir el criptosistema siguiente:
F(a )= (a + k) mod 26, donde k es la clave secreta del criptosistema.
De este modo el texto en claro
LA CRIPTOGRAFIA PRESERVA LA CONFIDENCIALITAT
Tomando k = 3 queda cifrado como
OÇ EULSWRJUÇILÇ SUHVHUZÇ OÇ ERQILGHQELÇOLWÇW
Es evidente que los criptosistemas de bloque modernos no presentan tanta simplicidad, puesto que esquemas tan simples son muy fáciles de romper.
En la actualidad, los criptosistemas de bloque más conocidos son el DES, el IDEA y el AES, entre otros.
El Data Encryption Standard (DES) es el estándar que el National Institute of Standards and Technology de Estados Unidos (NIST) tiene definido como tal desde el año 1977. Cifra bloques de texto en claro de 64 bits y la longitud efectiva de su clave es de 56 bits. El hecho de que haga tanto de tiempo que esté diseñado provoca que la longitud de la clave sea demasiado pequeña para la potencia de cálculo de los ordenadores actuales. Por este motivo, se utiliza el Triple-DES, que no es más que el DES aplicado diferentes veces (con cierto orden), hecho que aumenta la medida efectiva de la clave.
El International Data Encryption Algorithm (IDEA) es un criptosistema diseñado por J. Massey y X. Lai en el año 1990. Cifra bloques de 64 bits y, en este caso, la clave de cifrado tiene una longitud de 128 bits.
Otro criptosistema simétrico que tendrá mucha importancia en el futuro es el Advanced Encryption Standard (AES), que nace como sustituto del DES. En el mes de octubre del 2000 se hizo pública la decisión de adoptar como AES el criptosistema Rijndael, desarrollado por los criptógrafos belgas Joan Daemen y Vincent Rijmen. Uno de los puntos fuertes de este criptosistema es que puede utilizar claves de 128, 192 o 256 bits de longitud.

2.2.Criptografía de clave pública

Los criptosistemas de clave pública, también conocidos como criptosistemas asimétricos, surgen en 1976 a partir de un artículo de W. Diffie y M. Hellman. La idea es totalmente diferente a lo que se había hecho hasta el momento para los criptosistemas simétricos.
En los criptosistemas de clave pública cada usuario tiene un par de claves: una pública, PK, y otra privada (o secreta), SK. La clave pública, PK, y la clave secreta, SK, definen dos funciones de cifrado, EPK(x), y de descifrado, DSK(x), respectivamente, que son inversas, es decir, DSK(EPK(x)) = x o, lo que es lo mismo, DSK(x) = E-1PK(x).
Pese a esta propiedad, es muy difícil obtener una a partir de la otra.
Figura 2
Figura 2
La figura anterior muestra cómo se utilizan los esquemas de clave pública para cifrar. Cuando Anna, A, quiere mandar un mensaje, m, a Bernat, B, A obtiene la clave pública de Bernat, PKB, la utiliza para cifrar el mensaje m y así obtiene el texto cifrado, m' = EPKB(m). m' sólo puede ser descifrado con la correspondiente clave privada que tan sólo Bernat conoce. Para hacerlo, B aplica la función de descifrado con su clave secreta SKB, m = DSKB(EPKB(m)).
El punto importante de un esquema de clave pública es el hecho de que a partir de la clave pública no se pueda calcular la privada. Para conseguir esto, los criptosistemas de clave pública se basan en la seguridad computacional. Es decir, no se puede asegurar que no se pueda obtener la clave privada a partir de la pública, sino que el tiempo que se requiere para hacerlo es bastante largo. Los problemas que se utilizan para fundamentar los criptosistemas de clave pública son problemas matemáticos difíciles, es decir, problemas cuya solución tiene una complejidad elevada.
El criptosistema de clave pública que más se utiliza en la práctica es el RSA. Este criptosistema debe su nombre a sus creadores: Rivest, Shamir y Adleman, y fue propuesto en el año 1978. Este criptosistema basa su seguridad en la dificultad de factorizar un número elevado.

2.3.El sobre digital

Hasta aquí hemos visto, a grandes rasgos, cómo funcionan las dos familias de criptosistemas, los de clave simétrica y los de clave pública. A continuación, haremos un breve análisis de sus propiedades.
1) Gestión de claves
La criptografía de clave simétrica necesita un elevado número de claves que aumenta con el número de usuarios, puesto que cada par de usuarios debe compartir una clave. Además, esta clave sólo la han de conocer este par de usuarios, circunstancia que hace necesario el establecimiento de un canal seguro para poderla transmitir. La criptografía de clave pública resuelve el problema del número de claves, puesto que independientemente del número de usuarios del sistema, cada usuario sólo tiene un par de claves. Este hecho es muy importante en sistemas abiertos y de continuo crecimiento, como el caso de Internet. Por el contrario, la criptografía de clave pública utiliza claves más largas que los esquemas de clave simétrica. Pero la problemática más importante de la criptografía de clave pública es la validación de las claves y la necesidad de una infraestructura general, tal como describiremos en el apartado siguiente.
2) Velocidad de cálculo
En este caso, la criptografía simétrica es mucho más adecuada que la de clave pública porque es mucho más rápida. Además, los criptosistemas de clave simétrica más utilizados, como el DES y el AES, se pueden implementar directamente en hardware, lo que acelera aún más su velocidad.
3) Propiedades de seguridad
Con los criptosistemas de clave simétrica se pueden conseguir las propiedades de confidencialidad e integridad, mientras que con los esquemas de clave pública se pueden obtener las de confidencialidad, integridad, autenticación y no repudio (tal como veremos en el apartado siguiente).
Así, la criptografía de clave simétrica y la de clave pública tienen una serie de ventajas complementarias que hacen que la combinación de los dos esquemas sea el que se utiliza en la práctica. En concreto, la técnica que se conoce como sobre digital es la que se usa en la mayoría de las aplicaciones que permiten cifrar datos.
El sobre digital es una técnica de cifrado que utiliza un criptosistema simétrico y otro de clave pública. Se utiliza el criptosistema simétrico, con una clave K, denominada clave de sesión, para cifrar la información. Posteriormente, la clave K se cifra utilizando un criptosistema de clave pública. El texto cifrado y la clave K cifrada con el esquema de clave pública forman el sobre digital.
Para descifrar un sobre digital se utiliza la clave privada correspondiente a la clave pública, que permite obtener la clave de sesión K y que posteriormente se usará para descifrar el texto cifrado con el esquema de clave simétrica.

3.Conceptos avanzados de criptografía de clave pública

En el apartado anterior hemos visto cómo funciona un esquema de clave pública utilizado para preservar la confidencialidad de los datos, es decir, para cifrar. Pero la gran revolución que representa la clave pública es el hecho de que se puedan realizar firmas digitales. En los apartados siguientes describiremos qué son las firmas digitales, cómo se pueden obtener a partir de criptosistemas de clave pública y qué mecanismos complementarios necesitamos para que la seguridad de las firmas digitales sea alcanzada.

3.1.Firmas digitales

Una firma digital es el equivalente electrónico de la firma convencional.
Por este motivo, su implantación global a menudo se considera muy importante para el desarrollo del comercio electrónico.
Las firmas digitales nacen a partir de la aparición de la clave pública. Con los sistemas de cifrado simétrico es difícil obtener una firma digital. El problema es que si la firma debe ser únicamente reproducible por el signatario y se utiliza para firmar la clave de cifrado, en los esquemas simétricos, como mínimo, dos personas comparten esta misma clave. En cambio, en los esquemas de clave pública el usuario dispone de una clave secreta que tan sólo él conoce. Esta información es la que se utilizará para firmar digitalmente.
Así, la firma digital va ligada a un criptosistema de clave pública y, por lo tanto, podemos firmar digitalmente utilizando, por ejemplo, el RSA o cualquier otro esquema de criptografía de clave pública.
El esquema general de una firma digital se puede considerar como "el inverso" de un esquema de cifrado de clave pública, tal como se muestra en la figura siguiente:
Figura 3
Figura 3
El signatario A que quiere firmar un mensaje m elige la función de descifrado (que contiene su clave privada SKA), la aplica al mensaje m y obtiene el valor sig. La pareja (m, sig) formará la firma digital del documento m (de hecho, la firma digital propiamente dicha será sig = DSKA(m)).
Un verificador, para verificar la firma del mensaje m, obtendrá la clave pública de A, PKA, y aplicará la función de cifrado EPKA al valor sig. Dado que las acciones de EPKA y DSKA son inversas, el verificador podrá comprobar que el resultado sea exactamente el mensaje firmado m.
Si nos fijamos, los criptosistemas de clave pública utilizados para crear firmas digitales nos ofrecen diferentes propiedades:
  • autenticidad: dado que la clave privada que se utiliza para firmar sólo la conoce A, la firma autentica el documento.

  • no repudio: de nuevo, gracias a que sólo A conoce su clave privada, A no puede negar haber firmado un documento que verifica el proceso de firma digital utilizando la clave pública de A.

  • integridad: esta propiedad se desprende del hecho de que el contenido del propio mensaje se utiliza (junto con la clave privada) para crear la firma. En el caso de que se modifique el mensaje, la verificación de la firma con el nuevo mensaje modificado no será correcta.

3.1.1.Funciones hash
Como ya hemos apuntado anteriormente, los criptosistemas de clave pública son computacionalmente muy costosos. Este hecho implica que la realización de una firma digital, sobre todo el mensaje, sea demasiado costosa y, por lo tanto, poco viable. Sería deseable firmar sólo un resumen del mensaje en vez del mensaje entero. Para hacerlo, se utiliza otra herramienta criptográfica: las funciones hash.
Una función hash es una función que hace corresponder un mensaje m de medida variable con una representación H(m) de medida fija. Normalmente, H(m) tiene entre 128 y 160 bits y se denomina el valor hash del mensaje.
De este modo, en la práctica, para obtener una firma del fichero original, lo que se firma es su valor hash, tal como se muestra en la figura siguiente:
Figura 4
Figura 4
Para que la firma digital (cuando se utilizan funciones hash) tenga las mismas propiedades de seguridad descritas anteriormente (integridad, autenticidad y no repudio), las funciones hash que se utilicen debe ser unidireccionales, es decir, que dado un valor hash h(m) sea inviable encontrar m, y que estén libres de colisiones, esto es, que sea muy difícil encontrar dos mensajes m y m' tales que h(m) = h(m').
3.1.2.Firmas ciegas
En 1982 D. Chaum, en su afán de conseguir el anonimato (en concreto en los sistemas de pago), desarrolló un sistema de firma digital (de hecho, una variante de los existentes) que denominó firma ciega (2) .
Una firma ciega permite a un usario B firmar un mensaje proporcionado por el usuario A sin que B pueda conocer el contenido de lo que firma.
Para explicar este concepto es muy útil establecer una analogía en términos de firmas convencionales sobre papel. Imaginémonos que el usuario A pone el documento que debe ser firmado por B dentro de un sobre de papel carbón y cierra el sobre. B firma el sobre por fuera y el papel carbón hace que la firma se reproduzca en el documento interior. B devuelve el sobre a A sin abrirlo (de hecho, en la versión electrónica, B no tiene manera de abrirlo). Cuando A recibe el sobre, lo abre y saca el documento que hay en el interior firmado por B, sin que B haya podido ver lo que ha firmado.
A pesar de que pueda parecer poco interesante el hecho de conseguir una técnica por la cual el firmante no sabe lo que firma, este protocolo es muy importante para ofrecer la propiedad de anonimato en los sistemas de pago, tal como veremos más adelante.

3.2.Certificados digitales e infraestructuras de clave pública

Teniendo en cuenta lo que hemos visto hasta ahora, podría parecer que la criptografía de clave pública resuelve todos los problemas de seguridad de la información, dado que ofrece las propiedades de confidencialidad, integridad, autenticación y no repudio. Además, combinada con la criptografía de clave simétrica, mediante el uso del sobre digital, permite también obtener confidencialidad de manera computacionalmente eficiente.
A pesar de ello, existen ciertos problemas de fondo en la criptografía de clave pública que provocan que su utilización todavía no esté tan extendida como cabría suponer.
El problema principal procede de lo que se conoce como "ataque del hombre a medio camino".
El ataque del hombre a medio camino
Un ataque de este tipo consiste en lo siguiente:
Supongamos que A quiere mandar un mensaje cifrado a B y un atacante C quiere saber su contenido (o incluso quiere modificarlo).
Figura 5
Para llevar a cabo el ataque, tal como se muestra en el gráfico adjunto, C modifica el directorio público de claves, de manera que la identidad del usuario B quede ligada a una clave pública de C. De este modo, A manda un mensaje creyendo que sólo B puede leerlo. Pero, en realidad, el único que lo puede leer es C, quien, una vez leído, puede enviarlo a B, ahora sí, cifrado con la clave pública de B (ataque pasivo), o modificarlo y enviarlo a B una vez modificado m* (ataque activo).
Para llevar a cabo el ataque, tal como se muestra en el gráfico adjunto, C modifica el directorio público de claves, de manera que la identidad del usuario B quede ligada a una clave pública de C. De este modo, A manda un mensaje creyendo que sólo B puede leerlo. Pero, en realidad, el único que lo puede leer es C, quien, una vez leído, puede enviarlo a B, ahora sí, cifrado con la clave pública de B (ataque pasivo), o modificarlo y enviarlo a B una vez modificado m* (ataque activo).
La problemática que acabamos de describir se puede dar también en el caso de las firmas digitales simplemente intercambiando la clave pública en el momento de la verificación de la firma.
La criptografía de clave pública permite comprobar técnicamente que la clave que se utiliza para descifrar (verificar la firma) es la complementaria de la que se ha utilizado para cifrar (firmar). Pero esto, por sí solo, no ofrece ninguna información sobre la identidad del propietario de las claves.
Por lo tanto, se necesita un mecanismo que permita asociar una clave pública a la identidad de su propietario: el certificado digital.
Un certificado digital es un documento digital que vincula una determinada clave pública a un usuario.
La información básica que contiene un certificado digital es la siguiente:
  • Número de serie del certificado.

  • La identificación del algoritmo criptográfico de firma.

Otros contenidos del certificado digital
El certificado también puede contener detalles sobre los servicios que certifica, cuándo puede ser utilizado, posibles restricciones sobre certificaciones cruzadas con otras autoridades de certificación, etc.
  • El nombre de la entidad emisora del certificado.

  • Periodo de validez del certificado.

  • La clave pública.

  • La identidad y los datos más relevantes de la persona o entidad propietaria de la clave pública.

  • La firma digital del certificado por la entidad emisora del certificado.

Si nos fijamos, los certificados incorporan la firma digital de la entidad emisora del certificado, hecho que se conoce como entidad certificadora (3) (CA). Precisamente, esta firma es la que confiere a los certificados su validez, dependiendo del grado de confianza que se tenga en la CA firmante.
Así, la validez de un certificado digital dependerá de quién ha expedido este certificado, es decir, de quién lo ha firmado digitalmente y qué mecanismos tenemos para validarlo.
Desde un punto de vista general, este proceso de certificación puede ser centralizado o descentralizado.
El sistema centralizado de certificación se denota por X.509 según la recomendación de la ITU-T sobre los esquemas de autenticación en sistemas abiertos. Estos tipos de certificación son los que se utilizan en la gran mayoría de las aplicaciones comerciales.
Las estructuras en los sistemas de certificación centralizados son jerárquicas, en las que arriba del todo hay una CA cuya clave pública todo el mundo conoce sin ningún tipo de duda y en la que todo el mundo confía.
Es evidente que la CA debe ser una entidad en la que nosotros confiamos. Para simplificar el discurso, hablaremos indistintamente de "confiar en la autoridad" o "tener la clave de la autoridad" porque asumiremos que, si tenemos la clave, habremos validado que ésta proviene de una fuente en la que confiamos.
El caso del PGP es un ejemplo de modelo de certificación descentralizado y se basa en la confianza que tienen los usuarios entre ellos. Cada usuario genera su propio certificado y este certificado lo firman las personas más próximas que pueden verificar el vínculo de clave pública-usuario. De este modo, el certificado personal puede incluir todas las firmas que se quieran y, dependiendo de los usuarios que lo hayan firmado, tendrá validez ante ciertas personas y no ante otras.
Los sistemas descentralizados como el PGP eliminan la vulnerabilidad que presenta el ataque al sistema central y su posible abuso de poder. El problema de este sistema es que cada usuario debe gestionar los certificados él mismo (revocación, modificación, etc.) por falta de una autoridad común. Esto, para un número elevado de usuarios, es costoso y provoca que tales esquemas no se puedan aplicar a gran escala.
A continuación, una vez identificada la necesidad de los certificados digitales, describiremos cuáles son los pasos necesarios para una correcta verificación de una firma digital. Esta visión detallada de cada paso nos permitirá acabar de conocer el resto de mecanismos necesarios para que la criptografía de clave pública pueda ofrecer las propiedades de seguridad que hemos mencionado.
Las acciones que hay que llevar a cabo para verificar correctamente una firma digital son las siguientes:
a) Leer el certificado digital que acompaña a la firma.
b) Verificar la firma del certificado realizada por la CA.
c) Verificar la validez del certificado.
d) Extraer la clave pública del emisor del certificado.
e) Verificar la firma del mensaje realizada por el emisor.
Pasemos a describir con mayor detalle cada uno de estos pasos:
1) Leer el certificado digital que acompaña a la firma.
La verificación de una firma digital debe empezar por el procesamiento del certificado digital para conocer los datos básicos del propietario de la clave pública.
2) Verificar la firma del certificado realizada por la CA.
Para probar la autenticidad del certificado, deberemos verificar la firma y, para ello, necesitaremos la clave pública de la autoridad que ha emitido el certificado. Si el certificado ha sido emitido por una CA de la que nosotros tenemos la clave pública, la validación de la firma del certificado será directa, utilizando la técnica de verificación de firma digital especificada en el apartado anterior.
En el caso de que no tengamos la clave pública de la CA, su obtención nos puede conducir a una recurrencia de tareas, dado que para obtenerla lo deberemos hacer junto a otro certificado emitido por una tercera CA de la que tengamos la clave. Así, deberemos establecer un camino de certificación entre la CA del certificado que validamos y la CA de la que tenemos la clave.
Árbol de certificación
En esta figura se muestra un posible árbol de certificación. Si nos  fijamos, los usuarios A y B comparten directamente la misma CA y, por lo tanto, podrán validar sus certificados directamente, ya que ambos tienen la clave pública de D. Pero, para que C pueda validar el certificado de A, aquél deberá obtener la clave pública de E y, posteriormente, el certificado de la clave pública de D debidamente firmado por E.
En esta figura se muestra un posible árbol de certificación. Si nos fijamos, los usuarios A y B comparten directamente la misma CA y, por lo tanto, podrán validar sus certificados directamente, ya que ambos tienen la clave pública de D. Pero, para que C pueda validar el certificado de A, aquél deberá obtener la clave pública de E y, posteriormente, el certificado de la clave pública de D debidamente firmado por E.
3) Verificar la validez del certificado.
Una vez verificada la firma digital del certificado, la siguiente tarea que hay que realizar es asegurarse de que el certificado, a pesar de estar correctamente firmado, es válido. Hay dos aspectos básicos de validez del certificado. El primero es simplemente asegurarse de que el certificado no ha caducado, es decir, que estamos dentro del periodo de validez que especifica el certificado. El segundo aspecto de la validez de un certificado hace referencia a su revocación.
Diremos que un certificado ha sido revocado por su autoridad de certificación si, a pesar de estar firmado correctamente por la autoridad y encontrarse dentro del periodo de validez especificado, la autoridad de certificación no lo reconoce como válido.
Este proceso puede parecer contradictorio, pero existe una situación clara en la que se puede dar este caso. Si el propietario de un par de claves pública/privada pierde su clave privada o sospecha que alguien la conoce, debe tener un mecanismo para poder evitar que nadie firme en su nombre. Este mecanismo es lo que se conoce como revocación del certificado. El propietario de las claves avisará a la autoridad de certificación y ésta revocará el certificado. La revocación del certificado se lleva a cabo por medio de la inclusión de éste en las denominadas listas de revocación de certificados (4) (CRL). Por lo tanto, antes de aceptar como bueno un certificado, a pesar de que la validación de la firma haya sido correcta, deberemos confirmar que no ha sido revocado, confirmando que no esté incluido en la CRL de la autoridad de certificación.
Para concluir, debemos mencionar también que la validez del certificado incluye comprobar si la utilización del certificado está recogida en las posibles utilizaciones que la CA avala, a pesar de que estas restricciones sólo se aplican a ciertos certificados.
4) Extraer la clave pública del emisor del certificado.
Una vez que se han realizado todas las verificaciones y los resultados han sido satisfactorios, se deberá extraer del certificado la clave pública del emisor. Habrá que saber también qué algoritmo de firma corresponde a aquella clave.
5) Verificar la firma del mensaje realizada por el emisor.
En este punto, ya estamos en posesión de la clave pública del emisor y tenemos la certeza de que esta clave pública pertenece al emisor. Así, sólo queda verificar la firma digital, tal como se ha descrito en el apartado anterior.
En resumen, cuando el receptor de un mensaje quiere comprobar la validez de una firma digital, es necesario que esté seguro de que la clave pública que utiliza para verificarla pertenece al emisor del mensaje. Esta verificación recae en el certificado digital que una autoridad de certificación ha firmado.
Por lo tanto, los certificados digitales y las autoridades de certificación son la pieza clave para el uso de la criptografía de clave pública.
Toda la estructura (certificados, CA, CRL, estructuras jerárquicas, etc.) que rodea la criptografía de clave pública y que sirve para obtener en la práctica las propiedades teóricas de la criptografía de clave pública es lo que se conoce como infraestructura de clave pública (5) (PKI).
A menudo, sin embargo, el concepto de PKI se extiende, además, al conjunto de protocolos, sistemas de cifrado y servicios en general que permiten desarrollar aplicaciones de criptografía de clave pública.

3.3.Tarjetas inteligentes

Hasta aquí hemos visto cómo las firmas digitales pueden ofrecer como mínimo las mismas prestaciones que las firmas convencionales. A pesar de ello, hemos mencionado el problema que representa el "ataque del hombre a medio camino" y cómo los certificados pueden ayudar a solucionarlo.
Pero, superadas todas estas barreras, nos encontramos con la problemática de que para firmar digitalmente el usuario debe realizar operaciones criptográficas complejas que no puede hacer a mano. Las tarjetas con microprocesador tienen una capacidad de cálculo y una portabilidad que las hace muy adecuadas para representar al usuario en estos casos.
Una tarjeta inteligente es aquella que cumple la norma ISO 7810 en cuanto a volumen (0,75 mm) y a medida (como la de una tarjeta de crédito, 85,6 mm × 53,98 mm) y, además, incorpora uno o más circuitos integrados en su volumen.
Una tarjeta inteligente puede ser vista como un ordenador sin dispositivos de entrada/salida, a pesar de que puede realizar entrada/salida cuando se conecta a los dispositivos externos adecuados.
Dispone de un procesador de memoria tanto volátil como no volátil, en forma de RAM (Random Access Memory), ROM (Read-Only Memory), PROM (Programmable ROM) y EEPROM (Electrically Erasable Programmable ROM).
Los procesadores de las tarjetas actuales son bastante variados y van desde arquitecturas de 8 bits hasta procesadores RISC de 32 bits.
La memoria RAM es la más rápida de la tarjeta y en ella suelen haber hasta 128 o 512 bytes. Es volátil en el sentido de que pierde su información tan pronto como el lector externo conectado a la tarjeta deja de proporcionar energía.
La memoria ROM es una memoria permanente (normalmente de silicio). Se usa para guardar los programas básicos del sistema operativo necesarios para arrancar la tarjeta inteligente cuando se empieza a recibir energía del exterior.
La memoria PROM es una memoria no volátil que puede ser escrita sólo una vez. Normalmente es muy pequeña (hasta 32 bytes) y sólo se utiliza para guardar el número de serie de la tarjeta u otros valores fijados.
La memoria EEPROM es una memoria no volátil que se puede borrar eléctricamente y reescribir hasta 10.000 veces. Ocupa la mitad del área del chip y sería el equivalente del disco duro de la tarjeta. En él se guarda el software de aplicación. Las tarjetas actuales tienen entre 8 y 256 KB y se espera que muy pronto existirán tarjetas de 1 MB.
La seguridad de las tarjetas inteligentes se produce, por un lado, por el hecho de que el propio usuario la puede llevar siempre encima y, por otro, porque el acceso a la tarjeta se realiza por medio de un número de identificación personal o PIN o, en aquellos casos en los que se requiere máxima seguridad, por medio de una característica biométrica, como puede ser la huella digital. Además, muchos modelos tienen mecanismos de autoborrado en el caso de ser manipulados físicamente.
Actualmente existen muchas aplicaciones que están estrechamente ligadas a las tarjetas inteligentes: telefonía digital móvil (GSM), descodificación de televisión vía satélite, tarjetas sanitarias, etc. Pero la gran esperanza de las tarjetas inteligentes es el comercio electrónico y a la inversa.
Los primeros usos de tarjetas para el comercio electrónico han sido las tarjetas de pago para cabinas telefónicas y también los monederos electrónicos, si bien en muchos casos las tarjetas utilizadas eran únicamente de memoria y no tenían ningún tipo de procesador.
Con la incorporación del procesador, las tarjetas inteligentes se presentan como una plataforma idónea para la implementación de la parte del comprador de varios protocolos de pago. Además, como veremos en el módulo "Sistemas de pago electrónico", la mayoría de los sistemas de pago obtienen su seguridad a partir de una infraestructura de claves públicas; por lo tanto, la idoneidad de las tarjetas para la implementación de esquemas de firma digital está estrechamente vinculada a los sistemas de pago.
Seguridad a partir de infraestructuras de clave pública
Una prueba de estas tendencias es el hecho de que las nuevas tarjetas inteligentes que los fabricantes sacan al mercado incorporan funciones criptográficas, como la generación de claves RSA, el cifrado simétrico, las funciones hash, etc. La implementación de estas rutinas se lleva a cabo en la memoria ROM de la tarjeta inteligente. Esto supone un ahorro de memoria EEPROM, dado que el programador efectúa las llamadas a estas funciones y no las debe implementar. Además, también implica un incremento de la velocidad de ejecución. La ejecución del código de la ROM es más rápido que el del EEPROM y, por su parte, los fabricantes de las tarjetas optimizan al máximo las rutinas criptográficas, ya que conocen perfectamente el microprocesador de la tarjeta.
Sin embargo, no cabe duda de que el gran enemigo actual de las tarjetas inteligentes es, por un lado, la carencia de una estandarización de los mecanismos de control y programación de las tarjetas que dificulta la interoperabilidad de las diferentes aplicaciones para tarjetas y, por otro, la carencia de lectores de tarjetas inteligentes para los PC.
A pesar de ello, las ventajas de seguridad que puede representar el uso de este tipo de tarjetas unidos a la reutilización de dispositivos de lectura de tarjetas inteligentes actualmente muy extendidos, como los teléfonos móviles, hacen prever un futuro muy prometedor para estos tipos de dispositivos.

4.Las diferentes perspectivas de seguridad

En los apartados anteriores hemos repasado cuáles son las técnicas criptográficas que se utilizan para obtener las propiedades de seguridad de la información que hemos definido al principio del módulo.
En este apartado veremos cómo se pueden aplicar al comercio electrónico en concreto las diferentes técnicas de la protección de la información que hemos visto hasta ahora.
Para hacerlo, dividiremos el escenario del comercio electrónico en tres grandes áreas:
  1. Seguridad en el conjunto de los datos.

  2. Seguridad en los sistemas de pago.

  3. Seguridad en los artículos, en soporte digital, objeto de la venta.

Esta clasificación será la que utilizaremos en el resto de módulos y, por este motivo, iniciamos aquí esta distinción.

4.1.Seguridad en el conjunto de los datos

Una de las ventajas de cara a los vendedores que presenta el comercio electrónico respecto al convencional es el hecho de poder obtener mucha información proveniente de los compradores. Esta información puede ser muy valiosa para una organización y, por este motivo, es importante que se proteja adecuadamente. Además, hay requisitos legales que hacen que la protección de los datos personales de los compradores sea obligatoria por ley.
Así, será necesario que el acceso al conjunto de los datos esté debidamente restringido. En las aplicaciones en las que las bases de datos están en entornos cerrados, como una intranet, esta protección es más fácil de conseguir, lo que no significa que se implemente siempre.
La dificultad de gestionar correctamente la seguridad en una aplicación de comercio electrónico radica, en gran medida, en la necesidad que esta aplicación tiene de disponer de un componente externo, situado en la red externa (Internet) con la que interaccionarán los compradores, y de otro componente privado, situado en la intranet, que servirá para que el vendedor controle el sistema.
Este hecho hace necesaria la separación lógica de estos dos entornos. Por este motivo, es sumamente importante que las aplicaciones de comercio electrónico dispongan de herramientas como los cortafuegos, que permiten aislar una intranet cuando ésta se halla conectada a Internet.
A pesar de que este aislamiento de las dos redes se lleve a cabo configurando correctamente los cortafuegos adecuados, todavía queda un problema pendiente y es el acceso a los datos que se pueden obtener a través de la red pública.
Tal como se ve en el módulo "Gestión de la información", en una aplicación típica de comercio electrónico los compradores se pueden registrar para ser posteriormente reconocidos, realizando operaciones basadas en datos. Este registro implica una interacción también basada en datos y, por lo tanto, hay que protegerla adecuadamente. El punto más delicado de este proceso es la autenticación de los compradores.
Normalmente, la autenticación de los compradores se realiza por medio de usuario y contraseña. Este tipo de autenticación tiene, en principio, ciertas vulnerabilidades. Por ejemplo, dado que el usuario y la contraseña son los mismos para cada conexión (si el usuario no la cambia, hecho que sólo se hace de vez en cuando), un atacante que intercepte los datos durante el proceso de autenticación se podría autenticar posteriormente suplantando a este usuario. Así, podría obtener todos sus datos personales que figuran en la base de datos del vendedor.
Ahora bien, la autenticación con usuario y contraseña combinada con otras técnicas puede ser bastante efectiva. El ataque que hemos descrito anteriormente es factible por el hecho de que las redes abiertas como Internet no ofrecen la propiedad de confidencialidad en las comunicaciones. Por lo tanto, si incorporamos la propiedad de confidencialidad en la comunicación que hace el comprador para transmitir su usuario y contraseña, habremos resuelto este tipo de ataque.
En la práctica, el proceso de autenticación de usuario y contraseña vía Internet se realiza por medio del protocolo de transporte Secure Sockets Layer (SSL), que ofrece la propiedad de confidencialidad en el transporte de los datos. Con esta combinación, el proceso de autenticación se vuelve bastante seguro para la gran mayoría de las aplicaciones de comercio electrónico.

4.2.La seguridad en los sistemas de pago

Dentro del comercio electrónico, una parte importante de la seguridad está dedicada a los sistemas de pago, que son los que, en definitiva, se responsabilizan de la transferencia de dinero y, por lo tanto, parece que sean los más susceptibles a posibles ataques.
En este subapartado hablaremos de las propiedades de seguridad que debe tener un sistema de pago y, por extensión, de la seguridad necesaria en la transferencia de información por medio de las redes de ordenadores, porque no olvidemos que, en el fondo (tal como se ve en el módulo "Sistemas de pago electrónico"), un pago electrónico no es otra cosa que una transferencia de información por medio de redes de computadores.
Para empezar, un sistema de pago electrónico debe cumplir las cuatro propiedades básicas de seguridad de la información: confidencialidad, integridad, autenticación y no repudio.
Además, en el caso concreto de los sistemas de pago, hay otras propiedades que se deben cumplir. Las dividiremos en dos grupos, las propiedades de seguridad propiamente dichas y las características del sistema de pago que pueden derivar en problemas de seguridad.
Propiedades de seguridad:
a) Infalsificabilidad: es la propiedad que nos asegura que no podremos falsificar el dinero. Esta propiedad es muy importante cuando hablamos de dinero digital, puesto que éste es información en formato digital y, como ya es sabido, la duplicación de cualquier información digital es en principio simple, rápida y exacta.
b) No sobregasto: esta propiedad nos garantiza que una misma información no será utilizada más de una vez para realizar un pago. En otras palabras, no se debe poder obtener un valor superior al valor que corresponde a aquella información. Por ejemplo, no se debe poder pagar más de una vez con una única moneda.
c) Atomicidad: es la propiedad que asegura que una transacción o bien se realizará en su totalidad o bien no se hará. Esta propiedad, importante en todos los sistemas, es básica en los sistemas de pago electrónico, ya que evita estados inconsistentes y, por lo tanto, posibles fraudes, por ejemplo, un usuario con un crédito x podría realizar n pagos simultáneos y forzar una cancelación de las operaciones para que se le reembolse el importe total nx.
d) Consistencia: esta propiedad asegura que el pago se realiza de manera global, es decir, por ejemplo, si un vendedor ha cobrado de un comprador, este comprador ha tenido que pagarle.
e) Disponibilidad: esta propiedad nos asegura que los usuarios del sistema podrán realizar pagos y cobros siempre que lo deseen.
Propiedades del sistema de pago que pueden tener repercusiones en la seguridad de éste:
a) Transferibilidad: esta propiedad posibilita la transferencia del dinero por medio de diferentes usuarios sin necesidad de que una entidad central participe en ella. En el caso de sistemas de pago electrónicos, esta propiedad no es fácil de conseguir, puesto que el dinero se encuentra en formato electrónico y, por lo tanto, es difícil impedir que un usuario no realice el gasto de un "billete" una vez lo ha transferido a otro usuario. Así, la dificultad de implementación de esta propiedad reside en preservar al mismo tiempo la propiedad de no sobregasto.
b) Divisibilidad: esta propiedad permite a un usuario dividir el importe de un billete en fracciones más pequeñas, de modo que la suma de los valores de las fracciones sea la misma que el total. De nuevo, la propiedad de no sobregasto queda afectada si se intenta incorporar esta propiedad a un sistema de pago. No obstante, si nos fijamos, esta propiedad no la cumplen los sistemas de pago físicos en billetes y monedas, dado que, si así fuera, la necesidad de tener cambio en las cajas no tendría sentido.
c) Anonimato: con esta propiedad se consigue que no se pueda obtener la identidad del comprador a partir de un pago realizado. Dentro de los pagos anónimos encontramos dos niveles:
  • Anonimato revocable o no revocable: depende de si la identidad del comprador se puede obtener no directamente del pago, sino con la cooperación de varias entidades, o si esto es del todo imposible.

  • Enlazabilidad: esta propiedad hace referencia al hecho de que, a pesar de que no se puedan conectar la identidad del comprador con el pago, sí que se pueden identificar todos los pagos que ha realizado un mismo comprador.

Si bien la propiedad de anonimato no afecta directamente al resto de propiedades de seguridad, es evidente que el hecho de que no se pueda obtener información sobre quién ha realizado el pago provoca que los posibles fraudes realizados con este pago (estafas, extorsiones, etc.) no puedan ser imputados a nadie.
Para obtener las propiedades que hemos mencionado, los sistemas de pago utilizan diferentes mecanismos criptográficos que actúan como piezas básicas para los diferentes protocolos. Por ejemplo, para ofrecer las cuatro propiedades básicas de confidencialidad, integridad, autenticidad y no repudio, los sistemas de pago utilizan las infraestructuras de clave pública (PKI).
Para ofrecer el anonimato irrevocable, a menudo se utiliza la firma ciega de la manera siguiente. El comprador crea un billete digital con un número de serie y lo envía al banco. Éste pone una firma ciega sobre el billete, de modo que valida el billete, es decir, descuenta el valor del billete de la cuenta del comprador, pero no puede ver el contenido del billete (el número de serie). Cuando posteriormente el comprador utilice el billete y éste llegue al banco, el banco podrá determinar que es válido porque llevará su firma, pero no sabrá a quién pertenece el billete porque, cuando el comprador lo trajo a registrar en el banco, éste puso una firma ciega y no vio el número de serie.
Otras de las propiedades que hemos pedido a los sistemas de pago electrónico para que se asemejaran a los sistemas tradicionales no tienen una resolución simple. Así, por ejemplo, las propuestas de sistemas de pago que incorporan la propiedad de transferibilidad o divisibilidad son propuestas muy teóricas y las soluciones que aportan para ofrecer estas propiedades, sin que se vea afectada el no sobregasto, implican protocolos criptográficos muy complejos que escapan del alcance de estos materiales.
4.2.1.Seguridad en el transporte de los datos: SSL-TLS
Como hemos mencionado anteriormente, podemos pensar en un pago electrónico como una transferencia de información por medio de redes de ordenadores. Por este motivo, la seguridad en el transporte de los datos es sumamente importante en los sistemas de pago.
Como es ya sabido, el protocolo TCP/IP se diseñó para un entorno de comunicación abierto y, por este motivo, no incorpora las propiedades de seguridad necesarias para aplicaciones del tipo de comercio electrónico. Por lo tanto, cuando se utiliza una base tecnológica como la del protocolo TCP/IP para realizar, por ejemplo, pagos, hay que aportar una seguridad extra para otros medios.
El protocolo Secure Sockets Layer (SSL) es un protocolo de nivel de transporte que confiere diferentes propiedades de seguridad a las comunicaciones.
El SSL fue creado por Netscape Communications para incluir ciertas propiedades de seguridad al protocolo TCP/IP. Así, por ejemplo, el SSL resuelve el problema de enviar datos confidenciales a un servidor web mediante un formulario de una página web.
La versión de SSL que está más implementada es la 3.0, desarrollada a mediados de los años noventa, a pesar de que, en la actualidad, se ha definido la versión 1.0 del protocolo denominado Transport Layer Security (TLS), basado en SSL 3.0.
Existen pocas diferencias entre el TLS y el SSL, y por ello en el resto del apartado sólo nos referiremos al SSL, que es el que está ampliamente implementado, si bien, exactamente, las mismas consideraciones se podrían hacer para el protocolo TLS.
Desde un punto de vista muy genérico, el SSL establece una comunicación cifrada entre nuestro ordenador (el cliente) y el ordenador que contiene la página web (el servidor). Para hacerlo, utiliza tanto la criptografía de clave simétrica como la de clave pública, de manera muy parecida a como se usa el sobre digital.
A partir de la clave pública (normalmente la del servidor), se establece una clave de un esquema de clave simétrica, que será la clave de sesión. Desde este momento, toda la información entre cliente y servidor va cifrada utilizando esta clave de sesión y el algoritmo de cifrado simétrico especificado.
Si repasamos qué propiedades de seguridad nos aporta el protocolo SSL, vemos lo siguiente:
1) Confidencialidad: en el SSL la confidencialidad se da porque los datos que circulan por la Red mediante este protocolo lo hacen en forma cifrada con la clave de sesión que inicialmente se ha acordado. Esta clave se eliminará cuando finalice la sesión y, en otra sesión, se negociará una nueva. El criptosistema de clave simétrica utilizado no está fijado por el SSL, sino que el protocolo especifica diferentes algoritmos de cifrado previstos.
2) Integridad: el SSL implementa la integridad utilizando funciones hash. Los paquetes que transportan los datos en una transmisión SSL incorporan a la vez una función hash de éstas, hecho que asegura la integridad.
3) Autenticidad: como ya hemos resaltado anteriormente, la autenticidad es la propiedad que nos permite estar seguros de la identidad, en este caso, de una de las partes de la comunicación. Esta propiedad es la más importante porque no sirve de nada cifrar los datos (confidencialidad) y estar seguro de que llegan tal como las hemos enviado (integridad) si el destinatario que está al otro lado de la comunicación no es quien creemos. A pesar de esta reflexión, la autenticidad en el protocolo SSL es, en principio, opcional, tanto para el servidor como para el cliente, pero, en la gran mayoría de los casos, el SSL siempre está implementado con autenticidad del servidor y casi nunca con autenticidad del cliente.
El SSL ofrece autenticidad por medio de la criptografía de clave pública. Si la implementación ofrece autenticidad del servidor, éste deberá disponer de una clave pública, de una privada y de un certificado digital. En el caso de que también ofrezca autenticidad para el cliente, éste deberá disponer de su par de claves.
En cuanto a las CA, el SSL utiliza las que le especificamos nosotros. En la práctica, lo que sucede es que en el software de la aplicación que utiliza el protocolo, normalmente un navegador de Internet, hay una serie de CA por defecto en las que se supone que todo el mundo puede confiar. De este modo, los servidores se preocupan por obtener certificados de estas CA, puesto que, así, cualquier cliente implícitamente ya confiará en aquel servidor (dado que su navegador confía en la CA que firma su certificado).
4) No repudio: el SSL no cumple esta propiedad completamente. Esto se debe al hecho de que se necesita la criptografía de clave pública para lograr esta propiedad y, para las implementaciones de la SSL que no incorporan autenticación del cliente (que son la mayoría), sólo se tiene la propiedad para la parte del servidor, pero no para la parte del cliente.
Así, vemos que el SSL y, por extensión, el TLS en la mayoría de sus implementaciones no cumplen las propiedades de autenticidad y no repudio para la parte del cliente. Este hecho provoca que los sistemas de pago basados en SSL o TLS tampoco incorporen esta propiedad y, por lo tanto, la mayoría de los fraudes realizados en estos sistemas de pago se derivan de la carencia de estas dos propiedades.

4.3.Seguridad en el producto vendido

Una novedad importante que aportan las redes de computadores (como Internet) al comercio electrónico es la venta de artículos en soporte electrónico (audio, vídeo, software, documentos, etc.), dado que con estos artículos toda la transacción económica (desde el pedido hasta la entrega del producto) se puede hacer en la Red.
El problema que presentan los productos en soporte electrónico es que las copias son muy baratas y totalmente exactas. Este hecho reduce los costes de producción para el vendedor, pero, al mismo tiempo, añade el riesgo de la piratería: el comprador fácilmente puede redistribuir la copia, sin pérdida de calidad, de manera ilegal. Surge, pues, el problema de la protección de la propiedad intelectual de estos artículos, hecho que se conoce como protección del copyright electrónico.
A continuación, introduciremos los problemas que presentan las técnicas de protección de la información, como la criptografía cuando se intenta aplicar a la protección del copyright.
4.3.1.Carencias de la criptografía
A la hora de aplicar la criptografía a la protección del copyright, nos encontramos con que el escenario, en este caso, es diferente de, por ejemplo, un esquema de comunicación segura, necesario en un sistema de pago.
Recordemos que en un esquema de comunicación segura tenemos dos participantes que se quieren mandar un mensaje. Los dos conocen ciertas claves (ya sean simétricas o públicas) que utilizan, por ejemplo, para que, en el caso de la privacidad, ninguna otra persona pueda conocer el contenido de sus comunicaciones.
Ahora bien, en un esquema de protección del copyright, las partes que intervienen son diferentes. En primer lugar, hay un vendedor (6) (emisor) que vende (emite) un artículo (mensaje) a un comprador (receptor). Fijémonos bien en que en este caso se quiere ofrecer seguridad a la información, pero, suponiendo que el comprador puede ser deshonesto, mientras que, en el caso de la comunicación, quien se supone que actúa de mala fe es una tercera parte. Por este motivo, el esquema directo de cifrado entre vendedor y comprador no sirve para la protección del copyright porque, si estos compartieran ciertas claves, podrían ser utilizadas por el comprador para redistribuir la información una vez ya descifrada.
Por lo tanto, nos encontramos con que, si queremos añadir criptografía a la protección de la propiedad intelectual, se deberá cifrar la información por parte del vendedor, pero, curiosamente, el comprador no deberá tener la clave de descifrado. En este caso, ¿como tendrá acceso el comprador al contenido descifrado del producto que ha comprado (audio, vídeo, etc.)? La solución pasa por incluir la clave de descifrado en los "reproductores oficiales" del producto en cuestión. Así, por ejemplo, un reproductor oficial de DVD descifra la información que ha cifrada en el DVD y lo emite a la pantalla del televisor.
Este sistema de protección del copyright presenta, a priori, una debilidad importante: la gestión de las claves. El hecho de que las claves de descifrada deban ser conocidas por todos los reproductores oficiales del producto presenta una gran dificultad en su gestión y supone un nivel crítico de información secreta excesivamente elevado para la seguridad del sistema. Precisamente, este hecho es el que ha propiciado la ruptura del sistema de protección del DVD, conocido como Content Scrambling System (CSS).
Los esquemas de protección del copyright basados en criptografía se encuentran dentro de lo que se conoce como esquemas de protección de copia y se presentan con más detalle en el módulo "Protección del copyright electrónico".
4.3.2.Otras posibilidades: la esteganografia
Como acabamos de ver, la criptografía por sí sola es una herramienta difícil de aplicar para la correcta protección del copyright. Por este motivo, a principios de los años noventa empezaron a aparecer nuevas técnicas de protección del copyright basadas en la esteganografia.
La esteganografia es la técnica que permite ocultar un mensaje dentro de otro contenido.
Por ejemplo, si tenemos una imagen digital, podemos modificar el color de ciertas partes para que tengan un significado concreto. De este modo, se pueden codificar mensajes dentro de una imagen.
Esta técnica se utiliza en la protección del copyright para incluir identificadores dentro de los productos en formato digital, de modo que, cuando copiamos el producto, también copiamos estos identificadores.
Los esquemas de protección del copyright basados en la esteganografia están dentro del grupo de esquemas de detección de copia. En el módulo didáctico "Protección del copyright" se describen con detalle las características y propiedades de estos esquemas y veremos algunos ejemplos concretos.

Resumen

En este módulo didáctico hemos puesto de manifiesto la importancia de la seguridad en las aplicaciones de comercio electrónico.
Hemos señalado los conceptos básicos de criptografía que nos han permitido entender la diferencia entre la criptografía de clave simétrica y la criptografía de clave pública. Estas nociones nos han permitido ver que las propiedades de estos dos tipos de criptografía son complementarias y, por ello, en la práctica, lo que se utiliza en las aplicaciones es el sobre digital, que es la combinación óptima de criptografía de clave simétrica y de clave pública.
Dentro de los conceptos avanzados de clave pública hemos definido el concepto de firma digital y hemos visto que el uso de las funciones hash nos permiten reducir el coste computacional inherente a la criptografía de clave pública. También hemos introducido el concepto de infraestructura de clave pública, que nos sirve para conseguir, en la práctica, las propiedades de seguridad de la información que tiene, teóricamente, la criptografía de clave pública. Finalmente, hemos apuntado cómo las tarjetas inteligentes nos pueden ayudar a implementar de manera todavía más segura aplicaciones de comercio electrónico.
En el último apartado, hemos incidido en los diferentes ámbitos de seguridad del comercio electrónico. En cuanto a la seguridad en el conjunto de los datos, hemos puesto énfasis en la problemática que presentan las aplicaciones de comercio electrónico desde un punto de vista de intersección de redes públicas y redes privadas. También hemos hecho mención a los mecanismos más idóneos para la autenticación de los compradores en las bases de datos de las aplicaciones de comercio electrónico.
En cuanto a la seguridad de los sistemas de pago, hemos descrito las propiedades más importantes que éstos deben cumplir y hemos hecho mención a cómo se pueden obtener algunos con las técnicas que previamente hemos descrito. También hemos hecho mención de la seguridad en el transporte de los datos, poniendo énfasis en las propiedades de seguridad que nos aportan protocolos de transporte como el SSL o el TLS.
Para acabar, haciendo referencia a la seguridad del producto vendido en soporte digital, hemos descrito las carencias que la criptografía tiene para resolver el problema de la protección del copyright y cómo otras técnicas, como la esteganografia, pueden aportar soluciones más satisfactorias.

Actividades

1. Instalaos el software gratuito PGP y haced pruebas de cifrado y firma para familiarizaros con el uso de la criptografía tanto de clave privada como de clave pública. Esto también os servirá para comprobar la simplicidad de las complejas operaciones criptográficas cuando se utiliza el software adecuado.
https://www.pgpi.org
2. Los certificados digitales que siguen el estándar X.509 y que están emitidos por autoridades de certificación reconocidas son de pago. De todos modos, podéis obtener un certificado personal de Verisign gratuito para sesenta días. Este certificado personal os permitirá incorporarlo a vuestro gestor de correo (Netscape o Microsoft) para poder enviar mensajes firmados y recibir cifrados.
https://digitalid.verisign.com/client/class1ms.htm
3. Conectaos a un servidor que utilice SSL y examinad las propiedades de su certificado digital y quién lo certifica. A continuación, intentad borrar de vuestro navegador la autoridad de certificación que certifica el servidor en cuestión y volved a conectaros para ver qué mensajes os da el navegador.

Ejercicios de autoevaluación

1. Supongamos la situación siguiente: el departamento de recursos humanos de una empresa decide enviar por correo electrónico el aumento de sueldo a cada trabajador. Describid qué propiedades mínimas de seguridad debe cumplir este envío de información.
2. Descifrad el siguiente texto cifrado, teniendo en cuenta que ha sido cifrado con una cifra de sustitución simple con k = 7.
SG ZLNBYLAGA LZ ZVCPUA XBLZPV KL IVUMPGUJG
3. ¿Qué propiedad de seguridad de la información que no tiene la firma convencional incorpora la firma digital?
4. ¿Qué pasaría si en un esquema de firma digital utilizáramos una función hash que no fuera libre de colisiones?
5. ¿Qué debemos hacer si queremos verificar una firma digital y no tenemos la clave pública de la autoridad que la certifica? ¿Podremos en todos los casos verificarla?
6. Supongamos que tenemos un mensaje firmado por A y su certificado digital. Si verificamos el certificado digital y comprobamos que está revocado, es decir, que figura en una CRL, ¿qué podemos decir sobre la validez de la firma digital?
7. En el entorno de SSL, ¿cómo podríamos hacer un ataque para corromper la propiedad de autenticación del servidor, suponiendo que por un momento tenemos acceso total al navegador del cliente?

Solucionario

Ejercicios de autoevaluación
1. En el caso de que el departamento de recursos humanos decida enviar los aumentos de sueldo, como mínimo, es necesario que se cumplan los requisitos de seguridad siguientes:
  • Confidencialidad: ningún trabajador puede ver el aumento de sueldo del resto de compañeros.

  • Autenticación: no se deben poder hacer bromas a los compañeros enviando mensajes de aumentos de sueldos en nombre de recursos humanos.

  • Integridad: tampoco ha de ser posible modificar el correo que envía el departamento de recursos humanos.

  • No repudio: si lo que se pretende es que la comunicación por medio del correo electrónico tenga validez "legal", el departamento de recursos humanos no puede negar haber mandado un mensaje a un trabajador con un determinado aumento de sueldo si realmente este mensaje ha sido enviado desde recursos humanos.

2. La tabla de descifrado de una cifra de sustitución simple con k = 7 para el alfabeto es la siguiente:

Texto en claro

A

B

C

Ç

D

E

F

G

H

I

J

K

L

M

Texto cifrado

G

H

I

J

K

L

M

N

O

P

Q

R

S

T

Texto en claro

N

O

P

Q

R

S

T

U

V

W

X

Y

Z

Texto cifrado

U

V

W

X

Y

Z

A

B

C

Ç

D

E

F

Por lo tanto, el texto en claro correspondiente a
SG ZLNBYLAGA LZ ZVCPUA XBLZPV KL IVUMPGUJG
es
LA SEGURETAT ÉS SOVINT QÜESTIÓ DE CONFIANÇA.
3. La propiedad de integridad es la única propiedad de seguridad de la información que incorpora la firma digital, pero que no tiene la firma convencional. En una firma digital, el documento que firmamos está incluido en la propia firma por medio del resumen obtenido con la función hash. Mientras que en la firma convencional la firma es una rúbrica al final del documento, lo que no impide que tras la rúbrica se añadan, se supriman o se modifiquen cosas.
4. Si utilizamos una función hash que no esté libre de colisiones, podríamos encontrar dos mensajes m y m', tales que sus valores hash fueran iguales h(m) = h(m'). Así, un usuario A podría firmar el mensaje m y, posteriormente, alguien podría reclamar que A ha firmado el mensaje m', dado que el valor de la firma DSKA(H(m)) sería el mismo para los dos mensajes. Esto constituiría un problema muy grave, por ejemplo, en caso de que B preparara dos contratos m y m', donde m indicara que A le debe pagar 10 euros y m' indicara que hay de pagar 100. B enviaría el contrato m a A y éste lo firmaría. Posteriormente, B mostraría la firma hecha por A y el mensaje m', que coincidiría y reclamaría a A los 100 euros.
5. Como ya hemos explicado, necesitamos un certificado para validar correctamente una firma digital. Si no tenemos la clave pública de la autoridad que firma el certificado, deberemos conseguirla por medio de entidades de confianza para asegurarnos de que la clave pública que nos llega es efectivamente la de la autoridad de certificación que queremos. Sin embargo, podría darse el caso de que no hubiera ningún camino de certificación entre nosotros y la autoridad de certificación que firma el certificado. En este caso, no podríamos validar la firma. Este hecho se puede dar cuando existe una comunidad cerrada que usa una PKI propia. Si algún miembro de esta comunidad utiliza su firma para firmar documentos fuera de la comunidad, los usuarios de fuera de ésta no podrán validar la firma porque no podrán obtener un camino de certificación hasta su autoridad certificadora.
6. Si en el proceso de verificación de la firma de un mensaje firmado por A comprobamos que su certificado digital está revocado, es decir, que figura en una CRL, es importante fijarnos en la fecha en la que se firmó el mensaje. Podría ser que el mensaje fuera firmado en el mes de julio, que el certificado hubiera sido revocado en el mes de agosto y que nosotros estuviéramos intentando verificar la firma en septiembre. En este caso, dado que en la fecha de firma del mensaje el certificado era válido, la firma se debe considerar correcta. Evidentemente, esta situación sólo se puede dar en el supuesto de que todas las acciones (firma, revocación y validación) estén fechadas de una manera fiable. A pesar de que no se ha tratado este tema en el módulo didáctico, ya se puede comprobar que el problema de datación fiable de documentos electrónicos también afecta una PKI.
7. Un ataque para corromper la propiedad de autenticación del servidor del protocolo SSL podría ser el siguiente. Suponiendo que por un momento tenemos acceso total al navegador del cliente, lo único que deberíamos hacer es incorporarnos como autoridad certificadora reconocida por el navegador. A partir de ese momento, podríamos generar certificados para todo el mundo que quisiéramos y éstos serían aceptados como válidos por aquel navegador. Por ejemplo, podríamos emitir un certificado para un servidor de un amigo certificando que aquel servidor es La Caixa. Cuando el cliente con el navegador accediera allí, no tendría ninguna duda de que está contactando con La Caixa. Este hecho nos alerta sobre los problemas que puede llegar a crear la carencia de conocimiento de los usuarios sobre temas de seguridad y certificación. ¿Hemos pensado en alguna ocasión qué autoridades de certificación consideramos fiables en el navegador que utilizamos normalmente?

Glosario

autenticación f
Propiedad que hace referencia a la identificación. Es el nexo de unión entre la información y el emisor de ésta.
autoridad de certificación f
en certification authority
Entidad que da validez a un certificado digital.
Sigla: CA
CA f
Ved autoridad de certificación
certificado digital m
Documento digital que vincula una determinada clave pública a un usuario.
certification authority f
Ved autoridad de certificación
certification revocation list f
Ved lista de revocación de certificados
confidencialidad f
Propiedad que asegura que sólo aquellos que están autorizados tendrán acceso a la información.
sin.: privacidad
criptoanálisis m
Estudio de las técnicas que permiten romper los criptosistemes que diseña la criptografía.
criptografía f
Ciencia que estudia las técnicas matemáticas relacionadas con los diferentes aspectos de la seguridad de la información.
criptografía de clave pública f
Esquema de cifrado en el que cada usuario tiene un par de claves: una pública PK y otra privada (o secreta) SK. La clave pública PK y la clave secreta SK definen dos funciones de cifrado EPK(x) y de descifrado DSK(x), respectivamente, que son inversas, es decir, DSK(EPK(x)) = x o, lo que es lo mismo, DSK(x) = E-1PK(x).
criptografía de clave compartida f
sin.: criptografía de clave simétrica
criptografía de clave secreta f
sin.: criptografía de clave simétrica
criptografía de clave simétrica f
Esquema de cifrado que incluye aquellas cifras en las que el emisor y el receptor comparten una misma clave para cifrar y descifrar los mensajes. sin.: criptografía de clave secreta, criptografía de clave compartida
criptología f
Ciencia que engloba la criptografía y el criptoanálisis.
criptosistema m
Método por el que un texto en claro se transforma en un texto cifrado.
sin.: cifra
criptosistema de bloque m
Esquema de cifrado que divide el texto en claro en bloques de longitud fija y que realiza la acción de cifrado sobre cada bloque utilizando la clave secreta compartida por emisor y receptor.
CRL m
Ved lista de revocación de certificados
firewall m
Ved cortafuegos
función hash f
Función que hace corresponder a un mensaje m de medida variable una representación H(m) de medida fija.
infraestructura de clave pública f
en public key infrastructure
Toda la estructura (certificados, CA, CRL, estructuras jerárquicas, etc.) que rodea la criptografía de clave pública y que sirve para obtener en la práctica las propiedades teóricas de la criptografía de clave pública.
Sigla PKI
integridad f
Propiedad que asegura la no alteración de la información.
lista de revocación de certificados f
en certification revocation list
Lista en la que figuran todos los certificados que una CA ha revocado.
Sigla CRL
no repudio m
Propiedad que preserva que alguna de las partes niegue algún compromiso o acción tomada con anterioridad.
PKI m
Ved infraestructura de clave pública
privacidad f
sin.: confidencialidad
public key infrastucture f
Ved infraestructura de clave pública
revocación de un certificado f
Acción que realiza la CA sobre un certificado emitido por ella misma para retirarle la validez que le había otorgado. La acción concreta que realiza la CA para revocar el certificado es su inclusión en una CRL.
secure sockets layer m
Protocolo de nivel de transporte que confiere diferentes propiedades de seguridad a las comunicaciones.
Sigla SSL
firma ciega f
Sistema de firma digital que permite que un usario B firme un mensaje proporcionado por el usuario A sin que B pueda conocer el contenido de lo que está firmando.
firma digital f
Equivalente electrónico de la firma convencional.
sobre digital m
Técnica de cifrado híbrida que consigue sacar partido de las ventajas de los criptosistemas simétricos y los criptosistemas de clave pública, utilizando ambas técnicas.
SSL m
Ved secure sockets layer
cortafuegos m
en firewall
Sistema o grupo de sistemas que implementan una política de control de acceso entre dos redes.
tarjeta inteligente f
Tarjeta que cumple la norma ISO 7810 en cuanto a volumen (0,75 mm) y a medida (como la de una tarjeta de crédito, 85,6 mm × 53,98 mm) y, además, incorpora uno o más circuitos integrados dentro de su volumen.
texto en claro m
Texto, mensaje o documento que no ha sido cifrado y, por lo tanto, es comprensible para todo el mundo que lo inspeccione.
texto cifrado m
Texto, mensaje o documento una vez que ha sido cifrado y, por lo tanto, incomprensible para todo el mundo que lo inspeccione directamente. El texto cifrado tiene por defecto la propiedad de confidencialidad.
TLS m
Transport Layer Security.
romper un criptosistema v
Conseguir descifrar un texto cifrado de un criptosistema sin tener la clave de cifrado.
cifra f
sin.: criptosistema.

Bibliografía

Chaum, D. (1982). "Blind Signatures for Untraceable Payments". Proceedings of CRYPTO'82 (págs. 199-203).
Diffie, W.; Hellman, M. (1976). "New directions in cryptography". IEEE Transactions on Information Theory (IT-22, 6, págs. 644-654).
Freier, A. O.; Karlton P.; Kocher, P. C. (1996). SSL 3.0 Specification. https://home.netscape.com/eng/ssl3/index.html.
Oppliger, R. (2000). Security technologies for the Word Wide Web. Artech House.
Request For Comments. (1999). RFC - 2246, The TLS Protocol 1.0. https://sunsite.dk/rfc/rfc/rfc2246.html.
Rivest, R.; Shamir, A.; Adleman, L. (1978). "A Method for Obtaining Digital Signatures and Public-Key Cryptosystems". Communications of the ACM (núm. 21-22, págs. 120-126).
Schneier, B. (1996). Applied cryptography, protocols, algorithms, and source code in C (2.ª ed.). Nueva York: John Wiley & Sons.
Zwicky, E. D.; Cooper,S.; Chapman D. B.; Russell, D. (2000). Building Internet Firewalls (2.ª ed.). O'Reilly & Associates.