
デスクトップ型のMacで指紋認証を使うには、Apple製のキーボードを買うしかない。指紋の読み取りがApple自身のハードウェアに結び付いているためで、気に入ったキーボードを使っている人は、便利さと手元の環境のどちらかを諦めることになる。Zimeng Xiong氏が公開した「tinyTouch」は、キーボードを置き換えずに指紋認証だけを足す小さなUSB機器だ。3Dプリントの筐体に、Seeed StudioのXIAOと同じ形状のESP32-S3ボードと、UARTでつながる円形の指紋センサーZW101を収めている。
難所は、macOSにどう認めさせるかにあった。同氏が選んだのは、Secure EnclaveやTouch IDの通信を解析する道ではない。macOSが元から対応しているPIVスマートカードとして振る舞う方法だ。認証のとき、Macは暗号の問いかけを機器へ送り、機器は内部に保管した秘密鍵で署名して返す。ファームウェアは指紋が一致するまでその鍵を使わせないので、スマートカードの認証の手前に生体認証が挟まる形になる。
使い方は2通り用意されている。いま述べたPIVモードに対し、HIDモードでは機器がUSBキーボードとして振る舞う。パスワード本体はMac側に常駐するソフトが暗号化して保管し、機器が持つのは対になる鍵だけだ。指紋が一致すると機器が署名付きの要求を送り、ソフトはその1回限りの暗号文を返す。機器はメモリー上で復号して打ち込み、直後に消す。ロック画面もsudoも、パスワードを受け付ける場所ならほぼどこでも通る反面、最後に本物のパスワードが入力欄へ打ち込まれる点は変わらない。PIVモードのほうはmacOSが暗証番号の入力を求めるため、ファームウェアがダミーの数字を打つ。これはMacのパスワードではなく、通過のためだけの数字だ。
同氏は弱点も表にして並べている。最大の穴は指紋センサーとESP32-S3の間にある。照合はセンサーの内部で完結し、両者をつなぐUARTには認証も暗号化もない。つまり配線に触れる者は「一致した」という応答を偽装できる。当座の対策として筐体の中を黒いエポキシ樹脂で埋める方法を挙げ、根本的にはより安全なセンサーへの交換が要ると書く。ただしどの攻撃も、機器とMacの両方に物理的に触れられることが前提になる。機密を扱う仕事や会社から支給された端末で使うなら、純正のキーボードを買う価値は十分にあるというのが同氏の結論だ。

