5 authentification

1 017 vues

Publié le

spcl

Publié dans : Formation
1 commentaire
2 j’aime
Statistiques
Remarques
Aucun téléchargement
Vues
Nombre de vues
1 017
Sur SlideShare
0
Issues des intégrations
0
Intégrations
179
Actions
Partages
0
Téléchargements
0
Commentaires
1
J’aime
2
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

5 authentification

  1. 1. authentification Le contrôle d'accès consiste à définir les accès au réseau et les services disponibles après identification. Le terme AAA est souvent utilisé pour désigner les facettes suivantes de la sécurité : •Authentification (en anglais Authentication) : il s'agit de la vérification de l'identité d'un utilisateur ; •Autorisation (en anglais Authorization) : il s'agit des droits accordés à un utilisateur, tels que l'accès à une partie d'un réseau, à des fichiers, le droit d'écriture, etc. •Comptabilité (en anglais Accounting) : il s'agit des informations récoltées pendant toute la durée de la session, après identification de l'utilisateur. AAA est un modèle de sécurité implémenté dans certains routeurs mais que l'on peut également utiliser sur toute machine qui peut servir de NAS (Network Access Server).
  2. 2. AuthentificationIntroduction à l'authentification L'authentification Un service d'authentification repose sur deux composantes : •L'identification dont le rôle est de définir les identités des utilisateurs ; •L'authentification permettant de vérifier les identités présumée des utilisateurs. Lorsqu'il existe une seule preuve de l'identité (mot de passe par exemple) on parle d'authentification simple. Lorsque l'authentification nécessite plusieurs facteurs, on parle alors d'authentification forte. L'authentification permet de vérifier l'identité d'un utilisateur sur une des bases suivantes : •Un élément d'information que l'utilisateur connaît (mot de passe, passphrase, etc.) •Un élément que l'utilisateur possède (carte à puce, clé de stockage, certificat) •Une caractéristique physique propre à l'utilisateur, on parle alors de biométrie (fond de rétine, empreinte digitale, ADN, etc.). L'authentification intervient à différents niveaux dans les couches de protocoles du modèle internet : •Au niveau applicatif : HTTP, FTP •Au niveau transport : SSL, SSH •Au niveau réseau : IPSEC •Au niveau transmission : PAP, CHAP PAP Le protocole PAP (Password Authentication Protocol) est, comme son nom l'indique, un protocole d'authentification par mot de passe. Le protocole PAP a été originalement utilisé dans le cadre du protocole PPP. Le principe du protocole PAP consiste à envoyer l'identifiant et le mot de passe en clair à travers le réseau. Si le mot de passe correspond, alors l'accès est autorisé. Ainsi, le protocole PAP n'est utilisé en pratique qu'à travers un réseau sécurisé. CHAP Le protocole CHAP (Challenge Handshake Authentication Protocol), défini par la RFC 1994 est un protocole d'authentification basé sur la résolution d'un « défi » (en anglais « challenge »), c'est-à-dire une séquence à chiffrer avec une clé et la comparaison de la séquence chiffrée ainsi envoyée. Les étapes du défi sont les suivantes : •un nombre aléatoire de 16 bits est envoyé au client par le serveur d'authentification, ainsi qu'un compteur incrémenté à chaque envoi ; •la machine distante « hache » ce nombre, le compteur ainsi que sa clé secrète (le mot de passe) avec l'algorithme de hachage MD5 et le renvoie sur le réseau ; •le serveur d'authentification compare le résultat transmis par la machine distante avec le calcul effectué localement avec la clé secrète associée à l'utilisateur ; •Si les deux résultats sont égaux, alors l'identification réussit, sinon elle échoue. •Le protocole CHAP améliore le protocole PAP dans la mesure où le mot de passe n'est plus transmis en clair sur le réseau. MS-CHAP Microsoft a mis au point une version spécifique de CHAP, baptisée MS-CHAP (Microsoft Challenge Handshake Authentication Protocol version 1, noté parfois MS-CHAP-v1), améliorant globalement la sécurité. En effet, le protocole CHAP implique que l'ensemble des mots de passe des utilisateurs soient stockés en clair sur le serveur, ce qui constitue une vulnérabilité potentielle. Ainsi MS-CHAP propose une fonction de hachage propriétaire permettant de stocker un hash intermédiaire du mot de passe sur le serveur. Lorsque la machine distante répond au défi, elle doit ainsi préalablement hacher le mot de passe à l'aide de l'algorithme propriétaire. Le protocole MS-CHAP-v1 souffre malheureusement de failles de sécurité liées à des faiblesses de la fonction de hachage propriétaire.
  3. 3. AuthentificationMS-CHAP v2 La version 2 du protocole MS-CHAP, baptisée MS-CHAP-V2, a été définie en Janvier 2000 dans la RFC 2759. Cette nouvelle version du protocole définit une méthode dite « d'authentification mutuelle », permettant au serveur d'authentification et à la machine distante de vérifier leurs identités respectives. Le processus d'authentification mutuelle de MS-CHAP v2 fonctionne de la manière suivante : •Le serveur d'authentification envoie à l'utilisateur distant une demande de vérification composée d'un identifiant de session ainsi que d'une chaîne aléatoire. •Le client distant répond avec : •son nom d'utilisateur, •un haché contenant la chaîne arbitraire fournie par le serveur d'authentification, l'identifiant de session ainsi que son mot de passe, •une chaîne aléatoire. Le serveur d'authentification vérifie la réponse de l'utilisateur distant et renvoie & agave; son tour les éléments suivants : la notification de succès ou d'échec de l'authentification une réponse chiffrée sur la base de la chaîne aléatoire fournie par le client distant, la réponse chiffrée fournie et le mot de passe de l'utilisateur distant. Le client distant vérifie enfin à son tour la réponse et, en cas de réussite, établit la connexion. EAP Le protocole EAP est une extension du protocole PPP, un protocole utilisé pour les connexions à internet à distance (généralement via un modem RTC classique) et permettant notamment l'identification des utilisateurs sur le réseau. Contrairement à PPP, le protocole EAP permet d'utiliser différentes méthodes d'identification et son principe de fonctionnement rend très souple l'utilisation de différents systèmes d'authentification. EAP possède plusieurs méthodes d'authentification, dont les plus connues sont : EAP-MD5 (Message Digest 5) EAP-PEAP EAP-TLS EAP-TTLS
  4. 4. RADIUSIntroduction au protocole RADIUS Le protocole RADIUS (Remote Authentication Dial-In User Service), mis au point initialement par Livingston, est un protocole d'authentification standard, défini par un certain nombre de RFC. Le fonctionnement de RADIUS est basé sur un système client/serveur chargé de définir les accès d'utilisateurs distants à un réseau. Il s'agit du protocole de prédilection des fournisseurs d'accès à internet car il est relativement standard et propose des fonctionnalités de comptabilité permettant aux FAI de facturer précisément leurs clients. Le protocole RADIUS repose principalement sur un serveur (le serveur RADIUS), relié à une base d'identification (base de données, annuaire LDAP, etc.) et un client RADIUS, appelé NAS (Network Access Server), faisant office d'intermédiaire entre l'utilisateur final et le serveur. L'ensemble des transactions entre le client RADIUS et le serveur RADIUS est chiffrée et authentifiée grâce à un secret partagé. Il est à noter que le serveur RADIUS peut faire office de proxy, c'est-à-dire transmettre les requêtes du client à d'autres serveurs RADIUS. Fonctionnement de RADIUS Le fonctionnement de RADIUS est basé sur un scénario proche de celui-ci : •Un utilisateur envoie une requête au NAS afin d'autoriser une connexion à distance ; •Le NAS achemine la demande au serveur RADIUS ; •Le serveur RADIUS consulte la base de données d'identification afin de connaître le type de scénario d'identification demandé pour l'utilisateur. Soit le scénario actuel convient, soit une autre méthodes d'identification est demandée à l'utilisateur. Le serveur RADIUS retourne ainsi une des quatre réponses suivantes : ACCEPT : l'identification a réussi ; REJECT : l'identification a échoué ; CHALLENGE : le serveur RADIUS souhaite des informations supplémentaires de la part de l'utilisateur et propose un « défi » (en anglais « challenge ») ; Il existe une réponse appelée CHANGE PASSWORD où le serveur RADIUS demande à l'utilisateur un nouveau mot de passe. Change- password est un attribut VSA (Vendor-Specific Attributes) , c'est-à-dire qu'il est spécifique à un fournisseur, et dans ce cas, c'est un attribut de Microsoft et pour être plus précis, celui de MS-Chap v2. Il n'appartient pas aux attributs radius standard définis dans la RFC 2865. Suite à cette phase dit d'authentification, débute une phase d'autorisation où le serveur retourne les autorisations de l'utilisateur.
  5. 5. AuthentificationSingle Sign-On (SSO) L'objet du Single Sign-On, noté SSO, est de centraliser l'authentification afin de permettre à l'utilisateur d'accéder à toutes les ressources (machines, systèmes, réseaux) auxquels il est autorisé d'accéder, en s'étant identifié une seule fois sur le réseau. L'objectif du SSO est ainsi de propager l'information d'authentification aux différents services du réseau, voire aux autres réseaux et d'éviter ainsi à l'utilisateur de multiples identifications par mot de passe. Toute la difficulté de l'exercice réside dans le niveau de confiance entre les entités d'une part et la mise en place d'une procédure de propagation commune à toutes les entités à fédérer. Kerberos Introduction à Kerberos Le protocole Kerberos est issu du projet « Athena » du MIT, mené par Miller et Neuman. La version 5 du protocole Kerberos a été normalisée par l'IETF dans les RFC 1510 (septembre 1993) et 1964 (juin 1996). Le nom « Kerberos » provient de la mythologie grecque et correspond au nom du chien (en français « Cerbère ») protégeant l'accès aux portes d’Hadès. L'objet de Kerberos est la mise en place de serveurs d'authentification (AS pour Authentication Server), permettant d'identifier des utilisateurs distants, et des serveurs de délivrement de tickets de service (TGS, pour Ticket Granting System), permettant de les autoriser à accéder à des services réseau. Les clients peuvent aussi bien être des utilisateurs que des machines. La plupart du temps, les deux types de services sont regroupés sur un même serveur, appelé Centre de Distribution des Clés (ou KDC, pour Key Distribution Center). Le principe de fonctionnement de Kerberos repose sur la notion de « tickets » : •Afin d'obtenir l'autorisation d'accès à un service, un utilisateur distant doit envoyer son identifiant au serveur d'authentification. •Le serveur d'authentification vérifie que l'identifiant existe et envoie un ticket initial au client distant, chiffré avec la clé associée au client. Le ticket initial contient : •un clé de session, faisant office de mot de passe temporaire pour chiffrer les communications suivantes ; •un ticket d'accès au service de délivrement de ticket. •Le client distant déchiffre le ticket initial avec sa clé et obtient ainsi un ticket et une clé de session. Grâce à son ticket et sa clé de session, le client distant peut envoyer une requête chiffrée au service de délivrement de ticket, afin de demander l'accès à un service. Par ailleurs, Kerberos propose un système d'authentification mutuelle permettant au client et au serveur de s'identifier réciproquement. L'authentification proposée par le serveur Kerberos à une durée limitée dans le temps, ce qui permet d'éviter à un pirate de continuer d'avoir accès aux ressources : on parle ainsi d'anti re-jeu. Kerberos Kerberos est un protocole d'authentification réseau qui repose sur un mécanisme de clés secrètes (chiffrement symétrique) et l'utilisation de tickets, et non de mots de passe en clair, évitant ainsi le risque d'interception frauduleuse des mots de passe des utilisateurs.
  6. 6. AuthentificationFonctionnement Dans un réseau simple utilisant Kerberos, on distingue plusieurs entités : •le client (C), a sa propre clé secrète •le serveur (S), dispose aussi d'une clé secrète •le service d'émission de tickets (TGS pour Ticket-Granting Service), a une clé secrète et connaît la clé secrète du serveur •le centre de distribution de clés (KDC pour Key Distribution Center), connaît les clés secrètes et •Le client C veut accéder à un service proposé par le serveur S. La première étape pour le client consiste à s'identifier auprès du serveur de clés (KDC). Le client a une clé secrète , celle-ci est également connue par le serveur de clés. Le client envoie son nom au serveur de clés et lui indique le TGS qui l'intéresse. Après vérification sur l'identité du client (cette partie dépend des implémentations, certains serveurs utilisent des mots de passe à usage unique), le serveur de clés lui envoie alors un ticket . Ce ticket autorise le client à faire des requêtes auprès du TGS. Ce ticket est chiffré par le serveur de clés avec la clé du TGS (). Il contient notamment des informations sur le client mais également la clé utilisée pour établir la communication entre le client et le TGS. Cette clé de session, nous la noterons . Le client reçoit également cette clé de session , elle a toutefois été chiffrée avec la clé secrète du client. À ce stade, le client possède un ticket (qu'il ne peut pas déchiffrer) et une clé . La deuxième étape est l'envoi par le client d'une demande de ticket auprès du TGS. Cette requête contient un identifiant (des informations sur le client ainsi que la date d'émission) chiffré avec la clé de session (qui est trouvée par le client en déchiffrant les informations reçues depuis le serveur de clés avec sa clé secrète). Le client envoie aussi le ticket qui lui avait été transmis par le serveur de clés. Le TGS reçoit alors son ticket et il peut le déchiffrer avec sa clé secrète . Il récupère le contenu du ticket (la clé de session) et peut ainsi déchiffrer l'identifiant que lui a envoyé le client et vérifier l'authenticité des requêtes. Le TGS peut alors émettre un ticket d'accès au serveur. Ce ticket est chiffré grâce à la clé secrète du serveur . Le TGS envoie aussi ce ticket chiffré avec la clé secrète du serveur et la clé de session chiffrée à l'aide de la clé au client pour les communications entre le serveur final et le client. La troisième étape est le dialogue entre le client et le serveur. Le client reçoit le ticket pour accéder au serveur ainsi que l'information chiffrée contenant la clé de session entre lui et le serveur. Il déchiffre cette dernière grâce à la clé . Il génère un nouvel identifiant qu'il chiffre avec et qu'il envoie au serveur accompagné du ticket. Le serveur vérifie que le ticket est valide (il le déchiffre avec sa clé secrète ) et autorise l'accès au service si tout est correct.
  7. 7. AuthentificationSécurité Une fois qu'un client s'est identifié, celui-ci obtient un ticket (généralement, un fichier texte - mais son contenu peut aussi être stocké dans une zone de mémoire sécurisée). Le ticket joue le rôle d'une carte d'identité à péremption assez courte, huit heures généralement. Si nécessaire, celui-ci peut être annulé prématurément. Sous les systèmes Kerberos comme celui du MIT, ou de Heimdal, cette procédure est généralement appelée via la commande « kdestroy ». La sécurité de Kerberos repose sur la sécurité des différentes machines qu'il utilise. Une attaque sur le serveur de clés serait dramatique car elle pourrait permettre à l'attaquant de s'emparer des clés privées des clients et donc de se faire passer pour eux. Un autre problème qui pourrait survenir sur la machine du client est le vol des tickets. Ils pourraient être utilisés par une tierce personne pour accéder aux services offerts par les serveurs (si la clé entre le client et le serveur est connue). L'expiration du ticket permet de limiter les problèmes liés au vol des tickets. De plus, un ticket peut contenir l'adresse IP du client et le ticket n'est alors valable que s'il est employé depuis cette IP (ce champ est toutefois optionnel dans Kerberos, qui peut tout à fait être utilisé sur un réseau attribuant dynamiquement les IP au travers de DHCP). Une attaque sur les identifiants échouera car Kerberos leur ajoute un élément. Cela évite les attaques par renvoi d'identifiants qui auraient été interceptés. Les serveurs conservent l'historique des communications précédentes et peuvent facilement détecter un envoi frauduleux. L'avantage de Kerberos est de limiter le nombre d'identifiants et de pouvoir travailler sur un réseau non-sécurisé. Les identifications sont uniquement nécessaires pour l'obtention de nouveaux tickets d'accès au TGS. Actuellement, deux implémentations de Kerberos version 5 existent pour OpenLDAP : Similarité Le fonctionnement de Kerberos est calqué sur ce que pratiquent les ouvreuses des théâtres et anciennement des cinémas : au moment d'accéder à la séance de cinéma, le client paye son ticket qui l'identifie. au point d'accès de la salle, l'ouvreuse déchire le ticket en deux, conserve une partie et laisse l'autre au client. en cas de contrôle, on constate si les deux morceaux du ticket se recollent. la durée de vie du ticket est limité à une séance. L'authentification est la procédure qui consiste, pour un système informatique, à vérifier l'identité d'une entité (personne, ordinateur…), afin d'autoriser l'accès de cette entité à des ressources (systèmes, réseaux, applications…)1 . L'authentification permet donc de valider l'authenticité de l'entité en question. L'identification permet donc de connaître l'identité d'une entité alors que l'authentification permet de vérifier cette identité.
  8. 8. AuthentificationDéfinition L'authentification désigne le processus visant à confirmer qu'un commettant est bien celui qu'il prétend être. Il existe quatre facteurs d'authentification classiques qui peuvent être utilisés pour confirmer l'identité d'un commettant: •Utiliser une information que seul le commettant connaît. •Utiliser une information unique que seul le commettant possède. •Utiliser une information qui caractérise le commettant dans un contexte donné. •Utiliser une information que seul le commettant peut produire. D'autres facteurs d'authentification peuvent parfois être utilisés comme les contraintes temporelles ou les capacités de localisation. Enjeu Le contrôle permanent de l'intégrité et de l'accès (usage, identité du destinataire, émetteur, propriétaire) à un contenu ou à un service constitue le fondement de la traçabilité des transactions. Ce contrôle permet : •la protection des intérêts supérieurs de l'État et du patrimoine informatique des entreprises, donc de leurs intérêts commerciaux. Pour les entreprises, il s'agit de réduire le coût qui résulte d'attaques, de la perte de temps, de la perte d'informations, de l'espionnage, ou des fuites involontaires d'informations... •le développement du commerce et des échanges électroniques. L'authentification contribue à la facturation des services et contribue à la confiance dans l'économie numérique, condition indispensable du développement économique. •la protection de la vie privée. Les données personnelles véhiculées dans les systèmes d'information sont des données sensibles à protéger. •Les techniques d'authentification font partie des technologies clés. En France, elles sont identifiées comme telles dans le rapport sur les technologies clés 2010 (voir site sur les technologies clés 2010). Les efforts entrepris par les constructeurs et fournisseurs de services Internet (Ebay, Yahoo, PayPal, etc.) pour mettre en œuvre des systèmes d'authentification , notamment d'authentification forte, nous montrent clairement que l'authentification est un des enjeux majeurs pour le futur.
  9. 9. AuthentificationPreuves Dans le cas d'un individu, l'authentification consiste, en général, à vérifier que celui-ci possède une preuve de son identité ou de son statut, sous l'une des formes (éventuellement combinées) suivantes : •Ce qu'il sait (mot de passe, numéro d'identification personnel). •Ce qu'il possède3 (acte de naissance, carte grise, carte d'identité, carte à puce, droit de propriété, certificat électronique, diplôme, passeport, carte Vitale, Token OTP, Carte OTP, Téléphone portable, PDA, etc.). •Ce qu'il est (photo, caractéristique physique, voire biométrie). •Ce qu'il sait faire (geste, signature). Méthodes de vérification La phase de vérification fait intervenir un protocole d'authentification. On en distingue trois sortes « familles » : •L'authentification simple : l'authentification ne repose que sur un seul élément ou « facteur » (exemple : l'utilisateur indique son mot de passe). •L'authentification forte : l'authentification repose sur deux facteurs ou plus4. •L'Authentification unique : (ou identification unique ; en anglais Single Sign-On ou SSO) est une méthode permettant à un utilisateur de ne procéder qu'à une seule authentification pour accéder à plusieurs applications informatiques (ou sites internet sécurisés). Par ailleurs, l'authentification à transfert nul de connaissance ne considère que l'information de la véracité d'une proposition. TACACS+ Terminal Access Controller Access-Control System (TACACS) est un protocole d'authentification distante utilisé pour communiquer avec un serveur d'authentification, généralement utilisé dans des réseaux UNIX. TACACS permet à un serveur d'accès distant de communiquer avec un serveur d'authentification dans l'objectif de déterminer si l'utilisateur a le droit d'accéder au réseau. TACACS+ est la dernière version du protocole TACACS développé à l’origine par BBN, puis repris par Cisco qui va l’étendre une première fois par XTACACS (eXtended TACACS) compatible avec TACACS, puis par TACACS+. Mais cette dernière version n’est plus compatible avec les versions originelles, bien que basée sur celles-ci. TACACS+ utilise TCP pour son transport (contrairement à TACACS qui était basé sur l’UDP). Il utilise le port 49 (login). Il gère séparément les trois fonctions AAA (authentification, autorisation, accounting), contrairement à d’autres protocoles d’authentification. TACACS+ prévoit une implémentation pour chacune des trois, mais une configuration n'exige pas de toutes les utiliser.
  10. 10. AuthentificationPreuves Dans le cas d'un individu, l'authentification consiste, en général, à vérifier que celui-ci possède une preuve de son identité ou de son statut, sous l'une des formes (éventuellement combinées) suivantes : •Ce qu'il sait (mot de passe, numéro d'identification personnel). •Ce qu'il possède3 (acte de naissance, carte grise, carte d'identité, carte à puce, droit de propriété, certificat électronique, diplôme, passeport, carte Vitale, Token OTP, Carte OTP, Téléphone portable, PDA, etc.). •Ce qu'il est (photo, caractéristique physique, voire biométrie). •Ce qu'il sait faire (geste, signature). Méthodes de vérification La phase de vérification fait intervenir un protocole d'authentification. On en distingue trois sortes « familles » : •L'authentification simple : l'authentification ne repose que sur un seul élément ou « facteur » (exemple : l'utilisateur indique son mot de passe). •L'authentification forte : l'authentification repose sur deux facteurs ou plus4. •L'Authentification unique : (ou identification unique ; en anglais Single Sign-On ou SSO) est une méthode permettant à un utilisateur de ne procéder qu'à une seule authentification pour accéder à plusieurs applications informatiques (ou sites internet sécurisés). Par ailleurs, l'authentification à transfert nul de connaissance ne considère que l'information de la véracité d'une proposition. TACACS+ Terminal Access Controller Access-Control System (TACACS) est un protocole d'authentification distante utilisé pour communiquer avec un serveur d'authentification, généralement utilisé dans des réseaux UNIX. TACACS permet à un serveur d'accès distant de communiquer avec un serveur d'authentification dans l'objectif de déterminer si l'utilisateur a le droit d'accéder au réseau. TACACS+ est la dernière version du protocole TACACS développé à l’origine par BBN, puis repris par Cisco qui va l’étendre une première fois par XTACACS (eXtended TACACS) compatible avec TACACS, puis par TACACS+. Mais cette dernière version n’est plus compatible avec les versions originelles, bien que basée sur celles-ci. TACACS+ utilise TCP pour son transport (contrairement à TACACS qui était basé sur l’UDP). Il utilise le port 49 (login). Il gère séparément les trois fonctions AAA (authentification, autorisation, accounting), contrairement à d’autres protocoles d’authentification. TACACS+ prévoit une implémentation pour chacune des trois, mais une configuration n'exige pas de toutes les utiliser.

×