Seguridad y Uso de Certificados Digitales en GRID Rafael Marco (IFCA)
-
Upload
hictor-vilches -
Category
Documents
-
view
2 -
download
0
Transcript of Seguridad y Uso de Certificados Digitales en GRID Rafael Marco (IFCA)
Seguridad y Uso de Certificados Digitales en
GRID
Rafael Marco (IFCA)
Rafael Marco de Lucas (IFCA)
Todos conocemos los Certificados Digitales
Rafael Marco de Lucas (IFCA)
Certificados Digitales: ¿por qué? ¿para qué?
Los Certificados Digitales facilitan:• Autentificación (como un documento de
identidad)• Firma Digital• Comunicación segura. Encriptación
Software: OpenSSL• openssl <ca> <req> <x509> <crl> <verify> …
Acceso a Web, LDAP, … seguros Grid Security Infrastructure (GSI)
Rafael Marco de Lucas (IFCA)
PKI y CERTIFICADOS. Descripción General
Generación de par de claves: Clave Pública + Clave Privada• La Clave Pública es accesible por todo el mundo• La Clave Privada sólo es accesible por su propietario• Claves simétricas: lo que se encripta con una sólo se puede desencriptar usando la otra
La clave pública• permite comprobar que un mensaje ha sido encriptado usando la clave privada asociada, a la cual
sólo tiene acceso su propietario• si la conocemos de forma fiable, permite comprobar la identidad (autentificación)• esto funciona bien entre conocidos que intercambian claves• pero no puede escalar a miles de usuarios que además no se conocen personalmente
Autoridad de Certificación• Se crea un par de claves pública+privada centrales• Todos disponemos de esta clave pública, y confiamos en su buen uso• Para garantizar la autenticidad de las claves públicas de los usuarios/… , éstas son firmadas usando
la clave central, obteniendo lo que se suele llamar un “Certificado Digital” asociado a la clave privada, en el que se incluye una etiqueta que identifica el certificado y mas informacion extra como la fecha de caducidad, …
Certificado Digital = Public Key + Information about the principal + CA signature (x509 format)
Luego si confiamos en una CA• podemos confiar en el certificado de un usuario (su clave pública firmada por la CA)• y usar ésta para autentificar al propietario de la clave privada asociada.• La solución es escalable a miles de usuarios desconocidos
Pregunta: entonces que diferencia hay entre usar PGP y CAs ? What is a Digital Signature ? http://www.youdzone.com/signature.html
Rafael Marco de Lucas (IFCA)
Autoridades de Certificación
CAs comerciales
CAs académicas
CAs con valorlegal en España
Rafael Marco de Lucas (IFCA)
Autoridades de Certificación
Jerarquía de Certificación• CAs Raíz (Root CAs) (self signed)• CAs encadenadas (Chainned CAs)• Estructura escalable• Problema técnico. Globus.
CRL – Lista de certificados revocados Creación de una CA
• Sencillo desde el punto de vista técnico• Políticas de Certificación. Seguridad• Coordinación para el desarrollo de CAs
CAs dedicadas a GRID• euGridPMA http://www.eugridpma.org
1 CA por país, múltiples RAs Recomendaciones Requerimientos Minimos
• /C=ES/O=DATAGRID-ES/CN=DATAGRID-ES CA
http://grid.ifca.unican.es/ca/datagrid-es
Root CA
CAs Level 1
CAs Level2
Final Certificates
Rafael Marco de Lucas (IFCA)
Ejemplo Práctico: Creación de una Autoridad de Certificación
Instalación y configuración de openssl:rpm –ihv openssl-*.rpmvi /usr/share/ssl/openssl.cnf Subject: C=ES, O=CSIC, O=IFCA, OU=CURSO GRID, CN=Curso Postgrado GRID CA
Crear una CAusage: CA -newcert|-newreq|-newca|-sign|-verifyvi /usr/share/ssl/misc/CA DAYS="-days 1460"$REQ –new –x509 -newkey rsa:2048/usr/share/ssl/misc/CA -newcaopenssl x509 -in demoCA/cacert.pem –text
Crear una Clave Privada + Solicitud de Certificadoopenssl req –new –out request_pepe.pem –keyout key_pepe.pemopenssl req -in request_pepe.pem –textcp –a request_pepe.pem newreq.pem
Firma de Certificado/usr/share/ssl/misc/CA –signcp demoCA/newcerts/01.pem newcert_pepe.pemopenssl x509 –in newcert_pepe.pem –text
Revocación de Certificados y CRLopenssl ca –gencrl –out crl.pemopenssl crl –in crl.pem –text
Rafael Marco de Lucas (IFCA)
Servidor Web seguro basado en Certificados Digitales
Instalación de Servidor Web Apache y modulo SSLrpm –ihv apache-*.rpmrpm –ihv mod_ssl-*.rpm
Editar fichero de configuración http.confSSLEngine onSSLCertificateFile /etc/httpd/conf/ssl.crt/server.crtSSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.keySSLCACertificatePath /etc/httpd/conf/ssl.crtSSLCARevocationPath /etc/httpd/conf/ssl.crl
Crear e Instalar certificadosopenssl req –nodes –new –out request_server.pem –keyout key_server.pemcp –a request_pepe.pem newreq.pem/usr/share/ssl/misc/CA –signcp demoCA/newcerts/02.pem newcert_server.pemcp demo/cacert.pem /etc/httpd/conf/ssl.crt/server.crtcp key_server.pem /etc/httpd/conf/ssl.key/server.keycp demo/cacert.pem /etc/httpd/conf/ssl.crt/csic_curso_postgrado.pemcp crl.pem /etc/httpd/conf/ssl.crl
Importar CA y Certificado Personal en el Web Browseropenssl x509 –in demoCA/cacert.pem –outform DER –out cacert.crtImport cacert.crt into Web Browseropenssl pkcs12 –export –inkey key_pepe.pem –in newcert_pepe.pem –out pkcs12_pepe.crtImport User Certificate into Browser: Options / content / certificates
Rafael Marco de Lucas (IFCA)
Uso de Certificados en GRID
Certificados de• Usuario : DN=/C=ES/O=DATAGRID-ES/O=IFCA/CN=Rafael Marco de Lucas• Host : DN=/C=ES/O=DATAGRID-ES/O=IFCA/CN=host/grid001.ifca.unican.es• Service: DN=/C=ES/O=DATAGRID-ES/O=IFCA/CN=ldap/grid01.ifca.unican.es
Acceso a un User Interface (UI) ssh <user>@gtbcg03.ifca.unican.es
Obtención de Certificado• CA Nacional aceptada internacionalmente
/C=ES/O=DATAGRID-ES/DATAGRID-ES CA• Generación de la solicitud del certificado
grid-cert-request –cn “Common Name” openssl req –in .globus/request_usercert.pem –text
• Autoridades de Registro (RAs) Enviar solicitud+aprobación firmada a datagrid-es-ca
• Instalación de Certificados .globus/userkey.pem (u+r,go-rwx) .globus/usercert.pem (u+r,go+r) /etc/grid-security/certificates/hostkey.pem /etc/grid-security/certificates/hostcert.pem Los Certificados de las CAs se suelen instalar con RPMs Las Listas de Revocaciones (CRLs) se actualizan via web
• Uso de Certificados desde Web Browsers Importar certificado de la CA: http://grid.ifca.unican.es/ca/datagrid-es/datagrid-es.crt Importar CRL de la CA: http://grid.ifca.unican.es/ca/datagrid-es/datagrid-es-crl.crl openssl pkcs12 –export –inkey .globus/userkey.pem –in .globus/usercert.pem –out user_pkcs12.crt Import User Certificate into Web Browser ; https://marianne.in2p3.fr/datagrid/ca/ca-table-ca.html
Manejo de Certificados con OpenSSL http://www.lip.pt/ca/ca-information.html
Rafael Marco de Lucas (IFCA)
Uso de Certificados en GRID
Globus Grid Security Infraestructure es el estándar de facto para Grid Middleware• Basado en PKI• No es necesario introducir el password cada vez• Delegation: a service can act on behalf of a person• Mutual authentication: both sides must authenticate to
the other
Uso de Credenciales• Introduce el uso de proxy certificates• Certificados de corta vida que incluyen su clave privada
y estan firmados por el certificado del usuario• Los proxy-certificates se pueden mover por la red• Limited and Full proxys
grid-proxy-init , grid-proxy-info , grid-proxy-destroy
Rafael Marco de Lucas (IFCA)
Seguridad: Control de acceso
Control de acceso: grid-mapfile Organizaciones Virtuales
• Generación automatica del grid-mapfile• Cada centro decide que VOs acepta
Virtual Organization Membership Service VOMS• Extends the proxy info with VO membership, group, role and
capabilities Local Centre Authorization Service (LCAS)
• Comprueba si el usuario esta autorizado (usando el grid-mapfile)• Comprueba si el usuario esta prohibido en el site• Comprueba si en ese momento el site acepta jobs
Local Credential Mapping Service (LCASMAPS)• Asocia credenciales grid con credenciales locales (unix uid/gid,
AFS tokens,…)• Actualmente usa grid-mapfile• En un futuro próximo asociara tambien VOMS group and roles
Ataques y acceso de intrusos: uso, sobreuso y abuso
Rafael Marco de Lucas (IFCA)
Uso de Certificados y proxys
Obtener información de un certificado• grid-cert-info
Uso de proxy certificates• Crear: grid-proxy-init• Destruir: grid-proxy-destroy• Ontener información: grid-proxy-info
Long Term proxy• myproxy server• Create and store: myproxy-init –s <hostname>• Obtener informacion: myproxy-info• Obtener un nuevo proxy: myproxy-get-delegation• Destruir el proxy: myproxy-destroy
Rafael Marco de Lucas (IFCA)
GSI APIs
GSS-API , C/C++ Java GSS-API Java Comodity Grid (CoG) API C/C++ Web Services
Rafael Marco de Lucas (IFCA)
Obtención de Certificados
IMPORTANTE• Puedes localizar la web de tu CA nacional para Grid desde
www.eugridpma.org pero generalmente el administrador de grid de tu centro te podrá ayudar a agilizar este trámite
• Las solicitudes deben ser generadas por el propietario del certificado.La clave privada debe estar encriptada a través de un password.
• Guardar copias de seguridad de la clave privada• NO OLVIDAR EL PASSWORD• No compartir los Certificados personales. Limitación de uso.• Si la seguridad de tu certificado se ve comprometida debes
avisar urgentemente a la RA y a la CA. PRACTICO
• Obtened una cuenta en un User Interface• Solicitad vuestros Certificados Personales
Rafael Marco de Lucas (IFCA)
Conclusiones
El uso de certificados permite establecer una infraestructura de comunicación segura entre las partes del grid
El uso de proxy certificates en GSI hace mas fácil y flexible su uso
Seguridad:• Authentication: Certificados• Autorization: Organizaciones Virtuales
Ejercicios