こんにちは。AndGoのハードウェア担当の片山です。
前回までオープンソースのハードウェアウォレットのColdcard (https://coldcard.com/) について解析してきました。Coldcardはオープンソースのハードウェアウォレットでありながら,セキュアエレメントが搭載されています。現在すぐに入手できるのはMk3までですが,現在,Mk4は予約販売が開始されているようですので詳細を見ていきたいと思います。
Coldcard Mk4 vs Mk3
Coinkideのウェブサイト(https://coldcard.com/docs/coldcard-mk4)にMk4とMk3の比較が書かれています。まずはセキュアエレメントの数が1個から2個になっています。これまでMicrochip ATECC609シリーズが使われていましたが,さらにMaximのDS28C36B (Maximは現在Analog Devicesの傘下に入っている米国の半導体メーカー)が搭載されます。これによって何が変わるかは後ほどご紹介します。
CPUについては80MHzから120MHzにアップグレードされていています。おそらくSTMicroelectronicsのチップではありますが,具体的にはどの型番のものであるかは明らかになっていません。フラッシュメモリも4kBから512kBに増強され,よりマルチシグ運用がしやすくなったようです。RAMも8MB積んでいますが,マイコンの中では巨大すぎるので,外付けのRAMを積んでいるものと思われます。トランザクションのサイズも2MBまで処理可能になりました。
比較表ではDebug Serial PortがPhysical (Pins)からVirtual (USB)に変更されています。これまではUSBポートからデバッグ可能になっていたようですが,これが物理ピンに変わっています。ファームウェア開発時にはデバッグ機能を有効にしておくことで,USB経由でファームウェアの書き込みができたり,デバッグのために内部のメモリの読み書きができたりします。製品出荷時には無効にして,さらに再び有効にする手段もありませんし,ユーザーとしては若干不安な感じもしてくるため,別のピンにデバッグ用のポートを割り当てたということなのだと想像しています。これにより,微々たるものですが物理的な攻撃に対するセキュリティが向上しています。
他,地味なアップデートですが,USBコネクタもType-Cに変わっていたり,USBを使用している際のLEDが搭載されているようです。
NFC
SUICAなどでおなじみNFC(Near Field Communication)が搭載されています。対応するデバイスにタッチすることで,署名(マルチシグも対応)したり,アドレスの共有ができたりするようです。非接触で情報がやりとりできてしまうので不安を感じる方もいると思います。デフォルト設定では無効になっていて,デバイスの設定で有効にしないと使用できないようになっています。こちらの記事(https://bitcoinmagazine.com/.../inside-the-new-coldcard-mk4)ではCoinkideのコメントとして,NFCによってコストを下げ,UXを向上させたいと述べています。現在QRコードに対応したウォレットが出ていますが,それほど大きな情報を載せることはできませんし,読み取るためにはカメラが必要ですので,必然的にハードウェアウォレットそのものの製造コストも増加してしまいます。確かにNFCであれば基板上のアンテナパターンとチップだけで対応ができ,通信帯域も数百kbpsあるので,トランザクション程度の情報量であれば余裕を持って通信が可能です。