Integración de la autorización basada en certificados de atributos para SSH

Post on 02-Feb-2016

54 views 0 download

description

Integración de la autorización basada en certificados de atributos para SSH. Victor Manuel Fernández Albor. OPEN-SSH Proyecto e Integrantes. - Proyecto IFEC - PowerPoint PPT Presentation

Transcript of Integración de la autorización basada en certificados de atributos para SSH

Integración de la autorización basada en certificados de

atributos para SSH

Victor Manuel Fernández Albor

OPEN-SSH Proyecto e Integrantes

- Proyecto IFEC

- Estudio, diseño y desarrollo de una infraestructura de Firma digital cualificada basada en una infraestructura de gestión de privilegios y una autoridad de sellado de tiempos.

INTEGRANTES

OPEN-SSH Criptografía

- Hoy día la criptografía se basa en problemas matemáticos con difícil resolución.

- Criptografía simétrica

- Como compartimos las claves?

- Para N usuarios:

N(N-1)/2 pares de claves

- Ejemplos: AES, Blowfish

OPEN-SSH Criptografía

- Criptografía asimétrica

- 2 Claves: Una pública y otra privada.

- Para N usuarios:

N pares de claves

- Menos fuerte que la simétrica.

- Ejemplos: RSA, DSA, ElGamal,Elliptic Curve

Compartir secretos

- Muestra híbrida entre los esquemas

simétricos-asimétricos.

- No repudio

- Envío autenticación

- Firma Digital

OPEN-SSH Criptografía

- La identidad de los certificados está conectado a la clave pública con una identidad.

- El certificado necesita ser firmado para asegurar la conexión.

- La firma es realizada con una clave asimétrica, y necesita de otro certificado para certificar al que firma.

- Esto genera una cadena, y al final de la cadena existe una autoridad que se autofirma su propio certificado.

- El usuario ha decidido si confía en la autoridad o no.

- Normalmente estas autoridades son bien conocidas y soportadas por los gobiernos.

Root CA

Sub-CA

OPEN-SSH Criptografía

Cada usuario tiene un conjunto de roles o atributos

Una política de autorización verifica las acciones mostradas con los roles atributos

La política no incrementa con el número de usuarios

OPEN-SSH

OPEN-SSH Arquitectura necesaria

Necesidades de Open-SSH con PMI

- Usuario del SSH- Certificado de identidad- Certificado de atributos- SSH Client - PMI

- Institución del Usuario- Certificado de SOA- Certificado de Usuario- Servidor PMI- Gestor de políticas

- Proveedor de servicios- Gestor de políticas (Todavía no disponible)- SSH Server - PMI

OPEN-SSH PMI Arquitectura necesaria

OPEN-SSH Problemática en el desarrollo y modificación del protocolo

Estes son los principales problemas encontrados en la realización del proyecto:

1) La falta de documentación acerca del código ssh, escrito integramente en C puro.

Por un lado SSHD, y por otro SSH cliente, con sus diferentes capas.

Conexion - Authenticación – Transporte

connect ---- authXX ---- kex

Mezcla de capas en ficheros ssh.c y sshd.c.

Utilización de algunos ficheros C, tanto por parte del cliente como por parte del servidor, da lugar a confusiones.

2) Una vez conseguido desencriptar código: ¿ Como es la comunicación entre el cliente y el servidor?

Definidos en el RFC de SSH, las nomenclaturas no coincidian.

Los nombres de los códigos enviados entre cliente y servidor, no coincidian en muchos de los casos.

OPEN-SSH Problemática en el desarrollo y modificación del protocolo

33) Una vez se consigue comunicar SSHD y SSH client, se necesita enviar certificados ¿Como los envio?

Funciona por Sockets, se creo una secuencia de códigos específica para el envio: mensaje códigoNumericoMensaje

4) Una vez enviados los certificados, el SSHD necesita verificarlos,

SSH, no permitia escribirlos en ficheros, ni poder verificarlos, ni siquiera acceder a archivos del sistema.

-Cambio del CHROOT

-Borrar permisos de escritura-lectura en disco (setGid, setUid)

-Duplicación de procesos

-Memoria compartida

Estes son los principales problemas encontrados en la realización del proyecto:

OPEN-SSH Problemática en el desarrollo y modificación del protocolo

Estes son los principales problemas encontrados en la realización del proyecto:

5) Una vez que tenemos los certificados, necesitabamos conectar una aplicación en C puro, con otra en java para la obtención de una respuesta, varias alternativas,Pruebas Axis c++, GCJ, Gsoap, Swig, Jace, JVM en C en linux.

- Llamada app Java directamente, pero se necesitaba pasarle los certificados

a) Primera versión en ficheros → operativa

b) Segunda versión a través de stdin, stdout → problemas con caracteres de fin de fichero existentes en certificados, mala interpretación de las funciones tanto de C como de Java. → Operativa.

OPEN-SSH Estructura diagrama

Get Information of PMI

Validate every chain with OCSP or CRL in middleware

Validate att certificate with OCSP or CRL in PMI

Verify the dates of chain certificates, Soa certificate and Att Certificate

Load the trustStore and validate sign of Certificates.

Verify the XACML policy

OPEN-SSH Validación-Verificación

XACML

PROYECTO IFEC

Víctor Manuel Fernández Albor (victormanuel.fernandez@usc.es) Luis Manuel Carril Rodríguez (luismanuel.carril@usc.es)

Tomás Fernández PenaUniversidad de Santiago de Compostela

Andrés Gómez, Ignacio López Cabido{agomez,nlopez}@cesga.es

Centro de Supercomputación de Galicia

Sergio RodríguezJuan Manuel Alonso Alonso

Aldaba Soluciones y Proyectos

Felipe Gil CastiñeiraJorge

Javier CastañoUniversidade de Vigo