しばかぶメモ
Featured image of post 【パスキー】余った基板で何しよう?

【パスキー】余った基板で何しよう?

あそれパスキーパスキーぐるぐるぐるぐる

この記事について

注意

私はパスキー初心者です!!

また、今回の方法で制作したパスキーは、盗難時などにフラッシュを解析された場合に秘密鍵が漏洩する可能性があります。絶対に盗まれたくないパスキーを作る場合は、セキュリティに十分注意してください。

経緯

自作キーボード用にRP2040-Zeroを5個セットで購入していたのですが、分割キーボードに使っていた都合上どうしても1個余ってしまいました。 せっかくなので、余った基板でも何かをつくれないかと考えた結果、自作Yubikeyもどきをつくれそうだということだったので、試してみました。

使用したもの

ハードウェア

  • RP2040-Zero
  • USBケーブル
  • パソコン

ソフトウェア

  • Pico-Fido
  • ビルド環境一式
  • パスキーを使用できるブラウザなど

作り方

今回は、Pico-Fidoをそのまま用いています。

はじめに、Pico-Fidoのリポジトリをクローンします。

1
2
git clone https://github.com/polhenarejos/pico-fido
cd pico-fido

続けて、サブモジュールを取得します。

1
git submodule update --init --recursive

この後は、ビルド用ディレクトリを作成し、使用するボードを指定します。 今回はWaveshare RP2040 Zero互換の基板を用いたため、-DPICO_BOARD=waveshare_rp2040_zeroを指定しています。

1
2
3
mkdir -p build
cd build
cmake .. -DPICO_SDK_FETCH_FROM_GIT=ON -DPICO_BOARD=waveshare_rp2040_zero

ここまでできたら、あとはコンパイルするだけです。

1
make -j$(nproc)

できた

ビルドが成功すると、pico-fido.uf2というファイルが生成されます。

ある

このファイルを端末内に保存しておきます。

次に、基板のBOOTボタンを押しながらRP2040 Zeroとパソコンを接続します。

左側のボタンがBOOT

接続すると、RPI-RP2というドライブとして認識されるので、先ほど生成したpico-fido.uf2をコピーします。

外部ドライブとして認識される

コピーが完了すると、基板が自動的に再起動し、パスキーとして使用できるようになります!!

快適なパスキーライフを始めましょう!!

使ってみて

.uf2を張り付けるだけという非常に簡単な操作でパスキーを作ることができました。 基板自体も300円程度で購入したので、コスパとしては良好といえそうです。

しかし、不便な点も多く実用するのには向かなそうです。具体的には、

  • 端末と接続するときにUSBケーブルが必要
  • LEDが眩しすぎる
  • 基板がむきだし
  • セキュリティ上の懸念

などです。

どうやら、これらをすべて解決してくれそうなデバイスがあるようなので、そちらも気になっています。 これだと

  • USB-Aに直接挿せる
  • RP2350を搭載しているためRP2040よりもややセキュリティが高い

ので、ケースを自作するなどすれば、実用的なパスキーができるかもしれません。

これ

Hugo で構築されています。
テーマ StackJimmy によって設計されています。