• No se han encontrado resultados

Modelo y arquitectura de portal de servicios de seguridad sensibles al contexto

N/A
N/A
Protected

Academic year: 2020

Share "Modelo y arquitectura de portal de servicios de seguridad sensibles al contexto"

Copied!
105
0
0

Texto completo

(1)MODELO Y ARQUITECTURA DE PORTAL DE SERVICIOS DE SEGURIDAD SENSIBLES AL CONTEXTO. WILLIAM ANDRÉS CIFUENTES COY. UNIVERSIDAD DE LOS ANDES FACULTAD DE INGENIERÍA DEPARTAMENTO DE SISTEMAS Y COMPUTACIÓN BOGOTÁ D.C. 2008.

(2) MODELO Y ARQUITECTURA DE PORTAL DE SERVICIOS DE SEGURIDAD SENSIBLES AL CONTEXTO. WILLIAM ANDRÉS CIFUENTES COY. Trabajo de Grado presentado como requisito para optar al título de Magíster en Ingeniería de Sistemas y Computación. Director Harold Enrique Castro Barrera, Ph.D. Profesor Asociado. UNIVERSIDAD DE LOS ANDES FACULTAD DE INGENIERÍA DEPARTAMENTO DE SISTEMAS Y COMPUTACIÓN BOGOTÁ D.C. 2008.

(3) NOTA DE ACEPTACIÓN __________________________ __________________________ __________________________. __________________________ Ing. Harold Castro Barrera. __________________________ Ing. María Lucía Ferro. __________________________ Ing. Francisco Rueda Fajardo. BOGOTÁ D.C. 2008.

(4) AGRADECIMIENTOS. Deseo agradecer a: Los ingenieros de la Universidad de Los Andes y de la Empresa de Acueducto de Bogotá EAAB que con su orientación y aportes hicieron posibles la realización de este trabajo. A mis padres y amigos que con su motivación fue posible terminar esta etapa..

(5) Mientras a una persona le importe valdrá la pena hacerlo….

(6) TABLA DE CONTENIDO. 1.. INTRODUCCIÓN........................................................................................................ 7. 2.. MARCO TEÓRICO Y ESTADO DEL ARTE ................................................................ 8 2.1. Captura y Procesamiento del Contexto....................................................... 8. 2.1.1 2.2. 3.. 4.. 5.. Context Tool Kit ................................................................................. 10. Trabajos Relacionados: ............................................................................ 11. 2.2.1. Uso de contexto en seguridad ........................................................... 11. 2.2.2. Implementaciones comerciales.......................................................... 16. JUSTIFICACIÓN Y DESCRIPCIÓN DEL SISTEMA ................................................. 18 3.1. Objetivo General....................................................................................... 18. 3.2. Objetivos Específicos ............................................................................... 18. 3.3. Justificación.............................................................................................. 18. 3.4. Descripción del Sistema ........................................................................... 20. DEFINICIÓN DEL CONTEXTO Y COMPONENTES ................................................ 22 4.1. Definición de contexto .............................................................................. 22. 4.2. Componentes del contexto ....................................................................... 22. 4.2.1. Identidad del Usuario......................................................................... 22. 4.2.2. Información Espacial ......................................................................... 23. 4.2.3. Información Temporal........................................................................ 23. 4.2.4. Disponibilidad de recursos de cómputo. ............................................ 24. 4.2.5. Actividad del usuario ......................................................................... 24. 4.3. Concepto de Espacio Activo (EA) ............................................................. 25. 4.4. Concepto de contexto global y contexto puntual....................................... 25. IMPACTO DEL CONTEXTO EN LOS SERVICIOS DE SEGURIDAD....................... 27 5.1. Autenticación sensible al contexto. ........................................................... 29. 5.2. Control de acceso sensible al contexto..................................................... 30. I.

(7) 6.. 5.3. Confidencialidad sensible al contexto ....................................................... 31. 5.4. Integridad sensible al contexto ................................................................. 32. 5.5. No repudio sensible al contexto................................................................ 32. 5.6. Privacidad sensible al contexto................................................................. 32. 5.7. Escenarios de aplicación. ......................................................................... 33. ARQUITECTURA DEL SISTEMA DE SEGURIDAD SENSIBLE AL CONTEXTO ..... 35 6.1. Características del sistema propuesto ...................................................... 35. 6.2. Unidad de Usuario.................................................................................... 38. 6.2.1. Administrador de comunicación......................................................... 38. 6.2.2. Registry ............................................................................................. 39. 6.3. 6.3.1. Manejador de contexto ...................................................................... 39. 6.3.2. Manejador de seguridad .................................................................... 41. 6.4. Unidad de inteligencia de seguridad ......................................................... 41. 6.4.1. Administrador de contexto ................................................................. 41. 6.4.2. Administración de seguridad.............................................................. 42. 6.5 7.. Unidad de acceso..................................................................................... 39. Comunicación entre unidades del modelo. ............................................... 44. MODELO DE DECISIÓN DE SEGURIDAD .............................................................. 45 7.1. Identificación de Contexto Global y Contexto Puntual en un Espacio Activo 45. 7.2. Identificación de requerimientos de seguridad .......................................... 47. 7.3. Valoración de perfiles base de contexto .................................................. 48. 7.3.1. Identidad del usuario ......................................................................... 49. 7.3.2. Información espacial.......................................................................... 49. 7.3.3. Información temporal......................................................................... 50. 7.3.4. Disponibilidad de recursos de cómputo ............................................. 50. 7.3.5. Actividad del usuario ......................................................................... 51. 7.4. Valoración de mecanismos de seguridad ................................................. 52. 7.5. Algoritmo de decisión ............................................................................... 52. 7.5.1. Obtención de matrices objetivo.......................................................... 53. 7.5.2. Obtención de matrices de opciones................................................... 54. 7.5.3. Obtención del vector de decisión....................................................... 55. II.

(8) 7.6. Caso de Uso – SICUA (Universidad de Los Andes).................................. 55. 7.6.1. Identificación del contexto global y contexto puntual. ........................ 56. 7.6.2. Identificación de requerimientos de seguridad. .................................. 57. 7.6.3. Valoración del impacto del contexto. ................................................. 57. 7.6.4 Selección del mecanismo a implementar para el servicio de autenticación. .................................................................................................. 57 7.6.5 Selección del mecanismo a implementar para el servicio de autenticación. .................................................................................................. 59 8.. CONCLUSIONES ..................................................................................................... 60. 9.. REFERENCIAS ........................................................................................................ 61. 10. ANEXOS .................................................................................................................. 64. III.

(9) LISTA DE FIGURAS. Figura 1 Arquitectura propuesta en The Context ToolKit........................................ 10 Figura 2 Modelo del portal de seguridad sensible al contexto ................................ 21 Figura 3 Contexto global y contexto puntual. ........................................................ 26 Figura 4 Arquitectura general del sistema.............................................................. 36 Figura 5 Modelo del portal de acceso .................................................................... 37 Figura 6 Diagrama de componentes ...................................................................... 38 Figura 7 Capa de seguridad ofrecida por el portal ................................................. 39 Figura 8 Arquitectura propuesta en The Context ToolKit........................................ 40 Figura 9 Fuentes de definición de seguridad ......................................................... 42 Figura 10 Interacción de componentes en el administrador de seguridad.............. 43 Figura 11 Diagrama de actividad para la definición del esquema de seguridad ..... 43 Figura 12 Vector objetivo para el servicio de seguridad de autenticación .............. 53 Figura 13 Matriz objetivo para el servicio de seguridad de autenticación............... 53 Figura 14 Matrices de opciones para el servicio de seguridad de autenticación .... 54 Figura 15 Vectores de opciones para el servicio de seguridad de autenticación.... 55 Figura 16 Matriz de opciones P ............................................................................. 55 Figura 17 Calculo del vector de decisión d............................................................. 55 Figura 18 Contexto global Uniandes ...................................................................... 56 Figura 19 Vector de contexto global Uniandes....................................................... 56 Figura 20 Matriz de contexto puntual para servicios de Uniandes ......................... 56 Figura 21 Vector de contexto puntual para SICUA................................................. 56 Figura 22 Identificación de requerimientos de seguridad para SICUA ................... 57 Figura 23 Valoración del impacto del contexto....................................................... 57 Figura 24 Identificación de vector objetivo para el servicio de autenticación.......... 57 Figura 25 Matriz objetivo para el servicio de autenticación .................................... 58 Figura 26 Normalización de la matriz objetivo........................................................ 58 Figura 27 Vector objetivo normalizado para el servicio de autenticación ............... 58 Figura 28 Matriz de opciones para el servicio de autenticación ............................. 58 Figura 29 Normalización de la matriz de opciones................................................. 58 Figura 30 Matriz de opciones normalizada............................................................. 59 Figura 31 Vector de decisión ................................................................................. 59. IV.

(10) LISTA DE TABLAS. Tabla 1 Impacto de los perfiles de contexto en los servicios de seguridad............. 34 Tabla 2 Definición de contexto global .................................................................... 46 Tabla 3 Definición de contexto puntual .................................................................. 47 Tabla 4 Identificación de requerimientos de seguridad .......................................... 48 Tabla 5 Rangos de variables de identidad del usuario ........................................... 49 Tabla 6 Rangos de variables de información espacial ........................................... 50 Tabla 7 Rangos de variables de información temporal........................................... 50 Tabla 8 Rangos de variables de disponibilidad de recursos de cómputo ............... 51 Tabla 9 Rangos de variables de actividad del usuario ........................................... 51 Tabla 10 Ejemplo de valoración de mecanismos de seguridad.............................. 52. V.

(11) LISTA DE ANEXOS. Anexo 1 Diagrama de secuencia del portal............................................................. 64. VI.

(12) 1. INTRODUCCIÓN. La computación sensible al contexto plantea una nueva forma de interacción aplicación-usuario, donde la aplicación se alimenta de la información que hace partes del entorno de ejecución y que no es usable por la sola interfaz de la aplicación, esta información se captura y procesa de forma transparente para el usuario, y permite la personalización y adaptabilidad de servicios de acuerdo a las variaciones en la información del entorno. Básicamente contexto se llama a cualquier información que se puede capturar del entorno de operación de una aplicación, y que permite crear una imagen y enriquecer la interacción con el usuario, esta información se captura sobre cualquier objeto que resulte relevante en la interacción aplicación-usuario, incluyendo el usuario y la aplicación misma. La integración de esta información con las aplicaciones actuales resulta en un cambio en el modelo de interacción con el usuario, pasando de una interacción plana, donde la información se provee explícitamente (configuración de la aplicación); a una interacción por contexto, donde la aplicación se alimenta de forma transparente de variables del entorno, y se reducen las interacciones de entrada con el usuario. La interacción de la aplicación con el contexto nos da la posibilidad de desarrollar aplicaciones con mayor usabilidad, flexibilidad y adaptabilidad, haciendo uso de información como tiempo y lugar, hasta características de objetos físicos y dispositivos de cómputo. Esta información del entorno que es usada por la aplicación es lo que se denomina el contexto de la aplicación, y determina el nivel de integración de la aplicación con las variables del entorno de ejecución de la misma. Uno de los requerimientos de la aplicación que se pueden adaptar dinámicamente es la seguridad; dependiendo de la información del entorno que se use se pueden ajustar los niveles en los servicios de seguridad, en este trabajo se hace un análisis de algunas propuestas de manejo de seguridad en aplicaciones sensibles al contexto en diferentes escenarios, y se presenta un nuevo modelo y la arquitectura para un portal de servicios de seguridad, que haga uso de un mayor número de variables del entorno, con un nivel mayor de procesamiento, y teniendo en cuenta todos los servicios de seguridad.. 7.

(13) 2. MARCO TEÓRICO Y ESTADO DEL ARTE. La evolución de la computación ubicua y el uso de la información que hace parte del entorno de operación de las aplicaciones, propone un cambio en el paradigma de la comunicación aplicación-usuario, pasando de una interacción plana y de escritorio a una interacción con el mundo real donde actúa el usuario, “un mundo real, complejo y dinámico”1 Este cambio de paradigma en la comunicación ha implicado el desarrollo y uso de nuevos conceptos y tecnologías necesarias para la integración de las aplicaciones con el entorno de operación, obteniendo avances principalmente en la fundamentación de los mecanismos de captura, procesamiento, y almacenamiento de la información del entorno, y en los algoritmos de decisión que operan sobre la información colectada. A continuación se describen los desarrollos y algoritmos usados que representan el marco de referencia de la arquitectura planteada, y los estudios e implementaciones comerciales actuales que se encuentran relacionadas con el objetivo del presente trabajo.. 2.1 Captura y Procesamiento del Contexto. El contexto se define como “cualquier información que puede ser usada para caracterizar la situación de un objeto, siendo un objeto un usuario, lugar o cosa que es relevante a la interacción entre el usuario y la aplicación, incluyendo el usuario y la aplicación misma”2. La aplicación de esta definición de contexto plantea los siguientes retos en el diseño de sistemas que interpreten y se integren con el entorno de operación [20]: •. 1 2. Facilitar el uso de la computación en las diferentes situaciones que se pueden encontrar en el mundo real, teniendo en cuenta el dinamismo y complejidad de estas situaciones.. [20] Bill N. Schilit, Norman Adams, and Roy Want. “Context-Aware Computing Applications” [10] Anind K. Dey and Gregory D. Abowd. “Towards a Better Understanding of Context and Context-Awareness”. 8.

(14) •. Lograr la interacción de la configuración de los sistemas actuales que es de forma explícita, al uso de un contexto que se encuentra implícito.. •. Cambiar el paradigma de comunicación aplicación-usuario, con el fin de interpretar actos explícitos que permitan caracterizar esta comunicación.. Para construir aplicaciones que logren cumplir con los retos mencionados, es necesario que estas adapten su comportamiento a los cambios que se presentan en el entorno de interacción con el usuario, para realizar esta adaptación, la aplicación necesita un modulo que le permita hacer uso de esa información de contexto, este modulo es responsable de colectar, almacenar, manejar y proveer a la aplicación la información relevante que requiere del entorno. El modulo de tratamiento de la información de contexto requiere como mínimo los siguientes componentes [17]: •. Agentes o servicios de monitoreo que permitan la captura de información.. •. Métodos de actualización para mantener una vista correcta de la información del entorno (teniendo en cuenta parámetros como: frecuencia de actualización, relevancia de la información, y uso de cache).. •. Un modelo de datos detallado (con las variables exactas del mundo real que se van a utilizar).. •. Un sistema distribuido para la presentación del modelo de datos a la aplicación.. Actualmente se adelantan diversas investigaciones en sistemas especializados en la captura, procesamiento, y uso de la información del entorno, para su integración con aplicaciones que requieren ser sensibles al contexto. Algunos de estos proyectos son los siguientes [21]: • • • • • • •. Aura (Carnegie Mellon University) [24]. Oxygen (Massachusetts Institute of Technology) [25]. RCSM (Arizona State University) [26]. GAIA (University of Illinois at Urbana-Champaign) [27]. Context Toolkit (Georgia Institute of Technology) [28]. Rapidware (Michigan State University) [29]. One.World (University of Washington) [30].. 9.

(15) Por adaptarse en componentes a los requerimientos mínimos definidos, y ser de amplio reconocimiento en variadas investigaciones, se opta por usar “The Context Toolkit” como plataforma de captura y tratamiento de la información de contexto. 2.1.1 Context Tool Kit Para este trabajo se opto por usar los elementos desarrollados en el marco de la investigación “The Context Toolkit” adelantada por Georgia Tech [10] [22] [23] [28]. “The Context Toolkit” corresponde a una infraestructura de manejo de contexto, que provee una serie de elementos para la abstracción, captura y organización de la información del entorno; esta infraestructura permite la integración del contexto con aplicaciones que requieren de este comportamiento. “The Context Toolkit” fundamenta su arquitectura en cuatro elementos base; Sensores, Widget’s, Interpretes y servidor de información, como se puede ver en la figura:. Figura 1 Arquitectura propuesta en The Context ToolKit. Los widgets hacen la abstracción de la información de contexto que provee la red de sensores, de acuerdo a las necesidades definidas para cubrir las necesidades de la aplicación, cada uno de los widgets se especializa en una variable de contexto, aunque se pueden rehusar para cubrir otras necesidades de censado. Los servidores de información son responsables del almacenamiento de la información colectada, y de la integración de contexto para un objeto en particular, a ellos se afilian todos los widgets necesarios para la caracterización de una situación específica.. 10.

(16) Los intérpretes se encargan de analizar la información colectada y presentarla al sistema de decisión, en una forma que permita que permita ser entendida y usada esta información.. 2.2 Trabajos Relacionados: 2.2.1 Uso de contexto en seguridad El impacto de las variables de entorno en los requerimientos de seguridad, y su aprovechamiento en la construcción de esquemas de seguridad flexibles y adaptables, es objeto de estudio en el marco de investigaciones en aplicaciones sensibles al contexto y computación ubicua. Como referencia para este trabajo, se presentan cuatro investigaciones con diferentes planteamientos en el uso de la información de contexto y la modificación de los servicios de seguridad tradicionales. Los trabajos que se describen a continuación, específicamente tratan el tema de control de acceso y autenticación en diferentes escenarios: integración Web de aplicaciones que manejan información médica, control de acceso en entornos móviles a aplicaciones médicas, control de acceso a comercio electrónico para usuarios móviles, y control de acceso y autenticación en comunicaciones WiFi. 2.2.1.1 Seguridad sensible al contexto usando roles de entorno El trabajo propuesto en [3] presenta el concepto de computación ubicua y la implementación de un framework de control de acceso para aplicaciones sensibles al contexto, basado en una arquitectura de seguridad de políticas que hacen uso de roles para controlar el acceso a la información y los recursos. Se integra el contexto a la teoría de control de acceso por roles, además de plantear el concepto de “environment roles” como una generalización del modelo RBAC (Control de Acceso Basado en Roles), que permite la inclusión de información de contexto que hace referencia a los atributos del entorno en el cual se ejecuta la aplicación sobre la que se ejerce control. Cada contexto es propio de la aplicación y se construye sobre esta. Las decisiones de control de acceso dependen del contexto desde el que se solicita acceso a la información, caracterizando el estado del entorno en el momento de la respuesta, esta asignación de roles cambia de acuerdo a la situación en que se hace la solicitud, y es dependiente del entorno de operación y la finalidad de la aplicación, por ejemplo, aplicaciones de oorganizaciones que restringen el acceso a. 11.

(17) la información las noches y fines de semana, u organizaciones militares que restringen el acceso a la información a equipos ubicados en un área determinada. La caracterización del contexto se hace principalmente a partir de la información de espacio y de tiempo, validando si la consulta es hecha desde una localización determinada en un momento determinado. Los servicios de seguridad deben estar en la capacidad de identificar los estados de las variables de entorno (ejm, fines de semana, hora de almuerzo, noche) que son los que definen las reglas de acceso o de activación de los roles En tiempo de ejecución se definen los roles de entorno y las variables del contexto que se asocian de esta forma, el control de acceso se realiza activando y revocando políticas sobre los roles de sujeto de acuerdo a las variables de entorno. Estas políticas han sido previamente construidas. La definición de los roles de entorno es responsabilidad del administrador del sistema. Por cada rol se define una serie de variables de entorno que son monitoreadas y definen las condiciones de activación 2.2.1.2 Seguridad sensible al contexto en aplicaciones medicas distribuidas En [1] se presenta un escenario de integración de aplicaciones Web que manipulan información médica y para el cual se busca tener niveles de seguridad dinámicos y adaptables. La integración de estas aplicaciones deben cumplir los requerimientos de seguridad de acuerdo al “Health Insurance Portability and Accountability Act”[6] en cuanto autenticación y control de acceso en aplicaciones medicas se refiere. El objetivo del trabajo se centra en el desarrollo de un FrameWork de seguridad conformado por dos módulos: módulo de autenticación con diferentes niveles de confianza y con aplicación de diferentes tecnologías de autenticación fuerte, métodos biométricos (huella, iris, reconocimiento de vos), y técnicas digitales no biométricas como e-tokens, RFID, llaves, etc Y segundo un módulo de control de acceso sensible al contexto, que gestiona los usuarios, roles, objetos y permisos, y controla el acceso a la información teniendo en cuenta variables de contexto como: tiempo, localización, rol de usuario, tipo de acceso, etc. Para proporcionar un modelo de seguridad dinámico se hace uso de reglas de contexto (“Context Constraints”), construidas operando cláusulas de acceso y permisos de operación (“Authorization Policy”), que se aplican al rol del usuario. Una regla que tiene en cuenta información de tiempo, ubicación y nivel de autenticación requerido tendría la siguiente estructura: (“Context Constraint: = (Time >= 08:00 ∩. 12.

(18) Time < 17:00 ∩ Location in hospital ∩ AuthenticationLevel>=T(password) ) U (AuthenticationLevel > T(password)); {READ, APPEND, DELETE, UPDATE} ”) En esta propuesta se toman diferentes niveles de seguridad pero de acuerdo a una estructura de políticas, reglas y roles previamente construida, de esta forma el modelo solo es dinámico dentro de ciertos parámetros de configuración de usuario. En este trabajo se define el tipo de contexto (context type) como una propiedad relacionada a cada participante de una aplicación cuando esta se está ejecutando. Ejm. Tiempo, localización, etc, y de proponen cinco tipos primitivos de contexto de acuerdo al control de acceso que se quiere implementar: • • • • •. Tiempo: cuando se realizo la solicitud de acceso Localización: desde donde se hace la solitud de acceso (identificación por IP, o ubicación de dispositivo móvil) User ID: identificación del usuario que hace la solicitud de acceso Object Type: que tipo de información de esta intentando acceder Object ID: identificación particular del objeto que se están intentando acceder. Cada aplicación tiene su propio conjunto de contexto (context set), que se define como un conjunto de tipos de contexto. Ejm. CS = {CT , CT … CT }. 1. 2. n. Analizando los requerimientos de seguridad de la aplicación, el diseñador determina cuales context type se usaran para especificar el acceso. Ejm. CS = {Time, Location, Authentication Level} Con la definición del context type y context set se crean reglas de control de acceso del siguiente tipo: “Los datos del paciente pueden ser accedidos dentro del hospital entre las 8 am y las 5 pm con un nivel de confianza de password; en casos diferente se requiere implementar un sistema de autenticación mayor” = Context Constraint: = (Time >= 08:00 ∩ Time < 17:00 ∩ Location in hospital ∩ AuthenticationLevel>=T(password) ) ‫( ׫‬AuthenticationLevel > T(password)). El control de acceso es implementado por un motor de de decisión de autorización que se encarga de evaluar la solicitud de acceso de acuerdo a la información de contexto. Cada vez que un usuario intenta acceder a un objeto, el motor de autenticación valida la información de acceso. Este motor de autorización permite a. 13.

(19) los administradores del sistema definir políticas de autorización sensibles al contexto en tiempo de diseño o de ejecución 2.2.1.3 Estrategias de manejo de seguridad como un problema práctico En [4] se plantea una solución de control de acceso en entornos móviles, y se realizan especificaciones sobre un escenario de acceso a información médica. Este trabajo plantea una solución de privacidad y anonimato sensible al contexto para cualquier tipo de usuario, entorno, escenario y servicio. Las necesidades de seguridad varían de acuerdo al contexto, ajustando las políticas de seguridad generales previamente creadas. Aunque los cambios propuestos en las políticas, resultan transparentes al usuario, se delega en este la configuración de los niveles de seguridad del servicio. Las principales características del modelo propuesto son las siguientes: •. Simplicidad, interoperabilidad, confiabilidad, usabilidad, calidad del servicio. •. Anonimato: no se debe poder relacionar ninguna información del usuario con información del contexto.. •. Se solicita la mínima cantidad de información, y se mantienen solo durante la sesión.. •. No se comparte información con otro sistema sin aprobación del usuario.. Con esta propuesta se requiere una gran iteración del usuario en la configuración de los niveles de seguridad, además, se está asumiendo que se cuenta con fuentes de información confiables y seguras. 2.2.1.4 Agente de políticas de seguridad sensibles al contexto para servicios de internet móvil En [2], el escenario de aplicación se enmarca en los servicios de Internet para usuarios móviles (“mi-services”) y los niveles de seguridad que se deben proveer, teniendo en cuenta las condiciones especiales del usuario, como las características de la plataforma móvil usada, y la localización de esta plataforma. A nivel de información del contexto se tienen en cuenta las preferencias del usuario para el uso de los mi-services, la capacidad de cómputo del equipo móvil de usuario, y la localización del equipo móvil. Esta combinación de preferencias de seguridad, características de la plataforma y localización se denomina UPL (“user preferences, power, and location = UPL”). Un agente de políticas de seguridad. 14.

(20) sensibles al contexto notifica al proveedor del servicio los cambios en las variables UPL para cambiar los niveles de seguridad a unos más acordes. Como política de seguridad se define la especificación de las medidas de seguridad que deben ser usadas para proteger al usuario móvil de ataques al servicio en áreas de riesgo. Los mejores niveles de seguridad se plasman en la política de seguridad para el servicio móvil, esta política se negocia entre el usuario del servicio móvil y el proveedor del servicio móvil, y se hace antes de hacer uso del servicio. La negociación de las políticas de seguridad entre el proveedor y el usuario deben cumplir los requerimientos de la norma ISO 7498-2 (“Authentication, Access Control, Data Confidentiality, Data Integrity, Non-Repudiation”) y los requerimientos propuestos de: • •. •. •. Secure Logging: de las transacciones del usuario ante el proveedor Certification: el usuario o el proveedor deben hacer uso de una entidad certificadora que certifique sus credenciales (lo cual es un método de garantizar no repudiación o autenticación) Malware Detection: el usuario o el proveedor deben usar algún tipo de software anti malware para detectar y eliminar el malware de cualquiera de las plataformas de computo que intervienen Application Monitoring: monitoreo en la plataforma móvil del usuario para control de licensamiento, verificación, y ejecución de aplicaciones permitidas (control de piratería). El motor de decisión de segurida de este trabajo se basa en un agente de definición de políticas (context-aware security policy agent CASPA), que es un modulo inteligente que reside en forma de agente en el equipo móvil del usuario y es responsable de seleccionar los servicios y mecanismos de seguridad de la política de seguridad del proveedor para un mi-service en particular de acuerdo a la combinación de los valores UPL CASPA se ejecuta concurrentemente durante el uso del mi-service. Sin embargo el mi-service no se puede usar hasta que CASPA no ha completado la inicialización y definición de los niveles de seguridad. El nivel de seguridad se establece entre el móvil y el proveedor del servicio. Sin intervenir el proveedor de la conexión La aplicación de las políticas de seguridad propuestas se ve restringida por las preferencias del usuario (el usuario promedio no se fija en estas configuraciones, o no resultan de fácil configuración), y por las características computacionales de la plataforma móvil usada (se ofrecen altos niveles de seguridad solo a los equipos. 15.

(21) móviles de alto nivel), además de requerir la negociación de las políticas para cada servicio que se quiera usar, si no se negocia la política no se puede usar el servicio. 2.2.2 Implementaciones comerciales Aunque no se tiene conocimiento de implementaciones comerciales que usen específicamente el concepto de computación sensible al contexto, si se cuenta con herramientas que incluyen en su funcionamiento elementos del contexto que les permite tomar decisiones, o realizar un control que va mas allá de su funcionalidad normal. A continuación se describen dos de estas herramientas en el escenario de uso específico de la Empresa de Acueducto de Bogotá – EAAB SA ESP. 2.2.2.1 Active Directory (AD) – Microsoft [31][32] Active Directory es el sistema de directorio de Microsoft, implementado de acuerdo a los estándares x.5003, y con la funcionalidad necesaria para el control y administración de plataformas basadas en el sistema operativo Windows. A nivel de estructura de seguridad, AD provee un sistema de autenticación centralizado, control de acceso a recursos, asignación de directivas de seguridad y privilegios de usuario por roles, y control de ciframiento en comunicaciones, esta estructura es independiente de la situación del usuario, y no tiene realimentación en línea que permita adaptar su nivel de funcionalidad. Como herramienta de uso del contexto, AD permite fijar configuraciones de acceso a equipos que se adaptan a los cambios de tiempo (se fijan horas en las cuales se permite o no tener acceso a las estaciones de trabajo) 2.2.2.2 Integración del sistema de directorio con el sistema de control de acceso físico para refuerzo de autenticación (Caso Empresa de Acueducto de Bogotá - EAAB) Como se describió en el punto 1.3.3.1, el sistema de de directorio “Active Directory” valida el acceso a las estaciones de trabajo suscritas al dominio, por medio de una combinación usuario\password. Este método de autenticación resulta vulnerable al momento de controlar la suplantación de cuentas o robo de identidad, permitiendo que usuarios no autorizados inicien sesiones de trabajo, o que usuarios autorizados inicien sesiones en múltiples equipos sin importar su distribución geográfica (es posibles iniciar varias sesiones de trabajo con la misma cuenta, en equipos ubicados en puntos diferentes de la ciudad). Para controlar los escenarios de vulnerabilidad descritos anteriormente, se opto por reforzar el control de acceso a estaciones que provee el sistema de Active Directory, integrándolo con el control de acceso que provee el sistema de acceso físico de la EAAB. Con esta integración se esa haciendo uso de la información de ubicación del 3. ITU-T Recommendation “The Directory: Overview of concepts, models and services”. http://www.itu.int/rec/T-RECX.500/e. 16.

(22) usuario (información de contexto), con el fin de mejorar un sistema de control de acceso ya existente. La granularidad del sistema desarrollado permite validar el acceso de un usuario a una estación de trabajo, contra la información de su ubicación en una sede, edificio, y piso especifico dentro de la estructura de la empresa.. 17.

(23) 3. JUSTIFICACIÓN Y DESCRIPCIÓN DEL SISTEMA. 3.1 Objetivo General Definir el modelo y la arquitectura para un portal de integración de servicios de seguridad, que haga uso del concepto de computación sensible al contexto y que extienda esta adaptabilidad al diseño de nuevos desarrollos.. 3.2 Objetivos Específicos •. Definir el modelo de un sistema centralizado de servicios de seguridad que adapte su comportamiento a las condiciones cambiantes del entorno de operación.. •. Proponer un concepto de contexto, y de componentes que son relevantes en el, para el modelo especifico a desarrollar.. •. Proponer la arquitectura para un portal que integre los diferentes servicios y mecanismos de seguridad, y que adapte su funcionalidad de acuerdo a los cambios en las variables de contexto.. •. Definir los requerimientos necesarios para el desarrollo de aplicaciones que hagan uso del portal de seguridad sensible al contexto propuesto.. •. Implementar la arquitectura del portal propuesta, con las restricciones de desarrollo definidas, y que muestre de manera practica la solución planteada.. 3.3 Justificación A lo largo de la documentación revisada en el estado del arte, se ha tratado el concepto de seguridad sensible al contexto como el comportamiento y adaptabilidad de los diferentes servicios de seguridad ante la variación de la información del entorno, el análisis de este nuevo escenario se ha abordado relacionando servicios específicos contra variables de entorno puntuales, por ejemplo, en [3] se. 18.

(24) implementó un framework con el objeto de tener control de acceso adaptable según la variación de tiempo y de localización del usuario. Analizando ese enfoque usado en los diferentes trabajos, se detectan las siguientes falencias en el aprovechamiento del contexto, y que resulta necesario cubrir para construir un esquema de seguridad que sea flexible y se adapte a los diferentes escenarios de operación: •. No existe una definición unificada de contexto, y de las variables de entorno que se pueden aprovechar al momento de tomar una decisión. Dependiendo de los escenarios de operación se han construido definiciones de contexto que incluyen solo las variables que son útiles para ese escenario en particular.. •. Los diferentes trabajos se han centrado en la adaptación de uno o unos pocos de los servicios de seguridad definidos en estándares y normas (como la norma ISO 27001), pero no se trata la problemática de seguridad como el cumplimiento de un conjunto integral de servicios.. •. La adaptación de los mecanismos de seguridad necesarios para proveer los servicios requeridos se ha limitado a unas herramientas especificas, y no se permite el uso y adaptabilidad de todos los mecanismo disponibles para proveer seguridad.. •. La adaptabilidad de los servicios de seguridad se realizar a partir de reglas preconstruidas, lo cual limita el comportamiento del sistema a una configuración estática.. Con el desarrollo de este trabajo se busca presentar un modelo integral de seguridad, que haga uso de la información del contexto y que se adapte a los cambios en el entorno en que se ejecuta la aplicación, con los beneficios de un mayor nivel de usabilidad, mejores niveles de seguridad de acuerdo a las situaciones de ejecución y mayor aprovechamiento de los recursos de ejecución de la aplicación. El trabajo se desarrolla bajo las siguientes premisas: •. Definir un concepto de contexto, con una categorización adecuada de las variables relevantes, y que no este ligada a la implementación de un desarrollo especifico.. •. Proponer una evaluación del nivel de impacto del contexto en los diferentes servicios de seguridad. El estudio del contexto se ha realizado desde la perspectiva de evaluación para la selección de un mecanismo de seguridad a. 19.

(25) implementar, pero no se ha propuesto el impacto que puede tener el contexto sobre estos servicios, y que mejoras se obtienen al realizar esta integración. •. Desarrollar un sistema centralizado que permita tener un control adaptable y en tiempo real de los diferentes servicios de seguridad, y escalable en la integración de mecanismos y herramientas para cumplir con estos servicios.. 3.4 Descripción del Sistema La computación sensible al contexto ofrece una nueva visión en la forma de interacción de los usuarios con las aplicaciones, la cual busca una integración de la relación usuario-aplicación y la información del entorno de ejecución, con el fin de obtener servicios que se adapten a las diferentes situaciones y que puedan ser enriquecidos por la información que no es de acceso directo (configuraciones) pero que caracteriza al usuario. El portal de seguridad sensible al contexto, hace uso de esta información del entorno para caracterizar la comunicación entre el usuario y la aplicación, y seleccionar los mecanismos óptimos a implementar para garantizar los niveles de seguridad esperados. Esta construcción del esquema de seguridad se vuelve personalizada para cada usuario y dinámica de acuerdo a las condiciones del entorno en el momento de ejecución. El portal de seguridad sensible al contexto propuesto, tiene las siguientes características y objetivos: •. Ser punto único de acceso a los servicios que se proveen en un espacio común.. •. Proveer los diferentes servicios de seguridad como una capa de ejecución de la cual puedan hacer uso las aplicaciones, y la que debe ser independiente del lenguaje de programación usado.. •. Proveer los métodos necesarios para incluir nuevas aplicaciones y definir sus necesidades a nivel de seguridad y de información del contexto.. •. Capturar y procesar la información del entorno que sea necearía para caracterizar la comunicación usuario-aplicación.. •. Seleccionar el mecanismo de seguridad óptimo a implementar de acuerdo a la situación de ejecución de la aplicación.. 20.

(26) •. El sistema debe ser escalable para permitir la inclusión de manejo de cualquier información del entorno, aplicaciones integrables con el portal, y la inclusión de mecanismos o algoritmos para cumplimiento de los servicios de seguridad.. Además la implementación del sistema de seguridad sensible al contexto debe garantizar lo siguiente: •. Decidir la información de contexto que es representativa en la construcción del esquema de seguridad.. •. Capturar y almacenar la información del entorno necesaria para caracterización de la situación en que se encuentra el usuario.. •. Garantizar que la captura y procesamiento de la información se hace de forma continúa en el tiempo, para garantizar la dinámica en la construcción del esquema de seguridad.. •. Garantizar la conexión y desconexión de elementos, mecanismos o algoritmos que puedan ser usados para cumplir con los diferentes servicios de seguridad en los niveles esperados.. la. Comunicaciones moviles. Comm. Tower. LAN. Portal de Servicios de Seguridad. Laptop. Internet. Subselect Me. Server. Figura 2 Modelo del portal de seguridad sensible al contexto. En el modelo propuesto las aplicaciones que se integran al portal delegan totalmente la ejecución de los requerimientos de seguridad, de esta forma se debe garantizar a nivel lógico que el portal es el único punto de acceso y que las aplicaciones se encuentran aisladas y protegidas, y se toma al portal como un ente confiable, seguro, y que se puede identificar.. 21.

(27) 4. DEFINICIÓN DEL CONTEXTO Y COMPONENTES. 4.1 Definición de contexto El contexto se define como “cualquier información que puede ser usada para caracterizar la situación de un objeto, siendo un objeto un usuario, lugar o cosa que es relevante a la interacción entre el usuario y la aplicación, incluyendo el usuario y la aplicación misma” [10] Una aplicación es sensible al contexto cuando hace uso de la información alrededor del usuario, con la ayuda de dispositivos embebidos en el entorno que permiten la captura y procesamiento de esta información. Básicamente es útil cualquier variable que se pueda capturar del espacio de operación de la aplicación, y que pueda caracterizar la interacción entre esta y el usuario. La decisión de capturar o no esta información depende del paralelo entre la utilidad y mejora que representa en la interacción usuario-aplicación y el costo de hacer uso de ella (captura, almacenamiento y procesamiento). Al momento de tomar la información del entorno es importante hacer la diferencia entre la información que puede contribuir a mejorar la interacción usuario-aplicación, a la información que requiere la aplicación y que pueda capturar por sí misma para su operación.. 4.2 Componentes del contexto En orden de identificar y construir una definición de contexto que resulte apropiada para los objetivos del portal de seguridad, se clasifico la información del contexto en cinco perfiles base que agrupan las variables que son comunes a una situación física, ambiental o social, y que además tienen características de relevación para la evaluación de seguridad, y de facilidad de captura en el entorno de ejecución. La definición de las variables de cada perfil también depende de la granularidad con que se quiera expresar el contexto. Los perfiles son: 4.2.1 Identidad del Usuario La información de identificación del usuario permite el reconocimiento de este ante un sistema y lo caracteriza en el momento de la interacción. Esta información no. 22.

(28) solo son las variables personales y estáticas como Nombre o Cedula, sino que también se asocia la información que se puede tomar de la fisiología del usuario o la respuesta fisiológica de este en un determinado momento de interacción como huella, temperatura, presión sanguínea, etc y que permiten tener una caracterización del usuario que varía en el tiempo y que hace único al individuo. Se definen las siguientes variables de identidad del usuario: • • •. Nombre. Identificador (cedula, código, serial, NIT). Rol.. Variables fisiológicas: • Huella • Iris • Ritmo cardiaco 4.2.2 Información Espacial Las variables de la información espacial hacen referencia a la localización geográfica relativa, como el país desde el que se realiza el acceso al servicio; o su movilidad frente a un marco de referencia, como la orientación respecto a la fuente del servicio, o la velocidad o aceleración dentro del espacio de cobertura de conexión. Como variables de información espacial se definen las siguientes: • • • •. Ubicación Orientación Velocidad Aceleración. 4.2.3 Información Temporal. La información temporal permite la adaptación de las aplicaciones al marco de referencia tiempo, este comportamiento puede cambiar de acuerdo a la división de espacios temporales que sean representativos para la aplicación o el usuario, y obtener servicios distribuidos por periodos como horas, días o que se adapten de acuerdo a periodos relativos como navidad o vacaciones, todos estos periodos de tiempo se pueden representar como intervalos en función de la hora y fecha absoluta.. 23.

(29) Las variables de información temporal son: • •. Hora Fecha. 4.2.4 Disponibilidad de recursos de cómputo. La información que se obtiene de los recursos de cómputo corresponde a las capacidades del dispositivo desde el cual se realiza la conexión y la disponibilidad cercana de otros recursos como periféricos, puntos de conexión u otros equipos con capacidad de procesamiento. La capacidad de cómputo del equipo de conexión permite diferentes implementaciones o clasificación de la información de acuerdo a características como uso de disco, memoria, o consumo de energía, o de acuerdo a los equipos con los que pueden establecer comunicación e interactuar para mejorar la interacción usuario-aplicación.. Se definen las siguientes variables de disponibilidad de recursos de cómputo: • • •. Nivel de batería Capacidad de procesamiento Capacidad de memoria. Recursos de cómputo cercanos: • •. Servidores Acces point. 4.2.5 Actividad del usuario La información de la actividad del usuario determina la situación social en que se encuentra, y permite la identificación de otros usuarios con los cuales interactuar. Diferentes tipos de actividades o situaciones requieren que la interacción con la aplicación sea diferente ya sea por preferencias del usuario o del servicio. Como información necesaria para la caracterización de la situación social se incluyen las variables ambientales como el nivel de ruido o temperatura, y que permiten identificar y evaluar la actividad o condiciones de la actividad en que se encuentra el usuario. Variables de información de la actividad del usuario: •. Actividad programada 24.

(30) • •. Reunión Clase. Variables del medio ambiente • • •. Temperatura Humedad Nivel de ruido. 4.3 Concepto de Espacio Activo (EA) Como espacios activos se ha definido los espacios geográficos que congregan una serie de servicios ofrecidos por diferentes entidades y en los cuales se da una interacción permanente con el usuario dentro de su área de influencia. Estos espacios físicos pueden ser centros comerciales, parques, universidades, edificios, bibliotecas, etc. El espacio activo tiene como finalidad atender y gestionar las solicitudes de información y requerimientos de acción e información de eventos que provienen o se remiten al usuario. La atención de estos requerimientos se hace de manera reactiva o proactiva de acuerdo al comportamiento necesario para cumplir sus objetivos. Para el desarrollo de este trabajo el espacio activo es el marco de referencia de agrupamiento de servicios, y de definición del contexto.. 4.4 Concepto de contexto global y contexto puntual. Diferentes aplicaciones en un mismo escenario de operación tienen diferentes contextos que dependen de la información que requieren capturar y del uso que se hace de esta para adaptar la interacción o la funcionalidad de los servicios que ofrecen. Esta diferencia de contextos se generaliza en los conceptos de “Contexto Global” y “Contexto Puntual”. El Contexto Global representa el conjunto de perfiles del contexto que son útiles y que se pueden capturar dentro del Espacio Activo. De este Espacio Activo hacen parte una serie de aplicaciones que ofrecen diferentes servicios a un grupo común de usuarios, donde estas aplicaciones tienen requerimientos similares de seguridad lo cual define un esquema de seguridad a nivel macro (esquema de seguridad del Espacio Activo).. 25.

(31) Figura 3 Contexto global y contexto puntual.. A su vez, el Contexto Global se encuentra formado por una serie de “Contextos Puntuales” que son subconjuntos de las variables de entorno del Contexto Global, y se agrupan en relación a un servicio, aplicación, usuario u objeto específico dentro del ámbito del Espacio Activo. El contexto puntual representa la información exacta del entorno que resulta útil para una aplicación, por lo que resulta necesario definirlo por cada una de las aplicaciones que hagan parte del Espacio Activo. Sobre el contexto puntual se evalúa y crea el esquema de seguridad de una aplicación en particular.. 26.

(32) 5. IMPACTO DEL CONTEXTO EN LOS SERVICIOS DE SEGURIDAD. Toda la funcionalidad o requerimientos de una aplicación se pueden modificar en tiempo de ejecución dependiendo de los cambios que se presenten en el entorno de operación, y de cómo se halla definido el impacto de la información de este entorno. Uno de los requerimientos que se puede construir y adaptar a partir de la información del contexto es la seguridad; con esta integración se pretende cumplir los servicios de seguridad teniendo como foco los niveles de exposición al riesgo que se quieren lograr, y que se pueden controlar a partir de la información que se capture. En el marco de la integración de los servicios de seguridad con el contexto, se debe hacer diferencia entre “Seguridad de Contexto” y “Seguridad Sensible al Contexto”. Como Seguridad del Contexto se define la seguridad de la información capturada del entorno, su análisis y presentación. Por ejemplo, los sensores pueden ser alterados introduciendo capturas erróneas al sistema. El concepto de Seguridad Sensible al Contexto plantea el impacto de la información del entorno sobre los diferentes servicios de seguridad, y el aprovechamiento de esta información para construir un esquema de seguridad que sea flexible, y se adapte a las necesidades de la aplicación de acuerdo a los cambios del contexto. En este trabajo se desarrolla el concepto de Seguridad Sensible al Contexto, y se busca construir el marco de referencia para determinar el impacto que puede tener el contexto en la definición actual de los servicios de seguridad, y establecer un mecanismo de decisión que permita la implementación de soluciones de seguridad, que sean adaptables y se construyan a partir de la información capturada del entorno. Para tal, se requiere definir los servicios de seguridad en función de la información del entorno que los puede modificar, y que representa la base al momento de tomar una decisión de cuales resultan ser los mecanismos óptimos a implementar para cumplir con esos servicios. Una arquitectura de seguridad integral debe tener en cuenta los siguientes servicios: •. Autenticación Verificación de la identidad del objeto que intenta acceder a una aplicación, a un servicio, o iniciar una comunicación.. 27.

(33) •. Control de acceso Nivel de permisos de acceso que se le otorga a un objeto debidamente identificado, y que determina el alcance de sus acciones sobre los servicios y la información de un determinado sistema.. •. Confidencialidad Se garantiza que únicamente los objetos debidamente identificados y autorizados pueden acceder a los servicios y la información de un determinado sistema, o pueden entender la información de una comunicación.. •. Integridad Se garantiza que la información almacenada o de una comunicación no ha sido alterada, y que ningún objeto extraño a la aplicación o la comunicación la puede modificar.. •. No repudio Existe constancia de que un objeto participo en la manipulación o comunicación de información, y no hay forma de refutar esta participación.. Adicionalmente, y debido a las interacciones e intercambios de información de caracterización del usuario que puede tener un carácter confidencial, se considera el siguiente servicio: •. Anonimato o Privacidad del usuario La información que se colecta y procesa del usuario es de carácter confidencial y solo puede ser conocida y manipulada por el sistema de inteligencia de seguridad.. Estos servicios de seguridad se pueden adaptar a la información de contexto influyendo en los mecanismos que se implementen para cumplirlos, es decir, se puede tomar esta información para seleccionar un mecanismo apropiado, o alterar los parámetros de configuración de este mecanismo, de forma tal que sea óptimo para una situación de ejecución determinada. Los mecanismos implementados se adaptan a medida que cambia la información del entorno, y la construcción del esquema de seguridad se vuelve dependiente de la definición y de las variables del contexto al momento de realizar la evaluación correspondiente. A continuación se describe el impacto que pueden tener las variables de contexto en el aprovisionamiento de cada uno de los servicios de seguridad citados anteriormente.. 28.

(34) 5.1 Autenticación sensible al contexto.. La verificación de la identidad de los usuarios se puede realizar por diferentes mecanismos, los que pueden ser digitales, físicos, biométricos etc. •. Autenticación como protocolo al iniciar una comunicación (cifrarios de clave pública, certificados, etc.).. •. Autenticación por medios físicos (tarjetas inteligentes, tarjetas de proximidad, llaves de datos, etc.).. •. Sistemas de autenticación biométrica (características físicas de usuario). huella, scan del iris, reconocimiento de voz.. •. Autenticación digital. contraseñas, tokens, RFID.. Adicionalmente, el proceso de autenticación se puede dar por una interacción tipo Push o tipo Pull. La interacción tipo Push se da cuando el usuario intenta ingresar al sistema; en la interacción tipo Pull es el sistema quien solicita la información de autenticación, siendo el proceso transparente para el usuario. Los mecanismos en el proceso de autenticación se pueden seleccionar o modificar a partir de la combinación de la información de contexto de identidad del usuario, información temporal, disponibilidad de recursos de cómputo, y actividad del usuario; con los siguientes criterios: Información de identidad del usuario: Esta información permite la caracterización del usuario, información para autenticación. y es la base de la. Información temporal: Autenticación restringida a periodos de tiempo, más o menos fuerte dependiendo de la hora del día o del periodo del año Disponibilidad de recursos de cómputo: Caracterizándolo como confiable o no confiable de acuerdo al equipo desde el que se realiza la conexión Actividad del usuario: Autenticar al usuario teniendo en cuenta la situación social en que se encuentra, dependiente de que se requiera un mayor refuerzo a la autenticación. 29.

(35) Adicionalmente se pueden presentar los siguientes escenarios en los cuales aplican estas variables: •. Seleccionar el método de autenticación biométrica haciendo uso de las variables del entorno, por ejemplo cambiar de autenticación por reconocimiento de voz a reconocimiento de la geometría de la mano si el nivel de ruido del ambiente es alto, o viceversa si los niveles de temperatura y humedad afectan las características físicas de la mano.. •. En los sistemas de autenticación biométrica, evitar los falsos positivos y negativos apoyándose en las variables del entorno cuando se encuentre en el umbral de decisión.. •. En una interacción tipo Pull, el sistema puede solicitar mayor información para el proceso de autenticación si detecta un cambio anormal en las variables del contexto (como cambio en la información fisiológica, de identidad, espacial o de actividad del usuario).. 5.2 Control de acceso sensible al contexto Variables de identidad del usuario: validar el ingreso del usuario y la información de la que puede hacer uso combinando su información como individuo y como usuario dentro del proceso de manejo de la información. El control de acceso hace uso de un gran número de variables del contexto, la información a utilizar solo depende del nivel de control que se quiera realizar, y del valor agregado que esta represente en la decisión del mecanismo a implementar; principalmente se ve afectado por la información de identidad, información espacial, información temporal, y actividad del usuario. En un sistema clásico, el control de acceso se basa en la aplicación de políticas sobre roles de usuario; en un sistema sensible al contexto, estas políticas se adaptan y se aplican de acuerdo a las variables del entorno, de acuerdo a esto tenemos las siguientes características: •. La aplicación de políticas se realiza de acuerdo a la combinación de las variables de entorno, por ejemplo: Un empleado puede tener acceso a toda la información de su área si es en horas laborales y se encuentra en su lugar de trabajo, tener acceso solo a cierta información si se encuentra en un lugar. 30.

(36) diferente de la empresa, o no tener acceso si se encuentra fuera de esta. En la misma Empresa, un directivo puede tener total acceso a la información a cualquier hora del día y desde cualquier lugar considerado confiable, tener acceso solo a cierta información si está en lugar que de acuerdo a la interacción social es riesgoso, o no tener ningún acceso si se considera que la actividad en que se encuentra no es la indicada para desarrollar su trabajo. •. El sistema se configura una vez y responde bajo cualquier situación. Para tener control de acceso sensible al contexto, no podemos contemplar las infinitas combinaciones de las variables de entrada, el sistema debe adaptarse y responder a las condiciones variantes.. •. Para tener un sistema totalmente dinámico, las políticas se pueden crear a partir del entorno y de la interacción con los usuarios, lo que propone un aprendizaje del sistema que responde a los perfiles de estos. Así podemos tener sistemas tan particulares, como el usuario mismo y el medio en que se desenvuelve.. 5.3 Confidencialidad sensible al contexto Aunque se debe garantizar siempre el máximo nivel de confidencialidad en las comunicaciones seguras, existen diferentes mecanismos de ciframiento que se pueden considerar más o menos vulnerables, esto dependiendo del algoritmo implementado y del tamaño de clave usado. Adicionalmente, La implementación de los diferentes mecanismos de ciframiento tiene diferentes necesidades en capacidad de cómputo, así que no resulta igual una implementación sobre un celular que sobre un computador. Si usamos la información del contexto para decidir el método de ciframiento a implementar, podemos tomar la decisión de acuerdo a las variables de información de identidad, disponibilidad de recursos de cómputo, actividad social en que se encuentra el usuario. Se pueden considerar los siguientes escenarios: •. El sistema debe poder identificar la disponibilidad de recursos de computo del equipo desde el cual se está iniciando la comunicación, para seleccionar el método de ciframiento a usar y que resulte optimo de acuerdo a la capacidad de computo disponible.. 31.

(37) •. De acuerdo a una categorización de la información, esta se puede clasificar en crítica o no crítica, teniendo en cuenta esto se debe garantizar el nivel de confidencialidad.. •. Se debe evaluar la situación social en que se encuentra el usuario. Los niveles de confidencialidad a proveer son diferentes si la comunicación se realiza a través de un hotspot público, o través de una red LAN corporativa, esto se puede asociar con que el usuario se encuentra en un evento abierto o en un evento con usuarios y recursos cercanos que se pueden considerar confiables.. 5.4 Integridad sensible al contexto. La decisión de los mecanismos de integridad a implementar se puede tomar en función de la siguiente información: En un sistema sensible al contexto podemos considerar los siguientes casos: •. Evaluar la situación social en que se encuentra el usuario. En un ambiente con una gran cantidad de agentes externos se considera una mayor probabilidad de atacantes que puedan alterar la información.. •. Se deben considerar la información ambiental si se consideran fallos en la integridad por problemas en el medio de transmisión. En este escenario se puede tener una acción reactiva, seleccionando un nuevo canal de transmisión.. 5.5 No repudio sensible al contexto La auditoria y no repudiación se puede controlar en una aplicación sensible al contexto, teniendo en cuenta la información de identidad, ubicación espacial, temporal y actividad del usuario, desde el momento en que este entra en interacción con el contexto. El impacto de la información de contexto en el control de no repudio depende del registro adicional que se pueda tener para garantizar la identidad de los usuarios que participan en una comunicación, y del registro de las actividades que realicen en la misma.. 5.6 Privacidad sensible al contexto. 32.

(38) La privacidad define el nivel de confidencialidad de la información del usuario en el momento que este interactúa con el entorno. Más que ser un servicio que se vea afectado por las diferentes variables de información, es un servicio que se debe garantizar dentro del marco de aplicaciones sensibles al contexto. Dentro del espacio de acción de la aplicación sensible al contexto, se debe garantizar la privacidad de la identidad, actividad y ubicación espacial del usuario. Solo las entidades autorizadas pueden tener acceso a esta información, y se considera una falta a la privacidad del usuario, la recolección de información de este sin su conocimiento y consentimiento.. 5.7 Escenarios de aplicación. Como ejemplos de aplicación de la información del contexto en los servicios de seguridad, se plantean los siguientes escenarios: •. Un usuario que asiste a un evento deportivo ingresa desde su dispositivo móvil a una aplicación de resultados deportivos, al mismo tiempo accede a una aplicación de apuestas en línea que requiere hacer una transacción bancaria. Las dos aplicaciones deben ajustar sus niveles de seguridad a la situación en la cual se encuentra el usuario. La aplicación de apuestas en línea por manejar información con una mayor criticidad, debe tener en cuenta variables como los recursos de cómputo del dispositivo de conexión, la calidad del canal de comunicación, dispositivos de cómputo cercanos, e identificación del usuario, para ajustar sus niveles de seguridad.. •. En un centro médico, en un mismo piso los funcionarios pueden obtener diferente información del paciente de acuerdo a su rol, el médico obtiene la historia clínica de sus pacientes, y el funcionario administrativo obtiene información de la afiliación del usuario, además, la información a la cual puede acceder el médico se puede restringir con variables como tiempo (está en su horario laboral), especialidad (la información que se entrega depende de su labor), o dispositivo desde el que se conecta (desde un dispositivo móvil o estación fija). Esto requiere una integración de diferentes aplicaciones que actúan sobre la misma fuente de información, pero que deben adaptar sus niveles de seguridad de acuerdo a los roles de los usuarios y los niveles de privacidad de la información entregada.. De acuerdo a la valoración del impacto del contexto en los servicios de seguridad, y de los escenarios de acciones planteados, se puede tener la siguiente participación de la información del entorno en la construcción de ambientes de ejecución seguros:. 33.

(39) Interacción con los recursos de cómputo cercanos: define el nivel de seguridad que se implementa en la comunicación con otros sistemas de cómputo (depende del nivel de seguridad con que se certifique el equipo). Se busca el establecimiento de relaciones de confianza para la interacción con otros sistemas.. •. Disponibilidad de recursos de cómputo: identifica el equipo, la capacidad de cómputo con que cuenta y los niveles de seguridad que puede cumplir. Se puede analizar si es un equipo móvil o fijo, y si es de uso público o privado.. •. Variables de actividad del usuario: identifica la actividad actual del usuario y combina la ubicación con la actividad social que se desarrolla alrededor de la aplicación. Se pueden tener diferentes niveles si se encuentra en un espacio certificado a que si se encuentra en un espacio público.. Autenticación Control de acceso Confidencialidad. x x x. Integridad. Actividad del usuario. •. Disponibilidad recursos computo. Variables temporales: la actividad del usuario y el acceso a la información se restringe de acuerdo al periodo del tiempo en que se pueden hacer uso de los servicios.. Temporales. •. Espaciales. Variables espaciales: ofrecer espacios seguros y con diferentes niveles de confianza, referenciar al usuario en este espacio frente a la fuente de información y frente a otros usuarios.. Identidad. •. x. x. x x. x x x. x x. No repudio. x. Anonimato. x. x x. x. x X. x. Tabla 1 Impacto de los perfiles de contexto en los servicios de seguridad. 34.

(40) 6. ARQUITECTURA DEL SISTEMA DE SEGURIDAD SENSIBLE AL CONTEXTO. A continuación se describe la arquitectura propuesta para el portal de seguridad sensible al contexto.. 6.1 Características del sistema propuesto •. Las aplicaciones que se integren al portal no implementa ningún servicio de seguridad; los requerimientos se direccionan al sistema propuesto, y este, de acuerdo a las necesidades de la aplicación y el uso de la información del contexto, toma la decisión del mecanismo de seguridad a implementar.. •. El sistema propuesto define implementaciones tanto del lado servidor como cliente. En este punto se tienen en cuenta la heterogeneidad de las plataformas tanto en software como hardware.. •. Se sigue un esquema de componentes que permita la escalabilidad del sistema, lo cual debe permitir la integración de nuevos módulos de manejo del contexto, la conexión y desconexión de mecanismos de seguridad, y la adición de nuevas aplicaciones.. •. Debe permitir la definición de la información de contexto relevante para las aplicaciones, la valoración de esta información respecto a la aplicación, y la definición de los requerimientos de seguridad de la aplicación.. •. Los medios y protocolos de comunicación con la aplicación no se ven afectados, así que esta comunicación se puede realizar desde un dispositivo móvil por la red celular o desde un equipo robusto vía Internet, lo que se agrega es seguridad a la comunicación para protección de los datos teniendo en cuenta el entorno en que actúan la aplicación y los usuarios de esta. La implementación de esta funcionalidad sugiere el uso de agentes en los dispositivos de conexión para la comunicación con los módulos de colección de contexto e implementación de seguridad, que permitan establecer y ejecutar los. 35.

(41) mecanismos de seguridad y comunicar de forma segura la información del entorno que se capture en el dispositivo del usuario. La arquitectura general del sistema se expresa en tres unidades que agrupan seis componentes claramente definidos, como se describe a continuación:. Figura 4 Arquitectura general del sistema. •. Unidad de usuario. Representa los componentes de conexión necesarios para establecer una comunicación segura desde un equipo cliente, y proveer a las aplicaciones la capa de seguridad de la cual hacer uso. A nivel de usuario provee la interfaz de ingreso y controla el acceso y las publicaciones en el portal, además de ofrecer persistencias a la información de las sesiones activas. A nivel de aplicación se presenta el componente registry que opera como una capa de ejecución que provee los diferentes servicios de seguridad a las aplicaciones. Este representa el único punto de acceso a las aplicaciones, y se asume que la comunicación portal-aplicación es segura.. •. Unidad de acceso. Reúne los componentes necesarios para realizar la captura de la información de contexto y almacenarla, y para implementar mecanismos necesarios para cumplir con los diferentes servicios de seguridad. El componente de manejo del contexto basa el procesamiento de la información en la implementación del “Context Toolkit”4, aunque la información que se puede procesar depende de los sistemas físicos que permitan la captura y de las necesidades de información de la aplicación.. 4. 36.

Referencias

Documento similar

El tercero tiene notas bajas pero la mayor es estadística, una de las temáticas trabajadas de forma más mecánica, asimismo el último arquetipo muestra que, aun con notas buenas,

En cuarto lugar, se establecen unos medios para la actuación de re- fuerzo de la Cohesión (conducción y coordinación de las políticas eco- nómicas nacionales, políticas y acciones

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de

You may wish to take a note of your Organisation ID, which, in addition to the organisation name, can be used to search for an organisation you will need to affiliate with when you

Where possible, the EU IG and more specifically the data fields and associated business rules present in Chapter 2 –Data elements for the electronic submission of information

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

This section provides guidance with examples on encoding medicinal product packaging information, together with the relationship between Pack Size, Package Item (container)

D) El equipamiento constitucional para la recepción de las Comisiones Reguladoras: a) La estructura de la administración nacional, b) La su- prema autoridad administrativa