100 lines
3.2 KiB
Markdown
100 lines
3.2 KiB
Markdown
# PicoKeys: YubiKey 的开源平替
|
||
|
||
!!! danger "重要提醒"
|
||
|
||
近期原作者[对固件代码增加了防回滚等功能](https://linux.do/t/topic/1469991),并且[将Pico Commissioner转入闭源](https://github.com/polhenarejos/pico-fido/issues/216),导致社区产生对原作者行为合理性的[质疑](https://github.com/polhenarejos/pico-fido/issues/245)。有鉴于此,社区已经产生基于原项目的[完全开源分支](https://github.com/librekeys/),但是该分支仍处于不稳定状态,分支的整体结构、更新方向和兼容性问题尚未有明确定论。**无论选择哪个固件,我强烈建议不要将刷入该固件的硬件密钥作为你保存 TOTP 和 Webauthn 密钥的唯一途径,并且妥善保管网站提供的恢复代码。**
|
||
|
||
[Pico Keys](https://www.picokeys.com/)
|
||
|
||
## 材料
|
||
|
||
- [微雪 RP2350-One](https://www.waveshare.net/wiki/RP2350-One)
|
||
|
||
建议使用官方附赠贴纸粘贴在背面Logo处以紧固USB接口
|
||
|
||
## 安装
|
||
|
||
[Getting Started - Pico Keys](https://www.picokeys.com/getting-started/)
|
||
|
||
Pico Fido
|
||
|
||
Raspberry
|
||
|
||
Pico 2
|
||
|
||
For Raspberry Pico, put the Pico device into recovery mode:
|
||
|
||
- Unplug the device
|
||
- While pressing the BOOTSEL button, plug the device to the USB port
|
||
- A mounted flash unit will appear in the File Explorer / Finder named RP2350 (for RP2350 boards)
|
||
- Copy the .uf2 file download previously and copy to the mounted unit
|
||
- The device will unmount the flash unit and will be remounted as a Pico Key. The led light will blink periodically
|
||
|
||
## 初始化
|
||
|
||
++windows+i++ 账户 登录选项 安全密钥 管理
|
||
|
||
插入 Picokey
|
||
|
||
添加安全密钥 PIN
|
||
|
||
## 配置
|
||
|
||
[picoforge](https://github.com/librekeys/picoforge)
|
||
|
||
以管理员身份运行
|
||
|
||
Configuration
|
||
|
||
- Identify
|
||
- Vendor Preset `Yubikey 5`
|
||
- Product Name `Yubico YubiKey`
|
||
- LED Setting
|
||
- LED GPIO Pin `16`
|
||
- LED Driver `WS2812`
|
||
- Brightness `5`
|
||
- LED Dimmable `Switch ON`
|
||
- Touch Timing
|
||
- Touch Timeouts `15`
|
||
- Device Options
|
||
- Power Cycle on Reset `Switch ON`
|
||
|
||
Apply Changes
|
||
|
||
按下开发板上的"Reset"
|
||
|
||
## 使用
|
||
|
||
[Yubico Authenticator App for Desktop and Mobile | Yubico](https://www.yubico.com/products/yubico-authenticator/)
|
||
|
||
添加 TOTP
|
||
|
||
管理 通行密钥
|
||
|
||
- 蓝灯: 设备待机
|
||
- 红灯: 设备处理中
|
||
- 绿灯: 需要用户按 `BOOT` 键以授权
|
||
|
||
``` bash
|
||
ssh-keygen -t ed25519-sk -O resident -O verify-required -O application=ssh:custom_name -O user=my_username
|
||
```
|
||
|
||
https://zhuanlan.zhihu.com/p/691575345
|
||
|
||
## 其他
|
||
|
||
如何正确地擦除并刷写新固件?
|
||
在进行任何操作前,你需要先让 ESP32-S3 进入下载模式(Download Mode / DFU):
|
||
按住板子上的 BOOT(或 0)按钮不放。
|
||
单击一下 RESET(或 EN / RST)按钮。
|
||
松开 BOOT 按钮。
|
||
(此时电脑会重新识别到一个串口设备)
|
||
接下来,根据你使用的刷写工具,选择对应的擦除方式:
|
||
方法一:使用命令行工具 esptool.py(最推荐、最彻底)
|
||
如果你熟悉命令行,使用乐鑫官方的 esptool 是最稳妥的。在终端中执行以下命令彻底清空闪存:
|
||
|
||
``` powershell
|
||
esptool.py --chip esp32s3 --port COM3 erase_flash
|
||
```
|
||
|
||
显示 Flash memory erased successfully 后,你就可以像对待一块全新的 ESP32-S3 一样,用常规方法刷写任何其他固件了。 |