HACIA UNA PROPUESTA DE MECANISMOS PARA LA AUTENTICIDAD DE OBJETOS DE APRENDIZAJE EN PLATAFORMAS LCMS
MECHANISMS FOR AUTHENTICITY OF LEARNING OBJECTS IN LCMS PLATFORMS: ISSUES AND PROPOSALS
Paulo Alonso Gaona García 1, Carlos Enrique Montenegro Marín1, Helvert Wiesner Gonzalez 1
1 Universidad Distrital Francisco José de Caldas
pagaonag@udistrital.edu.co, cemontenegro@udistrital.edu.co, helvertw@gmail.com
Recibido: 10/05/2013 - Aceptado: 24/06/2014
Resumen
Los actuales mecanismos de seguridad dentro de una plataforma Learning Content Management Systems (LCMS), carecen de principios para llevar a cabo procesos de confidencialidad, integridad y privacidad de contenidos. Específicamente, la autenticidad de contenidos, es uno de los temas que dentro del área de seguridad informática requiere el establecimiento de una serie de normas y procesos para la veracidad de la información en cualquier entorno de trabajo. Por lo tanto, el presente artículo presenta una propuesta para la definición de un mecanismo de seguridad informático, que permita suplir algunas de estas necesidades dentro de una plataforma LCMS; así como la seguridad de los LCMS usando el concepto de firmas digitales bajo una Infraestructura PKI (Public Key Infraestructure). La propuesta contempla definir aspectos para que entidades educativas puedan gestionar certificados digitales. El objetivo es ofrecer una serie de lineamientos y consideraciones para la gestión e integración de certificados digitales, con el propósito de facilitar el funcionamiento de un mecanismo de seguridad para validar la autenticidad de recursos digitales dentro de una plataforma LCMS.
Palabras clave: certificados digitales, firmas digitales, infraestructura de clave pública, LCMS, seguridad de la información
Abstract
The current security mechanisms of Learning Content Management Systems (LCMS) platforms, do not contemplate aspects related to confidentiality, integrity and privacy of contents in learning objects. In particular, the authenticity of content is one of the topics in the field of information security that requires principles and processes to carry out the veracity of information in any collaborative work environment. Within this context, this paper presents a proposal for the definition of a computer security mechanism to improve protection levels of LCMS platforms, through the concept of digital signatures and PKI (Public Key Infrastructure). The approach considers the definition of aspects so that educational institutions can improve the digital certificate management or become a certification authority. The goal is to provide a set of guidelines and considerations for the management and integration of digital certificates, in order to facilitate the operation of a security mechanism to validate the authenticity of digital resources within a LCMS platform.
Key words: Digital certificates, information security, learning content management system, public key infrastructure.
1. Introducción
El concepto de autenticidad de contenidos y recursos digitales presentes en Internet no ha sido implementado de manera amplia sobre las diferentes plataformas, servicios y/o páginas disponibles en la Web. Este concepto orientado a respetar la autoría y la integridad de la información, parece no tener una mayor relevancia cuando se comparte y se gestiona por toda la Web, a través de distintas entidades e infraestructuras informáticas. Por un lado, este comportamiento se presenta en gran medida por desconocimiento de los usuarios, y por otro, se relaciona por la falta de mecanismos informáticos que faciliten a los usuarios tener un control de sus contenidos que circulan a través de Internet de manera insegura. A partir de estas perspectivas, diferentes iniciativas se han estado desarrollando abordando parte de esta problemática, pero que en cierta manera lo abordan para generar soluciones parciales sobre casos particulares. Un ejemplo de ello, podemos relacionarlo con el proyecto denominado Plan Avanza [1] de la sociedad española. Proyecto que dentro de sus múltiples objetivos se encargó de implementar un sistema de autenticación denominado DNI electrónico, con el fin de crear una herramienta de identificación personal que acreditara la identificación de cada ciudadano de manera física y electrónica. Esta herramienta ha venido evolucionando en servicios de identificación y autenticación de diferentes documentos digitales utilizados por empresas en España.
Diferentes servicios y herramientas Web tienen como eje principal el intercambio de contenidos a través de la red; y en este campo los LCMS, se destacan como una de las herramientas de valor agregado para el apoyo académico y administrativo en la gestión de contenidos y recursos digitales, entre otras funcionalidades. Los LCMS nacieron como evolución de los LMS (Learning Management System) para el manejo de contenidos generados alrededor de un sistema de enseñanza y aprendizaje mediante herramientas Web [2, 3]. Su popularidad se debe a que permiten el desarrollo colaborativo del aprendizaje y enriquecen este proceso mediante la administración de los usuarios alrededor del mismo; permitiendo gestionar estudiantes, profesores, administradores, entre otras actividades enfocando principalmente todo el contenido generado para llevar a cabo un proceso de aprendizaje [4]. A pesar del uso y la expansión de los LCMS, la seguridad que se registra en algunas de ellas no son lo suficientemente robustas para asegurar los contenidos dentro de estas herramientas [5-7].
Trabajos previos, han definido algunos lineamientos para la definición de un framework que facilite la distribución de contenidos fiables dentro de plataformas virtuales a partir de estándares como SCORM [8], y estrategias mediante concepto de Web de confianza [9]. Gualberto y Zorro [10] presentaron el caso de estudio para la certificación de contenidos emitidos por dos usuarios en plataformas Sakai [11] y Moodle [12] mediante Web Service. Sin embargo sólo se enfocan en la autenticidad de usuarios, dejando a un lado los contenidos. Otro trabajo para resaltar, es la iniciativa presentada por el proyecto PERMIS (PrivilEge and Role Management Infrastructure Standards Validation) [13], un proyecto que integra universidades de España, Italia y Reino Unido, cuyo propósito es el uso de certificados digitales para llevar a cabo controles de acceso de usuarios en plataformas LCMS mediante el uso de una infraestructura de clave pública. De igual forma se han realizado estudios mediante análisis de minería de datos [14], donde se identificaron algunas de las plataformas LCMS más comunes que presentaron un mayor número de mecanismos de seguridad. Como resultado de este análisis, se identificó la herramienta Moodle como una de las plataformas LCMS con mayor número de mecanismos de seguridad implementados. Dentro de estos mecanismos, se cuenta con módulos de autenticación mediante LDAP, PAM, Kerberos y correo electrónico; además de la posibilidad de generar certificados mediante SSL y TS, uso de protocolos HTTPS, manejo de listas de control, de acceso, entre otros. Sin embargo, la autenticidad de contenidos asociados dentro de objetos de aprendizaje, es un campo que todavía no ha sido explorado en su totalidad [8].
A partir de este marco de referencia, una de las motivaciones que dio lugar a este estudio es proporcionar estrategias que logren abordar estas necesidades, mediante el planteamiento de una serie de consideraciones para la integración de una herramienta informática que facilite a una institución académica la autenticación de contenidos dentro de una plataforma LCMS. En especial atención, el estudio se centrará sobre objetos de aprendizaje desarrollados por profesores o creadores de materiales educativos, y de manera general sobre la validación de información presente en este tipo de herramientas. Para llevar a cabo este estudio, el siguiente artículo se encuentra organizado de la siguiente manera: La Sección 2 presenta un panorama del tema relacionado con la autenticación de contenidos y seguridad en la Web. La Sección 3, aborda el tema de autoridades certificadoras o AC encargadas de la administración de los certificados digitales y de como un LCMS puede convertirse en esta función; La Sección 4 aborda las consideraciones para llevar a cabo una propuesta de desarrollo y su implementación sobre la plataforma Moodle. La Sección 4 define algunas de las recomendaciones más representativas para la integración de certificados digitales. Finalmente se describen las conclusiones de la propuesta planteada, para la implementación de este tipo de mecanismos sobre una entidad académica.
2. Seguridad y autenticación de contenidos Web
El concepto de seguridad en documentos informáticos, contenidos Web y en general sobre cualquier recurso digital presente en Internet presenta varios enfoques; Carracedo [15] los define a partir de cuatro pilares básicos: 1) La privacidad, que hace referencia a proteger la información para que solo esté disponible para los usuarios a los cuales les este permitida dicha información; 2) la integridad, bajo la cual se debe garantizar que la información no es alterada durante el proceso de transmisión en un sistema de comunicaciones; 3) la autenticidad, que tiende a garantizar la autoría del mensaje y, finalmente 4) el no rechazo o no repudio, enfocado a que el autor no pueda rechazar el contenido que fue emitido por el mismo. Diferentes técnicas han ido evolucionando para intentar solventar estas necesidades, partiendo por los principios de la criptografía moderna [16] y gracias al impulso de grandes esfuerzos para el desarrollo de herramientas criptográficas conocidas e implementadas en la actualidad. Una de las técnicas más difundidas y utilizadas para asegurar la información en Internet se conoce como las firmas digitales. Este concepto surge como evolución electrónica de las firmas manuscritas sobre la base de la criptografía y el área de seguridad informática.
2.1. Firmas digitales
En medio de la evolución de la seguridad informática, en los años 70 Rivest, Shamir y Adelman [17] diseñaron un sistema criptográfico conocido como RSA. El sistema funciona con la generación de dos pares de números ligados matemáticamente, conocidos en el léxico de la criptografía como clave privada y clave pública [18, 19]. Esta relación matemática entre los números garantiza que dada una clave pública, sea imposible deducir la clave privada. De la misma manera que para dos claves publicas diferentes no existe una misma clave privada. Este esquema hoy en día se conoce como criptografía de clave pública [18] y es ampliamente utilizado, ya que con el par de claves permite un proceso de encripción de la información y de firma digital. Para el proceso de encriptación de la información en un sistema de comunicaciones utilizando algoritmos de clave pública, es necesario que el emisor y receptor hayan generado su correspondiente par de claves. La clave pública de cada usuario es enviada entre todos los miembros del sistema, o debe estar disponible en el momento en que cualquier usuario la necesite. El proceso que normalmente se lleva a cabo se presenta en la figura 1, donde un usuario que emite un mensaje, debe tener la clave pública del receptor, con la cual encripta el mensaje. Esto garantiza que el único quien puede desencriptar el mensaje es el receptor, quien tiene la correspondiente clave privada.
Ahora bien, para generar una firma digital se usa la clave privada de quien firma el mensaje. Una vez se tiene el documento a firmar y la clave privada, por medio de funciones Hash se genera lo que se conoce como huella digital. Tanto la huella digital como el documento son enviados al receptor el cual, utilizando la clave pública del emisor obtiene un Hash del documento; y este se compara con un Hash del documento original; en consecuencia, si estos dos coinciden la firma digital es válida.
A continuación en la figura 1, se realiza a representación gráfica de la firma digital dentro de cualquier tipo de especificación, mecanismo y /o algoritmo criptográfico.
La función Hash, es parte fundamental en la estructura de los algoritmos de firma digital al utilizar funciones unidireccionales en la autenticación de los mensajes, lo que garantiza que una vez ha sido cifrado el mensaje no se puede descifrar. Esta función garantiza la “huella dactilar” del documento, por lo tanto este tipo de funciones genera un valor agregado en el área informática y de las telecomunicaciones. A continuación se presentan los pasos para firmar digitalmente un documento:
El valor Hash (H) es conocido también como resumen de (m) (longitud del mensaje original), logrando obtener la siguiente función para su cálculo de acuerdo a la Ecuación 1:
Este proceso genera una firma que se trabaja mediante un resumen del Mensaje.
2.2. Certificados digitales
Un certificado digital es un documento electrónico por medio del cual se puede dar fe que una determinada clave pública pertenece a un determinado usuario. La institución que garantiza esta relación entre usuario y clave pública es denominada Autoridad de Confianza (CA). Para garantizar que el certificado digital no ha sido alterado, este documento va firmado con la clave privada de una CA, de manera tal que cualquier usuario del sistema puede verificar la validez del certificado con la clave pública de la CA. La misión de las CA es generar el par de claves de los usuarios y mantener un registro de claves públicas [21], para que cualquier usuario pueda verificar la firma de otro usuario con ayuda de la CA.
Existen varios tipos de certificados según su uso; los certificados personales, usados primordialmente para el cifrado personal, cifrado de email, firma de formularios, etc; los certificados de servidor, utilizados para el protocolo SSL, VPN entre otros y los certificados de firma de código para garantizar la autenticidad del software. La estructura de los certificados en su mayoría estan definidos por el estandar X509. La primera versión del estándar X509 surgió en 1988 y en la actualidad esta en su versión 3. Su estructura se muestra en la figura 3:
2.3. Autoridad certificadora
Tambien conocidas como autoridades de confianza, son las encargadas de emitir los certificados digitales de los usuarios de un sistema de seguridad que implemente infraestructura PKI. Para este proceso las AC o “Autoridades de Certificación” almacenan las claves públicas de los clientes y la correspondiente información que identifica al usuario. En el momento que cualquier usuario necesite verificar una firma digital dentro del sistema de comunicaciones; necesita la clave pública de quien emitió el mensaje. La función de la CA es garantizar la relación existente entre la clave pública y los datos de usuario inscritos dentro de un certificado digital. Este proceso es posible ya que cuando una CA emite un certificado lo firma digitalmente con su clave privada; de manera tal que si el certificado es alterado en cualquier momento, este no puede ser verificado por la CA y por tanto el certificado es revocado.
3. Consideraciones para el modelo trabajo de certificados digitales en Moodle
Para llevar a cabo una implementación sobre plataformas digitales como Moodle, es necesario extender las funcionalidades de la plataforma para brindarle capacidades de emisión, revocación y validación de certificados digitales. Adicionalmente, es importante proveer de un mecanismo para la firma de contenidos gestionados por un LCMS por medio de los certificados generados. Por citar un ejemplo, la plataforma Moodle en su núcleo no provee estas características, y el uso de certificados se restringe a su caracteristica de Red Moodle; aunque, esta se usa para cifrar la autenticación de usuarios entre servidores de Moodle y no para la gestión de certificados. Por tanto es necesario contar con entornos de trabajo que faciliten una integración de este tipo de procesos. Para este caso se considera el uso de OpenSSL [23], dado que es un API que proporciona un entorno de trabajo para encriptar de manera eficiente datos.
En consecuencia, en el esquema planteado en la figura 4, se presenta el entorno de trabajo OpenSSL, como una herramienta para la creación y gestión de certificados del lado del servidor, que en conjunto con una capa de persistencia definido mediante un lenguaje tipo servidor como es el caso de PHP, permite no solo garantizar la integridad de los contenidos subidos, sino también almacenar la información referida a la certificación de los contenidos para su posterior manejo.
El mecanismo en el lado cliente se orienta primordialmente para la firma de los documentos usando los certificados generados con OpenSSL para los usuarios del LCMS. Este componente de firmado de archivos y solicitud de certificados, se define como un applet para el navegador de java y diseñado para comunicarse con el servidor de Moodle. Esto facilita la firma de archivos en entornos multiplataforma, cuyo funcionamiento es independiente del navegador usado por el usuario (figura 5).
3.1. Modelo de capas planteado
La figura 5 presenta de forma esquemática los componentes usados para llevar a cabo el desarrollo del modelo planteado. Como base se encuentra Moodle, que además de proveer toda la funcionalidad de LCMS, alimenta al prototipo con los registros de usuarios existentes en la plataforma. En un segundo nivel se encuentra OpenSSL, que provee de toda la infraestructura para la generación de certificados digitales y su posterior administración. En el tercer nivel se ubica el plugin de gestión de certificados que modifica a Moodle, facilitando la comunicación con OpenSSL y agregando los cambios en la interfaz de Moodle para el acceso a las nuevas funciones. Finalmente en el nivel más externo tenemos el applet de firmado digital, que se encarga de firmar del lado del cliente los contenidos educativos antes de subirlos a Moodle y las solicitudes de generación de certificados y validación de los mismos.
3.2. Generación de certificados digitales
Para la generación de los certificados digitales se debe estructurar un esquema cliente servidor, el cual permita el manejo de información y entrega de los certificados a los usuarios de manera segura. Para establecer la comunicación de manera segura se utiliza una clave de sesión. La clave de sesión es una clave que el usuario genera antes de hacer la solicitud de creación del certificadoy sirve para encriptar la información que el servidor devuelve al cliente como respuesta a la solicitud. El concepto de la clave de sesión se basa en la criptografía simétrica o de clave privada [24]. El proceso de generación de los certificados de esta forma, se presenta en la figura 6.
A continuación se describe cada una de las etapas definidas en la figura 6:
La siguiente sección presenta algunas de las consideraciones más representativas para llevar a cabo la implementación de este tipo de soluciones.
4. Consideraciones para la integración de certificados digitales
Para llevar a cabo el diseño y desarrollo de un mecanismo, a continuación se evalúan dos escenarios para la firma de contenidos (tomando como caso de estudio la plataforma Moodle). El primero es la transmisión de los contenidos como funciona actualmente la plataforma Moodle, para su posterior firma en el servidor; si bien esto tiene la ventaja de que se podría usar OpenSSL para el cifrado de los archivos a través de la función openssl_encrypt, presenta el inconveniente que los archivos recibidos pueden potencialmente ser diferentes de los que el usuario desea subir, por problemas de transmisión o por algún atacante en el medio del canal de comunicaciones. El segundo escenario plantea por el contrario, la firma de los archivos en el cliente para su posterior transmisión al servidor, puesto que durante la firma se valida el certificado usado por el usuario, con lo cual es posible verificar en cualquier momento si el archivo recibido coincide con el firmado del lado del cliente, solucionando el problema que surge en el primer escenario.
A fin de lograr que el prototipo ofrezca seguridad desde su diseño se toma como referencia el segundo escenario, esto plantea por supuesto un reto en la implementación del firmado del lado del cliente ya que actualmente no existe un estándar abierto y de facto para el firmado con certificados digitales en ambientes Web. Como propuestas existen Javascript Crypto [25] de Mozilla, CAPICOM y Certenroll [25] de Microsoft que funcionan con ActiveX y finalmente Web Cryptography API de la W3C. Esta última es una de las propuestas firmes para ser el estándar a implementar en todos los navegadores que soporten de forma completa HTML5, pero que aún no se encuentra desarrollado en su totalidad [25].
Las propuestas de Mozilla y de Microsoft se encuentran implementadas actualmente, pero solo están disponibles para los navegadores Firefox e Internet Explorer respectivamente, y la propuesta de la W3C aún se encuentra lejos de publicar su documento final y se requeriría un tiempo mayor, para que los navegadores terminen sus implementaciones. Por lo tanto, no puede ser considerada como parte del desarrollo de nuestra propuesta. En consecuencia, el prototipo de este desarrollo se basa en Java, el cual permite que el componente de firma digital funcione en los sistemas operativos soportados por la máquina de ejecución de Java (JRE) y en diferentes navegadores a través de la implementación en forma de Applet, tal como se presenta en la figura 7.
5. Recomendaciones para LCMS como autoridades certificadoras
Basados en las consideraciones de la sección anterior y estudios previos para la gestión de contenidos dentro de una plataforma LCMS [26], a continuación se presenta una serie de lineamientos para implementar un sistema de seguridad basado en certificados digitales.
6. Conclusiones
La aplicación e integración de tecnologías estándar son de gran soporte para la seguridad en la Web, pero su implementación está aún lejos de su adopción. Por lo tanto, actividades como la firma digital de archivos de lado del cliente necesita aún del uso de tecnologías propietarias que no están diseñadas para funcionar en distintos entornos. Por tal motivo las consideraciones que se definen dentro de este artículo, son un buen punto de partida para llevar a cabo el desarrollo de certificados digitales para la autenticidad de contenidos dentro de una plataforma LCMS, para este caso en particular, sobre la plataforma Moodle.
El estudio realizado evidencia la falta de mecanismos implementados dentro de las diferentes plataformas LCMS que en principio se encuentren orientadas a garantizar la confidencialidad de los contenidos gestionados dentro de ellas. En consecuencia se pueden desarrollar herramientas y plantear soluciones que de manera particular ayuden a reducir el problema; sin embargo, cada LCMS tiene diferentes técnicas y estructura de desarrollo y definen sus propias reglas para la implementación de extensiones, por lo que aunque la solución planteada se pueda extender a cualquier LCMS, el prototipo desarrollado es una solución particular enfocada sobre la plataforma Moodle.
Por lo anterior, es importante el establecimiento y divulgación de normas técnicas y legales para proteger el desarrollo de recursos digitales y/o la definición de pautas para la reutilización de las mismas dentro de un entorno académico. Por lo tanto, el desarrollo de este tipo de propuestas, definen un nivel de confianza sobre el uso de materiales y recursos digitales dentro de un entorno académico, aunque existen otras vías legales que favorecerían el uso de materiales educativos, bajo el soporte de normas que amparan los derechos de autor.
Como trabajo futuro se prevé el desarrollo de un prototipo informático mediante la aplicación de los lineamientos definidos en el presente artículo, con el fin de llevar a cabo estudios que permitan evaluar el desempeño del mecanismo dentro de un entorno de trabajo real. Para ello, se llevarán a cabo varios casos de estudio mediante la definición de escenarios que faciliten la identificación de problemas o desafíos para la integración en plataformas LCMS.
Finalmente, es claro que los certificados digitales y firmas digitales no son una solución completamente fiable y segura dentro de un entorno abierto como lo es Internet. Por tal razón es importante reconocer este tipo de mecanismos como alternativas de mayor aceptación dentro del área informática. Sin embargo, el tratamiento de información requerirá a futuro plantear estrategias más robustas para definir mayores niveles de confianza, donde las entidades y empresas en particular sobre cualquier área de conocimiento, necesitarán de la vinculación de información cada vez más fiable y veraz a través de estrategias como Linked data y Open Data.
Referencias Bibliografía