查看原文
其他

怎样实现无感控车?带你IIFAA技术探索

柳夫虎(崮城) 阿里开发者 2023-01-31

IIFAA是互联网金融身份认证联盟“Internal Internet Finance Authentication Alliance”的简称,成立于2015年,致力于围绕身份认证及生物识别技术,推出“金融级、全链路、标准化”的行业安全解决方案,现阶段已覆盖设备超过16亿。蚂蚁金服作为IIFAA联盟的主要发起方,除手机终端外,积极探索IoT场景下的认证技术,并在数字车钥匙等场景落地。本文对数字车钥匙领域常见的无感入车技术进行介绍,主要包括行业现状、技术发展方向以及IIFAA团队在探索中遇到的问题和相应的解决思路。

数字车钥匙

汽车钥匙的变迁大约经过了摇摆钥匙(也称工型钥匙)、机械钥匙到芯片钥匙、遥控钥匙几个阶段。钥匙的发展,除了提供给用户更丰富的功能外,还显著提高了钥匙的安全水位。随着移动互联网的发展,以手机为代表的数字车钥匙技术日渐成熟,并有替代实体钥匙的趋势。相较于实体钥匙,数字车钥匙的功能更丰富,比如定位、分享、远程控车等,在使用体验上具有明显的优势。
除了四轮汽车,数字车钥匙也应用到二轮电瓶车领域,小牛、九号、哈罗等厂商把车辆智能化作为产品主打方向。IIFAA团队基于在手机生物认证等安全领域的沉淀,于2020年推出了四轮车数字车钥匙,主要面向四轮车后期改装的场景(简称:后装);在2021年和雅迪合作推出了二轮车的数字钥匙方案,并上线了“雅迪智享”小程序,助力雅迪向智能化迈进;2022年,团队继续深耕数字车钥匙领域,并在设备认证、行业标准化等方向取得了显著成绩。下图左侧是面向四轮车的“数字车钥匙”小程序,适配大部分主流车型;右侧是和雅迪合作开发的“雅迪智享”小程序,已经应用到雅迪的多个车型。

无感入车

中高端的四轮汽车,无感入车几乎已经成为标配功能。用户携带手机或者实体钥匙在车辆周围时,车机端根据近场通信信号,进行用户认证和距离判断,进而自动触发解落锁。
按照发展历史,无感入车依赖的底层技术主要包括射频、蓝牙和UWB三个阶段。现阶段仍在广泛使用的实体钥匙基于射频信号进行信号传输;得益于蓝牙的低功率特性以及手机端的全面覆盖,数字钥匙主要基于蓝牙进行通信;在未来,随着手机终端的支持,UWB会广泛应用到数字钥匙的无感入车领域。

射频无感

四轮车和二轮车的实体钥匙,底层基于 433MHz 或 315MHz 的射频信号进行信号传输,因此也被称为射频钥匙。由于射频模块的功耗相对较高,射频无感车机端的处理模式主要分为以下两种:
1、车辆中的基站单元不停地发送一条编码为125kHz的低频报文以搜寻并唤醒一定范围内的应答器。该信号范围内的所有应答器都能够接收到该报文,对编码的数据字段进行验证。一旦钥匙上的应答器识别成功,它会自动发送一条频率为433.92MHz的射频Keeloq编码报文,车机端的基站单元在收到该报文后对其进行解码,如果识别成功,将控制指令执行机构打开车门。
2、车辆中的基站单元一般处于休眠状态或掉电状态,只有当触发事件发生时才能将其唤醒,该触发事件一般是车门把手上的红外信号或者是由车门把手装置激活的微动开关。车主必须碰一下车门才能触发系统,从而打开车门。
车辆感应区域划分上比较简单,主要分为车门区域、后备箱区域:
实体钥匙的无感,在使用体验上经过了大量用户的验证,但由于使用的加密算法复杂度相对不高,被攻克的概率较大,安全性是一个潜在风险。

蓝牙无感

基于蓝牙的数字钥匙在最近几年得到了快速发展,对标实体钥匙的无感功能,基于蓝牙的无感被广泛的研究和应用。
蓝牙无感的工作原理入下图所示,核心包括两点:1. 基于数字钥匙进行身份认证,2. 基于蓝牙进行测距。
根据车机端蓝牙模块(天线)的数量和蓝牙工作模式的差异,蓝牙无感主要可以有多种组合方式,并有相应的应用场景:
  1. 车机端天线数量

    1. 单天线:定位精度低,空旷情况下可以达到1-2米,适用于二轮车以及后期改装的四轮车(简称:后装)。

    2. 多天线:定位精度高,可以达到0.3米。但由于成本、安装工艺的限制,适用于产线集成无感的四轮车(简称:前装)。

  1. 手机端蓝牙工作模式

    1. 保活:通过手机应用的保活,进行数据传输和蓝牙工作模式的切换。但由于保活难度高而且蓝牙多桩定位需要手机端蓝牙开启从机模式(Slave)进行蓝牙广播,因此主要应用于前装四轮车。

    2. 配对:基于蓝牙的HID协议,实现手机和车机蓝牙的快速连接。配对不需要应用保活,也就无法控制手机侧蓝牙的工作模式,进而无法进行业务数据传输,因此主要适用于车机端单蓝牙场景,通常是二轮车以及后装四轮车。

概括起来,二轮车和四轮车采用的方案主要有以下几种组合方式:
技术
前装四轮车
后装四轮车
二轮车
单天线

多天线


保活


配对

本文后续会针对单天线、多天线、App保活和配对展开介绍。

UWB无感

概念介绍

UWB(Ultra Wideband) 是一种无载波通信技术,利用纳秒至微秒级的非正弦波窄脉冲传输数据,通过在较宽的频谱上传送极低功率的信号,它能够非常准确地测量无线电信号的飞行时间,从而实现厘米精度的距离/位置测量。
和WIFI、蓝牙对比,UWB的在多方面有了显著提升,尤其在定位精度上具有广阔的应用前景:

应用场景

UWB作为一种新型技术,现阶段只有苹果、小米部分手机机型支持。在应用场景上,2021年苹果发布了支持UWB技术的Airtag,同年8月小米随着小米Mix4手机发布了“一指连”功能。头部手机厂商的对UWB技术的探索,带动了更多手机厂商、设备厂商、汽车厂商对UWB技术的研究。
iphone11系列开始搭载了U1芯片,定位AirTag搭载了同块芯片。小米Mix4手机搭载了UWB技术,并且应用到米家IoT场景。
2021年,汽车连接协会CCC(Car Connectivity Consortium)发布了《数字车钥匙3.0版本规范》,把低功耗蓝牙(BLE)和超宽带(UWB)技术作为无感入车的基础技术方案。行业内通用的UWB的布局如下图所示,BLE模块负责和手机端进行通信,并唤醒手机端和车机端的UWB模块进行工作,UWB模块进行高精度定位,并通知车机端进行解落锁操作。

关键技术

前一部分对无感入车的发展历史以及相关技术进行了概括性介绍,这部分主要介绍进行蓝牙无感探索时遇到的一些问题和解决思路。在过去两年的时间里,团队在业务推进中覆盖后装四轮车、前装四轮车、二轮车,也因此对所有无感相关的关键技术进行了比较深入的研究,主要包括单蓝牙测距、多蓝牙(UWB)测距、手机App保活和蓝牙配对。

单蓝牙测距

蓝牙信号处于2.4G共用频段,干扰比较多,而且12CM的波长容易被阻挡,因此通过蓝牙信号进行测距精度误差比较大。实测下来,在空旷场所,单蓝牙测距精度能做到1-2米。我们在基于单蓝牙实现无感入车时,主要创新有两点:基于信号强度RSSI进行模糊化测距和更快捷的设置交互。

测距算法

蓝牙信号强度RSSI和物理距离的转换,有一个经验公式:
计算公式:
d = 10^((abs(RSSI) - A) / (10 * n))
其中:
d - 计算所得距离
RSSI - 接收信号强度(负值)
A - 发射端和接收端相隔1米时的信号强度
n - 环境衰减因子
从参数可知,这种测距的误差会比较大,而且蓝牙信号的RSSI值一直处于跳变状态。为此在工程上,只对RSSI信号进行处理,把处理后的RSSI值作为距离的表征值。通过多次优化,我们找到了一个效果比较好的平滑算法,可以“削峰抑谷”,较好地反应信号强度的变化趋势。
下图蓝色是实际蓝牙信号强度,橙色是平滑后的信号强度:
RSSI的平滑处理算法,概括起来包括分为以下几类:
  1. 限幅。通过限定信号的变化幅度,降低信号突变的影响

  2. 中位值。排序取中间值。

  3. 算术平均。通过一定量的信号强度进行平均,作为实际值

  4. 中位值平均。采一组队列去掉最大值和最小值,然后取均值。

根据蓝牙协议,1秒钟能采集到20-50个信号强度,采样频率足够高。综合上述几种算法的特点,加上蓝牙高频率采样值,我们在工程上综合多种多种算法,实测下来平滑效果满足期望。

交互优化

依据RSSI设置开落锁的距离,在交互上对用户有较大的困扰。用户并不知道“-80”或者“80”的数值代表什么,为此我们在交互上进行优化。一方面通过引导用户在一个期望位置进行信号强度采集,完成开落锁位置的设定;另一方面提供“远中近”的经验设定,满足用户不同体验的需要:
 

发展方向

为了提高蓝牙的测距精度,蓝牙V5.1引入了AoA和AoD高精度定位法。AoA定位是基于到达角度进行定位,AoD是基于出发角度进行定位。由于蓝牙模块成本和工艺的上升,以及手机端蓝牙模块的覆盖度还不够高,这两种方法现阶段还处于实验室阶段。随着更多设备的支持,在不远的将来单蓝牙模块测距精度会提升到10cm的量级。
 

多蓝牙测距

产线集成数字钥匙的四轮车采用多天线模块进行定位,现阶段主要是蓝牙模块,随着UWB技术的普及,其会取代蓝牙被更广泛地应用。
以理想One为例,车机端蓝牙模块的经典分布如下图所示,这就是所谓的1+5模式。1个蓝牙天线工作在从机模式,持续进行蓝牙广播,负责和手机端的数据交互。A柱、B柱以及后备箱共装有5个蓝牙天线,工作在主机模式,负责监听手机侧的蓝牙广播。车机端根据5个蓝牙广播模块采集到的信号进行定位。
在我们项目推进过程中,对UWB的多桩定位技术进行研究。实测下来,精度可以在10-20CM,并在多次展会上进行演示。由于多桩定位更多是算法层面的研究,这部分就不再展开。

应用保活

背景

在介绍保活之前,先介绍下为什么在蓝牙无感需要应用保活。
四轮车的无感入车,为了实现多蓝牙定位,需要手机蓝牙模式打开从模式进行广播。由于手机平台、车钥匙安全性的限制,手机蓝牙从模式不可能一直打开,需要特定时机进行唤起,此时应用保活就是一个前提基础条件:

行业现状

应用保活是指在用户退出应用,或者系统基于当前内存不足状态而触发清理进程后,该进程设法让自己免于被杀或者被杀后能自动拉起的手段。由于系统对运行内存和能耗的控制,iPhone和安卓对应用保活的限制主要有以下几点:
  1. iPhone主要是对内存使用的限制,在运行一些高内存应用时(比如抖音),杀死后台应用。

  2. 安卓的问题比较复杂,除了内存限制外,还有耗电优化策略。相较于原生的安卓系统,国内厂商华米OV引入了省电模式,而且会默认开启。实测下来,大部分情况下,应用处于后台10分钟左右就会被杀死。

鉴于应用高概率被系统杀死的现状,业内对应用保活进行了多种尝试。苹果系统相对封闭,黑科技比较少,安卓经历了多种方式的变迁,比如进程拉活、创建子进程、白名单等,但现阶段大部分都不适用。
如下是一些保活的hack方法以及现状:
以微信、支付宝为代表的一些大型App,由于和国内安卓厂商的合作更加密切,会有一些独特的通道实现应用的拉活。
支付宝内的一些业务场景,比如语音播报和运动也有保活的诉求,比较可行的保活方式主要包括以下几类:
  1. 蓝牙类:通过蓝牙的近场能力,进行拉活,这个在安卓和IOS上表现都比较稳定,但是有局限性。

  2. 系统设置类:引导用户关闭省电模式、开启应用自动权限以及开启前台服务等。

  3. 推送类:通过厂商提供的通道,通过push通道下发拉活应用。

探索

基于行业沉淀的经验以及车钥匙团队在此方面的探索,现阶段比较通用的保活方案是蓝牙拉活。以支付宝App为例,概括起来有以下几点:
  1. IOS:基于蓝牙拉活,可以满足大部分场景。

  2. 安卓:a. 基于蓝牙进行拉活,成功率比较高,b. 引导用户去设置能耗策略、开启通过前台服务,实现更好的保活效果。

单纯从手机App出发进行保活有较大的局限性,这也促使车企和手机厂商合作(宝马和苹果、理想和荣耀等):

蓝牙配对

介绍

The Human Interface Device (HID)定义了蓝牙在人机接口设备中的协议、特征和使用规程。典型的应用包括蓝牙鼠标、蓝牙键盘、蓝牙游戏手柄等。设备配对的过程,主要是基于HID协议和SMP(Security Manager Protocol)进行密钥的交换,最终建立一个可自动回连的安全链路。

配对的优点

在车机端搭载单蓝牙的二轮车或者后装四轮车领域,配对是一个常见的方案。基于蓝牙的HID协议,可以实现蓝牙的自动连接,摆脱了对应用保活的限制。

进行配对

安卓系统提供了开放的配对Api,可以在应用内快速进行配对。IOS系统没有提供配对Api,需要手机和蓝牙模块进行配合,现行比较成熟的配对方式有两个:从机发起和改变服务安全等级。
从机发起是指,蓝牙设备主动发起配对请求,手机端响应从机请求实现配对。改变服务端安全等级是指,通过改变蓝牙模块基础服务D_I_S(device information service)的安全等级,触发手机端进入配对流程。两种方式在手机应用侧交互形式一致,唯一的差别的是前者可以做到不需要蓝牙断连,而后者需要进行一次蓝牙断连。

配对回连

虽然配对基于蓝牙的HID协议,而且不同手机都默认支持,但是实测下来,回连的稳定性并没有预期的那么高。也就是配对后,手机和蓝牙模块靠近时,并不能保证100%建立连接。华为和苹果手机出现回连失败的概率比较高,他们自家生产的蓝牙耳机也有类似问题。
在数字车钥匙这个场景,如果配对不回连,无感功能就无法正常运行,给用户带来比较大的体验问题。通过抓包分析,回连失败的原因是手机侧没有发起主动连接,而核心原因推测是由于蓝牙频繁断连触发了手机侧的安全和能耗策略。为此我们在蓝牙协议上进行优化,同时针对不同机型,在开通无感时对回连策略进行动态化配置,经过实测,华为、iphone等手机上,回连稳定性有了明显的提升。

总结

文章介绍了蚂蚁金服IIFAA团队在数字车钥匙无感入车领域一些经验和探索,欢迎大家交流。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存