個人向けにビットコインのマルチシグ管理サービスを提供しているCasa社が、これまではスマートフォンとハードウェアウォレットに限定していた鍵の保管デバイスにYubikeyも加えると発表しました。

Yubikeyは数千円で購入できるパソコンの「物理キー」として使えるデバイスで、以前解説したPasskeyによるパスワードレスログインにも物理キーとして利用できるものです。比較的安価にも関わらず、これまで仮想通貨に関連する用途ではそれほど(少なくとも消費者向けでは)登場するシーンはありませんでした。

Passkeyを使ったパスワードレスログインができるサービスが増加。そのメリット・デメリットを解説
今月、取引所のBitbankでパスキー(Passkey)を用いたパスワードレス認証でのログインが可能になりました。これに関連するものと思われる質問が読者様から寄せられていたので今回はこれに回答していきます。 最近ログインに際して、passkeyを設定できるサービスが増えてきた印象があります。 「メールアドレス・パスワード+アプリ2FA」と比較してメリットデメリットは何がありますか? ・Passkeyの概要と、FIDO2・2FAなどとの違い ・パスワード+2FAに対するPasskeyの優位性 ・Passkeyに弱点はあるのか?

今回Casaが発表した新機能はどのようにして実現したものなのか、そしてYubikeyはハードウェアウォレット代わりになりうるものなのかについて、今日は背景から解説していこうと思います。

・Casaのサービスの概要

・Yubikeyの仕組み

・新機能利用の流れ

・ハードウェアウォレットとYubikeyはどう違うのか?

Casaのサービスの概要

Casaは2016年に創業したビットコイン企業で、主力のサービスはビットコインおよびイーサリアムのマルチシグ保管支援サービスです。

セキュリティ上の懸念からマルチシグを選びたいビットコインホルダーはそれなりの数いますが、最近まで簡単にマルチシグを利用できるウォレットすら比較的少ない時代がありました。(最近ではNunchukなどマルチシグを主眼に置いたウォレットが人気を博しています)

そんな中、Casaは2-of-3または3-of-5のマルチシグをセットアップして、通常はユーザーが保有する鍵のうち2つまたは3つで利用できるが、場合によってはCasaに認証をしてCasaが保有する秘密鍵を含めた3つでも利用できるというプロダクト(Casa Vault)を提供し続けています。

ちなみに一時期Casa Nodeというビットコインノード・ライトニングノードが搭載されたデバイスを売っていました。UmbrelやStart9 Embassyなどの先駆けですね。残念ながら中身がRaspberry Piベースで信頼性の問題などもあり廃盤になってしまいました。

マルチシグを利用する上で、秘密鍵以外にも公開鍵のリストを含むDescriptorというデータを保管しないといけない、鍵を紛失したときに再セットアップが面倒、第三者にも1つ鍵を託したい、などの様々な課題をクラウドを活用して解決しているスマートなサービスです。

同じカテゴリ内には他にもUnchained CapitalのVaultというサービスやCaravanというツール、Swanの提供する2-of-3マルチシグ、Blockstream Greenで利用できる2-of-2マルチシグ、Jack Dorsey氏が率いるBitkeyのソーシャルなマルチシグなど、競合の数からもニッチながらある程度の需要が存在する市場であることが覗えます。

Yubikeyの仕組み

さて、読者の皆様はYubikeyを見かけたことはありますか?

Yubikey 5 NFC

YubikeyはYubico社が製造するハードウェア認証装置で、主にパスワードレスログインや2要素認証として使われます。一部のハードウェアウォレットもこれらの機能に対応しており、USBメモリに似た形も近いためYubikeyも「ハードウェアウォレットのようなもの」と認識されているかもしれません。それは厳密にはかなり違うので後述します。

Yubikeyにはいくつかモデルが存在し、それぞれ少し機能が異なります。最もポピュラーと思われるYubikey 5シリーズを例に取ります。Yubikey 5はスマホや一部のノートPCのようにFIDO2・Webauthnに対応しているため、ドメインごとに秘密鍵・公開鍵を生成してくれます。(冒頭のパスワードレスログインの記事参照)この秘密鍵はデバイスを離れることはないためYubikey自体を物理的に盗難されなければそのキーペアは自分だけのものといえます。

またYubikeyはワンタイムパスワード(TOTP)の生成器としての役割も果たします。Google Authenticatorのような2要素認証用パスワード生成アプリの代わりです。ただし、サイト・アプリ側が対応していないとYubikeyから出力されるTOTPをサイト・アプリが直接読み取れず、現在使えるサイトはさほど多くありません。

最近のアップデートでYubikeyに保存可能な情報が増加したことが、今回のCasaによる機能追加につながったようです。このファームウェアアップデートをおさえた日本語のブログ記事を見つけました。

記事 | YubiOn
記事YubiOnhttps://www.yubion.com/post/yubikey-firmware57?lang=en

「ファームウェア5.7のYubiKeyを触ってみた」

Yubikeyには他にも指紋認証を搭載したYubikey Bioなどがありますが、基本的な中身は変わりません。

新機能利用の流れ

今回取り上げているCasaの新機能は、まずYubikeyを接続したPCやスマートフォンでマルチシグに使う秘密鍵を1つ生成し、それをYubikeyで生成したCasaのドメインに対応するパスキーに対応する鍵によって暗号化し、Yubikeyに保管すると説明されています

しかし、おそらくYubikey側でPasskeyの秘密鍵を直接使ってファイルを暗号化したり復号する機能はないので、何らかの方法(鍵交換など)でCasaに対応するPasskeyの秘密鍵を元に別の鍵(暗号化・復号用の鍵)を毎回再現しているのではないかと思われます。(詳細は確認することができませんでした)

その場合、再現した鍵・それによって復号したシードの両方がおそらく毎回PC・スマホに存在することになるため、この仕組み自体はホットウォレットに該当すると考えられます。

復号の仕組みにPasskeyの秘密鍵を使っているためフィッシング耐性があるのは良いと思いますが(マルチシグ自体がフィッシングに比較的強いことはさておき)、メインのリスクはPC・スマホ自体のマルウェア感染ではないでしょうか。

もし「パスキーの秘密鍵でマルチシグに使う秘密鍵を復元する方法」の詳細に詳しい方がいらっしゃったらコメントで教えて下さい。

ハードウェアウォレットとYubikeyはどう違うのか?

さて、Casaを利用する際の鍵の保管場所はこれまで「スマホ」「ハードウェアウォレット」「Casaが保有する鍵」の組み合わせであり、それ以外の選択肢(例えばSDカードやUSBメモリなどの記憶媒体)はありませんでした。Yubikeyはハードウェアウォレットの代わりになっているのでしょうか?

上述したように、Yubikeyはハードウェアウォレットとは異なりマルチシグの鍵をデバイス上に保管したまま署名を行うことができません。したがって、あくまでシードフレーズを保存する媒体という整理になり、ハードウェアウォレット(ハードウェア署名デバイス)とは異なります。

仮にYubikeyをつないだデバイスがマルウェアに感染していた場合などにはYubikey側での暗号化などは無意味になるので、あくまでUSBメモリのフィッシング対策版(そもそもマルチシグの署名でフィッシングされることがあるのかはさておき)くらいに考えておくべきでしょう。

なお、ハードウェアウォレットを鍵の保管媒体として使うのも故障のリスクがあり、安全面ではシードフレーズでの保管が最も推奨されます。Yubikeyに関しても、Yubikeyで保存したシードがYubikey内のパスキーによって暗号化されているのであれば、Yubikeyの故障によって失われてしまうリスクがあるため、定期的な動作確認をして知らぬ間に2-of3が実質2-of-2、3-of-5が実質3-of-4になっていないか確認したほうがよいでしょう。

これらのことから考えると、価格はお手頃なYubikeyですがそれほど仮想通貨の保管場面で登場してこなかった理由がよくわかります。他社のソフトで使えるわけでもないため、あくまでCasaを小さな金額で試したいユーザー向けの手軽な選択肢と考えたほうがよいかもしれません。

まとめ

・CasaがYubikeyに鍵の1つを保管できる機能をマルチシグ支援製品に追加

・Yubikeyはハードウェアウォレットではなく、署名時には鍵がPC・スマホ上に復元される

・Yubikey内のパスキーを使って(何らかの方法で)暗号化したシードフレーズをYubikeyに保存し、使用時には復号するという仕組みのため、Yubikeyの故障時にはそのシードフレーズを別途バックアップしていなければ喪失してしまう

・あくまでCasaを小さな金額で試したいユーザー向けの選択肢と考えたほうがよく、大きな金額を保管したい場合はより広く普及している方法を選択するのが無難かつ安全だと思われる