はじめに
今話題の逮捕にそなえる人生継続計画を読んだのですが,以下の部分が気になりました.
捜索差押
捜索差押の現場は動画撮影する。暴言や破壊などの不当な行為がもしあれば証拠になり得る。自分のスマホは差押えられるので家族のスマホやデジカメ等で撮影するのが望ましい。警察には止められるが法的な命令ではない。
差押えられたPC等のID・パスワードを教える必要はない。警察からは不利益をちらつかせられたり、それが義務であるかのように言われるが、教える義務はない。
生体認証(指紋や虹彩)は、捜索差押と身体検査の令状の組み合わせで解除させられる。
起訴前の弁護人には捜索差押の立会権が保障されておらず、警察は出入りを禁止できる。
※上記は平野敬弁護士のレポート(後述)による。
これを受けて投稿された次のツイートは,iPhoneの生体認証をワンタッチで切る方法について紹介しています.これは自衛策として有効そうです.
iPhoneの押収に備えてFace ID/Touch ID認証を素早く切る方法を確認した。
— 小野マトペ (@ono_matope) February 10, 2022
・電源ボタンと音量の+または-(Touch ID端末の場合は電源とホームボタン)を長押しして『スライドで電源オフ』画面を呼び出す。
これだけで認証セッションが無効化されるので、次回ロック解除にパスコード入力が必要になる。 pic.twitter.com/bVZkCYbcmP
これを読んで考えたのは,最近のノートPCは指紋認証や顔認証が付いているけど同じようなことはできないのかな?ということです.そこで,バッチファイルひとつ実行するだけで生体認証をオフにできるスクリプトを書いてみました.これを使えば,コマンド1つで指紋認証を解除することが可能です.
コード
スクリプトは1行のPowerShellとそれを実行するバッチファイルだけなので簡単です.
# 生体認証デバイスをオフにする
# classがbiometricであるデバイスが複数ある時にどうなるのかは未検証
Get-PnpDevice | ? {$_.class -like "biometric"} | Disable-PnpDevice -Confirm:$false
このPowerShellスクリプトを次のバッチファイルで実行します.
PowerShell -ExecutionPolicy RemoteSigned "%~dp0%disable-fingerprint.ps1"
pause
実行する際は管理者権限で実行しないとエラーになります.
解説
Windowsに接続されているデバイス(モニター,マウス,キーボード,USB,Bluetooth etc..)の多くはプラグアンドプレイ(PnP)に準拠しています.PnPのおかげで,デバイスをPCに差しただけで自動でWindowsが認識してくれるというわけです.
Get-PnpDevice
はPnPで接続されているデバイスの情報を返すPowerShellのモジュールです.詳しくは公式ドキュメントを参照ください.
GetPnpDevice
で得られた結果には,ステータス,インスタンスID,FrienflyName,クラスの情報が入っており,これらを用いてデバイス一覧をフィルタリングすることができます.
そこで,Get-PnpDevice | ? {$_.class -like "biometric"}
のようにしてクラスがbiometric
のものだけを取り出します.生体認証デバイスはbiometric
クラスが与えられるみたいです.結果は次のようになりました.
自分のPCには指紋認証しかなかったので,1つだけが返ってきました.顔認証や虹彩認証のできるカメラがbiometricクラスになるのかは不明です.
WBDI(Windows Biometric Driver Interface)は生体認証デバイスのドライバーに含まれているものです(参考).Friendly NameからWBDI
でフィルタリングしてもうまくいくかもしれないです.
あとは,この指紋認証デバイスをDisable-PnpDevice
で無効化するだけです.Configure -$false
は確認不要にするオプションです.
実行すると,デバイスマネージャーの指紋認証デバイスがオフになります.
まとめ
PowerShellの簡単なスクリプトでデバイスの指紋認証をオフにする方法を紹介しました.本コードはhttps://github.com/seal-git/disable-fingerprint で見ることができます.
デバイスマネージャー起動して無効化するのと手間はほぼ変わらないのでは?
参考