Correosur

1. Necesidades y/o problemas

El Estado venezolano no utiliza una plataforma propia y segura para la gestión de los correos electrónicos de sus instituciones, razón por la cual, cada ente, de acuerdo con los recursos disponibles para ello, configura sus servicios de correo electrónico bajo distintas plataformas.

En muchos casos, dada la facilidad de uso y la gratuidad de los servicios, la Administración Pública Nacional ha optado por emplear herramientas privativas para la gestión de la información institucional y su correo electrónico, vulnerando de esta manera nuestra soberanía tecnológica.

Con respecto a la seguridad informática, se percibe la debilidad de que los correos electrónicos pueden sufrir falsos positivos; esto es, correos que no son válidos o peor aún, que han sido forjados, sean recibidos, aceptados y procesados como si fueran auténticos y verdaderos. Aunado a esto, el despliegue de la Infraestructura Nacional de Certificación de Venezuela es aún desconocido.

Luego de la entrada en vigencia de la Ley de Infogobierno, que tiene por objeto reglamentar el uso de las tecnologías de información libres en el Poder Público para garantizar, entre otras cosas, la independencia tecnológica, así como la seguridad y defensa de la Nación; se acentúa la necesidad de contar con una plataforma de correo electrónico propia y segura, que posea un cliente de correo propio con interfaz web, promoviendo el uso de certificados electrónicos de la Infraestructura Nacional de Certificación Electrónica de Venezuela para garantizar la seguridad e integridad de los documentos adjuntos al correo electrónico con firma electrónica y garantice la validez de la firma electrónica en el tiempo.

2. Solución propuesta

En base a la situación actual descrita, se propuso diseñar e implementar una interfaz para el correo electrónico del Estado venezolano que permita manejar las cuentas de los trabajadores de las instituciones públicas. Motivado a que ya existen una serie de clientes de correo electrónico de interfaz web bajo licenciamiento libre, se utilizó Roundcube de base para el desarrollo de un cliente de correo electrónico para la Administración Publica venezolana.

Debido a que ninguna de estas plataformas tiene soporte para firma electrónica, se planteó desarrollar un plugin para el navegador web que permita gestionar la firma electrónica desde la interfaz web del correo seleccionada, utilizando la Infraestructura Nacional de Certificación Electrónica.

3. Alcance del software propuesto

Autenticación de usuarios.

Gestión de correo electrónico.

Gestión de libreta de contactos.

Firma electrónica de documentos adjuntos.

Firma de los adjunto del correo electrónico bajo los formatos BDOC y PDF.

Verificación de la firma de los documentos adjunto al correo electrónico.

Incorporación a la interfaz gráfica del cliente de correo la opción de firmar digital los adjuntos.

Soporte de la firma digital en hardware

Gestión de calendario.

4. Descripción general de la arquitectura del software

4.1 Descripción general de la arquitectura del software interfaz

4.2 Descripción general de la arquitectura del software plugin firma electrónica

Para el servicio de firma electrónica que se utilizara para firmar los archivos adjuntos al correo, se propone una arquitectura orientada a recursos con interfaces RESTful.

Se proponen los siguientes recursos:

/archivos: para cargar un archivo al servidor y mantenerlo en un espacio temporal.

/archivos/firmados: para cargar un archivo al servidor y verificar su(s) firma(s). En caso de estar firmado retorna información de las firmas.

/archivos/{idFile}: para verificar si un archivo con el identificador está firmado. En caso de estarlo retorna información de las firmas.

/archivos/pdfs: para obtener el hash del archivo PDF que se desea firmar.

/archivos/pdfs/resenas/: para completar la firma del archivo PDF.

/archivos/bdocs/: para obtener la reseña o hash del archivo que se desea firmar en formato BDOC.

/archivos/bdocs/resenas/: para completar la firma del archivo en formato BDOC.

Internamente se utilizan bibliotecas nativas para la gestión de documentos en formato PDF y BDOC.

5. Metodología de desarrollo

El desarrollo del sistema se realizó siguiendo la Segunda Versión de la Metodología de Desarrollo de Software Libre propuesta por CENDITEL.

Siguiendo dicha metodología, se llevarán a cabo 3 procesos:

La conceptualización, sistematizada en el presente documento el cual servirá de insumo para la elaboración de un documento de fundamentación del proyecto.

En la administración del proyecto del software, se pretende entregar el plan del proyecto que contenga: La priorización de las funcionalidades, la dependencia entre las funcionalidades, el estudio de los riesgos asociados al desarrollo de la aplicación, la priorización del desarrollo de cada funcionalidad y por último, el cronograma de desarrollo.

Y la construcción del software se basará en: La especificación de requerimientos, el análisis y diseño del software, la codificación, la realización de las pruebas de software y la liberalización del software mediante la publicación y prueba de versiones y la realización de los manuales de usuario.

6. Plataforma de operación

6.1. Plataforma de operación interfaz

Sistema Operativo: Linux – Debian Jessie.

Servidor WEB: Nginx.

Manejador de Base de Datos: Postgresql 9.4.

Manejador de cuentas de usuarios: OpenLdap.

6.2. Plataforma de operación plugin firma electrónica

Sistema operativo Debian GNU/Linux Debian Jessie.

Lenguaje de programación: Java.

Servicio web server Representational State Transfer (REST) java: JAX-RS.

contenedor de Java Servlet: Tomcat.

7. Plataforma de desarrollo

Control de Versiones: GIT.

Servidor de Pruebas: Ubicación: Centro de datos de CENDITEL. Identificación: mayaguaray00. Tipo de servidor: Máquina virtual basada en XEN. Dotación actual: 1 CPU, Memoria 256MB, Almacenamiento 7GB. Conectividad de área extendida: 72MBps recepción, 142MBps transmisión. Conexión compartida. Conectividad local: Gigabit Ethernet en redes privadas. Administración: ssh a través de VLAN dedicada. Publicación de servicios: http, https, imaps, submission, smtp, smtps. Dirección de publicación: correosur.cenditel.gob.ve.

7.1 Plataforma de desarrollo interfaz

Sistema Operativo: Linux – Debian Jessie.

Manejador de Base de Datos: Postgresql 9.4.

Lenguaje de Programación: PHP 5.

Framework de desarrollo: Zend.

Lenguajes de marca: HTML, CCS, ExtJS.

7.2 Plataforma de desarrollo plugin firma electrónica

Sistema operativo Debian GNU/Linux Wheezy.

Lenguaje de programación: Java.

IDE: Eclipse Luna.

Soporte de Java para REST a través de la especificación Java Specification Request (JSR) 311. Esta especificación se conoce como JAX-RS (The Java API for RESTful Web Services) y que utiliza anotaciones para definir la relevancia REST de clases Java.

Jersey. Implementación de referencia para la especificación JSR 311.

Maven: herramienta de administración de proyectos de software.

Tomcat: software que implementa las especificaciones de los servlets y de JavaServer? Pages (JSP) como contenedor web.

Biblioteca iText para gestión de archivos en formato PDF.

Biblioteca digidoc4j biblioteca para integrar firmas electrónicas basadas en XAdES en aplicaciones y servicio web desarrollados con la tecnología Java.

8. Licencias de código y documentación

El software desarrollado en este proyecto se distribuye bajo la licencia GPL v.2.0 de la Free Software Foundation.

Por su parte, los documentos generados durante el proyecto estarán liberados bajo la Licencia Creative Commons Venezuela 3.0: Reconocimiento, No comercial, Compartir Igual 3.0, que permite compartir, exhibir, modificar, y ampliar la obra para fines no comerciales, siempre y cuando se de crédito a su (s) autor (es) y la licencia de las nuevas obras creadas a partir de la original posean iguales términos y condiciones a la licencia de la obra original.