Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Método de Autenticación Por Clave Pública
Método de Autenticación Por Clave Pública
Lambayeque - Per
2015
Agradecimientos
Gracias a la ciencia y a la tecnologa, por una sociedad ms culta e informacin libre.
Tabla de contenido
Introduccin ............................................................................................................................... 6
1. Generalidades........................................................................................................................ 7
2. Aspectos de la Informacin. ................................................................................................... 8
2.1 Realidad Problemtica...................................................................................................... 8
2.1.1 Descripcin Problemtica: .......................................................................................... 8
2.1.2 Formulacin del Problema: .......................................................................................26
2.1.3 Justificacin e importancia del estudio: .....................................................................27
2.1.4 Objetivos del Estudio. ...............................................................................................27
2.1.5 Alcances y Limitaciones del Estudio..........................................................................28
2.1.6 Potenciales Beneficiarios. .........................................................................................28
2.1.7 Aportes Esperados. ...................................................................................................29
2.2 Marco Terico..................................................................................................................29
2.2.1 Antecedentes del Problema ......................................................................................29
2.2.2 Base Terica .............................................................................................................32
2.2.3 Hiptesis ...................................................................................................................37
2.3 Marco Metodolgico ........................................................................................................37
2.3.1 Propuesta de mtodo de autenticacin. ....................................................................37
2.3.2 Aplicacin de mtodo en una aplicacin web. ...........................................................50
2.3.3 Beneficios del mtodo de autenticacin. ...................................................................63
3. Aspecto Administrativo: .........................................................................................................63
3.1 Cronograma de actividades .............................................................................................63
4. Conclusiones. .......................................................................................................................64
5. Recomendaciones. ...............................................................................................................64
6. Referencias Bibliogrficas. ....................................................................................................65
7. Anexo....................................................................................................................................65
Tabla de Figuras
Figura 1: Configuracin ODBC Distributor.................................................................................10
Figura 2: Configuracin de sistema distributor ..........................................................................11
Figura 3: Panel de control .........................................................................................................12
Figura 4: Herramientas administrativas .....................................................................................13
Figura 5: Administrar ODBC......................................................................................................13
Figura 6: Configuracin DSN ....................................................................................................14
Figura 7: Resolucin de datos de conectividad distributor .........................................................15
Figura 8: Sistema retencion_olano ............................................................................................16
Figura 9: Decompilacion de Retencion_Olano ..........................................................................17
Figura 10: Sistema GPS ...........................................................................................................18
Figura 11: Decompilacion de Sistema GPS ..............................................................................19
Figura 12: Configuracin ODBC Navasoft .................................................................................20
Figura 13: Sistema de Tramite documentario ............................................................................21
Figura 14: War Tramite .............................................................................................................21
Figura 15: Winrar - Tramite ......................................................................................................22
Figura 16: Estructura de directorio de War tramite ....................................................................22
Figura 17: Extraer Tramite.war ..................................................................................................23
Figura 18: Estructura extraida de Tramite.war ..........................................................................23
Figura 19: Archivos class de capa DAO ....................................................................................24
Figura 20: Decompilacion de archivo class de conectividad a bd ..............................................25
Figura 21: rbol de problema ....................................................................................................26
Figura 22: rbol de objetivos.....................................................................................................27
Figura 23: Base de datos ..........................................................................................................33
Figura 24: DBMS ......................................................................................................................34
Figura 25: Autenticacin SuperGoAdmin ..................................................................................43
Figura 26: Autenticacin GoAdmin ............................................................................................45
Figura 27: Autenticacin GoUser ..............................................................................................47
Figura 28: Niveles de seguridad ................................................................................................42
Figura 29: Arquitectura de Software ..........................................................................................51
Figura 30: Mtodo autenticacin GO en Grupo Olano...............................................................52
Figura 31: BD SuperGoAdmin...................................................................................................53
Figura 32: BD por usuario GoAdmin .........................................................................................54
Figura 33: procedimiento insertar empresa ...............................................................................55
Introduccin
Los datos de conectividad son de gran importancia para el desarrollo de software, estos
permiten a los desarrolladores conectar sus aplicaciones a los servicios de almacenamiento, es
comn que estos datos sean confiados a los desarrolladores y es deber de ellos salvaguardar
estos datos.
La presente investigacin mostrar como los datos de conectividad pueden ser robados, a
travs de mtodos simples y otros a travs de tcnicas de ingeniera inversa, esto permitir
demostrar la falta de preocupacin por salvaguardar los datos de conectividad por parte de los
desarrolladores al momento de crear aplicaciones.
1. Generalidades.
1.1 Ttulo:
Mtodo de autenticacin seguro de usuarios de base de datos y de sistema para
desarrollo de aplicaciones web.
el
2. Aspectos de la Informacin.
2.1 Realidad Problemtica.
2.1.1 Descripcin Problemtica:
En el desarrollo de software, la interaccin con almacenes de datos es comn al
momento de desarrollar aplicaciones de cualquier ndole, por esta razn, todo
los desarrolladores buscamos documentacin que ejemplifique la conectividad
de aplicaciones con diferentes almacenes de datos,
o a travs de mtodos
riesgo
la
confidencialidad,
integridad,
consistencia,
no
repudio
Especificaciones Tcnicas:
El Problema:
Distributor es un sistema desktop orientado a resolver necesidades de
empresas comerciales, desarrollado en Visual Fox Pro y base de datos
SQL Server 2008. Si bien el sistema resuelve las necesidades del
negocio, este no salvaguarda los datos de conectividad al sql server, ya
que estos datos son expuestos en un archivo de texto plano, en cual los
El Problema:
Retencion_Olano es un sistema Desktop con acceso a datos en SQL
Server 2008, este sistema tiene embebido en el cdigo fuente los datos
de conectividad al servicio de almacenamiento, los cuales obtendremos a
travs del decompilador net JetBrains dotPeek 1.2, en la figura 8
observamos tanto el instalador de dotPeek cmo el archivo .EXE del
sistema.
Lenguaje Java.
El Problema:
GPS es un sistema Desktop con acceso a datos en Oracle 11g r2, este
sistema tiene embebido en el cdigo fuente los datos de conectividad al
servicio de almacenamiento, los cuales se obtendrn a travs del
decompilador Java Java Decompiler, en la figura 10 se observa tanto el
archivo Jar del decompilador cmo del sistema.
El Problema:
Navasoft es un sistema Desktop con acceso a datos SQL Server 2008,
este
sistema
tiene
los
datos
de
conectividad
al
servicio
de
Lenguaje Java.
El Problema:
Tramite es un sistema web desarrollado en java como ejemplo de en
programacin, este ejemplo permitir reforzar la problemtica que afirma
la vulnerabilidad de los datos de conexin al servicio de almacenamiento.
En las figura 13 se observa la estructura de un proyecto web, en esta
estructura se puede encontrar la carpeta dist generada a partir de un
Build del IDE que usemos.
2.1.7.1 A la Universidad:
Investigacin de calidad que permita inspirar a otros estudiantes a
generar conocimientos y desarrollar ideas propias.
2.1.7.2 A la Sociedad:
Enorgullecer al Per y mostrarles que los estudiantes investigan y
tienen vocacin cientfica.
Inventores:
Aviad Lichtenstadt, Tel Aviv (IL); Guy
Lichtman, HertZliya (IL); Slavik
Markovich, Los Altos, CA (US)
Cesionario:
McAfee, Inc.
Fecha de Publicacin:
Sep. 19, 2013
Abstract:
A method is provided in one example embodiment that includes
detecting database activity associated with a statement having a
signature, validating the signature; and evaluating the statement
as a signed statement if the signature is valid. In more particular
embodiments, the signature may include a unique script identifier
and a hash function of a shared key. In yet other embodiments,
validating the signature may include checking a session variable
and comparing the statement to a list of signed statements.
(Traduccin: Un mtodo es proporcionado en un ejemplo de
realizacin que incluye deteccin de actividad de base de datos
asociada con una sentencia que tiene una firma, validando la
firma; y evaluando la sentencia como un declaracin firmada si la
firma es vlida. En realizaciones ms particulares, la firma puede
incluir un script nico de identificacin y una funcin hash de
clave compartida. En otras realizaciones, la validacin de la firma
puede incluir la comprobacin de una variable de sesin
Las
bases
de
datos
sus
sistemas
de
programa
autorizado
pueda
acceder
ella,
2.2.2.4 Sesiones.
(Black, 1983) Se llama sesin a la comunicacin entre dos
componentes de la red. La sesin puede ser de diversos tipos.
Por ejemplo, puede existir una sesin entre dos operadores de
dos
terminales
de
red;
puede
existir
una
sesin
entre
2.2.2.7 Transacciones.
(Date, 2001) Es el proceso que obliga a llevar diferentes tareas en
un solo bloque, por la necesidad de ejecucin correcta de todas
otras
propiedades
como
la
autenticidad,
2.2.2.9 Confidencialidad.
(ISO/IEC, 2005) Propiedad que rige que la informacin est
disponible y no sea divulgada a personas, entidad o proceso no
autorizados.
2.2.2.10 Disponibilidad.
(ISO/IEC, 2005) La propiedad de estar disponible y utilizable
cuando lo requiera una entidad autorizada.
2.2.2.11 Integridad.
(ISO/IEC, 2005) La propiedad de salvaguardar la exactitud.
2.2.2.12 Amenaza
(ISO/IEC, 2005) Una causa potencial de un incidente no-deseado,
el cual puede resultar en dao a un sistema u organizacin.
2.2.2.13 Vulnerabilidad.
(ISO/IEC, 2005) La debilidad de un activo o grupo de activos que
puede ser explotada por una o ms amenazas.
2.2.3 Hiptesis
Implementar un mtodo de autenticacin que permita salvaguardar los datos de
conectividad al servicio de almacenamiento en la memoria RAM del servidor,
disminuye as el riesgo de robo de datos de conectividad y por ende acceso no
autorizado al almacn de datos.
Permitir monitorear la actividad SQL de cada uno de los usuarios del sistema
que implementa el METODO DE AUTENTICACIN DE CLAVE PUBLICA.
COMPONENTES
1. Usuario SuperGoAdmin:
El usuario SuperGoAdmin autntica sus credenciales a nivel base de datos,
proporcionando los datos de conectividad al almacn de datos. Este usuario
permite que los usuarios GoAdmin autentiquen ante el sistema mediante el uso
de la clave pblica que genera el usuario SuperGoAdmin al momento de la
autenticacin, por esta razn es obligatorio que antes de autenticar un usuario
GoAdmin el usuario SuperGoAdmin ya este previamente autenticado.
El usuario SuperGoAdmin cuenta con un almacn de datos que lleva su mismo
nombre, en el cual existen tablas que permiten guardar las credenciales de los
usuarios GoAdmin
y GoUser,
proporcionado de esta
manera una
3. Usuario GoUser:
El usuario GoUser autntica sus credenciales a nivel de sistema y de base de
datos, siendo sus credenciales de sistema comparadas en la tabla de usuarios
del almacn de datos del usuario GoAdmin, con el objetivo de intercambiar
estos datos por datos de conectividad al almacn de datos de GoAdmin.
Los usuarios GoUser son considerados los usuarios finales de un sistema de
informacin, no cuenta con un almacn de datos, ya que estos tienen privilegios
de lectura y escritura sobre objetos de la base de datos de los usuarios tipo
GoAdmin.
4. Datos de conectividad:
Son aquellos datos que usa un desarrollador para conectar su aplicacin a un
determinado almacn de datos (Ejm: Mysql, Postgres, Oracle, etc.)
5. Clave privada:
Es aquella clave que debe mantener en secreto el usuario al que se le asigno,
para evitar acceso no autorizado a su cuenta o iniciar sesin ante el sistema
(Refiere a sistema de base de datos o sistema de informacin).
6. Clave Publica:
Es aquella clave pblica que se le proporciona a otro usuario autorizado, con el
nico fin de permitirle usar su sesin o conexin con la base de datos para as
intentar autenticar ante el sistema (Refiere a sistema de base de datos o sistema
de informacin).
7. Clave No Repudio:
Permite identificar tu conexin con la base de datos y as hacer una inspeccin
manual cuando exista alguna anomala de doble acceso al sistema desde
diferentes puntos de red.
El procedimiento manual sera preguntar al usuario autorizado que clave no
repudio ha utilizado al momento de su autenticacin, identificando as cual es la
conexin anmala al sistema, permitiendo de esta manera identificar al intruso y
as tomar las medidas necesarias.
8. Dispositivos Tecnolgicos:
Son aquellos dispositivos o terminales que permiten conectar a la red WAN o
LAN, los dispositivos ms usados para manipular sistemas informticos son las
computadoras personales, tabletas y celulares.
9. Interfaz de entrada de datos:
Es aquella interfaz que permite la entrada y salida de datos.
Ejemplo: Interfaz grfica de autenticacin de usuarios.
clave y en la segunda columna el valor, de manera que el valor solo puede ser
accedido mediante la clave, en los lenguajes de programacin existen estos
tipos de lista.
Ejemplo:
CLAVE
45329234
VALOR
JONATHAN TORRES/M/27
DESCRIPCION
El mtodo de autenticacin GO o de clave pblica se ha representado en tres
imgenes; La figura 26 muestra la autenticacin de los usuarios SuperGoAdmin (U1),
la figura 27 muestra la autenticacin de los usuarios GoAdmin (U2) y la figura 28
muestra la autenticacin de los usuarios GoUser (U3).
servidor
de
aplicaciones
(Servidor
que
contiene
nuestra
aplicacin
ejecutndose); en la figura tambin notamos que los usuarios GoUser (U3) no son
dueos de ningn almacn de datos, as que en los GoUser (U3) no es necesario tener
un usuario de base de datos por cada uno, disminuyendo de esta manera el nmero de
conexione en el servidor de base de datos, pero si se necesita monitorear la actividad
SQL del usuario GoUser, es necesario que este asignado a un usuario de base de
datos.
lgicos (D2) son ledos; recuperada la clave pblica (KP1) del usuario
SuperGoAdmin (U1) y la clave pblica (KP2) del usuario GoAdmin, estas se
encriptan mediante algn algoritmo de encriptacin para luego consultar la clave
pblica (KP1) del usuario SuperGoAdmin (U1) en la lista clave valor (CV1)
que se encuentra almacenada en la memoria RAM (R1) del servidor de
aplicaciones; Si no existe la clave pblica (KP1) del usuario SuperGoAdmin
(U1) enviar mensaje (M3) de error en la autenticacin del usuario GoAdmin
(U2)
RECLAMACIONES
Salvaguardar los datos de conectividad a los servicios de almacenamiento.
contenida
en
el
almacn
de
datos
del
usuario
Usar las claves pblicas de los usuarios GoAdmin como licencias de uso, ya
que sin la clave pblica de GoAdmin los usuarios finales o GoUser no podrn
autenticar ante el sistema, lo que permite bajar o subir el servicio mediante el
uso de la clave pblica, lo mejor de todo es que la clave pblica puede cambiar
en el tiempo.
Usar las clave pblicas de los usuarios SuperGoAdmin y GoAdmin, as como
tambin la clave de no repudio de los usuarios GoUser como token de acceso
al servicio de almacenamiento en cada una de las peticiones en un arquitectura
tipo SOA, es decir el uso de WebService, ya sea que esta aplique el formato de
transmisin de datos REST o se base en el protocolo SOAP.
2.3.2 Aplicacin de mtodo en una aplicacin web.
En el presente apartado no se pretende documentar y explicar el ciclo de vida de
un desarrollo de software, sino ejemplificar la aplicacin del mtodo de
autenticacin de clave pblica (Mtodo de autenticacin GO) en un proyecto
real, y as llevar la teora del mtodo GO a la prctica.
RDBMS SQL Server 2008 R2 que almacena sus datos; para establecer la
conexin entre el RDBMS y las aplicaciones se ha usado JDO como tecnologa
de persistencia a DATOS; en la programacin se us un patrn de diseo
modificado a partir de MVC y MVP, para que la programacin este orientada al
desarrollo de procesos y servicios; se usa el Google Web Toolkit para el
desarrollo del frontend en combinacin con los JSP para brindar una mayor
seguridad.
seguros
los
datos
de
conectividad
al
servicio
de
almacenamiento.
Permitir autenticar a los usuarios del sistema.
Administracin centralizada de usuarios.
Seguridad de autenticacin basada en 3 niveles.
Control y monitoreo de usuarios a nivel de sistema y de actividad SQL.
Balanceo de carga de aplicaciones.
No repudio al autenticar.
3. Aspecto Administrativo:
3.1 Cronograma de actividades
Actividad
SEMANAS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Analizar la problemtica de
mantener seguros lo datos de
conectividad.
1.2
Buscar
antecedentes
que
resuelvan el problema.
1.3
Desarrollar
mtodo
autenticacin
que
salvaguardar
los
de
permita
datos
de
conectividad
Componente 3: Validacin de propuesta de solucin
3.1
Anlisis
de
sistemas
implementar
para
mtodo
que
implementa
4.2
Validar hipotesis
4. Conclusiones.
Guardar los datos de conectividad en la memoria RAM de los servidores, permite
disminuir las probabilidades de robo de estos datos.
Al implementar un mtodo de autenticacin basada en 3 niveles de seguridad,
proporciona caractersticas que permiten monitorear y controlar los accesos al sistema.
El mtodo permite balancear la carga tanto en conexiones a base de datos como a nivel
de servidores de aplicaciones, ya que los datos de conectividad son enviados y no
almacenados en el cdigo fuente o archivos de texto plano.
Monitorear la actividad SQL es una las caractersticas que proporciona este mtodo de
autenticacin.
Controlar el nmero de conexin o sesiones abierta con los servicios de
almacenamiento garantiza el rendimiento de las aplicaciones implementadas con este
mtodo.
5. Recomendaciones.
No colocar los datos de conectividad al servicio de almacenamiento en el cdigo fuente,
ni en archivos de texto plano.
No usar tecnologa de conectividad de almacenamiento de datos que obliguen a
exponer los datos de conectividad en los clientes, caso de ejemplo ODBC.
Como desarrolladores, se debe salvaguardar esta informacin y jams difundirla.
6. Referencias Bibliogrficas.
Bibliografa
(s.f.). Recuperado el 01 de 01 de 2014, de Sitio web de University System of Georgia:
http://www.usg.edu/galileo/skills/unit04/primer04_01.phtml
Black, U. D. (1983). Redes de transmisin de datos y proceso distribuido. Espaa: Prentice Hall.
Date, C. J. (2001). Introduccin a los Sistemas de Base de Datos. Pearson, Prentice Hall.
ISO/IEC. (2005). ISO/IEC 17799:2005.
Pons, O., Marn, N., Medina, J. M., Acid, S., & Vila, A. (2009). Introduccin a las Bases de
Datos. Espaa: Thomson Editors.
Santamaria, E. (1993). Electrnica digital y microprocesadores. Madrid, Espaa: Biblos.
7. Anexo
Anexo D: Documentacin del sistema.
MANUAL
ADMINISTRATIVO
Aplicando Mtodo de autenticacin de clave pblica
2015
MANUAL ADMINSTRATIVO
Este manual solo tendrn acceso los administrativos o personas directas con la aplicacin.
Se ha desarrollado 3 niveles de seguridad donde se explicara paso a paso la seguridad de la
aplicacin.
1. Seguridad ALTA: indexsuperadmin.html SUPERGOADMIN
-
Modulo Menu
Modulo de Bd Empresas
En Logins se har anti clic New Login y se ingresara los datos que nos soliciten:
En Users se dar anti clic New User y completar los datos solicitados.
dbo.GOBEMPRESAS anti clic Script Table as, CREATE TO, New Query Editor
Window.
Modulo de Bd Usuario
Hacer clic en agregar para ingresar al registro del usuario.
Imaginar que se va a crear a un usuario Rosa Rodriguez utilizando la base de datos
bdnava17
Antes de crear a un usuario en la nueva aplicacin el usuario tiene que estar creado
en el Nava.
En Logins se hace anti clic New Login se ingresa los datos que se soliciten:
En Users se dara anti clic New User y completar los datos solicitados.
Para asignarle permisos al usuario registrado se ira a la opcin Ver Menu y se elegir los
permisos.
Para
Aqu ya se autentifica al GO ADMIN, esto permite autenticar a los usuarios del nivel GO USER,
desde aqu tambin se puede dar los permisos a los usuarios y al mismo, pero no se reflejara
los cambios en el nivel de seguridad ms alta.
3. Seguridad Usuario: indexuser.html GO USER
-
Es necesario que los usuarios cuenten con un usuario lgico y una clave
relacionado con el usuario de la base de datos, la cual es comparada con los niveles
anteriores de la autenticacin GO ADMIN y SUPER GO ADMIN as se permitir
estar seguros de que la autenticacin del usuario es segura.