车联网之基于 TEE 的 TBOX 安全技术

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

车联网安全之基于TEE 的TBOX 安全技术

TBOX 面临的安全威胁

车载终端TBOX(Telematics BOX),是具备数据输入输出、数据存储、计算处理以及通信等功能的车联网控制单元。TBOX 与主机通过CAN 总线通信,实现对车辆状态信息、控制指令、远程诊断和按键状态信息等的传递;以数据链路的方式通过后台TSP 系统与PC 端网页或移动端App 实现双向通信。车机要联网必须有TBOX 设备才能实现。

TBOX 在车联网的位置:

TBOX 通常采用MCU 芯片上跑一个Android 操作系统,搭配通信模块、GPS 天线、4G 天线、数据接口等外设、以及相关的应用软件。从TBOX 的构成和作用,我们不难分析出其安全威胁主要来自于以下几个方面:

•操作系统安全威胁

类似 Android 这类操作系统被称为 REE(富执行环境),由于本身的开放性,不具备 secure boot 和信任链条,注定其是非安全的操作系统。对于 REE 系统的文件和系统数据被窃取或篡改,用户敏感数据被窃取或篡改,操作系统的运行被非授权干扰或中断,各种攻击方式屡见不鲜。

•软件安全威胁

基于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,其安全级别大大提高。

•双向认证云与端之间信息通信的安全,最重要的是服务器和终端设备之间的双向认

证机制。如果终端密钥管理放在REE 侧,那么是非常容易泄露的,端的安全就是无源之本。

而TEE 的出现,可以将端的唯一标识和相关密钥管理放在TEE 侧作为安全存储,密钥不出TEE,确保整个验证流程安全可靠。

从车载终端设备安全考虑,TEE 很好的解决了安全启动、安全更新、数据保护、密钥存储、身份识别、安全通讯等车载安全的主要问题。当然,汽车正在往电动化、智能化、网联化、共享化的方向快速发展,同时也面临着严峻的信息安全挑战。汽车系统安全问题无法通过单一技术方案解决,必须实施多位一体的安全方案。

相关文档
最新文档