Aller au contenu principal

Utilisation du Header X-LAGERTHA

L'API Lagertha va au-delà des standards de sécurité en introduisant un mécanisme supplémentaire pour garantir l'intégrité et prévenir les attaques de rejeu de requêtes. Chaque appel à l'API doit inclure le header personnalisé X-LAGERTHA pour renforcer la sécurité de l'ensemble du processus.

Authentification des Appareils

Pour authentifier les appareils effectuant des requêtes, un identifiant unique doit être inclus avec chaque requête d'authentification ou de rafraîchissement des jetons de connexion. Cet identifiant est spécifique à l'appareil et sera enregistré par l'API pour une validation ultérieure des appels provenant du même appareil.

Génération du Header X-LAGERTHA

Un header X-LAGERTHA doit être inclus dans chaque requête avec un contenu spécifique généré selon l'algorithme suivant :

// Obtenir l'empreinte digitale avec fingerprintJs ou une autre bibliothèque d'identification de périphérique
const fingerprint = "..."
// Générer un UUID de version 4. UUID, ou une valeur générée de manière unique et sûre dans le temps
const nonce = "..."
// Générer le chiffre avec le hachage SHA-512
const cipher = sha(`${fingerprint}${nonce}`)
// Encoder le nonce en base64
const nonce64 = Buffer.from(cipher).toString('base64')
// Composer le contenu final du header
const headerContent = `cipher="${cipher}"; nonce="${nonce64}";`
// Définir le header pour votre requête
const header = `X-LAGERTHA: ${headerContent}`

Authentification de la Requête

À chaque requête, l'API authentifiera non seulement les jetons de connexion JWT mais également ce header personnalisé X-LAGERTHA pour valider l'intégrité de la requête. Cela ajoute une couche de sécurité supplémentaire, garantissant que chaque appel à l'API est authentifié et protégé contre les attaques potentielles.

L'inclusion du header X-LAGERTHA dans chaque requête démontre l'engagement de Lagertha envers la sécurité, offrant ainsi une protection renforcée contre les menaces potentielles.