2023-03-29
IDパスワードを覚える時代を早く終わりにしましょう。ブラウザ上で生体認証する仕組み「WebAuthn」を実験してみました。ChromeやSafariで、指紋認証が動き、特定ハッシュに対して公開鍵暗号を使った電子署名ができていそうです。


「WebAuthn localcheck」
src on GitHub
指紋認証機能付きMacのSafariでアクセスし、「local check」ボタンを押すと、指紋認証する画面が出てきます!

WebAuthnのAPI、navigator.credentials.create({ publicKey }); から受け取ったバイナリデータを decodeFirst を追加した CBOR.js を駆使して、パースして、表示するデモプログラムです。サーバープログラムを使わないローカル版、TypeScriptで書かれた SimpleWebAuthn からの移植です。


Chromeを使うとこういう画面。


公開鍵も毎回変わる様子。登録すると固定化されるのかも? 残念ながら、Ed25519(-8)には未対応。

検証ロジックも作って、簡単なライブラリにまとめたいところです。興味ある方、ご協力ください!

Tweet
クリエイティブ・コモンズ・ライセンス
本ブログの記事や写真は「Creative Commons — CC BY 4.0」の下に提供します。記事内で紹介するプログラムや作品は、それぞれに記載されたライセンスを参照ください。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / 「一日一創」画像 / RSS