À mesure que le nombre d'utilisateurs connectés simultanément augmente, le nombre de sessions croît également, ce qui génère une charge excessive sur le serveur de sessions.
DAT est une spécification de token conçue pour résoudre ce problème de charge sur le serveur de sessions et pour implémenter une authentification efficace sans état partagé entre les serveurs (Stateless).
Délai d'expiration : uint64 (Unix Time)
CID : Hex (uint64)
Données en clair : Base64Url (Binary)
Données chiffrées : Base64Url (Binary)
Signature : Base64Url (Binary)
DAT et JWT (JSON Web Token) partagent une structure de token séparée par des points (.) ainsi qu'un mécanisme de validation par signature, mais présentent les différences fondamentales suivantes dans leur conception interne.
Structure JWT
| header | body | signature |
|---|---|---|
| Base64Url (JSON String) | Base64Url (JSON String) | Base64Url (Binary) |
Structure DAT
| Délai d'expiration | CID | Données en clair | Données chiffrées | Signature |
|---|---|---|---|---|
| Unixtime (uint64) | Hex (uint64) | Base64Url (Binary) | Base64Url (Encrypt Binary) | Base64Url (Binary) |
Données chiffrées (secure)) : Avec JWT, le Payload est exposé en clair par défaut, et une spécification distincte telle que JWE doit être appliquée si un chiffrement est nécessaire. En revanche, DAT prend en charge nativement le chiffrement via le champ Données chiffrées.exp (Claims) est optionnel, mais dans DAT, le champ Délai d'expiration (expire) est obligatoire dans la structure du token, ce qui rend la vérification de la durée de validité systématique.