Title: Diapositiva 1
1Integración de la autorización basada en
certificados de atributos para SSH
Victor Manuel Fernández Albor
2OPEN-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
3OPEN-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
4OPEN-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
5OPEN-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
6OPEN-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
7OPEN-SSH
- Capa de transporte
- Intercambio de claves
- Autenticación del servidor
- Cifrado
- Capa de Autenticación del usuario
- Autenticación del cliente
- Provee un número de métodos de autenticación
- Capa de conexión
- Define concepto de canales
8OPEN-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
9OPEN-SSH PMI Arquitectura necesaria
10OPEN-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.
11OPEN-SSH Problemática en el desarrollo y
modificación del protocolo
Estes son los principales problemas encontrados
en la realización del proyecto
3) 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
12OPEN-SSH Problemática en el desarrollo y
modificación del protocolo
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.
Estes son los principales problemas encontrados
en la realización del proyecto
13OPEN-SSH Estructura diagrama
14OPEN-SSH Validación-Verificación
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
15XACML
16PROYECTO IFEC
Víctor Manuel Fernández Albor (victormanuel.fernan
dez_at_usc.es) Luis Manuel Carril
Rodríguez (luismanuel.carril_at_usc.es) Tomás
Fernández Pena Universidad de Santiago de
Compostela Andrés Gómez, Ignacio López
Cabido agomez,nlopez_at_cesga.es Centro de
Supercomputación de Galicia Sergio
Rodríguez Juan Manuel Alonso Alonso Aldaba
Soluciones y Proyectos Felipe Gil
Castiñeira Jorge Javier Castaño Universidade de
Vigo