370 likes | 515 Views
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.
E N D
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
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
Protocolo de Comunicación Socket Rs232/Usb Driver EPP Sistema ACG - Driver - EPP CONTENIDOS | INTRODUCCIÓN | KIOSK| DRIVER | EPP | ACG | PROTOCOLO |
Metodología de Desarrollo Patrones de Seguridad Políticas de Seguridad Construcción de Modelos METODOLOGIA | PATRON DE SEGURIDAD | DIAGRAMA| MODELO FINAL | DEMOSTRACION
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
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
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
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
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
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
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
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
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
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
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
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
Demostración Pruebas de Aplicación Cliente Genérica – Driver – EPP METODOLOGIA | PATRON DE SEGURIDAD | DIAGRAMA| MODELO FINAL | DEMOSTRACION
Demostración METODOLOGIA | PATRON DE SEGURIDAD | DIAGRAMA| MODELO FINAL | DEMOSTRACION
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
Futuro Seguridad no garantizada en implementación del sistema. Gestión de requerimientos por Missuse Cases Construcción de EPP CONCLUSIONES | FUTURO | PREGUNTAS | AGRADECIMIENTOS
Preguntas Consultas o dudas generadas en el transcurso de la presentación. CONCLUSIONES | FUTURO | PREGUNTAS | AGRADECIMIENTOS
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