Una actualización por aire (o actualización OTA ), también conocida como programación por aire (o programación OTA ), [1] es una actualización de un sistema integrado que se entrega a través de una red inalámbrica , como Wi-Fi o una red celular . [2] [3] [4] Estos sistemas integrados incluyen teléfonos móviles , tabletas , decodificadores , automóviles y equipos de telecomunicaciones . Las actualizaciones OTA para automóviles y dispositivos de Internet de las cosas también se pueden llamar firmware por aire ( FOTA ). [5] [6] Varios componentes pueden actualizarse OTA, incluido el sistema operativo del dispositivo, las aplicaciones, los ajustes de configuración o parámetros como las claves de cifrado .
El término actualización por aire se aplica específicamente a sistemas integrados , [4] en lugar de sistemas no integrados como las computadoras. Antes de las actualizaciones por aire, los dispositivos integrados solo podían actualizarse mediante acceso físico directo (con un JTAG ) o conexiones cableadas (generalmente a través de USB o un puerto serial ).
La entrega por aire puede permitir que las actualizaciones se distribuyan a mayor escala, reducir el costo de entrega de actualizaciones [7] o aumentar la tasa de adopción de estas actualizaciones.
El distribuidor de estas actualizaciones puede decidir si los usuarios pueden rechazarlas y puede optar por desactivar ciertas funciones en los dispositivos de los usuarios finales hasta que se aplique una actualización. Es posible que los usuarios no puedan revertir una actualización después de que se haya instalado.
Las actualizaciones OTA están diseñadas para ser lo más pequeñas posible con el fin de minimizar el consumo de energía, el uso de la red y el espacio de almacenamiento. Esto se logra transfiriendo únicamente las diferencias entre el firmware antiguo y el nuevo, en lugar de transmitir el firmware completo. Se produce un delta del firmware antiguo y el nuevo mediante un proceso llamado diffing ; luego, el archivo delta se distribuye al dispositivo final, que lo utiliza para actualizarse. [8]
En los teléfonos inteligentes , tabletas y otros dispositivos, una actualización inalámbrica es una actualización de firmware o del sistema operativo que el dispositivo descarga a través de Internet . Anteriormente, los usuarios tenían que conectar estos dispositivos a una computadora a través de USB para realizar una actualización. Estas actualizaciones pueden agregar funciones, corregir vulnerabilidades de seguridad o corregir errores de software . Los dos principales sistemas operativos móviles son iOS y Android .
iOS obtuvo soporte para actualizaciones inalámbricas en iOS 5. [ 9] Las actualizaciones de iOS son distribuidas exclusivamente por Apple, lo que resulta en una amplia disponibilidad y tasas de adopción relativamente altas. Las principales versiones de iOS suelen instalarse en el 60%-70% de los iPhones dentro de unos pocos meses desde el lanzamiento de la actualización. [10] [11] [12]
Las actualizaciones OTA de Android no son distribuidas directamente por Google, sino por OEM (como Samsung) y operadores inalámbricos . [13] Esto ha llevado a una disponibilidad inconsistente de actualizaciones y a la fragmentación de Android . [11] [12] En el pasado, la fragmentación aumentó la complejidad del desarrollo de aplicaciones de terceros para Android (debido a la disponibilidad inconsistente de los últimos marcos de software en los teléfonos de los usuarios), [14] y generó problemas de seguridad debido a retrasos en la distribución de actualizaciones de seguridad. [15] Google ha reducido la fragmentación de Android a través del Proyecto Treble de 2017 , que permite a los OEM lanzar actualizaciones del sistema operativo sin necesidad de volver a probar los controladores de hardware para cada versión, [13] [16] y el Proyecto Mainline de 2019, que permite a Google actualizar componentes de Android [16] y entregar parches de seguridad [17] a través de su Play Store , sin requerir una actualización completa del sistema operativo. [16] El Proyecto Mainline reduce significativamente el papel de los intermediarios en la entrega de actualizaciones OTA. [18] [17] Desde Android 8.0 , las actualizaciones OTA de Android siguen un esquema de partición A/B , en el que una actualización se instala en una segunda partición ("B") en segundo plano y el teléfono cambia a esa partición la próxima vez que se reinicia; esto reduce el tiempo necesario para instalar las actualizaciones. [19]
Los automóviles pueden admitir actualizaciones OTA para su sistema de entretenimiento a bordo , mapa de navegación, unidad de control telemático o sus unidades de control electrónico (las computadoras a bordo responsables de la mayor parte del funcionamiento del automóvil). [20] En los automóviles, la unidad de control telemático se encarga de descargar e instalar actualizaciones, [4] y las actualizaciones OTA se descargan a través de redes celulares, como teléfonos inteligentes. Los automóviles no pueden conducirse mientras se instala una actualización OTA. Antes de una actualización, el automóvil verifica que la actualización sea genuina y, una vez que se completa la actualización, verifica la integridad de todos los sistemas afectados. [20]
Las actualizaciones OTA brindan varios beneficios. En el pasado, Volkswagen tuvo que retirar 11 millones de vehículos para solucionar un problema con el software de control de emisiones de sus automóviles, y otros fabricantes han instituido retiros debido a errores de software que afectan los frenos o los airbags, lo que obliga a todos los clientes afectados a viajar al concesionario para recibir actualizaciones. Las actualizaciones OTA habrían eliminado la necesidad de pasar por los concesionarios, lo que se tradujo en menores costos de garantía para los fabricantes y menor tiempo de inactividad para los clientes. Las actualizaciones OTA también permiten a los fabricantes implementar nuevas funciones potenciales y correcciones de errores más rápidamente, lo que hace que sus automóviles sean más competitivos en el mercado y da como resultado un mayor ritmo de mejoras de productos para los consumidores. Por ejemplo, las actualizaciones OTA pueden brindar mejoras a los sistemas de asistencia al conductor de un automóvil y mejorar la seguridad del automóvil. [5] : 138–139 [20]
Sin embargo, las actualizaciones OTA también pueden presentar un nuevo vector de ataque para los piratas informáticos, ya que las vulnerabilidades de seguridad en el proceso de actualización podrían ser utilizadas por los piratas informáticos para tomar el control remoto de los automóviles. Los piratas informáticos han descubierto dichas vulnerabilidades en el pasado, y muchos fabricantes de automóviles han respondido instituyendo programas de divulgación de vulnerabilidades ( también conocidos como programas de recompensas por errores ). [20] [21] Los vectores de ataque específicos de las actualizaciones OTA incluyen " suplantación de identidad , manipulación , repudio [ataques] , fuga de información , denegación de servicio , ataques de repetición y ataques de escalada de privilegios . Los escenarios de ejemplo incluyen un pirata informático que interrumpe con éxito una actualización en curso (considerado un "error de actualización"), lo que puede dañar los sistemas informáticos del automóvil y hacer que el automóvil funcione mal más adelante; otro escenario son los "flasheos arbitrarios", en los que los piratas informáticos engañan al automóvil para que instale una actualización OTA maliciosa. [5] : 141–142
Más recientemente, con los nuevos conceptos de redes de sensores inalámbricos e Internet de las cosas (IoT), donde las redes están formadas por cientos o miles de nodos, la OTA se lleva a una nueva dirección: por primera vez se aplica OTA utilizando bandas de frecuencia sin licencia (868 MHz, 900 MHz, 2400 MHz) y con bajo consumo y baja tasa de transmisión de datos utilizando protocolos como 802.15.4 y Zigbee . [22]
Los nodos de sensores suelen estar ubicados en lugares remotos o de difícil acceso. Por ejemplo, Libelium ha implementado un sistema de programación OTA para dispositivos Zigbee WSN. Este sistema permite actualizaciones de firmware sin necesidad de acceso físico, ahorrando tiempo y dinero si es necesario reprogramar los nodos. [23]
OTA es similar a los métodos de distribución de firmware utilizados por otros productos electrónicos de consumo producidos en masa , como los módems de cable , que utilizan TFTP como una forma de recibir de forma remota nueva programación, reduciendo así la cantidad de tiempo que tanto el propietario como el usuario del dispositivo dedican al mantenimiento.
El aprovisionamiento por aire (OTAP) también está disponible en entornos inalámbricos (aunque está deshabilitado de forma predeterminada por razones de seguridad). Permite que un punto de acceso (AP) descubra la dirección IP de su controlador. Cuando está habilitado, el controlador le indica a los otros AP que incluyan información adicional en los paquetes de administración de recursos de radio (RRM) que ayudarían a un nuevo punto de acceso a aprender sobre el controlador. Sin embargo, se envía en texto sin formato, lo que lo haría vulnerable al rastreo. Es por eso que está deshabilitado de forma predeterminada.
El aprovisionamiento por aire (OTAP) es una forma de actualización OTA mediante la cual los operadores de redes celulares pueden aprovisionar de forma remota un teléfono móvil (denominado cliente o estación móvil en el lenguaje de la industria) y actualizar la configuración de la red celular almacenada en su tarjeta SIM . Esto puede ocurrir en cualquier momento mientras un teléfono está encendido. El término administración de parámetros por aire (OTAPA) es sinónimo. [24] [25] El aprovisionamiento OTA permite que los teléfonos móviles permanezcan configurados correctamente cuando los operadores de redes celulares realizan cambios en sus redes. También configura los teléfonos con las configuraciones necesarias para acceder a ciertas funciones, como WAP (una encarnación temprana de la web móvil ), mensajería MMS y datos celulares (que requieren la configuración de un nombre de punto de acceso ).
El término similar , aprovisionamiento de servicio por aire (OTASP, por sus siglas en inglés), se refiere específicamente al aprovisionamiento inicial inalámbrico ("activación") de un teléfono. Durante la activación, se aprovisiona un teléfono móvil con parámetros como su número de teléfono, número de identificación móvil e ID del sistema , lo que le otorga acceso inicial a la red celular. A veces, OTASP se denomina activación por aire o arranque por aire . La alternativa al arranque OTA es el arranque de SIM, donde el teléfono lee las configuraciones de red almacenadas en una tarjeta SIM . El arranque de SIM tiene limitaciones: las configuraciones almacenadas en una tarjeta SIM pueden quedar obsoletas entre el momento en que se fabrica la SIM y el momento en que se usa; además, algunos teléfonos (y otros equipos de clientes celulares) no usan tarjetas SIM. [25] [26]
Varios organismos de normalización han publicado estándares de aprovisionamiento OTA. En 2001, el Foro WAP publicó el estándar WAP Client Provisioning. Después de que la Open Mobile Alliance absorbiera el Foro WAP, este estándar pasó a conocerse como OMA Client Provisioning (OMA CP). En OMA CP, los teléfonos se aprovisionan mediante mensajes SMS "invisibles" enviados por la red celular, que contienen los ajustes necesarios. A OMA CP le siguió un estándar más nuevo, OMA Device Management (OMA DM), que utiliza una forma diferente de aprovisionamiento basado en SMS (llamado "OMA Push"). Las sesiones OMA DM siempre son iniciadas por el cliente. El SMS "invisible" no contiene ajustes de configuración; en cambio, le dice al teléfono (el "cliente DM") que se conecte a un servidor DM (operado por el proveedor de la red celular); una vez conectado, el servidor DM envía comandos de configuración al cliente. [26]
Existen varios estándares que describen las funciones OTA. Uno de los primeros fue la serie GSM 03.48 . El conjunto de estándares Zigbee incluye el Zigbee Over-the-Air Upgrading Cluster, que forma parte del Zigbee Smart Energy Profile y proporciona una forma interoperable (independiente del proveedor) de actualizar el firmware del dispositivo.