ブログ

Blog

パスキーって最近よく聞くけどなんだっけ

パスキーって最近よく聞くけどなんだっけ

導入

こんにちは!
株式会社BTMでエンジニアをしている島谷です。

突然ですが、パスキー(Passkey)、流行っていますよね。

近年、パスワードに代わる認証方法として多くのサービスで導入されるようになりました。
NTTドコモ[^4]やメルカリ[^5]といったサービスでは既に導入されています。

今回、パスキーについて調査しましたので、その結果を共有していきます。
まず、従来のパスワード認証やFIDO認証の仕組みや、それぞれの課題を説明したうえで、パスキーについて説明します。

パスワード認証とは

IDとパスワードでアカウントにログインする一般的な方法ですが、パスワードが盗まれると、誰でもそれを使ってアカウントにログインできてしまいます。

この問題を解決すべく、パスワードレスの認証を提供するFIDO認証が登場しました。

FIDO認証とは

FIDOとは「Fast Identity Online」の略です。

FIDO(ファイド)アライアンスとWeb標準化団体のW3Cが共同で規格化した、公開鍵暗号化方式を用いた、パスワードなしでログインする方法です。[^1]

公開鍵暗号化方式とは
一言でいうと、対になる2つの鍵を用意し、片方の鍵でデータを暗号化し、もう一方の鍵で復号化する方法です。

スマートフォンまたはFIDO認証をサポートしている他のデバイスを使用して、アカウントにログインする前、使用者が本人であることを証明します。
そのため、事前にサーバへ端末情報を登録する必要があります。

上図のフローで、FIDOクレデンシャルとして秘密鍵とサイトのメタデータをデバイスに保存し、生成した公開鍵を端末情報としてサーバに登録します。

登録が完了すると、アカウントのログインIDと生体情報を使ってアカウントへログインできるようになります。

  • パスワード認証と異なり、パスワードが漏洩するといったリスクを防ぐことができる
  • フィッシング詐欺の対策としても有効
  • パスワードを記憶する必要がなくなるため、ユーザビリティが向上

サイトに送信されるデータは秘密鍵によって暗号化されたログインIDと生体認証であり、これらデータの盗聴を防ぐことができます。

しかし、課題もあります。FIDOクレデンシャルはデバイスに保存するため、デバイスの紛失や機種変更などした場合、再度新しいデバイスでの登録が必要となります。

そこで登場したのがパスキーになります。

パスキーとは

上記のFIDO認証技術を拡張したもので、クラウド経由でデバイス間同期できるFIDOクレデンシャルのことを指します。[^2]

Apple製品であればiCloudキーチェーンを使って同期できるため、機種変更後もそのままFIDO認証が可能になります。

ただし、すべてのデバイスで利用できるわけではなく、対応状況は passkeys.dev/device-support をご確認ください。

パスキーはGoogleやAppleなど大手企業によって導入されており、業界標準化の可能性があります。

AWS IAMの多要素認証(MFA)にパスキー対応

2024年6月、AWSマネジメントコンソールのIAMユーザで多要素認証(MFA)にパスキーが利用可能になりました。[^3]

さっそく試してみます。

  1. AWSマネジメントコンソールにログインし、「セキュリティ認証情報」タブで「MFAデバイスの割り当て」を選択
  2. 「パスキーまたはセキュリティキー」を選択し、スマートフォンを指定
  3. 表示されるQRコードをスマートフォンで読み取って登録

登録後、再度サインインするとスマートフォンでの認証が求められ、FaceIDや指紋認証でログインできます。

パスキーに対応しているとはいえ、現状パスワードなしでのログインには対応していません。

おわりに

パスキーの理解が深まりました。セキュリティ強化とユーザビリティ向上を両立するパスキーは今後ますます普及していくでしょう。

開発者としてパスキー対応アプリを実装できるよう、新技術を先取りしていきたいですね!

株式会社BTMではエンジニアの採用をしております。ご興味がある方はぜひコチラをご覧ください。

[^1]: FIDOとは – FIDO Alliance

[^2]: FIDO Alliance Passkeys

[^3]: AWS IAM がパスキーをサポート

[^4]: dアカウント「パスキー認証」提供開始

[^5]: メルカリ 生体認証「パスキー」導入

  • SNS
  • 投稿日
  • カテゴリー

    BTM Useful