其他

YubiKey

YubiKey 是 Yubico, Inc. 发行的,具有 OTP、TOTP、FIDO 2FA、静态密码、Challenge-Response、PIV、OpenPGP Card 等功能的便携密码学硬件。本文主要描述其智能卡相关功能,即 PIV 与 OpenPGP Card。

YubiKey Neo, YubiKey 5 NFC 具有 NFC 功能,其余的 YubiKey 均通过  USB 与主机进行通信。

详细的访问方式如下表所示:

功能 接口 AID
OTP/静态密码(NDEF) USB-HID/NFC D2 76 00 00 85 01 01
U2F USB-HID/NFC A0 00 00 06 47 2F 00 01
OpenPGP USB-CCID/NFC D2 76 00 01 24 01 02 00 00 00 00 00 00 01 00 00
PIV USB-CCID/NFC A0 00 00 03 08 00 00 10 00 01 00
TOTP(OATH) USB-CCID/NFC  A0 00 00 05 27 21 01 01 

FIDO U2F

NXP JCOP Javacard

NXP JCOP 是由 NXP 公司开发的 Javacard 操作系统,NXP 公司的 Javacard 和一些安全芯片搭载了该系统。

其版本命名规则为:

J3 A 080 G dd(d) / T 0B rr ff o

获取详细信息可以发送 IDENTIFY 命令:00A4040009A000000167413000FF00

返回信息格式如下:

 

Canokey

Canokey是开源的安全认证USB设备,提供4个接口:U2F/FIDO2(HID)、OpenPGP Card(CCID)、PIV+OATH(CCID)和WebUSB。

MIFARE Classic

MIFARE Classic 有 1K 和 4K 两种类型,1k 和 4k 代表存储空间的大小。

在 MIFARE Classic 中,有 Sector 和 Block 的概念,每个 Sector 有若干个 Block,其中最后一个 Block 是特殊的(称为 Sector Trailer),保存了这个 Sector 的一些信息:Key A、Access Bits、GPB 和 Key B。对于 Classic 4K,首先是 32 个有 4 blocks 的 sector,然后是 8 个 有 16 blocks 的 sector, 整体的内存布局大概是:

Sector 0:
Block 0
Block 1
Block 2
Block 3(Sector Trailer)
Sector 1:
Block 4
Block 5
Block 6
Block 7(Sector Trailer)
...
Sector 32:
Block 128
Block 129
...
Block 143(Sector Trailer)
...
Sector 39:
...

每个 Block 有 16 字节,一共 256 个 block,所以是 4K 大小的存储空间。Block 0 比较特殊,保存的是生产商写入的信息,不可更改(特殊的卡除外)。

MIFARE Classic 配置 NDEF