Canokey Pigeon今天终于到货了

该页面仍在不断完善中…

前言

在开始玩之前最好先看看官方文档,不然很容易迷,这玩意坑多得一匹666,要是有足够的马内还是入yubikey的坑吧,生态体验会好很多。。。

官方文档

注意!!!千万不要选择中文文档,直到目前为止那个文档还没完善,没英文版的完全,可以选择浏览器翻译来看

CanoKey 的 FIDO2/U2F的PIN可以使用Windows Hello进行设置和更改,但具体项目操作暂时无相关文档

OpenPGP 可以使用gpg命令直接操作,没有任何兼容性问题

PIV可以使用yubico-piv-manager GUI版或者GUI版自带的CLI进行管理

OATH可以使用yubico-authenticator进行管理(需要指定版本),也可以使用新版WebConsole进行管理(有bug,secret太长会导致无法添加)

yubico-authenticator 仅6.0以前的版本支持canokey,6.0以后包括6.0不支持canokey,下面是历史版本下载地址

https://developers.yubico.com/yubioath-flutter/Releases/

下面是yubikey-manager下载地址(可能不怎么好用,看情况吧)

https://github.com/Yubico/yubikey-manager/releases

yubico-piv-manager GUI版(自带CLI 并且可以操作Canokey!!!)

https://developers.yubico.com/yubikey-piv-manager/Releases/

tips生成密钥后可能会提示“PIN密码错误多次,智能卡已锁”,即使PIN是正确的。这时候不必担心,只需要关闭程序,将卡拔掉重新插入

然后再次启动即可

开箱

首先我怀着期待的心情打开了快递的外包装,发现老板还送了挂绳和转接头(开心.jpg

下面是图



二话不说马上跑到寝室接上电脑来玩

使用

控制台

首先系统就会提示你打开控制台地址https://console.canokeys.org/
这个就是之后我们操作CanoKey的工具了

注意!!! 控制台分新版和旧版,新版和旧版之间各有可取之处,一起使用更佳

下面是新版和旧版控制台的图片

新版


旧版




旧版不能设置中文,建议搭配浏览器自带翻译一起食用

初步设置

默认密码

PIN 名称 默认值 说明
Admin PIN 123456 用于在 web console 上管理 CanoKey 上的不同应用,如,重置应用,修改触摸策略等。
FIDO2 PIN 部分强制使用 PIN 的 FIDU2/U2F 应用会询问此密码。FIDO2 PIN 没有预设值。用户在首次使用强制 PIN 的 FIDO2/U2F 应用时会收到设置 FIDO2 PIN 的提示,此时用户可以自己设置该 PIN。
GPG PIN 123456 用于常规 GPG 操作,如 GPG 签名等。
GPG Admin PIN 12345678 用于 GPG 应用的管理操作。例如,在 CanoKey 上生成 GPG 密钥对,或者修改 GPG 密钥属性时,会需要该 PIN。
PIV PIN 123456 用于常规 PIV 操作,例如 PIV 身份认证、通过 PKCS#11 调用 PIV 进行签名等。
PIV PUK 12345678 用于在 PIV PIN 被锁定后的解锁操作。

FIDO2 PIN更改

这里就是一个我觉得奇葩的地方了,官方控制台没有相关选项。。。。。。
他的具体设置在Windows设置内
如下图

而且目前我没找到任何可以单独重置这块区域的设置。。。只能全局重置

重置

在上面图已经不难看出,可以从控制台分别重置不同区域的密码和保存的密钥,除非你忘记了Admin密码,那就只能全局重置了

坑(或者说不满意的地方)

  • FIDO2 默认无密码且console没有设置选项
  • FIDO2 需要在Windows设置内修改密码
  • FIDO2 无法单独管理webauthn
  • FIDO2 无法单独重置,只能通过全局重置的方式(Windows设置内的重置无效)
  • 新版console全局重置只能等admin pin锁定后才能使用
  • 新版console简单但功能不怎么多
  • NFC功率太小
  • 旧版console侧边栏没有openpgp选项,要点击overview里面才看得到选项。。。

玩法

精玩FIDO2/U2F、OpenPGP、PIV

FIDO2/U2F

支持的功能:

  • 多达 64 个驻留密钥
  • HMAC 扩展
  • Ed25519

这个没什么好多说的,用得最多的还是网站登录时的webauhtn,有手就行

下面是我启用两步验证的网站

服务 要求
自建Gitea 第二步(强制)
Github 第二步
Microsoft 免密码登录
Google 第二步
Cloudflare 第二步
Twitter 第二步

OpenPGP

支持的算法:

  • RSA2048
  • RSA4096*
  • X25519
  • Ed25519
  • NIST P-256 (secp256r1, prime256v1)
  • NIST P-384 (secp384R1)
  • secp256k1

*由于计算性能的限制,无法在卡中生成RSA4096。但是,您可以生成密钥对并将其导入 CanoKey。

请注意,目前不支持 RSA3072。

  • PIN:默认123456,最小长度 6,最大长度 64
  • 管理员 PIN:默认 12345678,最小长度 8,最大长度 64
  • 重置代码:默认未设置,最小长度 8,最大长度 64
  • 签名 PIN 码:强制 // 即验证每个签名
  • 触摸策略:关闭 SIG、DEC、AUT
  • 触摸缓存时间:0

具体各种参数和用法请参考官方文档

PIV

默认密码:

PIN: default 123456
PUK: default 12345678
Management Key: default 010203040506070801020304050607080102030405060708

注!!!文章开头的默认密码没写Management Key!!!在管理PIV的时候与PIN组合使用

具体使用方法请参考官方文档

通常,在开始使用PIV之前,您应该初始化持卡人唯一标识符(CHUID)和持卡人Capability Container(CCC)

1
2
yubico-piv-tool -r canokeys -a set-ccc
yubico-piv-tool -r canokeys -a set-chuid

注:如果你一开始已经修改了Management Key,请在上方命令里加入-k参数来指定新的Management Key

否则会出现Failed authentication with the application.

因为上方原始指令在不加-k参数时会传入默认的Management Key,导致无法通过验证!!!

NDEF

就一个类似于NFC标签的那种,可以记录一些信息(未加密!!!)

OATH

就像那种两部验证用的六位一次性数字,只是说支持在CanoKey里面设置

注!!!TOTP所需要的时间是由连接硬件的计算机通过USB接口传输的,CanoKey本身不带任何计时装置,所以如果计算机时间不准可以无法使用该功能!

参考

User Guide :: CanoKeys

CanoKey Pigeon 的开箱 & 折腾

Canokey 指南:OTP,FIDO2,PGP 与 PIV

使用 PIV 和 PKCS#11 验证 SSH(客户端)

[linux]GPG全面指令 ((子)密钥的创建/删除/吊销/上传/修改及基本的安全流程)

2021年,用更现代的方法使用PGP(上)PGP基础

GPG 入门教程

https://blog.cubercsl.site/post/canokey-unboxing/

Canokey Pigeon 从开箱到上手

Canokey配置OpenPGP/PIV/NDEF