车联网安全之基于 TEE 的 TBOX 安全技术
TBOX 面临的安全威胁
车载终端 TBOX(Telematics BOX),是具备数据输入输出、数据存储、计算处理以及通信等功 能的车联网控制单元。TBOX 汽车安全系统与主机通过 CAN 总线通信,实现对车辆状态信息、控制指令、 远程诊断和按键状态信息等的传递;以数据链路的方式通过后台 TSP 系统与 PC 端网页或移 动端 App 实现双向通信。车机要联网必须有 TBOX 设备才能实现。
TBOX 在车联网的位置:
TBOX 通常采用 MCU 芯片上跑一个 Android 操作系统,搭配通信模块、GPS 天线、4G 天线、 数据接口等外设、以及相关的应用软件。从 TBOX 的构成和作用,我们不难分析出其安全威 胁主要来自于以下几个方面:
∙ 操作系统安全威胁
类似 Android 这类操作系统被称为 REE(富执行环境),由于本身的开放性,不具备 secure
篡改,用户敏感数据被窃取或篡改,操作系统的运行被非授权干扰或中断,各种攻击方式屡 见不鲜。
∙ 软件安全威胁
基于 REE 实现的 App 应用软件,不具有隔离性。应用软件源码或敏感数据极易被非授权访 问,组件因为暴漏在开放环境,很容易被攻击调用。应用软件的启动、升级和退出过程也都 非常容易收到非授权干扰或中断。
∙ 数据安全威胁
开放 OS 中,收集的数据没有基于硬件的防护,极易被拦截或篡改。数据在传输过程中被窃 取或篡改,恶意数据在传输环节中被注入,在数据被用户删除后未彻底清除或未设置防回滚 保护,导致数据被窃取作为攻击样本。
∙ 通信安全威胁 数据通信没有信任链,总线数据和私有协议被非授权的攻击者读取,车载 TBOX 与 TSP 间通 信被嗅探或攻击,使通信数据被窃取或篡改。
TEE 是什么
TEE(Trusted ExecutionEnvironment 可信执行环境)最早出自于 OMTP 规范,ARM 是 TEE 技 术的主导者之一,其 TrustZone 即为是 ARM 公司的 TEE 的实现。TEE 的目的增强移动设备的 安全特性,从而研发的包括软件编程接口、硬件 IP 在内的一整套方案。芯片在软件和硬件 上,有 REE 和 TEE 两个区域,分别对应富执行环境和可信执行环境。其主要思想就是在同一 个 CPU 芯片上,通过硬件配置方式实现不同 IP 组件的访问控制,从而提供一个完全隔离的
运行空间。
ARM 在芯片 IP 设计中已经全面支持了 TEE,包括高通、联发科、三星、海思、NXP 等芯片厂 商都纷纷采用该架构,已经成为基于硬件安全的主流方案。
GlobalPlatform TEE 架构图:
关于 TEE 的安全技术和实现,我们将会在后续有专门的章节说明,此处我们简单介绍一下
TEE 具备的特性。
▪ 受硬件机制保护:TEE 隔离于 REE、只能通过特定的入口与 TEE 通信、并不规定某一 种硬件实现方法,隔离更彻底。
▪ 使用 Trustzone 硬件机制对外设、存储进行安全保护,且该机制仅能受控于 TEE
▪ 高性能:TEE 运行时使用 CPU 的全部性能(独占),算力足(支持国密)。
▪ 快速通信机制:TEE 可以访问 REE 的内存、REE 无法访问受硬件保护的 TEE 内存,
TEE 的 RAM 充足。
▪ TEE 具有更高的特权等级
▪ TEE 作为开放技术,适合标准化。目前已有 GlobalPlatform(GP)标准化,可在多种
平台上移植
▪ TEE 擅长节点逻辑保护、外设保护、存储保护
▪ TEE 中的可执行代码在执行前先要被验证(validate)
▪ 对于密钥使用安全存储机制:认证性、完整性和机密性
基于 TEE 的 TBOX 安全方案
既然芯片上已经有了 Trustzone 安全设计,那么利用 Trustzone 上的 TEE 安全系统来保护 TBOX, 当然就会成为必然。实际上,基于 TEE 的 TBOX 安全方案已经被越来越多的 OEM 采用,一 些 TBOX 相关的安全规范也正在制定中。相信随着车联网信息安全越来越受到关注,基于硬 件隔离的 TEE 安全技术,将成为刚需。
我们以豆荚科技公司基于 TEE 的 TBOX 安全方案为例,分析为什么有了 TEE 的 TBOX 更加安 全。
我们可以看到,在方案中,基于 TEE 的安全操作系统的系统防御形成了一条安全信任链条。 每一步处理都是基于这个信任链进行认证和校验,保证了系统、应用、业务、数据、通信的
安全。
∙ 系统安全启动
TEE 的 secure boot(安全启动)功能旨在保证设备软件(从硬件信任根直到系统分区)的完整 性。在启动过程中,无论是在哪个阶段,都会在进入下一个阶段之前先验证下一个阶段的完 整性和真实性。此过程需要绑定的信任根,也就是 ROOT OF TRUST。确保 BOOT ROM -> Preloader -> LK -> TEE ->BOOT 启动流程安全可靠。只有具备了安全启动,安全的 OTA 才成为 可能。
∙ 应用安全
在 TEE 上运行的应用叫做可信应用 TA(Trusted Application),TA 之间实现完全的隔离,两个 TA 之间无法访问对方资源。而且 TA 的装载和调用都必须通过签名校验的过程,从而达到防 篡改,防钓鱼、防重放攻击的目的。对于不同的应用来说,可以将需要安全处理的部分放在 TA 中执行,以此来保证应用的安全。 实际上在手机上的高安全应用如支付类应用(支付宝、微信)、生物识别应用以及 DRM 应用 都是需要 TEE 的安全保护的,这在手机应用中已经成为标准。同理,在车联网的环境下,随 着生物识别、支付、控车等应用场景的出现,TEE 的保护无疑将成为高安全应用的最佳选择。
∙ 硬件加解密功能 重要数据、敏感数据的保存需要加密,服务器和设备终端的信息传递需
要验签名,安全应用 (TA)镜像需要验证完整性和机密性。TEE 基于芯片硬件的加解密算法,支持各类对称加密、 非对称加密、国密算法、签名认证、HASH 计算、MAC 算法等,可利用芯片内置安全密钥, 对数据做加解密处理。
∙ 安全存储功能
重要数据(包括配置信息)保存需要加密安全存储,对于密钥等小型敏感数据,可通过 TEE 的 安全存储功能保存在 TEE 安全端,确保密钥不出安全模块,REE 侧无法访问,提高系统安全 性。
对于较大的文件按可先经过 TEE 侧加密后,然后通过 REE 侧的文件系统,以文件形式保存, 由于加密的密钥不出 TEE,其安全级别大大提高。
发布评论