item: Kensington VeriMark Desktop 指紋認証キー
今使っているpqiの指紋スキャナがWebAuthnに使えなくて絶妙に不便なので、Kensington VeriMark Desktopを買ってみた。
認識率は良い
センサが広いからか、ほぼ百発百中の認識率。VeriMarkは1モデル除いてテンプレートをセンサ側に持つMatch-in-Sensorになっている。Windowsのbiometricsで言うところのAdvancedセンサ。
過渡的で、中途半端
端的に言えば WebAuthn(FIDO)側は指紋認証になってない ので正直中途半端だと思った。このデバイスは、
- Windows Helloに対応した指紋スキャナ
- CTAP1に対応したタッチセンサ
の複合デバイスなので、 WebAuthnするときは、誰の指でも認証が通る という問題がある。これを↑のWebサイトから読み取るのはかなり困難なのではないか。(事前にドライバとか確認したのでわかってたけど、一般的なユーザには不可能なのではないか。)
サイトの記述としては:
古いFIDO U2F規格を使用しているブラウザには生体認証として利用する代わりに、VeriMarkデスクトップ指紋認証キーをタップして、セキュリティ・トークンとしてお使いいただけます。
のように、一部のシチュエーションだけタッチセンサとして使われるように書かれているが、これは誤解を招く記述で、実際、Kensingtonが提供しているマニュアルではGitHubでCTAP1(U2F)の方を使うように誘導 https://www.kensington.com/siteassets/software-support/verimark/2020-update/verimark-desktop-setup-guide-feb-2021/k20-3461-verimark-desktop-github-setup.pdf している。(最初に出るのがWindowsの内蔵 Platform Authenticatorのプロンプトで、 それをキャンセルして CTAP1の方のRoaming Authenticatorを使わせている。実際には最初のプロンプトに応答しても良いし、そちらなら指紋認証となる。)
デバイスの構成
USB Compositeデバイスで、Windows的なbiometricデバイスとCTAP1のHIDデバイスを複合している。
FIDOの認証は、この表示名である "VeriMark DT Fingerprint Key" で通っている。冷静に考えると指紋認証してないデバイスに Fingerprint って名前を入れるのってちょっとワルくないか。。?
(Version 1.1はCTAP1で、これは指紋認証が使用できないので一応わかるとは言え。。)
指紋認証の勝手対応は不可能
指紋認証を安全に運用するためには、複数回認証に失敗したときにpinにフォールバックする仕組みが必要になる。CTAP1にはそのような機能がないため指紋で認証することはできず、単にタッチセンサとして使う -- つまり 誰がセンサに触れても成功する実装にする しかない。
市場ではWindows HelloとCTAP2の複合デバイスも一応存在するが、あまり一般的ではない。(例えば、Yubikey BioやKensington VeriMark GuardはWindows Helloには対応しない。)
TrustKeyのデバイスはCTAP2とWindows Helloの複合になっていて、任意のOSで(CTAP2の)指紋認証が使え、更にWindowsやMSアカウントのPC上のログオン認証を指紋認証で行える。
何故許されるのか
タッチのみで認証できる = 所有認証であり、このような据置型のデバイスは一般に不味い気がする。例えば、店舗の店頭等に設置するのは望ましくない(盗まれるから & 不特定多数が使うから)。
なので製品の想定として、
- PCは指紋認証でアンロックされる
- PCおよびセンサは据置型で移動できない
- PCを使用するのは不特定多数ではない
- PCはセキュアなロケーションに置かれる
という暗黙の前提があるのではないか。自分のユースケースはこれらにあてはまっているので安全と言って良いと思っているが。。
FIDOソリューションを市販することの難しさ
一般消費者は買うな で良いんじゃないかという気がしている。。どうやれば良いのかちょっと見当がつかない。
製品ラインナップの複雑さ
Kensingtonのカタログ( https://www.kensington.com/siteassets/software-support/verimark/faq-2021/k21-3603-verimarkbrochure2021-v6_1626752318.pdf )がもうすごい混沌としている。
項目 | 無印 | IT | Desktop | Guard |
---|---|---|---|---|
Windows以外で使える? | × | × | × | ○ |
WebAuthn | × | タッチ認証 | タッチ認証 | 多分指紋認証 |
ログオンで指紋認証に使える? | Windowsのみ | Windowsのみ | Windowsのみ | × |
サプライチェーン攻撃の防止
セキュリティキーは模造品ではセキュリティを発揮しない。 ...いやまぁ当然だとは思うけど、100均の南京錠が鍵が共通なので意味がない みたいなのと同じレベルの問題がどうしても存在する。デバイスが固体鍵を持っているかどうかはデバイスの真正性に懸かっている。
例えばYubikeyはYubico-OTPのIDが正当かどうかはWebAPIで判定できるので真正性はそこで担保できるが、 Yubikey BioのようなWebAuthn専用のデバイスではどうしようもない EDIT: プライバシを犠牲にしてAttestationを使える。
このVeriMarkは、シリアルナンバー等がそもそも目視できるところに無く、どうやっても信頼できるデバイスかどうかを判別する方法がない。