Passwordless

ep101 Passwordless | mozaic.fm

を聴いた。そのメモ。

WebAuthn

ウェブ認証 API (別名 WebAuthn) は、ウェブサイトで登録、認証、二要素認証を行うためにパスワードや SMS のテキストを使用するのではなく、公開鍵暗号を使用します。これにはいくつかの利点があります。

  • フィッシングからの保護: 偽のログインサイトを作成した攻撃者は、サイトのオリジンで署名が変わるため、ユーザーとしてログインすることができません。
  • 情報漏洩の影響を軽減: 開発者は公開鍵をハッシュ化する必要がなく、攻撃者が認証に使用した公開鍵にアクセスしても、秘密鍵が必要なため認証ができません。
  • パスワード攻撃に対して無防備: ユーザーによってはパスワードを再利用する可能性があり、攻撃者は別のウェブサイト用にユーザーのパスワードを(例えばデータ漏洩を介して)取得する可能性があります。また、テキストのパスワードは、デジタル署名よりもはるかに容易に総当たりすることができます。

ウェブ認証 API - Web API | MDN

WebAuthn が普及しつつある。

なかなか使い方が慣れないと使うの難しいのあるけど、これが浸透すればよりセキュアなログインが実現できそう。

OTP/HOTP/TOTP

  • OTP: One-Time Password
  • HOTP: HMAC(Hash-based Message Authentication Code) One-Time Password
  • TOTP: Time-based One-time Password

OTP、TOTP、HOTP: 違いは何か? | OneLogin

OTPはパスワードのようなものですが、一度しか使用できません。このため、ワンタイムパスワード(One-Time Password)と呼ばれており、OTPはその略です。セキュリティを強化するための追加の認証メカニズムとして、通常のパスワードと組み合わせて使用されることがよくあります。

ユーザは、スマートフォンアプリ、テキストメッセージ、専用トークン(キーフォブなど)を介して、特定のアプリケーションまたはWebサイトのOTPにアクセスできます。

HOTPの「H」は、Hash-based Message Authentication Code(HMAC)を表しています。平たく言えば、HMACベースのワンタイム・パスワード・アルゴリズム(HOTP)は、イベントベースのOTPであり、各コードの可変値はカウンターに基づいています。

Time-based One-time Password(TOTP)は時間ベースのOTPです。TOTPのシードはHOTPと同様に固定ですが、TOTPの可変値はカウンターベースではなく、時間ベースです。