市販の一部の電動歯ブラシには、ブラシ部分が装着されたことを認識して交換時期をお知らせしてくれる機能を持つ製品があります。エンジニアのアーロン・クリストファー氏は電動歯ブラシをハッキングして、パスワードで保護されたこの機能のロック解除を試みました。





Hacking the Philips Sonicare NFC Password - YouTube

フィリップス製電動歯ブラシ「ソニッケアー」には、ブラシヘッドとハンドル部分が通信を行い、ヘッドが古くなると交換時期であることを知らせる機能が搭載されています。この機能はパスワードで保護されており、特殊な機器やソフトウェアを用いることで、機能のロック解除を行いブラシヘッドの使用時間を自由自在に変更できるようになりますが、クリストファー氏はパスワードを計算するためのアルゴリズムを解析、機能変更のロックを解除することで実現しようとしています。

電動歯ブラシのハッキングを実現するために、クリストファー氏は40ユーロ(約6700円)で販売されていたNFC機能付の「ソニッケアー」を購入。すぐに分解に取り組みました。





基板をチェックすると、NFCリーダーの「MFRC630」やSoCとしてMindMotion製の「MM32F001 Cortex M0」、16KBのフラッシュメモリ、2KBのRAMが搭載されていることが明らかとなりました。また、デバッグ用のピンにはわかりやすくラベルが付けられています。





基板ととPCにつないだフラッシャーを接続すると、SoCやRAMなどの情報が問題なく表示されました。また、「28 06 00 20 C9 00 00 08」という謎の暗号も検出。





この暗号をプログラム解析ツールのIDAを用いて計算すると、ブラシヘッドと電動歯ブラシ本体に用いられるNFCのパスワードであることが判明。クリストファー氏は「この暗号はNFCタグ内のユーザー識別子にあり、ブラシヘッドにも印刷されている製造文字列を確認することで簡単に解析することができました」と述べています。





クリストファー氏は発見したNFC用のパスワードをGitHub上で公開しています。

Philips Sonicare NFC Password generation · GitHub

https://gist.github.com/atc1441/41af75048e4c22af1f5f0d4c1d94bb56



なお、クリストファー氏は今回歯ブラシのハッキングに挑戦したのは、同じくエンジニアのシリル・クンジ氏がフィリップスの電動歯ブラシ「ソニッケアー」をハッキングしたことにインスピレーションを受けたと明かしています。

電動歯ブラシのブラシヘッドをハッキングすると使用時間を書き換えられる - GIGAZINE