この記事は FreeBSD Advent Calendar 2025 10 日目の記事です。
最近、何かと生体認証を求められるようになっています。これは利用者本人である確度が高く安全性が比較的高いという利点がありますが、長いパスワードを入力するくらいなら指紋とか顔認証で済ました方が楽です。なので、普段から利用しているデスクトップ PC の FreeBSD で使える指紋認証デバイスはあるのかどうかゆるく調査をしてみました。
とりあえず買ってみた
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 だと以下のように見えます。
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 が認識不可能なデバイス
このアプリケーション、調べると認識できないデバイスの表がありました。
今回購入したデバイスはこの表にしっかり掲載されています。
ということで、動かないことが確定です。
動く表の方を見るとラップトップ PC に内蔵されていたり指紋認証デバイス自体に指紋情報を持っていて照合するようなデバイスばかりに見えます。
なお、デバイス自体が指紋を照合するデバイスを MOC (Match-on-Chip) というそうです。
おそらく FreeBSD でというより Linux でも動かなそうです。
あまり深く調べられてないですが、指紋認証デバイスと PC 間のやりとりはリバースエンジニアリングが必要なようでとても手間がかかりそうです。
Windows では動くのか
試しに Windows11 で動作確認をしたところ、何の支障なく Windows Hello が使えました。
ただし、おそらくこのデバイスは指紋の管理を 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 で安く売られているのでこれも気になるところです。
まとめ
情報が少なくてどのデバイスなら動くのか全然分かりません。 fprintd の対応デバイスを見るかぎりではラップトップ内蔵のデバイスはそこそこ動きそうです。しかし USB 接続をするデスクトップ向けはある程度投資をして確認が必要そうな雰囲気でした。
そこまで費用と時間をかけて生体認証に対応するのは少々悩ましいです。






