Documentos de Académico
Documentos de Profesional
Documentos de Cultura
FACULTAD DE INGENIERIA
SECCIONAL BOGOTA
OCTUBRE, 2013
DISEÑO DE UN SOFTWARE QUE ADMINISTRE Y ADVIERTA EL
VENCIMIENTO DE LOS DOMINIOS Y CERTIFICADOS DIGITALES DEL BANCO
CAJA SOCIAL
Director (a)
Ingeniero de Sistemas
FACULTAD DE INGENIERIA
SECCIONAL BOGOTA
OCTUBRE, 2013
NOTA DE ACEPTACION
______________________________
______________________________
______________________________
______________________________
______________________________
PRIMER JURADO
______________________________
SEGUNDO JURADO
OBSERVACIONES
______________________________
______________________________
______________________________
______________________________
Bogotá
Octubre, 2013
AGRADECIMIENTOS
Doy gracias a Dios por darme la fuerza suficiente para superar las adversidades
las cuáles sucedieron durante todo mi proceso, gracias señor por brindarme una
nueva vida y oportunidad de surgir, con el logro de este gran paso, gracias a mi
Yeimy Carolina fueron parte fundamental para este gran logro esto también es
para ustedes gracias mil gracias por tanto apoyo amor y compresión.
GLOSARIO
ARGO UML: Es una aplicación de diagramado de UML escrita en Java y publicada bajo
la Licencia BSD. Dado que es una aplicación Java, está disponible en cualquier plataforma
soportada por Java.
DATA CENTER: Un Data Center es, tal y como su nombre indica, un “centro de
datos” o “Centro de Proceso de Datos” (CPD).
Este trabajo brinda, plantea, analiza y escoge entre los diferentes mecanismos de
diseño de software el modelo que más se ajusta a las necesidades propuestas por
el Banco Caja Social, quien por motivos de seguridad informática y amenazas
existentes hacia la información, ha decidido obtener un software que permita
administrar y advertir las fechas de vencimiento de los certificados digitales y
dominios del banco, mediante el modelo de UML y el lenguaje Visual Basic, al
desarrollar el software para mantener estos documentos de forma segura los cual
son de vital importancia para el Corp. del banco, se permite lograr minimizar la
perdida u olvido de estos documentos, con ello a los clientes del banco se brinda
garantía de los sitios de Internet de propiedad del banco para gestionar sus
actividades en los servicios ofrecidos los cuales son seguros, y de igual forma
garantizar que los sitios de Internet accedidos por los clientes y colaboradores son
del banco, adicional, el banco mantiene su estatus de entidad segura con la
información del sus clientes. A través del documento se realizan las
consideraciones técnicas, económicas, y operativas que hacen posible inclinarse
hacia la selección del modelo que permite desarrollar el software, ya que al
término del proyecto se trabaja sobre solo datos, quedando la posibilidad que a lo
largo se pueda dar el desarrollo e implementación de la solución sugerida.
TABLA DE CONTENIDOS
Pág.
RESUMEN
INTRODUCCION 2
1. FUNDAMENTACION TEORICA 6
1.2.3.1. Clases 12
1.2.3.2. Interfaz 12
1.2.3.3. Colaboración 13
1.2.3.6. Componentes 15
1.2.3.7. Nodos 15
1.2.3.8.1. Interacción 16
i
1.2.3.10. Elementos de Anotación 18
1.2.3.11. Relaciones 18
1.2.3.11.1. Dependencia 18
1.2.3.11.2. Asociación 19
1.2.3.11.3. Generalización 19
1.2.3.11.4. Realización 20
1.2.4. Diagramas 20
1.4.1.1. Organización 34
ii
1.4.1.1.3. Proceso de adquisición 35
iii
1.4.3.1. Características 42
2. DESARROLLO INGENIERIL 43
2.7.5.1. Proceso 55
2.8.1.2. Certicámara 57
iv
2.8.1.3. Certificados SSL de Symantec 57
2.8.1.4. Qweb 58
2.8.1.5. W3c 58
2.8.1.7. Certificados Cl 58
2.8.1.8. Optima 58
2.9.1. Dns 59
2.9.5.1. Iana 61
2.9.5.2. Icann 61
2.9.5.3. Internic 62
2.9.5.4. Lacnic 62
2.9.5.5. Lacltd 62
2.9.5.6. Latinoamerican 63
3. DISEÑO DE LA PROPUESTA 65
v
3.2. DISEÑO DE LA SOLUCION DEL SOFTWARE 66
CONCLUSIONES Y RECOMENDACIONES 78
BIBLIOGRAFIA 79
vi
LISTA DE FIGURAS
Pág.
Figura 2. Clase. 12
Figura 3. Interfaz. 13
Figura 4. Colaboración. 13
Figura 7. Componentes. 15
Figura 8. Nodos. 16
vii
Figura 21. Estados. 24
viii
LISTA DE TABLAS
Pág.
Tabla 4. Dominios. 70
Tabla 5. Usuarios. 71
Tabla 7. Perfiles. 71
Tabla 9. Administrador. 75
ix
LISTAS DE ANEXOS
Pág.
x
INTRODUCCION
El Banco Caja Social que en adelante se identificara para este proyecto como
“BCSC”, cuenta con 7 diferentes empresas, estas son: Banco Caja Social,
Colmena Fiduciaria, Colmena Capitalizadora, Colmena Vida y Riesgos
Profesionales, Servir, Deco y promotora de inversiones y cobranzas S.A. El
BCSC cuenta con el área de seguridad informática y Continuidad de negocios
para el manejo, control, administración y seguridad de la información de las
empresas y clientes, con metodologías y contingencias que permitan mantener
el negocio ante cualquier eventualidad de sus funciones normales. Entre estas
funciones se destacan la administración de dominios y certificados digitales
que permiten mantener la seguridad de la información de empresa y clientes.
La Web es una herramienta para el BCSC que permite que sus empresas y
clientes naveguen a través de esta, para adquirir productos y servicios, para
ello el área seguridad informática y continuidad de negocios del BCSC
administra y controla los dominios de las empresas y los certificados digitales
en sus vencimientos, esta labor se realiza de forma manual que permiten tener
la seguridad necesaria al momento que sus empresas y clientes utilicen la Web
para su servicio, este control es muy estricto ya que si se llegara a vencer un
dominio se podrían robar el dominio perjudicando el negocio y hasta generando
la perdida de la marca o el desprestigio y si se llegara vencer un certificado
digital no se podría garantizar la seguridad adecuada al momento de ingresar a
la Web. Este control se realiza actualmente de forma manual lo cual no es de
plena seguridad al momento de un vencimiento, por tanto se requiere como
primera medida para mitigar esta vulnerabilidad de la información el análisis y
diseño de un software, por tanto ¿Cómo ayuda el Análisis y Diseño de un
software que administre y advierta el vencimiento de los dominios y certificados
digitales del BCSC y sus empresas en forma sistematizada?
2
BCSC, y debido a las limitaciones de tiempo se llega hasta el diseño del
software en mención.
Estos forman parte del cerrojo de seguridad que el banco da a sus clientes
para garantizar que la información, las transacciones y los diferentes servicios
ofrecidos por el banco, mediante estas páginas sean seguros para los clientes.
OBJETIVOS
3
JUSTIFICACIÓN
El BCSC es una entidad financiera que hace parte del grupo de empresas
de la fundación social, su historia se construye desde el año 1911 hasta la
fecha un banco creado y formado para los colombianos partiendo de la
determinación de las políticas del BCSC ofrece servicios para la población
en general, pero con la labor de favorecer en servicios financieros a la
población más necesitada.
Por tal razón se establece el análisis y diseño del software propuesto ya que
debido a este proyecto se tendrán ventajas en el proceso realizado; con
este proyecto se consigue la seguridad que debe tener esta información de
gran importancia para el banco, no por tanto se convierte en una necesidad
4
requerida ya que en estos tiempos son más constantes las amenazas
informáticas. Al realizar el análisis y diseño se logra avanzar en el objetivo
principal del banco, el cual es el diseño del software propuesto en este
proyecto que justifica su desarrollo e implementación posterior.
Estos beneficios del diseño del software no solo los obtienen la universidad
sus estudiantes y la comunidad, si no de igual forma el banco y los clientes
del banco con este proceso interno el cual permite garantizar de una
manera más eficiente y segura los servicios prestados por el BCSC.
5
1. FUNDAMENTACIÓN TEÓRICA
1
http://www.disca.upv.es/enheror/pdf/ActaUML.PDF
6
se unió a Rational y se incluyeron ideas suyas. Estas tres personas son
conocidas como los “tres amigos”. Además, este lenguaje se abrió a la
colaboración de otras empresas para que aportaran sus ideas. Todas estas
colaboraciones condujeron a la definición de la primera versión de UML.
Es un lenguaje de modelado visual que se usa para especificar, visualizar,
construir y documentar artefactos de un sistema de software. Se usa para
entender, diseñar, configurar, mantener y controlar la información sobre los
sistemas a construir. UML capta la información sobre la estructura estática y el
comportamiento dinámico de un sistema. Un sistema se modela como una
colección de objetos discretos que interactúan para realizar un trabajo que
finalmente beneficia a un usuario externo. El lenguaje de modelado pretende
unificar la experiencia pasada sobre técnicas de modelado e incorporar las
mejores prácticas actuales en un acercamiento estándar. UML no es un
lenguaje de programación. Las herramientas pueden ofrecer generadores de
código de UML para una gran variedad de lenguaje de programación, así como
construir modelos por ingeniería inversa a partir de programas existentes.
7
desde el OMG, que es también el origen de CORBA, el estándar líder en la
industria para la programación de objetos distribuidos. En 1997 UML 1.1 fue
aprobada por la OMG convirtiéndose en la notación estándar de facto para el
análisis y el diseño orientado a objetos. UML es el primer método en publicar
una meta-modelo en su propia notación, incluyendo la notación para la mayoría
de la información de requisitos, análisis y diseño. Se trata pues de una meta-
modelo auto-referencial (cualquier lenguaje de modelado de propósito general
debería ser capaz de modelarse a sí mismo)2”.
2
http://alvearjofre.galeon.com
8
Permite realizar una verificación y validación del modelo realizado.
Se pueden automatizar determinados procesos y permite generar código
a partir de los modelos y a la inversa (a partir del código fuente generar
los modelos). Esto permite que el modelo y el código estén actualizados,
con lo que siempre se puede mantener la visión en el diseño, de más
alto nivel, de la estructura de un proyecto3”.
Figura1. http://www.monografias.com/trabajos28/proyecto-uml/proyecto-uml.shtml
3
http://www.disca.upv.es/enheror/pdf/ActaUML.PDF
9
Este lenguaje nos indica cómo crear y leer los modelos, pero no dice cómo
crearlos. Esto último es el objetivo de las metodologías de desarrollo.
Los objetivos de UML son muchos, pero se pueden sintetizar sus funciones:
Existen cuatro tipos de elementos en UML, dependiendo del uso que se haga
de ellos:
Elementos estructurales.
Elementos de comportamiento.
Elementos de agrupación
Elementos de anotación.
10
diagramas diferentes aunque, en la práctica, sólo se utilicen un pequeño
número de combinaciones.
UML proporciona un conjunto de reglas que dictan las pautas a la hora de
realizar asociaciones entre objetos para poder obtener modelos bien formados,
estas son reglas semánticas que afectan a los nombres, al alcance de dichos
nombres, a la visibilidad de estos nombres por otros, a la integridad de unos
elementos con otros y a la ejecución, o sea la vista dinámica del sistema.
UML proporciona una serie de mecanismos comunes que sirven para que
cada persona o entidad adapte el lenguaje a sus necesidades, pero dentro de
un marco ordenado y siguiendo unas ciertas reglas para que en el trasfondo de
la adaptación no se pierda la semántica propia de UML. Dentro de estos
mecanismos están las especificaciones, que proporcionan la explicación textual
de la sintaxis y semántica de los bloques de construcción.
Otro mecanismo es el de los adornos que sirven para conferir a los modelos de
más semántica, los adornos son elementos secundarios ya que proporcionan
más nivel de detalle, que quizá en un primer momento no sea conveniente
descubrir. Las divisiones comunes permiten que los modelos se dividan al
menos en un par de formas diferentes para facilitar la comprensión desde
distintos puntos de vista, en primer lugar tenemos la división entre clase y objeto
(clase es una abstracción y objeto es una manifestación de esa abstracción),
en segundo lugar tenemos la división interfaz / implementación donde la
interfaz presenta un contrato (algo que se va a cumplir de una determinada
manera) mientras que la implementación es la manera en que se cumple dicho
contrato.
Por último, los mecanismos de extensibilidad que UML proporciona sirven para
evitar posibles problemas que puedan surgir debido a la necesidad de poder
representar ciertos matices, por esta razón UML incluye los estereotipos, para
poder extender el vocabulario con nuevos bloques de construcción, los valores
etiquetados, para extender las propiedades un bloque, y las restricciones, para
extender la semántica. De esta manera UML es un lenguaje estándar "abierto-
cerrado" siendo posible extender el lenguaje de manera controlada.
11
1.2.3 Elementos Estructurales
1.2.3.1 Clases
Figura 2. Clase
1.2.3.2 Interfaz
12
Figura 3. Interfaz
1.2.3.3 Colaboración
Figura 4. Colaboración.
13
elementos.
Figura 4. http://www.monografias.com/trabajos28/proyecto-uml/proyecto-uml.shtml
Es una clase cuyos objetos tienen uno o más procesos o hilos de ejecución por
lo y tanto pueden dar lugar a actividades de control. Una clase activa es igual
que una clase, excepto que sus objetos representan elementos cuyo
comportamiento es concurrente con otros elementos. Se representa igual que
una clase, pero con líneas más gruesas.
14
Figura 6. Clase Activa.
1.2.3.6 Componentes
Figura 7. Componentes
15
con frecuencia, de capacidad de procesamiento. Un conjunto de componentes
puede residir en un nodo.
Figura 8. Nodo.
Estos siete elementos vistos son los elementos estructurales básicos que se
pueden incluir en un modelo UML. Existen variaciones sobre estos elementos
básicos, tales como actores, señales, utilidades (tipos de clases), procesos e
hilos (tipos de clases activas) y aplicaciones, documentos, archivos, bibliotecas,
páginas y tablas (tipos de componentes).
1.2.3.8.1 Interacción
16
1.2.3.8.2 Máquinas de estado
17
en un paquete. Un paquete es puramente conceptual (sólo existe en tiempo de
desarrollo). Gráficamente se representa como una carpeta conteniendo
normalmente su nombre y, a veces, su contenido.
Figura 10. Paquete.
Los elementos de anotación son las partes explicativas de los modelos UML.
Son comentarios que se pueden aplicar para describir, clasificar y hacer
observaciones sobre cualquier elemento de un modelo. El tipo principal de
anotación es la nota que simplemente es un símbolo para mostrar restricciones
y comentarios junto a un elemento o un conjunto de elementos.
1.2.3.11 Relaciones
1.2.3.11.1 Dependencia
18
Es una relación semántica entre dos elementos en la cual un cambio a un
elemento (el elemento independiente) puede afectar a la semántica del otro
elemento (elemento dependiente). Se representa como una línea discontinua,
posiblemente dirigida, que a veces incluye una etiqueta.
1.2.3.11.2 Asociación
Es una relación estructural que describe un conjunto de enlaces, los cuales son
conexiones entre objetos. La agregación es un tipo especial de asociación y
representa una relación estructural entre un todo y sus partes. La asociación se
representa con una línea continua, posiblemente dirigida, que a veces incluye
una etiqueta. A menudo se incluyen otros adornos para indicar la multiplicidad y
roles de los objetos involucrados.
1.2.3.11.3 Generalización
19
comportamiento del padre. Gráficamente, la generalización se representa con
una línea con punta de flecha vacía.
1.2.3.11.4 Realización
1.2.4 Diagramas
20
pequeños subconjuntos para poder representar las cinco vistas principales de
la arquitectura de un sistema.
1.2.4.1 Diagramas de Clases
21
Figura 17. http://www.monografias.com/trabajos28/proyecto-uml/proyecto-uml.shtml
22
1.2.4.4 Diagramas de Secuencia y de Colaboración
Secuencia
Colaboración
23
Figura 21. Estados.
24
diagramas de clases ya que en un componente suele tener una o más clases,
interfaces o colaboraciones.
25
Figura 24. Diagrama de Despliegue5”.
5
http://www.monografias.com/trabajos28/proyecto-uml/proyecto-uml.shtml
26
27
1.3 TIPOS DE HERRAMIENTAS DE DISEÑO
Herramienta
RhapsodyMode
ArgoUML FUJABA mUML ObjecteeringUML
ler
Universidad de
Tigris MountField Computers I-Logix Modeler softeam
Paderborn
Compañía (Feb-1998
(Mayo-
(versión )www.uni-
(Oct-2000) 2001)www.mfcomputers. (Sept-2000) (Abril-2001)
evaluada) paderborn.de/Fuja
com
ba
www.Ilogix.co www.objecteering.c
argouml.tigris.org
m om
WINDOWS,
Plataforma JAVA JAVA JAVA WINDOWS, UNIX
LINUX
Versión Demo
Versión Base (3
Licencia Libre Libre Libre (con
meses)
restricciones)
28
De Clases, de Estado, de De Clases y de Todos los
Actividad, de Casos de Uso, Actividades diagramas
Diagramas de Colaboración, (Combinación de UML menos
Todos los diagramas
que se pueden Deployment (combinación diagramas Todos los diagramas UML los de
UML
realizar de diagramas de de Colaboración colaboración y
Objetos/Componentes/Depli con los de Actividad diagramas de
egue y Estado) despliegue
No podemos
Exportación GIF, PostScript, EPS, salvar los Gif, PostScript,, EPS,
PostScript JPEG, Página Web
de diagramas PGML, SVG diagramas EMF
(restricción)
29
Depuración y
Métricas SI SI (Versión Control) NO testeo del SI
modelo
XMI SI SI NO SI SI
Diagramas SDL, Diversas
Ingeniería inversa desde
Apoyo a OCL, control de edición de Importación de notaciones (plantillas
Otras Bases de Datos, Ingeniería
errores (checklist) constrains y modelos ), diferentes scripts de
características inversa de una o todas las
automático simulación de Rational Rose generación, analiza
clases
Objetos errores
Herramienta
UML Studio Dia DOME
Pragsoft
Dia Honeywell GentleWare
Corporation
Compañía (Agosto-
(versión (Dic-2000) 2000)www.lysator.liu.se/~alla/ (Marzo-2000) (May-2002)
evaluada) dia
www.pragsoft.co www.htc.honeywell.com/do
hans.breuer.org/dia www.gentleware.com
m me
Plataforma WINDOWS LINUX, WINDOWS SMALLTALK JAVA
30
Versión sin
Licencia Licencia (con Libre Libre Libre
restricciones)
De Clases, de Estado, de
Todos los
Actividad, de Casos de Uso, de
Diagramas que diagramas UML Todos los diagramas UML Todos los diagramas UML
Colaboración, Deployment
se pueden menos diagramas menos diagramas de actividades, menos los diagramas de
(combinación de diagramas de
realizar de objetos y de de despliegue y de objetos objetos y de componentes
Objetos/Componentes/Deplieg
despliegue
ue)
Generación de
HTML y RTF NO RTF, MIF, IAF,TXT, SGML SI
documentación
Apoyo al
SI NO NO ---
repositorio
Ingeniería C++, JAVA, Lo tenemos que implementar
NO SI
inversa CORBA, IDL nosotros
31
Exportación de XWD bitmap, PostScript, GIF, PostScript, EPS, PGML,
bmp, jpg, png SVG, EPS, PostScript, etc.
diagramas RTF, MIF SVG
XMI NO NO NO SI
Scripts, uso de
plantillas para Diversas notaciones, mensajes
Otras Numerosas plantillas, creación Control de errores (checklist)
generar símbolos, de error, creación de
características de símbolos con XML automático
diferentes ventanas notaciones propias
de información
Tabla 1. http://www.diatel.upm.es/malvarez/UML/Comparativa.html
32
1.3.1 Herramienta de selección de la organización financiera
33
1.4 MARCO LEGAL Y JURIDICO
“La norma ISO 12207 establece un marco de referencia común para los procesos
del ciclo de vida del software, con una terminología bien definida a la que puede
hacer referencia la industria del software.
Contiene procesos, actividades y tareas para aplicar durante la adquisición de
Un sistema que contiene software, un producto software puro o un servicio
software, y durante el suministro, desarrollo, operación y mantenimiento de
productos software. Esta norma incluye también un proceso que puede emplearse
para definir, controlar y mejorar los Procesos* del ciclo de vida del software.
1.4.1.1 Organización
Esta norma agrupa las actividades que pueden llevarse a acabo durante el ciclo
de vida del software en cinco procesos principales, ocho procesos de apoyo y
cuatro procesos organizativos. Cada proceso del ciclo de vida está dividido en un
conjunto de actividades; cada actividad se subdivide a su vez en un conjunto de
tareas. Calidad de Sistemas de Información 5º Curso Marco de Evaluación EFQM
7. Los procesos del ciclo de vida software son los siguientes:
Los procesos principales del ciclo de vida son aquellos que son fundamentales a
la hora del desarrollo, explotación y mantenimiento durante el transcurso del ciclo
de vida del software. Los procesos principales son los siguientes:
34
1.4.1.1.3 Proceso de adquisición
En este proceso de define las tareas que tiene que realizar el comprador, cliente
cuando adquiere un producto o servicio software. Algunas de las tareas son:
preparación de ofertas, elección del distribuidor del software, gestión de la
adquisición.
En este proceso de define las actividades que el suministrador realiza, desde que
prepara el presupuesto de una petición de compra hasta la entrega del software al
cliente.
35
1.4.1.2.1 Procesos de apoyo del ciclo de vida
Está formado por ocho procesos. Un proceso de apoyo es el que apoya a los
demás procesos y garantiza el éxito y la calidad del producto software
desarrollado.
Define las actividades para identificar y establecer las líneas bases fundamentales
para el desarrollo de elementos software, gestión de versiones, variante, en
general actividades para el control del cambio.
Define las actividades para verificar que los productos software cumplen con los
requisitos especificados por el usuario y se ajustan a los planes establecidos. El
aseguramiento de la calidad puede realizarse utilizando el resultado obtenido en
otros procesos como el de apoyo, verificación, validación, revisiones conjuntas,
auditorias.
Define las actividades de verificación de los requisitos en cuanto a que éstos sean
completos y correctos y además que cumplan con las condiciones establecidas en
fases previas.
36
1.4.1.2.6 Proceso de validación
En este proceso de definen las actividades para asegurar que el software final
contempla todos los requisitos previos para su uso.
Los procesos organizativos del ciclo de vida, son cuatro. Se emplean por una
organización para establecer e implementar una infraestructura constituida por
37
procesos y personal asociados al ciclo de vida, ayudan a mejorar la efectividad de
la organización.
Define las actividades básicas de gestión de los procesos durante el ciclo de vida.
Define las actividades básicas para establecer la infraestructura necesaria para los
procesos: hardware, software, instalaciones, normas.
Define las actividades básicas para controlar, medir los procesos del ciclo de vida.
6
http://redescepalcala.org/inspector/DOCUMENTOS%20Y%20LIBROS/EVALUACION/EFQM/MAR
CO%20DE%20EVALUACION%20EFQM.pdf
38
terminología de los sistemas de gestión de la calidad.
La Norma ISO 9001: especifica los requisitos para los sistemas de gestión de la
calidad aplicables a toda organización que necesite demostrar su capacidad para
proporcionar productos que cumplan los requisitos de sus clientes y los
reglamentarios que le sean de aplicación y su objetivo es aumentar la satisfacción
del cliente.
La Norma ISO 9004: proporciona directrices que consideran tanto la eficacia como
la eficiencia del sistema de gestión de la calidad. El objetivo de esta norma es la
mejora del desempeño de la organización y la satisfacción de los clientes y de las
partes interesadas.
Para conducir y operar una organización en forma exitosa se requiere que ésta se
dirija y controle en forma sistemática y transparente. Se puede lograr el éxito
implementando y manteniendo un sistema de gestión que esté diseñado para
mejorar continuamente su desempeño mediante la consideración de las
necesidades de todas las partes interesadas. La gestión de una organización
comprende la gestión de la calidad entre otras disciplinas de gestión. Se han
identificado ocho principios de gestión de la calidad que pueden ser utilizados por
la alta dirección con el fin de conducir a la organización hacia una mejora en el
desempeño.
39
a) Enfoque al cliente: las organizaciones dependen de sus clientes y por lo tanto
deberían comprender las necesidades actuales y futuras de los clientes, satisfacer
los requisitos de los clientes y esforzarse en exceder las expectativas de los
clientes.
40
aumenta la capacidad de ambos para crear valor7”.
7
http://medicina.udea.edu.co/calfm/NORMATIVIDAD%20Y%20LEGISLACION/NTC-ISO9000.pdf
41
información y productos de software. La norma ISO 15504 SPICE es una norma
abierta e internacional para evaluar y mejorar la capacidad y madurez de los
procesos. Junto con la ISO 12207, la norma aplica a la evaluación y mejora de la
calidad del proceso de desarrollo y mantenimiento de software.
1.4.3.1. Características
8
http://www.ati.es/IMG/pdf/Garzas-2.pdf
42
2. DESARROLLO INGENIERIL
El Banco Caja social inicia su historia en el año 1911 bajo el nombre de caja social
de ahorros del círculo de obreros. Fundada por el Padre José María Campoamor,
sacerdote Jesuita español, y por consiguiente la Fundación Social que hoy día
cuenta con 7 diferentes empresas como lo son (Banco Caja Social, Colmena
fiduciaria, Colmena capitalizadora, Colmena vida y riesgos profesionales,
promotora, servir, Deco) Para intervenir estructuralmente en la sociedad, ha
desarrollado, a lo largo de la historia, un modelo de actuación constituido por 3
instrumentos:
Las empresas.
Los Proyectos Sociales Directos.
El Macroinflujo.1
El BCSC o Banco Caja Social fue creado en el 2005 como resultado de la fusión
del Banco Caja Social de ahorros y el banco Colmena, esta fusión se realizó con
el propósito de enfrentar las nuevas tendencias de las entidades financiera, esta
unión se ejerce para transformar y convertir un banco con experiencia, solidez,
fuerza comercial y mayor responsabilidad social ante las nuevas compañías
financieras del mercado actual, entre sus grandes logros como entidad financiera,
se encuentra en mantener su misión desde hace 100 años (Ayudar a convertir los
ahorros de sus clientes en proyecciones para cumplir metas y tener un futuro a las
familias colombianas más necesitadas de Colombia).
El banco caja social por ser un entidad financiera reconocida a nivel comercial con
una reputación y un prestigio que proteger y ligado a su misión de ayudar a la
población colombiana con pocas oportunidades de tener una vida digna,
brindándoles productos como créditos de vivienda, libre inversión entre otros,
43
dejando atrás el estrato social y con la firme convicción de brindar apoyo a
quienes más lo necesitan. El banco tiene una gran responsabilidad, con las
decisiones y acciones que toma como ente financiero, es por esto que cada una
de sus áreas responsables de procesos vitales para el Corp. del banco son
debidamente analizados para evitar riesgos que amenazan a la sostenibilidad del
banco, por tanto entre una de estas áreas existe una que brinda la seguridad en la
información y la continuidad de negocios del banco, con el apoyo de esta área, se
mantiene la información del banco como de los clientes segura. A través del área
de seguridad informática se vigilan los dominios y certificados digitales, los cuales
pertenecen al banco, estos dominios cuentan con el protocolo de seguridad
HTTPS y con este un certificado digital emitido por la empresa VERISIGN, la
administración de estos medios de seguridad de la información del banco y sus
clientes actualmente se realiza manualmente en un archivo de Excel custodiado y
ubicado en el equipo (portátil) del coordinador del área de seguridad informática y
continuidad de negocios.
Por la razón de tener esta administración en forma manual, se han tenido diversos
inconvenientes ya que se convierte en una labor muy tediosa que se presta a
errores humanos, ya que si un dominio o certificado digital se llegara a vencer y no
se hubiera actualizado o se hubiera comprado a tiempo, sería una amenaza
inminente para la reputación y la información confidencial del banco y sus clientes,
permitiendo que terceras persona o eventualidades tuvieran acceso a esta puerta
que amenazaría directamente al banco, debido a esto el banco y el área de
seguridad informática, decidieron optar por la administración de los certificados
digitales y los dominios de forma sistematizada.
Por tanto con el diseño de un software que administre y advierta sobre los
vencimientos de los certificados digitales y dominios del banco, se daría un paso
para la administración sistematizada esperada, para minimizar riesgos en la
información. Obteniendo el diseño como objetivo del proyecto, este diseño se
convierte en la base para que un estudiante nuevo que ingrese al área de
44
seguridad informática y continuidad de negocios del Banco Caja Social pueda
desarrollar e implementar el proyecto, dando cumplimiento a esta falencia
administrada de forma manual.
45
ubicado en la avenida 26 con 68 edificio Davivienda Bogotá y el otro en la
localidad de suba; estos sitios son el respaldo de esta información mencionada
cada vez que se realice algún proceso del banco todo está configurado para su
respaldo de información en estos diferentes puntos.
El diseño del software cuenta con una base de datos local para asegurar que la
información de los certificados digitales y dominios, para posibles opciones de
46
recuperación ante posibles eventos que generen alteraciones o perdidas en la
información.
Para tener múltiples opciones de recuperación de información se cuenta con el
almacenamiento realizado por el área de redes del banco.
“Los certificados de seguridad son una medida de confianza adicional para las
personas que visitan y hacen transacciones en su página Web, le permite cifrar los
datos entre el ordenador del cliente y el servidor que representa a la página. El
significado más preciso de un certificado de seguridad es que con él logramos que
los datos personales sean encriptados y así imposibilitar que sean interceptados
por otro usuario. Ahora es muy común ver en nuestros exploradores el protocolo
de seguridad HTTPS; mediante éste, básicamente nos dice que la información que
se envía a través de Internet, entre el navegador del cliente y el servidor donde
está alojada la página, esta información es encriptado, de forma que es casi
imposible que otra persona reciba, vea o modifique los datos confidenciales del
cliente. Las ventajas de este sistema las podemos ver fácilmente, ya que sí es
seguro, podemos medir la confianza de nuestro sitio en cuanto al volumen de
ventas en línea. Para los clientes es fundamental realizar compras de manera
segura y así identificar que la información llegará al servidor correcto.
Los sitios Web que cuentan con certificados de seguridad nos permiten saber
quién es el dueño del mismo, saber a qué dominio pertenece, la procedencia real
47
del dueño del sitio, la validez del certificado, así como su fecha de caducidad, y
sobre todo, la empresa que ha emitido el certificado. Podemos decir que los sitios
Web que consideran necesario un certificado de seguridad logran garantizar
mayor seguridad a los usuarios.
Si una organización desea tener un sitio Web seguro que use codificación como
establece más adelante, necesita obtener un certificado para el sitio de Internet o
para el servidor que lo va a almacenar. Algunas pautas que se deben tener en
cuenta para determinar si un sitio usa codificación por tanto segura, es mirar si el
candado está cerrado al pie de página de su navegador, y verificar que la URL en
la dirección del sitio es https: en vez de http. Ejemplo:
48
segura, su navegador verifica que el certificado tenga las siguientes
características:
9
http://www.clcert.cl/show.php?xml=xml/consejos/doc_05-10.xml&xsl=xsl/consejos.xsl
10
http://es.wikipedia.org/wiki/Hypertext_Transfer_Protocol
49
en la Secure Socket Layers más conocidas como SSL y así crear un canal de
transferencia cifrado con el que obviamente aumenta la seguridad en el tráfico de
información en comparación al protocolo HTTP común.
Este protocolo HTTPS es usado por los entidades bancarias pues la información
que manejan es de suma confidencialidad e importancia y por ello se necesita
mantener cifrado el canal de transferencia.
El navegador que se utilice actúa como la entidad que señala si el sitio que está
visitando está correctamente cifrado y de ser así a nombre de quien está el
certificado SSL antes mencionado por lo que se confía en la información de
seguridad que da el navegador de Internet y por lo tanto se sabrá que no se trata
de algún sitio falsificado que podría tratar de robar datos o credenciales por lo que
entonces se concluye, que el protocolo HTTPS sirve para cifrar la transferencia de
hipertexto y por lo tanto mejora la seguridad cuando se navegue en la Internet 11”.
11
http://www.webadictos.com.mx/2011/04/13/que-es-el-protocolo-https-y-como-funciona/
50
Figura 27. Método Cifrado.
Figura27.http://portalae.sci.uma.es:8080/export/sites/default/uma/documentos/criptografia_c
ertificado_digital_firma_digital.pdf
51
muestras de datos pueden ser muy pequeñas (hasta de 1 bit), y sería un
desperdicio rellenar el resto de los bits antes de cifrar el mensaje y transmitirlo.
En este tipo de cifrado el mensaje se agrupa en bloques, por lo general de 128 bits
o más, antes de aplicar el algoritmo de cifrado a cada parte de forma
independiente utilizando la misma clave.
La criptografía simétrica es el método criptográfico que usa una misma clave para
cifrar y descifrar los mensajes. Las dos partes que se comunican deben ponerse
de acuerdo de antemano sobre la clave a utilizar y, una vez que ambas tienen
acceso a esta clave, el remitente cifra el mensaje utilizándola, lo envía al
destinatario, y éste lo descifra con la misma clave. Existen algunos algoritmos muy
conocidos, como el DES (Data Encryption Standard), el cual fue un diseño de
unidad de cifrado por bloques de gran influencia desarrollado por IBM y publicado
como estándar en 1977.
52
persona que generó el mensaje. Si el propietario del par de claves utiliza su clave
privada para cifrar el mensaje, cualquiera que posea su clave pública podrá
descifrarlo. En este caso se consigue tanto la identificación como la autenticación
del remitente, ya que se sabe que sólo pudo haber sido él quien utilizó su clave
privada (salvo alguien se la hubiese podido robar). Esta idea es el fundamento de
la firma electrónica, de la cual hablamos más abajo. Los sistemas de cifrado de
clave pública o sistemas de cifrado asimétricos se crearon con el fin de evitar el
problema del intercambio de claves que posee el sistema de cifrado simétrico. Con
las claves públicas no es necesario que el remitente y el destinatario se pongan de
acuerdo en la clave a emplear. Todo lo que se requiere es que, antes de iniciar la
comunicación secreta, el remitente consiga una copia de la clave pública del
destinatario. Es más, esa misma clave pública puede ser usada por cualquiera que
desee comunicarse con su propietario. Cabe mencionar que aunque una persona
lograra obtener la clave pública, no podría descifrar el mensaje encriptado con
esta misma clave, sólo podría encriptar mensajes que podrían ser leídos por el
propietario de la clave privada.
53
Figura 28. Cifrado Asimétrico.
Figura28.http://portalae.sci.uma.es:8080/export/sites/default/uma/documentos/criptografia_c
ertificado_digital_firma_digital.pdf
54
clave privada de un usuario sólo puede ser descifrado utilizando la clave pública
asociada.
Figura29.http://portalae.sci.uma.es:8080/export/sites/default/uma/documentos/criptografia_c
ertificado_digital_firma_digital.pdf
2.7.5.1. Proceso
Ana y Bernardo tienen sus pares de claves respectivas. Ana escribe un mensaje a
Bernardo. Es necesario que Bernardo pueda verificar que realmente es Ana quien
ha enviado el mensaje. Por lo tanto Ana debe enviarlo firmado:
55
Resume el mensaje mediante una función hash.2. Cifra el resultado de la función
hash con su clave privada. De esta forma obtiene su firma digital.3. Envía a
Bernardo el mensaje original junto con la firma 12”.
12
http://portalae.sci.uma.es:8080/export/sites/default/uma/documentos/criptografia_certificado_digit
al_firma_digital.pdf
56
distintos atributos que posee, conocer más detalles sobre las características del
mismo13”.
2.8.1.2. Certicámara
13
http://www.cert.fnmt.es/popup.php?o=faq
14
http://web.certicamara.com/acerca_historia.aspx
57
del mercado. El sello Norton™ Secured y Symantec Seal-in-Search garantizan a
los clientes que es seguro realizar búsquedas, navegar y comprar 15”.
2.8.1.4. Qweb
2.8.1.5. W3c
El servicio de validación de CSS del W3C. Es un software libre creado por el W3C
para ayudar a los diseñadores y desarrolladores Web a validar hojas de estilo en
cascada y documentos XHTML.
2.8.1.7. Certificadas Cl
2.8.1.8. Optima
15
http://www.symantec.com/es/es/verisign/ssl-certificates
58
la Dirección General de Consumo, a través del INC. Está basado en un código de
conducta al que se suscriben las empresas que obtienen el sello.
2.9.1. Dns
DNS son las siglas en inglés del sistema de nombres de dominio (Domain Name
System). Es un sistema que se encarga de relacionar nombres identificables y
recordables por humanos, con direcciones representadas por un sistema
numérico. Usando, por ejemplo, about.com en lugar de 207.126.123.20, se tienen
al menos dos ventajas: la primera, que about.com es un nombre que es fácil de
relacionar y recordar; y la segunda, que si la dirección, por alguna razón, dejara de
ser 207.126.123.20, el nombre about.com no cambiaría, lo único que cambiaría
sería su asociación a la nueva dirección numérica.
16
http://es.wikipedia.org/wiki/Certificado_web
59
2.9.2. Dominios de Nivel Superior
Los dominios de nivel superior (TLD, de sus siglas en inglés Top Level Domain)
son el nivel más alto en la jerarquía de nombres en Internet, por ejemplo en
www.about.com el dominio de nivel superior es .com.
El dominio de Internet genérico (gLTD por sus siglas en inglés de generic top-level
domain) es una sub-categoría de dominio de nivel superior (TLD), y es
responsabilidad de la IANA, que son las siglas en inglés de Internet Assigned
Numbers Authority, que es a su vez un departamento de ICANN.
Los principales dominios de Internet genéricos son los conocidos .com, .net, .org y
.info. Otros dominios como .biz, .name y .pro son restringidos únicamente a
organizaciones que pueden probar que pertenecen al grupo correspondiente.
60
Geográficos.- Sirven para identificar un territorio geográfico, geopolítico o
lingüístico. Los dominios de identificación de país están incluidos en esta
clasificación.
2.9.5.1. Iana
2.9.5.2. Icann
17
http://aprenderinternet.about.com/od/Glosario/g/Que-Es-Un-Dominio-De-Internet.html
61
servicios los desempeñaba Internet Assigned Numbers Authority (IANA) y otras
entidades bajo contrato con el gobierno de EE.UU., actualmente son
responsabilidad de ICANN.
2.9.5.3. Internic
2.9.5.4. Lacnic
2.9.5.5. Lacltd
Es una organización sin fines de lucro que busca agrupar a los administradores de
los ccTLDs de América Latina y el Caribe, con el objeto de Coordinar políticas en
conjunto, así como estrategias de desarrollo de los nombres de dominio a nivel
regional; representar los intereses conjuntos de sus miembros ante organismos
pertinentes; promover el desarrollo de los ccTLDs de la región; fomentar la
cooperación y el intercambio de experiencia entre sus miembros, en todos los
aspectos necesarios para el adecuado funcionamiento de los ccTLDs y establecer
62
lazos de colaboración con las organizaciones análogas de otras regiones del
mundo18”.
2.9.5.6. Latinoamericann
Los dominios permiten a los usuarios de la red escribir un nombre para identificar
una dirección electrónica totalmente formada por números. Mediante la utilización
de los dominios, los usuarios conectados a Internet pueden encontrar sitios web y
enviar e-mail sin necesidad de recordar las direcciones numéricas, que en realidad
son las que localizan las computadoras o servicios en Internet.
18
http://aprenderinternet.about.com/od/Glosario/g/Que-Es-Un-Dominio-De-Internet.html
19
http://www.monografias.com/trabajos93/dominios-internet/dominios-
internet.shtml#ixzz2dHGXYkjZ
63
Figura 30. Extensiones de dominio.
64
3. DISEÑO DE LA PROPUESTA
65
3.2. DISEÑO DE LA SOLUCIÓN DEL SOFTWARE
El software cuenta con un login inicial, el cual para tener acceso se requiere
usuario y contraseña este login cuenta con cuatro tipos de usuarios que podrán
ingresar al software entre ellos se encuentran. (Administrador Master,
administrador, administrador Backup, usuario de consulta), las funciones de cada
usuario son las siguientes:
66
Los datos de los certificados digitales y dominios son almacenados en los
servidores del banco, los cuales son protegidos por las áreas de soporte
tecnológico, redes WAN y LAN, estas áreas están encargadas de custodiar los
servidores del banco caja social ante cualquier amenaza, debido a las estas
posibles amenazas los servidores. Los datos de los certificados y dominios se
encuentran ligados a una base de datos de Access versión 2010, esta base de
datos se encuentra en el servidor 10.5.10.35// certificados digitales y 10.5.10.53//
dominios.
Las alertas que se envían después que el software haga un barrido sobre la base
de datos, identificara que registros están próximos a vencer dependiendo de las
fechas establecidas y de los tiempos establecidos para enviar la alerta de
vencimientos.
Estas alertas se dividen en dos tipos una que va dirigida de forma local al equipo
del cual el software haya sido instalado, esta alerta indica un mensaje en el equipo
con intervalos de 6 horas y lapso de tiempo de 30 minutos en la pantalla durante
cada intervalo mencionado, este mensaje aparece en la pantalla del equipo con la
siguiente información fecha del certificado o dominio a vencer serial o nombre
según corresponda, empresa quien lo tiene y fecha límite de renovación o
eliminación dependiendo el caso. Por otra parte se tiene las alertas que son
enviadas al correo institucional del banco, la cual lleva consigo el mensaje del
certificado o dominio a vencer y fecha para de renovación o eliminación
dependiendo el caso, esto permite tener el control seguro de los certificados y
dominios ingresados en la base de datos del software y administrar de forma
eficiente los vencimientos o renovaciones de cada uno estos, con el fin de
minimizar al máximo los riesgos de no hacer el proceso correspondiente en las
fechas acordes a cada proceso y tener de forma sistematizada esta información.
67
3.3. DISEÑO LÓGICO Y DIRECCIONAMIENTO
Figura 31.Diseño.
3 Certificados
2 Perfil
banco
4 Dominios
1 Usuarios Control
banco
5 Configuraciones
6 Alertas
68
Figura 32. Diagrama de Flujo.
69
3.4.1. Tablas del Proyecto
Estas son las tablas que están relacionadas con la administración de los
certificados y dominios.
10 campos 30 campos
10 30 20 10 10 50 10 50
camp campos campo camp campos Campos campos Campos
os s os
Tabla 4. Dominios.
10 30 20 10 10 campos 10 50 Campos
camp campos campo campo campos
70
os s s
Tabla 5. Usuarios.
10 30 10 10 10 30 50
campos campos campos campos campos Campos Campo
s
Tabla 7. Perfiles.
10 Campos 20 Campos
71
3.4.2. Diagrama Entidad Relación
72
3.4.3. Diseño Uml Casos de Uso
73
Figura 36. Usuario consulta Caso de Uso.
ADMINISTRADOR MASTER
No
Función Características
74
Tabla 9. Administrador.
ADMINISTRADOR
No
Función Características
Manejo bases de datos de los certificados digitales y
1 dominios
Manejo de los registros de los certificados digitales y
2 dominios (Modificar, agregar, consultar, eliminar)
Administración de perfiles (Crear, brindar permisos,
3 modificar)
Administración del sistema ( cambiar colores, imágenes,
4 contraseñas)
ADMINISTRADOR BACKUP
No
Función Características
Manejo bases de datos de los certificados digitales y
1 dominios
Manejo de los registros de los certificados digitales y
2 dominios (Modificar, agregar, consultar, eliminar)
Administración del sistema ( cambiar colores, imágenes,
3 contraseñas)
USUARIO CONSULTA
No Función Características
75
3.5. EQUIPOS, SOFTWARE REQUERIDOS Y PROPUESTOS
Para la instalación del software se requiere con las mínimas características las
siguientes.
Disco Duro 10 Gb
Lenguaje de programación
propuesto Visual. Basic versión desde 2008
76
3.6. ASPECTOS ECONOMICOS
desarrollo del software del cual se tiene el diseño planteado, obteniendo el costo
77
CONCLUSIONES Y RECOMENDACIONES
Utilizar el entorno web servicie para notificar alertas que informan sobre los
registros próximos a vencer o de lo contrario alertas al equipo donde haya sido
instalado el software.
En el estudio realizado se determina quien serán los responsables del manejo del
software como a quienes se les notifica estas alertas.
78
BIBLIOGRAFÍA
INFOGRAFÍA
http://www.disca.upv.es/enheror/pdf/ActaUML.PDF
http://alvearjofre.galeon.com
http://www.disca.upv.es/enheror/pdf/ActaUML.PDF
http://www.monografias.com/trabajos28/proyecto-uml/proyecto-uml.shtml
http://www.diatel.upm.es/malvarez/UML/Comparativa.html
http://redes-
cepalcala.org/inspector/DOCUMENTOS%20Y%20LIBROS/EVALUACION/EFQM/
MARCO%20DE%20EVALUACION%20EFQM.pdf
http://medicina.udea.edu.co/calfm/NORMATIVIDAD%20Y%20LEGISLACION/NTC
-ISO9000.pdf
http://www.ati.es/IMG/pdf/Garzas-2.pdf
www.bancocajasocial.com
http://es.wikipedia.org/wiki/Hypertext_Transfer_Protocol
http://www.clcert.cl/show.php?xml=xml/consejos/doc_05-
10.xml&xsl=xsl/consejos.xsl
http://www.webadictos.com.mx/2011/04/13/que-es-el-protocolo-https-y-como-
funciona
http://portalae.sci.uma.es:8080/export/sites/default/uma/documentos/criptografia_c
ertificado_digital_firma_digital.pdf
79
http://www.cert.fnmt.es/popup.php?o=faq
http://web.certicamara.com/acerca_historia.aspx
http://www.symantec.com/es/es/verisign/ssl-certificates
http://es.wikipedia.org/wiki/Certificado_web
http://www.iana.org/domains/root/db/
http://aprenderinternet.about.com/od/Glosario/g/Que-Es-Un-Dominio-De-
Internet.html
http://www.monografias.com/trabajos93/dominios-internet/dominios-
internet.shtml#ixzz2dHGXYkjZ
http://www.monografias.com/trabajos93/dominios-internet/dominios-internet.shtml
80
ANEXO A.
81
Ingreso
Botón Funcionalidad
82
Botón perfiles
Ingreso a perfiles
83
En el botón perfiles luego del ingreso se permite consultar mediante una lista los
perfiles creados en el momento con sus debidas caracterisiticas como lo son
nombre dependencia tipo de alerta, tipo de perfil además de poder modificar o
eliminar algna que se requiera.
Crear perfiles
84
Luego de ingresar como administrador permite tener acceso a todo el manejo del
software y como primera medida la primer pestaña certificados, esta identifica toda
la administración de los certificados digitales de la empresa como lo son
(consultar, modificar crear o eliminar).
85
Perfil administrador pestaña perfiles de usuario.
86
El acceso a este genera poder crear los perfiles necesario con el adicional de
identificar mediante un conbox las opciones en este como administrador backup o
usuario consulta los cuales forman un rol distinto en el software.
87
Configuraciones modifica la fuente, imágenes o color del software
Con el perfil administrador backup se limita las funciones del perfil creado en
cuestión ya que este tiene ingreso a certificados digitales dominios y perfiles de
usuario con administración completa lo cual permite (crear, modificar, consultar y
eliminar) los registros que se encuentran en la pestañas mencionadas.
88
Perfil usuario consulta.
El usuario consulta limita sus funciones a unas pocas como certificados digitales y
dominios estos con la posibilidad de generar solo consultas en el software debido
al perfil y privilegios otorgados.
89
ANEXO B.
90
ENTREVISTA DEL PROYECTO
Esta entrevista se realiza con el fin de determinar las necesidades requeridas por
el Ingeniero John Carlos Angarita Coordinador del área “seguridad informática y
continuidad de negocios” para el diseño del software solicitado.
91
5. ¿Qué funcionarios van a tener acceso al software y que áreas?
92
93