こんにちは、riceです。
私たちが日々使うインターネットサービス。ログイン時にパスワードを入力する「パスワード認証」が広く浸透しています。しかし、同じパスワードの使い回しや管理不足、フィッシング攻撃によるパスワードの流出など、セキュリティ面での課題もあります。
こうした課題を解決するための「FIDO(ファイド)」という新しい認証技術。今回はこちらについて調べてみました。
パスワード認証の課題
冒頭で述べた通りパスワード認証は広く浸透していますが、以下のような課題があります。
- サーバー側の情報漏洩リスク:パスワード認証では、パスワード情報がサービス側のサーバーに保管されます。このため、サーバーがサイバー攻撃を受けると大量のパスワードが流出し、ユーザーの情報が危険にさらされる可能性があります。
- フィッシング攻撃やマルウェアへの脆弱性:パスワードはフィッシング攻撃やマルウェアによって盗み出される可能性があり、不正アクセスの入り口となり得ます。
- セキュリティへの懸念:ユーザーは複雑なパスワードをサービスごとに管理する必要があり、その手間から、パスワードの使い回しや単純なパスワードを設定する傾向があります。その結果、セキュリティが低下してしまいます。
このように、パスワードだけに頼った認証には多くの課題があります。こうした課題を解決する新しい仕組みとして登場したのが「FIDO認証」です。
FIDO(ファイド)認証とは
FIDOは「Fast IDentity Online」の略称で「高速なオンラインID認証」を意味し、パスワードを使用しない認証手段として期待される認証技術の一つです。大手IT企業も多数参加する業界団体「FIDO Alliance(ファイド アライアンス)」によって規格の策定が行われており、パスワードに依存しない、より安全で簡単な認証技術として普及が推進されています。
FIDOの仕組み
FIDO認証では公開鍵暗号方式が用いられます。これは、二つの電子的な鍵「秘密鍵」と「公開鍵」のペアを用いる仕組みで、公開鍵は誰でも利用できるように公開され、秘密鍵は所有者のみが厳重に管理します。これにより、鍵の共有を安全に行いながら、通信の秘匿性や認証を実現します。
- 秘密鍵:公開鍵とペアになっており、所有者のみが厳重に管理する鍵です。公開鍵で暗号化されたデータの復号、またはデジタル署名の生成に使用されます。
- 公開鍵: 広く公開され、誰もが使用できる鍵です。データの暗号化、またはデジタル署名の検証に使用されます。
~サービスへログインする時の流れ~
- ユーザーがサービスにログインを試みる
- サービス(サーバー)がランダムな文字列「チャレンジ」を端末に送る
- ユーザーが指紋認証や顔認証などで本人確認を行う
- 端末が秘密鍵を使って「チャレンジ」にデジタル署名を作成
- サーバーが登録済みの「公開鍵」でその署名を検証
- 署名が正しい場合のみ本人確認が成功し、ログイン完了
この仕組みの最大の利点は、認証の鍵となる秘密鍵がデバイスから外部へ流出することがないため、サーバーが攻撃されても認証情報が盗まれるリスクがありません。また、偽のサイトでは正規のサイトの公開鍵と異なるため署名が作成されず、フィッシング詐欺を防ぐことができます。
新規格「FIDO2」
FIDOは、主にスマートフォンに内蔵された生体認証機能を使った認証方法(FIDO UAF)や、USBキーなどの専用機器を使った二段階認証(FIDO U2F)として登場しました。しかし、これらの規格は専用機器が必要な場合があるなど、導入のハードルが高いという課題がありました。
FIDO2は、この課題を解決するために登場した規格で、WebAuthnとCTAPという2つの技術で構成されています。これによって専用の機器を使わずにWebブラウザ(Google Chrome、Microsoft Edge、Mozilla Firefox、Safariなど)での認証が可能となり、スマートフォンだけでなく、パソコンなどでも利用できるようになりました。
項目 | パスワード認証 | FIDO認証 | FIDO2認証 |
認証方式 | 知識ベース(文字列) | 公開鍵暗号方式 | 公開鍵暗号方式 |
秘密情報の保管場所 | サーバー側 | ユーザーのデバイス内 | ユーザーのデバイス内 |
主要なセキュリティリスク | フィッシング、サーバー漏洩、クレデンシャルスタッフィング | デバイス紛失 | デバイス紛失 |
ユーザー体験 | 複雑なパスワードの記憶と入力 | 生体認証やPINによる簡潔な操作 | 生体認証やPINによる簡潔な操作 |
代表的な規格 | 該当なし | FIDO UAF/U2F | FIDO2(WebAuthn, CTAP) |
主な特徴 | サーバーに秘密情報を保存 | 認証情報をサーバーと共有しない | パスワードレスと広範な互換性を実現 |
FIDO2のメリット
- セキュリティの向上
認証に必要な「秘密鍵」がデバイス内に厳重に保管され、ネットワーク上を流れることがないため、フィッシング攻撃やサーバーからの情報漏洩リスクを大幅に減らすことができます。
- ユーザー体験の改善
パスワードを覚える必要がなくなり、指紋認証や顔認証といった簡単な操作でログインが完了します。これにより、ログインにかかる時間が短縮され、利便性が向上します。
- ビジネス面でのメリット
ユーザーだけでなく、企業側にもメリットがあります。ユーザーがスムーズにログインできるようになることで、パスワードリセットやアカウント復旧に関する問い合わせが減少し、サポート部門の運用コスト削減に繋がります。実際にKDDIでは、カスタマーサポートへの問い合わせ数が約35%減少したとの報告もあります。
パスキー
パスキーとは、FIDO2の技術を維持しつつ、ユーザーの利便性をさらに高めるための技術です。
従来のFIDO認証では、認証に必要な「秘密鍵」はデバイス内に個別に保存されるため、機種変更やデバイスの紛失時にアカウントへのアクセスが困難になる可能性がありました。
パスキーはユーザーのFIDO認証情報をクラウドで管理し、デバイス間で同期させることを可能にします。これにより、デバイスを紛失したり買い替えたりしても、新しいデバイスでログインできるようになります。
課題
多くのメリットがあるFIDO2にはどういった課題があるのでしょうか。
- 対応サービスの不足
主要なブラウザには対応しているものの、全てのデバイスやブラウザがFIDO2認証を導入しているわけではありません。現状では利用できる範囲が限定されています。
- デバイス紛失時のリスク
認証するデバイスを必要とするため、それを紛失した場合には認証が困難になるうえ、復旧までにも時間がかかる場合があります。
- クラウドサービスへの依存
前述したパスキーによる同期機能は利便性を高めますが、クラウドサービスに障害が発生するとパスキーが利用できなくなるリスクがあります。
導入事例と普及状況
FIDO認証は、Google・Microsoft・Appleなどテクノロジー業界の大手によって普及が進んでおり、2024年にはパスキーの導入が昨年の同時期比で倍増し、150億を超えるオンラインアカウントで利用可能となっています。
日本国内の事例
-
Yahoo! JAPAN:2014年にFIDO アライアンスに加盟、早期導入で業界標準化を推進
-
メルカリ:パスキー導入でサインイン時間が17秒→4.4秒に短縮
-
NTTドコモ:dアカウントのWeb認証にFIDO認証を導入
おわりに
FIDO認証は、従来のパスワード認証が抱える課題を解決する有力な手段となりそうです。国内でも導入事例が増えており、今後はさらに身近なものとなっていくでしょう。セキュリティと利便性の両立を考えるうえで、注目しておきたい仕組みです。