3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

安い指紋認証デバイスを買ったら FreeBSD では全然使える気配がなかった話

Posted at

この記事は FreeBSD Advent Calendar 2025 10 日目の記事です。

最近、何かと生体認証を求められるようになっています。これは利用者本人である確度が高く安全性が比較的高いという利点がありますが、長いパスワードを入力するくらいなら指紋とか顔認証で済ました方が楽です。なので、普段から利用しているデスクトップ PC の FreeBSD で使える指紋認証デバイスはあるのかどうかゆるく調査をしてみました。

image.png
例えば Discord はブラウザ経由でもパスキーが使える

とりあえず買ってみた

image.png

Amazon で 3,000 円くらいで売っているデバイスです。一番安価で売られている部類のデバイスで、同じデバイスが名前とかメーカを変えて売られています。

認識の状態

$ usbconfig dump_all_desc 1.4
ugen1.4: <MAFP General Device MicroarrayTechnology> at usbus1, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (100mA)

  bLength = 0x0012 
  bDescriptorType = 0x0001 
  bcdUSB = 0x0110 
  bDeviceClass = 0x0000  <Probed by interface class>
  bDeviceSubClass = 0x0000 
  bDeviceProtocol = 0x0000 
  bMaxPacketSize0 = 0x0008 
  idVendor = 0x3274 
  idProduct = 0x8012 
  bcdDevice = 0x0100 
  iManufacturer = 0x0001  <MicroarrayTechnology>
  iProduct = 0x0002  <MAFP General Device >
  iSerialNumber = 0x0003  <4250323632373015>
  bNumConfigurations = 0x0001 

MicroarrayTechnology 社が製造されているのでしょうか。
一応、 Windows11 だと以下のように見えます。

image.png
image.png

Windows11 ではドライバを別途インストールする必要はなく認識されました。

FreeBSD で生体認証 (指紋認証) デバイスを使うにはどうするのか

FreeBSD で生体認証デバイス使うには security/fprintd を使うようです。これは pkg で簡単にインストールできます。

$ pkg info security/fprintd
fprintd-1.94.4
Name           : fprintd
Version        : 1.94.4
Installed on   : Sat Nov  8 09:59:17 2025 JST
Origin         : security/fprintd
Architecture   : FreeBSD:14:amd64
Prefix         : /usr/local
Categories     : security
Licenses       : GPLv2
Maintainer     : danfe@FreeBSD.org
WWW            : https://www.freedesktop.org/wiki/Software/fprint/fprintd/
Comment        : Daemon that provides fingerprint scanning functionality over D-Bus

Linux の例を探しても同じアプリケーションを使うようですので、これが一番よいのでしょうか。
ですが、このアプリケーションでは購入したデバイスは認識しませんでした。

$ fprintd-enroll 
Impossible to enroll: GDBus.Error:net.reactivated.Fprint.Error.NoSuchDevice: No devices available

fprintd が認識不可能なデバイス

このアプリケーション、調べると認識できないデバイスの表がありました。

今回購入したデバイスはこの表にしっかり掲載されています。

image.png

ということで、動かないことが確定です。
動く表の方を見るとラップトップ PC に内蔵されていたり指紋認証デバイス自体に指紋情報を持っていて照合するようなデバイスばかりに見えます。
なお、デバイス自体が指紋を照合するデバイスを MOC (Match-on-Chip) というそうです。

おそらく FreeBSD でというより Linux でも動かなそうです。
あまり深く調べられてないですが、指紋認証デバイスと PC 間のやりとりはリバースエンジニアリングが必要なようでとても手間がかかりそうです。

Windows では動くのか

試しに Windows11 で動作確認をしたところ、何の支障なく Windows Hello が使えました。

image.png

ただし、おそらくこのデバイスは指紋の管理を OS (ドライバ?) に委ねている気がします。 USB にどのように指紋情報を送付しているか不明ですのでよく考えると少し不安です。

他のデバイスはどうなのだろう

MOC で確実そうなのは yubikey だとおもいますが、ちょっとお高いです。
ただ、関連パッケージも揃っているようですので、機会があればこちらも試してみたいです。

libyubikey-1.13_1              Library for decrypting and parsing YubiKey One-Time Passwords
py311-yubikey-manager-5.7.2_1  Python library and command line tool for configuring a YubiKey
yubikey-agent-0.1.6_26         Seamless ssh-agent for YubiKeys
yubikey-manager-qt-1.2.0_1     Cross-platform application for configuring any YubiKey

yubikey 互換 (?) だと Amazon で安く売られているのでこれも気になるところです。

image.png

まとめ

情報が少なくてどのデバイスなら動くのか全然分かりません。 fprintd の対応デバイスを見るかぎりではラップトップ内蔵のデバイスはそこそこ動きそうです。しかし USB 接続をするデスクトップ向けはある程度投資をして確認が必要そうな雰囲気でした。
そこまで費用と時間をかけて生体認証に対応するのは少々悩ましいです。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?