15
Seguridad y Uso de Certificados Digitales en GRID Rafael Marco (IFCA)

Seguridad y Uso de Certificados Digitales en GRID Rafael Marco (IFCA)

Embed Size (px)

Citation preview

Page 1: Seguridad y Uso de Certificados Digitales en GRID Rafael Marco (IFCA)

Seguridad y Uso de Certificados Digitales en

GRID

Rafael Marco (IFCA)

Page 2: Seguridad y Uso de Certificados Digitales en GRID Rafael Marco (IFCA)

Rafael Marco de Lucas (IFCA)

Todos conocemos los Certificados Digitales

Page 3: Seguridad y Uso de Certificados Digitales en GRID Rafael Marco (IFCA)

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)

Page 4: Seguridad y Uso de Certificados Digitales en GRID Rafael Marco (IFCA)

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

Page 5: Seguridad y Uso de Certificados Digitales en GRID Rafael Marco (IFCA)

Rafael Marco de Lucas (IFCA)

Autoridades de Certificación

CAs comerciales

CAs académicas

CAs con valorlegal en España

Page 6: Seguridad y Uso de Certificados Digitales en GRID Rafael Marco (IFCA)

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

Page 7: Seguridad y Uso de Certificados Digitales en GRID Rafael Marco (IFCA)

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

Page 8: Seguridad y Uso de Certificados Digitales en GRID Rafael Marco (IFCA)

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

Page 9: Seguridad y Uso de Certificados Digitales en GRID Rafael Marco (IFCA)

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

Page 10: Seguridad y Uso de Certificados Digitales en GRID Rafael Marco (IFCA)

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

Page 11: Seguridad y Uso de Certificados Digitales en GRID Rafael Marco (IFCA)

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

Page 12: Seguridad y Uso de Certificados Digitales en GRID Rafael Marco (IFCA)

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

Page 13: Seguridad y Uso de Certificados Digitales en GRID Rafael Marco (IFCA)

Rafael Marco de Lucas (IFCA)

GSI APIs

GSS-API , C/C++ Java GSS-API Java Comodity Grid (CoG) API C/C++ Web Services

Page 14: Seguridad y Uso de Certificados Digitales en GRID Rafael Marco (IFCA)

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

Page 15: Seguridad y Uso de Certificados Digitales en GRID Rafael Marco (IFCA)

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