Le protocole CTAP (en anglais: « Client to Authenticator Protocol ») ou X.1278[1] permet à un authentificateur cryptographique itinérant – contrôlé par l'utilisateur (tel qu'un smartphone ou une clé de sécurité matérielle) – d'interagir avec une plate-forme client, telle qu'un ordinateur portable.
Le CTAP est complémentaire de la norme WebAuthn publiée par le World Wide Web Consortium (W3C)[2]. Le WebAuthn et le CTAP sont les principales résultantes du projet FIDO2, effort conjoint entre l'Alliance FIDO et le W3C[3].
CTAP est basé sur des travaux antérieurs effectués par l'Alliance FIDO, en particulier la norme d'authentification Universal 2nd Factor (U2F).
En 2017, le FIDO U2F 1.2 (norme proposée le 11 juillet 2017) est devenu le point de départ de la proposition de norme CTAP, dont la dernière version fut publiée en janvier 30, 2019[4].
La spécification CTAP fait référence à deux versions de protocole, le protocole CTAP1/U2F et le protocole CTAP2[4]. Un authentificateur qui implémente CTAP2 est appelé un authentificateur FIDO2 (également appelé un authentificateur WebAuthn). Si cet authentificateur implémente également CTAP1/U2F, il est rétrocompatible avec U2F.
Le protocole utilise le format de sérialisation des données binaires CBOR.
La norme a été adoptée en tant que Recommandation UIT-T X.1278[5],[1].