车联网之基于 TEE 的 TBOX 安全技术
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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 很好的解决了安全启动、安全更新、数据保护、密钥存储、身份识别、安全通讯等车载安全的主要问题。当然,汽车正在往电动化、智能化、网联化、共享化的方向快速发展,同时也面临着严峻的信息安全挑战。汽车系统安全问题无法通过单一技术方案解决,必须实施多位一体的安全方案。