1372 字
7 分钟

使用PicoKeys项目在树莓派RP2350上自制简易YubiKey。

2025-12-18
2026-01-23 UPDATE

原作者将项目商业化了,现在配置软件要30欧,甚至将时光机里的备份都给删了。以下教程都已失效,仅供参考。 我翻Issue时,看到有些人在讨论这个,他们有给一个新仓库叫LibreKey,里面有个开源的配置软件PicoForge,好像可以用来替代,但我还没怎么研究,各位可以先自己看看,过段时间我再研究研究咋用。

前言#

最近网上冲浪发现了一个很有意思的项目叫PicoKeys。就是可以用树莓派基金会的RP系列MCU自制一个YubiKey类似物,可用于PassKey啊,TOTP啊之类的验证。像我虽然PassKey基本不用,但是TOTP用的挺多,现在都是存在手机里,手机在的时候还好,不在的时候用起来确实麻烦,有一个这种硬件的,就可以很多地方用了。

工具物料准备#

  1. 硬件:微雪的RP2350-One
  2. 外壳:wtser大佬修改的外壳
  3. 固件:Pico-Fido2
  4. 电脑(系统随便)
  5. 安卓手机+OTG线

说说为啥这么选,硬件选微雪是因为起码他的元件,比如LDO选的起码是有牌子的,还带WS2812B小彩灯,还都沉金了,简单来说就是虽然小贵,但是省心。注意有些店铺可能要运费,有些不要,自己选喽,最好选旗舰店,小店可能是抄板的,IC可能是拆机的。

选RP2350是因为他的OTP空间大,以及相比老的RP2040升级不少东西,但我最近买的好像还是A2步进,不是最新修了一堆BUG的A4布进,不过也无所谓啦,PicoKeys又不接外设,不影响。

选wster大佬的外壳是因为,够轻够小,淘宝花点钱就能打一堆(感觉主要都是运费),如果需其他外壳可以自己去搜搜。

选Fido2固件是因为这个固件结合了FIDO PasskeyOpenPGP smartcard,不用陷入选择困难,问就是全都要,哪怕我不用。

刷机开工#

1. 下载固件#

打开Pico-Fido2的仓库,去Release里下载RP2350-One的对应固件,后缀为.uf2

polhenarejos
/
pico-fido2
Waiting for api.github.com...
00K
0K
0K
Waiting...

靠,写文的时候才发现编译产物和源码作者给删了…那就没办法了,只能去PicoKeys官网下载fido固件,注意我们的是WaveShare RP2350-One,别选错啦,RP2350是不内封Nor Flash的,选错可能会出问题?有的开发板好像是16M闪存吧,甚至还带PSRAM,微雪这个好像才4兆。

下好后,树莓派rp系列MCU的烧录贼简单,可不用daplink+openocd那些东西,直接按着Boot键,然后插入电脑USB口通电,系统就会自动弹一个名为RP2350U盘插入的提示,再把下好的uf2固件往里面拖就行,然后就OK了。

2. 配置固件#

Caution

以下配置需写入OTP,这东西只能写一次,写完就再也改不了了,所以一定要多检查一下,不然血亏30+。

固件配置就是用安卓手机用OTG线连接开发板,然后Chrome打开配置网站,去配置一下就行,为啥用安卓手机是因为电脑WebUSB配置基本上是成功不了的,只能用WebAuthn,但有些选项WebAuthn是配置不了的。

UPDATE

更新:靠,写文的时候发现,这玩意。作者也更新了,老的打不开了,目前得自己编译,据说还会多选项。

配置项这么填
Select a known vendorYubikey 4/5
or use a custom VID不填
Presence Button Timeout默认
LED brightness反正套外壳,默认
LED GPIO pin / LED driver不填
Product NameYubico YubiKey
Options 必选LED dimmable + Initialize + Secure Boot + Secure Lock + Power Cycle on Reset
Options 可选Secp256k1 curve,注意安卓不可用

接下来点击 Commission via WebUSB,再在浏览器的弹窗里面选PicoKeys就行啦。

3. 下载软件#

那必然就是用yubico-authenticator啦,微软商店下载好后,直接照着弄就行,前面你如果填的都没问题,那自动就能识别到。 如果需要OpenPGP,那可以下载Kleopatra来管理,Win系统下Gpg4win会自带,邮件签名啥的也可以用这个。

Tip

像使用时,有些软件会提示你,叫你按按钮,那个按钮就是Boot或叫bootsel按钮,你刷机时的那个,注意不要按到旁边的Reset按钮了,那就重启啦。

4. 套外壳#

套外壳,好像啥时候装都行。注意这个装上后,槽会翘出来,可能是打印机的问题,反正涂胶固定喽。不过这个模型不带钥匙孔,有些可惜。我是淘宝上花了15块钱打印的,好像是有点贵,但我有红包,也还好,主要就是运费嘛。

5. 其他#

PicoKeys这东西吧,肯定是不如原版YubiKey的,原版还能NFC啥的嘛。并且用官方的PicoTools也能直接提取加密固件,所以也要小心丢失。但十几块要啥自行车,YubiKey现在都涨到500+了吧,我靠,这玩意一买至少还得两把才保险,这谁用的起,我的账号还没这么金贵啊😲。

参考#

  1. 做一把 Pico Key
  2. 分享yubikey硬件密钥的开源替代 + 我为它设计的外壳
  3. FIDO Passkey for Raspberry Pico and ESP32
  4. wtser外壳模型
  5. PicoKeys官网

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!

赞助
使用PicoKeys项目在树莓派RP2350上自制简易YubiKey。
https://blog.ipixeloldc.com/posts/pico-key/
作者
iPixelOldC
发布于
2025-12-18
许可协议
CC BY-NC-SA 4.0
最后更新于 2025-12-18,距今已过 42 天

部分内容可能已过时

评论区

Profile Image of the Author
iPixelOldC
你好,我是iPixelOldC ꒰。•◡•。꒱
公告
欢迎来到我的博客 ⸜(* ॑꒳ ॑* )⸝,如果评论区等无法显示,麻烦刷新一下页面(╥﹏╥)
分类
标签
站点统计
文章
5
分类
3
标签
4
总字数
4,051
运行时长
0
最后活动
0 天前

目录