Full Transcript

Servicios, marcos y técnicas de autenticación. Cert ificados. Clave pública. Servicios de directorio TEMARIO OPOSICIONES COIICV | TEMA 39 11 Para confiar en un certificado se debe confiar en s u emisor. Esto es, si el emisor no es de confianza, el certificado se deberá rechazar. Si po r el contrario...

Servicios, marcos y técnicas de autenticación. Cert ificados. Clave pública. Servicios de directorio TEMARIO OPOSICIONES COIICV | TEMA 39 11 Para confiar en un certificado se debe confiar en s u emisor. Esto es, si el emisor no es de confianza, el certificado se deberá rechazar. Si po r el contrario el emisor es de confianza, el certificado es aceptado y, en consecuencia, se dará por buena la clave pública que certifica. Algunos emisores conocidos de confianza son Verisig n, ANCERT y CERES (FNMT). 2.2. La infraestructura de clave pública o PKI Una PKI (Public Key Infrastructure) es el conjunto de software, hardware, recursos humanos, políticas de seguridad y mecanismos que permiten la emisión y gestión de certificados digitales. Las autoridades de certificación disponen de una pl ataforma (infraestructura de clave pública, PKI) que permite generar y gestionar claves y certificad os. Una infraestructura de llave pública, por regla gen eral, está formada por tres entidades distintas: • La Autoridad de Registro (SA). Esta entidad se enca rga de las operaciones administrativas como la verificación de la identidad del usuario o el seguimiento de las solicitudes. • La Autoridad de Certificación (CA). Esta entidad se encarga de las tareas de creación de certificados o firma de las listas de revocación. • La Autoridad de Depósito (AD). Esta entidad se enca rga de la conservación segura de los certificados. 2.3. X.509 X.509 es el estándar desarrollado por la UIT-T para infraestructuras de clave pública (PKI), especificando los estándares para generar certifica dos digitales y los algoritmos de hash. Se define en lenguaje ASN.1 y se codifica mediante DER (Distinguish Encoding Rules) o PEM (Privacy Enhaced Mail). 3. Localización de claves públicas No siempre es necesaria una PKI que nos valide la a utoridad o integridad de un mensaje. Es posible que solo queramos enviar un mensaje cifrado y que el destinatario solo deba descifrarlo. En 1991, Phil Zimmerman desarrolló un programa llam ado Pretty Good Privacy (PGP) con la idea de proteger la información que quería enviar a trav és de Internet. Para ello se basó en el concepto de criptografía asimétrica. Se autoriza el uso exclusivo de este documento a María Amparo Pavía García, DNI 20013968N, a 26 de julio de 2019Daniel Vicente Perpiñá Castillo 12 TEMARIO OPOSICIONES COIICV | TEMA 39 PGP es un criptosistema híbrido que combina criptog rafía asimétrica y simétrica, aprovechando lo mejor de cada sistema. A diferencia de una PKI, PGP no es un sistema jerárquico donde solo existe una autoridad con capacidad de emitir confia nza, PGP se basa en el concepto del anillo de confianza. En el anillo de confianza los usuarios d eben firmar sus claves entre sí, asociando de esa manera la clave recibida a su propietario. De esta manera, dos usuarios que quieran intercambi ar mensajes privados deberán firmar mutuamente sus claves. Se implementa de esta manera un modelo de confianza descentralizada en contrapartida con el modelo PKI. Esa confianza puede surgir por amistad, cercanía co n el otro usuario, etc. Este sistema criptográfico cumple con los requisito s de Autenticidad, Integridad, Confidencialidad y No repudio. Existe un proyecto Open Source, basado en el sistem a PGP, llamado OpenPGP. La aplicación, GnuPG (GPG), implementa los mismos mecanismos y ser vicios que PGP. Al igual que PGP, GPG cifra los mensajes usando las claves generadas por los usuarios. Los usuarios comparten las claves entre sí o a través de los servidores de cla ves públicas. 3.1. Servidores de clave pública Para enviar un mensaje seguro a alguien de confianz a, se necesita conocer la clave pública del destinatario, ya sea porque el destinatario la ha p roporcionado, o porque se adquiere a través de un servicio de clave. Para poder acceder fácilmente a esas claves existen unos servidores dedicados a tal fin. Los servidores de claves públicas actúan como una agend a para dichas claves, permitiendo que el software utilice un dato concreto o “huella digital” del propietario de la clave para buscar una clave completa y descargarla. Hay muchos servidores de claves públicas PGP. Algun os son privados y otros son públicos, pero por lo general comparten sus colecciones de claves entre sí. Estos servidores de claves no pueden verificar si las claves públicas que sus usuarios p ublican son genuinas o falsas. Cualquiera puede subir una clave pública a un servidor con un nombre cualquiera. Eso significa que una clave asociada a un usuario por su nombre o dirección de correo electrónico en un servidor de claves podría no ser su verdadera clave. Con el fin de com probar la autenticidad de una clave pública, es necesario confirmar la identidad del usuario origin al a través de un método digno de confianza como el que establece una CA. El método que mayor confianza nos reportaría consis tiría en que el emisor de la clave pública, la distribuiría en persona a los destinatarios. Sin em bargo, éste método no es eficiente. Normalmente, las claves se deberían distribuir por correo electr ónico o algún otro medio de comunicación Se autoriza el uso exclusivo de este documento a María Amparo Pavía García, DNI 20013968N, a 26 de julio de 2019Servicios, marcos y técnicas de autenticación. Cert ificados. Clave pública. Servicios de directorio TEMARIO OPOSICIONES COIICV | TEMA 39 13 electrónica, pero igualmente, sólo sería eficiente cuando tengamos unos pocos corresponsales. Si tuviéramos muchos corresponsales sería un proceso t edioso. Para solventar el problema de la distribución exist en los servidores de claves públicas que recolectan y distribuyen las claves públicas. Cuand o un servidor recibe una clave pública, bien la añade a la base de datos o bien la fusiona con una copia de la clave ya existente. Cuando alguien requiere al servidor una clave pública, éste la bus ca en la base de datos y, si la encuentra, la envía a quien se la haya solicitado. Para solventar el problema de la autenticidad, PGP implementó en su versión 2.0 el concepto de “Anillo de Confianza”. 3.2. Anillo de confianza PGP/GPG permite utilizar una clave privada propia p ara autenticar la identidad del propietario de otra clave. Esto es lo que se conoce por Anillo de Confianza o Red de confianza. Es un concepto que proporciona una forma de disting uir entre claves auténticas y falsas. Si las personas de un círculo de confianza firman las clav es de la gente que conocen, terceros podrían usar esas firmas para confirmar que las claves reci bidas son genuinas. Al descargar la clave desde un servidor de claves, éstas suelen incluir firmas de otras personas que afirman que es la correcta. Teniendo confianza en alguien perteneciente al anil lo de confianza de la clave a descargar, podemos tener la certeza de que la clave descargada es de confianza. La ventaja de este proceso de verificación es que se hace de forma descentrali zada y no controlada por ninguna autoridad. La confianza no viene dada por una empresa u organismo oficial, sino que es dada por los propios usuarios. Una de las desventajas de este sistema es que cualquier usuario puede conocer la lista de contactos de otro usuario, perdiéndose así priva cidad. Sin un servidor de claves, cuando un usuario, llama do Juan, quisiera firmar la clave de otro usuario, por ejemplo, de Marta, tendría que enviar a Marta su clave pública, de manera que Marta pueda agregar la clave pública de Juan a su anillo de confianza. Marta devolvería a Juan su clave pública para que éste pudiera realizar el mismo pro ceso a la vez que distribuiría la clave de Juan entre su anillo de confianza. De esta forma, Juan y Marta se validan entre sí mismos y validan al otro ante sus anillos de confianza. Lo que determin a la existencia de un servidor de claves es facilitar este proceso. En vez de almacenar el anillo de claves en sus prop ios equipos, Juan y Marta almacenarán sus anillos en el servidor. De esta manera si un tercer usuario, Pedro, quien conoce personalmente a Marta, pero no tiene todavía confianza con Juan, qu isiera pertenecer al anillo de confianza de Juan o quisiera poder enviarle un mensaje cifrado, busca ría en el servidor al usuario Juan. Podría darse el caso de que un usuario malintencionado estuviera tratando de suplantar la identidad de Juan. En este caso Pedro debería revisar si el anillo de con fianza del usuario malintencionado está unido al de Marta. Como Marta no ha firmado clave alguna del usuario malintencionado, en el anillo de Se autoriza el uso exclusivo de este documento a María Amparo Pavía García, DNI 20013968N, a 26 de julio de 2019Daniel Vicente Perpiñá Castillo 14 TEMARIO OPOSICIONES COIICV | TEMA 39 confianza del usuario malintencionado no aparecerá Marta y Pedro evitará descargarse la clave pública fraudulenta. 4. Servicios de directorio Tradicionalmente, el concepto de directorio ha esta do ligado a cómo se organiza la información almacenada. El término “Directorio” se relaciona co n el esquema con el que los archivos se organizan en una unidad de almacenamiento, desde lo s primeros sistemas de ficheros en papel hasta los modernos ordenadores y sus sistemas opera tivos. Un directorio es una estructura jerárquica que orga niza y almacena datos acerca de elementos. Es un tipo concreto de base de datos. En un directorio telefónico, también conocido como guía telefónica, se almacena información relativa a sus abonados, no solo el número telefóni co, también presenta en ocasiones la dirección física, números alternativos, números de fax, etc. De forma similar, en un sistema informático en red, la información que está relacionada con los recursos del sistema tales como servidores, usuario s, BBDD, impresoras, etc., se almacena en un directorio. Así pues, un servicio de directorio es un conjunto de aplicaciones y componentes que ofrecen soporte para gestionar la información de un directo rio. Un Servicio de Directorio (SD) permite a los admini stradores almacenar, organizar y gestionar la información sobre los usuarios y recursos de una re d y el acceso a los recursos por parte de los usuarios de dicha red. Esto significa que proporcio na autenticación y autorización de usuarios, incluso implementando perfiles móviles. 4.1. X.500 En 1988, la ITU y la ISO se unieron para desarrolla r un conjunto de estándares de redes de ordenadores sobre Servicios de Directorio llamado X .500. Se desarrolló como parte del modelo OSI, destinado a ser usado como soporte para el est ándar X.400. Entre los protocolos que definen la norma X.500 pod emos encontrar el Protocolo de Acceso al Directorio (DAP, Directory Access Protocol), el Pro tocolo de Sistema de Directorio o el Protocolo de Gestión de Enlaces operativos, entre otros. Este estándar resultó ser complejo para su uso y co stoso de implementar. Además, incorporaba herramientas que debido a su complejidad, los usuar ios de este protocolo terminaban por no usar o Se autoriza el uso exclusivo de este documento a María Amparo Pavía García, DNI 20013968N, a 26 de julio de 2019Servicios, marcos y técnicas de autenticación. Cert ificados. Clave pública. Servicios de directorio TEMARIO OPOSICIONES COIICV | TEMA 39 15 usar muy poco. Debido a ello se empezó a desarrolla r una versión más ligera del estándar llamada LDAP (Lightweight Directory Access Protocol). Dada la excelente aceptación que LDAP tuvo entre la comunidad se terminó convirtiendo en un estándar de facto. A lo largo de la unidad haremos referencia al estándar LDAP, ya que es el que se utiliza actualmente. 4.2. LDAP LDAP surgió como alternativa a DAP, tratando de sim plificar el protocolo anterior. Las principales diferencias entre ellos, son: • LDAP está basado en los protocolos TCP/IP, mientras que DAP está basado en el anterior modelo OSI. Esto hace que LDAP requiera de menos re cursos. • LDAP elimina opciones que apenas se utilizaban en D AP. Además, LDAP es más intuitivo y fácil de implementar. • DAP utiliza estructuras ASN.1 para representar la i nformación, mientras que LDAP lo hace mediante strings. Tanto LDAP como cualesquiera otro SD se basan en el modelo cliente-servidor. 4.3. Características de un SD 4.3.1. Dinamismo Una de las principales características de un SD es que los datos, una vez introducidos, tienden a ser estáticos. Esto quiere decir que la información que almacena n o se actualiza frecuentemente. Siguiendo el símil de la guía telefónica, lo normal es que año t ras año un abonado mantenga los mismos datos de número de teléfono, dirección, etc. Si un abonad o se cambia de casa o decide cambiar de número, la compañía recoge la nueva información y l a sustituye por la antigua, pero como propagar los cambios de los abonados cada vez que s urgen sería muy costoso, la compañía telefónica solo edita la guía una vez al año con lo s cambios que sean oportunos. En un SD los datos se pueden modificar en tiempo re al, aunque no es habitual hacerlo ya que una vez asignados los nombres, estos no se suelen cambi ar. Al igual que sucedería con tu nombre de pila o con tu número de teléfono. Se autoriza el uso exclusivo de este documento a María Amparo Pavía García, DNI 20013968N, a 26 de julio de 2019Daniel Vicente Perpiñá Castillo 16 TEMARIO OPOSICIONES COIICV | TEMA 39 4.3.2. Flexibilidad La flexibilidad de un SD se basa en dos factores: • Contenido: Los tipos de datos que almacena un SD pu eden serlo de cualquier tipo. Esto permite que la información almacenada pueda ser ext endida sin dificultades, por ejemplo, añadiendo información del usuario relativa a su sit uación sentimental o agregar una foto a su perfil. • Organización: La información está localizable de di versas maneras, incluso se pueden hacer búsquedas aproximadas. 4.3.3. Seguridad En un SD el administrador gestionará el acceso a lo s datos por parte de los usuarios en base a los criterios de autorización definidos. Esto quiere de cir, los usuarios del departamento de informática de una empresa no podrán tener acceso a la BD que a lmacena los datos de las nóminas, pero los usuarios del departamento de contabilidad sí que po drán. En cambio, el departamento de informática podrá tener acceso a los servidores y a cualquier equipo del sistema, pero el departamento de contabilidad no. 4.3.4. Personalización Un SD permite la personalización de los datos que s erán mostrados a cada tipo de usuario. Por ejemplo, un usuario del Departamento de Informá tica podrá consultar su última nómina, pero no podrá consultar las nóminas de sus compañeros. E n cambio, un usuario del Departamento de Contabilidad necesitará poder consultar las nóminas de todos sus compañeros. 4.4. Herramientas de un SD En esta sección hablaremos de los usos más habitual es de las herramientas de consulta un SD. Por un lado, hay herramientas que requieren conecta rse con el SD para realizar consultas sobre recursos y usuarios y, por otro lado, hay aplicacio nes que consultan un SD para validar y autorizar usuarios. También se requiere de herramientas que p ermitan actualizar la información que alberga el SD. 4.4.1. Herramienta de búsqueda La utilidad principal de un SD es la de encontrar i nformación. Para ello dispone de dos herramientas básicas, una de búsqueda y otra de com paración. Se autoriza el uso exclusivo de este documento a María Amparo Pavía García, DNI 20013968N, a 26 de julio de 2019Servicios, marcos y técnicas de autenticación. Cert ificados. Clave pública. Servicios de directorio TEMARIO OPOSICIONES COIICV | TEMA 39 17 • La herramienta de comparación tiene unos usos muy c oncretos ya que esta operación comprueba si una entrada en concreto contiene un va lor específico para un atributo dado. El servidor contestará con True o False según el re sultado de la comparación. • La herramienta de búsqueda es mucho más potente, ya que permite realizar funciones de comparación además de las propias de búsqueda. Usualmente, las dos herramientas trabajan de forma complementaria. La herramienta Search permite buscar en el director io y obtener información de las entradas. Dispone de ocho parámetros que son: • Base. Define desde que objeto o entrada se empezará la búsqueda. • Scope. Define el ámbito de búsqueda. Dispone de tre s valores:  Onelevel: Define la búsqueda para el siguiente nive l definido en el parámetro inicial.  Sub: Define la búsqueda para todo el subárbol, desd e el parámetro inicial hasta todas sus ramificaciones.  Base: Define la búsqueda sólo en la propia base. • Alias deferencing options. Define los alias, que si rven para enlazar las entradas del SD. • Size limit. Define el número máximo de entradas que se quiere obtener de una búsqueda. • Time limit. Define el tiempo máximo que la búsqueda estará en ejecución. • Attributes-only. Este parámetro indica que la búsqu eda muestre los atributos de las entradas encontradas en vez de sus valores. • List of attributes to return. Define la lista de at ributos que se quiere obtener en una búsqueda. • Search filter. Define que filtros queremos aplicar a la búsqueda. Algunos ejemplos serían:  (DN=marcos). Este parámetro filtraría una búsqueda con entradas que contuvieran el atributo “DN” (nombre distinguido) y el valor “marc os”.  (SN=per*). Este parámetro filtraría una búsqueda co n entradas que contuvieran el atributo “SN” (apellido) y valores que empiecen por “per” como: perez, peris, perea o perales por ejemplo.  (age>=18). Este parámetro filtraría una búsqueda co n entrada de usuarios mayores de 18 años. Se autoriza el uso exclusivo de este documento a María Amparo Pavía García, DNI 20013968N, a 26 de julio de 2019