現代のアカウントセキュリティを支える主要な2つの技術が、パスキーと二要素認証(2FA)です。どちらも単一のユーザー名とパスワードの組み合わせの限界を超えるものですが、その方法は少し異なります。この記事では、それぞれの仕組み、セキュリティ面での比較、スムーズに導入する方法を解説し、ユーザーが個人またはビジネスのニーズに最適な方法を判断できるようにします。
パスキーと2FAの基本的な考え方
パスキーはどのように機能しますか?
機能 | パスキー | 2FA |
主な目的 | パスワードを公開鍵暗号方式のやり取りに置き換える | 既存のパスワードに第2の要素を追加する |
仕組み | 暗号鍵ペア(公開鍵と秘密鍵)がユーザーのデバイス上で生成されます。公開鍵はサーバーに保存され、秘密鍵はデバイスに保存されます。ログイン時には、サーバーがユーザーのデバイスにチャレンジを送信し、デバイスが秘密鍵でそのチャレンジに署名して、署名を返します。 | 正しいパスワード認証の後、サイトまたはアプリが第2の情報を要求します。認証アプリのコード、テキストメッセージ、メール、またはハードウェアトークンなどです。 |
ユーザーに表示されるもの | 「デバイスでログイン」または、指紋認証や顔認証を促すメッセージ。 | ユーザーがパスワードを入力した後に、数値コードの入力画面が表示されます。 |
パスキーと2FAはいずれも、攻撃者がアクセスを得ることをはるかに困難にする追加の保護層を提供しますが、異なるセキュリティ原則を活用しています。
パスキーのセキュリティ基盤を解説
パスキーは、成熟し十分に研究された暗号技術の基盤である公開鍵基盤(PKI)と公開鍵暗号方式の上に構築されており、パスワードの置き換えを目的としています。ユーザーがデバイスに紐づくパスキーを作成すると、ユーザーのデバイス上のセキュアエンクレーブまたは信頼できる実行環境(TEE)で秘密鍵が保持されます。
パスワードとは異なり、この秘密鍵はデバイス上に留まり、生体認証またはPINロックで保護されます。パスキーに対応するオンラインサービスが知っているのは公開鍵だけであり、その公開鍵から秘密鍵を再構築することはできません。これによりオンラインセキュリティが強化されます。公開鍵と秘密鍵のペアを使う方法は、現在の他の認証方法よりも高いセキュリティを提供します。パスキーは、従来のパスワードとは異なるプロセスを使用することで、Webサイトやアプリでのフィッシング攻撃を防ぐのに役立ちます。
パスキーが作成されると、ログイン時に次のプロセスが行われます。
サーバーチャレンジ:サーバーはランダムなノンス(一度だけ使用される数値)をデバイスに送信します。
署名の生成:生体認証により、ユーザーのデバイスはECDSAまたはEdDSAアルゴリズムを使用してノンスに署名します(一般的には、ECDSAではsecp256r1曲線、EdDSAではed25519曲線が使用されます)。
署名の検証:Webサイトまたはアプリは、保存されている公開鍵を使用して署名を検証します。署名が一致すれば、ユーザーは認証されます。
秘密鍵はデバイスから出ることがなく、ネットワーク上で送信されることもないため、サーバーを侵害した攻撃者でも、ユーザーのパスキーを認証できず、ユーザーになりすますことはできません。
攻撃者がアカウントに保存されている公開鍵を盗むことに成功したとしても、必要な署名を偽造することはできません。これは、盗まれたり、推測されたり、解析されたりする可能性があるパスワードの秘匿性よりも、はるかに強力な保証です。同期されたパスキーは、従来のパスワードよりもデータ侵害に対して強力な保護を提供し、機密情報の保護に役立ちます。
2FAの強み
パスキーがアカウントのパスワードを完全に置き換えるのに対し、2FAは第2の要素を追加します。そのため、2FAは多くの人がより強固なセキュリティに向けて最初に取り組む手段となっています。すでにほぼすべてのプラットフォームでサポートされており、さまざまな第2要素の方法で導入できます。たとえば次のようなものがあります。
認証アプリ:Bitwarden Authenticator、Google Authenticator、Microsoft Authenticator、Authy など、時間ベースのワンタイムパスワード(TOTP)を生成するアプリ。
SMSコード:ユーザーの電話番号に届く一意のコード。
メールコード:ユーザーの登録済みメールアドレスに送信されるコード。
ハードウェアトークン:YubiKeyやDuo Securityのハードウェアドングルなど、物理的なチャレンジレスポンスの仕組みを提供するもの。
それぞれの方法で、利便性とセキュリティのバランスは異なります。
テキストメッセージのコードは便利ですが、SIMスワップやネットワーク盗聴によって傍受される可能性があるため、通常は低リスクのアカウントにのみ推奨されます。ただし、多くの銀行のように、ユーザー確認の手段としてSMSまたはメールコードしか提供していないサービスもあります。
2FAは単純なパスワードよりも高いセキュリティを提供し、ユーザーの使いやすさに合わせて設定でき、広く普及しています。追加機能である2FAはパスワードをなくすものではありませんが、攻撃者がアカウントにアクセスするには、正しいパスワードと2つ目の要素の両方を入手する必要があります。
実践におけるパスキーと2FAの比較
セキュリティの比較
パスキー:公開鍵・秘密鍵によるチャレンジレスポンス方式で、秘密鍵がデバイスの外に出ない限り、数学的に偽造できないよう設計されています。秘密鍵が流出しないため、サーバーが侵害されてもユーザーになりすますことはできず、悪意ある第三者がアカウントにアクセスすることはできません。
これにより、パスキーは現在利用できる最も安全な認証方法となっています。所有を暗号学的に証明する仕組みと、生体認証またはPINによる確認を組み合わせ、シームレスな体験を実現します。さらに、デバイスの指紋センサーや顔認証スキャナーによる追加レイヤーのおかげで、パスキーは認証プロセスに生体認証を加え、フィッシング攻撃やその他のセキュリティ侵害の防止に役立ちます。
2FA:2つ目の要素を追加すると、攻撃者にとってのハードルは大きく上がります。アカウントにアクセスするには、パスワードを推測または総当たりで破るだけでなく、かつ2つ目の要素も入手する必要があるためです。
ハードウェアトークンやTOTPなどの最も強力な2FA方式は、ログインが必要な多くの場面で、パスキーとほぼ同等の安全性を備えています。
TOTPコードはBitwarden Authenticatorのような単体アプリで生成でき、一部のパスワードマネージャーにも2FAサポートが組み込まれています。
SMSベースの2FAは携帯電話ネットワークの信頼性に依存するため、安全性は低くなります。それでも、クレデンシャルスタッフィングや総当たり攻撃に対する有効な防御レイヤーになります。
パスキーと2FAのどちらを選ぶかを考えるときは、セキュリティを階層構造として捉えましょう。パスキーは最上位に位置し、2FAはそのすぐ下にありますが、基本的なパスワード保護よりは上位です。
導入と使いやすさ
パスキー
パスキーの仕組みは少し不思議に感じられるかもしれません。比較的新しいものなので、それも当然です。パスキーは、最新のスマートフォン、ノートパソコン、タブレットに搭載された生体認証センサーや顔認証APIによって機能します。これらの生体認証機能が、認証時にパスキーを有効にします。パスキーを作成すると、セットアップ中に公開鍵が自動的にサーバーへ登録されます。その後のログインは、センサーに指を触れるか画面を見るだけで済みます。多くのユーザーにとって、その体験はほとんど意識しないほど自然です。長いパスワードを入力する必要も、2FAコードを覚える必要もありません。
2FA
この設定では通常、認証アプリを連携するか、FIDO Alliance標準に準拠したハードウェアキーなどのハードウェアトークンを構成します。設定が完了すれば、手順は簡単です。ユーザー名とパスワードを入力し、認証アプリに表示されたコード、またはSMSで届いたコードを入力します。2FAは長く使われているため、チュートリアル、ヘルプ記事、サポートリソースが豊富にあり、現在ではほぼすべてのサイトやサービスがこの追加の保護レイヤーに対応しています。
比較
どちらの方法も最初に少し設定が必要ですが、追加されるセキュリティとユーザーのプライバシーには、その手間に見合う価値があります。パスキーを作成すると、2つの暗号鍵によってコード入力が不要になり、手間が減ります。一方、2FAはユーザーに追加保護を実感させます。どちらの方法でも認証の運用を強化することで、セキュリティが向上し、データがダークウェブに流出するのを防ぐのに役立ちます。
コストとインフラ
パスキー
スマートフォンのような生体認証対応デバイスをすでに使用している場合、追加のハードウェアは必要ありません。発生するコストはビジネス側のみで、公開鍵をサーバーに渡せるようにするための開発作業が必要です。サービス提供者にとっては、プラットフォームごとに一度だけ発生する統合コストです。
2FA
デバイス上の認証アプリを選べば、コストは実質ゼロです。ハードウェアトークンには少額の一回限りの購入費用がかかります。たとえばYubiKeyの場合、基本モデルは約50米ドルです。企業では、DuoやOktaのようなエンタープライズ向け2FAソリューションにライセンス料やサブスクリプション料金がかかる場合があります。
フィッシング耐性とフィッシング完全防御の違い
フィッシング耐性とフィッシング完全防御の違いは何でしょうか。「フィッシング耐性」という用語は、NIST、CISA、Microsoft、FIDO Allianceを含む多くの組織で使われています。さらに、NIST SP 800-63-4(2025)では、フィッシング耐性を定義し、AAL3でそれを必須としています。
フィッシング耐性のあるシステムには、一般的に次のセキュリティ対策が含まれます。
多要素認証(MFA):ユーザーに、電話に送信されるコードや生体認証スキャンなどの追加検証を求めます。
フィッシング耐性のある認証プロトコル:WebAuthnやFIDO2などのプロトコルの使用を必須にし、ユーザーをより安全に認証します。
セキュリティ意識向上トレーニング:フィッシングの試みを識別して回避する方法をユーザーに教育する必要があります。
高度な脅威検出:AIを活用した脅威検出により、不審なメールやメッセージを識別してブロックできます。
CISAも、FIDOセキュリティキーやスマートカードなど、フィッシング耐性のある多要素認証を導入するよう組織に繰り返し推奨しています。2025年時点で、Microsoftは自社のガイダンスをゼロトラストに合わせ、フィッシング耐性のあるMFAとパスワードレスの展開を求めています。最後に、FIDO Allianceはパスキー/FIDO2/WebAuthnをフィッシング耐性があり、従来型MFA(パスワード+SMS)の代替となるものと位置づけています。
パスキーはAAL2ではフィッシング耐性があると認められていますが、NIST SP 800-63-4では、AAL3要件を満たすのは、エクスポート不可の秘密鍵を持つデバイス紐づけ型パスキーのみと規定されています。クラウドサービスを通じてデバイス間で同期できる同期可能な(マルチデバイス)パスキーは、同期のために秘密鍵をエクスポート可能にする必要があるため、AAL3では認められません。AAL3保証を必要とする組織は、同期可能なパスキーではなく、ハードウェアセキュリティキー、スマートカード、またはデバイス紐づけ型パスキーを導入すべきです。
理論上、フィッシングを完全に防ぐシステムとは、フィッシング攻撃に完全に耐性があり、フィッシング手法でユーザーをだまして機密情報を漏らさせることが不可能なほど安全であることを意味します。しかし現実には、どれほど高度なセキュリティ対策を講じても人的ミスのリスクは常にあるため、そのようなシステムを作ることはほぼ不可能です。そのようなシステムには、次が必要になります。
破られない認証プロトコル:フィッシングを完全に防ぐシステムには、耐量子暗号など、理論上破られないプロトコルの使用が必要になります。
完璧なセキュリティ意識:すべてのユーザーがソーシャルエンジニアリングの手口に完全に免疫を持つ必要があります。
侵入を許さない設計:セキュアコーディングの実践や脅威モデリングなどの手法を用い、セキュリティを念頭に置いてシステムを設計する必要があります。
フィッシング耐性のあるシステムは、高い安全性を備え、容易かつ効果的に実装できるよう設計されています。完全にフィッシングを防ぐシステムを提供すると主張するサービスについては、利用を進める前に慎重に調査してください。
適切な方法の選び方
適切な方法の選択は、いくつかの要因によって決まります。最初の要因はセットアップの容易さです。2FAは初期設定が簡単ですが、パスキーの方が高いセキュリティレベルを提供します。選択する際は、次のヒントを参考にしてください。
高価値アカウント(銀行、企業管理者):対応している場合は、2FAにハードウェアトークンを使用するか、パスキーに切り替えます。
一般消費者向けアカウント(ソーシャルメディア、メール):TOTP認証アプリによる2FAは強力な保護を提供し、広く対応されています。
低リスクアカウント:SMSまたはメールによる2FAでも許容できますが、アカウントに機密データが含まれる場合は、より強力な方法へのアップグレードを検討してください。
結論
パスキーと2FAのどちらを選ぶかは、優先事項によって決まります。
最大限のセキュリティが最優先で、指紋認証や顔認証に対応したスマートフォンを利用できる場合は、パスキーが優れた選択肢です。
多くのプラットフォームで機能し、標準的なユーザー名/パスワード認証をすばやく段階的に強化することが目的なら、ハードウェアトークンやTOTPアプリを使った2FAが次善の策です。
いずれにしても、パスワードのみの認証が抱える脆弱性から脱却し、より強力な保護に向けて有意義な一歩を踏み出すことになります。
Bitwardenでパスキーと二要素認証の両方を管理
パスキーは安全で使いやすいログインにおける大きな進歩を示す一方、2FAはユーザーのニーズに合わせて調整できる、強力で広く採用されている保護手段であり続けています。パスキーと2FAのどちらを選ぶかを評価する際は、セキュリティ、利便性、実装に必要なリソースのトレードオフを考慮してください。どちらを選んでも、より強力なデジタルセキュリティに向けた有意義な一歩になります。
すでにBitwardenパスワードマネージャーを利用している方、または導入を検討している方は、AppleおよびAndroidデバイスに加え、すべての主要なオペレーティングシステムでパスキーと2FAを管理でき、セキュリティを単一のツールに集約できます。
