SlideShare una empresa de Scribd logo
1 de 38
estudio e implementación de un framework de
desarrollo de aplicaciones con funciones de
seguridad y privacidad para móviles
Adrià Navarro Martin
agenda
‣ La empresa Safelayer
‣ Estado del arte
‣ Motivación
‣ Objetivos
Contexto
Seguridad Informática
Cross-Platform Tools
El framework desarrollado
Conclusiones
Probando el framework
Planificación y ejecución
Contexto
Desarrollo de aplicaciones PKI
Dos productos principales
KeyOne
TrustedX
LA EMPRESA SAFELAYER SECURE COMMUNICATIONS S.A.
Privacy-aware Accountability for a Trustworthy Future Internet
Gran presencia de
dispositivos móviles
Pocas
funcionalidades de
seguridad
ESTADO DEL ARTE
CONTEXTO
CONTEXTO
Dar un framework multiplataforma móvil que permita
desarrollar de forma sencilla aplicaciones orientadas a la
seguridad basada en tecnología PKI en general y a la
firma electrónica en particular.
MOTIVACIÓN
CONTEXTO
CONTEXTO
OBJETIVOS
CONTEXTO
CONTEXTO
Desarrollo
Aplicación demostradora
Desarrollo
Aplicación demostradora
Diseño e implementación
Framework multiplataforma
Diseño e implementación
Framework multiplataforma
Estudio PKIEstudio PKI
Elaboración informe
comparativo
Herramientasdesarrollo móvilmultiplataforma
Elaboración informe
comparativo
Herramientasdesarrollo móvilmultiplataforma
Google
Drive
Google
Drive
Trusted
X
Trusted
X
agenda
‣ Preocupaciones
‣ Infraestructura de Clave Pública
Contexto
Seguridad Informática
Cross-Platform Tools
El framework desarrollado
Conclusiones
Probando el framework
Planificación y ejecución
Contexto
Seguridad informática
preocupaciones
preocupaciones
¿El mensaje ha sido modificado?
¿Seguro que lo ha enviado el remitente?
?
?
?
Seguridad informática
preocupaciones
preocupaciones
Solución
INFRAESTRUCTURA DE CLAVE PÚBLICA
Conjunto de tecnologías para securizar las comunicaciones
Se basa en la confianza
Amplia adaptación en Internet, gobiernos, bancos y otras
entidades.
INFRAESTRUCTURA DE CLAVE PÚBLICA
CONCEPTOS BÁSICOS
INFRAESTRUCTURA DE CLAVE PÚBLICA
ELEMENTOS DE LA PKI
Certificado digital Firma electrónicaCifrado
Autoridad de Certificación
Autoridad de Validación
Autoridad de Sellado de Tiempo
Autoridad de
Registro
Claves
Públicas
Claves Privadas
Criptografía Asimétrica
Políticas de Gestión
Procesos de Renovación
agenda
‣ Problemática actual
‣ La solución
‣ Clasificación
‣ La herramienta escogida
Contexto
Seguridad Informática
Cross-Platform Tools
El framework desarrollado
Conclusiones
Probando el framework
Planificación y ejecución
Seguridad Informática
Fragmentación en el mercado
de los Smartphone
Gran inversión de tiempo y recursos
para llegar a todas las plataformas
PROBLEMÁTICA ACTUAL
CROSS-PLATFORM TOOLS
CROSS-PLATFORM TOOLS
cross-platform tools
Frameworks para el desarrollo de apps multiplataforma
“Write once, run anywhere”
LA SOLUCIÓN
Web Apps Nativas Híbridas
Intérprete web
Sin acceso a
recursos
No publicable
Ejecución nativa
Con acceso a
recursos
Publicable
Intérprete web
Con acceso a
recursos
Publicable
CLASIFICACIÓN
CROSS-PLATFORM TOOLS
CROSS-PLATFORM TOOLS
‣ Reutilización de código
‣ Alta aceptación
‣ Acceso a recursos nativos
‣ Coste 0
‣ Posibilidad de ampliación
LA HERRAMIENTA ESCOGIDA
CROSS-PLATFORM TOOLS
CROSS-PLATFORM TOOLS
agenda
‣ ¿En qué consiste?
‣ Extendiendo PhoneGap
‣ Dificultades
Contexto
Seguridad Informática
Cross-Platform Tools
El framework desarrollado
Conclusiones
Probando el framework
Planificación y ejecución
Cross-Platform Tools
El framework desarrollado
‣ Ofrecer funcionalidades de
PKI en general y firma
electrónica en particular al
desarrollador
‣ Integración en PhoneGap
como un plug-in
‣ Sencilla API JavaScript
sensors
contacts
camera
notification
digital signature
¿EN QUÉ CONSISTE?
‣ Plugins en las plataformas iOS y
Android
‣ Desarrollo en lenguajes nativos
‣ Creación de la API JavaScript
Objective-C Java
EXTENDIENDO PHONEGAP
EL FRAMEWORK
DESARROLLADO
EL FRAMEWORK
DESARROLLADO
Estudiar y analizar las herramientas multiplataforma más
usadas en el mercado
Aprendizaje de PhoneGap y el desarrollo de plugins
Aprendizaje de tecnologías de desarrollo nativo iOS
Aprendizaje de las tecnologías de desarrollo web
Implementar las mismas funcionalidades en dos
plataformas diferentes
DIFICULTADES
EL FRAMEWORK
DESARROLLADO
EL FRAMEWORK
DESARROLLADO
agenda
Contexto
Seguridad Informática
Cross-Platform Tools
El framework desarrollado
Conclusiones
‣ Visión general
‣ Arquitectura
‣ Funcionalidades
‣ Tecnologías
‣ Dificultades
‣ Demo
Probando el framework
Planificación y ejecución
El framework desarrollado
probando el framework
visión general
visión general
Aplicación PhoneGap que hace uso del framework
probando el framework
visión general
visión general
Aplicación PhoneGap que hace uso del framework
‣ Firmar documentos PDF
‣ Integración con servicios en la nube
✦ Almacenar los documentos
✦ Firma remota y
autenticación
digital signature
probando el framework
REST+JSON SOAP
JDBC
REST+JSON
ARQUITECTURA
Autenticarse usando TrustedX como
proveedor de identidad
Mostrar los documentos del usuario
en Google Drive
Mostrar selector con los certificados
de firma del dispositivo y del usuario
en TrustedX
Firmar utilizando la clave
seleccionada (del dispositivo o
TrustedX)
º
FUNCIONALIDADES DE LA APLICACIÓN MÓVIL
PROBANDO EL FRAMEWORK
PROBANDO EL FRAMEWORK
Almacenar los tokens de
autenticación OAuth de los
usuarios
Componer los documentos PDF
firmados
Descargar y subir los
documentos en Google Drive
FUNCIONALIDADES DEL SERVIDOR
PROBANDO EL FRAMEWORK
PROBANDO EL FRAMEWORK
TECNOLOGÍAS
PROBANDO EL FRAMEWORK
PROBANDO EL FRAMEWORK
XCode
iText
Aprendizaje e integración de la plataformaTrustedX
Aprendizaje del protocolo OAuth 2.0
Aprendizaje e integración de Google Drive
Aprendizaje e integración del framework iText
DIFICULTADES
PROBANDO EL FRAMEWORK
PROBANDO EL FRAMEWORK
demo
Para ver esta película, debe
disponer de QuickTime™ y de
un descompresor H.264.
DEMO
agenda
Contexto
Seguridad Informática
Cross-Platform Tools
El framework desarrollado
Conclusiones
‣ Duración del proyecto
‣ Diagrama de Gantt
‣ Valoración económica
Probando el framework
Planificación y ejecución
Probando el framework
planificación y ejecución
• Proyecto iniciado el 16/04/2012
• Finalizado el 22/03/2013
• Duración: 11 meses a jornada de 35h/sem. con periodos de
vacaciones y compaginación con otras tareas de la empresa
DURACIÓN DEL PROYECTO
Planificación respetada con ciertos desajustes internos
DIAGRAMA DE GANTT
PLANIFICACIÓN Y
EJECUCIÓN
PLANIFICACIÓN Y
EJECUCIÓN
PLANIFICACIÓN Y
EJECUCIÓN
PLANIFICACIÓN Y
EJECUCIÓN
VALORACIÓN ECONÓMICA
Concepto Coste
Recursos humanos € 11.857,15
Equipos informáticos € 1377,43
Mobiliario € 300
TOTAL € 13.534,58
agenda
Contexto
Seguridad Informática
Cross-Platform Tools
El framework desarrollado
Conclusiones
‣ ...del proyecto
‣ ...personales
‣ Líneas futuras
Probando el framework
Planificación y ejecuciónPlanificación y ejecución
conclusiones
La Infraestructura de Clave Pública es un conjunto de
tecnologías muy complicado para ser utilizado con facilidad
por los desarrolladores.
Las tecnologías móviles carecen de muchas funcionalidades de
seguridad.
El uso de Cross-Platform Tools permite desarrollar con
facilidad para diferentes plataformas.
Todo el ecosistema admite muchas mejoras en el ámbito de la
seguridad.
...DEL PROYECTO
El proyecto en Safelayer Secure Communications S.A.
Oportunidad de trabajar en ambiente profesional.
Aprendizaje de metodologías de trabajo, seguimiento y
gestión de proyectos.
Aprendizaje de nuevas tecnologías del mercado
...PERSONALES
CONCLUSIONES
CONCLUSIONES
líneas futuras
Aplicación demostradora
Añadir más servicios de almacenamiento.
Creación de un SDK para móviles orientado a clientes
reales
Eliminar servidor intermedio.
Añadir más funcionalidades de PKI e integración con
otros servicios.
Gracias por su atención
Adrià Navarro Martín
adria.navarro-martin@est.fib.upc.edu

Más contenido relacionado

Destacado

Charla de seguridad en dispositivos móviles
Charla de seguridad en dispositivos móvilesCharla de seguridad en dispositivos móviles
Charla de seguridad en dispositivos móvilesGissim
 
Con19 contrato auditoria_proteccion_datos
Con19 contrato auditoria_proteccion_datosCon19 contrato auditoria_proteccion_datos
Con19 contrato auditoria_proteccion_datosClubdelasesorIntersoft
 
Aplicaciones Móviles para Negocios | Incrementa Productividad
Aplicaciones Móviles para Negocios | Incrementa Productividad Aplicaciones Móviles para Negocios | Incrementa Productividad
Aplicaciones Móviles para Negocios | Incrementa Productividad Hispanic Chamber of E-Commerce
 
Conferencia Android Cparty11
Conferencia Android Cparty11Conferencia Android Cparty11
Conferencia Android Cparty11jssernac
 
DERECHOS DE PRIVACIDAD Y DE INFORMACIÓN
DERECHOS DE PRIVACIDAD Y DE INFORMACIÓNDERECHOS DE PRIVACIDAD Y DE INFORMACIÓN
DERECHOS DE PRIVACIDAD Y DE INFORMACIÓNXiomara Poveda
 
0020 aplicaciones para_dispositivos_android
0020 aplicaciones para_dispositivos_android0020 aplicaciones para_dispositivos_android
0020 aplicaciones para_dispositivos_androidGeneXus
 
Tendencias de marketing digital en aplicaciones moviles
Tendencias de marketing digital en aplicaciones movilesTendencias de marketing digital en aplicaciones moviles
Tendencias de marketing digital en aplicaciones movileslc_jaramillo
 
Aplicaciones móviles que se vean y se sientan bien
Aplicaciones móviles que se vean y se sientan bienAplicaciones móviles que se vean y se sientan bien
Aplicaciones móviles que se vean y se sientan bienDaniel Alvarez
 
Seguridad informatica auditoria
Seguridad informatica auditoriaSeguridad informatica auditoria
Seguridad informatica auditoriaDiego Llanes
 
Como generar el Aviso de Privacidad (LFPDPPP)
Como generar el Aviso de Privacidad (LFPDPPP)Como generar el Aviso de Privacidad (LFPDPPP)
Como generar el Aviso de Privacidad (LFPDPPP)protecciondedatos
 
Presentación TE: Seguridad y Privacidad en las redes sociales
Presentación TE: Seguridad y Privacidad en las redes socialesPresentación TE: Seguridad y Privacidad en las redes sociales
Presentación TE: Seguridad y Privacidad en las redes socialesJose Antonio Martín Herguedas
 
Privacidad y seguridad
Privacidad y seguridadPrivacidad y seguridad
Privacidad y seguridadAlu4Gil
 
Guia Practica para Generar el Aviso de Privacidad - IFAI
Guia Practica para Generar el Aviso de Privacidad - IFAIGuia Practica para Generar el Aviso de Privacidad - IFAI
Guia Practica para Generar el Aviso de Privacidad - IFAIMeme delaTower
 
Privacidad y aplicaciones móviles
Privacidad y aplicaciones móvilesPrivacidad y aplicaciones móviles
Privacidad y aplicaciones móvilesCon Vos en la Web
 

Destacado (20)

Charla de seguridad en dispositivos móviles
Charla de seguridad en dispositivos móvilesCharla de seguridad en dispositivos móviles
Charla de seguridad en dispositivos móviles
 
Con19 contrato auditoria_proteccion_datos
Con19 contrato auditoria_proteccion_datosCon19 contrato auditoria_proteccion_datos
Con19 contrato auditoria_proteccion_datos
 
Aplicaciones Móviles para Negocios | Incrementa Productividad
Aplicaciones Móviles para Negocios | Incrementa Productividad Aplicaciones Móviles para Negocios | Incrementa Productividad
Aplicaciones Móviles para Negocios | Incrementa Productividad
 
seguridad de so
seguridad de soseguridad de so
seguridad de so
 
Ciencias
CienciasCiencias
Ciencias
 
Conferencia Android Cparty11
Conferencia Android Cparty11Conferencia Android Cparty11
Conferencia Android Cparty11
 
DERECHOS DE PRIVACIDAD Y DE INFORMACIÓN
DERECHOS DE PRIVACIDAD Y DE INFORMACIÓNDERECHOS DE PRIVACIDAD Y DE INFORMACIÓN
DERECHOS DE PRIVACIDAD Y DE INFORMACIÓN
 
0020 aplicaciones para_dispositivos_android
0020 aplicaciones para_dispositivos_android0020 aplicaciones para_dispositivos_android
0020 aplicaciones para_dispositivos_android
 
Tendencias de marketing digital en aplicaciones moviles
Tendencias de marketing digital en aplicaciones movilesTendencias de marketing digital en aplicaciones moviles
Tendencias de marketing digital en aplicaciones moviles
 
Aplicaciones móviles que se vean y se sientan bien
Aplicaciones móviles que se vean y se sientan bienAplicaciones móviles que se vean y se sientan bien
Aplicaciones móviles que se vean y se sientan bien
 
Lopd -LSSI
Lopd -LSSILopd -LSSI
Lopd -LSSI
 
Sesion09
Sesion09Sesion09
Sesion09
 
Seguridad informatica auditoria
Seguridad informatica auditoriaSeguridad informatica auditoria
Seguridad informatica auditoria
 
Como generar el Aviso de Privacidad (LFPDPPP)
Como generar el Aviso de Privacidad (LFPDPPP)Como generar el Aviso de Privacidad (LFPDPPP)
Como generar el Aviso de Privacidad (LFPDPPP)
 
Presentación TE: Seguridad y Privacidad en las redes sociales
Presentación TE: Seguridad y Privacidad en las redes socialesPresentación TE: Seguridad y Privacidad en las redes sociales
Presentación TE: Seguridad y Privacidad en las redes sociales
 
Privacidad y seguridad
Privacidad y seguridadPrivacidad y seguridad
Privacidad y seguridad
 
Acs
AcsAcs
Acs
 
Guia Practica para Generar el Aviso de Privacidad - IFAI
Guia Practica para Generar el Aviso de Privacidad - IFAIGuia Practica para Generar el Aviso de Privacidad - IFAI
Guia Practica para Generar el Aviso de Privacidad - IFAI
 
Privacidad y aplicaciones móviles
Privacidad y aplicaciones móvilesPrivacidad y aplicaciones móviles
Privacidad y aplicaciones móviles
 
Conceptos y Generalidades de Android
Conceptos y Generalidades de AndroidConceptos y Generalidades de Android
Conceptos y Generalidades de Android
 

Similar a PresentacionPFC_ppt

Webinar WebRTC y HTML5 (spanish) - Quobis
Webinar WebRTC y HTML5 (spanish) - QuobisWebinar WebRTC y HTML5 (spanish) - Quobis
Webinar WebRTC y HTML5 (spanish) - QuobisQuobis
 
Software libre y Sistemas de Información Geográfica
Software libre y Sistemas de Información GeográficaSoftware libre y Sistemas de Información Geográfica
Software libre y Sistemas de Información GeográficaKudos S.A.S
 
Desarrollo de aplicaciones android con Python
Desarrollo de aplicaciones android con PythonDesarrollo de aplicaciones android con Python
Desarrollo de aplicaciones android con PythonManuel Pérez
 
OpenVidu Commitconf 2018
OpenVidu Commitconf 2018 OpenVidu Commitconf 2018
OpenVidu Commitconf 2018 Micael Gallego
 
Tecnologías clave para la transformación digital en las empresas
Tecnologías clave para la transformación digital en las empresasTecnologías clave para la transformación digital en las empresas
Tecnologías clave para la transformación digital en las empresasQindel Group
 
Introducción a silverlight
Introducción a silverlightIntroducción a silverlight
Introducción a silverlightricardomeanaG9
 
Remote System Controller with Android technologies
Remote System Controller with Android technologiesRemote System Controller with Android technologies
Remote System Controller with Android technologiesMiguel Garcia Ponce
 
WebRTC en tu web con OpenVidu
WebRTC en tu web con OpenViduWebRTC en tu web con OpenVidu
WebRTC en tu web con OpenViduMicael Gallego
 
Desarrollo Móvil con Android (...y Firebase)
Desarrollo Móvil con Android (...y Firebase)Desarrollo Móvil con Android (...y Firebase)
Desarrollo Móvil con Android (...y Firebase)Armando Picón Z.
 
DotNet2018: Xamarin.Forms Everywhere!
DotNet2018: Xamarin.Forms Everywhere!DotNet2018: Xamarin.Forms Everywhere!
DotNet2018: Xamarin.Forms Everywhere!Javier Suárez Ruiz
 
Curso de programacion en android
Curso de programacion en androidCurso de programacion en android
Curso de programacion en androidEscurra Walter
 
Desarrollo de apps móviles con Apache Cordova
Desarrollo de apps móviles con Apache CordovaDesarrollo de apps móviles con Apache Cordova
Desarrollo de apps móviles con Apache CordovaSoftware Guru
 
herramientas tecnológicas
herramientas tecnológicasherramientas tecnológicas
herramientas tecnológicasGerardo Linares
 

Similar a PresentacionPFC_ppt (20)

Webinar WebRTC y HTML5 (spanish) - Quobis
Webinar WebRTC y HTML5 (spanish) - QuobisWebinar WebRTC y HTML5 (spanish) - Quobis
Webinar WebRTC y HTML5 (spanish) - Quobis
 
Software libre y Sistemas de Información Geográfica
Software libre y Sistemas de Información GeográficaSoftware libre y Sistemas de Información Geográfica
Software libre y Sistemas de Información Geográfica
 
Desarrollo de aplicaciones android con Python
Desarrollo de aplicaciones android con PythonDesarrollo de aplicaciones android con Python
Desarrollo de aplicaciones android con Python
 
OpenVidu Commitconf 2018
OpenVidu Commitconf 2018 OpenVidu Commitconf 2018
OpenVidu Commitconf 2018
 
Tecnologías clave para la transformación digital en las empresas
Tecnologías clave para la transformación digital en las empresasTecnologías clave para la transformación digital en las empresas
Tecnologías clave para la transformación digital en las empresas
 
Introducción a silverlight
Introducción a silverlightIntroducción a silverlight
Introducción a silverlight
 
Remote System Controller with Android technologies
Remote System Controller with Android technologiesRemote System Controller with Android technologies
Remote System Controller with Android technologies
 
WebRTC en tu web con OpenVidu
WebRTC en tu web con OpenViduWebRTC en tu web con OpenVidu
WebRTC en tu web con OpenVidu
 
Olivares
OlivaresOlivares
Olivares
 
Demo 2012
Demo 2012Demo 2012
Demo 2012
 
Oracle Application Framework
Oracle Application FrameworkOracle Application Framework
Oracle Application Framework
 
Contenedores como Servicio con Docker
Contenedores como Servicio con DockerContenedores como Servicio con Docker
Contenedores como Servicio con Docker
 
Desarrollo Móvil con Android (...y Firebase)
Desarrollo Móvil con Android (...y Firebase)Desarrollo Móvil con Android (...y Firebase)
Desarrollo Móvil con Android (...y Firebase)
 
Open Edge Mobile
Open Edge MobileOpen Edge Mobile
Open Edge Mobile
 
Open edge mobile
Open edge mobileOpen edge mobile
Open edge mobile
 
DotNet2018: Xamarin.Forms Everywhere!
DotNet2018: Xamarin.Forms Everywhere!DotNet2018: Xamarin.Forms Everywhere!
DotNet2018: Xamarin.Forms Everywhere!
 
Curso de programacion en android
Curso de programacion en androidCurso de programacion en android
Curso de programacion en android
 
Desarrollo de apps móviles con Apache Cordova
Desarrollo de apps móviles con Apache CordovaDesarrollo de apps móviles con Apache Cordova
Desarrollo de apps móviles con Apache Cordova
 
herramientas tecnológicas
herramientas tecnológicasherramientas tecnológicas
herramientas tecnológicas
 
1057571401
10575714011057571401
1057571401
 

PresentacionPFC_ppt

  • 1. estudio e implementación de un framework de desarrollo de aplicaciones con funciones de seguridad y privacidad para móviles Adrià Navarro Martin
  • 2. agenda ‣ La empresa Safelayer ‣ Estado del arte ‣ Motivación ‣ Objetivos Contexto Seguridad Informática Cross-Platform Tools El framework desarrollado Conclusiones Probando el framework Planificación y ejecución
  • 3. Contexto Desarrollo de aplicaciones PKI Dos productos principales KeyOne TrustedX LA EMPRESA SAFELAYER SECURE COMMUNICATIONS S.A. Privacy-aware Accountability for a Trustworthy Future Internet
  • 4. Gran presencia de dispositivos móviles Pocas funcionalidades de seguridad ESTADO DEL ARTE CONTEXTO CONTEXTO
  • 5. Dar un framework multiplataforma móvil que permita desarrollar de forma sencilla aplicaciones orientadas a la seguridad basada en tecnología PKI en general y a la firma electrónica en particular. MOTIVACIÓN CONTEXTO CONTEXTO
  • 6. OBJETIVOS CONTEXTO CONTEXTO Desarrollo Aplicación demostradora Desarrollo Aplicación demostradora Diseño e implementación Framework multiplataforma Diseño e implementación Framework multiplataforma Estudio PKIEstudio PKI Elaboración informe comparativo Herramientasdesarrollo móvilmultiplataforma Elaboración informe comparativo Herramientasdesarrollo móvilmultiplataforma Google Drive Google Drive Trusted X Trusted X
  • 7. agenda ‣ Preocupaciones ‣ Infraestructura de Clave Pública Contexto Seguridad Informática Cross-Platform Tools El framework desarrollado Conclusiones Probando el framework Planificación y ejecución Contexto
  • 8. Seguridad informática preocupaciones preocupaciones ¿El mensaje ha sido modificado? ¿Seguro que lo ha enviado el remitente? ? ? ?
  • 10. Conjunto de tecnologías para securizar las comunicaciones Se basa en la confianza Amplia adaptación en Internet, gobiernos, bancos y otras entidades. INFRAESTRUCTURA DE CLAVE PÚBLICA CONCEPTOS BÁSICOS
  • 11. INFRAESTRUCTURA DE CLAVE PÚBLICA ELEMENTOS DE LA PKI Certificado digital Firma electrónicaCifrado Autoridad de Certificación Autoridad de Validación Autoridad de Sellado de Tiempo Autoridad de Registro Claves Públicas Claves Privadas Criptografía Asimétrica Políticas de Gestión Procesos de Renovación
  • 12. agenda ‣ Problemática actual ‣ La solución ‣ Clasificación ‣ La herramienta escogida Contexto Seguridad Informática Cross-Platform Tools El framework desarrollado Conclusiones Probando el framework Planificación y ejecución Seguridad Informática
  • 13. Fragmentación en el mercado de los Smartphone Gran inversión de tiempo y recursos para llegar a todas las plataformas PROBLEMÁTICA ACTUAL CROSS-PLATFORM TOOLS CROSS-PLATFORM TOOLS
  • 14. cross-platform tools Frameworks para el desarrollo de apps multiplataforma “Write once, run anywhere” LA SOLUCIÓN
  • 15. Web Apps Nativas Híbridas Intérprete web Sin acceso a recursos No publicable Ejecución nativa Con acceso a recursos Publicable Intérprete web Con acceso a recursos Publicable CLASIFICACIÓN CROSS-PLATFORM TOOLS CROSS-PLATFORM TOOLS
  • 16. ‣ Reutilización de código ‣ Alta aceptación ‣ Acceso a recursos nativos ‣ Coste 0 ‣ Posibilidad de ampliación LA HERRAMIENTA ESCOGIDA CROSS-PLATFORM TOOLS CROSS-PLATFORM TOOLS
  • 17. agenda ‣ ¿En qué consiste? ‣ Extendiendo PhoneGap ‣ Dificultades Contexto Seguridad Informática Cross-Platform Tools El framework desarrollado Conclusiones Probando el framework Planificación y ejecución Cross-Platform Tools
  • 18. El framework desarrollado ‣ Ofrecer funcionalidades de PKI en general y firma electrónica en particular al desarrollador ‣ Integración en PhoneGap como un plug-in ‣ Sencilla API JavaScript sensors contacts camera notification digital signature ¿EN QUÉ CONSISTE?
  • 19. ‣ Plugins en las plataformas iOS y Android ‣ Desarrollo en lenguajes nativos ‣ Creación de la API JavaScript Objective-C Java EXTENDIENDO PHONEGAP EL FRAMEWORK DESARROLLADO EL FRAMEWORK DESARROLLADO
  • 20. Estudiar y analizar las herramientas multiplataforma más usadas en el mercado Aprendizaje de PhoneGap y el desarrollo de plugins Aprendizaje de tecnologías de desarrollo nativo iOS Aprendizaje de las tecnologías de desarrollo web Implementar las mismas funcionalidades en dos plataformas diferentes DIFICULTADES EL FRAMEWORK DESARROLLADO EL FRAMEWORK DESARROLLADO
  • 21. agenda Contexto Seguridad Informática Cross-Platform Tools El framework desarrollado Conclusiones ‣ Visión general ‣ Arquitectura ‣ Funcionalidades ‣ Tecnologías ‣ Dificultades ‣ Demo Probando el framework Planificación y ejecución El framework desarrollado
  • 22. probando el framework visión general visión general Aplicación PhoneGap que hace uso del framework
  • 23. probando el framework visión general visión general Aplicación PhoneGap que hace uso del framework ‣ Firmar documentos PDF ‣ Integración con servicios en la nube ✦ Almacenar los documentos ✦ Firma remota y autenticación
  • 24. digital signature probando el framework REST+JSON SOAP JDBC REST+JSON ARQUITECTURA
  • 25. Autenticarse usando TrustedX como proveedor de identidad Mostrar los documentos del usuario en Google Drive Mostrar selector con los certificados de firma del dispositivo y del usuario en TrustedX Firmar utilizando la clave seleccionada (del dispositivo o TrustedX) º FUNCIONALIDADES DE LA APLICACIÓN MÓVIL PROBANDO EL FRAMEWORK PROBANDO EL FRAMEWORK
  • 26. Almacenar los tokens de autenticación OAuth de los usuarios Componer los documentos PDF firmados Descargar y subir los documentos en Google Drive FUNCIONALIDADES DEL SERVIDOR PROBANDO EL FRAMEWORK PROBANDO EL FRAMEWORK
  • 28. Aprendizaje e integración de la plataformaTrustedX Aprendizaje del protocolo OAuth 2.0 Aprendizaje e integración de Google Drive Aprendizaje e integración del framework iText DIFICULTADES PROBANDO EL FRAMEWORK PROBANDO EL FRAMEWORK
  • 29. demo Para ver esta película, debe disponer de QuickTime™ y de un descompresor H.264. DEMO
  • 30. agenda Contexto Seguridad Informática Cross-Platform Tools El framework desarrollado Conclusiones ‣ Duración del proyecto ‣ Diagrama de Gantt ‣ Valoración económica Probando el framework Planificación y ejecución Probando el framework
  • 31. planificación y ejecución • Proyecto iniciado el 16/04/2012 • Finalizado el 22/03/2013 • Duración: 11 meses a jornada de 35h/sem. con periodos de vacaciones y compaginación con otras tareas de la empresa DURACIÓN DEL PROYECTO Planificación respetada con ciertos desajustes internos
  • 32. DIAGRAMA DE GANTT PLANIFICACIÓN Y EJECUCIÓN PLANIFICACIÓN Y EJECUCIÓN
  • 33. PLANIFICACIÓN Y EJECUCIÓN PLANIFICACIÓN Y EJECUCIÓN VALORACIÓN ECONÓMICA Concepto Coste Recursos humanos € 11.857,15 Equipos informáticos € 1377,43 Mobiliario € 300 TOTAL € 13.534,58
  • 34. agenda Contexto Seguridad Informática Cross-Platform Tools El framework desarrollado Conclusiones ‣ ...del proyecto ‣ ...personales ‣ Líneas futuras Probando el framework Planificación y ejecuciónPlanificación y ejecución
  • 35. conclusiones La Infraestructura de Clave Pública es un conjunto de tecnologías muy complicado para ser utilizado con facilidad por los desarrolladores. Las tecnologías móviles carecen de muchas funcionalidades de seguridad. El uso de Cross-Platform Tools permite desarrollar con facilidad para diferentes plataformas. Todo el ecosistema admite muchas mejoras en el ámbito de la seguridad. ...DEL PROYECTO
  • 36. El proyecto en Safelayer Secure Communications S.A. Oportunidad de trabajar en ambiente profesional. Aprendizaje de metodologías de trabajo, seguimiento y gestión de proyectos. Aprendizaje de nuevas tecnologías del mercado ...PERSONALES CONCLUSIONES CONCLUSIONES
  • 37. líneas futuras Aplicación demostradora Añadir más servicios de almacenamiento. Creación de un SDK para móviles orientado a clientes reales Eliminar servidor intermedio. Añadir más funcionalidades de PKI e integración con otros servicios.
  • 38. Gracias por su atención Adrià Navarro Martín adria.navarro-martin@est.fib.upc.edu

Notas del editor

  1. Hola a todos. Soy Adrià Navarro y a continuación realizaré al defensa de mi proyecto ESTUDIO E IMPLEMENTACIÓN DE UN FRAMEWORK DE DESARROLLO DE APLICACIONES CON FUNCIONES DE SEGURIDAD Y PRIVACIDAD PARA MÓVILES. El proyecto es el resultado de un convenio de cooperación educativa entre la UPC y la empresa Safelayer.
  2. Empezamos viendo las principales secciones en las que se estructurará la presentación: - Primero especificaré en qué contexto se ha realizado el proyecto. - Después introduciré algunos conceptos de seguridad informática importantes para comprender los aspectos clave de las funcionalidades. - Qué són las herramientas de desarrollo multiplataforma - Luego entraremos en las secciones de implementación: El framework desarrollado y la aplicación que se ha creado para validar su funcionamiento (en esta seccion veremos una pequeña demo). - Para acabar daré detalles sobre la planificación y - Unas conclusiones En el contexto se explicarán estos puntos
  3. La empresa Safelayer.. con la que se ha realizado en convenio está especializada en el desarrollo de productos software que utilizan la tecnología PKI (que explicaré en breve). Sus dos líneas de productos principales son Keyone y TrustedX (una plataforma de firma electrónica) El proyecto se emmarca dentro del plan avanza del ministerio de industria, y concretamente dentro del marco privacy...
  4. El estado del arte de los terminales móviles es que existe una gran presencia de dispositivos móviles inteligentes o smartphones pero sin embargo en el campo de la seguridad se encuentran bastante limitados y carentes de funcionalidades, tanto para los usuarios como los desarrolladores.
  5. Esto es justamente lo que motiva este proyecto, y por eso se quiere dar un framework multiplataforma que facilite a los desarrolladores crear aplicaciones con funcionalidades de seguridad. En concreto se ha creado un framework que permite la firma electrónica.
  6. Los objetivos, pues, son los siguientes: - Primero estudiar a fondo las tecnologías PKI, vitales para crear el framework. - Segundo estudiar las herramientas de desarrollo multiplataforma más usadas en el mercado actual. - Tercero desarrollar el framework de firma electronica incorporandolo a una de las herramientas anteriores - Cuarto desarrollar una aplicacion que utilice el framework creado y valide su correcto funcionamiento - Y por ultimo añadir algunas otras funcionalidades a la aplicación, concretamente integrarlo con servicios en la nube Google Drive y TrustedX.
  7. Ahora introduciré algunos conceptos de seguridad informática para facilitar la comprensión del proyecto.
  8. En cualquier comunicación entre dos personas o entidades a través de internet donde la seguridad puede estar comprometida se plantean las dudas de si realmente el mensaje se procede del que afirma ser el autor o de si una tercera persona puede haber modificado el mensaje original.
  9. Existe una manera de garantizar la seguridad digital de las comunicaciones mensajes y documentos. La infraestructura de clave publica, llamada PKI en inglés.
  10. La PKI es un conjunto de varias tecnologías que consigue securizar las comunicaciones. Entre ellas se encuentra la criptografía. Se basa en la confianza, es decir, existen una estructura de entidades que permiten garantizar la autenticidad de los autores de mensajes o documentos. Para poder validar esa autenticidad hay que confiar en ellas. Podemos encontrar PKI tanto en sitios de comercio electrónico, las principales entidades bancárias y gubernamentales, por ejemplo, el DNI electrónico utiliza tecnología PKI
  11. Qué elementos podemos encontrar? Los más conocidos sean quizas los certificados digitales, el cifrado o la firma electrónica. Pero todos ellos se apoyan en otros muchos elementos, lo que convierte a la PKI en una tecnología muy complicada. Lo que busca este proyecto es intentar facilitar la tarea de integración en los móviles de esta tecnología.
  12. Ahora veremos que son las herramientas multiplataforma, que provlema solventan y cual es la herramienta que se ha utilizado en este proyecto para integrar el framework.
  13. Si nos paramos a ver la oferta de móviles en el mercado es fácil observar que existen multitud de plataformas diferentes,algunas mas populares que otras, como apple android blackberry symbian o samsung bada... Esto implica que los desarrolladores tengan que invertir una gran cantidad de tiempo y recursos para alcanzar el mayor número de público posible. Ya que generalmente una aplicación se implementará de forma diferente para cada una de las plataformas.
  14. Las CPT son frameworks que permiten que una misma implementación funcione en diferentes plataformas. Siguen el principio write once run anywhere. Es decir, los desarrolladores únicamente tienen que escribir un código y éste código tiene que funcionar igual en varios dispositivos móviles, por ejemplo en un iOS como en un android como en un blackberry.
  15. Las webapps, que basicamente son páginas web adaptadas a los dispositivos móviles. Esto es multiplataforma porque basta con que el móvil disponga de una navegador web para ejecutar el código. Sin embargo esto impide que la aplicación se distribuya en los mercados oficiales (google play app store) porque no se puede INSTALAR. Las CPT nativas permiten escribir en lugar de usando código web, utilizando lenguajes nativos, por ejemplo C#. Para convertir esto en un codigo multiplataforma algunas CPT utilizan traductores de codigo fuente o runtimes (una capa intermedia entre el programador y el desarrollador). Esta aplicaciones se pueden distribuir en los mercados ya que se pueden instalar. Por ultimo las aplicaciones híbridas permiten crear apps con codigo web y que a su vez se puedan instalar, por lo tanto son distribuibles y monetizables.
  16. Después de un estudio exhaustivo se decidió utilizar PhoneGap. Ya que es híbrido por lo que permite crear aplicaciones monetizables. Tiene un coste 0 y se puede extender fácilmente, cosa que permite añadir el framework de firma como una funcionalidad más de PhoneGap
  17. A continuación explicaré qué framework se ha desarrollado, como se ha integrado con PhoneGap y las dificultades que me ha supuesto.
  18. La funcionalidad del framework es permitir la firma electrónica en el dispositivo móvil, mediante las claves de firma que almacena. Como ya he comentado, PhoneGap dispone de una API que permite acceder a los recursos nativos del telefono, como la camara los contactos o los sensores. El framework que se ha desarrollado se incorpora a esta API como un plugin más. Esto permite que el desarrollador pueda acceder a las funcionalidades de firma desarrolladas mediante una sencilla llamada JavaScript.
  19. En cuanto a el desarrollo de los plugins, se han hecho dos versiones: una para iOS y otra para Android, dado que son las plataformas que dominan el mercado. A pesar de que luego el desarrollador acceda a ellos mediante código web, para implementar los plugins se ha tenido que desarrollar con el lenguaje nativo de cada plataforma: Objective-C para iOS y Java para Android. Después se ha tenido que crear una API JavaScript que encapsule las llamadas a las funcionalidades nativas. Ésta es la API a la que accederá el desarrollador, independientemente de si está haciendo una app para iOS o para Android, para el es exactamente lo mismo.
  20. En cuanto a las dificultades: Tuve que invertir bastante tiempo en realizar un estudio de las CPT más usadas del mercado para finalmente escoger PhoneGap. Una vez escogido tuve que aprender a utilizarlo y más importante, a añadir a extenderlo con funcionalidades extra. Para realizar el plugin para iOS tuve que aprender a desarrollar con el lenguaje Objective-C y el framework Cocoa Touch. Para el plugin de Android no hizo falta una inversión tan grande ya que ya tenia experiencias previas. Con lo que no tenia tantas experiencias previas fue con el desarrollo web, necesario para implementar la API JavaScript así que tuve que familiarizarme con ellas. Y por ultimo tuve que hacer que ambas versiones del plugin se comportaran de la misma forma para ambas plataformas: Android y iOS.
  21. Una vez desarrollado el framework, hubo que probarlo para validar su funcionamiento. Ahora veremos como se probó, la arquitectura del sistema sus funcionalidades, que dificultades presentó y al final una pequeña demo.
  22. Para probar el framework se creó una aplicación con PhoneGap que lo utilizaba
  23. A grandes rasgos lo que hace es firmar documentos PDF. Para añadir a la aplicación tecnologías de actualidad se integró con servicios en al nube. Los documentos PDF en lugar de estar en el telefono se almacenan en Google Drive. Y también se ha incorporado al posibilidad de firmar con claves almacenadas remotamente mediante el producto TrustedX de Safelayer, que a su vez tambien actua de proveedor de identidad para realizar las autenticaciones en la aplicación.
  24. Y este es un esquema general de la arquitectura de todo el sistema. El usuario final tiene un smartphone con la aplicación phonegap que incorpora el plugin de firma. Este smartphone tambien almacena claves de firma del usuario. El usuario tambien esta autenticado en Google Drive y en TrustedX donde almacena los documentos PDF y otras claves remotas respectivamente. Todo esto se gestiona mediante un servidor intermedio cuyas funcionalidades también se han implementado Este servidor se encarga de gestionar las autenticaciones OAuth y descargar los documentos PDF. Utiliza una base de datos mysql para almacenar los datos de los usuarios.
  25. Ahora veremos las funcionalidades de la aplicación movil y despues las del servidor. La aplicacion permite autenitcarte mediante OAuth 2.0 con TrustedX como proveedor de identidad. De forma análoga a como lo hace Facebook, por ejemplo. Con un formulario basico de autenticación. Una vez autenticado, si el usuario esta logeado en Google tambien muestra los documentos que tiene almacenados en Drive. Cuando el usuario quiere firmar se llama a una de las funcionalidades del framework desarrollado para obtener los certificados de firma del dispositivo. Dado que el plugin por dentro es diferente en iOS y en Android el aspecto del selector de certificados tambien es diferente: este es el aspecto de Android y este el de iOS. Por último se realiza la firma con la clave que se ha seleccionado este en TrustedX o en el dispositivo.
  26. En cuanto a las funcionalidades del servidor, las principales son: Almacenar todos los token de las autenticaciones OAuth 2.0 tanto de Google Drive como TrustedX para todos los usuarios. A pesar de que la firma propiamiente dicha no se realiza en el servidor, sino en el movil mediante el framework o en TrustedX, el servidor compone los PDF firmados utilizando un framework un gestion de PDFs. La firma, al final, se realiza de forma diferida entre el movil o TrustedX y el servidor. Por ultimo tambien se encarga de bajar y subir los documentos de Google Drive. Estos documentos nunca viajan fuera del servidor, unicamente se mandan los bytes indispensables para poder calcular las firmas, y como acabo de comentar, despues se reciben los bytes de firma, se componen los documentos firmados y se suben de vuelta a Google Drive.
  27. Ahora veremos de forma rapida que tecnologías hay implicadas en las implementaciones tanto de la aplicacion movil como del servidor. Los entornos de desarrollo utilizados son los siguientes.
  28. Las dificultades con las que me he encontrado creando este sistema para probar el framework de firma han sido: Aprender a utilizar el producto de Safelayer TrustedX e integrarlo en el sistema. Aprender como funciona el protocolo OAuth 2.0 para poder realizar las autenticaciones y acceder a los recursos de TrustedX y Google Drive en nombre del usuario. Aprender a utilizar al API de Google Drive para poder utilizar su servicio de almacenamiento. Y por ultimo aprender a utilizar el framework de gestion de documentos PDF iText para componer las firmas, que de otra manera hubiera sido una tarea mucho mas pesada.
  29. Ahora veremos una demo de esta aplicación demostradora de las funcionalidades del framework asi como de sus servicios añadidos, TrustedX y Google Drive.
  30. Ya hemos acabado con la parte tecnica y ahora veremos como ha sido la planificación y ejecución del proyecto y un diagrama de Gantt.
  31. El proyecto empezó en abril de año pasado y acabó a finales de marzo de este año. Aproximadamente ha durado 11 meses a una jornada de 35 horas a la semana. Esta jornada se compaginaba con otras tareas de soporte a la empresa y con periodos de vacaciones.
  32. En este gantt podemos ver a grandes rasgos como se ha planificado el proyecto. Tiene una fuerte etapa de formacion e investigación seguida de las tipicas etapas de ingenieria del software. La documentación se fue generando a lo largo de todo el proyecto, en paralelo.
  33. Y ya para acabar daré las concusiones.
  34. Primero unas conclusiones técnicas sobre el proyecto: Hemos visto que la PKI es un conjunto de tecnologías muy complicado. Esto hace que sea muy dificil de integrar por un desarrollador no experto en el tema. En cuanto a las plataformas moviles, tampoco disponen de demasiadas funcionalidades de seguridad y tampoco faciles de utilizar. Tambien hemos visto que las CPT permiten alcanzar de forma facil muchas plataformas moviles a la vez. Pero en general todo este ecosistema admite muchas mejoras en el campo de la seguridad, tanto a nivel funcional como de usabilidad. El principal objetivo de este proyecto era comprobar que esto se podia solucionar.
  35. Respecto a las conclusiones personales, trabajar en Safelayer me ha brindado la oportunidad de experimentar el desarrollo en un entorno profesional, aprender sus metodologías de trabajo y experimentar con nuevas tecnologías.
  36. Y ya para acabar con las lineas futuras de desarrollo, respecto a la aplicación demostradora se para hacerla más versátil se pueden añadir nuevos servicios de almacenamiento, como dropbox o box y ver que su funcionamiento se mantiene igual. Y en cuanto al framework, una futura linea de desarrollo que ya se está definiendo en la empresa es la de dar un sdk movil orientado a clientes reales. Esto implicaría eliminar el servidor intermedio ya que es un obstaculo en cuanto a recursos y tambien añadir mas funcionalidades de la pki aparte de la firma electronica.
  37. Esto es todo, muchas gracias.