vieron en autopista ese logo nuevo . sintasis creo que es , alguien sabe que es.
SITACI:
Un sistema de transferencia de datos de código abierto
Eduardo M. Zavalla, Jorge Landoni y Alberto Mariuzzo
Administración Nacional de la Seguridad Social
{ezavalla;jlandoni;amariuzzo}PARA DATOS DE CONTACTO, UTILIZAR "PERFIL" O "MP".gov.ar
Abstract. Este trabajo presenta los lineamientos seguidos para el desarrollo de un sistema de transferencia de datos
realizado por la Administración Nacional de la Seguridad Social (ANSES) utilizando componentes de software libre y
puesto a disposición de otros organismos también en carácter de software libre. Se presentan los parámetros considerados
para asegurar la adaptación a diversos entornos productivos y las posibilidades para extender su funcionalidad a otros
requerimientos no contemplados en la etapa de diseño, lo cual facilita no solo su uso por parte de ANSES, sino también
por cualquier otro organismo que desee disponer de este producto.
Keywords. Transferencia de datos, software libre.
1. Introducción
ANSES en un organismo descentralizado dependiente del Ministerio de Trabajo, Empleo y Seguridad Social (MTSS)
creado el 01/01/1992 por el decreto 2284/91 para administrar el Sistema Único de la Seguridad Social (SUSS) creado
también por dicho decreto. Su misión es la de proveer todas las prestaciones de la seguridad social a cargo del Estado, con
excepción de la salud, buscándose, con esta transformación del sistema, mejorar la gestión administrativa, reducir los costos
operativos y aumentar la eficacia de los servicios prestados.
ANSES nace como la integración de varios organismos previsionales que operaban en forma autónoma, siendo los mas
importantes:
· El Instituto Nacional De Previsión Social (INPS), conformado por las tres ex-cajas nacionales de previsión (del Estado y
Servicios Públicos, de Industria, Comercio y Actividades Civiles y de Autónomos), Recaudación Previsional, Unidad
Banco de Datos (UBD), y el Centro Único de Procesamiento de Datos (CUPED).
· Las tres ex-cajas de Asignaciones Familiares (del Personal de la Industria [CASFPI], del Personal de Comercio
[CASFEC] y del Personal Portuario y Marítimo [CASFPYMAR]).
Esta integración de diferentes estructuras relacionadas con la seguridad social, significó heredar sistemas, tecnologías y
equipamientos también diversos, con las consecuentes dificultades en torno al mantenimiento, administración y migración a
nuevos escenarios tecnológicos, tareas que debieron ser llevadas a cabo, asegurando al mismo tiempo la continuidad de los
sistemas que atienden los servicios que le son propios en la Seguridad Social.
Es así que los servicios brindados por ANSES a la comunidad pueden resumirse en:
· Prestaciones Activas
- Pago Directo de Asignaciones Familiares
- Desempleo
- Pago Único (matrimonio, nacimiento, etc)
- Reintegros de Asignaciones Familiares
· Programas de Asistencia Social
- Programas Nacionales de Empleo
- Programa Jefes y Jefas de Hogar
- Programa Plan Mayores
· Prestaciones Previsionales
- Liquidación de Jubilaciones y Pensiones (Capitalización y Reparto).
- Liquidación y pago de Pensiones no Contributivas por cuenta y orden del Ministerio de Desarrollo Social.
- Pago de deudas previsionales cualquiera fuera el medio de pago (bonos o efectivo).
- Liquidación y pago de Asignaciones Familiares a beneficios previsionales.
- Subsidios Servicios Públicos.
- Emisión de Pagos.
- Liquidación y pago de Sentencias Judiciales.
- Depósitos Judiciales de liquidaciones previsionales.
- Retención por Impuesto a las Ganancias.
- Descuentos para terceros.
· Gestión Interna
- Gestión de Trámites.
- Causas Judiciales.
- Sistemas de Turnos para Unidad de Atención Telefónica (UDAT).
· Datos Básicos y Laborales
- Administración de Base de Personas.
- Administración de Base de Empresas.
- Padrón de Obras Sociales.
- Registración de datos para Historia Laboral.
- Historia de Liquidaciones Previsionales.
· Registro Único de Beneficiarios Previsionales.
En este contexto puede apreciarse que los volúmenes de información administrados por ANSES no solo no son
despreciables, sino que además, ANSES debe intercambiar gran cantidad de datos con otros organismos, principalmente los
requeridos para las emisiones de pagos y administración de información referida al Padrón de Obras Sociales. Por otra
parte, y aunque no está explicitado en el listado anterior, ANSES debe intercambiar información con organismos de la
Seguridad Social de otros países a fin de garantizar los beneficios para los ciudadanos argentinos residentes en el exterior, o
bien, para los ciudadanos extranjeros residentes en la República Argentina.
Si bien el volumen de información transferida es bastante grande, hasta la fecha, ANSES hace uso intensivo de diferentes
soportes magnéticos y ópticos, tanto para la recepción de los datos como para su envío a terceros. Considerando este
mecanismo de transporte de datos, ANSES administra mensualmente un total aproximado de 1200 diskettes y 200 CDROM,
sin contar el intercambio de cartuchos de cinta para su procesamiento en el mainframe de la organización.
Resulta claro que esta labor exige disponer de un área especialmente dedicada a la administración de la información
entrante y saliente (denominada Área Contralor), cuya principal tarea es la lectura y generación de los soportes recibidos y
enviados, y la gestión asociada en caso de detectarse defectos en los mismos.
Para paliar esta situación, ANSES desarrolló a fines de los 90 un sistema de transferencia de información que utilizaba
los enlaces de telecomunicaciones como medio de transporte, a la vez que garantizaba la confidencialidad, integridad y norepudio
de los datos intercambiados. Sin embargo, esta aplicación requería de algunos componentes de software de alto
costo, y su utilización no fue muy difundida ya que presentaba algunos problemas de almacenamiento para grandes
volúmenes de datos, y por que los protocolos de capa de aplicación no eran los estándares de Internet, lo que requería
disponer de programas clientes específicamente desarrollados para tal función. No obstante estas limitaciones, este sistema
de utilizó con éxito para el intercambio de información con Banco Central y con el MTSS para los planes Jefes y Jefas de
Hogar.
De lo antes planteado, puede deducirse que si bien ANSES cuenta con un sistema electrónico de transferencia de
información, sus limitaciones hicieron que se continuara con el uso de los soportes magnéticos y ópticos para el intercambio
de datos, lo cual repercutía directamente en la operatoria del área encargada de tal función, y por ende, en la
confidencialidad, integridad y no-repudio de la información intercambiada.
2. El proyecto SITACI
El proyecto SITACI (por Sistema Integrado de Transferencia, Almacenamiento y Control de Información) nació como
un medio para solucionar los inconvenientes enumerados, y lograr una completa integración de los datos intercambiados
con los sistemas de gestión interna de ANSES. Sus principales objetivos pueden clasificarse en dos grandes grupos:
A. Desarrollar estándares de codificación de los nombres de los organismos que interactúan con ANSES y de las
tareas que ANSES realiza para cumplir con dicha interacción, con el fin de lograr:
1. Unificar la nomenclatura mnemotécnica que las diferentes áreas de ANSES utilizan para referirse a los organismos
externos y áreas internas. Dado que no existe un repositorio centralizado de esta información y al quedar la misma
librada al arbitrio de cada área de ANSES se producen problemas derivados de que el nombre de un mismo organismo o
área es representado por códigos mnemotécnicos diferentes dependiendo de la relación de dicha área con el tercero. El
efecto neto de este proceder es la dificultad de obtener información estadística consistente acerca de la interacción entre
las áreas de ANSES o con organismos externos, existiendo entonces una relación uno-a-muchos entre las codificaciones
adoptadas por cada área y no estando dicha relación soportada por ningún sistema.
2. Permitir que esta nomenclatura unificada permita identificar visualmente las principales características modeladas, tales
como: Tipo de organismo o área, nombre del mismo y dependencia con la cual se realiza la interacción.
3. Unificar la nomenclatura relativa a las tareas que se realizan a raíz de la relación con otros organismos o áreas de
ANSES.
4. Evitar una adopción traumática del estándar de codificación desarrollado, basando la nomenclatura en los usos y
costumbres ya presentes ANSES.
5. Posibilitar el uso de esta nomenclatura a toda la organización.
B. Proveer un canal alternativo de ingreso y egreso de información a la Gerencia de Sistemas y Telecomunicaciones
(GSyT), Área de Contralor, de ANSES, que permita:
1. Lograr una mejora en la calidad del servicio de transferencia de información, reduciendo o eliminando la necesidad de
envíos de datos en soportes magnéticos u ópticos por medio de correo o mensajería convencional, reemplazándola por
comunicaciones sobre redes de computadoras.
2. Reducir o eliminar la documentación en papel necesaria para la entrega o recepción de información, sustituyéndola por
mensajería electrónica cuyo valor probatorio esté respaldado por firma digital.
3. Proporcionar auditabilidad a los procesos de recepción y entrega de datos, identificando unívocamente a las partes
involucradas en la transferencia, los registros temporales del envío y recepción, y la confidencialidad e integridad de los
datos transferidos.
4. Integrarse con la codificación de organismos y tareas de procesamiento desarrollada, con el objeto de unificar las
nomenclaturas utilizadas en el proceso a fin de que no existan discrepancias en la interpretación y obtención de los
resultados deseados.
5. Obtener información estadística de nivel gerencial respecto a los entes intervinientes en los procesos de transferencia, a
los volúmenes de datos involucrados y la periodicidad de las tareas, lo que redundará en una mejor planificación de la
disponibilidad de recursos informáticos de ANSES.
Además, cumpliendo con lo precedente, el proyecto SITACI permitirá obtener ahorros derivados de la reducción de la
cantidad de soportes magnéticos y ópticos adquiridos por ANSES, reducción de la infraestructura necesaria para el
almacenamiento de los soportes con información entrante y reducción de gastos asociados con el envío de la
correspondencia de notificación, a la vez que logrará una mejor utilización de los medios de telecomunicaciones e
informáticos disponibles en ANSES, una mejor utilización de los recursos humanos asignados a las tareas de administración
de la información entrante y saliente, y brindará un mejor servicio a los usuarios, quienes dispondrán inmediatamente de los
datos necesarios, sin necesidad de sufrir las demoras de los medios de distribución convencionales.
2.1. El proceso de codificación
A fin de determinar los requerimientos reales de codificación presentes en la GSyT, como primera etapa se procedió a
efectuar un relevamiento detallado del espectro de organismos y tareas con las cuales la GSyT y la Unidad Central de
Apoyo (UCA) mantienen una estrecha relación. Es así que se detectó que la mayor parte de los organismos externos con los
cuales la GSyT y UCA mantienen un intercambio permanente de información lo constituyen las Obras Sociales y Mutuales,
y los Bancos. En este marco se encontró un conjunto de tareas de procesamiento e intercambio de datos, perfectamente
identificadas y con periodicidad definida, que constituyen el núcleo del trabajo cotidiano de ambas áreas.
El análisis en profundidad de este conjunto de organismos externos demostró que forman un grupo muy numeroso, para
el cual no existen reglas claras que permitan identificarlos entre sí y cuya relación con ANSES produce el 85% de los
soportes magnéticos generados. En virtud de este estudio se determinó que era factible proceder a su codificación (tanto de
nombres como de tareas asociadas) y que los resultados obtenidos de este proceso serían fácilmente extensibles a otras
organizaciones o áreas internas de ANSES.
Por ello, y dado que constituían un grupo de riesgo en razón del elevado volumen de información transferida y procesada
se diseñó un esquema de codificación unificado, que permitiera su identificación inequívoca y que pudiera ser utilizado por
diversas áreas de la organización para la realización de sus tareas.
El esquema de codificación adoptado para los nombres de los organismos externos o áreas usuarias de ANSES es el que
a continuación se detalla, cumpliendo con lo estipulado en el punto A.2 de los objetivos:
1. La identificación de un organismo estará formada por una secuencia de ocho caracteres alfabéticos.
2. Los primeros dos caracteres de la izquierda de dicha secuencia identificarán el tipo de organismo.
3. Los siguientes tres caracteres identificarán al organismo propiamente dicho y se tomarán, en lo posible, de las iniciales de
las palabras más significativas que constituyen el nombre completo del mismo.
4. Los últimos tres caracteres identificarán el área o dependencia del organismo responsable ante la GSyT de la relación
mantenida. Si no existe tal área o la misma no es relevante, estos tres caracteres repetirán el código anterior, indicando
que el contacto se mantiene con el organismo como un todo y no con algún área específica del mismo.
Es importante destacar que el mecanismo de codificación desarrollado tiene su base en los estándares X.500, si bien se ha
restringido la longitud de los identificadores a fin de compatibilizarlos con las necesidades impuestas por el sistema OS/390
utilizado en el mainframe de la organización. La Figura 1 muestra gráficamente la secuencia de ítems que conforman la
codificación de la identificación de los organismos.
Tipo Organismo
(2 caracteres)
Organismo
(3 caracteres)
Dependencia
(3 caracteres)
Fig. 4. Identificación de Organismos codificada.
Del mismo modo, el análisis de las tareas ejecutadas por la GSyT en el marco de la relación con los organismos
relevados mostró que ya existía un estándar informal de codificación adoptado por el área de Implementación (encargada de
la generación y procesamiento de los datos enviados y recibidos) y que reflejaba fielmente el objetivo de cada tarea, por lo
que se decidió adoptar dicha codificación para no introducir cambios en una nomenclatura muy arraigada entre los agentes
del área. Para ello se utilizó un código de ocho caracteres alfanuméricos y se tomó como muestra los sistemas de Obras
Sociales - Interfaz Pressal (OS) y Distribución de Indecisos (IS). El siguiente es un ejemplo del esquema de codificación
adoptado, de la frecuencia de ejecución de las tareas y del destino de los datos.
Código Tarea Descripción de Tarea Sistema Frecuencia E/S
IMPAGOOS Impago Mensuales de Obras Sociales OS Mensual Sale
LIQUIDOS Liquidación de Obras Sociales OS Mensual Entra
REPAGOOS Repagos Mensuales de Obras Sociales OS Mensual Sale
RESULTOS Resultados Mensuales de Obras Sociales OS Mensual Sale
SUSPENOS Suspensiones Mensuales de Obras Sociales OS Mensual Sale
INDEACEP Aceptación del Sorteo de Indecisos IS Mensual Entra
INDEASIG Indecisos Sorteados IS Mensual Sale
INDEJUBI Distribución Indecisos–Jubilación IS Mensual Sale
INDESANS Distribución Indecisos-Salida Reparto IS Mensual Sale
INDESJUB Distribución Indecisos-Salida Jubilación IS Mensual Sale
INDESSOR Distribución Indecisos-Salida Sorteados IS Mensual Sale
ACTIV239 Nómina de Activos Asiqnados–Activos IS Mensual Sale
INDETRAN Distribución de Indecisos–Transferencias IS Mensual Entra
DOMIC130 Nómina de Activos Asignados-Datos Domicilio IS Mensual Sale
INDESORT Distribución de Indecisos–Activos IS Mensual Entra
TRANS100 Nómina de Activos Asiqnados–Transferencias IS Mensual Sale
2.2. Descripción del canal alternativo de ingreso y egreso de información
El sistema de codificación desarrollado no sería de completa utilidad si no existiera un mecanismo de entrada y salida de
información que efectivizara su empleo. Es por ello que se requiere disponer de un sistema de transferencia de información
capaz de interactuar y adaptarse a la nomenclatura diseñada e interactuar con los sistemas de gestión interna de la GSyT.
2.2.1. Consideraciones fundamentales
Dado que el proyecto SITACI también contempla el desarrollo de un canal de comunicaciones entre la GSyT de ANSES
y los usuarios de los datos, que dicho canal deberá proveer seguridad e integridad en el movimiento de información, y que el
mismo será utilizado por individuos no necesariamente especializados tecnológicamente, surgen como base del desarrollo
las siguientes premisas:
1. El desarrollo deberá estar basado en un arquitectura cliente-servidor, utilizando como soporte de comunicaciones al
protocolo TCP/IP, de amplia difusión en la actualidad, con el fin de que el sistema pueda ejecutarse sobre cualquier
plataforma de cómputos sin imponer restricciones adicionales derivadas de las tecnologías de comunicación.
2. Se deberán utilizar tecnologías estándar de Internet en todas las etapas del desarrollo, si es posible obtenidas por medio
de la utilización masiva de "software libre". El cumplimiento de esta premisa evitará atar el diseño a tecnologías
propietarias de difícil y onerosa distribución.
3. Todas las comunicaciones entre el cliente y el servidor serán confidenciales e íntegras, por lo que la inclusión de capas de
seguridad e integridad en las comunicaciones deberá basarse en tecnologías conocidas y de dominio público, de calidad
probada y ampliamente utilizadas en Internet, lo que permitirá conocer rápidamente cualquier vulnerabilidad que se
detecte en ellas y actuar en consecuencia.
4. El módulo cliente deberá ser capaz de ejecutarse sobre plataformas informáticas disímiles, dado el auge que en la
actualidad han tomado sistemas operativos libres, como LlNUX o FreeBSD, frente al dominio indiscutido de
Windowsä, por medio de un proceso de deployment simple y perfectamente documentado. Este módulo deberá contar
con una interfaz de usuario amigable e intuitiva, ya que será utilizado por personal con diferentes niveles de capacitación.
De ser posible, deberá proporcionarse el acceso al sistema de ANSES por medio de la ejecución de un navegador de
Internet, de modo de reducir al mínimo la curva de aprendizaje del usuario.
5. El módulo cliente deberá asegurar explícitamente la confidencialidad del sistema de archivos del usuario por medio de
políticas de seguridad controladas e instalables por el mismo. Este factor es importante ya que elimina suspicacias
respecto a la utilización de un sistema proporcionado por un organismo estatal.
6. El usuario se identificará frente al sistema por medio de un nombre de usuario y una contraseña, ambos proporcionados
inicialmente por ANSES, sin necesidad de adquirir certificados digitales u otros dispositivos de autenticación cuya
manipulación sea complicada o implique costos adicionales. Las condiciones que se establezcan para el otorgamiento de
esos identificadores deben ser tales que aseguren claramente las responsabilidades asignadas al usuario.
7. El servidor se identificará frente al usuario por medio de la presentación de credenciales digitales cuya validez pueda ser
comprobada sin lugar a dudas, dándole al usuario la certeza absoluta de que los datos están siendo intercambiados con
ANSES.
8. El proceso de intercambio de información deberá proveer una limitada capacidad de no-repudio compatible con las
tecnologías usadas en ambos extremos del proceso, generando y almacenando códigos únicos de mensajes vinculados
con información propia de cada usuario para los datos recibidos y propia de ANSES para los transmitidos. Estos códigos
y la información asociada deberán conservarse permanentemente a fin de utilizarlos como pruebas de posibles conflictos
que pudiesen surgir. Cada usuario deberá disponer de una copia impresa y/o electrónica de los códigos de autenticación
correspondientes a los datos por él transferidos.
9. Tanto los clientes como el servidor cooperarán en todo momento para optimizar el ancho de banda disponible en el
enlace de comunicaciones que los vincula, buscando así no interferir con las tareas que normalmente realiza ANSES
sobre estos.
10.El servidor podrá utilizar los servicios de mensajería disponibles en ANSES para proporcionar las notificaciones de
recepción y envío de datos tanto al usuario como a los administradores del sistema. Dichas notificaciones deberán estar
firmadas digitalmente para asegurar la identidad del remitente.
11.Las credenciales digitales deberán ser certificadas al menos por una autoridad estatal nacional con autorización suficiente
para realizar tal tarea. Este proceso asegurará al usuario la identidad de ANSES, a la vez que eliminará los costos
asociados a la adquisición de un certificado digital comercial.
12.El servidor proveerá una extensiva capacidad de registro (logging) útil tanto para tareas de auditoria como para soporte
técnico.
13.El sistema no impondrá límites a la cantidad de datos transferidos a menos que detecte una utilización excesiva de los
enlaces de comunicaciones.
14.El sistema deberá contemplar la posibilidad de disponer de múltiple interfaces de usuario (por ejemplo, páginas HTML
puras) a fin de que el usuario pueda enviar y recibir archivos desde cualquier punto en el que se encuentre, aún no
disponiendo del computador en el cual normalmente realiza sus tareas. Este cliente podrá tener restricciones operatorias
adicionales, fundamentalmente dependientes de la tecnología empleada para su desarrollo. En todo caso estas
restricciones estarán perfectamente documentadas.
Además de lo expuesto puede apreciarse que existe una premisa implícita, que es la reducción de costos del proyecto por
medio de la reutilización de la infraestructura disponible en la organización y la recomendación del empleo de software
libre o royalty free. Esta última recomendación provee soluciones de calidad comercial sin costo alguno pero suele requerir
la liberación del producto final al dominio público bajo las mismas condiciones de la licencia del software utilizado, lo que
parece ser un inconveniente menor dado las ventajas proporcionadas por la utilización de tal software. Sin embargo, la idea
tras este desarrollo es que ANSES sea capaz de compartirlo con aquellos organismos que tengan necesidades similares, por
lo que este producto deberá ser compartido bajo alguna licencia “libre”, preferentemente la GPL (General Public License) a
fin de recibir de la comunidad aquellas mejoras que potencien la funcionalidad de software.
2.2.2. Tecnologías seleccionadas en función de las premisas
Teniendo en cuenta las premisas anteriores, se eligió al lenguaje JAVA como base del desarrollo de todo el sistema. Si
bien este lenguaje no está muy difundido en ANSES, su uso presenta numerosas ventajas que lo hacen una elección
adecuada para el entorno de trabajo del proyecto SITACI:
1. Dispone de un entorno de desarrollo completo y proporcionado sin cargo ni restricciones por la empresa creadora del
lenguaje JAVA.
2. Dispone de un entorno de ejecución royalty-free sin restricciones para su distribución, en versiones para clientes y para
servidores.
3. Permite distribuir los programas clientes mediante applets embebidos en páginas HTML accesibles desde un servidor
central, reduciendo la instalación de programas del lado del cliente.
4. Tiene un excelente rendimiento en aplicaciones servidoras cuyo cuello de botella radica en el ancho de banda disponible.
5. Dispone de numerosos módulos adicionales de seguridad, registro(logging), acceso a bases de datos, mensajería, etc.
desarrollados por terceros, gran parte de los cuales son software libre u "open source", tales como los proporcionados por
la Apache Software Fundation.
6. Es un lenguaje totalmente orientado a objetos, lo que permite crear rápidamente sistemas robustos, fáciles de mantener y
extender.
7. Soporta paradigmas de diseño modernos (como los Design Patterns) que permiten utilizar metodologías de diseño
estándar, ampliamente documentadas y extremadamente flexibles.
8. Soporta en forma natural el modelado del sistema mediante UML, siendo posible diseñar y documentar el desarrollo
usando métodos mundialmente reconocidos y aceptados.
9. Es un lenguaje relativamente simple de aprender, pero posee una API verdaderamente extensa, lo que lo hace apto para
cubrir un muy amplio abanico de necesidades.
Más allá de la elección de JAVA como lenguaje de programación, también se han seleccionado las siguientes tecnologías
como punto de partida para el diseño del sistema:
1. Protocolo de aplicación totalmente basado en el estándar FTP, ampliamente documentado en la RFC-959.
2. Comunicaciones seguras por medio de TLS (Transport Layer Security) versión 1.0 (SSL v3.1) con autenticación de
servidor por medio de certificados digitales X.509 v3, con claves RSA de 1024 bits y claves simétricas de 128 bits en
algoritmos 3DES o RC4.
3. Códigos de Autenticación de Mensajes HMAC utilizando SHA-1 como algoritmo de resumen.
4. Hashed passwords (MD5) para asegurar la confidencialidad de la contraseña del usuario si se utilizan mecanismos de
almacenamiento no seguros, tales como bases de datos relacionales.
5. Compresión y descompresión sin pérdidas y en línea de la información transferida, utilizando el algoritmo Lempel-Ziv
disponible en la API estándar de JAVA.
6. Esquema de usuarios y áreas de almacenamiento virtuales en el servidor, que minimiza la posibilidad de violaciones de
seguridad al sistema.
7. Envío de notificaciones vía e-mail seguros a los usuarios y administradores del sistema bajo protocolo estándar S/MIME.
8. Respaldo persistente de cada transacción de recepción o extracción de información (usuario, time-stamp, HMAC, etc.).