パスワードによる認証が脆弱であるのはよく知られています。そのため多要素認証としてSMSを使ったり、認証コード生成アプリといった補助ツールが存在します。最近ではYubiKeyのようなハードウェアも使われています。 そんな中、パスワードを使わない認証機能としてPAW.jsが登場しました。

PAW.jsの使い方

まず登録を行います。

メールアドレスを入力するだけです。

登録完了して、日記が書けます。

次にログインです。すでに登録したメールアドレスが表示されます。

ログインできました。

別なWebブラウザではログインできません。

PAW.jsの仕組みは公開鍵認証で、各Webブラウザに対して公開鍵が生成されます。そのため、同じ人であってもWebブラウザが異なるとログインできません。パスワードがない分、セキュリティは十分に強力ですが、万一鍵を紛失するとログインできなくなるので、復旧するための仕組みは何かしら必要でしょう。

PAW.jsはJavaScript製のオープンソース・ソフトウェア(2-clause BSD lisence)です。

jrjr/paw.js: Passwordless Authentication Wallet (PAW) is key-based authentication for the web. The library helps manage identities, their associated public/private keypairs, and signing operations in the browser.