FIDO Certified Professional (FCP) — Questions and Answers
Question 1: When a FIDO2 relying party sets 'userVerification: required' but the authenticator only supports user presence (no PIN or biometric), what is the expected outcome?
- The authenticator returns an error and the operation fails, because UV cannot be satisfied (Correct answer)
- The browser automatically prompts for a software-based PIN to satisfy the UV requirement
- The authenticator generates the credential with UV=false and the RP must accept it
- The attestation conveyance is downgraded to 'none' to allow the operation to proceed
Correct answer: The authenticator returns an error and the operation fails, because UV cannot be satisfied
If userVerification is required and the authenticator cannot perform user verification, CTAP2 returns CTAP2_ERR_UNSUPPORTED_OPTION (0x2B) or the platform rejects the assertion with UV=false, causing the ceremony to fail.
Question 2: Which type of testing specifically validates that a FIDO2 authenticator's attestation statement is signed by a trusted root in the FIDO Metadata Service?
- Smoke testing
- Load testing
- Regression testing
- Attestation verification testing (Correct answer)
Correct answer: Attestation verification testing
Attestation verification testing confirms that the server correctly validates attestation statements against trusted roots from the FIDO MDS.
Question 3: What is an algorithm?
- A network protocol
- A step-by-step procedure for solving a problem or accomplishing a task (Correct answer)
- A type of programming language
- A hardware component of a computer
Correct answer: A step-by-step procedure for solving a problem or accomplishing a task
An algorithm is a finite sequence of well-defined instructions for solving a specific problem or performing a computation.
Question 4: What is the main advantage of a linked list over an array?
- Efficient insertion and deletion without shifting elements (Correct answer)
- Less memory usage per element
- Simpler implementation
- Faster random access to elements
Correct answer: Efficient insertion and deletion without shifting elements
Linked lists allow O(1) insertion and deletion at known positions without moving other elements, unlike arrays.
Question 5: Which FIDO Alliance metadata document format provides relying parties with authenticator properties such as AAGUID, supported algorithms, and certification level?
- CTAP Device Info Response
- FIDO Conformance Test Report
- WebAuthn Authenticator Extensions Map
- FIDO Metadata Statement (MDS entry) (Correct answer)
Correct answer: FIDO Metadata Statement (MDS entry)
FIDO Metadata Statements, distributed via the FIDO Metadata Service (MDS), describe each authenticator's properties, supported algorithms, and certification level, allowing RPs to make trust decisions.
Question 6: Which WebAuthn concept defines the database-level scope within which credential_ids must be unique?
- Origin
- AAGUID namespace
- User Handle
- Relying Party ID (rpId) (Correct answer)
Correct answer: Relying Party ID (rpId)
The rpId scopes credentials, so uniqueness of credential_id is enforced per rpId, not globally across all relying parties.
Question 7: In a multi-tenant FIDO2 platform, why must each tenant's credentials be logically isolated at the database level?
- To comply with WebAuthn's mandatory sharding requirement
- To prevent one tenant's credential_ids from conflicting with or leaking to another tenant (Correct answer)
- To allow credential sharing between tenants for SSO
- To reduce backup storage costs
Correct answer: To prevent one tenant's credential_ids from conflicting with or leaking to another tenant
Without logical isolation, credential lookups could cross tenant boundaries, creating both data leakage and potential authentication bypass risks.
Question 8: How does FIDO authentication enhance user privacy?
- It requires user information to be stored centrally
- It does not store biometric data on central servers (Correct answer)
- It uses passwords for identity verification
- It relies on email-based authentication links
Correct answer: It does not store biometric data on central servers
FIDO authentication enhances user privacy by not storing biometric data or private keys on central servers. Instead, biometric information (like fingerprints) is processed and verified locally on the user's device. This decentralized approach significantly reduces the risk of large-scale data breaches involving sensitive personal information, as only public keys are shared with online services.
Question 9: What cryptographic algorithm does RS256 refer to in FIDO2 COSE notation?
- RSASSA-PSS with SHA-256
- RSA key agreement using 256-bit keys
- RSA-OAEP with SHA-256
- RSASSA-PKCS1-v1_5 with SHA-256 (Correct answer)
Correct answer: RSASSA-PKCS1-v1_5 with SHA-256
COSE algorithm -257 (RS256) specifies RSASSA-PKCS1-v1_5 with SHA-256, commonly supported for platform authenticators like Windows Hello.
Question 10: A FIDO2 server needs to store backup-eligible credential metadata. Which WebAuthn authenticator flag indicates a credential can be backed up?
- BE (Backup Eligibility) (Correct answer)
- UV (User Verification)
- UP (User Presence)
- AT (Attested Credential Data)
Correct answer: BE (Backup Eligibility)
The BE flag in the authenticator data indicates the credential is eligible for cloud backup, which the RP should persist to enforce backup-aware policies.
Question 11: Which transport layer protocol does FIDO2 WebAuthn rely on to ensure confidentiality between client and server?
- TLS 1.2 or higher (Correct answer)
- SSH port forwarding
- IPsec tunnel mode
- DTLS over UDP
Correct answer: TLS 1.2 or higher
WebAuthn requires TLS 1.2 or higher to protect the channel over which authenticator assertions are transmitted.
Question 12: Which approach is recommended for users who register multiple authenticators under the same FIDO2 account?
- Using a master seed phrase that generates all device keys
- Independently registering each authenticator, storing separate public keys per credential (Correct answer)
- Sharing a single private key across devices via symmetric encryption
- Synchronizing private keys via encrypted cloud backup only
Correct answer: Independently registering each authenticator, storing separate public keys per credential
Each authenticator should be independently registered, creating a separate credential with its own key pair, so losing one device does not compromise credentials on others.
Question 13: Which tool category is most appropriate for fuzzing the CBOR-encoded authenticator data parsing code of a FIDO2 server library?
- Static application security testing (SAST)
- Coverage-guided fuzzer (Correct answer)
- Software composition analysis (SCA)
- Interactive application security testing (IAST)
Correct answer: Coverage-guided fuzzer
Coverage-guided fuzzers generate malformed CBOR inputs and track code coverage to find parsing bugs and crashes efficiently.
Question 14: What is the purpose of version control in software development?
- To track changes, enable collaboration, and maintain code history (Correct answer)
- To backup files to an external drive
- To monitor developer productivity
- To count the number of lines of code written
Correct answer: To track changes, enable collaboration, and maintain code history
Version control systems track all code changes, enabling team collaboration and providing a complete history of modifications.
Question 15: Which biometric method is commonly used in FIDO authentication?
- Token-based authentication
- Fingerprint scanning (Correct answer)
- Knowledge-based authentication
- Voice recognition
Correct answer: Fingerprint scanning
Fingerprint scanning is a commonly used biometric method supported by FIDO authentication. FIDO authenticators can leverage built-in biometric sensors, such as fingerprint readers, to verify the user's presence and consent locally on their device. This allows for a convenient and secure authentication experience without transmitting the biometric data to a server.
Question 16: A user registers a FIDO2 security key on a laptop, then attempts to use it on a different laptop. Which statement is true?
- Cross-platform use requires the relying party to issue a new challenge
- The user must re-enroll their biometric on the second laptop
- The roaming authenticator can be used on any platform because the credential is stored on the key itself (Correct answer)
- Registration must be repeated on the second laptop because credentials are bound to the client platform
Correct answer: The roaming authenticator can be used on any platform because the credential is stored on the key itself
Roaming authenticators store the credential (or the key material to derive it) internally, making them portable across any compliant client platform.
Question 17: Which HTTP header must a relying party's response include when serving WebAuthn JavaScript to prevent clickjacking attacks during development?
- X-Frame-Options (Correct answer)
- Access-Control-Allow-Origin
- Strict-Transport-Security
- Content-Security-Policy
Correct answer: X-Frame-Options
X-Frame-Options (or the frame-ancestors CSP directive) prevents the page from being embedded in an iframe, protecting against clickjacking.
Question 18: What is the purpose of the 'excludeCredentials' parameter in a FIDO2 registration ceremony?
- It lists credentials that must be deleted from the authenticator before registration can proceed
- It blocks specific authenticator models from being used based on their AAGUID
- It prevents registering duplicate credentials for the same relying party on the same authenticator (Correct answer)
- It specifies cryptographic algorithms that are explicitly forbidden for the new credential
Correct answer: It prevents registering duplicate credentials for the same relying party on the same authenticator
By including existing credential IDs in excludeCredentials, the server prevents the same authenticator from creating multiple credentials for the same account.
Question 19: What role does an Attestation Certificate Authority (CA) play in FIDO?
- It encrypts FIDO protocol messages exchanged between the client and the relying party server
- It manages the lifecycle of individual user credentials stored in cloud HSMs
- It issues TLS certificates for FIDO relying parties to authenticate to users
- It signs attestation certificates embedded in authenticators, forming the root of a verifiable trust chain (Correct answer)
Correct answer: It signs attestation certificates embedded in authenticators, forming the root of a verifiable trust chain
An Attestation CA issues certificates to authenticator manufacturers that are embedded in devices, creating the chain of trust relying parties use to verify authenticator genuineness.
Question 20: A relying party needs to support multiple user devices. How should the server data model handle multiple FIDO2 credentials per user account?
- Hash all credentials together into a single field
- Store only the most recently registered credential
- Maintain a one-to-many relationship between user accounts and credential records (Correct answer)
- Require one account per device
Correct answer: Maintain a one-to-many relationship between user accounts and credential records
A one-to-many relationship allows each user to register multiple authenticators (phone, laptop, hardware key) under a single account.
Question 21: What is the AAGUID in a FIDO2 attestation, and what purpose does it serve?
- A cryptographic nonce embedded in the attestation to prevent replay of the attestation object
- A per-credential unique identifier used to look up the credential on the server
- A 128-bit identifier representing the authenticator model, used to retrieve metadata from the FIDO MDS (Correct answer)
- The relying party's unique identifier encoded in the authenticator response
Correct answer: A 128-bit identifier representing the authenticator model, used to retrieve metadata from the FIDO MDS
The AAGUID (Authenticator Attestation GUID) is a 128-bit value identifying the authenticator model, which relying parties use to query the FIDO Metadata Service for trust and certification information.
Question 22: Which field in the FIDO2 PublicKeyCredentialCreationOptions specifies which cryptographic algorithms the relying party will accept?
- authenticatorSelection
- attestation
- excludeCredentials
- pubKeyCredParams (Correct answer)
Correct answer: pubKeyCredParams
The pubKeyCredParams array lists COSE algorithm identifiers (e.g., ES256, RS256) that the relying party is willing to accept.
Question 23: When a FIDO server validates an authentication assertion, which field in the authenticatorData indicates how many times the authenticator has been used?
- The 'rpIdHash' field
- The 'signCount' field (Correct answer)
- The 'credentialId' field
- The 'flags' byte
Correct answer: The 'signCount' field
The signCount (signature counter) increments each time the authenticator is used, allowing the RP to detect potential cloning by watching for an unexpected counter value.
Question 24: What does the 'rk' (resident key) option set to 'required' in CTAP2 makeCredential instruct the authenticator to do?
- Require the relying party to provide a PIN before accepting the credential
- Store the credential on the authenticator's internal storage so it can be discovered without a credential list (Correct answer)
- Use the device's root key for signing instead of a per-credential key
- Encrypt the credential ID using a hardware-backed key
Correct answer: Store the credential on the authenticator's internal storage so it can be discovered without a credential list
When 'rk' is required, the authenticator stores the full credential (including user handle) internally, enabling discoverable/resident credential flows.
Question 25: In a multi-server FIDO deployment, what mechanism ensures a credential registered on one server instance can be authenticated by another instance?
- Credential ID replication via DNS
- Broadcasting the public key over a multicast network
- Shared credential storage backed by a centralized or synchronized database (Correct answer)
- Re-registration on each server instance during user login
Correct answer: Shared credential storage backed by a centralized or synchronized database
A centralized or synchronized credential store allows any server instance to retrieve the user's public key and credential metadata, enabling authentication regardless of which instance handles the request.
Question 26: When validating FIDO2 server behavior with the 'allowCredentials' list in a getAssertion request, what happens if the list is empty?
- The authentication defaults to U2F mode
- The authenticator performs a resident key (discoverable credential) assertion without needing a credential ID hint (Correct answer)
- The server must reject the request as malformed
- The authenticator returns an error for missing credential IDs
Correct answer: The authenticator performs a resident key (discoverable credential) assertion without needing a credential ID hint
An empty allowCredentials list signals the server supports passwordless authentication via discoverable credentials, and the authenticator selects a resident key.
Question 27: When rolling out a FIDO2 registration feature to existing password-only users, which migration strategy minimizes user disruption?
- Require FIDO2 only for new user sign-ups
- Delete all existing passwords on launch day
- Force all users to re-register immediately
- Offer FIDO2 as an additional factor while keeping passwords, then phase out passwords later (Correct answer)
Correct answer: Offer FIDO2 as an additional factor while keeping passwords, then phase out passwords later
Offering FIDO2 alongside passwords allows incremental adoption without locking out users who haven't yet registered an authenticator.
Question 28: When implementing the FIDO2 authentication ceremony, what value does the server generate and send to the client as a security measure?
- The user's credential ID list only
- A pre-shared symmetric key
- A cryptographic challenge (nonce) (Correct answer)
- A static session token
Correct answer: A cryptographic challenge (nonce)
The server generates a random cryptographic challenge (nonce) that the authenticator signs, preventing replay attacks.
Question 29: In a WebAuthn registration call, what value should `publicKeyCredentialCreationOptions.rp.id` typically be set to?
- The user's email address
- A randomly generated GUID for the session
- The IP address of the origin server
- The effective domain of the relying party (Correct answer)
Correct answer: The effective domain of the relying party
The RP ID must be set to the effective domain (e.g., 'example.com') so the authenticator can bind the credential to that origin.
Question 30: What is the significance of the signature counter in FIDO U2F and FIDO2 authenticators?
- It allows relying parties to detect cloned authenticators by identifying non-sequential counter values (Correct answer)
- It counts how many credentials are stored on the authenticator
- It measures the cryptographic strength of each signature produced
- It tracks the number of failed authentication attempts to trigger lockout
Correct answer: It allows relying parties to detect cloned authenticators by identifying non-sequential counter values
Each authentication increments the counter; a server detecting a lower-than-expected value infers the authenticator may have been cloned.
Question 31: During FIDO2 authentication, the relying party must verify that the 'origin' in clientDataJSON matches its own origin. What attack does this check prevent?
- Timing side-channel attacks against the signature verification routine
- Man-in-the-middle attacks that decrypt the TLS session
- SQL injection attacks against the credential database
- Phishing attacks where a malicious site tricks the authenticator into producing assertions for the victim's site (Correct answer)
Correct answer: Phishing attacks where a malicious site tricks the authenticator into producing assertions for the victim's site
Origin binding ensures an assertion produced while visiting a phishing site is useless against the legitimate RP because the origin field won't match.
Question 32: When deploying a FIDO2 relying party, which origin binding mechanism ensures that credentials cannot be used on phishing sites?
- IP address allowlisting
- TLS certificate pinning only
- Cookie-based session tokens
- The rpId bound to the registered domain origin (Correct answer)
Correct answer: The rpId bound to the registered domain origin
FIDO2 binds credentials to the relying party ID (rpId), which is tied to the origin domain, making phishing impossible because credentials are cryptographically tied to the legitimate site.
Question 33: Which FIDO protocol enables two-factor authentication with security keys?
- FIDO UAF
- FIDO U2F (Correct answer)
- LDAP
- OpenID Connect
Correct answer: FIDO U2F
FIDO U2F (Universal Second Factor) is a specific FIDO protocol designed to add a strong second factor to existing password-based logins. It primarily uses external security keys (like USB, NFC, or Bluetooth devices) to provide cryptographic proof of user presence. This significantly enhances security against phishing and other online attacks by requiring a physical token in addition to a password.
Question 34: Which FIDO2 authenticator transport is defined to operate over Bluetooth Low Energy (BLE) for cross-device authentication scenarios?
- CTAP1/U2F over HID
- CTAP2 over caBLE (Cloud-Assisted BLE) (Correct answer)
- FIDO UAF over NFC
- WebAuthn Level 3 hybrid transport
Correct answer: CTAP2 over caBLE (Cloud-Assisted BLE)
caBLE (Cloud-Assisted BLE), also called the 'hybrid' transport in CTAP2.2, uses BLE proximity combined with a QR code and cloud tunnel to enable cross-device authentication (e.g., phone authenticating a desktop browser).
Question 35: Which FIDO Alliance resource provides the authoritative metadata for FIDO authenticators used to validate attestation trust chains during testing?
- FIDO Conformance Test Tools
- FIDO Metadata Service (MDS) (Correct answer)
- FIDO Alliance GitHub repository
- WebAuthn Validator API
Correct answer: FIDO Metadata Service (MDS)
The FIDO Metadata Service (MDS) provides authenticator metadata including attestation root certificates needed to validate trust chains.
Question 36: When a passkey is synced across a user's devices via a cloud account, which FIDO2 property is necessarily relaxed compared to a hardware-bound security key?
- Replay protection, because the signature counter cannot be synced accurately
- User verification, because cloud sync bypasses biometric enrollment
- Phishing resistance, because synced passkeys lack origin binding
- Non-exportability of the private key, because sync requires the key material to leave the original device (Correct answer)
Correct answer: Non-exportability of the private key, because sync requires the key material to leave the original device
Synced passkeys require the private key material to be exported and transmitted (typically encrypted) to the cloud, relaxing the hardware-bound non-exportability guarantee of dedicated security keys.
Question 37: In a FIDO2 server implementation, what HTTP response should be returned if the client-side origin does not match the registered rpId?
- 403 Forbidden
- 200 OK with an error message in the body
- 400 Bad Request indicating an origin mismatch (Correct answer)
- 401 Unauthorized
Correct answer: 400 Bad Request indicating an origin mismatch
An origin mismatch indicates a potential attack or misconfiguration; the server should return 400 Bad Request since the request itself is malformed relative to the expected registration.
Question 38: Which transport indicator should a server include when registering a USB security key to indicate the communication channel?
- transport: 'ble'
- transport: 'nfc'
- transport: 'usb' (Correct answer)
- transport: 'internal'
Correct answer: transport: 'usb'
The 'usb' transport indicator specifies that the authenticator communicates via USB, helping the client filter appropriate authenticators during future authentication.
Question 39: A FIDO2 relying party experiences a database breach. Which stored credential field poses the greatest risk if exposed to an attacker?
- credential_id (Correct answer)
- aaguid
- user_handle
- Public key
Correct answer: credential_id
The credential_id, combined with the RP's allowCredentials list, can be used in targeted phishing; however, the public key alone cannot be used to authenticate without the private key on the authenticator.
Question 40: In the WebAuthn specification, what does the 'userHandle' returned in an authentication assertion allow the relying party to do?
- Identify the user account without exposing the username in the credential ID (Correct answer)
- Verify the authenticator's attestation certificate chain
- Determine which CTAP protocol version was used
- Confirm that user presence was verified during authentication
Correct answer: Identify the user account without exposing the username in the credential ID
The userHandle (set during registration as user.id) lets the RP identify which user account the credential belongs to, keeping the credential ID opaque and preventing username enumeration.
Question 41: Under which condition will a FIDO2 authenticator increment its global signature counter during an authentication ceremony?
- After successfully generating an assertion signature, before returning the response to the platform (Correct answer)
- The counter is incremented only during registration, not authentication
- Only when the user verification flag (UV) is set to true in the response
- Only when the relying party explicitly requests counter increment in the get assertion options
Correct answer: After successfully generating an assertion signature, before returning the response to the platform
Authenticators increment the signature counter for each authentication assertion generated, providing relying parties with a mechanism to detect cloned authenticators (unexpected counter decreases or duplicates).
Question 42: What role does the private key play in FIDO authentication?
- It replaces the need for a public key
- It is used to encrypt data in transit
- It is transmitted to the server for validation
- It is stored securely on the device (Correct answer)
Correct answer: It is stored securely on the device
In FIDO authentication, the private key is generated and stored securely on the user's authenticator device, such as a smartphone's secure enclave or a hardware security key. It never leaves the device and is used to cryptographically sign authentication challenges. This ensures that the user's identity is proven without the private key ever being exposed to the server or potential attackers.
Question 43: What does the 'requireResidentKey' (or 'residentKey: required') option in PublicKeyCredentialCreationOptions specify?
- That user verification is mandatory
- That the credential must be backed up to the cloud
- That the credential must be stored on the authenticator as a discoverable credential (Correct answer)
- That the credential cannot be exported
Correct answer: That the credential must be stored on the authenticator as a discoverable credential
Setting residentKey to 'required' instructs the authenticator to store the credential as a discoverable (resident) credential on-device, enabling usernameless login.
Question 44: What is the triple constraint in project management?
- Planning, execution, and monitoring
- Quality, risk, and resources
- Budget, schedule, and staffing
- Scope, time, and cost — changes to one affect the others (Correct answer)
Correct answer: Scope, time, and cost — changes to one affect the others
The triple constraint (scope, time, cost) illustrates that these three elements are interrelated and balancing them is key to project success.
Question 45: Which FIDO2 attestation type uses an Attestation CA to issue a per-device certificate, providing the strongest per-device authenticity guarantee?
- AttCA (Attestation CA) attestation (Correct answer)
- None attestation
- Basic (batch) attestation
- Self attestation
Correct answer: AttCA (Attestation CA) attestation
AttCA attestation issues a unique certificate per authenticator device through a trusted CA, giving the highest assurance that a specific device is genuine.
Question 46: Why is FIDO considered resistant to server-side breaches compared to password-based authentication?
- Servers store credentials in hardware security modules
- Servers store salted hashes that are impossible to crack
- Servers only store public keys, which are not useful for authentication without the private key (Correct answer)
- Servers use zero-knowledge proofs to verify passwords
Correct answer: Servers only store public keys, which are not useful for authentication without the private key
A FIDO relying party stores only public keys; even if an attacker obtains the entire credential database, they cannot authenticate as any user without the corresponding private key on the user's device.
Question 47: In the FIDO UAF protocol, what is the role of the 'Transaction Confirmation' feature?
- It allows the relying party to display a transaction message for the user to review and confirm before signing (Correct answer)
- It establishes a TLS session between the client and the FIDO server
- It verifies that the authenticator firmware is up to date
- It confirms that the user's device has passed FIDO certification
Correct answer: It allows the relying party to display a transaction message for the user to review and confirm before signing
UAF Transaction Confirmation lets a relying party send a human-readable transaction text that the authenticator displays; the user's local verification then covers that specific transaction.
Question 48: A roaming authenticator connected via NFC is used to authenticate to a website. Which transport is being used?
- CTAP over TLS
- USB HID
- NFC (Correct answer)
- BLE
Correct answer: NFC
NFC (Near Field Communication) is one of the defined CTAP transports for roaming authenticators communicating with a client platform.
Question 49: What is the purpose of 'Token Binding' as referenced in the WebAuthn Level 1 specification?
- It defines how FIDO tokens are registered in enterprise directory services
- It is a CTAP2 mechanism for binding PIN authentication to a specific relying party
- It cryptographically binds the WebAuthn session to the TLS connection, preventing token export attacks (Correct answer)
- It binds a hardware security token physically to a specific user workstation
Correct answer: It cryptographically binds the WebAuthn session to the TLS connection, preventing token export attacks
Token Binding (RFC 8471) cryptographically links authentication tokens to a specific TLS connection, so even if a token is intercepted, it cannot be used on a different TLS session; WebAuthn clientDataJSON can include a tokenBinding field.
Question 50: In CTAP2, what is the purpose of the 'pinUvAuthProtocol' negotiation between the client and authenticator?
- It establishes a shared secret for protecting PIN and UV tokens exchanged between client and authenticator (Correct answer)
- It configures the maximum number of allowed PIN retries before lockout
- It determines whether the authenticator will enforce resident key storage
- It selects the hash algorithm used for attestation signatures
Correct answer: It establishes a shared secret for protecting PIN and UV tokens exchanged between client and authenticator
The pinUvAuthProtocol defines the key agreement and encryption scheme used to create a shared secret that protects clientPIN operations and UV tokens exchanged over the CTAP transport.
Question 51: Which COSE algorithm identifier represents EdDSA using the Ed25519 curve in FIDO2?
- -36
- -7
- -35
- -8 (Correct answer)
Correct answer: -8
COSE algorithm value -8 represents EdDSA, which in practice uses the Ed25519 curve for FIDO2 credentials.
Question 52: Which standard is associated with FIDO2 authentication?
- OAuth 1.0
- SAML
- RADIUS
- WebAuthn (Correct answer)
Correct answer: WebAuthn
WebAuthn (Web Authentication) is a core component of FIDO2, developed by the FIDO Alliance and W3C. It defines a standard web API that allows web applications to integrate FIDO authentication directly into browsers and operating systems. This enables strong, phishing-resistant, and passwordless authentication experiences for users across the web.
Question 53: Which FIDO2 feature allows a user to authenticate on a new device without pre-registering that device, by leveraging credentials stored on a paired phone?
- FIDO U2F NFC tap-to-authenticate
- FIDO UAF Silent Authentication
- WebAuthn silent credential discovery via Bluetooth
- Passkey hybrid (cross-device authentication) using CTAP2 caBLE/hybrid transport (Correct answer)
Correct answer: Passkey hybrid (cross-device authentication) using CTAP2 caBLE/hybrid transport
The CTAP2 hybrid (caBLE) transport lets a phone act as a roaming authenticator for another device via BLE proximity and a cloud relay, enabling cross-device passkey authentication without pre-registration on the new device.
Question 54: A developer tests FIDO2 registration in a localhost environment. Why might the browser reject the PublicKeyCredentialCreationOptions?
- Localhost is never a valid effective Relying Party ID
- WebAuthn requires a minimum of two user verification factors
- The challenge was not Base64URL encoded correctly
- The rpId does not match the current origin's effective domain (Correct answer)
Correct answer: The rpId does not match the current origin's effective domain
The rpId must be a registrable domain suffix of the page's origin; if it doesn't match, the browser rejects the options.
Question 55: During code review of a WebAuthn relying party, a developer notices the server skips verifying the 'rpIdHash' in the authenticator data. What risk does this introduce?
- Performance degradation
- Increased latency during registration
- Incompatibility with older FIDO U2F tokens
- An authenticator from a different origin could be accepted (Correct answer)
Correct answer: An authenticator from a different origin could be accepted
Skipping rpIdHash verification allows credentials bound to a different Relying Party ID to be accepted, breaking the origin-binding security property.
Question 56: What is the significance of the 'user verification' flag (UV) in an authenticator data flags byte?
- It indicates the authenticator verified the user locally via biometric or PIN (Correct answer)
- It signals that backup eligibility is set
- It shows the credential was created with attestation
- It confirms the server validated the user's email
Correct answer: It indicates the authenticator verified the user locally via biometric or PIN
The UV flag in authenticator data indicates that the authenticator performed local user verification (e.g., biometric or PIN) before completing the ceremony.
Question 57: Which FIDO specification defines how authenticators signal support for 'PIN/UV Auth Protocols' and negotiate which protocol version to use with the platform?
- WebAuthn Level 2, Section 6.3
- CTAP2 specification, authenticatorGetInfo response (pinUvAuthProtocols field) (Correct answer)
- FIDO UAF Protocol Specification v1.2
- FIDO Metadata Service API v3
Correct answer: CTAP2 specification, authenticatorGetInfo response (pinUvAuthProtocols field)
The CTAP2 authenticatorGetInfo command returns a pinUvAuthProtocols array listing supported PIN/UV auth protocol versions (1 and/or 2), allowing the platform to select a mutually supported version.
Question 58: In FIDO UAF (the predecessor protocol), what term describes a transaction that requires the user to explicitly confirm a specific action using their authenticator?
- Passive assertion
- Transaction confirmation (Correct answer)
- Silent authentication
- Ambient authentication
Correct answer: Transaction confirmation
UAF transaction confirmation presents a human-readable transaction description to the user, who must actively confirm it with their authenticator, binding the authentication to the specific action.
Question 59: What security property does using separate key pairs for each relying party provide in FIDO?
- It reduces the computational overhead of signature generation
- It enables offline authentication without network access
- It prevents user tracking and correlation across different websites (Correct answer)
- It allows a single authenticator to support more users simultaneously
Correct answer: It prevents user tracking and correlation across different websites
Per-relying-party key pairs ensure that colluding websites cannot correlate a user's activity by comparing credential identifiers or public keys.
Question 60: Why is public-key cryptography essential for passwordless authentication?
- It requires additional authentication factors
- It simplifies password management
- It increases reliance on shared secrets
- It removes password dependency (Correct answer)
Correct answer: It removes password dependency
Public-key cryptography is essential for passwordless authentication because it allows users to prove their identity without relying on shared secrets like passwords. Instead, the user's device uses its private key to sign a challenge, which the server verifies with the public key. This completely removes the need for passwords and their associated vulnerabilities, offering a more secure and convenient login experience.
Question 61: A FIDO2 relying party receives a credential with sign_count=0 during authentication, while the stored sign_count is also 0. Per the WebAuthn spec, the RP should:
- Reset the stored sign_count to 1 and continue
- Request a new registration to obtain a valid counter
- Accept authentication but note the authenticator may not implement counters (Correct answer)
- Fail authentication unconditionally
Correct answer: Accept authentication but note the authenticator may not implement counters
A sign_count of 0 from both sides indicates the authenticator does not implement counters; the spec permits acceptance with a logged warning.
Question 62: In FIDO2 packed attestation with full attestation, what does the attStmt contain?
- An HMAC of the credential ID using the device's master secret
- The user's biometric template encrypted with the RP's public key
- A signature over authData and clientDataHash using the attestation private key, plus the attestation certificate chain (Correct answer)
- The credential public key re-signed by the FIDO Alliance metadata server
Correct answer: A signature over authData and clientDataHash using the attestation private key, plus the attestation certificate chain
Full packed attestation includes an ECDSA/RSA signature over the registration data and the X.509 certificate chain to verify the signing key's provenance.
Question 63: What are the five phases of project management?
- Designing, Building, Testing, Deploying, Maintaining
- Planning, Budgeting, Staffing, Implementing, Reviewing
- Initiating, Planning, Executing, Monitoring and Controlling, Closing (Correct answer)
- Researching, Proposing, Approving, Performing, Reporting
Correct answer: Initiating, Planning, Executing, Monitoring and Controlling, Closing
The five process groups defined by PMI provide a standard framework for managing projects from start to finish.
Question 64: In a FIDO2 relying party database, what is the correct data type to use for storing a credential's public key?
- TEXT with Base64 encoding only
- VARCHAR(255)
- INTEGER
- BLOB or BYTEA (binary large object) (Correct answer)
Correct answer: BLOB or BYTEA (binary large object)
Public keys are binary data and must be stored as a binary large object (BLOB/BYTEA) to preserve byte-exact fidelity.
Question 65: What is scope creep?
- The planned addition of new features
- A type of project risk assessment
- A normal part of every project
- Uncontrolled expansion of project scope without corresponding adjustments (Correct answer)
Correct answer: Uncontrolled expansion of project scope without corresponding adjustments
Scope creep occurs when additional requirements are added without adjusting timeline, budget, or resources, potentially jeopardizing the project.
Question 66: What is the main feature of FIDO2?
- It is limited to biometric authentication only
- It relies solely on SMS authentication
- It enables passwordless authentication (Correct answer)
- It enhances traditional password security
Correct answer: It enables passwordless authentication
FIDO2 is the latest generation of FIDO specifications, building upon its predecessors to enable robust passwordless authentication experiences across various platforms and devices. By integrating with web browsers and operating systems via WebAuthn, FIDO2 allows users to log in securely using biometrics, PINs, or external security keys without ever typing a password. This eliminates the vulnerabilities associated with passwords and improves user convenience.
Question 67: What cryptographic guarantee does FIDO2 provide against a compromised TLS connection (man-in-the-middle) attempting to relay authentication requests to the victim's authenticator?
- The origin and rpIdHash are signed by the authenticator, so a MITM cannot forward assertions to a different origin (Correct answer)
- FIDO2 relies entirely on TLS certificate pinning to prevent MITM attacks
- FIDO2 uses mutual TLS between the authenticator and relying party to prevent relay attacks
- Challenge freshness enforced by the TLS layer prevents all replay scenarios
Correct answer: The origin and rpIdHash are signed by the authenticator, so a MITM cannot forward assertions to a different origin
Because the authenticator signs the origin (via clientDataJSON hash) and rpIdHash, any assertion is cryptographically bound to the exact origin and RP ID; a MITM operating on a different domain cannot use the signed assertion.
Question 68: Which CBOR-encoded data structure in FIDO2 carries the credential's public key during registration?
- TokenBinding
- AuthenticatorAssertionResponse
- AuthenticatorAttestationResponse (Correct answer)
- CollectedClientData
Correct answer: AuthenticatorAttestationResponse
The AuthenticatorAttestationResponse contains the CBOR-encoded attestation object, which includes the credential's public key in the authData structure.
Question 69: What is the purpose of the 'clientDataHash' value that the platform sends to the authenticator during a CTAP2 operation?
- It replaces the need for user verification when the hash is present
- It authenticates the CTAP transport channel between platform and authenticator
- It binds the authenticator's response to the specific client data (origin, challenge, type) collected by the browser (Correct answer)
- It serves as the credential ID for the new key pair being created
Correct answer: It binds the authenticator's response to the specific client data (origin, challenge, type) collected by the browser
clientDataHash is the SHA-256 of the clientDataJSON, passed to the authenticator so it can include it in the signed authenticatorData, cryptographically binding the assertion to the exact client context.
Question 70: What is the primary reason FIDO2 uses asymmetric (public-key) cryptography rather than symmetric shared secrets like TOTP?
- Asymmetric cryptography is required by TLS 1.3 and cannot be avoided
- The server never holds the secret needed to produce valid authentications, so a server breach cannot yield usable credentials (Correct answer)
- Symmetric cryptography cannot produce digital signatures
- Asymmetric keys are shorter and faster to transmit over the network
Correct answer: The server never holds the secret needed to produce valid authentications, so a server breach cannot yield usable credentials
With asymmetric cryptography, the server stores only the public key; even full database compromise does not give attackers the ability to impersonate users.
Question 71: Which field in the FIDO2 credential record uniquely identifies a credential within a specific relying party?
- aaguid
- rpId
- credential_id (Correct answer)
- user_handle
Correct answer: credential_id
The credential_id is the unique identifier assigned by the authenticator that distinguishes each credential at the relying party.
Question 72: In FIDO U2F (CTAP1), what is contained in the 'key handle' returned during the registration response?
- Authenticator-specific data that allows the device to regenerate or locate the credential private key for that origin (Correct answer)
- A certificate chain linking the device key to the FIDO root CA
- The user's public key encrypted with the server's public key
- The counter value and user presence byte combined
Correct answer: Authenticator-specific data that allows the device to regenerate or locate the credential private key for that origin
The U2F key handle is an opaque blob (up to 255 bytes) that the authenticator uses to find or reconstruct the private key for a given application ID, and it is passed back to the authenticator during authentication.
Question 73: In CTAP2, what is the maximum number of credentials that can be returned in a single 'authenticatorGetNextAssertion' response sequence?
- Up to the number indicated by the numberOfCredentials field in the first getAssertion response (Correct answer)
- Up to 20 credentials as defined by the FIDO Alliance
- Only 1 credential per session regardless of stored credentials
- Exactly 5 credentials per CTAP2 specification limit
Correct answer: Up to the number indicated by the numberOfCredentials field in the first getAssertion response
The first authenticatorGetAssertion response includes a numberOfCredentials field; the platform then calls authenticatorGetNextAssertion that many minus one additional times to retrieve all matching credentials.
Question 74: Which attestation format uses a certificate chain rooted in a manufacturer CA and is commonly used by TPM-based platform authenticators?
- fido-u2f
- tpm (Correct answer)
- packed
- android-key
Correct answer: tpm
The 'tpm' attestation format is specifically defined for Trusted Platform Module authenticators and uses a TPM-issued certificate chain anchored to a manufacturer CA.
Question 75: In a DevSecOps pipeline for a FIDO relying party, which gate should block a merge if violated?
- A unit test for a helper function was deleted
- The server's challenge validation was removed to simplify the code (Correct answer)
- A developer added a new UI font
- A new optional logging field was added
Correct answer: The server's challenge validation was removed to simplify the code
Removing challenge validation eliminates replay-attack protection; a security-focused gate must block such regressions automatically.
Question 76: What is the purpose of the clientDataHash in FIDO2's network-level security model?
- It cryptographically binds the authenticator response to the specific challenge and origin sent over the network (Correct answer)
- It encrypts the credential ID during network transport
- It authenticates the TLS certificate of the relying party server
- It provides a MAC over the BLE channel data
Correct answer: It cryptographically binds the authenticator response to the specific challenge and origin sent over the network
The clientDataHash is a SHA-256 hash of clientDataJSON containing the challenge and origin, ensuring the authenticator's signature covers network-level context.
Question 77: What does the 'UP' flag in authenticatorData indicate?
- The user has been uniquely identified by biometrics
- User Presence was verified — the user physically interacted with the authenticator (Correct answer)
- The authenticator supports UV (User Verification)
- The credential uses an unprotected (UP) key storage mode
Correct answer: User Presence was verified — the user physically interacted with the authenticator
The User Presence (UP) flag confirms the authenticator detected a deliberate human gesture, such as touching the device.
Question 78: Which protocol is the foundation of FIDO authentication?
- Kerberos
- OAuth 2.0
- FIDO UAF (Correct answer)
- SAML
Correct answer: FIDO UAF
FIDO UAF (Universal Authentication Framework) was one of the original FIDO specifications, designed to enable passwordless authentication using various on-device authenticators like biometrics or PINs. It laid the groundwork for secure, multi-factor authentication directly from a user's device, eliminating the need for traditional passwords. This protocol established the core principles of FIDO's approach to strong, user-friendly authentication.
Question 79: Which attestation statement format uses a certificate chain rooted in a manufacturer CA and is common for TPM-based authenticators?
- TPM attestation (Correct answer)
- Android SafetyNet attestation
- FIDO U2F attestation
- Packed attestation
Correct answer: TPM attestation
TPM attestation format uses a TPM-generated certifyInfo structure signed by the TPM's attestation key (AIK), with a certificate chain back to the TPM manufacturer CA.
Question 80: What is a critical path in project management?
- The longest sequence of dependent tasks that determines project duration (Correct answer)
- The path requiring the most resources
- The shortest possible path to completion
- The most expensive phase of the project
Correct answer: The longest sequence of dependent tasks that determines project duration
The critical path identifies the sequence of tasks that directly affects the project completion date — any delay on these tasks delays the entire project.
Question 81: What differentiates a 'second-factor' (U2F-style) flow from a 'first-factor' passwordless flow in FIDO?
- Second-factor requires attestation; passwordless does not
- Passwordless requires user verification (UV) at the authenticator; second-factor requires only user presence (Correct answer)
- Passwordless always uses platform authenticators; second-factor uses roaming authenticators
- Second-factor uses CTAP2; passwordless uses CTAP1
Correct answer: Passwordless requires user verification (UV) at the authenticator; second-factor requires only user presence
In a passwordless first-factor flow the authenticator must perform user verification (PIN, biometric) to replace the password, whereas U2F-style second-factor flows require only user presence.
Question 82: What is the purpose of the 'up' (user presence) flag in the authenticatorData structure?
- It confirms that user verification (PIN or biometric) was completed
- It records whether the user is currently online
- It signals that a test of user presence was performed, such as a button press (Correct answer)
- It indicates the user's physical location was verified
Correct answer: It signals that a test of user presence was performed, such as a button press
The 'up' flag in authenticatorData indicates that the authenticator performed a test of user presence, typically a physical touch or button press.
Question 83: When testing a FIDO2 authenticator's resident key (discoverable credential) functionality, what is the primary concern?
- Checking that the attestation certificate chain is valid
- Confirming the PIN length meets minimum requirements
- Ensuring the credential is stored on the authenticator and can be listed without a prior user ID (Correct answer)
- Verifying the public key is exported correctly to the server
Correct answer: Ensuring the credential is stored on the authenticator and can be listed without a prior user ID
Discoverable credentials (resident keys) must be stored on the authenticator so the relying party can authenticate without supplying a credential ID.
Question 84: In the FIDO Metadata Service (MDS), what is a 'status report' used for?
- Providing the attestation certificate chain for verification
- Describing the cryptographic algorithms supported by an authenticator
- Reporting individual user authentication attempts to the FIDO Alliance
- Communicating the current security status and any known vulnerabilities of an authenticator model (Correct answer)
Correct answer: Communicating the current security status and any known vulnerabilities of an authenticator model
Status reports in the MDS communicate the current security posture of an authenticator model, including revocation status and any discovered vulnerabilities, so RPs can make trust decisions.
Question 85: Which metadata service should relying parties query to validate authenticator attestations and check for security advisories?
- Microsoft Azure Attestation Service
- NIST National Vulnerability Database
- Google Safe Browsing API
- FIDO Alliance Metadata Service (MDS) (Correct answer)
Correct answer: FIDO Alliance Metadata Service (MDS)
The FIDO Alliance Metadata Service (MDS) provides authenticator metadata including attestation certificates and security status, enabling relying parties to validate attestations.
Question 86: What does the 'BE' (Backup Eligibility) flag in FIDO2 authenticatorData indicate?
- The authenticator has a backup battery in case of power failure
- The credential uses a backup encryption algorithm if the primary one fails
- The credential can be backed up and synchronized across devices (e.g., a passkey) (Correct answer)
- The relying party has enabled credential backup in its policy settings
Correct answer: The credential can be backed up and synchronized across devices (e.g., a passkey)
The BE flag, introduced with passkeys, indicates the credential's private key may be synchronized to other devices in a platform ecosystem.
Question 87: A FIDO2 RP database needs to prevent two concurrent registrations from inserting the same credential_id. Which mechanism is most reliable?
- UNIQUE database constraint on credential_id with transaction rollback on conflict (Correct answer)
- Application-layer mutex lock
- Periodic batch deduplication job
- Manual admin review of duplicate submissions
Correct answer: UNIQUE database constraint on credential_id with transaction rollback on conflict
A database-enforced UNIQUE constraint guarantees atomicity at the storage layer, eliminating race conditions that application locks cannot fully prevent.
Question 88: Which elliptic curve is most commonly used in FIDO2 credentials and identified by COSE key type -7?
- P-521 (secp521r1)
- P-384 (secp384r1)
- P-256 (prime256v1 / secp256r1) (Correct answer)
- Curve25519 (X25519)
Correct answer: P-256 (prime256v1 / secp256r1)
COSE algorithm ES256 (-7) uses ECDSA with the P-256 curve, the most widely supported curve in FIDO2 authenticators.
Question 89: How does the FIDO2 challenge prevent replay attacks during authentication?
- The challenge is encrypted with the user's password so it cannot be reused
- The server generates a fresh random challenge each session; the authenticator signs it, and the server verifies it was used only once (Correct answer)
- Challenges are timestamped with an atomic clock and expire after 30 seconds
- The authenticator increments a counter that the challenge must match exactly
Correct answer: The server generates a fresh random challenge each session; the authenticator signs it, and the server verifies it was used only once
A server-generated cryptographic nonce (challenge) that is signed and verified as fresh ensures intercepted assertions cannot be replayed.
Question 90: In a FIDO2 credential store, the 'user_handle' is best described as:
- An opaque byte sequence that maps a credential to a user account (Correct answer)
- The SHA-256 hash of the user's email address
- The user's display name stored as plaintext
- A UUID generated by the authenticator
Correct answer: An opaque byte sequence that maps a credential to a user account
The user_handle is an opaque, server-generated byte sequence that links a credential to a user without exposing PII to the authenticator.
FIDO Certified Professional (FCP)
The FIDO Certified Professional (FCP) certification validates expertise in designing, implementing, and deploying FIDO authentication solutions, covering business requirements analysis, technical implementation, and FIDO protocol standards.
Exam Rules
- You can skip questions and return to them later
- Flag questions for review before submitting
- No feedback shown until you submit the entire exam
- Unanswered questions count as wrong — answer everything
- 10 pretest questions are mixed in and don't affect your score
- Timer auto-submits when time runs out
- Your progress is auto-saved every 30 seconds