1 / 35

Medina, Gastón Nicolás INGENIERIA EN COMPUTACION

U.N.C. Facultad de Cs. Exactas, Físicas y Naturales. Proyecto Integrador:. Construcción de Driver de usuario para dispositivo Encrypted P in Pad utilizando Desarrollo Conducido por Modelos. Medina, Gastón Nicolás INGENIERIA EN COMPUTACION. Córdoba - 2010. Contenidos.

ori-bridges
Download Presentation

Medina, Gastón Nicolás INGENIERIA EN COMPUTACION

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. U.N.C. Facultad de Cs. Exactas, Físicas y Naturales Proyecto Integrador: Construcción de Driver de usuario para dispositivo Encrypted PinPad utilizando Desarrollo Conducido por Modelos Medina, Gastón Nicolás INGENIERIA EN COMPUTACION Córdoba - 2010

  2. Contenidos • Presentación del Proyecto Integrador • Descripción, motivación, objetivos, alcance. • Características de los elementos del Sistema • Terminal Kiosk, Driver, Teclado Encriptado (Epp) y Aplicación Cliente Genérica (ACG) • Protocolos de Comunicación • Metodología de Desarrollo • Patrones de Seguridad, Políticas de Seguridad y Construcción de Modelo Final del Sistema • Herramientas Utilizadas • Demostración de los Productos Finales • Conclusiones del Proyecto Integrador • Preguntas • Agradecimientos CONTENIDOS | INTRODUCCIÓN | KIOSK | DRIVER | EPP | ACG | PROTOCOLO |

  3. Introducción • Descripción de Proyecto • Solución de software para la integración de un teclado encriptado (EPP) a aplicaciones para terminales Kiosk. • Problema presentado por empresa Mediterránea S.A. a Neosur S.A. • Driver Encrypted Pin Pad (EPP) • No disponible en el mercado. • No proporcionado por fabricante. • Requerimientos específicos para prestar servicios a aplicaciones de Terminales Kiosk. • Aplicación Cliente Genérica (ACG) • Aplicación Cliente del Driver EPP. • Validación y testing de todas las funcionalidades que el Driver del dispositivo EPP soporta. CONTENIDOS | INTRODUCCIÓN | KIOSK | DRIVER | EPP | ACG | PROTOCOLO |

  4. Introducción • Motivación • Solución de administración de dispositivos en Kiosco (Kiosk) • No existente en el mercado. • Importancia del Proyecto • Entidades Financieras (Bancos) • Millones de usuarios • Información critica • Alcance del Proyecto • Driver dispositivo EPP (Encrypted Pin Pad) • Aplicación Cliente Genérica (ACG - Testing) CONTENIDOS | INTRODUCCIÓN | KIOSK | DRIVER | EPP | ACG | PROTOCOLO |

  5. Introducción • Objetivos • Principales • Construir Driver para dispositivo EPP • Construir ACG para testing de utilidad para simular diferentes sistemas clientes consumidores del Driver. • Secundarios • Utilizar un método conducido por Modelos • Utilizar patrones de seguridad en etapas tempranas del proceso de diseño. CONTENIDOS | INTRODUCCIÓN | KIOSK | DRIVER | EPP | ACG | PROTOCOLO |

  6. Terminal Kiosk • Dispositivo independiente y de auto-servicio. • Utilizado para proveer un servicio particular a su usuario. • Beneficios: • Comodidad a sus usuarios. • Costos reducidos. CONTENIDOS | INTRODUCCIÓN | KIOSK | DRIVER | EPP | ACG | PROTOCOLO |

  7. Driver o Controlador de Dispositivos • Definición: • Sistema de software que le permite a aplicaciones de alto nivel interactuar con un periférico de entrada y/o salida. • Propósito: • Simplifica su programación. CONTENIDOS | INTRODUCCIÓN | KIOSK| DRIVER | EPP | ACG | PROTOCOLO |

  8. Driver o Controlador de Dispositivos PC Aplicación de Usuario Driver Capa Lógica Supervisor Usuario 0 1 2 3 Dispositivo Electrónico Capa Física Nivel 0 Nivel 1 Nivel 2 Nivel 3 • Diseño Modularizado • Capa Lógica • Capa Física • Modos de Ejecución • Modo Kernel • Modo Usuario CONTENIDOS | INTRODUCCIÓN | KIOSK| DRIVER | EPP | ACG | PROTOCOLO |

  9. Dispositivo Encrypted PinPad - EPP • Dispositivo de encripción multipropósito. • Teclado de alta durabilidad, resistencia a vandalismos. Modelo KY3688/B. • Cumple con los estándares: • “VM PCI certification” • “China Banking system certification” • “CE” • “IP64” CONTENIDOS | INTRODUCCIÓN | KIOSK| DRIVER | EPP | ACG | PROTOCOLO |

  10. Dispositivo Encrypted PinPad - EPP • Funcionalidades: • Administración de Claves • Ingreso de PIN • Ingreso de Dígitos Individuales • Desatendidas: • Generación de Nonce. • Algoritmo MAC. CONTENIDOS | INTRODUCCIÓN | KIOSK| DRIVER | EPP | ACG | PROTOCOLO |

  11. Dispositivo Encrypted PinPad - EPP Claves de Administración Claves de Transmisión Claves Maestras Claves de Autenticación Claves de Trabajo • Administración de Claves: • Clave de Administrador • Clave de Transmisión • Clave de Autenticación • Clave Máster • Clave de Trabajo • 0 a la 3: PIN. • 4 a la 7: MAC. • 8 a la 11: Nonce. • 12 a la 15: Dígitos. CONTENIDOS | INTRODUCCIÓN | KIOSK| DRIVER | EPP | ACG | PROTOCOLO |

  12. Dispositivo Encrypted PinPad - EPP HOST PIN PINBLOCK ‘*’ ‘*’ ‘*’ EPP Ingresa Digito Ingresa Digito Ingresa ENTER Ingresa Digito HOST DIGIT DIGITBLOCK DIGITBLOCK EPP Ingresa ENTER Ingresa Digito Ingresa Digito • Ingreso PIN • Etapas: • Ingreso Dígitos • Etapas: CONTENIDOS | INTRODUCCIÓN | KIOSK| DRIVER | EPP | ACG | PROTOCOLO |

  13. Aplicación Cliente Genérica - ACG Aplicación capaz de consumir todas las funcionalidades que soporta el Driver del EPP. Testing y validación. Pertenece al producto final. Utilizada por el centro de desarrollo del cliente final como guía para la construcción de Aplicaciones de Auto-consulta especificas. CONTENIDOS | INTRODUCCIÓN | KIOSK| DRIVER | EPP | ACG | PROTOCOLO |

  14. Protocolo de Comunicación Length Request 0000 <?xml version="1.0" encoding="UTF-8" ?> <{comando}> <{ parámetro_x }>{value_x}</{ parámetro_x }> <{ parámetro_y }>{value_y}</{ parámetro_y }> </{comando}> • ACG – Driver: • Modelo Cliente- Servidor. • Protocolo TCP (IP:Puerto - LocalBind) [Registro] • Formato de codificación de Request/Response (XML). • Request (3 componentes): • XML Versión • Comando • Parámetros CONTENIDOS | INTRODUCCIÓN | KIOSK| DRIVER | EPP | ACG | PROTOCOLO |

  15. Protocolo de Comunicación <?xml version="1.0" encoding="UTF-8" ?> <{comando}> <result> <code>{errCode}</code> <message>{errMessage}</message> </result> <result_data>{data}</result_data> </{comando}> SOC LEN CMD DATA BCC EOC • Response (4 componentes): • XML Versión • Comando • Result • Result_data • Driver – EPP • Puerto Rs232 (Usb Converter) • SOC (Start of Command): 0x02 • EOC (End of Command): 0x03 • BCC: LEN ^ CMD ^ DATA CONTENIDOS | INTRODUCCIÓN | KIOSK| DRIVER | EPP | ACG | PROTOCOLO |

  16. Protocolo de Comunicación Socket Rs232/Usb Driver EPP Sistema ACG - Driver - EPP CONTENIDOS | INTRODUCCIÓN | KIOSK| DRIVER | EPP | ACG | PROTOCOLO |

  17. Metodología de Desarrollo Patrones de Seguridad Políticas de Seguridad Construcción de Modelos METODOLOGIA | PATRON DE SEGURIDAD | DIAGRAMA| MODELO FINAL | DEMOSTRACION

  18. Metodología de Desarrollo • Patrones de Seguridad • “los patrones de seguridad describen problemas particulares y recurrentes de seguridad que se dan en contextos específicos, y presentan esquemas genéricos bien definidos para su solución” • Presentados en formato de Templates • Campos (Sinopsis, Contexto, Problema, Fuerzas, Solución) • Estructura Estática (Diagrama de Clases) • Estructura Dinámica (Diagrama de Secuencia) METODOLOGIA | PATRON DE SEGURIDAD | DIAGRAMA| MODELO FINAL | DEMOSTRACION

  19. Metodología de Desarrollo • Políticas de Seguridad • Asignación de Roles • Administrador - Usuario • Control de Autorización • Claves • Control de Auditoría • Archivo Log • Autenticación de Usuarios • Administrador • Autenticación de Operaciones • Ingresar Pin • Ingresar Dígitos • Descargar Clave de Trabajo METODOLOGIA | PATRON DE SEGURIDAD | DIAGRAMA| MODELO FINAL | DEMOSTRACION

  20. Metodología de Desarrollo • Autenticación de Operaciones • Autenticación mutua y activación de clave de trabajo METODOLOGIA | PATRON DE SEGURIDAD | DIAGRAMA| MODELO FINAL | DEMOSTRACION

  21. Metodología de Desarrollo HOST EPP 1) <A_Key_No> + <S_Key_No> + <NH> 2) <NH_3des = 3DESH<A_Key_No>(< NH>)> 3) <ACK> 4) <A_Key_No> + <S_Key_No> + <NK > 5) <NK_3des = 3DESK<A_Key_No>(< NK >)> 6) <ACK> • Autenticación mutua y activación de clave de trabajo METODOLOGIA | PATRON DE SEGURIDAD | DIAGRAMA| MODELO FINAL | DEMOSTRACION

  22. Metodología de Desarrollo • Construcción de Modelos • Desarrollo de un modelo contextual del dominio del sistema • LEL (Léxico Extendido del Lenguaje) • Escenarios • Tarjetas CRC (Clase, Responsabilidad y Colaboración) • Gestión de requerimientos • Requerimientos Dinámicos • Trazabilidad METODOLOGIA | PATRON DE SEGURIDAD | DIAGRAMA| MODELO FINAL | DEMOSTRACION

  23. Metodología de Desarrollo • Léxico Extendido del lenguaje (LEL) • Permite capturar el lenguaje de un dominio • Identificación y definición de los símbolos propios de un contexto • Objetivo: • Conocer el vocabulario del problema • Registrar signos (palabras o frases) los cuales son peculiares a un dominio METODOLOGIA | PATRON DE SEGURIDAD | DIAGRAMA| MODELO FINAL | DEMOSTRACION

  24. Metodología de Desarrollo Cambios en el dominio del sistema? • LEL, Escenarios y Tarjetas CRC • LEL y Escenarios se utilizan para capturar y abstraer conocimiento y comportamiento del dominio en el cual se utilizará un sistema de software. • Reglas de Derivación de Tarjetas CRC de Leonardi. • Obtenidas a partir deEntradas LEL y Escenarios • Trazabilidad METODOLOGIA | PATRON DE SEGURIDAD | DIAGRAMA| MODELO FINAL | DEMOSTRACION

  25. Metodología de Desarrollo • Baseline Mentor Workbench (BMW) • Problema:La tarea de determinar los cambios producidos en LEL y Escenarios, seleccionar la regla adecuada y aplicarla, es una tarea ardua, propensa a errores. • Solución:Automatizar el proceso dederivación de Tarjetas CRC. • BMW es una herramienta que administra las entradas de LEL, Escenarios y las tarjetas CRC implementando las reglas de Leonardi. METODOLOGIA | PATRON DE SEGURIDAD | DIAGRAMA| MODELO FINAL | DEMOSTRACION

  26. Detección de Patrón de Seguridad • No existe una técnica especifica. • Tarea no automatizada • Funcionalidad • Encripción / Desencripción • Problema • Confidencialidad • Solución • Arquitectura Criptográfica Orientada a Objetos Genérica (GOOCA) • Arquitectura de software genérica para aplicaciones criptográficas • Desacoplamiento METODOLOGIA | PATRON DE SEGURIDAD | DIAGRAMA| MODELO FINAL | DEMOSTRACION

  27. Detección de Patrón de Seguridad Patrón de diseño criptográfico y sus relaciones Estructura GOOCA METODOLOGIA | PATRON DE SEGURIDAD | DIAGRAMA| MODELO FINAL | DEMOSTRACION

  28. Diagrama de Metodología de Desarrollo • Patrones de Seguridad • Problem • Forces • Solution Análisis de Patrones de Seguridad Análisis Especifico del dominio Modelo de análisis con Patrones de Seguridad embebidos METODOLOGIA | PATRON DE SEGURIDAD | DIAGRAMA| MODELO FINAL | DEMOSTRACION

  29. Modelo Final del Sistema Protocolo de Comunicación d = recieve(x) send(x) m = g(d) m = g(x) m = g(f(m)) x = f(m) Transformación Criptográfica Sistema ACG – Driver – EPP METODOLOGIA | PATRON DE SEGURIDAD | DIAGRAMA| MODELO FINAL | DEMOSTRACION

  30. Demostración Pruebas de Aplicación Cliente Genérica – Driver – EPP METODOLOGIA | PATRON DE SEGURIDAD | DIAGRAMA| MODELO FINAL | DEMOSTRACION

  31. Demostración METODOLOGIA | PATRON DE SEGURIDAD | DIAGRAMA| MODELO FINAL | DEMOSTRACION

  32. Conclusiones • Productos Finales • Driver EPP (único a producción) y ACG • Metodología para el modelado y gestión de requerimientos • LEL, Escenarios y CRC • Relación con el Cliente • BMW • Trazabilidad y cambios de requerimientos • Modelo del sistema • Integración con Patrones de Seguridad • Seguridad en Etapas Tempranas del ciclo de desarrollo • Reducción de Costos • Solución de ingeniería de software • Mejor solución CONCLUSIONES | FUTURO | PREGUNTAS | AGRADECIMIENTOS

  33. Futuro Seguridad no garantizada en implementación del sistema. Gestión de requerimientos por Missuse Cases Construcción de EPP CONCLUSIONES | FUTURO | PREGUNTAS | AGRADECIMIENTOS

  34. Preguntas Consultas o dudas generadas en el transcurso de la presentación. CONCLUSIONES | FUTURO | PREGUNTAS | AGRADECIMIENTOS

  35. Agradecimientos A mi Familia. Neosur S.A. Mediterránea S.A. Director Miguel Solinas y Co-Director Pablo Passera Eduardo Gaite, Gino Turco y Emanuel Villarruel, colaboradores directos del proyecto. Todos mis Compañeros e integrantes de la comunidad de Ingeniería en Computación. CONCLUSIONES | FUTURO | PREGUNTAS | AGRADECIMIENTOS

More Related