[教學] 斷網應急離線藍牙通訊app Bridgefy (iOS, Android)

Khermit
0110 Tech
Published in
7 min readOct 11, 2019

在人多的場合例如演唱會,信號接收不好如鄉郊地區,或遇上自然災害時,常有網路擠塞甚至無法上網的問題,如何跟家人朋友聯絡是個很重要的問題。Bridgefy利用附近手機中的藍牙組成網狀網絡 (Mesh Network)進行短距離通訊,是個不錯的應急方案。

Bridgefy

Bridgefy
Bridgefy, Inc.
iOSAndroidapp網址

使用步驟

  1. 開app,到輸入電話 (Enter phone number) 頁面
  2. 可因應需求選擇以下步驟:
    (a) 以電話號碼認證
    輸入電話號碼後,按右上角 “Verify”,到認證號碼 (Verify phone number) 頁面。收到SMS後在app中輸入verification code,然後按右上角 “Next”
    (b) 不認證號碼
    注意:之後再使用app時會再要求認證,按需要選擇。
    任擇以下其中一個步驟:
    ⠀⠀<i> 關掉網絡連線,輸入電話號碼,按右上角 “Verify”一兩次,直到看到 “Skip for now”,重新上網後,按 “Skip for now”。或
    ⠀⠀<ii> 輸入電話號碼後,按右上角 “Verify”。不輸入verification code,過20秒後按 “Resend code”,重複以上步驟兩三次,直到看到 “Didn’t receive the code? Skip for now”,然後按 “Skip for now”,然後再按一次確定。
  3. 輸入暱稱 (nickname)後按 “Send”,完成登入
  4. app會要求取得存取通訊錄(Contacts)和藍牙(Bluetooth)的權限,藍牙權限按 “OK”,通訊錄權限可按需要

教學

  1. 加入聯絡人
    除了剛使用app時用通訊錄加入聯絡人外,還可以在Contacts頁面按左上角加號(+)用電話號碼手動加入。也可以在Broadcast聊天室按用家頭像,或按右上角的聊天室用戶列表找到目標用戶開始對話 “Start Conversation”。
  2. 刪除/封鎖聯絡人
    另外進入某聯絡人的聊天頁面後按右上角,就可以刪除對話 “Delete Conversation”或封鎖 “Block”。
  3. 刪除帳號
    登出就可以刪除帳號
    iOS: Settings>Profile>Log Out
    Android: 右上角目錄>Settings>右上角目錄>Log Out
  4. 電話號碼認證
    如登入時因網絡問題跳過認證步驟,可到Settings>Verify your phone number 認證
  5. 在Broadcast聊天室中只可傳送定位資訊和連結;
    在一對一模式中可以傳送定位資訊、連結和圖片
  6. 圖示說明
    灰色圖示代表已封鎖(block);
    紅色“In Range”圖示代表可直接通過藍牙傳訊給對方;
    在某些訊息旁或會出現紫色圖示,代表某訊息通過其他用戶傳到目標用戶
灰色代表封鎖;紅色代表可藍牙傳訊;紫色代表通過mesh網絡傳訊

注意事項

  1. 因為登入時需要網絡,所以要預先登入,以免斷網時無法使用
  2. 沒有聊天群組(Chat groups)功能
  3. 沒有通過認證的話,對方在聊天頁面會看到沒有認證的警告。其他用戶也無法通過電話號碼找到你的帳號
  4. 如果用通訊錄,需要網路同步以加入新聯絡人
  5. Android app需要使用定位(location services)權限去使用藍牙

測試時遇到的問題

  1. 藍牙通訊下,要開住app的情況下才可確保訊息傳送成功。或因離開app時會中斷藍牙連結。
  2. 藍牙通訊速度很慢,盡量避免傳送圖片。(在有網絡的狀態下,速度跟其他通訊app差不多。)
  3. 在藍牙、Wifi、手機網絡切換後,需要重啟app後才可以傳送訊息。
  4. 沒有推送通知(Push notifications)

運作原理

Bridgefy有4種模式:

  1. 一對一模式 (One-To-One / Person-to-Person mode)
  2. 一對一遠距離模式 (One-To-One Long Distance / Mesh mode)
  3. 廣播模式 (Broadcast mode)
  4. 線上模式 (Online mode)

其中第2,3模式通過藍牙組成網狀網絡(Mesh Network)傳送訊息。第1種則利用兩部裝置之間的藍牙連結。

詳情可到:Bridgefy運作原理和安全風險 離線藍牙通訊app

資訊安全隱憂

風險

  1. 無法防假訊息和誤導資訊
  2. Bridgefy官方承認沒有app可以100%避免竊聽,除了加密外沒有更好方法可以防止監控。
  3. 訊息或會經過第三方不可信的電話裝置,無法確保通訊對象的身份。理論上上述資料會經過加密,但需要密鑰管理(key management),但Matthew Green無法確定Bridgefy如何在伺服器離線的狀態下可以安全地密鑰管理。

私隱/網絡安全

  1. 機關或可收集Metadata中的裝置識別碼/機身編號 (IMEI, MEID, 或 ESN),透過網絡供應商找到裝置使用者
  2. 機關或可透過科技企業取得使用該app的用戶清單。例如WeChat在Android上有「回傳運行中的應用」(retrieve running apps)的權限
  3. 機關或可透過傳送網頁連結散播惡意程式去駭入目標裝置
  4. 網絡供應商可以追蹤用戶的位置、攔截用戶的短信和通話內容
  5. 智能燈柱可透過藍牙讀到裝置識別碼/機身編號 (IMEI, MEID, 或 ESN),從而得知誰到過該處

建議

  1. 使用主要手機以外的手機
  2. 不按不明網址
  3. 可不認證電話號碼,或使用太空卡

總結

在斷網和知道安全風險下,Bridgefy還是可以好好使用。加上Firechat已近一年沒有更新,在試用時發現速度很慢和經常彈app(可能因為其中一部裝置太舊),還試兩次連不上server。相對之下Bridgefy還是可以傍傍身。

--

--