WebAuthnクレデンシャルIDジェネレーター
ガイド
WebAuthnクレデンシャルIDジェネレーター
暗号学的に安全なWebAuthn認証情報IDをBase64url形式で生成するか、既存の認証情報IDをデコードして生のバイトを検査します。バイト長(16〜64バイト)を設定し、複数のIDをバッチで生成し、任意のBase64url認証情報IDをデコードしてバイト数と16進数表現を確認します。
使い方
バイト長(FIDO2仕様では32バイト推奨)を設定し、生成する認証情報IDの数を選択してから、クリックしてください。 生成する各IDはBase64url形式で表示され、コピーボタンが付いています。デコードセクションを使用して、既存の認証情報IDを検査してください。
特徴
- 設定可能な長さ – 16〜64バイト(FIDO2により32バイト推奨)
- バッチ生成 – 一度に複数のID
- 認証情報IDデコーダー – Base64urlを16進数とバイト数にデコード
- Base64url出力 – URLセーフ、パディングなし、WebAuthn APIに対応
- 暗号学的に安全 – 使用
crypto.getRandomValues() - クライアントサイドのみ – IDがブラウザを離れることはありません
よくある質問
-
WebAuthnと認証情報IDとは何ですか?
WebAuthn(Web Authentication API、W3C標準)は、公開鍵暗号化を使用してパスワードレス認証を可能にします。ユーザーがパスキーまたはセキュリティキーを登録すると、認証器はキーペアを生成し、認証情報IDを返します。これは、認証情報を識別する一意の不透明なバイトシーケンスです。サーバーは、認証情報IDを公開鍵と共に保存します。認証中に、サーバーは認証情報IDを送信して、認証器に対応する秘密鍵でチャレンジに署名するように促します。
-
認証情報IDはなぜ暗号学的にランダムである必要があるのですか?
予測可能な認証情報IDは、攻撃者が登録済み認証情報に列挙することを可能にし、どのユーザーがパスキーを登録したかを特定してフィッシングを標的とする可能性があります。FIDO2仕様では、認証器によって生成された認証情報IDは、ランダムなデータと区別できないようにする必要があります。テストまたはモック認証器のためにサーバー側で認証情報IDを生成する場合、CSPRNGを使用することが必須です。
crypto.getRandomValues()Base64urlエンコーディングとは何ですか?また、WebAuthnでなぜ使用されるのですか? -
Base64urlは、Base64のURLセーフなバリアントであり、+を-に、/を_に置き換え、=パディングを省略します。WebAuthnはBase64urlを使用します。なぜなら、認証情報IDはauthenticatorDataとclientDataJSON構造内のJSON文字列として送信する必要があるからです。+および/文字を含む標準Base64は、JSONコンテキストでURLエンコードする必要があり、複雑さが増します。Base64urlは、エスケープなしでデータをコンパクトかつURL、ヘッダー、JSONで安全に保ちます。
WebAuthnは従来のパスワード認証とどう異なりますか?
-
WebAuthnは非対称暗号化を使用します。秘密鍵は認証器(ハードウェアセキュリティキーまたはFace ID/Touch IDのようなプラットフォーム認証器)から決して離れることはないため、サーバーから盗むものはありません。サーバーは公開鍵と認証情報IDのみを保存します。認証は、サーバーが生成したチャレンジに署名することによって秘密鍵の所有権を証明します。サーバーが侵害された場合でも、攻撃者は公開鍵しか取得できません。これは、ユーザーのデバイス上の秘密鍵なしでは無用です。
デコードするBase64urlエンコードされた認証情報IDを貼り付けます
恵 スコアボードが到着しました!
スコアボード ゲームを追跡する楽しい方法です。すべてのデータはブラウザに保存されます。さらに多くの機能がまもなく登場します!
