Le certificat DAT est une spécification destinée à contrôler les droits d'émission des DAT (Data Authentication Token) et à gérer les algorithmes de signature et de chiffrement ainsi que les informations de clé (Key) du token.
Chaque certificat possède un identifiant unique (CID) et assure une gestion sécurisée du cycle de vie des tokens en imposant la période d'émission autorisée ainsi que la durée de validité par défaut (TTL) des tokens générés.
CID : Hex (uint64)
CID du DAT afin de déterminer quel certificat utiliser lors de la validation.Heure de début d'émission du DAT : uint64 (Unix Time)
Durée d'émission du DAT : uint64 (Seconds)
Heure de début d'émission du DAT, il n'est plus possible d'émettre de nouveaux DAT avec ce certificat.DAT TTL (Durée de vie) : uint64 (Seconds)
expire est définie comme la somme de l'heure d'émission (heure actuelle) et de dat-ttl.Algorithme de signature : String / Enum
signature du DAT.Algorithme de chiffrement : String / Enum
secure du DAT.Clé de signature : Base64Url (Binary)
Clé de chiffrement : Base64Url (Binary)
secure.Liste des algorithmes de signature permettant de protéger les DAT contre la falsification et la modification.
Les méthodes à clé symétrique et à clé asymétrique sont prises en charge.
ECDSA-P256
ECDSA-P384
ECDSA-P521
HMAC-SHA256-MFS
HMAC-SHA384-MFS
HMAC-SHA512-MFS
MFS (Maximum Fixed Secret) : Méthode utilisant une clé secrète de taille fixe dont le nombre de bits est identique à la taille de sortie (Output) de l'algorithme de hachage.
Liste des algorithmes de chiffrement authentifié (Authenticated Encryption) permettant de protéger les données confidentielles (secure field) contenues dans le DAT.
Le résultat du chiffrement se présente sous la forme d'une combinaison de l'IV et des données chiffrées, afin de prévenir le déchiffrement non autorisé et les attaques par rejeu.
IV-AES128-GCM
IV-AES256-GCM
Intégration de l'IV (Initialization Vector) : Afin de prévenir les attaques par rejeu (Replay Attack), un NONCE (IV) unique de 96 bits généré à chaque chiffrement est concaténé en préfixe (Prefix) devant les données chiffrées dans le binaire résultant. Lors du déchiffrement, les 96 premiers bits sont extraits en tant qu'IV pour effectuer le déchiffrement.