Slide 1

Slide 1 text

安めのスマートウ ォッチをOSSでセ キュアに使う (Gadgetbridge) Kenichiro Matohara(matoken) 1

Slide 2

Slide 2 text

南隅から参加(鹿児島の右下) 好きなLinuxディストリビューションはDebian お仕事募集 mailto:work@matohara.org Kenichiro Matohara(matoken) https://matoken.org 2

Slide 3

Slide 3 text

先月の補足 「有線イヤホンのボタンで動画を操作したい」 3.5mm オーディオジャックに接続したマイク,ボタン付きイヤホ ンのボタンで動画の制御 ウェブブラウザの動画再開時に画面がスリープのまま(mpv は画面復帰する) xset dpms force on を追加して解決. https://gitlab.com/matoken/kagolug- 2023.08/-/blob/main/slide/slide.adoc https://speakerdeck.com/matoken/i-want-to- operate-the-video-with-the-buttons-on-the-wired- earphones 3

Slide 4

Slide 4 text

スマートウォッチ購入 2022年11月末に Xiaomi Mi スマートバンド5 日本語版 2694円で 購入  公式ストアでは在庫切れのままなので収束品? 【11/22-11/27日40%OFF】Xiaomi Mi スマートバンド5 日本語版 スマートウォッチ本体 50M防水 14日間の長いバッテリ持続時間 11種 https://item.rakuten.co.jp/xiaomiofficial/m00028/ 2694(円)×1(個) = 2694(円) (税込、送料無料) 4

Slide 5

Slide 5 text

ファースト・インプレッション 小さい,厚い 液晶にドット抜けあり>< 文字は案外読める 久々に腕時計をしたので結構邪魔 狭いところに手を入れるときなどにあたって邪魔 引っ掛けてバンドが外れてしまうことがよくある → サードパーティバ ンド? 金属製の什器などにゴツゴツぶつけてしまっているが液晶はきれいな ままで結構丈夫そう 5

Slide 6

Slide 6 text

6

Slide 7

Slide 7 text

スマート?ウォッチ 安めのものはスマートフォン&アプリが必須 無いとあまりスマートでないウォッチ スマートフォンのアプリは権限が大量に必要 通知,ヘルスデータなど結構センシティブな内容が見える Googleにはすでに渡っているだろうけど更に他の会社にデータ を渡したくない 7

Slide 8

Slide 8 text

8

Slide 9

Slide 9 text

Mi Band hack! Mi Band 3 をhack している人が Linux からBluetooth 経由でメッセージを送ったり時計を設定した り,FW Update したりしている :) 公式アプリを使わなくてもある程度使えそう → 購入へ 💸 BLE Hack, Yogesh Ojha, MiBand Hack, BLE MiBand Hack, IoT Security, BLE security | Medium I hacked MiBand 3, and here is how I did it Part II — Reverse Engineering to upload Firmware and Resources Over the Air | by Yogesh Ojha | Medium 9

Slide 10

Slide 10 text

Android 向けのアカウントを作成したりデータの送信などをしないで 一部(Pebble, Mi Band, Amazfit Bip and HPlus device (and more))スマートウォッチを利用できるようになるOSSアプリ すべての機能が使えるとは限らない Gadgetbridge for android Supported Devices : Mi Band, Band 1A, Band 1S, Band 2, Band 3 Band 4, Band 5, Band 6 [!] 10

Slide 11

Slide 11 text

Android へのGadgetbridge 導入 F-Droid から入手可能  F-Droid はFLOSS をホストするAndroid用リポジトリ,ストア F-Droid( )からAPK を入手,導入 して利用する Gadgetbridge | F-Droid - Free and Open Source Android App Repository https://f-droid.org/ja/ 11

Slide 12

Slide 12 text

サイドローディング 政府検討のスマホアプリ「サイドローディング」義務化、セキュリティー は大丈夫か:日経ビジネス電子版 スマホアプリの「サイドローディング」で得られるもの、失うもの | マイ ナビニュース Android 14で古いアプリのサイドローティングも制限か 12

Slide 13

Slide 13 text

接続方法 Gadgetbridge wiki に機種別の手順がある Mi Band 5 - Gadgetbridge - Codeberg.org 13

Slide 14

Slide 14 text

ペアリング (あれば)Android のペアリング設定から削除 Gadgetbridge 前設定 ガジェットブリッジ → 設定 → Mi Band/Amazfitの設定 → Bluetoothペアリングを有効にする ペアリング ガジェットブリッジ → 新しいデバイスに接続 14

Slide 15

Slide 15 text

認証鍵の入手 mi Band 4以降はデバイスの初期設定時にサーバーベース認証が必要 🤔 公式アプリで認証後認証鍵を入手 ※失敗 sqlite3 /data/data/com.xiaomi.hm.health/databases/origin_db_[Y "select AUTHKEY from DEVICE" huami-token利用 ※失敗 Free my band( 純正アプリ改造品)利用 ※成功 argrento/huami-token: Script to obtain watch or band b from Huami servers - huami-token - Codeberg.org Free my band 15

Slide 16

Slide 16 text

認証鍵のGadgetbridgeへの登録 ガジェットブリッジ → Mi Smart Band5 → ⚙(Debice specific settings) → Auth Key に 入手した認証鍵の頭に 0x を付けて保存する ex) fedcba01234567890fedcba01234567 → 0xfedcba01234567890fedcba012345678  0x に気づかず何度も試した……. 戻ってデバイス名タップでペアリングされる ↻アイコンタップで手動データ同期 16

Slide 17

Slide 17 text

Gadgetbridge で時計のデータを表 示できた :) 17

Slide 18

Slide 18 text

初期化時の問題⚠ スマートウォッチを初期化するとBluetooth MAC address が変 わってしまう ペアリングのやり直しが必要 認証鍵も取得し直す必要がある 18

Slide 19

Slide 19 text

いくつかの設定 19

Slide 20

Slide 20 text

デバイスの設定 Heart Rate Monitoring 終日心拍数測定: 5分ごと(1分に1回,5分ごと,10分ごと,30分 ごと) 持ち上げ時に表示を有効にする カレンダーの予定を同期する(不安定?) サードパーティのリアルタイムHRアクセス 20

Slide 21

Slide 21 text

ガジェットブリッジ設定 データベース管理 → 自動エクスポート 一般ステータス通知対応 → ガジェットブリッジを許可 Application list → 通知を転送したいアプリを選ぶ : 21

Slide 22

Slide 22 text

こんな感じで利用中 22

Slide 23

Slide 23 text

数ヶ月使ってみて 23

Slide 24

Slide 24 text

バッテリーの持ち カタログスペック → バッテリ持続時間: 14 日以上 現在の利用方法では実測10日以上 液晶輝度 2 of 5,心拍数測定5分ごと,持ち上げ時に表示を有効 にする,通知は10通以下/日,HR自動エクスポート  充電には専用USBケーブルで充電が必要 24

Slide 25

Slide 25 text

防水について 5ATM(50m防水) シャワーや水泳も可能となっている シャワー程度ならつけっぱなしで湯船に浸かるときと充電時以外ずっ とつけっぱなしだが今のところ問題なし 25

Slide 26

Slide 26 text

ヘルスデータの精度 HRは正確そうな値 歩数カウントは全然カウントされない?Androidの数分の一? → バ ンドをぴったりめにすることでマシに 睡眠は全く当てにならない感じ  HRのデータはAndroidに自動保存可能 26

Slide 27

Slide 27 text

まとめ OSS のAndroid アプリのGadgetbridge を利用して一部のスマ ートウォッチが利用可能 アカウントを作成したりデータを渡す心配なく利用できる 全機能が使えない場合も 壊れた場合時計と違い買い替えになると思うが同じ価格帯で代替品 が買えるかが不安 Gadgetbridge非対応ウォッチを持っていたら対応できるか試すの も面白そう 27

Slide 28

Slide 28 text

SEE ALSO 安価でOpen Hardware な物もある(ESP32ベースのものは技適も ありそう?) PineTime | PINE64 T-Watch S3 – LILYGO® Watchy | Crowd Supply 28

Slide 29

Slide 29 text

発表後追記 前ページで紹介したものは全て技適的にNGだった ESP32でもアンテナ別の小型chipなので技適なし 以下のあたりなら丈夫そうだが大きい Custom Smartwatch | Hackaday.io M5StickC Plus(腕時計アクセサリー付き) — スイッチサイエン ス 29

Slide 30

Slide 30 text

奥付 発表 2023-09- 17(sun) 発表者 利用ソフトウェア ライセンス 鹿児島Linux勉強会 2023.09(オンライン開催) Kenichiro Matohara(matoken) Asciidoctor Reveal.js CC BY 4.0 30

Slide 31

Slide 31 text

No content