A medida que aumenta el número de usuarios conectados simultáneamente, el número de sesiones (Session) también crece, lo que genera una carga excesiva en el servidor de sesiones.
DAT es una especificación de token diseñada para resolver este problema de carga en el servidor de sesiones e implementar una autenticación eficiente sin estado (Stateless) que no comparte estado entre servidores.
Tiempo de expiración : uint64 (Unix Time)
CID : Hex (uint64)
Datos en texto plano : Base64Url (Binary)
Datos cifrados : Base64Url (Binary)
Firma : Base64Url (Binary)
DAT y JWT (JSON Web Token) comparten una estructura de token separada por puntos (.) y un método de verificación mediante firma (signature), pero existen las siguientes diferencias clave en su diseño interno.
Estructura JWT
| header | body | signature |
|---|---|---|
| Base64Url (JSON String) | Base64Url (JSON String) | Base64Url (Binary) |
Estructura DAT
| Tiempo de expiración | CID | Datos en texto plano | Datos cifrados | Firma |
|---|---|---|---|---|
| Unixtime (uint64) | Hex (uint64) | Base64Url (Binary) | Base64Url (Encrypt Binary) | Base64Url (Binary) |
Datos cifrados (secure)): En JWT, el Payload (carga útil) queda expuesto en texto plano de forma predeterminada, por lo que si se requiere cifrado es necesario aplicar una especificación separada como JWE. En cambio, DAT admite la funcionalidad de cifrado de forma nativa a través del campo Datos cifrados.exp (Claims) es opcional, pero en DAT el campo Tiempo de expiración (expire) está obligatoriamente integrado en la estructura del token, por lo que la verificación del período de validez se realiza de forma obligatoria.