A partir de este semestre, PRiSE amplía la colaboración con la Universitat Oberta de Catalunya a través de la realización de la asignatura de prácticas profesionales para el Máster de Seguridad de las tecnologías de la información i de las comunicaciones. Estas prácticas podrán dar pie a la realización del Proyecto de Fin de Máster en PRiSE.
Esta colaboración se añade a la ya existente en el Máster de Software Libre.
Más información: http://cv.uoc.edu/app/mediawiki50/wiki/Main_Page
adAS sigue evolucionando, dando más funcionalidad y mejorando las ya existentes.
En su nueva versión, la 1.3.0, tenemos varias novedades importantes. Las comentamos a continuación organizadas según el aspecto a las que son relativas.
Protocolos
Metadatos
Temas de usuarios
Criptografía
Autenticaciones
Administración Web
¿A qué esperas? ¡Descárgate la nueva versión de adAS y pruébala!
Al principio de la era digital, las personas hacían uso de sistemas básicos de autenticación para poder acceder a recursos: si querían acceder al correo de la facultad o acceder a tus datos de matrícula necesitabas tener en tu poder un nombre de usuario y una contraseña específica para ello.
La cosa comenzó a complicarse cuando se vio la necesidad de que profesores subieran documentos e información con acceso restringido a los sistemas de la universidad. Para permitir este acceso comenzaron a necesitarse unas credenciales específicas. Además, la universidad comenzó a ofrecer más y más servicios, usando las credenciales originales u otras nuevas, dependiendo de la aplicación que se utilizara, acabándose por tener una organización con un conglomerado de fuentes de datos, aplicaciones y protocolos heterogéneas e incomunicadas entre ellas.
Para solventar el problema de desorganización, seguridad y eficiencia se ha comenzado a implantar sistemas que unifiquen la gestión de la identidad de las organizaciones mediante proveedores de identidad como adAS o directorios virtuales que concentran la entrada a fuentes de datos como VirDAP.
Hasta este punto, el problema era poder autenticar a los usuarios de nuestra organización en un sólo punto (Single Sign-On); pero una vez resuelto este asunto comienzan a plantearse otras implicaciones: ¿Qué ocurre con los usuarios que no son de mi organización y que quiero que accedan a mi sistema, por ejemplo: usuarios de selectividad, estudiantes extranjeros o de otras universidades?
Para solucionar este aspecto se pensó en la creación de Federaciones, donde universidades y otras organizaciones crean acuerdos entre ellas que permiten que usuarios de unas y otras puedan acceder a los recursos de ambas. Los inconvenientes de una solución federada son importantes, tanto burocráticos como tecnológicos, ya que implican firma de convenios, entrega de información personal de los usuarios, implantación de un sistema común a los integrantes de la federación y el coste (material, tiempo, personal de mantenimiento) que esto suponte, etc.
Quizás es hora de mirar un poco más allá y pensar en una solución diferente, la denominada Autenticación Delegada: ¿Por qué no dejar que los sistemas de cada organización traten con sus propios datos? En un sistema de autenticación delegada se trata la información de la siguiente forma:
Esta solución permite evitar a ambas organizaciones tener que haber implementado una federación y con la mera integración de los Single Sign-On de ambas es posible la autenticación delegada, sin traspaso de más información personal de los usuarios que la imprescindible, evitando la creación de cuentas duplicadas y eliminado la necesidad de que el usuario tenga que aprenderse/utilizar otro tipo de credenciales más.
Y ahora bien, nos queda el problema de decidir de qué organizaciones nos fiamos más o menos, por ejemplo, si un alumno de la universidad quiere cambiar sus datos bancarios, ¿nos fiamos de cualquier autenticación delegada? Incluso dentro de nuestra propia organización puede que querramos utilizar certificados o DNIe en vez de usuario y contraseña para ciertos trámites. La pregunta que nos queda es ¿Cuáles son los sistemas más confiables? ¿Qué orden de confianza le doy a mis sistemas de autenticación, tanto local como delegada?
Para responder a esta pregunta habrá que implantar lo que se denominan Niveles de Confianza (LoA, Level of Assurance). De ellos ya hablaremos en posteriores entradas del blog.
Continuará
Recientemente hemos tenido que solucionar la problemática de tener que cambiar la codificación de un sistema a UTF8. Después de cambiar las codificaciones de archivos y plantillas, la forma de trabajar con los servidores de LDAP y entre otros, nos topamos con un problema en la base de datos MySQL que se utilizaba.
En un principio solucionamos el problema de los caracteres añadiendo la función mysql_set_charset(«utf8″,$conexion) en el código de la forma:
$connection = mysql_connect($server,$username,$password);
mysql_set_charset('utf8',$connection);
[...]
Esto nos evitaba los problemas de codificaciones erróneas, pero pensamos que una forma más elegante de hacerlo sería cambiar la configuración de la base de datos para evitar tener que modificar todos los scripts donde hubiera que conectarse con bases de datos.
Según la documentación de MySQL para que al extraer la información con una codificación concreta es necesario modificar el archivo de configuración de MySQL añadiendo las directivas:
character-set-server=utf8
collation-server=utf8_general_ci
Esta configuración nos funcionaba bien hasta que se utilizaban dos conexiones a bases de datos diferentes en un mismo script, donde una de las conexiones devolvía datos codificados correctamente, pero la otra los devolvía con la codificación errónea.
Después de dar muchas vueltas a la documentación de MySQL encontramos la directiva:
skip-character-set-client-handshake
La cual permite que MySQL se comporte como MySQL 4.0. y no haga caso de la codificación del cliente y fuerce a que se utilice la establecida por defecto con las variables character-set-server y collation-server
A nosotros esta variable de configuración nos solucionó el problema. Esperamos que os sirva de ayuda también a vosotros.
———-
OJO! Si buscáis esta variable cuando estáis en consola, (por ejemplo con mysql >SHOW VARIABLES;) no desesperéis; esta variable no aparece en al mostrar las variables del sistema.