セキュリティ

パスワードレス認証とは?方式4分類の実装難度と移行判断を実装者向けに解説

パスワードを廃止したいという要件が来たとき、最初に決めるべきは製品ではなく方式です。パスワードレス認証は公開鍵を使うパスキーだけを指す言葉ではなく、メールのマジックリンクやデバイス証明書まで含む幅のある概念で、どれを選ぶかで実装工数もフィッシング耐性も一桁変わります。本記事では、知識要素をサーバへ送らないという技術的な境界から定義を整理し、4方式それぞれのサーバ側検証処理、既存のID基盤をパスワード併存から無効化へ進める段取り、端末紛失時の復旧経路が全体の強度を決めてしまう制約、そしてNIST SP 800-63-4のAAL要件にもとづく採否の線引きまでを、実装の順序で扱います。

まとめ:方式選定の結論とパスワードレス化を見送る場面

結論から置きます。新規にログイン機能を作るなら、方式はFIDO2にもとづくパスキー一択です。ブラウザとOSに実装が入っているため追加のクライアント配布が不要で、認証器が署名対象にオリジンを含めるという仕組み上、偽サイトへ資格情報を渡す経路が構造的に閉じます。マジックリンクは実装が半日から数日で済む代わりに、強度の上限がユーザーのメールボックスの強度に固定されるため、決済や個人情報を扱う画面の主認証には置けません。

既存サービスの移行は一気にやらないでください。パスワードと併存させたままパスキーを任意登録にする段階、ログイン画面の初期表示をパスキー優先へ切り替える段階、登録率が閾値を超えた集団からパスワードを無効化する段階の3つに分け、各段階に数値の完了条件を置きます。設計で最後まで残るのはリカバリです。端末を失った人をどう戻すかを弱い手段で埋めると、そこが実質的な認証強度になります。

見送るべき場面も3つあります。共有端末を複数人が交代で使う運用、社給端末を配れない外部委託者が主な利用者となる業務、本人確認をコールセンターの口頭確認に依存している業務。いずれもパスワードレス化が運用の穴を増やします。

パスワードレス認証の定義と多要素認証・二段階認証との技術的な境界

言葉の範囲が曖昧なまま要件定義に入ると、後工程で「これはパスワードレスなのか」という議論が再燃します。境界を先に固めます。

知識要素をサーバへ送らない構成という定義と誤解されやすい範囲

パスワードレス認証とは、利用者が記憶した秘密(パスワード・秘密の質問・固定PIN)をネットワーク越しにサーバへ提示させない認証構成を指します。判定基準はひとつ。認証情報がサーバ側で照合されるかどうかです。

ここで混乱を招くのがPINです。Windows HelloやパスキーのログインではPINを入力する場面がありますが、この値は端末内のセキュアエレメントに閉じたユーザー検証(UV)に使われるだけで、サーバへは送られません。サーバが受け取るのは秘密鍵による署名だけ。したがってPIN入力を伴うパスキーはパスワードレスに含まれます。逆に、パスワードとSMSワンタイムパスワードを組み合わせた構成は二要素ですが、記憶した秘密をサーバへ送っている以上パスワードレスではありません。

多要素認証との重なりとパスワードレスMFAが成立するための条件

パスワードレスと多要素は排他ではなく、直交する軸です。認証要素は知識・所持・生体の3種類に分類され、パスワードレスは「知識をサーバ照合に使わない」という制約、多要素は「異なる2種類以上を使う」という制約を指します。

両立の典型がパスキーです。端末という所持要素と、生体またはPINによるローカル検証が組み合わさるため、1回の操作で多要素の条件を満たします。要素の分類とフィッシング耐性の関係は多要素認証(MFA)の3要素と耐フィッシングMFAの実装方式で整理しているので、要件定義でAALの水準を決める前に突き合わせてください。一方でマジックリンクは所持要素1つだけの単要素認証にとどまります。パスワードレスであっても多要素ではない、という組み合わせが実在する点を見落とさないでください。

実装方式4分類の仕組みと認証強度・フィッシング耐性という評価軸

実務で選択肢になるのは4方式です。評価軸はフィッシング耐性、実装工数、端末要件、リカバリの難度の4つに絞ります。

公開鍵方式(FIDO2・パスキー)が偽サイトを構造的に弾く根拠

FIDO2はブラウザAPIのWebAuthnと、認証器との通信規約であるCTAPの組み合わせを指します。登録時に認証器が鍵ペアを生成し、公開鍵だけをサーバ(RP)へ渡す。認証時は、サーバが送ったチャレンジと、接続先オリジンから導出したrpIdのハッシュを含むデータに秘密鍵で署名します。

フィッシング耐性の根拠はこのオリジン束縛にあります。利用者が偽ドメインでパスキーを使おうとしても、そのドメイン向けの鍵は存在せず、認証器は署名を返しません。ワンタイムパスワードのように「利用者が転記してしまえば成立する」経路が存在しないという点が、他の3方式との決定的な差です。規格の階層関係や旧仕様との関係はFIDO認証の仕組みとFIDO2・パスキーの位置づけで詳述しています。

マジックリンクとメールOTPが実装で踏むメールゲートウェイの罠

マジックリンクは、ワンタイムのトークンを含むURLをメールで送り、クリックでセッションを張る方式です。実装は軽い。既存のメール送信基盤があれば、トークンテーブルと検証エンドポイントの追加で動きます。

ただし、法人向けサービスで必ず踏む地雷があります。企業のメールセキュリティゲートウェイやチャットツールのリンクプレビューが、利用者より先にURLへアクセスしてしまう問題です。使い捨てトークンをGETで消費する実装だと、利用者がクリックした時点でトークンは消えており、「リンクが切れている」という問い合わせが定常的に発生します。対策は、GETでは確認画面を返すだけにして、利用者のPOST操作でトークンを消費する二段構えにすること。加えて、リンク発行時のブラウザセッションと消費時のセッションを突き合わせ、別端末での消費を弾く設計を入れます。

ワンタイムパスワードとデバイス証明書を選ぶ社内システムの条件

認証アプリのTOTPやSMSを単独の主認証に据える構成も、形式上はパスワードレスです。しかし利用者が数字を転記する以上、リアルタイム中継型のフィッシングは防げません。既存資産としてトークンが配布済みの場合の暫定手段と割り切ってください。

社内システムでは、クライアント証明書やMDM管理下のデバイス信頼を主認証に据える構成が現実的な選択肢になります。端末が会社支給に限定されている環境なら、利用者の操作をほぼゼロにできる。反面、証明書の配布と失効の運用コストがそのまま残り、退職者端末の証明書失効が漏れると穴になります。4方式の比較を下表に整理します。

方式 フィッシング耐性 実装工数の目安 端末・環境の要件 リカバリ難度
パスキー(FIDO2) あり(オリジン束縛) 2週間から1か月 対応OS・ブラウザ/セキュリティキー 高(複数登録の設計が必須)
マジックリンク なし(中継可) 数日 メール到達性のみ 低(メール再送で復帰)
OTP単独(TOTP/SMS) なし(転記可) 1週間前後 スマートフォンまたはトークン 中(再発行フローが要る)
デバイス証明書 あり(鍵は端末外へ出ない) 1か月以上(配布運用込み) 管理端末・PKI基盤 高(再発行に承認工程)

表の工数は、既存のログイン機能がある前提での追加分です。ゼロからID基盤を作る場合は、この数字に基盤側の設計が乗ります。

方式別のサーバ側検証処理と鍵・トークン管理の実装で詰まる箇所

設計レビューで抜けやすいのはサーバ側です。クライアントのAPI呼び出しはサンプルコードで済みますが、検証処理を落とすと認証が成立しているように見えて実際は素通りします。

WebAuthnのRP実装で保存する5項目と登録時に検証する4項目

登録レスポンスから永続化するのは、credentialId、公開鍵、署名カウンタ(signCount)、認証器の識別子であるaaguid、そして接続経路を示すtransportsの5項目です。ユーザー1人に対して複数レコードを持てる構造にしておく。ここを1対1で設計すると、後述する複数端末登録が実装できず作り直しになります。

検証側で落としてはならないのは4つ。サーバが発行したチャレンジと一致するか、clientDataJSONのoriginが自サービスのオリジンと一致するか、authenticatorDataのrpIdHashが期待値と一致するか、UPおよびUVのフラグが要求水準を満たすかです。認証時はこれに加えて署名検証と、保存済みsignCountとの比較による複製検知を行います。navigator.credentials.create()navigator.credentials.get()の呼び出し形と、サーバ側の検証項目の詳細はWebAuthnの登録・認証フローとRP実装の要点にまとめています。

W3Cの「Web Authentication: An API for accessing Public Key Credentials – Level 3」は2026年5月26日付のCandidate Recommendation Snapshotとして公開され、2026年6月23日までフィードバック期間が設定されました(2026年8月時点)。Level 3系の新機能に依存する実装は、対応ブラウザの実装状況を個別に確認してから採用してください。

マジックリンクのトークン設計と使い捨て処理の実装順序と失効判定基準

マジックリンクの実装は短いぶん、抜けが致命傷になります。順序を固定して実装してください。

  1. 128ビット以上の乱数をCSPRNGで生成し、生の値はメール本文にのみ載せる
  2. データベースにはハッシュ化した値だけを保存し、有効期限(5分から15分)と発行時セッションIDを併記する
  3. GETリクエストでは確認画面を返し、トークンを消費しない
  4. POST受信時にトランザクション内で使用済みフラグを立て、同一トークンの二重消費を排他する
  5. 消費後に既存セッションを再生成し、固定化攻撃の経路を断つ

有効期限を延ばす要望はほぼ必ず出ますが、15分超は避けてください。メールボックスの閲覧権限がそのままログイン権限になる方式の性質上、期限だけが露出時間を縛る制御になります。

ライブラリ選定と自前実装で工数が膨らむ判断の分かれ目となる保守条件

WebAuthnのRP実装をゼロから書く理由はほとんどありません。Node.jsならSimpleWebAuthn、JavaならWebAuthn4J、Pythonならpy_webauthnといった実装が、CBORのデコードと署名検証、attestationの検証まで面倒を見ます。自前で書くとCOSE鍵形式の扱いとattestationステートメントの検証で必ず時間を溶かします。

工数が膨らむのはライブラリの外側です。既存ユーザーとcredentialの紐付けテーブル、複数端末の管理画面、認証器を1つも持たない状態への転落を防ぐ削除時のガード、そして監査ログ。ここは業務要件に依存するため既製品では埋まりません。見積もりの重心をこちら側へ置いてください。

既存ID基盤への段階移行の手順とアカウント復旧の設計上の制約

稼働中サービスのパスワード廃止は、機能追加ではなく移行プロジェクトとして扱います。既存ユーザーの登録率が上がらないまま強制切り替えを行うと、問い合わせが一気に立ちます。

パスワード併存から無効化までの3段階と各段階の完了条件となる監査基準

段階と完了条件をセットで定義します。条件を数値化しないと、次段階へ進む判断が担当者の感覚になります。

  1. 併存期:ログイン後にパスキー登録を任意で促す。完了条件は、月間アクティブユーザーの登録率が30%を超え、登録処理のエラー率が1%を下回ること
  2. 優先期:ログイン画面の初期表示をパスキーへ切り替え、パスワード入力は折りたたむ。ブラウザの自動入力欄からパスキーを提示する条件付きUI(mediation: conditional)を入れる段階でもある。完了条件は登録率70%超
  3. 無効化期:登録済みユーザーからパスワード認証経路を閉じる。未登録者は併存のまま残し、期限を切って個別に案内する

3段階目で全ユーザーを一律に切ろうとしないこと。登録済み集団と未登録集団でフラグを分け、段階的に閉じる設計にしておくと、想定外の端末環境が残っていた場合の巻き戻しが局所で済みます。

端末紛失時の復旧経路が全体の認証強度を決めてしまう制約と評価軸

パスキーを1台だけ登録した利用者が端末を失う。この状況をどう扱うかが、設計全体で最も難しい判断になります。復旧手段をメール送信のリンクに落とすと、攻撃者から見た最短経路はパスキーではなくメールボックスになり、フィッシング耐性という導入目的が消えます。

現実的な設計は3つの組み合わせです。第一に、登録時点で2つ目の認証器(別端末またはセキュリティキー)の登録を促し、単一登録のまま放置しない。第二に、同期パスキーを許容し、プラットフォームのアカウント経由で新端末へ引き継げる状態にする。第三に、それでも失った利用者向けに、本人確認書類の提出やヘルプデスクの承認を挟む低頻度の窓口を用意する。復旧経路の強度が全体の上限になるという制約は動かせないので、上限をどこに置くかを要件として明文化してください。

会員基盤の移行で残りやすい旧経路とデータ設計の見直し範囲の判断基準

移行後に穴として残りやすいのは、ログイン画面ではない場所です。パスワードリセットのAPI、モバイルアプリの旧バージョンが叩く認証エンドポイント、外部連携用のBasic認証、そして管理画面。ログイン画面からパスワード欄を消しても、これらが生きていればパスワードは有効なままです。無効化期には、認証に到達しうる全エンドポイントの棚卸しを行ってください。

会員テーブルの構造自体が1ユーザー1認証手段を前提にしている場合、認証手段を別テーブルへ切り出す改修が先に必要になります。既存の会員データを保持したまま認証方式を差し替える設計は、会員管理システム開発で扱っている領域です。移行の順序とデータ設計をあわせて検討する段階で相談してください。

NIST SP 800-63-4のAAL要件から見た業務種別ごとの採否の基準

「どこまでやれば十分か」を社内で合意するには、外部の基準を持ち込むのが早い。米国NISTの基準は日本の民間サービスでも参照実装として通用します。

AAL2とAAL3で認められる認証器の差と同期パスキーの制約

NISTは2025年7月31日付で「Digital Identity Guidelines」SP 800-63-4を最終版として公開しました。認証とライフサイクル管理を扱う分冊がSP 800-63B-4です(識別確認が63A-4、フェデレーションが63C-4)。

実装判断に効くのは2点です。AAL2ではフィッシング耐性のある認証手段を選択肢として提供することが求められ、AAL3ではフィッシング耐性に加えて認証鍵が端末外へエクスポートできないことが条件になります。つまり、クラウド同期されるパスキーはAAL2では認められる一方、AAL3の水準には届きません。AAL3が要件になる領域では、同期しないデバイス束縛型のパスキー、あるいはセキュリティキーを配布する構成が必要になります。同期の可否を製品選定の後で気づくと、認証器の配布計画から作り直しになります。

BtoC会員基盤とBtoB業務システムで結論が分かれる理由と運用責任の差

同じパスワードレス化でも、利用者の性質で答えが変わります。BtoCの会員基盤は端末環境を統制できないため、同期パスキーを主軸に置き、未対応環境向けにマジックリンクを補助線として残す構成が現実解です。登録率を上げるほど効果が出るので、優先期の条件付きUI導入まで一気に進める価値があります。

BtoBの業務システムは逆です。端末が支給品に限定されるならデバイス束縛型のパスキーやクライアント証明書を選べ、AAL3相当まで届きます。ただし外部委託者やパートナー企業のアカウントが混ざる場合、そこだけ統制が効かない。この層に限ってIDaaS側のポリシーで別扱いにするか、業務範囲を絞るかを先に決めてください。全員一律の方式で設計すると、必ず弱い層に引きずられます。

自前実装とIDaaS委譲の分岐点とパスワードレス化を見送る条件

最後に、作るか買うかと、そもそもやらない判断について言い切ります。

IDaaSへ寄せる判断ラインと自前実装が合理的に残る場面を分ける責任範囲

認証基盤をIDaaSへ委譲すべきなのは、社内システムのSSO統合が主目的の場合、対応すべきIdPやプロトコルが複数ある場合、そして監査対応のログ要件が厳しい場合です。この3つに当てはまるなら、WebAuthnの検証処理を自社で保守する理由はありません。委譲の判断材料はIDaaSとSSO・IdPの違いとSAML・OIDC・SCIM連携に整理しています。

自前実装が残るのは、ログイン体験を自社のUIに完全に埋め込みたいBtoCサービス、ユーザー数が数百万規模で従量課金が効いてくるケース、そして会員データを外部へ出せない制約があるケースです。判断の分岐点はユーザー単価。IDaaSの月額がユーザー1人あたりの粗利を侵食し始める規模なら、自前で持つ計算が成り立ちます。

共有端末・委託者運用でパスワードレス化を採用しない条件と代替経路の要件

採用しないほうがよい条件を挙げます。工場のライン端末や店舗のPOSのように、1台を複数人が交代で使う運用では、端末束縛の認証器がそもそも成立しません。この環境ではICカードと個人PINの組み合わせのほうが運用に合います。次に、利用者の大半が短期の外部委託者で、認証器の配布も回収もできない業務。登録と失効の運用コストが便益を上回ります。

もうひとつ、本人確認をコールセンターの口頭確認に依存している業務も見送り対象です。ログインだけをパスワードレス化しても、電話で本人確認を通せば操作できる状態が残るなら、攻撃者はそちらを使います。この場合に先に手を付けるべきは、認証方式ではなく本人確認手順のほうです。パスワードレス化は、認証以外の経路が十分に固まっている組織でこそ効果が出ます。

よくある質問

設計レビューや社内説明の場で繰り返し出る質問を、5つに絞って答えます。

パスワードレス認証とパスキーは同じものですか?

同じではありません。パスワードレス認証は、記憶した秘密をサーバへ送らない認証構成の総称で、マジックリンクやデバイス証明書も含みます。パスキーはその中の1つで、FIDO2の仕組みにもとづく公開鍵方式の認証情報を指す呼び名です。フィッシング耐性を目的にパスワードレス化を進めるなら、選ぶべきはパスキーになります。総称と具体的な方式名が混同されたまま要件定義が進むと、後から「マジックリンクで実装した」という食い違いが起きます。

パスワードレス認証は多要素認証より安全といえますか?

方式によります。パスキーは端末という所持要素とローカルのユーザー検証を組み合わせるため、パスワードとSMSワンタイムパスワードの二要素より強い構成です。一方、マジックリンク単独は所持要素1つだけの単要素で、パスワードと多要素の組み合わせより弱くなります。比較すべきは「パスワードレスかどうか」ではなく、フィッシング耐性の有無と要素数です。

導入にはどれくらいの期間と工数がかかりますか?

既存のログイン機能がある前提で、パスキー対応の追加は2週間から1か月程度が目安です。内訳はライブラリ組み込みが数日、credential管理テーブルと複数端末の管理画面が1週間前後、リカバリ導線と監査ログで残りを使います。稼働中サービスの場合はこれに移行期間が乗り、併存期から無効化期まで半年から1年かかる想定を置いてください。マジックリンクだけなら数日で動きます。

パスキーに対応していない古いブラウザの利用者はどうなりますか?

併存設計で吸収します。ログイン画面でパスキーの利用可否を判定し、利用できない環境ではパスワードや別方式の入力欄を表示する分岐を残してください。移行の3段階目でも、未登録ユーザーの経路は閉じずに残す設計を推奨します。アクセスログから対象環境の比率を実測し、1%を下回った時点で個別案内へ切り替えるという運用が現実的です。

端末を紛失した利用者はどうやってログインしますか?

設計次第です。同期パスキーを採用していれば、プラットフォームのアカウントで新端末へサインインするだけで復帰できます。デバイス束縛型を選んだ場合は、事前に登録した2つ目の認証器を使うか、本人確認を挟んだ再登録の窓口が必要になります。復旧手段の強度がサービス全体の認証強度の上限になるため、メールリンクだけで無条件に再登録できる導線は避けてください。

関連記事

資料請求

RELATED POSTS 関連記事