47、大规模抗议活动中的网状消息传递:破解 Bridgefy

Bridgefy安全漏洞分析

大规模抗议活动中的网状消息传递:破解 Bridgefy

1. Bridgefy 通信基础

1.1 已知密钥握手

当双方已经知晓彼此的公钥时,仅需交换两条 BleHandshake 消息,且这两条消息都遵循图 1 中第一条消息的格式,其中 rq = 0。随后,加密的 AppHandShake 消息交换将照常进行。

1.2 握手条件

当两个设备进入通信范围时,握手协议会自动执行,且只有在握手完成后才能发送直接消息。只有处于物理范围内的客户端才能执行协议的 BleHandShake 部分。通过网状网络通信的设备根本不会执行握手,因此只有当它们已经从 Bridgefy 服务器获取了彼此的密钥,或者之前曾处于通信范围内时,才能交换消息。

1.3 通过 Bridgefy 服务器路由

用户首次安装应用程序时需要互联网连接,以便在 Bridgefy 服务器上进行注册。所有请求均通过 HTTPS 完成,相关 API 位于 me.bridgefy.backend.v3 包中。
注册时发送到服务器的信息由 BgfyUser 类建模,其中包含用户选择的名称、用户 ID、该用户屏蔽的用户列表,如果用户经过“验证”,还包括其电话号码。
此后,只要有互联网连接(无论用户是否经过验证),并且用户刷新应用程序,就会发起联系人请求。用户联系人的电话号码会上传到服务器,以获取也是 Bridgefy 用户的联系人列表。BgfyKeyApi 提供了从服务器存储和检索用户公钥的方法。
在线用户之间发送的消息比蓝牙消息形式更简单:BgfyMessage 实例包含发送者和接收者 ID、消息文本的 RSA 加密以及一些元数据,如时间戳和消息的送达/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值