Please enable JavaScript.
Coggle requires JavaScript to display documents.
Establece comunicación y gestiona información mediante el uso de…
Establece comunicación y gestiona información mediante el uso de dispositivos móviles
Infraestructura de movilidad
Red de comunicaciones
Modos
Los dispositivos móviles acceden principalmente a la red a través de redes
inalámbricas.
Las redes inalámbricas son aquellas en las que algunos de sus elementos, generalmente los terminales, se conectan sin necesidad de cables, utilizando radiofrecuencia. Existen tres tipos principales de redes inalámbricas:
Modo infraestructura: es una red de tipo centralizado, donde los terminales se conectan mediante un punto de acceso para poder comunicarse entre sí o con otros dispositivos.
Redes WLAN:Cobertura limitada a espacios geográficos relativamente pequeños: domicilio, escuela, edificio, etc.
Redes de telefonía móvil:La red es dividida en celdas. En cada celda la estación base y antenas ofrecen acceso a los
dispositivos inalámbricos que se conectan.
Modo ad-hoc: no requiere de un punto de acceso centralizado. En su lugar, los dispositivos se conectan entre sí.
-Permite la creación de nuevos tipos de red como las Personal Area Networks
-(PAN) en las que interaccionan dispositivos.
En los dispositivos móviles, los modos ad-hoc utilizan principalmente dos interfaces: wifi y Bluetooth.
-Wifi: principalmente a través del estándar Wifi Direct. El establecimiento de la clave de sesión se realiza mediante Wifi Protected Setup
(WPS) y la conexión se cifra mediante WPA.
-Bluetooh: permite conexiones ad-hoc con un bajo consumo de energía
Modo heterogéneo: combinan características de ambos tipos de red.
Una red de comunicaciones es un sistema distribuido para el envío de
información entre localizaciones.
De forma genérica una red de
comunicaciones está compuesta por:
-Terminales (Endpoints): el lugar de la red en el que se inicia o finaliza una transmisión de datos.
-Nodos: puntos de la red por donde viajan los datos, pero que no son ni origen ni destino.
-Canales: elementos que conectan los diferentes nodos y puntos finales de la red.
Arquitecturas de aplicaciones
En general, todas las aplicaciones se estructuran según las siguientes arquitecturas:
Cliente-Servidor: uno de los terminales (servidor) ofrece servicios que son consumidos por diferentes terminales (clientes).
P2P (peer-to-peer): todos los terminales de la aplicación ofrecen y consumen servicios.
Clientes - Hardware
Los clientes consumen los servicios ofrecidos en la red a través de aplicaciones
específicas o el navegador.
Desde el punto de vista del hardware se pueden diferenciar los siguientes clientes:
-Estaciones de trabajo: acceden desde redes cableadas. Equipos completamente funcionales con alta posibilidad de configuración y personalización. Típicamente usados en empresas, negocios y entornos corporativos. En casas cada vez más se ven reemplazados por portátiles.
-Portátiles: igual que la estación de trabajo pero puede conectarse a la aplicación a
través de redes no confiables
-Móviles: similares en capacidades a los portátiles, pero con la posibilidad de personalización y capacidades más limitadas.
-Dispositivos IoT (Internet de las Cosas): capacidades de comunicación muy limitadas. Generalmente acceden a los servicios a través de dispositivos de más capacidad a los que son conectados (teléfono móvil o estación de trabajo).
-Servicio de back-end: aplicación de servidor que necesita consumir datos de vía web
services u otros protocolos.
Clientes - Software
Los clientes móviles consumen los servicios ofrecidos por la red utilizando:
-Navegadores web: se accede a una aplicación web utilizando el protocolo HTTP. La aplicación web se crea con HTML5/JavaScript/CSS.
-Aplicaciones específicas: se desarrolla una aplicación, necesaria una por plataforma, para acceder a la web. La comunicación con el servidor se puede realizar utilizando una API (Application Programming Interface) del tipo:
Servicios en la nube
Los servicios en la nube reducen el coste en infraestructura, hardware y mantenimiento para mediante la utilización de hardware y servicios de terceros.
La utilización de servicios en la nube debe estudiarse con detenimiento, ya que tienen otras implicaciones como la perdida del control de los datos, su almacenamiento en servidores externos o la exposición a riesgos como el cese de actividad de la compañía.
Mobile Back-end as a Service
Un Baas o MbaaS ofrece al desarrollador de aplicaciones un entorno pre-
configurado para poder desplegar una aplicación móvil de forma rápida.
Las tareas de administración se simplifican, por lo que el desarrollador de aplicaciones no necesita conocimientos sobre back-end.
Principales proveedores:
tales como
Mobile Hub (Amazon): integración de varios servicios de Amazon Web Services para el despliegue de aplicaciones móviles.
Parse (Facebook): la mayoría de aplicaciones se realizan desde los clientes a través de las librerías de Parse. En el back-end se definen políticas de seguridad y tareas periódicas que se programan en Javascript.
App Engine (Google): una vez desarrollado el back-end, el framework genera librerías para incorporar a aplicaciones iOS y Android. Back-end en Java, Python, PHP o Go.
Descripción detallada de la arquitectura interna de los sistemas
Android
El sistema operativo se organiza en las siguiente capas:
Aplicaciones: aquellas instaladas por el usuario o pre-instaladas en el sistema.
Application Framework: ofrecen servicios a las aplicaciones. Desarrollados en Java.
Librerías: módulos que ofrecen servicios al application framework. Desarrollados en C y compilados a código nativo en cada plataforma.
Android Runtime: cada aplicación ejecuta su propia instancia de una máquina virtual de Java, específica para Android. Las aplicaciones nativas se ejecutan directamente.
Kernel: ejecuta código dependiente del dispositivo (ARM, x86, MIPS, etc.). Ofrece servicios de seguridad a las capas superiores.
El diagrama indica que la estructura de Android se encuentra construida sobre el Kernel de Linux. Luego hay una capa de Librerías relacionadas con una estructura administradora en Tiempo de ejecución
iOS
El sistema operativo se organiza en las siguientes capas:
Aplicaciones: incluye las aplicaciones de terceros y las pre-instaladas por Apple. Las últimas tienen acceso a un conjunto de APIs adicional.
Cocoa Touch: ofrecen la infraestructura básica a todas las aplicaciones (interfaz,
multi-touch, multitarea, notificaciones, etc.).
Media: contiene las librerías de bajo nivel que se encargan de mostrar gráficos, audio y vídeo.
Core Services: ofrece diferentes servicios del sistema a las aplicaciones (redes, localización, iCloud, etc.).
Core OS: librerías de bajo nivel que son utilizadas por el resto de capas superiores para la ejecución de tareas. Todos los frameworks llaman a estas librerías para interactuar con el núcleo del sistema operativo.
La arquitectura iOS está basada en capas, donde las capas más altas contienen los servicios y tecnologías más importantes para el desarrollo de aplicaciones, y las capas más bajas controlan los servicios básicos. Arquitectura de capas iOS. Cocoa Touch es la capa más importante para el desarrollo de aplicaciones iOS.
Windows y BlackBerry
Windows 10 trata de unificar la arquitectura de todas las plataformas de Microsoft en una sola plataforma integrada con:
Un tipo único de kernel.
Un único sistema de archivos.
Un modelo de aplicación único para todas las plataformas.
Las aplicaciones de Windows se desarrollan en base a:
-Un código común a todas las plataformas que incluye los interfaces de usuario que se van a mostrar. Debido al diseño de los interfaces de Windows, el contenido de los mismos se puede adaptar de forma sencilla a los diferentes dispositivos que ejecutan las aplicaciones.
-Un código específico en forma de extensión por cada plataforma en la que se quiere
ejecutar la aplicación.
La arquitectura de BlackBerry UEM se ha diseñado para ayudarle a administrar los dispositivos móviles de su empresa y proporcionar un enlace seguro para los datos que se desplazan entre los servidores de correo y contenido de su empresa y los dispositivos de sus usuarios.
BlackBerry Infrastructure registra la información del usuario para la activación de dispositivos, valida la información de licencias para BlackBerry UEM y proporciona una ruta de confianza entre la empresa y cada usuario basada en una autenticación mutua, sólida y cifrada.
Análisis de funcionalidades y características de seguridad de los sistemas operativos móviles
Los sistemas operativos móviles han sido desarrollados con la seguridad
como un aspecto transversal a toda su estructura.
Ofrecen una serie de características de seguridad encaminadas a proteger al usuario frente amenazas internas (software malicioso y vulnerabilidades) y externas (pérdida o robo).
Aislamiento de aplicaciones (sandboxing).
Se trata de un entorno de pruebas aislado dentro de un sistema que permite ejecutar ciertas acciones de un programa escudando el hardware para que no pueda ser dañado. En términos generales, por lo tanto, el sandboxing consiste en proteger el sistema operativo frente a código erróneo y malware.
Sistema de permisos
Se utilizan para realizar operaciones peligrosas de mantenimiento o limpieza en las que se retiran las protecciones de las maquinarias, hay un recinto con sustancias tóxicas, inflamables, ..., donde es necesario controlar totalmente la seguridad..
Control de acceso.
Un control de acceso es un sistema automatizado que permite de forma eficaz, aprobar o negar el paso de personas o grupo de personas a zonas restringidas en función de ciertos parámetros de seguridad establecidos por una empresa, comercio, institución o cualquier otro ente.
Aplicaciones firmadas
Cuando firmas tu app, la herramienta de firmas le adjunta el certificado. El certificado asocia el APK o paquete de aplicación contigo y con la clave privada correspondiente. De esta forma, Android puede asegurarse de que las actualizaciones futuras de la app sean auténticas y provengan del autor original.
Arranque seguro.
El Secure Boot o arranque seguro, es un modo para UEFI que trae Windows desde Windows 8, y que impide la ejecución de cualquier software no firmado o certificado en el arranque del sistema
Cifrado de datos en aplicaciones.
El cifrado de datos es una alternativa muy usada para el cumplimiento del requisito de confidencialidad de la información en las bases de datos, sin embargo, cuando se aplica en bases de datos heterogéneas y de gran tamaño, puede llevar a consecuencias no deseadas en su rendimiento.
Kill Switch.
La función Kill Switch es una medida de seguridad avanzada que evita que sus datos se filtren a la web.