主なポイント:
パスキーは、公開鍵暗号技術に基づいて構築されたフィッシング対策機能を備えた認証情報であり、ユーザーとサーバー間の共有秘密鍵を不要にします。
パスキーとは、FIDO2認証フレームワーク内で作成される、検出可能なWebAuthn認証情報です。
Web Authentication(WebAuthn)は、ブラウザ、デバイス、認証アプリをまたいでパスワード不要の認証を可能にするブラウザ標準規格です。
同期化された認証情報とデバイスに紐付けられた認証情報は、利便性から高度なセキュリティ管理に至るまで、さまざまな運用ニーズに対応しています。
サーバーには公開鍵のみが保存されているため、データベースへの不正アクセスがあっても、再利用可能なログイン用秘密鍵が漏洩することはありません。
ログインだけでなく、パスキーは、ハードウェアで保護された暗号技術を用いてウォレットの秘密鍵を安全に解除することで、取引の署名時に手入力するウォレットのパスワードに代わるものとなります。
パスワードから公開鍵認証への移行
パスワードは共有された秘密です。ユーザーがパスワードを作成し、サーバーがそのコピーを保存することで、双方が同じ秘密を共有しているためログインが可能になります。しかし、このシステムには弱点があります。ユーザーはパスワードを再利用しがちです。また、攻撃者はユーザーを騙して偽のウェブサイトにパスワードを入力させようとします。データベースが侵害された場合、盗まれたパスワードのハッシュ値が解読されたり、他の場所で再利用されたりすることがあります。
パスワードレス認証では、このモデルが公開鍵暗号方式に置き換えられます。ウェブサイトと秘密鍵を共有する代わりに、デバイスはその特定のドメイン用に固有の鍵ペアを生成します。一方の鍵は秘密鍵であり、デバイス内に残ります。もう一方の鍵は公開鍵であり、ウェブサイト側に保存されます。
これは2つの簡単な手順で行えます。
登録
ユーザーがログインを設定すると、デバイスは鍵ペアを生成します。公開鍵はウェブサイトに送信され、ユーザーのアカウントとともに保存されます。また、ウェブサイト側は、その認証情報を生成したデバイスの種類を確認することも可能です。
認証
ユーザーがログインすると、ウェブサイトはランダムなチャレンジを送信します。デバイスはそのチャレンジを秘密鍵を使用して署名します。ウェブサイトは保存されている公開鍵を使用して、その署名を検証します。
パスワードの場合、ユーザーは再利用可能な秘密鍵を送信します。一方、公開鍵認証では、サーバーは、そのデバイスが正しい秘密鍵を保持しているという証明を受け取ります。秘密鍵がデバイス外に出ることは決してありません。この根本的な変化は単純明快です。ウェブサイトは、盗まれて再利用される恐れのある秘密鍵を保存する必要がなくなるのです。
パスキーとWebAuthn:認証情報と標準規格
パスキーとWebAuthnは関連していますが、同じものではありません。
Web認証(WebAuthn)は、FIDO2認証フレームワークの一環としてWorld Wide Web Consortium(W3C)によって策定されたブラウザ標準です。これは、ブラウザがデバイスと通信する方法や、ウェブサイトがログイン試行を検証する方法を規定しています。
パスキーは、WebAuthnの認証情報の一種です。これは、その標準を通じて作成・使用される認証情報の一つに過ぎません。
WebAuthnは、鍵ベースの安全なログインを可能にするルールとブラウザAPIを提供します。WebAuthn自体は鍵を保存しません。ブラウザはnavigator.credentials APIを通じてWebAuthnを提供しており、開発者はこれを利用して登録やログインのフローを開始します。
認証情報はデバイス上に保存されます。WebAuthnでは、その作成方法と検証方法が定義されています。
WebAuthnフローにおける4つの技術的役割

WebAuthnによるログインには、4つの要素が含まれます。
ユーザー
ログインしようとしている人。その人は、指紋、顔認証、またはデバイスのPINコードを使って本人確認を行います。
ユーザーエージェント
ブラウザまたはオペレーティングシステム。これは、ウェブサイトとデバイスとの間の仲介層として機能します。
オーセンティケーター
鍵ペアを生成・保存するデバイス。これには、スマートフォン、ノートパソコンのセキュリティチップ、またはハードウェアセキュリティキーなどが含まれます。
依拠当事者
ウェブサイトまたはサーバー。公開鍵を保存し、署名付きログイン認証要求を検証します。
当ウェブサイトは、秘密鍵を一切確認・保存することはありません。
このモデルがフィッシング攻撃に強い理由
フィッシング詐欺は、ユーザーをだまして偽のウェブサイトにパスワードを入力させる手口です。
公開鍵認証は、技術的なレベルでこれを防ぎます。
各認証情報は、特定のWebサイトドメイン(「信頼先識別子(RP ID)」と呼ばれる)に関連付けられています。ユーザーが偽のWebサイトにアクセスした場合、そのドメインは認証情報に関連付けられたドメインと一致しません。その結果、デバイスはログインチャレンジへの署名を拒否します。
保護は、ユーザーが偽サイトを見抜くかどうかに依存するものではありません。暗号技術によって確実に守られるのです。
共有された秘密の終焉

パスワードの場合、ウェブサイトは秘密情報のハッシュ化されたバージョンを保存します。データベースが侵害された場合、攻撃者はそれらのハッシュを解読しようとしたり、他のサービスで再利用したりする可能性があります。
WebAuthnの認証情報では、ウェブサイトは公開鍵のみを保存します。公開鍵はログインには使用できません。公開鍵は、対応する秘密鍵によって作成された署名を検証することしかできません。
データベースが侵害されたとしても、攻撃者がユーザーになりすますために利用できる情報は得られません。秘密鍵はユーザーの端末に残ったままです。
これにより、従来のパスワードシステムにおける最大のリスクの一つが解消されます。
公開可能な認証情報とユーザー名不要のログイン
「ディスカバラーブル・クレデンシャル」により、デバイスはどの認証情報がどのウェブサイトやアカウントに属するかを記憶することができます。
ユーザーがサイトにアクセスすると、ブラウザが利用可能なログインオプションを自動的に表示します。ユーザーはアカウントを選択し、指紋認証または顔認証で確認します。ユーザー名を入力する必要はありません。
ログインには依然として暗号技術が用いられていますが、その操作感はパスワードの自動入力と似ています。
ログインを超えて:ウォレット取引の署名にパスキーを活用する
WebAuthnはログインと結びつけて考えられることが最も多いですが、同じ暗号モデルはウォレットの取引署名にも適用できます。
デジタル資産ウォレットでは、通常、ユーザーは取引に署名する前に、ウォレットのパスワードを入力して暗号化された秘密鍵のロックを解除します。パスキーは、この手入力によるパスワードに代わるものです。再利用可能な秘密鍵を入力する代わりに、ユーザーはFace ID、Touch ID、またはハードウェアセキュリティキーなどのデバイスに保存された認証情報を使用して確認を行います。パスキーは、ハードウェアで保護された暗号技術を用いてウォレットの秘密鍵を安全に解除し、その後、秘密鍵が通常通りブロックチェーン上の取引に署名を行います。
このアプローチにより、既存のウォレットのセキュリティモデルを維持しつつ、使いやすさが向上します。パスキーは安全なロック解除の仕組みとして機能しますが、ウォレットの秘密鍵は引き続き暗号署名を行う役割を担い、保護された環境から決して外に出ることはありません。
同期された認証情報とデバイスに紐付けられた認証情報

WebAuthnの認証情報は、さまざまな方法で利用できます。
同期された認証情報
同期された認証情報は、iCloud KeychainやGoogle Password Managerなどのクラウドシステムに保存されます。秘密鍵は端末内のセキュアなハードウェア上で生成され、その後、そのアカウントに紐付けられた他の端末と安全に同期されます。
これにより、各デバイス上の鍵を保護したまま、デバイスを紛失した場合でもアクセスを回復しやすくなります。
デバイスに紐付けられた認証情報
デバイスに紐付けられた認証情報は、そのデバイス内にのみ保存され、エクスポートすることはできません。ハードウェアセキュリティキーがその代表的な例です。
このアプローチは、厳格な鍵管理が求められる高度なセキュリティ環境において有用です。
開発者は、自社のセキュリティ要件や復旧要件に合ったモデルを選択すべきです。
パスキーは安全ですか?
はい、正しく実装されていれば。
セキュリティはもはや秘密の暗記に依存するものではありません。暗号技術、ドメインバインディング、そしてハードウェアで保護された鍵の保管に依存しています。
フィッシングはプロトコルレベルでブロックされます。データベースへの不正アクセスがあっても、再利用可能なログイン情報は漏洩しません。残された主なリスクは、端末の紛失とアカウント復旧の仕組みに関連しています。
他の認証システムと同様、復旧手順は慎重に設計する必要があります。しかし、共有秘密鍵に伴う根本的な弱点は解消されています。
開発者向けの設計上の考慮事項
WebAuthnの採用により、認証の設計方法が変わります。
アプリケーションは、登録およびログインのフローをサポートし、ユーザーアカウントに公開鍵を保存し、脆弱な共有秘密鍵に依存しない復旧方法を設計しなければならない。
開発者は、どの種類のデバイスが認証情報を作成したかを確認する必要があるか、どの認証アプリを許可するか、およびどのようなバックアップオプションを許可するかを決定する必要があります。
こうした認証情報は、フィッシングやパスワードの再利用によるリスクを軽減しますが、適切な権限管理やセッション管理を含む、より広範なID管理システムの一部として運用されるべきです。
なぜBitGoなのか
安全な認証は、デジタル資産インフラの基盤となります。規制に準拠したカストディサービスや運用管理体制を必要とする機関は、BitGoのカストディサービス概要「Crypto Custody Solutions」からご利用いただけます。
BitGoは、通貨監督庁(OCC)から発行された全国信託チャーターに基づき運営されており、上場企業です。この体制により、同社の事業活動は直接的な規制監督下に置かれ、公開市場における透明性が確保されています。ハードウェアベースおよびポリシー主導型のアクセスモデルへの対応を含む認証管理は、「BitGoウォレットの理解」に記載された確立されたウォレットセキュリティモデルや、コールドストレージに関連する運用規律と併せて実施されています。
BitGoは、フィッシング対策が施された認証手法を規制対象のカストディインフラと統合することで、堅牢かつ検証可能なアクセス制御を求める機関を支援しています。
よくある質問
パスキーとは、簡単に言うと何ですか?
パスキーとは、パスワードの代わりにデバイスに保存された鍵ペアを使用してログインできるWebAuthnの認証情報です。
これは多要素認証とどう違うのですか?
従来の多要素認証は、パスワードに追加の手順を加えるものです。一方、WebAuthnの認証情報はパスワードを完全に置き換え、暗号学的証明に加え、生体認証やPINなどのデバイス認証を利用します。
サーバーのデータベースが侵害された場合、どうなるのでしょうか?
サーバーには公開鍵のみが保存されます。デバイスに保存されている対応する秘密鍵がなければ、公開鍵だけでログインすることはできません。
これらの認証情報はフィッシング攻撃の標的になり得ますか?
各認証情報は特定のWebサイトドメインに紐付けられているため、フィッシング攻撃に耐えられるよう設計されています。デバイスは、偽のサイトからのログイン要求には応じません。
デバイスを紛失した場合はどうなりますか?
同期された認証情報は、そのエコシステムを通じて復元できます。デバイスに紐付けられた認証情報については、バックアップ用認証デバイスまたは復旧計画が必要となります。
BitGoについて
BitGoはデジタル資産のインフラストラクチャー企業であり、カストディ、ウォレット、ステーキング、トレーディング、ファイナンス、決済サービスを規制されたコールドストレージから提供しています。2013年の設立以来、当社は金融システムのデジタル資産経済への移行を加速させることに注力してきました。グローバルな事業展開と複数の規制対象事業体により、BitGoは業界のトップブランド、取引所、プラットフォームの多くを含む数千の機関投資家、および世界中の数百万人の個人投資家にサービスを提供しています。
