Partage de technologie

Question d'entretien front-end 52 (Pouvez-vous m'expliquer le rôle des fonctions de hachage dans la sécurité front-end ?)

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Insérer la description de l'image ici
Les fonctions de hachage jouent un rôle essentiel dans la sécurité frontale, qui se reflète principalement dans les aspects suivants :

1. Stockage du mot de passe

Lorsque les utilisateurs créent des comptes ou modifient leurs mots de passe dans des applications frontales, il est très dangereux de stocker directement des mots de passe en texte clair. Au lieu de cela, le frontal utilise une fonction de hachage (telle que SHA-256 ou SHA-512) pour convertir le mot de passe en une valeur de hachage de longueur fixe, puis envoie la valeur de hachage au back-end pour stockage. De cette façon, même si la base de données est divulguée, il sera difficile pour l'attaquant d'inverser le mot de passe d'origine à partir de la valeur de hachage.

2. Contrôle de l'intégrité des données

Les fonctions de hachage peuvent être utilisées pour garantir que les données n'ont pas été falsifiées pendant la transmission. Le frontal peut calculer le hachage des données à envoyer et l'envoyer avec les données. Une fois que le backend a reçu les données, il calcule à nouveau la valeur de hachage et la compare avec la valeur de hachage envoyée par le front-end. Si les deux correspondent, les données n’ont pas été modifiées lors de la transmission.

3. Empêcher les attaques par relecture

Dans certaines requêtes nécessitant une authentification, le frontend peut générer une chaîne aléatoire (appelée nonce) et l'envoyer avec la requête de l'utilisateur. Ce nom occasionnel est haché et stocké sur le backend. S'il y a des demandes répétées plus tard, le backend peut vérifier si le nom occasionnel a été utilisé pour empêcher les attaques par réexécution.

4. Vérifiez les fichiers et les ressources

Les frontaux peuvent utiliser des fonctions de hachage pour vérifier l'intégrité des fichiers ou des ressources téléchargés depuis le serveur. Par exemple, en utilisant la fonction Subresource Integrity (SRI), les développeurs peuvent spécifier une valeur de hachage dans la balise HTML, et le navigateur calculera automatiquement la valeur de hachage et la comparera avec la valeur spécifiée lors du chargement de la ressource pour s'assurer que la ressource n'a pas été utilisée. été altéré par malveillance.

5. Filtre de floraison

Dans certains cas, le frontal peut utiliser un filtre Bloom pour déterminer rapidement si un élément existe dans une collection. Les filtres Bloom utilisent plusieurs fonctions de hachage différentes pour réduire le taux de faux positifs. Bien qu'ils puissent produire des faux positifs, ils ne produisent pas de faux négatifs, ce qui est très utile lors du traitement de grandes quantités de données.

6. Pare-feu d'applications Web (WAF)

Les fonctions de hachage sont également utilisées dans les pare-feu d'applications Web pour détecter et bloquer les requêtes malveillantes. Un WAF peut maintenir une liste noire contenant des hachages de modèles de requêtes malveillantes connus. Lorsqu'une nouvelle demande est reçue, le WAF hache la demande puis vérifie si la valeur de hachage figure dans la liste noire.

7. Protégez les informations sensibles

Lorsqu'il s'agit d'informations sensibles, telles que des numéros de carte de crédit ou des informations personnellement identifiables, le frontal peut utiliser une fonction de hachage pour créer un hachage des informations, puis utiliser ce hachage à des fins de comparaison ou comme identifiant, plutôt que d'utiliser directement les données brutes. . , augmentant ainsi la sécurité.

en conclusion

Les fonctions de hachage améliorent la sécurité des applications frontales en fournissant une méthode de sortie unidirectionnelle et fixe, en particulier lorsqu'il s'agit de l'authentification des utilisateurs, de l'intégrité des données et de la protection de la vie privée. Cependant, il est important de noter que même si les fonctions de hachage offrent une sécurité renforcée, elles ne sont pas infaillibles, notamment pour le stockage des mots de passe, et il est préférable de les utiliser conjointement avec un sel pour augmenter encore la difficulté de piratage.