自动驾驶汽车通过分析消息内容与上下文或历史数据模式的一致性,使用向量相似度来验证 V2X(车辆到一切)消息的真实性。 V2X 消息包含车辆速度、位置和交通状况等信息,这些信息在汽车、基础设施和其他实体之间共享。 虽然数字签名等加密方法是身份验证的主要方法,但向量相似性增加了辅助层以检测异常。 这种方法将消息属性转换为数值向量,并使用余弦相似度或欧几里得距离等指标来测量它们与预期值的“距离”。 如果消息的向量与可信模式显着偏差,则该消息将被标记为可疑,即使它通过了加密检查。
例如,考虑交通信号灯发送 V2X 消息指示其为红色的情况。 自动驾驶汽车将此消息转换为包含其 GPS 坐标、时间戳和信号状态的向量。 然后,车辆将此向量与合法交通信号灯行为的预训练模型进行比较。 如果消息的位置与已知的基础设施位置不符(例如,报告的交通信号灯距离其映射位置 50 米),则向量相似度得分将降至阈值以下,从而提示系统质疑其有效性。 同样,来自另一辆车的消息声称在 30 英里/小时的区域内突然加速到 150 英里/小时,这将生成一个与典型速度曲线相比的异常值向量,从而触发合理性检查。
开发人员首先通过在经过验证的数据集上训练模型来建立正常场景的基线向量集群来实现这一点。 例如,汽车可能会使用历史数据来建模交叉路口附近预期的制动模式。 当新消息到达时,其属性会投影到此向量空间中,并计算与附近集群的相似度得分。 诸如 k 最近邻 (k-NN) 或自动编码器之类的工具可以自动执行异常检测。 这种方法不会取代密码学,而是通过添加基于内容的验证来补充它。 例如,具有有效签名但内容不合理(例如,行人出现在 0.5 秒后的 1 英里外)的伪造消息将无法通过向量相似度检查。 相似度得分的阈值经过校准,以平衡误报和安全性,通常使用真实世界的测试来提高准确性。