ARMv8-M蓝牙协议安全增强

简介: ARMv8-M蓝牙协议安全增强

前言

蓝牙低能耗(Bluetooth Low Energy,或称Bluetooth LE、BLE,旧商标Bluetooth Smart)也称低功耗蓝牙,是蓝牙技术联盟设计和销售的一种个人局域网技术,旨在用于医疗保健、运动健身、信标、安防、家庭娱乐等领域的新兴应用。相较经典蓝牙,低功耗蓝牙旨在保持同等通信范围的同时显著降低功耗和成本。


蓝牙技术联盟沿用经典蓝牙的规范内容,为蓝牙低功耗定义了一些profile,这些profile定义了一个设备在特定应用情景下如何工作。制造商应通过在实现中遵循特定的profile以确保兼容性。一台设备可以使用多个profile。

当前所有低功耗应用profile都基于通用属性规范(GATT)。GATT定义了属性,作为通用的封装数据的单位,并定义了如何通过蓝牙连接传输属性从而达到传输数据的目的。蓝牙4.0能够提供低功耗的较高比特率传输。

2014年,CSR(现属高通一部分)发布了CSR Mesh协议。CSR Mesh中各设备使用蓝牙低功耗进行通信。各设备能够为其他设备转发消息,从而实现网格效应。举例来说,借助网格的通信能力,使用一台智能手机就可以关掉整栋建筑的灯光。蓝牙技术联盟已经成立了智能网格(Smart Mesh)研究组,研究并定义用例,纳入到标准规范中。 [1]


健康护理规范

BLP(Blood Pressure Profile)— 用于血压测量。

HTP(Health Thermometer Profile)— 用于医疗温度测量设备。

GLP(Glucose Profile)— 用于血糖监测。

CGMP(Continuous Glucose Monitor Profile)


运动和健身规范

BCS(Body Composition Service)

CSCP(Cycling Speed and Cadence Profile)— 用于连接到自行车或健身单车传感器,测量节奏和轮速

CPP(Cycling Power Profile)

HRP(心率规范)

LNP(位置和导航规范)

RSCP(Running Speed and Cadence Profile)

WSP(Weight Scale Profile)


互联网连接

IPSP(互联网协议支持规范)


通用传感器

ESP(环境感应规范)

UDS(用户数据服务)


HID连接

HOGP(HID通过GATT规范)使蓝牙低功耗的无线鼠标、键盘或其他设备可获得持久的电池续航时间。


接近感应

“Electronic leash”非常适合为“始终开启”的设备尽可能延长电池寿命。iBeacon设备的制造商为其设备实现了相应规范,确保与苹果公司设备的接近感应功能兼容。

有关的应用程序规范包括:

FMP — “查找我”规范 — 允许使用另一个设备让一个设备发出提醒。

PXP — 接近度规范 — 允许接近感应器检测接近报告器是否在附近。物理接近度可以使用无线电接收器的RSSI值估算,尽管这不是经过绝对校准的距离。一种典型设计是,设备之间的距离超过设定阈值时发出提醒。


提醒和时间规范

手机提醒状态规范和提醒通知规范允许客户端设备接收通知,例如另一台设备发来的来电通知。

时间规范允许客户端设备设置采用服务器设备的当前时间和时区信息,例如手表与手机之间的网络时间。

电池


电池服务(Battery Service)

报告“电池状态”和设备中单个电池或电池组的电量级别。

一、问题描述


蓝牙广泛应用于智能灯泡、智能门锁中,蓝牙协议本身包含安全协议SMP,但是目前市面上产品仍然存在很多安全隐患,下面是个通过破解技术使用非授权软件控制智能灯泡的案里。

【胖猴小玩闹】智能门锁与 BLE 设备安全 Part 2:对一款 BLE 灯泡的分析
从攻击过程可以看出,智能灯泡和手机app之间并没有利用蓝牙本身的安全机制,导致攻击者非常容易的找到控制指令,进而进行了非法控制。

二、分析

我们看下BLE协议栈

了解BLE的同学应该对此图比较熟悉,而我们本篇文章之关系SMP部分,SMP我们可能不熟悉,但是一定用过蓝牙的配对绑定功能,而配对绑定功能正是通过SMP来保护蓝牙安全的主要功能。

蓝牙的配对绑定过程分为3个阶段,阶段1生成临时密钥TK,TK是配对过程中用户的输入数字(我们一定很了解这个,在被连接设备的屏幕上显示,由用户输入到发起连接欸对设备上,还有其他方式,暂时先不展开);TK用于第二阶段的身份认证以及派生短期密钥STK,STK用来保护第三阶段LTK等密钥分发的的安全,当然是通过STK派生的会话密钥SK保护的;一旦两端拥有了LTK,之后的连接就可以采用LTK保护。


经历了上述过程,破解案里中使用BLE 调试工具向灯泡发送控制信息就会在连接的过程中失败,因为没有ltk密钥。


那么抛开破解案里,我们来分析下蓝牙安全连接的一些薄弱点。


LTK存储泄漏

LTK存储在设备端和手机端、或者设备端和网关端,通常存放在非易失存储区,黑客可以通过一定技术将其dump出来,存在风险


配对绑定过程中密钥泄漏

如果配对绑定过程被监听,并且TK被看到,那么所有密钥都会泄漏,这种对于部署环境复杂的情境中,会存在风险


三、解决方案

对于风险1,可以将LTK放进TEE中存储

对于风险2,可以将TK通过产线放进TEE中保护,并可以采用动态密钥技术进行保护

另外,可以将SMP部分逻辑放进TEE中

四、展望

目前蓝牙基本采用了对称密钥方式来保护网络安全,但是也具备公钥密钥方案,因为性能问题,使用的比较少。所以对于存在在TEE中的密钥方案,仍然需要性能评估。


四、术语

BT

Bluetooth (蓝牙非正式的缩写)


device security level

设备安全级别,根据设定的安全级别,可以拒绝对某设备的访问。有两种级别的设备安全级别:可信任设备和不可信任设备


discoverable device

可发现设备,在规定范围内,可以响应查询信息的蓝牙设备

参考

蓝牙协议规范

相关文章
|
3月前
|
传感器 API Android开发
雷电模拟器防检测工具, 模拟器防检测 伪装手机,安卓模拟器防检测工具
硬件特征检测通过CPUID指令和显卡信息判断虚拟环境110 系统环境检测通过查找模拟器特有文件和进程112
|
2月前
|
存储 持续交付 Docker
Docker:颠覆传统开发的轻量级容器革命
Docker:颠覆传统开发的轻量级容器革命
|
3月前
|
存储 SQL 关系型数据库
MySQL 动态分区管理:自动化与优化实践
本文介绍了如何利用 MySQL 的存储过程与事件调度器实现动态分区管理,自动化应对数据增长,提升查询性能与数据管理效率,并详细解析了分区创建、冲突避免及实际应用中的关键注意事项。
128 0
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
这个模型让AI角色会说话还会演!MoCha:Meta联手滑铁卢大学打造对话角色视频生成黑科技
MoCha是由Meta与滑铁卢大学联合开发的端到端对话角色视频生成模型,通过创新的语音-视频窗口注意力机制实现精准的唇语同步和全身动作生成。
309 12
这个模型让AI角色会说话还会演!MoCha:Meta联手滑铁卢大学打造对话角色视频生成黑科技
|
11月前
|
缓存 网络协议 测试技术
NFS挂载信息如何调整?
NFS挂载信息如何调整?
482 3
|
8月前
|
存储 Kubernetes 测试技术
企业级LLM推理部署新范式:基于ACK的DeepSeek蒸馏模型生产环境落地指南
企业级LLM推理部署新范式:基于ACK的DeepSeek蒸馏模型生产环境落地指南
318 12
|
8月前
|
存储 人工智能 数据中心
Q3财报:阿里云收入增长13%至317.42亿元
Q3财报:阿里云收入增长13%至317.42亿元
337 13
|
8月前
|
存储 人工智能 算法
AAAI 2025| S5VH: 基于选择性状态空间的高效自监督视频哈希
AAAI 2025 论文 S5VH 提出基于选择性状态空间模型的高效自监督视频哈希方法,通过双向 Mamba 层和 Self-Local-Global 学习范式,显著提升视频检索性能与推理效率。
299 16
|
8月前
|
人工智能 测试技术
VARGPT:将视觉理解与生成统一在一个模型中,北大推出支持混合模态输入与输出的多模态统一模型
VARGPT是北京大学推出的多模态大语言模型,专注于视觉理解和生成任务,支持混合模态输入和高质量图像生成。
225 22
|
8月前
|
人工智能 分布式计算 监控
AgentSociety:告别纸上谈兵!AI社会模拟器预判政策漏洞:输入新规秒看30年后社会形态
AgentSociety 是清华大学推出的基于大语言模型的社会模拟器,通过构建类人心智的智能体模拟复杂社会行为,适用于政策沙盒测试、危机预警等场景。
329 6