指紋認証でWindows Helloにしてみた。ついでにLinix Helloにもしたいよね。 | Count Zeroの備忘録

Count Zeroの備忘録

日頃の困ったを解消した時の方法をメモしてます。
PC、Linuxネタが多めです。

今日はアリエクのガジェットネタになります。

生体認証でWindows Helloしてみたいなと思い、顔認証カメラ探してみたら、まだまだ私には高額商品なので、

みんな大好きAliExpressでWindows Hello対応指紋認証デバイスを探してみました。

据え置きタイプ、¥1,352-とドングルタイプ¥1,450-というのを見つけました。これなら買える。ということで、

両方購入してみました。据え置きタイプが「WA28」ドングルタイプは型番らしきものはなし。

届いて早速接続してみるとどちらも、一発認識ドライバーも当たり、すぐに使えました。

さすが対応うたっている商品です。

「全指登録して完璧~PIN40桁にしちゃお~」

ところが意外と指紋の認識が厳しく数回失敗して、「PIN入れろや!」とWindowsに言われます。

そこは他人の指で認識しないためにも仕方ないのかなと思い妥協。失敗したら40桁入力です。

据え置きタイプは英語のマニュアルがついています。

 

ドングルタイプは箱にスペックが書いてあるだけです。Windows Helloのマークがついています。
アリエクなので多少箱は変形してます。

スペックは2つとも似たような感じです。

こちらも、据え置きタイプ同様一発認識ドライバも当たりすぐ使えました。デバイスマネージャーで見ると

据え置きタイプ、ドングルタイプもChipsailing Fingerprint UsbDriverで、同じメーカー製のチップを使っているようです。

スペック似ているのもそのせいかな?

これで、ノートPCとデスクトップPCのWIndows Hello対応完了です。

 

どちらのPCもDebian13とデュアルブートにしているんですが、

据え置きタイプはLinuxで動作しないとレビューが上がっていたので、期待はしていませんでしたが、

lsusbで見てみると、

 

ID 2541:0236 Chipsailing CS9711Fingprint

 

と認識はしているようです。ロットによって使ってるチップが違う可能性は否めません。

据え置きタイプ、ドングルタイプ同じIDと名称出たので、外側が違うだけで、据え置き、ドングルどちらも同じ部品のようです。ドライバ探しは一回で済みそうです。

ウェブで検索してみると、githubに有志の方がドライバを上げてくださっていました。

 

 

それじゃLinuxも生体認証導入しちゃおうというわけで、ちょっと頑張てみます。

必要なファイル類を集めます。

 

git clone git clone https://github.com/ddlsmurf/libfprint-CS9711.git

 

cmake
build-essential
fprintd libfprint-2-2
install meson
libglib2.0-dev
libnss3-dev
pkg-config
systemd-dev #<--これが見つからなくてハマりました。
libopencv-dev
doctest-dev
gtk-doc-tools
install gdb
install valgrind
install libgusb-dev
install libcairo2-dev
install libgirepository1.0-dev
libgudev-1.0-dev
他にもビルド中にエラーが出たらインストール

cd libfprint-CS9711

meson setup build 

なんか警告出てたけどERRORじゃないから行っちゃう。
ninja -C build

こちらも警告出てたけどERRORじゃないので行っちゃう。
sudo ninja -C build install


sudo ldconfig

sudo systemctl restart fprintd.service
sudo apt install libpam-fprintd

/usr/share/polkit-1/actions/net.reactivated.fprint.device.policyを開く
et.reactivated.fprint.device.verifyの<allow_any>no</allow_any>のnoをyesに変更する


net.reactivated.fprint.device.enrollの<allow_any>no</allow_any>のnoをyesに変更する

fprintd-enroll

Right-index-fingerを登録します。右手人差し指です。

認証装置に10回くらいペタペタ繰り返し登録すると終わります。


sudo pam-auth-update

fingerprint authenticationに「*」をつけて<了解>


sudo apt install biometric-auth

/etc/pam.d/common-authを開く
「auth [success=2 default=ignore] pam_fprintd.so max_tries=〜」が登録されていることを確認する(画像では3)

sudoでパスワード求められるところが「指紋認証装置に右の人差し指を置いてください」になりました。

タイムアウトや認証失敗するとパスワード入力を求められます。ロックアウトにはなりません。

他の指も登録できます。

左手-親指  fprintd-enroll -f left-thumb

   人差し指 fprintd-enroll -f left-index-finger

          中指  fprintd-enroll -f left-middle-finger

          薬指  fprintd-enroll -f left-ring-finger

          小指  fprintd-enroll -f left-little-finger

右手は「left」が「right」に変わります。

 

ログイン画面も指紋認証にできます。

私の使っている「MATE」(読み方「メイト」だと思っていたら、「マテ」と読むそうです。)ではユーザー名を入力するとパスワード入力の代わりに指紋認証を求められます。装置に指を置いてからログインをクリック・・・。

なんだか、Windows Helloのように一発ではいきません。

スマートじゃないのでログイン画面を変更します。

 

sudo apt install gdm3

sudo systemctl enable gdm.service

sudo reboot

 

認識厳しめですが、スマートにログインできそうです。