2025年5月10日 5 min read

画面もなく、バックアップも単語型ではないカード型HWW:Tapsignerのクセはセキュリティ対策だった

画面もなく、バックアップも単語型ではないカード型HWW:Tapsignerのクセはセキュリティ対策だった

ハードウェアウォレット(HWW))を選ぶ際の注意点として、ハードウェアウォレット自体に画面がついているものを選ぶというのがあります。ハードウェアウォレット側で実際に署名するトランザクションの内容を確認することで、スマホやPCに表示されているトランザクションとは別の、悪意のあるトランザクションに署名することを防げるためです。

2月に起きたBybitのコールドウォレットからの流出も、トランザクションの内容をHWW側で確かめることができなかったのが直接的な原因の1つとなっています。

不正なトランザクションに署名させる攻撃の手法と対策
今週、Bybitが史上最大となる2000億円規模のハッキングを受けたことが話題になりました。これを受けてBybitでは大規模な引き出しラッシュが起こったことからも、この事件をきっかけに取引所に預けている姿勢を見直したユーザーもかなり多かったのではないでしょうか。 喉元すぎれば暑さ忘れる、というようにほとぼりが冷めたら再入金するユーザーもけっこういるのかもしれませんが。 今回の事件で特徴的だったことの1つは攻撃手法が割とすぐに明らかになったことでした。昨年5月末のDMM Bitcoinの事件について攻撃手法の詳細が未だに公表されていないのと対照的に、Bybitの事件は発生直後から原因がわかっており、それが早期の出金再開につながったとされています。 もし原因不明であれば別の資産への影響を調査するために出金を停止する必要が出てきます。とはいえ、いずれにしても出金は停止するほうが様々な賢明だったような気はしますが、結果的にはBybitはこの対応によってユーザーの信用を得られたようです どちらの事件も資金洗浄の特徴から北朝鮮の政府系ハッカー集団TraderTraitorによるものと考えら

考えてみると、HWWがサプライチェーン攻撃に遭ったり盗まれるよりも、スマホやPCが宛先アドレスを書き換えるタイプのマルウェア、あるいは秘密鍵を盗むマルウェアに感染してしまう可能性のほうが高いのではないでしょうか。だとすると、HWW側の画面はとても効果的なセキュリティ対策になります。

しかし、カード型のフォームファクタで提供されているハードウェアウォレットも巷にはあります。例えばTangemというものがマーケティングに力をいれています。(力を入れすぎている?)名前に聞き覚えがある方は、昨年Tangemのシードフレーズが特定の条件下でスマホアプリ側のログに残り、サーバーに送信されていた事案を覚えていらっしゃるのかもしれません。

そう、カード型のHWWにはもう1つ弱点があり、シードフレーズ/秘密鍵をバックアップしようにも、一度アプリ側に送信して表示する方法しかないように思われます。(通常はHWWの画面に表示されるため、シードがHWWから外に送信されることはありません。)これはシード・秘密鍵を外界から隔離するという原則に反しており、仮に一度きりのことであってもデバイス側のマルウェア感染やアプリのバグ・バックドアに脆弱で、少し不安なところです。

カード型のHWWといえば、自分の中ではTapsignerが思い浮かびます。TapsignerはColdcardやOpendimeと同じくCoinkite社の製品で、NFC経由で使えるお手軽なHWWです。画面はありませんが、価格も安いのでマルチシグの一部として使われることが想定されている模様です。対応している数少ないウォレットにマルチシグ重視のNunchukが含まれていることからも窺えます。

そんなTapsignerは、通常のHWWやTangemなどと比べてもクセのある設計になっています。今日はどういう工夫で秘密鍵のバックアップなどを実現しているか、使ってみて体感したTapsignerの特徴を挙げていきます。

💡
結論から言えば、普段使いのHWWにTapsignerを選ぶ必要はないと思いますが、安くてかさばらないのでお手軽にマルチシグを試すのには便利かもしれません。また、会社が独自デザインのものをノベルティとして配るのが一番のユースケースかもしれません。

・画面がある別のHWWとの併用が前提?

・NFCを使ったセットアップや使用方法

・対象ユーザーは誰?

Great! You’ve successfully signed up.
Welcome back! You've successfully signed in.
You've successfully subscribed to ビットコイン研究所.
Your link has expired.
Success! Check your email for magic link to sign-in.
Success! Your billing info has been updated.
Your billing was not updated.