特约专栏 | OTA技术初探

发布于 2023-5-16 11:46
浏览
0收藏

特约专栏 | OTA技术初探-汽车开发者社区

特约专栏 | OTA技术初探-汽车开发者社区

原创  OTA技术初探


➡本文主要内容分为 6个部分(约3900字,17分钟阅读)


01

OTA是什么


OTA全称是 Over-the-Air Technology,翻译成中文是空中下载技术。OTA更新是将新软件、固件或其他数据无线传输到移动设备。


无线运营商和设备制造商通常使用无线更新来部署固件和配置手机。例如,新购买的手机的初始化需要无线更新,手机厂商在后期也会持续通过OTA来更新手机的固件或者软件。随着智能手机、平板电脑和物联网 ( IoT ) 设备的兴起,OTA更新已经越来越普遍。大家使用的Anroid或者iOS设备一定经历过大量的OTA更新。

特约专栏 | OTA技术初探-汽车开发者社区

图一:iOS通过OTA升级界面


02

OTA技术的发展


对OTA技术的需求最早出现在2000年的日本。移动用户迅猛增长、对新兴通信技术和手机的要求也越来越高,新推出的手机更加智能化和多媒体化,往往配置了先进的处理器芯片、安装了网络浏览器和媒体播放器等各种应用软件,有的还配备了摄像头等。这样的手机尽管功能更丰富,但比那些仅有通话功能的手机也更容易出现问题。手机也会像PC一样死机或者丢失内部数据,甚至还面临着手机病毒的威胁,按日本相关法规厂商也只能被迫对这些出现了功能故障的手机进行召回,增加了额外的成本。有什么方式能帮助厂商方便地更新手机系统软件而不需要再召回问题手机呢?空中下载技术OTA由于其突破性的理念应运而生,它可以通过移动通信(GSM或CDMA)网络的空中接口对移动数据及应用进行远程管理,而空中接口可以采用WAP、GPRS、CDMA1X以及广为普及的短消息(SMS)技术,这样手机系统更新就可以通过无线下载方式来进行,就像PC通过互联网下载软件更新一样方便。


然而在2000年至2002年间,用OTA方式更新被认为是不可能的。因为,9.6kb/秒的无线网络速度较慢,缺乏SSL支持、数字签名和证书等网络安全保障,此外,由于以前从未使用过,人们对使用差分的固件更新的可行性还存在疑虑。在固件空中传输技术FOTA (Firmware Over-The-Air)出现之前, 使用差分技术的固件更新需要先在有线的环境下进行测试。使用有线数据传输速度更快,可以达到19.6或38.4 kb/秒,在工厂或服务中心进行会使得系统更新更安全。


2003年10月日本最大的运营商之一NTT DoCoMo率先将OTA升级在日本商用。刚开始时就有3家手机厂商,即NEC,Sharp和Mitsubishi参与,很快地在2004年第1季度内已经扩展到所有向NTT DoCoMo提供手机的厂商。


2004年3月初,日本NTT DoCoMo的用户对仅上市一个月的3G FOMA N900i手机提出投诉。3月7日,NTT DoCoMo宣布在该系列手机中存在软件缺陷,并表示已售出的16万部该款手机都存在“重新启动缺陷”。不过就在2天前,NTT DoCoMo已经将软件升级通过OTA技术发送给了16万名用户,可使用户立即安装下载缺陷软件修补程序,不用去商店也不用与客服人员进行沟通升级。


中国联通在2003年启动了其FOTA开发计划,KDDI 于2004年7月成功完成FOTA的测试并将在2005年中完成商用,Orange在2004年的10成功完成FOTA测试,SKT在2005年完成FOTA的商用。FOTA在2005年初,在世界主要地区如日本、美国、欧洲、韩国、中国进行商用,世界范围内,有8到10家运营商在2005年中将FOTA推向商用。


在移动智能手机的发展过程中,随着 iOS 5.0.1 的发布,Apple 为iOS设备引入了 OTA更新。以前手机用户需要使用USB线将设备连接到计算机并通过 iTunes更新iOS操作系统。现在通过OTA更新,Apple可以远程提供更新服务。


物联网的普及促使设备厂商对自动驾驶汽车、智能家居和其他物联网设备使用 OTA更新。厂商一般通过免许可频段(例如 868 MHz)和低数据速率传输协议(例如 802.15.4)更新设备的系统和程序。


03

OTA 更新的方式


厂商可以通过自动和手动两种方式向用户提供OTA更新服务。


自动方式实现OTA,即移动运营商的后端系统可以将固件更新推送到最终用户的设备。服务提供商可以使用自动执行 OTA更新的平台服务来管理OTA更新并将其部署到最终用户的设备。例如位于远端的IoT传感器设备或自动驾驶汽车中的相关设备。


手动 OTA 更新会通知用户有可用的更新,用户可以接受或拒绝在他们的设备上下载更新。移动运营商还可以向拥有特定设备的所有用户发送短信,提示他们拨打一个号码,以便在最方便的时候接收软件更新。例如,早些时候美国运营商Verizon用户可以拨打 *228 来配置 3G 移动设备或更新设备上的首选漫游列表。


IoT设备可以通过多种方式接收OTA更新。


边缘到云的OTA更新:


通过边缘到云端的更新,连接互联网的微控制器从云端接收更新,可以为微控制器的固件或设备软件打补丁。微控制器充当网络边缘的更新调度器和处理器。如下图:

特约专栏 | OTA技术初探-汽车开发者社区

图二:边缘到云的OTA更新架构图


优势:物联网的边缘到云端 OTA 更新架构允许设备根据功能或需要单独接收更新,而其他设备则不受干扰。这可以防止更新问题影响整个设备群。例如,在医疗保健环境中隔离更新将降低生命可能依赖于设备的患者的风险。IT人员可以在设备停机期间安排更新,以最大限度地减少该设备对业务流程的影响。


缺点:不同时更新所有设备可能会带来新的风险。设备可能会错过关键的安全更新,有些漏洞可能会刚长时间的暴露给黑客,或者增加硬件和软件故障的风险,因为它们错过了增量修复和补丁。IT人员还必须清楚地了解每次更新期间将受到影响的设备,而且需要在更新之前通知业务负责人。


网关到云的更新:


IoT的网关到云OTA更新架构有一个连接互联网的网关,该网关管理一组IoT设备并从云端接收更新以修补其软件应用程序、主机环境或网关的固件。如下图:

特约专栏 | OTA技术初探-汽车开发者社区

图三:网关到云的更新架构图


优势:物联网设备不受网关到云更新的影响,并且可以通过始终更新的网关传输数据。网关用于将设备连接到不符合设备不直接适配的系统。一些设备使用低功耗,不支持功耗集型协议,如 Wi-Fi或蓝牙直接连接到云。其他设备没有足够的处理能力来处理更新,或者是一次性使用且不打算处理更新,例如仅收集数据以传输到云中的分析服务的设备。


缺点:仅更新网关会给整个设备群带来单点故障。如果网关更新失败或中断,则其背后连接的设备数据可能会持续丢失,导致后续数据传输变得不统一。如果网关不具备或者从失败更新中自动回滚恢复功能,会导致该网关管理连接的设备全部失效。如果多个网关有相同的问题并且没有及时发现修复,带来影响会更大。所以何时启动OTA更新而且尽量不影响设备的工作和使用尤其重要。


边缘到网关到云更新:


在边缘到网关到云的架构中,IoT网关充当调度程序,用于更新与其相连的IoT设备群。网关下载IoT更新并将它们传输到设备,如下图:

特约专栏 | OTA技术初探-汽车开发者社区

图四:边缘到网关到云更新架构图


优势:该架构始终根据个人需求更新设备,从而降低安全风险并保持每个设备的高性能。在更新失败或中断的情况下,它还降低了整个平台的风险,因为平台的其余部分与其隔离。设备不需要微控制器来处理更新,也不需要连接到互联网。他们仅通过与网关设备的有线或无线连接获得更新。


缺点:如果网关没有正确接收更新,它会造成单点故障。网关将无法将更新传输到各个设备。网关和设备之间的布线中的硬件故障可能会阻止或中断更新。设备可能无法提示更新什么时候失败,从而导致整体更新计划不完全统一。网关可能未更好的识别更新失败的设备或更新后变砖的设备,从而导致更新不匹配。这个可能影响实际业务,故障排除工作也会比较耗时。


总之OTA更新平台网络架构各有优缺点,具体需要依据自己业务场景搭建符合的网络架构。


04

OTA 更新的优点和缺点


OTA更新是设备厂商或者服务提供商修复错误和更新软件的更有效方式,而不是线下手动升级每个独立的设备。OTA 更新可以在设备发布之前发现并且修复问题,并减少软件开发和质量保证 ( QA ) 流程。


OTA更新对最终用户来说也很方便,因为最终用户不必每次去实体店或连接PC电脑来更新响应的设备。相反用户只需按下智能手机上的按钮即可下载软件更新。


同时OTA 更新存在一些安全风险。如果厂商不能有效保护OTA更新程序和过程的安全,可能让黑客更改设备的软件。攻击者可以推送带安全漏洞的非官方更新软件。2016年Adups公司的OTA更新因被黑客攻破安装广告软件和间谍软件并且从设备收集个人信息而损失惨重。


为避免安全漏洞,厂商应加密和验证OTA更新,并通过安全协议将其推送给最终用户。


05

OTA更新可能存在的风险


1  大量设备实时更新的问题


许多厂商使用 IoT 平台来管理成百上千个 IoT 设备的更新。然而在7*24小时的运行环境中,即使是最好的平台也难以更新所有物联网设备。


当物联网设备在一天中的每时每刻都在运行时,更新操作可能在设备使用时发生。这可能会触发设备启动更新流程,并中断整个工作过程。或者设备将优先处理现有工作并忽略更新直到准备就绪,这可能是未来几天、几周甚至更长时间。这可能会导致未来设备工作中断、发生网络安全风险增加或设备可能出现故障。


理想情况下,应在IoT设备没有执行常规任务时将更新推送到设备中,以避免中断设备的工作。管理员还可以安排部分更新,这样可以节省更新的时间。


2  OTA更新失败的回滚处理


OTA 更新是一个零和问题,因为它们要么成功,要么失败。当OTA更新失败时,需要实现设备可以恢复到原来的固件版本,不中断工作流程,并且提醒IT管理人员出现问题的更新具体设备。


3  网络安全风险


出于安全考虑,至少要对物联网设备更新的代码和完整性进行检查。为了降低IoT设备的安全风险,需要在更新代码和设备上设置数字签名。确保只使用经过验证的更新,并且代码在传输过程中没有被篡改。OTA更新必须只在加密的通信通道上执行,包括设备和网络之间的任何连接。


4  能够支持大量设备更新的冗余设计


随着物联网部署的增加和扩展。OTA更新平台必须能够灵活的扩展,否则系统将很快达到连接上限,导致OTA更新服务变慢、甚至平台崩溃。


06

总结


现在OTA主要被广泛应用在个人移动终端设备的软件更新上。移动设备或智能手机无需连接USB, 通过WIFI或移动宽带即可实现软件升级(如Android手机的OTA升级,苹果手机的iOS OTA等)。近几年随着技术的发展汽车电装零部件所占比例的飙升,我们迎来了汽车智能网联时代。OTA技术也开始被广泛应用到整车零部件或者车辆控制器软件的升级上。


同时面对海量设备的接入和升级,OTA升级平台也面临着更多的挑战。由于近几年网路安全事件的频发,OTA升级平台在网络安全方面也要面对越来越多的威胁去防范和处理。


邓彦辉 / 作者

闻继伟 | 校阅


文章转载自公众号:Sasetech



收藏
回复
举报
回复
相关推荐