30元成本制作一个实物安全密匙并兼容YubiKey

后记:https://linux.do/t/topic/589888

前言

起因是在

发现了自制安全固件的方案,于是打算做一个试试。做出来容易,但是为了兼容 YubiKey 还是倒腾了好一阵。发出来记录一下,顺便水一贴(被打)
注意:pico keys 的 Fido 没有 OpenPGP ,pico 的 OpenPGP 功能是独立的,可以通过 pico-nuke 重刷,但不能共存。

材料

picokeys 支持 RP2040 RP2350,推荐后者,提供更好的安全性
我这里用的是 Waveshare(微雪) RP2350-One,价格在30元左右。

教程

  1. 在按住 BOOT 键的情况下将硬件插入电脑,此时硬件会被处理为一个类似U盘的储存硬件。
  2. 在 Getting Started - Pico Keys 下载所需要的固件,选项参考
  3. 将得到的 .uf2 文件放入第一步的“U盘”中,此时固件会被加载,文件管理器的页面会被关闭。
  4. 然后前往 PicoKey App - Pico Keys
    • 设置 Vendor 为 YubiKey 4/5
    • VID:PID 参考 Yubico Support Guest Portal 设置为 1050:0407
    • Product Name 设置为 yubico yubikey,只有这样自制的硬件才能被 yubikey 相关的软件识别并管理。
    • LED brightness 设置为 1
    • Options 开启 LED dimmable Secure Boot Secure Lock (特别注意,开启Secure Boot 后这个硬件以后只能使用 pico keys 官方固件,如果不希望这么做但希望开启Secure Boot,可以使用 自签名 )
  5. 点击 Commission via WebUSB ,并按引导选择 pico keys。

齐活,默认的pin是 123456,最好改了它,不然就本末倒置了。你可以在 token2、webauthn.io 等地测试你的新 pico keys,也可以直接在L站添加一个实物安全密钥。

你也可以使用 Yubico Authenticator, YubiKey Manager,ykman等来管理你的设备。

成果展示

image

参考资料

102 个赞

顶一个!

1 个赞

这里空白就行,实际测试过了,新固件修复了。
你猜猜我为什么知道:

rp2350自制fido2 安全密钥

这里fido pin是自己设置不是,123456
只有pgp才是有默认pin

现在30能买到这个板子很少

你问我为什么,我最近刚买2个 :laughing:均价34 :face_with_bags_under_eyes:

2 个赞

这种帖子哪里水:+1:

推荐打印个外壳 可以挂钥匙扣上面

记得硬件密钥至少买两个 防止意外丢失等问题


秀下我的

4 个赞

打印了,但还在制作中,等到了我再晒一次

其实我做这个实验意义大于实用,真正用的时候我可能想不起来…

我当bitwarden和keepassxc的二次验证 用起来还不错

我设置的时候死活识别不出来,左挑挑右挑挑最后在这么调的时候它刚好工作了,所以我就写上了,大概是我的打开方式不对

1 个赞

原理图有吗

算精品教程了,去年论坛一个教程都没有 :joy:
现在论坛已经集齐fido2 、HSM、openPGP 就很好

2 个赞

太强了!

1 个赞

确实不对,:laughing:之前论讨论过, :laughing:
不是你的问题是作者网页+微软问题

我手上2个自制fido2 一个pgp


今天刚到的,准备出掉。

有什么便宜的打印方法吗?我们这边的3d打印机总是失败

1 个赞

我直接嘉立创打印的 两个+邮费好像17左右

1 个赞

秀下我的,忽视那几个洞洞

1 个赞

tb 上想买微雪waveshare的,30元比较难买了,可能买的人多不包邮了

有个差不多的叫什么 原子的,我一开始以为是它自己贴的片,结果到货还是微雪的,不过包邮了

这个方案2月份就在别人博客看到了
但是他没有外壳的方案,佬友们有没有好看点的外壳推荐

:laughing:很秀啊

1 个赞

看看我的,有什么想法么,我正要打算第二版(typec母口)的

哈哈,现在换了RP2305,改成触摸的了。

Rp 2350不过改触摸很好,就是会增加时间和人力成本