FIDO認証では、公開鍵暗号化(PKC)を使用して、ユーザーのアカウントに関連付けられた一意の暗号化鍵ペアを生成します。「パスキー」と呼ばれるこの鍵のペアは、サービス・プロバイダーが保持する公開鍵とユーザーのデバイスに存在する秘密鍵で構成されます。
ユーザーがアカウントにログインすると、サービス・プロバイダーはチャレンジ(通常はランダムな文字列)をユーザーのデバイスに送信します。このデバイスは、ユーザーにPINまたは生体認証を求めます。
ユーザーが認証に成功すると、デバイスは秘密鍵を使用してチャレンジに署名し、サービス・プロバイダーに送り返します。サービスプロバイダーは公開鍵を使用して、適切な秘密鍵が使用されていることを検証し、使用されている場合は、ユーザーに自分のアカウントへのアクセスを付与します。
あるデバイスに保管されたパスキーは、別のデバイス上のサービスにログインするために使用できます。たとえば、ユーザーがモバイル・デバイスでEメール・アカウントのパスキーを設定した場合でも、ノートPCでそのアカウントにログインできます。ユーザーは、登録されたモバイル・デバイスで認証チャレンジを完了します。
FIDOは、認証方法として「ハードウェア・トークン」とも呼ばれるセキュリティー・キーの使用もサポートしています。FIDOセキュリティー・キーは、キーのペアを作成し、課題に署名できる小型の専用物理デバイスです。Bluetooth、近距離無線通信(NFC)プロトコル、またはUSBポートを介して他のデバイスに接続します。FIDOセキュリティー・キーは、キーを持つことによりユーザーを認証することで、認証プロセスにおいて生体認証データやPINの代わりとなることができます。
秘密鍵はユーザーのデバイスに保管され、決して離れることはないため、セキュリティー侵害の可能性は最小限に抑えられます。ハッカーは、データベースに侵入したり、通信を傍受したりして、それを盗むことはできません。サービスプロバイダーにある公開鍵には機密情報は含まれていないため、ハッカーにはほとんど役に立ちません。