请选择 进入手机版 | 继续访问电脑版

『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 335|回复: 22

[安防监控] 探索:直接从空中收取米家蓝牙门锁发出的消息,可行,难

[复制链接]

38

主题

757

帖子

3359

积分

超级版主

Rank: 8Rank: 8

积分
3359
金钱
2552
HASS币
290

教程狂人突出贡献

发表于 5 天前 | 显示全部楼层 |阅读模式
0. 背景

之前一直采用签名贴所述的方法,通过蓝牙网关的TTL接口将米家蓝牙智能门锁接入HA。
这个方法有一个致命的缺陷:蓝牙网关只有在完成与服务器的通讯后才会从TTL接口输出事件消息,这样一来时延就会很大,并且在外网不通时无法使用。


那么,能否在空中监听门锁发给蓝牙网关的消息、避免延迟和对外网的依赖呢?

显然,理论上上是可行的,难度也是可以想象的——加密。

1. 实践

用ESP32,刷入ESPHome,启用ble_tracker和on_ble_advertise、on_ble_manufacturer_data_advertise、on_ble_service_data_advertise自动化,利用门锁的蓝牙MAC地址过滤。

收获还是有一些的。

2. 收获&发现
- 如果用手机蓝牙解锁,门锁是不会广播消息的,虽然蓝牙网关的TTL有事件输出
- 门锁会不断地广播自己的MAC地址
- 门锁确实在不断地发送两种广播报文:
a:“Service Data”(0x16)含有Mi Service(UUID:0xFE95),MAC地址就在这个报文里。这种报文未加密、长度固定12字节,内容也只有一个字节的序号约6分钟变一次,其余固定不变
b:“Manufacturer Specific Data”(0xFF)含有小米公司识别码(ID:0x038F),这类消息是加密的,又分为两种:
   b.1:待机状态下,长度固定为16,这里贴一个实例:48409701b94c121c4de13a527a7378ba,其中前4个字节是固定不变的,含义和文档也对的上;
   b.2:开锁时,长度为25,这里贴出一条记录的前16个字节:48409701c69dbd094aaf21153eb12ef2,其中前4个字节和b.1一样。
这类消息包含Object,即各种事件之类的有用信息,可惜是加密的还不知如何解密。
esp.png

3. 蓝牙温湿度计2也是加密的,但这两个东西加密的方法好像不一样,温湿度计2有bind key就可以解密,但门锁没有bind key,只有token。

哪位大神能搞到更深入的文档、蓝牙网关的源码或者智能锁的源码(只要通讯这块的就行)?

如果能解密,那么本地无时延就完全可以实现了,期待。。。
建议阅读我发的所有帖子,在不同版块。不敢吹嘘,大部分还都算得上是干货。
任意米家蓝牙设备(最重要的:各款智能锁)接入HA的终极方案:https://bbs.hassbian.com/thread-10434-1-1.html
回复

使用道具 举报

40

主题

2612

帖子

9085

积分

超级版主

Nero

Rank: 8Rank: 8

积分
9085
金钱
6423
HASS币
162
发表于 5 天前 | 显示全部楼层
据大佬说蓝牙是自带 AES-128 硬件加解密,key是临时的,根据米家服务器下发的 token 来生成,也就是说,抓到 key 也没用。因为 key 会根据时间推移而失效。如果没有和服务器连接就会无法控制(因为 key 过期了)。

这也是米家蓝牙网关以前为何无法离线自动化的原因(最近支持了,估计是给 key 的更长的有效时间,如果长期断网应该依然无法控制)

所以,抓 key 方法除非能找到每次更新 key 之后立刻抓到新 key,然后把加密内容解密。要么能有算力能短时间暴力算 AES-128 emmm 这除了 google的量子计算机估计还没有啥办法吧。

以上都是据说,听说,猜测,未经证实。
Nero
回复

使用道具 举报

38

主题

757

帖子

3359

积分

超级版主

Rank: 8Rank: 8

积分
3359
金钱
2552
HASS币
290

教程狂人突出贡献

 楼主| 发表于 5 天前 | 显示全部楼层
neroxps 发表于 2021-5-2 21:39
据大佬说蓝牙是自带 AES-128 硬件加解密,key是临时的,根据米家服务器下发的 token 来生成,也就是说,抓 ...

哎~~~

小米现在好像不在乎用户体验了,或者说只关注忽悠小白用户了。

不知道为啥,小米正式宣布不再采用zigbee,而是全面转向蓝牙。可是蓝牙又非得到服务器上转一圈才行,这整个和智能家居的核心诉求背道而驰啊!

暴力破解肯定不现实。找加密算法和key倒是一个方向,就是难度有点太大了。

至于你说的离线自动化,我还没观察到,无法支持本地自动化,是我最痛恨小米蓝牙设备的点。
建议阅读我发的所有帖子,在不同版块。不敢吹嘘,大部分还都算得上是干货。
任意米家蓝牙设备(最重要的:各款智能锁)接入HA的终极方案:https://bbs.hassbian.com/thread-10434-1-1.html
回复

使用道具 举报

40

主题

2612

帖子

9085

积分

超级版主

Nero

Rank: 8Rank: 8

积分
9085
金钱
6423
HASS币
162
发表于 4 天前 | 显示全部楼层
XCray 发表于 2021-5-2 21:57
哎~~~

小米现在好像不在乎用户体验了,或者说只关注忽悠小白用户了。

群友说支持的,我家里也只有米家的 zigbee 设备,其他传感器用 mysensor 挺香的。
Nero
回复

使用道具 举报

30

主题

909

帖子

3750

积分

超级版主

Rank: 8Rank: 8

积分
3750
金钱
2801
HASS币
100

教程狂人论坛风云人物

发表于 3 天前 | 显示全部楼层
本帖最后由 27hh 于 2021-5-4 02:31 编辑
XCray 发表于 2021-5-2 21:57
哎~~~

小米现在好像不在乎用户体验了,或者说只关注忽悠小白用户了。

小米何时正式宣布了不再采用zigbee?

我看最近米家里还新增了一个设备“Aqara网关E1(青春版)”,就在添加设备页面的“新品”栏目中,不知道这是个什么信号?
回复

使用道具 举报

38

主题

757

帖子

3359

积分

超级版主

Rank: 8Rank: 8

积分
3359
金钱
2552
HASS币
290

教程狂人突出贡献

 楼主| 发表于 3 天前 | 显示全部楼层
27hh 发表于 2021-5-4 02:29
小米何时正式宣布了不再采用zigbee?

我看最近米家里还新增了一个设备“Aqara网关E1(青春版)”,就在添 ...

哈哈,这是雷军的工作失误。这么重大的事情竟然没专门给你汇报。。。

开发文档里说的,小米IoT开发者平台
iot.png
我开始时只是好奇为啥小米老是强推蓝牙的东西,zigbee不是挺好吗。后来看到这个说法,只能猜测蓝牙对小米来说更加有利可图。
Aqara毕竟是另一个公司的产品,米家虽然起步阶段和aqara高度捆绑,但现在兼容的东西多了去了。

他们之间怎么扯是一回事,米家现在主推的蓝牙方案无法实现本地自动化、高延迟确实太恶心人了,以后也再不购买或者推荐别人购买米家的蓝牙协议的智能家居产品。
建议阅读我发的所有帖子,在不同版块。不敢吹嘘,大部分还都算得上是干货。
任意米家蓝牙设备(最重要的:各款智能锁)接入HA的终极方案:https://bbs.hassbian.com/thread-10434-1-1.html
回复

使用道具 举报

21

主题

625

帖子

3232

积分

论坛元老

Rank: 8Rank: 8

积分
3232
金钱
2602
HASS币
20
发表于 3 天前 来自手机 | 显示全部楼层
本帖最后由 chenquanhao 于 2021-5-4 11:38 编辑
XCray 发表于 2021-5-2 21:57
哎~~~

小米现在好像不在乎用户体验了,或者说只关注忽悠小白用户了。

我觉得zigbee对于互联网公司来说,都能在本地完成,也容易第三方接入,这不利于用户数据采集和培养用户粘性,另外会不会是蓝牙模块更便宜。小米现在更倾向做智能设备而不是智能家居,分别在于智能设备有蓝牙就能连接,现在手机基本都有蓝牙,减低网关的存在感,虽然目前来说我认为zigbee更好,但无法忽视资本和企业推动的力量,可能以后很多产品都往蓝牙方向走……
回复

使用道具 举报

3

主题

188

帖子

624

积分

论坛分享达人

积分
624
金钱
436
HASS币
0
发表于 3 天前 | 显示全部楼层
本帖最后由 zsqduke 于 2021-5-4 13:14 编辑

用多模网关接入HA不就行了?
回复

使用道具 举报

3

主题

188

帖子

624

积分

论坛分享达人

积分
624
金钱
436
HASS币
0
发表于 3 天前 | 显示全部楼层
XCray 发表于 2021-5-2 21:57
哎~~~

小米现在好像不在乎用户体验了,或者说只关注忽悠小白用户了。

多模可以本地
回复

使用道具 举报

38

主题

757

帖子

3359

积分

超级版主

Rank: 8Rank: 8

积分
3359
金钱
2552
HASS币
290

教程狂人突出贡献

 楼主| 发表于 3 天前 | 显示全部楼层
chenquanhao 发表于 2021-5-4 11:30
我觉得zigbee对于互联网公司来说,都能在本地完成,也容易第三方接入,这不利于用户数据采集和培养用户粘 ...

有些道理
建议阅读我发的所有帖子,在不同版块。不敢吹嘘,大部分还都算得上是干货。
任意米家蓝牙设备(最重要的:各款智能锁)接入HA的终极方案:https://bbs.hassbian.com/thread-10434-1-1.html
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2021-5-7 18:44 , Processed in 0.096100 second(s), 35 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表