13 Firma digital: con clave secreta Un enfoque de las firmas digitales sería tener una autoridad central X que sepa todo y en quien todos confíen. Cada usuario escoge una clave secreta y la lleva personalmente a la autoridad central X. Por tanto, sólo el usuario y X conocen la clave secreta del usuario. En el caso del usuario A, sería la clave secreta KA
Ejemplo: el algoritmo HMAC (Hash Message Authentication Code) que consiste en añadir al final del mensaje, el compendio o resumen de éste, pero cifrado con una clave que identifica al usuario.
14 Hash Message Authentication Method (HMAC) Mensaje recibido Función Hash (Gp:) 4ehIDx67NMop9
Pay to Terry Smith $100.00
One Hundred and xx/100 Dollars (Gp:) Pay to Terry Smith $100.00
One Hundred and xx/100 Dollars
4ehIDx67NMop9 Mensaje + Hash Clave simétrica compartida
Mensaje a mandar Clave simétrica compartida Función Hash (Gp:) 4ehIDx67NMop9
Pay to Terry Smith $100.00
One Hundred and xx/100 Dollars Local Remoto (Gp:) 1
(Gp:) 2
Message Authentication Code MAC and Hash MAC (HMAC) son métodos de autenticación basado en clave simétrica compartida entre ambas partes. Cuando el emisor necesita autenticarse, añade al mensaje a mandar la clave y lo pasa através de la función Hash. Este compendio lo envia junto con el mensaje, paso 1 y el receptor realiza el mismo proceso con su clave compartida, para comprobar que coincide el resultado y por tanto autentica al emisor, paso 2.
15 Firma digital: con clave secreta y un árbitro 1.- Cuando A quiere enviar un mensaje de texto normal P firmado a B, genera KA(B,RA,t,P) y lo envía a X, donde t es una marca de tiempo y RA es un identificador para mensaje único. 2.- X ve que el mensaje es de A, lo descifra y envía un mensaje a B que contiene el texto normal del mensaje de A y también el mensaje firmado KX(A,t,P). Si A niega el envío del mensaje a B: B puede afirmar que el mensaje vino de A y no de un tercero C, pues X no hubiera aceptado un mensaje de A a menos que estuviese cifrado con KA, por lo que no hay posibilidad de que C enviará a X un mensaje falso en nombre de A. B además presenta la prueba KX(A,t,P), que a su vez X (en quien todo el mundo confía) la puede descifrar y testificar que B dice la verdad.
16 Firma digital: con clave secreta y un árbitro Un problema potencial del protocolo de firma con clave secreta es que C repita cualesquiera de los dos mensajes. Para minimizar este problema, se usan en todos los intercambios marcas de tiempo t e identificadores únicos RA, de forma que por ejemplo B pueda revisar todos los mensajes recientes para ver si se usó RA en cualquiera de ellos. De ser así, el mensaje se descarta como repetición.
17 Firma digital: con clave pública (1/4) Un problema estructural del uso de la criptografía de clave secreta para las firmas digitales es que todos tienen que confiar en X. Además X lee todos los mensajes firmados, por ello, los candidatos más lógicos para operar el servidor X son el gobierno, los bancos, … Pero estas organizaciones no tiene porqué inspirar confianza completa a todos los ciudadanos 😉
18 Firma digital: con clave pública (2/4) Supongamos los algoritmos públicos tal que E(D(P))=P y D(E(P))=P (el RSA tiene esta propiedad por lo que el supuesto es razonable). A puede enviar un mensaje de texto normal firmado, P, a B transmitiendo EB(DA(P)), donde: -DA()es la función de descifrado (privada) de A -EB() es la función pública de B Y por tanto B, puede realizar el proceso inverso EA(DB (EB(DA(P)) -DB() es la función privada de B -EA() es la función pública de A
19 P=soy A el firmante, 17.00h 23/6/2004 Calculo DA(P) Usuario A Usuario B (Gp:) B, ¿cuál es tu clave pública?
(Gp:) E B()
(Gp:) EB(DA(P))
Calculo EA(DB(EB(DA(P))))=P t (Gp:) A, ¿cuál es tu clave pública?
(Gp:) E A()
Todo correcto! Está firmado por A Firma digital: con clave pública (3/4) Comprobemos la firma
20 Firma digital: con clave pública (4/4) Supongamos A niega haber enviado el mensaje P a B. Entonces B puede presentar tanto P como DA(P), que es un mensaje válido cifrado por DA() con sólo aplicarle EA(). Dado que B no conoce la clave privada de A, la única forma en que B pudo haber adquirido el mensaje cifrado sería que A en efecto lo hubiera enviado. Pero esto siempre y cuando DA permanezca en secreto. Si A divulga su clave secreta, el argumento ya no se mantiene. Además, A puede decidir cambiar su clave, en consecuencia, parece que sí que se requiere alguna autoridad para registrar todos los cambios de clave y sus fechas.
21 Ejemplo de integridad y validación: uso de rpm de LINUX Para comprobar la firma digital la aplicación rpm de instalación de paquetes en algunas distribuciones de Linux posee la opción checksig: rpm checksig X.i386.rpm siendo X.i386.rpm el paquete a instalar. Esta opción en rpm permite comprobar la integridad del paquete y el origen. La integridad se comprueba con la firma basada con md5. La comprobación del origen (validación) se realiza con la clave pública de GNU (si se dispone). Si no disponemos de dicha firma, la comprobación de origen no puede realizarse y con ello, la GPG (Gnu Privacy Guard) no podrá efectuarse. EGNU(DGNU(compendio-rpm))=compendio-rpm Mirar man rpm
22 Aplicaciones y protocolos seguros para integridad, validación y no repudio Utilización de certificados y autoridades de certificación y registro (x.509) Servidores de directorios (X.500 y LDAP) En correo electrónico, para correo firmado o confidencial (PGP, PEM,S/MIME) Infraestructuras de clave pública (PKI Public Key Infraestructure) y tarjetas inteligentes Protocolos SSL y TSL: Secure Socket Layer (Transport Secure Layer) Los elementos vistos anteriormente, firma y clave pública, están íntimamente relacionados con los siguientes protocolos:
23 ¿Qué es un Certificado? Un archivo, firmado con la clave privada de CA con la identidad, la clave pública del dicha identidad, atributos varios y compendio de dicha información:
DCA(identidad, clave, atributos, compendio{identidad, clave, atributos})
24 Certificado digital (1/2) El certificado digital es un vínculo entre una clave pública y una identidad de usuario, que se consigue mediante una firma digital por una tercera parte o autoridad de certificación que hace pública su clave pública en la que TODOS confían. Por tanto, el certificado se considera como un objeto firmado con la clave privada de la autoridad de cerificación, e incluyendo: identidad del usuario, clave, periodo de validez, identidad emisor, … La autoridad de certificación (CA: Certificacion Authority o Autoridad de Certificación) es una entidad de confianza que es reconocida y aceptada por todos, imposible de suplantar. Por regla general, por seguridad no se trabaja directamente con la autoridad de certificación, si no con un intermediario o autoridad de registro. La Fábrica Nacional de Moneda y Timbre (FNMT) es una CA.
25 Certificado digital (2/2) El certificado raíz es un certificado emitido de la CA para sí misma con su clave pública, para comprobar certificados emitidos por ella. Se suele instalar previamente dicho certificado en el navegador para poder utilizar los certificados de dicha CA. Los navegadores llevan por defecto muchos de ellos. La autoridad de registro que identifica de forma inequívoca al solicitante de un certificado y suministra a la CA los datos verificados para que pueda emitirlo. Lista de certificados revocados (o CRL Certificate Revocation List) es una lista donde se recogen todos los certificados de la CA dados de baja por caducidad aun estando temporalmente vigentes por problemas varios (como que se haya hecho pública la clave privada de un usuario) y por tanto cualquier firma emitida con posterioridad a la revocación no tiene validez. Este documento también es firmado por la propia CA.
26 Ejemplo de certificados raíz en un navegador
27 Autoridades de Certificación (CA) Autoridad de Certificación (CA) es un ente u organismo que, de acuerdo con unas políticas y algoritmos, certifica claves públicas de usuarios o servidores. El usuario A enviará al usuario B su certificado (la clave pública firmada por CA) y éste comprobará con esa autoridad su autenticidad. Lo mismo en sentido contrario. Nota: En el caso que algún certificados no sea emitido por CA local en la que estamos suscritos, la CA local nos puede facilitar el certificado raíz de la CA remota firmado por ella.
A B certificado de A certificado de B Autoridad de Certificación CA Está firmado por CA? Está firmado por CA? CA ? ?
28 Certificados X509v3 (1/2) X.509 es el protocolo que se utiliza para certificar las claves públicas, con lo que los usuarios pueden intercambiar datos de manera segura. Definido por ISO pero aceptado por el IETF en RFC 3280. X.509 está basado en criptografía asimétrica y firma digital Se emplea para autentificar la información en redes externas y en redes internas y en el correo electrónico. La autenticación se realiza mediante el uso de certificados.
Un certificado contiene: el nombre de la CA, el nombre del usuario, la clave pública del usuario y cualquier otra información como puede ser el tiempo de validez El certificado se cifra con la clave privada de la CA. Todos los usuarios poseen la clave pública del CA.
29 Certificados X509v3 (2/2) Los campos del X.509 escritos en ASN1 son: Versión: La del protocolo X.509 (actualmente versión 3) Número de serie: Es un número asignado por el CA y que identifica de manera única el certificado. Algoritmo de la firma del certificado: Identifica el algoritmo utilizado para firmar el certificado. Autoridad de certificación (CA): Es el nombre de la CA en formato X.500 Fecha de inicio y final: tiempo de validez Usuario: Es el nombre del usuario. Clave pública: Es la clave del usuario. Identificador único del CA: Es el número que identifica a la CA. Es único en el mundo. Identificador único del usuario: Es el número que identifica al usuario para todos sus certificados. Extensiones: Si hay extensiones de la información Firma de la CA: Firma todos los campos anteriores empleando, para ello un compendio del certificado y luego cifrado con su clave privada.
30 En muchas ocasiones no se dispone ni de Autoridades de Certificación ni de Registro. Una solución tomada estriba en la confianza de los propios usuarios entre ellos. Por ejemplo, si Juan confía plenamente en Luis y Luis ha aceptado la identificación de Pedro, Juan podría inicialmente aceptar a Pedro, porque Luis es de su confianza.
Comentario: En una red de confianza, una identificación (clave nueva) se considerará válida si viene firmada por suficientes claves válidas. Por ejemplo, PGP en correo seguro lo utiliza. Redes de confianza cuando no se dispone de autoridades de certificación
31 Aplicaciones y protocolos seguros para integridad, validación y no repudio Utilización de certificados y autoridades de certificación y registro (x.509) Servidores de directorios (X.500 y LDAP) En correo electrónico, para correo firmado o confidencial (PGP, PEM,S/MIME) Infraestructuras de clave pública (PKI Public Key Infraestructure) y tarjetas inteligentes Protocolos SSL y TSL: Secure Socket Layer (Transport Secure Layer)
32 Servidores de directorio Ejemplo de directorios son los listines telefónicos que refleja el usuario, la dirección, el teléfono(s), etc pero sólo se edita cada año. Los directorios electrónicos pueden ser consultados y actualizados en tiempo real y su fiabilidad es mucho mayor que los directorios tradicionales. Las ventaja aportadas son: que la organización de la información permite localizar ésta de diferentes maneras, incluso realizar búsquedas aproximadas que la información puede estar protegida por niveles de seguridad y permisos, y mostrarla al solicitante según sus privilegios (p.ej gerente/empleado) El Servicio de Directorio es un conjunto de componentes que trabajan de forma cooperativa para prestar un servicio. Los directorios permiten localizar información en una organización, incluidos los certificados de usuario, y para ello definen qué información se almacenará y en qué modo se organizará.
33 ¿Por qué no utilizar una base de datos de propósito general? Respuesta: Excesivamente complejas, demasiado pesada para realizar consultas rápidas. Las diferencias entre una base de datos de propósito general y un directorio son: Relación entre lecturas y escrituras: hay muchas más lecturas que escrituras, por tanto se puede optimizar sólo para lecturas Distribución de los datos de forma jerárquica como el DNS Rendimiento alto para aceptar muchas conexiones por segundo, dado que da soporte a multitud de clientes Estándares: requiere métodos de consulta en base a estándares definidos ¿Por qué no utilizar un DNS para guardar los certificados? Respuesta: en su momento, hubo muchos detractores que no aceptaron que el DNS también ofreciera certificados y que fuera un servidor independiente, un servidor de directorios el encargado.
¿Base de Datos y servidores de directorio?
34 LDAP y X.500 En 1988, la CCITT creó el estándar X.500, sobre servicios de directorio que fue adoptado por la ISO en 1990, como ISO 9594. X.500: organiza las entradas en el directorio de manera jerárquica, capaz de almacenar gran cantidad de datos, con grandes capacidades de búsqueda y fácilmente escalable. X.500 especifica que la comunicación entre el cliente y el servidor de directorio debe emplear el Directory Access Protocol (DAP), protocolo a nivel de aplicación entre máquinas con protocolos OSI. LDAP (Lightweight Directory Access Protocol) RFC1478 y 2251 surge como alternativa a DAP. Las claves del éxito de LDAP son: LDAP utiliza TCP/IP en lugar de los protocolos OSI El modelo funcional de LDAP es más simple, como con cualquier protocolo OSI LDAP representa la información mediante cadenas de caracteres en lugar de complicadas estructuras ASN.1.
35 LDAP (Lighweight Directory Access Protocol) es una base de datos jerárquica orientada a objetos, donde las clases no tienen métodos, sólo atributos, a la cual se realizan consultas (búsquedas e inserciones) de registros con usuarios y perfiles, para autenticar de forma muy rápida. Características: LDAP está orientado a objetos, pero las clases no tienen métodos, sólo atributos Utiliza el puerto UDP 389 normalmente, pero se puede configurar. Permite varias peticiones en curso. El acceso de LDAP mediante JAVA, se realiza por JNDI (Java Naming Directory Interface). Es una sintaxis propia, diferente a SQL (Structured Queuering Language) Existe un formato para exportar información entre servidores de directorios, conocida como LDIF. Puede utilizar Kerberos en el proceso de autenticación. Servidores de directorios: LDAP
36 Ejemplos de atributos en directorios CN Nombre habitual o canónic name O Organización OU Departamento C País MAIL Dirección de correo electrónico PHONE Número de teléfono DC Componente de dominio DN Nombre Distinguido (DN: Distinguished Name)
37 Ejemplo de directorio OU= Informática cn= Santiago Felici C= ES O= Universitat mail= [email protected] Clase Universitat Clase Asignaturas dn= Redes
38 LDAP: utilización en la práctica Directorio de correo: encontrar la dirección de correo de alguien Distribución, creación y destrucción de certificados digitales de la gente de una organización Libreta de direcciones y teléfonos Sustitución de NIS (difusión de ficheros de contraseñas) Integración de todos los recursos de la organización: personal, salas de Reuniones, cuentas de usuario Distribuciones de LDAP: -OpenLDAP (versión gratuita http://www.openldap.org) -Iplanet Directory Server (versión comercial http://www.iplanet.com
39 Ejemplo de utilización de LDAP Se utiliza principalmente para realizar consultas que permitan averiguar qué permisos puede tener un usuario dentro de la red controlada por servidores LDAP para ejecutar ciertos servicios. Un ejemplo de validación de permisos, es el acceso de los profesores a las actas por red de la Universitat. 1.- cliente (usuario) quiere conectarse al gestor de actas 2.- tras la identificación del cliente (usuario), el gestor de actas como cliente LDAP consulta al servidor LDAP para averiguar los permisos del cliente (usuario) en el acceso a la gestión de actas. 3.-según los permisos, atiende al cliente
40 Aplicaciones y protocolos seguros para integridad, validación y no repudio Utilización de certificados y autoridades de certificación y registro (x.509) Servidores de directorios (X.500 y LDAP) En correo electrónico, para correo firmado o confidencial (PGP, PEM,S/MIME) Infraestructuras de clave pública (PKI Public Key Infraestructure) y tarjetas inteligentes Protocolos SSL y TSL: Secure Socket Layer (Transport Secure Layer)
41 Aplicaciones seguras: correo Confidencialidad del correo electrónico Cuando un mensaje de correo electrónico tradicional (SMTP) generalmente transitará por docenas de máquinas en el camino. Cualquiera puede leer y registrar el mensaje para su uso posterior, por lo que la confidencialidad es inexistente. Para ello se han desarrollado sistemas de correo electrónico seguro de amplio uso en Internet: PGP, PEM y S/MIME basados en el envoltorio digital. En otras ocasiones, los usuarios quieren que su correo vaya firmado, cifrado en ocasiones y no sean suplantados por otra persona.
42 PGP: Bastante buena confidencialidad (1/5) PGP (Pretty Good Privacy) de Phil Zimmermann, es un paquete completo de seguridad de correo electrónico que proporciona confidencialidad, validación de identificación, firmas digitales, usando algoritmos criptográficos existentes, y compresión. El paquete completo, incluido código fuente, se distribuía (ahora ya no) por Internet de forma gratuita, por lo que es el de más amplio uso hoy en día. NO ES UN ESTANDAR. Además, hay versiones incompatibles dado que algunos programadores han modificado el código fuente. Se ofrece para todos los sistemas operativos. Existe una versión completamente gratuita GNU PG(GNU Privacy Guard RFC 2440) equivalente a PGP. http://www.gnupg.org
43 PGP: Bastante buena confidencialidad (2/5) Se conoce como sistema de firma digital para correo electrónico. Se puede utilizar localmente para proteger ficheros (como adjunto de correo) sin necesidad de enviar el correo, para certificar usuarios, como repositorio de llaves (key ring), …y también puede ser soporte para e-commerce. PGP se basa en los algoritmos de encriptación RSA e IDEA y el compendio de mensaje MD5. PGP nació con la idea de que cada usuario era su propia CA, cualquier usuario podía firmar a otro y decir cuál era el nivel de confianza en las firmas de otros usuarios.
44 PGP: Bastante buena confidencialidad (3/5) Tanto A como B tienen claves RSA privadas (DX) y públicas (EX). A invoca el programa PGP para mandar P: Procedimiento: 1.- lo primero que se hace es dispersar P usando MD5, cifrando la dispersión resultante con su clave RSA privada, DA 2.- la dispersión cifrada y el mensaje original se concatenan en un solo mensaje P1, y son comprimidos mediante el programa ZIP, obteniendo a la salida P1.Z
45 PGP: Bastante buena confidencialidad (4/5) 3.- PGP solicita a A una entrada al azar, que junto con el contenido y la velocidad de tecleo se usan para generar una clave de mensaje IDEA de 128 bits, KM (clave de sesión) que se utiliza para cifrar P1.Z con IDEA. KM se cifra con la clave pública de B, EB. Las claves públicas solicitadas se guardan en CLAVEROS (o también llamados anillos de llaves, key rings). Las claves pueden tener 512 (32 dígitos hexadecimales), 768 o 1024 bits en RSA. 4.- estos dos componentes (P1.Z y KM) se concatenan y convierten a base64 (codificación MIME) que puede ponerse en un cuerpo RFC 822 y esperar que llegue sin modificación… 😉
46 PGP: Bastante buena confidencialidad (5/5) Cuando B recibe el mensaje, invierte la codificación base64 y descifra la clave IDEA usando su clave RSA privada. Con dicha clave, B puede descifrar el mensaje para obtener P1.Z. Tras descomprimir, B separa el texto normal de la dispersión cifrada y descifra la dispersión usando la clave pública de A. Si la dispersión del texto normal concuerda con su propio cálculo MD5, sabe que P es el mensaje correcto y que vino de A.
ESTE PROCESO REALIZADO SOBRE EL CORREO, DE CIFRADO CON CLAVE SECRETA y PUBLICA CON COMPENDIOS SE CONOCE COMO ENVOLTORIO DIGITAL. En el caso que el usuario a mandar no dispusiera de clave o no tiene acceso al repositorio de claves no se manda el mensaje cifrado.
47 PEM: Correo con confidencialidad mejorada (1/3) PEM (Privaty Enhanced Mail) es un estándar oficial de Internet (RFCs 1421-1424). De manera muy general, el PEM cubre el mismo territorio que el PGP: confidencialidad y validación de identificación, para sistemas de correo electrónico basados en el RFC 822. Los mensajes enviados usando PEM primero se convierten a una forma canónica para que puedan tener las mismas convenciones (por ejemplo, tabuladores, espacios al final, retornos de carro, ..), es decir en formato compatible RFC 822. Esta transformación se lleva a cabo para eliminar los efectos de los agentes de transferencia de mensajes que modifican los mensajes que no son de su gusto. Sin canonización, tales modificaciones pueden afectar las dispersiones de los mensajes en sus destinos.
48 PEM: Correo con confidencialidad mejorada (2/3) Procedimiento: Tras la canonización, se realiza un envoltorio digital similar a PGP: Se calcula la dispersión del mensaje usando MD5 y se cifra la concatenación con la dispersión y el mensaje usando DES. El mensaje cifrado puede entonces codificarse con codificación base64 y transmitirse al destinatario. Tras ello, como en el PGP, cada mensaje se cifra con una clave de una sola vez (de sesión) que se incorpora en el mensaje. La clave de sesión puede protegerse mediante RSA o con 3DES.
En la práctica, se usa RSA pues el PEM no indica cómo se debe hacer la administración de claves con 3DES.
49 PEM: Correo con confidencialidad mejorada (3/3) La administración de claves es más estructurada que en el PGP. Las claves se certifican mediante autoridades certificadoras (CA) que producen certificados indicando el nombre del usuario, su clave pública y la fecha de expiración de la clave. Cada certificado tiene un número de serie único que lo identifica. Los certificados incluyen una dispersión MD5 firmada por la clave privada de la autoridad certificadora.
Pero dada la expansión de PGP, PEM no está muy utilizado, además que la jerarquía no hay una autoridad mundial que gestione los certificados de PEM.
50 Secure MIME (S/MIME) Protocolo que añade servicios de seguridad (cifrado y firma) a los mensajes de correo electrónico con formato MIME, definido en RFC 2632-2643. Está pensado como la versión industrial y seria de PGP, pensado para organizaciones (gran número de usuarios) Utiliza envoltorio digital, basado en tipo especial MIME llamado PKCS (Public Key Cryptography Standard), que permite dentro del mensaje autenticar, cifrar y firmar partes de éste, según las opciones. Utiliza certificados X.509v3 y redes de confianza. Utiliza SHA-1 y MD5 para compendios y en las firmas utiliza RSA Cifrado de mensajes: con claves de sesión simétricas
51 Aplicaciones y protocolos seguros para integridad, validación y no repudio Utilización de certificados y autoridades de certificación y registro (x.509) Servidores de directorios (X.500 y LDAP) En correo electrónico, para correo firmado o confidencial (PGP, PEM,S/MIME) Infraestructuras de clave pública (PKI Public Key Infraestructure) y tarjetas inteligentes Protocolos SSL y TSL: Secure Socket Layer (Transport Secure Layer)
52 Tarjetas inteligentes Tarjeta (genérica): dispositivo de plástico de dimensiones determinadas, capaz de almacenar y, en algunos casos, procesar información de manera segura. Son sistemas patentados por Roland Moreno (periodista francés) a finales de los 70. Actualmente utilizan tecnología VLSI con microprocesador y sistemas de ficheros cifrado. Utilidad: almacenamiento y procesamiento de datos confidenciales: Estado de las cuentas de crédito Historiales médicos (identificación de pacientes) Números de identificación personal Claves privadas (control de acceso) Dinero electrónico (micropagos)
53 Propiedades de las Tarjetas Seguridad En el almacenamiento de la información (sistemas de fichero) En las operaciones que realizan (clave simétrica y clave asimétrica) Portabilidad de información Coste asequible Las entidades financieras pueden afrontar su adquisición Utilizan protocolos propietarios en sus comunicaciones. La gestión de usuarios, se realiza a través de dos listas, lista blanca o de autorizados y lista negra o de personas excluidas (caducados, extraviados, revocados…) Los lectores pueden sufrir bandalismo. En estas ocasiones son mejor opción las tarjetas sin contacto, por antena de espira.
54 Tipos de tarjetas Magnéticas (ISO 7811): muy extendidas, pero son de fácil fraude, con poco espacio de memoria 180 bytes. Utilizada en accesos e identificación Con memoria (ISO 7816): con chip integrado que almacena información de forma segura. Utilizada como monederos, ejemplo tarjetas para teléfonos públicos. Llamadas Chipcards Con microprocesador (ISO 7816/ISO 14443): son tarjetas seguras, pueden ser programadas, con memoria de entre 2-4kbytes, pueden ser multiaplicación, pero tienen el inconvenientes que sólo acepta aplicaciones desarrolladas por el fabricante. Utilizada en módulos SIM, comercio electrónico, donde el usuario de identifica con PIN (personal identification number). Llamadas SmartCards JAVA cards: incorporan microprocesador y utilizan un subconjunto de lenguaje JAVA, Java Card Api 2.1. Permiten aplicaciones independiente del hardware escritas en lenguaje de alto nivel, son 10 a 200 veces mas lentas que las anteriores
55 Tarjetas de Microprocesador Subsistemas de una tarjeta de microprocesador:
Existen tarjetas con microprocesador: sin contacto (contactless smart card) utilizando una antena (ISO14443) con contacto (ISO7816, ISO7813) La CPU del microprocesador está físicamente como guardián en la E/S del resto de dispositivos de la tarjeta. Las CPU suelen ser de 8 bits. Implementan RSA con claves de 512 (32 dígitos hexadecimales) a 1024 bits.
56 Dimensión y localización de los contactos Existen ocho contactos (se usan sólo seis) Vcc Vpp GND RST CLK I/O
Tarjetas de contacto ISO 7816
57 Tarjetas Java Card (1/2) Java Cards … Arquitectura organizada en capas
58 Tarjetas Java Card (2/2) Java Cards … Proceso de creación de un applet
Byte code Optimizado (Gp:) 1
Byte code Compilador Programa en Java (Gp:) 2
(Gp:) Optimizador – Conversor
(Gp:) Cargador
(Gp:) 3
(Gp:) JavaTM Interpreter (Gp:) JavaCard APIs (Gp:) applet loader (Gp:) OS (Gp:) Applet #1
59 PKI: infraestructura de clave pública (1/2) PKI (Public Key Infrastructure) Se define como la infraestructura de red formada por servidores y servicios que en base a claves públicas gestionan de forma segura TODAS las transacciones realizadas Se basa en dos operaciones básicas: Certificación (medio por el cual las claves se publican) Validación, a través de revocación y autentificación El modo de realizar estas operaciones define las características de cada PKI. Las claves públicas pueden ubicarse en servicios de directorios, en autoridades de certificación, redes de confianza, … Los gobiernos y grandes empresas toman protagonismo en las PKI, dado que requiere una inversión a gran escala, sin embargo actualmente no hay excesivas iniciativas, sólo en 17 países.
60 Objetivos: es dotar a los miembros de una corporación de los mecanismos de autenticación de usuarios, no repudio, integridad de la información, auditoría, negociación de claves secretas
Elementos que la componen: Certificados digitales (X509) para personas, máquinas, procesos, … Organización jerárquica: bien basadas en CA y RA o bien basada en redes de confianza como PGP Directorios de certificados (X.500, LDAP) o repositorios de llaves Sistema software de administración de certificados: generación, revocación de certificados y comprobación a través de lista de certificados revocados PKI: infraestructura de clave pública (2/2)
61 Modos de utilización de una clave pública en una PKI 1.-Para cifrar A quiere mandar P a B y para ello utiliza la clave pública de B, enviando EB(P) y B utilizando su clave privada realiza el paso inverso: DB (EB(P)) 2.-Para firmar y autentificar A quiere mandar P a B y firmarlo. Para ello manda DA(P) y B utilizando la clave pública de A, realiza la comprobación: EA (DA(P))
62 Software de la PKI Los serivicios fundamentales en la PKI son: los servidores web seguros en base a procesos certificados que utilizan SSL (Secure Socket Layer) y X.500/LDAP para consultas. Netscape dispone de software para muchos elementos de la PKI: Autoridades de Certificación Servidores de Directorio Software de Cliente Microsoft también 😉 correo electrónico seguro con S/MIME, PGP,…
Fabricantes de PKI: RSA Labs, Verisign GTE Cyber Trust, Xcert, Netscape,….
63 Aplicaciones y protocolos seguros para integridad, validación y no repudio Utilización de certificados y autoridades de certificación y registro (x.509) Servidores de directorios (X.500 y LDAP) En correo electrónico, para correo firmado o confidencial (PGP, PEM,S/MIME) Infraestructuras de clave pública (PKI Public Key Infraestructure) y tarjetas inteligentes Protocolos SSL y TSL: Secure Socket Layer (Transport Secure Layer)
64 SSL: Introducción Secure Socket Layer (SSL), desarrollado por Netscape en 1995. SSL se localiza sobre el nivel de transporte, e independiente del protocolo superior (interfaz similar a BSD Sockets). Se puede utilizar con cualquier protocolo: HTTP, FTP, SMTP, etc . Ejemplo: https://correo.uv.es SSL cifra los datos intercambiados entre el servidor y el cliente con cifrado simétrico (RC4 o IDEA) y cifrando la clave de sesión mediante un algoritmo de cifrado de clave pública, típicamente el RSA. Antes de establecer la conexión, pueden pactar o negociar la forma de conectarse de forma segura. Comprende los protocolos Record Protocol (RP) Alert Protocol (AP) Handshake Protocol (HP) Change Cipher Spec (CCSP) Application Data Protocol (ADP) (Gp:) HTTP (Gp:) FTP (Gp:) TCP (Gp:) RP (Gp:) HP (Gp:) AP (Gp:) CSCP (Gp:) SSL (Gp:) ADP
65 Cuando el navegador opera en modo de conexión segura, aparece el dibujo de un candado o llave en la barra inferior. Los puertos utilizados son 443 para HTTPS, 465 para SSMTP, 563 para SNEWS, 636 para SS-LDAP, 995 para SPOP3 SSL protege del ataque de alguien al medio a través de certificados digitales X.509v3 SSL reduce las prestaciones de un sistema normal, debido al cifrado en el establecimiento de la conexión TSL: Para no vincularse a un fabricante (Netscape), se ha creado una generalización de SSL, llamado Transport Layer Security (TLS). La TSLv1.0 es el RFC-2246 del IETF (1.999), ligera modificación de SSL v3.0 SSL/TSL: comentarios
66 Otros SET (Secure Electronic Transaction) es un entorno que aparece inicialmente en entornos financieros para comercio seguro, concretamente aplicado al uso de las tarjetas de crédito por Internet. Más que un protocolo, es un conjunto de recomendaciones y pautas que ofrece autenticación, canal seguro e integridad. El funcionamiento de SET es, comprador-vendedor acuerdan transacción, el comprador envia orden de compra y orden de pago, ambos documentos firmados tanto para el vendedor, como para la entidad financiera, sin que se ponga en compromiso ni se difunda ninguna información confidencial, concretamente al comprador se le ofrece la información mínima de la orden de pago para que sepa que va a cobrar, pero ningún detalle sobre número de tarjeta etc. Además, al comprador se le envia acuse de recibo para que conste todo lo que se ha pactado.
Página anterior | Volver al principio del trabajo | Página siguiente |