数字车钥匙的设计与安全性研究
2019-06-26姚俊
姚 俊
(上汽大众汽车有限公司,上海 201805)
1 绪论
1.1 数字车钥匙国内外研究现状
随着汽车技术的发展,智能化的电子模块和其他复杂功能也在汽车领域得到了广泛的应用。汽车电子技术的发展也带来了汽车钥匙的革新,汽车钥匙经历了机械式钥匙、芯片钥匙、遥控钥匙、智能钥匙等发展阶段,每个发展阶段都是在朝着用户使用便捷与智能方向发展。其中,基于汽车电子的遥控钥匙、智能进入和智能启动系统、数字钥匙APP等使得车辆的使用越来越便捷,越来越智能。
现在已经出现了基于手机和智能穿戴设备的数码APP钥匙,也可以称为“云钥匙”,将信息存储在云端中,可以通过网络获取基本信息,实现物联网以及车联网。手机通过蓝牙技术,数码APP钥匙既可以近距离锁定和解锁汽车、启动车辆的发动机,还可以通过APP将车钥匙共享给其他用户,实现车辆的共享。在2016年西班牙巴塞罗那世界移动通信大会上,沃尔沃展示了首款无钥匙汽车,以手机上的数码钥匙APP取代了实体钥匙,BMW也展示了手机汽车钥匙技术。比亚迪也是很早就开始研发手机APP蓝牙钥匙,通过蓝牙启动车辆,也可以实现异地授权驾驶。由于手机使用的便利性,使得手机APP车钥匙成为未来汽车市场的一个选择。
1.2 数字车钥匙应用场景分析
用户A拥有一款装有数字车钥匙APP的智能手机,同时拥有一台装有移动互联的汽车,该轿车支持手持设备的蓝牙方式打开、移动互联网通信方式打开与传统机械式打开3种方式。
1)应对不同环境的两种汽车开启方式 通过手机APP可以选择唤醒汽车的方式,当移动互联网信号较弱时,通过蓝牙无线载波方式唤醒汽车;当移动互联网信号较强时,直接可通过移动通信方式唤醒轿车。
2)汽车的授权与分享 用户B想借用户A的汽车出去旅游,只需要用户B在手机上同时下载数字车钥匙APP,用户A作为该汽车的第一授权人有权利将汽车的几日使用权交给用户B,这样用户B也可以通过蓝牙或者无线载波的方式唤醒汽车。
3)汽车的远程控制 用户A有快递可是家中没有人,快递员可以直接通过联系用户A,告知他有快递,用户A可直接在其他地方通过数字车钥匙APP将汽车的后备厢打开,方便快递员将快递放置在后备厢中,并且用户A可以在数字车钥匙APP上实时监控汽车。
4)汽车的自我防盗安全性 当汽车与数字车钥匙被不法分子通过网络攻击的方式进行攻击破解时,用户手机端将收到报警并且汽车可以切断所有电源,进入“冻结”模式 (防破解模式),汽车无法通过移动互联或者蓝牙方式启动,只有当用户在手机端确认安全后汽车才能“解冻”。
5)汽车备用启动方式 当手机蓝牙被干扰且周围环境移动通信信号极差时,用户不得已可以选择备用方案,通过传统机械式的方法打开汽车。
2 数字车钥匙系统设计
2.1 数字车钥匙软件系统架构
本文提出的数字车钥匙及其安全防护系统,实现智能车虚拟钥匙系统,该系统包含3个部分,即数字车钥匙云端服务器、汽车端以及数字车钥匙移动终端 (手机或智能手表为主的智能移动设备端)。
数字车钥匙系统整体框架图如图1所示。其中,数字车钥匙云端服务器与移动终端设备通过HTTPS协议实现超文本传输,移动终端设备与汽车端通过蓝牙5.0或者SIM卡移动互联方式 (根据实地情况进行选择通信)实现数据安全的传输。
图1 数字车钥匙系统整体框架图
2.1.1 数字车钥匙汽车端系统架构
1)方案1 汽车端数字车钥匙设备主要由MCU主控芯片模块、SE安全芯片模块以及BLE蓝牙模块组成。其中蓝牙模块自底层向上分别是BLE蓝牙模块控制器、BLE蓝牙模块主机与BLE蓝牙模块应用层。蓝牙模块应用层为数字车钥匙系统车辆端提供诸如车身控制、RSSI通信、OTA固件更新、数据采集、钥匙认证等密钥相关服务。BLE蓝牙模块与SE安全芯片模块通过UART接口传输控制指令与数据,BLE蓝牙模块与MCU车载模块通过SPI总线传输控制指令与数据。数字车钥匙汽车端架构如图2所示。
图2 数字车钥匙汽车端系统架构
2)方案2: 汽车端数字车钥匙设备由方案1的3个模块组成,并且加上了SIM卡移动通信模块。移动通信模块比蓝牙模块拥有更强大的安全性能与可靠性,但是在某些信号偏弱的地方无法正常开启汽车。于是我们做到蓝牙与SIM卡移动通信选择性工作的方式,在信号正常的情况下使用SIM卡移动通信,在信号偏弱的地区使用蓝牙通信开闭汽车。
2.1.2 数字车钥匙云端服务器系统架构
数字车钥匙在云端服务器由TSP系统、数字车钥匙安全管理平台和数字钥匙业务服务平台3块组成,数字钥匙安全管理平台包含了密码机、PKI服务器、TAM管理服务平台、数字车钥匙安全管理服务,数字车钥匙业务服务平台包含了各项业务服务和API安全网关。数字车钥匙云端服务器架构如图3所示。
TSP远程信息处理服务提供系统是与车辆相关的云端基础数据库,由相应汽车厂提供,为本文中的数字车钥匙系统提供相关服务所需的数据。
数字车钥匙安全管理服务器主要提供两方面的功能。其中,作为数字车钥匙系统后台,通过密码机为系统实现车机间相互认证的密钥相关功能 (如密钥生成模块、密钥加密服务、白盒密钥服务等)的模块称为TAM(Trusted App Manager)管理服务平台;通过PKI服务器对数字车钥匙系统管理诸如数字证书、主密钥、虚拟密钥等关键信息的模块是数字车钥匙安全管理服务器。
图3 数字车钥匙云端服务器系统架构
而数字车钥匙业务服务器是云端服务器与智能设备端即用户端的服务接口,其为数字车钥匙系统智能设备端提供用户注册/设备绑定服务、用户登录鉴权服务、车辆绑定服务、钥匙分享服务、钥匙下载服务、钥匙撤销服务、寻车服务、短信服务、图片验证码服务、消息推送服务以及JWT签发/验证服务等。
2.1.3 数字车钥匙移动终端系统架构
移动设备上的APP、手机安全SDK、数字车钥匙安全组件TA,数字车钥匙移动终端架构如图4所示。
图4 数字车钥匙移动终端系统架构
数字车钥匙智能移动设备前端为数字钥匙UI组件模块,是用户与数字车钥匙系统实现诸如用户注册/移动设备绑定、车辆绑定、车控、钥匙查询/下载/撤销以及钥匙在线分享等功能的主要接口。
数字钥匙安全服务平台又分为蓝牙通信组件、移动通信组件与TA安全组件。其中,系统通过蓝牙通信组件或者移动通信组件实现系统中的车控通信、RSSI通信、OTA通信与数据采集通信;TA安全服务组件又由PKI(公钥基础设备)服务器层、GP Internal APIs层以及TEE层组成。
2.2 数字车钥匙硬件系统架构
MCU主控芯片选用Renessa公司生产的RH850/F1L R7F70102X芯片,蓝牙模块采用CC2640R2F芯片通过UART与主芯片相连接,且与SE安全芯片通过SPI总线进行互联,数字密钥、安全签名等关键信息需要存储在安全芯片中。汽车端钥匙设备主蓝牙模块芯片及其外围电路如图5所示。
由于每个蓝牙模块的实际覆盖范围有限,不能涵盖车内整体使用空间与车身附近使用区间,这就要求在汽车端蓝牙模块的实际布置中,增加蓝牙节点,由STM8AF5288芯片作为节点芯片,在UART上连接CC2640R2F蓝牙模块与NFC模块,以此来保障蓝牙信号的可靠性,节点芯片与MCU通过LIN口的ATA6663相连接。蓝牙节点芯片及外围电路如图6所示。
3 数字车钥匙安全性设计
3.1 数字车钥匙攻击方式介绍
3.1.1 密码捕获攻击
当移动终端发送的数据加密比较简单,例如KEELOQ算法和TIDST算法,黑客可通过破解算法的方式将信息破解。这些算法的漏洞一般是密钥太短,加密算法强度不够并且没有公开以接受同行的评审等。
图5 蓝牙模块芯片及其外围电路
3.1.2 干扰上锁指令
干扰攻击是指攻击者使用一些特别的手段来阻止阅读器和标签之间的通信,使得双方不能在一个良好的信道环境完成消息间的交换,从而使得数字车钥匙系统在特定的环境下失去工作能力。当环境因素存在无线电波干扰,导致移动终端发送的信号在传播过程中发生变化,信号减弱或者遭到破坏,导致无法打开车门。
当然,还有针对智能车钥匙系统的一个著名的攻击方式是采用一个简单的无线电干扰机。在驾驶员按遥控器闭锁键时,用433.92 MHz或315 MHz干扰设备进行干扰,使车辆接收不到闭锁指令。
如果这个信号被阻塞了,汽车就不会收到锁门信号,然后就会处于打开状态。如果用户没有注意到车门没锁,盗贼就能进入汽车。当然这种攻击方式只适用于完全手动控制门锁的方案,如果门锁可以自动关闭,阻塞攻击可能就无效了。
3.1.3 克隆攻击
克隆攻击也叫复制攻击,攻击者企图使用电子复制的方法来制造出跟合法的标签一模一样的克隆品,并利用这个复制出来的标签或者数字车钥匙设备获取自己想要的各种利益。这种攻击所需的成本很低而且技术技巧不强,所以常常有这种攻击发生。
3.1.4 中继攻击
中继攻击完全独立于大多数安全加密协议,因此即使智能车钥匙系统使用了完善的加密算法,例如AES算法、RSA算法等,也很容易受到中继攻击。中继攻击经常依赖于一个假的阅读器和一个假的RFID标签,这两者会用来调制和解调无线信号,这种同样的装置也可用于重放攻击和伪造攻击。中继攻击的示意图如图7所示。
图6 蓝牙节点芯片及外围电路
图7 中继攻击示意图
对智能车数字钥匙系统进行中继攻击时,黑客可能通过软硬件工具延长无线信号的通信距离,也可能会对钥匙和汽车间的通信数据进行窃听。在中继攻击中,消息会从一个位置中继到另一个位置,这样就能使得发送消息的实体看起来距离目标更近。中继攻击的实例还有:针对RFID和NFC的攻击,针对无线传感器网络的攻击,针对蓝牙的攻击等。
3.2 数字车钥匙安全性设计
数字钥匙会存在安全性的问题,除了优化加密算法以外,还有就是中继攻击,中继攻击的实现基础是成功地诱导低频信号,并通过延长低频信号的通信距离进而诱导钥匙的高频信号。因此可以通过互联网方式关闭掉本地智能车钥匙子系统的低频发射器和接收编码器的射频通信功能后,即使存在终端遗失后也无法通过触摸传感器触发低频信号进而诱导钥匙的高频解锁信号,这就完全规避了中继攻击对智能车钥匙系统的攻击。
以往终端通过蓝牙的方式将车上锁以及打开,应用互联网复杂算法,关闭在手机与车体上的蓝牙接收与发送装置。由于网络通信比蓝牙载波通信更加安全,所以通过互联网发送数据的形式将极少存在被破坏截断的可能性。
在汽车受到中继攻击时,数字车钥匙与汽车同时关闭蓝牙传输模块,汽车通过互联网运营商所使用的3G、4G网络将数据传送至运营商基站,用户同时也通过手机端从基站读取车辆资料并且通过移动网络打开汽车。避免终端与汽车之间的无线载波交换信息数据,使用高安全强度的移动互联网络来交换传输数据。图8为互联网远程控制车辆示意图。
4 数字车钥匙发展方向
区块链最初作为比特币的底层技术首先应用于金融领域,其本质是一种分布式的数据库,通过分布式的共识算法完成网络和加密算法。在区块链中,节点都是匿名存在的,车联网中,可以将车牌作为全网内唯一的识别方式,同时利用标识密码算法等合适的密码算法,满足车联网系统中的快速认证身份的需求,同时保证车辆之间共享信息的私密性。如图9所示。
图8 互联网远程控制车辆示意图
图9 车辆网-区块链示意图
可将用户终端、车、可信中心 (云服务提供商)、RSU(通信基站)四者构成区块网络,车辆上安装唯一识别编码SIM卡,通过移动互联网的方式接收发送数据。车辆节点不承担数据的计算工作,只进行数据的加密和传输,把数据作为区块链交易向RSU进行传输,RSU对接收到的数据进行验证,通过后将数据传送给可信中心,可信中心再根据共识机制选取其中一个中心进行记账,其余可信中心负责校验账本信息。
这样不仅可以防止各种网络攻击,也可以进一步研究将数字钥匙扩展为车联网,进一步加大智能化。
一种可能的应用场景为:通过Transaction产生对应的行为,为每一个设备 (车辆)分配地址Address,给该地址注入一定的费用,可以执行相关的动作,从而达到车联网的应用。类似于:汽车实时油量、胎压数据获取、摄像头、数据调用等。
未来几年,随着DSRC、LTE、5G等技术的成熟及大范围应用,车-车通信、车-手机通信将得以大幅度的发展和提高。当5G技术应用于数字车钥匙后,将能实现更大量的数据传输,实现数字车钥匙的高速发展。
5 总结
汽车数字钥匙具有很好的应用前景,区块链技术也与车联网中的V2V通信存在许多相同点。所以数字车钥匙可以基于区块链-车联网技术进一步优化与改进,使其更适合于车联网的具体场景。在未来5G技术的支持下,数字车钥匙与车辆可以承载更巨大的数据交换与处理,汽车数字钥匙将会有越来越广泛的应用。