Outils pour utilisateurs

Outils du site


bloc3:authentification

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
bloc3:authentification [2023/03/31 11:55] – [Gérer la communication et le stockage sécurisés] adminbloc3:authentification [2024/05/13 11:09] (Version actuelle) – [Définitions] admin
Ligne 4: Ligne 4:
 **L'identification** est le procédé qui permet de vérifier l'identité d'un utilisateur. L'objectif de cette opération est de différencier les utilisateurs les uns des autres. Pour ce faire, l'utilisateur répond à la question : **//<color blue>Qui suis-je ?</color>//** en fournissant un __identifiant__.\\ \\  **L'identification** est le procédé qui permet de vérifier l'identité d'un utilisateur. L'objectif de cette opération est de différencier les utilisateurs les uns des autres. Pour ce faire, l'utilisateur répond à la question : **//<color blue>Qui suis-je ?</color>//** en fournissant un __identifiant__.\\ \\ 
 **L'authentification** est le procédé qui permet de vérifier qu'un utilisateur identifié est bien celui qu'il déclare être. Pour le prouver, l'utilisateur répond à la question : **//<color blue>Que sais-je ?</color>//** en fournissant un __mot de passe__.\\ \\  **L'authentification** est le procédé qui permet de vérifier qu'un utilisateur identifié est bien celui qu'il déclare être. Pour le prouver, l'utilisateur répond à la question : **//<color blue>Que sais-je ?</color>//** en fournissant un __mot de passe__.\\ \\ 
-**L'authentification à deux facteurs** est un procédé qui complète l'authentification afin de vérifier de manière encore plus certaine que l'utilisateur authentifié n'est pas un individu malveillant. Pour le prouver, l'utilisateur répond à la question : **//<color blue>Que possèdè-je ?</color>//** en :+**L'authentification à deux facteurs** est un procédé qui complète l'authentification afin de vérifier de manière encore plus certaine que l'utilisateur authentifié n'est pas un individu malveillant. Pour le prouver, l'utilisateur répond à la question : **//<color blue>Que possédè-je ?</color>//** en :
   * fournissant un code aléatoire obtenu sur un [[https://fr.wikipedia.org/wiki/Mot_de_passe_%C3%A0_usage_unique|générateur OTP]] ;   * fournissant un code aléatoire obtenu sur un [[https://fr.wikipedia.org/wiki/Mot_de_passe_%C3%A0_usage_unique|générateur OTP]] ;
   * fournissant un code reçu par SMS ;   * fournissant un code reçu par SMS ;
-  * validant un notification sur une App mobile.+  * validant un notification sur une App mobile dédiée.
  
 **L'habilitation** est le procédé qui, lorsqu'un utilisateur a été authentifié, permet de déterminer quels accès lui seront accordés. L'habilitation consiste à appliquer une politique de droits pré-établie répondant à la question : **//<color blue>Qu'as-tu le droit de faire ... ou pas ?</color>//**. \\ \\ **L'habilitation** est le procédé qui, lorsqu'un utilisateur a été authentifié, permet de déterminer quels accès lui seront accordés. L'habilitation consiste à appliquer une politique de droits pré-établie répondant à la question : **//<color blue>Qu'as-tu le droit de faire ... ou pas ?</color>//**. \\ \\
 __Notes__ :  __Notes__ : 
-  * Aujourd'hui, l'authentification à deux facteurs s'appuie largement sur les smartphones (qui concrétisent naturellement "ce que je possède"). Elle est réellement plus exigeante et, pour s'en convaincre, il suffit de faire l'expérience de ne plus avoir accès à sont smartphone (perte, oubli, panne, etc.) au moment où le second facteur est nécessaire. La situation peut être chaotique, voire kafkaïenne ;+  * Aujourd'hui, l'authentification à deux facteurs s'appuie largement sur les smartphones (qui concrétisent naturellement "ce que je possède"). Elle est réellement plus exigeante et, pour s'en convaincre, il suffit de faire l'expérience de ne plus avoir accès à son smartphone (perte, oubli, panne, etc.) au moment où le second facteur est nécessaire. La situation peut être chaotique, voire kafkaïenne ;
  
  
-  * Pour un organisation, la multiplication des besoins d'authentification a conduit à fabriquer des guichets centralisés d'authentification, appelés Single Sign-On ([[https://fr.wikipedia.org/wiki/Authentification_unique|SSO]]).+  * Pour une organisation, la multiplication des besoins d'authentification a conduit à fabriquer des guichets centralisés d'authentification, appelés Single Sign-On ([[https://fr.wikipedia.org/wiki/Authentification_unique|SSO]]).
  
-====== Les bonnes pratiques de l'authentification web ======+===== Les Fonctionnalités à considérer dans une authentification =====
  
-Les **bonnes pratiques de l'authentification web** comprennent plusieurs éléments clés pour garantir la sécurité des utilisateurs et des systèmesL'un de ces éléments est **le hachage des mots de passe**. Le hachage des mots de passe consiste à utiliser **un algorithme de hachage pour transformer un mot de passe en une chaîne de caractères aléatoires appelée "hash-code"**.+==== Gérer les utilisateurs ==== 
 +Pour gérer efficacement l'authentification, il conviendra de disposer d'une liste à jour des utilisateurs autorisésPour ce faire, il faudra gérer les utilisateurs au fil de deux besoins essentiels : 
 +  Ajouter de nouveaux utilisateurs ; 
 +  Désactiver des utilisateurs ;
  
-{{:bloc2:prog:web:php_e.png?400|}}+==== Gérer les droits ==== 
 +Ensuite, il est important de pouvoir appliquer une **politique d'habilitations** par le biais d'une  gestion des droits d'accès. Cela implique de pouvoir **attribuer ou retirer des droits** à chacun. Souvent, l'application des droits à des **groupes d'utilisateurs** facilitera le processus.  
 +\\ \\ Principe fondamental de la sécurité //__appliquer à chacun tous les droits nécessaires mais seulement eux, jamais plus__//.
  
-**Le hash-code est stocké dans la base de données, au lieu du mot de passe lui-même.** Lorsqu'un utilisateur entre son mot de passe pour s'authentifier, le système hache ce mot de passe et **le compare au hash-code stocké dans la base de données**. Si les deux hash-codes correspondent, l'utilisateur est authentifié.+==== Gérer l'authentification ==== 
 +Offrir une mire d'authentification et le traitement associé.
  
-Pour maximiser la sécurité, il est important d'utiliser** le hash-code le plus long possible**. Actuellement, **le hash-code le plus long est de 256 bits**, ce qui offre une très grande sécurité contre les attaques de déchiffrement. En outre, **il est important d'utiliser l'algorithme de hachage le plus lent possible. Actuellement, l'algorithme le plus lent est BCrypt**, qui utilise une fonction de hachage très complexe qui prend beaucoup de temps à exécuter. Cela empêche **les attaques de force brute**, qui consistent à essayer de deviner un mot de passe en exécutant rapidement des milliers d'essais.+==== Gérer le changement de mot de passe ==== 
 +En outre, il est nécessaire de pouvoir gérer le changement de mot de passe des utilisateurs. Cela permet aux utilisateurs de changer leur mot de passe régulièrement pour **maintenir la sécurité du système**. 
  
- +==== Gérer la réinitialisation de mot de passe ==== 
-En plus du hachage des mots de passe, il est important d'établir une politique des mots de passe pour gérer les mots de passe des utilisateurs. Cette politique doit inclure des règles sur la longueur et la complexité des mots de passe, ainsi que sur leur durée de vie. Elle doit également inclure un seuil de blocage en cas d'échecs répétés, ainsi que des règles sur la réinitialisation des mots de passe en cas d'oubli. Enfin, la politique doit définir le moyen et le mode de communication initiale des mots de passe aux utilisateurs. +Une nécessité supplémentaire consiste à proposer un système de réinitialisation de son mot de passe en cas d'oubli, afin que chacun, en toute autonomiepuisse continuer à accéder au système sans interruption.
- +
-En utilisant le hachage des mots de passe, en établissant une politique des mots de passe et en suivant ces bonnes pratiques, vous pouvez renforcer la sécurité de votre système d'authentification web. Cependant, il est également important de stocker les mots de passe de manière sécurisée, afin d'éviter qu'ils ne tombent entre de mauvaises mains en cas de fuite de données. Pour celail est recommandé d'utiliser un coffre-fort à mot de passe, qui est un outil de stockage et de gestion sécurisé des mots de passe +
- +
- +
-===== Les Fonctionnalités à considérer dans une authentification ===== +
- +
-==== Gérer les nouveaux utilisateurs et les désactivations ==== +
-Pour gérer efficacement l'authentification, il est important de pouvoir **gérer les nouveaux utilisateurs et les désactivations**. Cela signifie qu'il faut être en mesure de **créer de nouveaux comptes** pour les utilisateurs autoriséstout en ayant la **possibilité de désactiver les comptes des utilisateurs qui ne sont plus autorisés à accéder au système**. +
- +
-==== Gérer les droits (autorisations et groupes) ==== +
-Ensuite, il est important de pouvoir **gérer les droits des utilisateurs**. Cela implique de pouvoir **attribuer des autorisations et des groupes spécifiques à chaque utilisateur**, afin de contrôler leur **accès aux différentes parties du système**. Cela permet d'éviter que les utilisateurs n'accèdent à des informations ou des fonctionnalités auxquelles ils ne sont pas autorisés.+
  
 ==== Gérer la double authentification ==== ==== Gérer la double authentification ====
-Il est également important de pouvoir gérer la **double authentification**, pour **renforcer la sécurité du système**. La **double authentification** implique de demander à l'utilisateur de fournir deux éléments d'identification pour accéder au système, comme **un mot de passe et un code à usage unique envoyé par SMS**. Cela empêche les utilisateurs non autorisés d'accéder au système même s'ils connaissent le mot de passe.+Enfin, de sorte à **renforcer la sécurité du système**, proposer une double authentification implique des traitements et un processus spécifiques.
  
-==== Gérer le changement de mot de passe et la réinitialisation des mots de passe ==== +On le mesure icidévelopper un système d'authentification complet ne peut pas s'improviser.
-En outreil est important de pouvoir gérer **le changement de mot de passe des utilisateurs**. Cela permet aux utilisateurs de **changer leur mot de passe régulièrement pour maintenir la sécurité du système**. Il est également important de pouvoir gérer la **réinitialisation des mots de passe en cas d'oubli**, afin que les utilisateurs puissent continuer à accéder au système sans interruption.+
  
-==== Gérer la communication et le stockage sécurisés ==== +====== RGPD et Authentification ======
-Enfin, il est important de gérer **la communication et le stockage sécurisés des informations d'authentification**. Cela implique de **chiffrer** les informations d'authentification tout au long de leur cycle de vie pour les protéger contre des attaques. Il est également important de gérer **la confidentialité des informations d'authentification, en appliquant les droits d'accès aux utilisateurs en fonction de leurs autorisations et groupes**. +
- +
- +
-====== Quel rapport a le RGPD avec l'authentification web ? ======+
    
 +**Le Règlement général sur la protection des données (RGPD)** ne traite pas spécifiquement de l'authentification, mais il s'y applique systématiquement puisque celle-ci traite des données à caractère personnel. 
  
-**Le Règlement général sur la protection des données (RGPD)** ne traite pas spécifiquement de l'authentification web, mais il s'applique généralement aux données personnelles collectées lors de l'authentification en ligne. Le RGPD établit des exigences en matière de protection de la vie privée des personnes, notamment en ce qui concerne la collecte, l'utilisation et la conservation de leurs données personnelles. Il exige notamment que les entreprises qui collectent des données personnelles obtiennent le consentement des personnes concernées et leur fournissent des informations claires et précises sur la façon dont leurs données seront utilisées. En outrele RGPD exige que les entreprises prennent des mesures de sécurité appropriées pour protéger les données personnelles qu'elles collectenty compris lors de l'authentification en ligne. +Par ailleurs, le RGPD stipule que tout service numérique opéré à destinations d'utilisateurs doit mettre en œuvre un procédé complet de **traçabilité**. L'authentification n'échappe pas à ce principe et se doit d'enregistrer toutes les opérations qui lui sont liées (connexions réussiesconnexions en échecdéconnexions, changements de mots de passeetc.). Les traces ainsi enregistrées pourront servir tant dans le cadre d'une requête judiciaire que pour un usage interne dans la gestion quotidienne.
- +
-Le RGPD pour s'assurer du bon fonctionnement pourra sous un délai de 6 moisdemander le retracement des connexions dans un fichier LOG +
- +
-Voici un exemple de code PHP qui peut être utilisé pour écrire des entrées dans un fichier log : +
- +
-{{:bloc2:prog:web:php_f.png?400|}} +
- +
-Ce code ouvre le fichier log en mode écriture (a pour "append" ou ajout), ce qui signifie que les données seront ajoutées à la fin du fichier sans écraser son contenu existantLe message à écrire dans le fichier log est ensuite écrit à l'aide de la fonction fwrite() et le fichier est fermé avec la fonction fclose().+
  
-Il est important de noter que le fichier log doit avoir les autorisations d'écriture correctes pour que ce code fonctionne correctement. Vous devrez peut-être modifier les autorisations du fichier pour permettre à PHP d'écrire dans le fichier. 
bloc3/authentification.1680256519.txt.gz · Dernière modification : 2023/03/31 11:55 de admin