:: News .:. Documents .:. Forum .:. Downloads .:. Bibliographie .:. Liens .:. Contact  :: 


Home
  :. News
  .: Documents
    .: Notions
    .: Protocoles
    .: Sécurité
    .: Architecture
    .: Prog
    .: Systèmes
  :. Forum
  .: Downloads
  :. Bibliographie
  .: Liens
  :. Contact

Chat

  Nickname:


irc: #guill.net

Forum



 
Les protocoles d'authentification  
 

 

Intoduction
Quand faut-il authentifier?
Fonctionnement des protocoles d'authentification
Les principaux protocoles d'authentification
Quelques logiciels d'authentification
Le futur de l'authentifiaction
Conclusion


Introduction

Détecter les intrusions permet de limiter les incidents. Les techniques de détection d'intrusions et d'authentification se perfectionnent pour fortifier le systèmed'information. Dans l'éternel combat entre les pirates et les créateurs de systèmes de sécurité, les progrès de l'un sont toujours suivis, voire précédés, par ceux de l'autre. Et dans le cas des systèmes d'information, les exploits des pirates, s'ils ne constituent que la partie émergée de l'iceberg des incidents qui proviennent des tentatives d'intrusion (tentées ou réussies), sont autant de signaux d'alarme qu'il convient de prendre au sérieux. La mise en place d'un système de sécurité doit donc faire l'objet d'une stratégie globale et d'une politique rigoureuse de définition et d'application des mesures de sécurité. L’authentification fait partie de ces mesures de sécurité. Elle consiste à apporter la preuve de l’identité d’un utilisateur sur un réseau informatique.

Quand faut-il authentifier?

L’authentification des utilisateurs intervient :
- Sur un réseau local
- Sur un réseau étendu local client-serveur de type Intranet
- Sur un réseau Internet pour accéder à des parties confidentielles ou payantes des sites web.
- Sur un réseau local client-serveur classique : Windows NT, Novell Netware.
- Sur un réseau étendu avec accès distant : Windows NT RAS (Remote Access Service)
- Accès à des serveurs confidentiels ou payants, téléservice bancaire, ordre de bourse, commerce électronique, EDI, etc.

Fonctionnement des protocoles d'authentification

Les protocoles d’authentification ont chacun leur propre manière d’authentifier un utilisateur ou une machine. Ils utilisent différent algorithmes, différentes techniques. Cependant, tous ont quasiment le même principe de fonctionnement qui est à base de clés.

Empreinte et intégrité d’un message

Empreinte

Il s’agit de générer l’empreinte d’un message afin de certifier que le contenu de celui-ci n’a pas été modifié. Il s’agit en fait d’une somme de contrôle obtenue par un calcul numérique.
Il existe différents algorithmes certifiés tels que MD2, MD4, MD5 ou SHA1.
Ce sont généralement des fonctions de hachages. Pour qu’un tel algorithme soit efficace, il faut que la probabilité d’obtenir une même empreinte à partir de deux documents différents soit minimale.

Intégrité d’un message

Cette empreinte ainsi obtenue est cryptée par l’émetteur à l’aide de sa clef privée, et ajoutée au message.
A la réception, le destinataire réalise la même empreinte et décrypte l’empreinte envoyée à l’aide de la clef publique de l’émetteur. Si les deux empreintes sont égales, le destinataire peut être sur de l’intégrité du message et de son émetteur. (à condition d’être sur de la relation Clef publique/émetteur)

Avantages : Le destinataire est sur de l'intégrité du message et de son origine.
Inconvénients : Le destinataire doit posséder de manière fiable la clef publique de l'émetteur.

Certificats

Principe

Un Certificat est un document électronique attestant qu’une clef publique appartient réellement à un individu ou à une organisation.
Les certificats sont délivrés par des autorités de certification. Elles sont appelées CAs (Certificates Authorities).
L’entité contacte une de ces autorités et lui transmet sa clef publique. L’autorité vérifie les informations : identité de l’individu, propriétaire de la clef, etc.; et délivre un certificat attestant la relation entre le propriétaire et sa clef publique. L’entité peut ainsi distribuer son certificat librement et sans risque.
Serveurs et clients peuvent utiliser les certificats lorsqu’ils établissent une connexion afin de pouvoir s’authentifier ; cela évite le transfert d’un secret du type "login/password ".
Les certificats peuvent ainsi remplacer les multiples mot de Passe. Il est ainsi possible de configurer tous les serveurs d’une entreprise de manière à ce que le client n’ait qu’à retenir le mot de passe débloquant sa clef secrète.
Avantages : Il est possible de transmettre une clef publique en authentifiant son propriétaire.
Inconvénients : Tous les destinataires doivent faire confiance à l’autorité de certification.

Contenu d’un certificat

Le format d’un certificat te que définit par le standard X.509 est constitué de 2 parties :

Données du Certificat (partie une) :
1.1 : Numéro de version X.509 pour la compatibilité avec de futures versions
1.2 : Numéro de série du certificat. Tous les certificats issus d’une même autorité de certification (CA) doivent avoir un numéro de série différent.
1.3 : Algorithme de signature utilisé par l’autorité de certification (CA).
1.4 : Le Nom Complet (Distinguished Name) de l’autorité (CA) qui est à l’origine de ce certificat. Ex : CN=CertificateServer01, O=phenix-informatique, C=fr
1.5 : La période durant laquelle le certificat est valide.
1.6 : Le Nom Complet (Distinguished Name) de l’entité certifiée. Ex : CN=job, OU=techniques, O=phenix-informatique, C=fr
1.7 : L’algorithme de clef publique de l’entité certifiée.
1.8 : La clef publique de l’entité certifiée.

Validité du Certificat (partie deux) :
2.1 : La signature des données ci-dessus par l’autorité de certification (CA).
2.2 : L’algorithme de signature utilisée par l’autorité de certification (CA).

Exemple de certificat

Ex : Certificat personnel Verisign
"
This Certificate belongs to:
Olivier GROSJEANNE
job@phenix-informatique.fr
Digital ID Class 1 - Netscape
Persona Not Validated
www.verisign.com/repository/RPA Incorp.
by Ref.,LIAB.LTD(c)98
VeriSign Trust Network
VeriSign, Inc.
This Certificate was issued by:
VeriSign Class 1 CA Individual
Subscriber-Persona Not Validated
www.verisign.com/repository/RPA Incorp.
By Ref.,LIAB.LTD(c)98
VeriSign Trust Network
VeriSign, Inc.

Serial Number: 44:E1:C5:AE:F4:AB:79:2F:31:35:30:93:8E:0B:25:C1
This Certificate is valid from Tue Nov 17, 1998 to Sun Jan 17, 1999
Certificate Fingerprint:1C:D5:A2:33:CD:4D:F9:62:55:4C:1D:80:82:80:30:9E
"

Vérification d’un certificat

Le destinataire du certificat fait confiance à l’autorité de certification :
- Il possède donc la clef publique de l’autorité de certification.
- Il réalise l’empreinte des données du certificat.
- Il décode l’emprunte transmise à l’aide de la clef publique de l’autorité de certification.
- Il compare les deux résultats.

Les principaux protocoles d'authentification

RADIUS (Remote Authentication Dial-In User Service)

Fonctionnalités de RADIUS :

- Le protocole RADIUS fonctionne selon un modèle client/serveur.
- Un NAS (Network Access Server) fonctionne comme un client RADIUS. Un client effectue des requètes RADIUS et agit en fonction des réponses reçues.
- Un serveur RADIUS peut agir en tant que proxy RADIUS pour d'autres serveurs RADIUS, ainsi que pour d'autres systèmes d'authentifications.
- Toutes les transactions RADIUS sont authentifiées par l'utilisation d'un secret qui n'est jamais transmis sur le réseau. De plus les mots de passe sont encryptés en utilisant cette même clé secrete.

RADIUS utilise le protocole UDP.

CHAP (Challenge-Handshake Authentication Protocol)

Fonctionnalités de CHAP :

- CHAP est une procédure plus sécurisée pour se relier à un système que le procédé d'authentification de mot de passe PAP.
- Fonctionnement (Authentification en mode défi-réponse) :
    - Après que le lien soit fait, le serveur envoie un message au demandeur de connexion. Le demandeur répond avec une valeur obtenue en utilisant une fonction à sens unique d'informations parasites.
    - Le serveur contrôle la réponse en la comparant à son propre calcul de la valeur prévue d'informations parasites.
    - Si les valeurs s'assortissent, l'authentification est reconnue; autrement la connexion est terminée. A tout moment, le serveur peut inviter la partie reliée pour envoyer un nouveau message. Puisque des identificateurs de CHAP sont changés fréquemment et parce que l'authentification peut être demandée par le serveur à tout moment, CHAP fournit plus de sécurité que PAP.

PAP (Password Authentication Protocol)

Fonctionnalités de PAP :

- PAP est un protocole bidirectionnel simultané pour les paquets de transfert entre les parties dans un réseau. PAP comprend l’ordonnançant de données, le contrôle d'écoulement, la responsabilité, et la détection et reprise d'erreur.
- PAP est un procédé employé par des serveurs de PPP pour valider une demande de connexion. Le PAP fonctionne comme suit:
    - Après que le lien soit établi, le demandeur envoie un mot de passe et une identification au serveur.
    - Le serveur valide la demande et renvoie un accusé de réception, termine la connexion, ou offre au demandeur une autre chance. Des mots de passe sont envoyés sans sécurité et le créateur peut faire des tentatives répétées d'accès. Pour ces raisons, un serveur qui comprend CHAP offrira d’utiliser ce protocole avant d'utiliser PAP.

TACACS (Terminal Access Controller Access Control System)

Fonctionnalités de TACACS :

- TACACS est un protocole d'authentification plus ancien, commun aux réseaux d’Unix qui permet à un serveur d'accès à distance d'expédier le mot de passe de la procédure de connexion d'un utilisateur à un serveur d'authentification pour déterminer si on peut permettre l'accès à un système donné. TACACS est un protocole non codé et donc moins sécurisé que les protocoles postérieurs de TACACS et de RADIUS.
- Une version postérieure de TACACS est TACACS+ (TACACS étendu). Malgré son nom, TACACS+ est un protocole entièrement nouveau. TACACS et RADIUS ont généralement remplacé les protocoles précédents dans les réseaux plus récemment établis.
- TACACS utilise TCP. Quelques administrateurs recommandent d'utiliser TACACS parce que TCP est vu comme un protocole plus fiable. De plus, alors que RADIUS combine l'authentification et l'autorisation dans un profil d'utilisateur, TACACS quant à lui sépare les deux. TACACS et TACACS+ fonctionnent toujours sur beaucoup de systèmes anciens.

SecurID

SecurID permet, en une seule étape, d’identifier avec certitude les utilisateurs du système et du réseau afin d'interdire tout accès illicite. Utilisé avec des modules de contrôle d’accès (ACM) logiciels ou matériels dédiés, SecurID génère un nouveau code d’accès imprévisible toutes les soixante secondes.

Caractéristiques principales:

- Procédure aisée en une seule étape, garantissant l’authentification certaine des utilisateurs.
- Prévention des accès non-autorisés aux ressources d’information de l’organisation Authentification des utilisateurs au niveau du réseau, du système, des applications ou des transactions.
- Génération de codes d’accès à usage unique, imprévisibles et renouvelés automatiquement toutes les soixante secondes.
- Fonctionnement sur modules de contrôle d’accès assurant la sécurité multi plate-forme de l’entreprise.

Authentification Header dans IPSec

Problème: Les paquets IP (adresse + contenu) sont "faciles" à falsifier
Solution: Rajouter une entête d'authentification cryptographique (Authentication Header - AH) pour permettre d’authentifier la provenance des paquets et obtenir :
- Authentification de la source du paquet (adresse IP authentique)
- Intégrité du contenu
- L'authentification se fait normalement de bout en bout même si une authentification faisant intervenir des systèmes intermédiaires est possible
- Porte sur l'ensemble du paquet IP (entête + données) excepté sur les enregistrements modifiés en cours de route ("hop count", "time to live", etc.)
- Un paquet contenant un AH peut être traité par tous les intervenants d'un réseau IP même s'ils ne le "comprennent" pas (compatibilité vers l'arrière)
- Pour générer un AH valide il faut que chaque système soit muni d'une (ou plusieurs) clés et qu'il soit en mesure de valider les AH générés par les autres intervenants

Quelques logiciels d'authentification

X.COD Authentification

Services rendus / fonctionnalités :

- Authentification par possession d’un support d’identification et par connaissance d’un code confidentiel.
- Authentification de l’utilisateur et pas seulement de son PC.
- Authentification en mode défi-réponse (cf CHAP) avec clé d’authentification à usage unique.
- Absence d’investissement supplémentaire pour les PC reliés au réseau : ni lecteur de carte à puce, ni décodeur analogique ou numérique, ni calculette, etc…
- Mise en œuvre simple et rapide du déploiement auprès des utilisateurs : aucun logiciel à installer sur le poste client.
- Faible contrainte pour l’utilisateur : interface minimum permettant la saisie du code confidentiel.
- Suivi individualisé de tous les utilisateurs autorisés.
- Coût unitaire par utilisateur le plus faible du marché.
- Technologie brevetée au niveau international.

Coût :

- Module de base X.COD authentification : 29500 F HT
- Module de base optionnel X.COD authentification administration : 8500 F HT
- Installation, mise en œuvre et formation : de 1 à 3 jours, 7000 F HT/jour.

Kerberos

Kerberos est un service distribué d'authentification qui permet à un procédé (un client) à prouver son identité à un verificateur (un serveur d'application, ou serveur simplement) sans envoyer des données à travers le réseau qui pourrait permettre à un agresseur à les imiter postérieurement.
Kerberos fournit intégrité et confidentialité pour des données envoyées entre le client et serveur.

Fonctionnement :

Au départ, le client souhaite envoyer un message au serveur. Le serveur, pour être sûr de l'identité du client, lui demande de s'authentifier.
Interviennent alor le serveur d'authentification et le vérificateur.
Le client et le serveur d'authentification possède la même clé d'authentification=clé client. Pour le client, cette clé equivaut à un mot de passe. Celui-ci envoie ensuite un message d'authentification crypté avec cette clé au serveur d'authentification. Celui-ci utilise alors sa clé pour vérifier l’identification du client. Si le message est décrypté, le client est authentifié.

Le service d'authentification envoie alors au client un certificat crypté (contenant une clé unique permettant d'identifier le client=clé session, et une date d'expiration au delà de laquelle il ne pourra plus s'identifier) par une clé connu seulement de lui et du vérificateur=clé serveur (le client ne peut donc pas modifier le certificat puisqu’il ne connaît pas cette clé).

Le certificat est alors acheminé jusqu’au vérificateur qui le décrypte en utilisant la clé serveur et utilise la clé session obtenue pour authentifier le client

1 : Envoi du message d’authentification crypté avec la clé client.
2 : Si client authentifié, Le serveur d’authentification utilise sa clé serveur pour envoyer le certificat crypté contenant la clé session=clé unique identifiant le client.
3 : Envoi de ce certificat crypté au vérificateur.
4 : Le vérificateur, après avoir décrypté le certificat avec sa clé serveur, obtient la clé session qui permet d’authentifier le client.

SecurWar ID

SecurWar ID permet une authentification forte des utilisateurs par carte à puce. SecurWar ID permet précisément d'authentifier sans aucun doute possible les utilisateurs distants. Il se base sur les principes suivants :
- les informations échangées pour l'authentification ne sont jamais deux fois identiques et ne présentent aucun élément exploitable par les observateurs externes.
- la conservation des clés secrètes sur carte à microprocesseur offre une garantie d´inviolabilité maximale.
- chaque carte utilisateur contient une clé différente, et son utilisation est protégée par la frappe d´un code personnel qui bloque la carte après trois tentatives erronées.
- une session de sécurité permet un contrôle permanent de l´origine des connexions applicatives, et des ré-authentifications régulières et automatiques en cours de dialogue (transparente pour l´utilisateur) permet de prévenir toute tentatives d´usurpation d´identité.

Steel-Belted RADIUS

Steel-Belted RADIUS s'occupe de l'identification de chaque utilisateur qui souhaite accéder à votre réseau à distance, il n'a besoin que des informations de sécurité que vous avez déjà créées.

Caractéristiques :

- Steel-Belted RADIUS utilise la norme d'identification d'utilisateur distant RADIUS.
- Quand un utilisateur se connecte à un serveur d'accès distant, ce serveur communique avec Steel-Belted RADIUS pour déterminer les droits de l'utilisateur et l'autoriser à se connecter au réseau local. Il peut décider d'accepter ou de refuser la connexion, selon les informations indiquées dans les bases de données de sécurité du réseau.
- Toute modification effectuée sur les informations de sécurité du réseau est prise en compte immédiatement par Steel-Belted RADIUS ( mots de passe, les déplacements, suppressions ou ajouts d'utilisateurs), vous serez certain de l'identification des utilisateurs distants.
- Pour autoriser des utilisateurs extérieurs à accéder au réseau, il suffit d'inclure leurs noms et leurs mots de passe dans la base de données locale de Steel-Belted RADIUS.
- Steel-Belted RADIUS utilise tous les attributs de connexion spéciaux de vos serveurs d'accès distant - en particulier les options de sécurité de connexion, de rappel ou de limites sur le temps de connexion, etc.

HTTP auth

HTTP Auth permet d’offrir un service d’authentification continue :
- Fiable : HTTP Auth utilise des techniques de cryptographie forte, avec des protocoles et algorithmes de hash et signature éprouvés (MD5, SHA/DSA, RSA) combinés avec des clés longues et fortes :
       - Algorithmes symétriques : 128 bits.
       - Algorithmes asymétriques : 1024 ou 2048 bits.
- Sans déploiement : HTTP Auth ne nécessite aucun programme, module ou objet sur les postes des clients. HTTP Auth crée dynamiquement les signatures numériques de chaque utilisateur, puis les envoie (après chiffrement fort) sur le poste de l’utilisateur à chaque connexion HTTP.

Fonctionnalités :

- Protection des serveurs : HTTP Auth permet de vérifier à chaque appel d’un programme transactionnel du serveur Web que l’utilisateur est autorisé à l’exécuter Il s’agit d’un service d’authentification forte.
- Session continue dans un contexte asynchrone : le produit authentifie de façon « continue » les utilisateurs; le système affecte à chaque utilisateur une session qui est signée.
- Paramètrage des durées des sessions : Il est possible de définir des durées maximales de session pour chaque utilisateur, avec déconnexion du service à expiration.
- Logging complet des actions utilisateurs : chaque appel de script provoque un logging complet et détaillé : paramètres d’identification de l’utilisateur (adresse IP, OS du poste client, marque/modèle de navigateur, date/heure, etc.).

Le futur de l'authentifiaction

La solution S.CORT IC pour le driver LDAP

LDAP (Lightweight Directory Access Protocol) est devenu, en l'espace de quelques années, le standard dominant en termes d'accès à des données d'annuaires d'entreprises. La quasi-totalité des annuaires d'aujourd'hui sont maintenant accessibles à travers le protocole LDAP. De même, de plus en plus d'applications utilisent maintenant un annuaire LDAP (généralement externe) pour stocker leurs informations (configuration, topologie).

S.cort va offrir aux développeurs d'applications Internet/Intranet la possibilité d'intégrer des accès LDAP afin de satisfaire à la fonctionnalité de login unique (Single Sign-On).

Login unique :

Aujourd'hui, chaque application impose son propre schéma d'authentification. Cela oblige donc aux utilisateurs de stocker un certain nombre d'identifiants et de mots de passe, ce qui devient vite rébarbatif et dangereux en terme de sécurité. Les annuaires LDAP peuvent donc être utilisés pour fournir une solution à ce problème. En effet, l'ensemble des données d'authentification peut être stocké dans un annuaire.

Le driver LDAP permettra donc à toute application d'accéder aux annuaires LDAP afin de procéder au " mapping " entre les données d'authentification générales Web/Internet/Intranet et les données d'authentification spécifiques à/aux application(s) accédée(s).

Les types et format des données d'authentification stockées dans l'annuaire, sont laissés au libre choix du développeur, S.cort n'imposant n'imposant pas de pré requis pour ces informations.

Une technique d'authentification française : le réseau GSM

En général, les systèmes d'exploitation et les applications sont organisés pour identifier une machine (serveur ou poste client) et non l'individu qui l'utilise. En attendant les techniques biométriques, les systèmes d'authentification restent fondés sur la transmission d'un mot de passe " jetable ", calculé à partir d'une identification de l'utilisateur et d'un générateur aléatoire Malheureusement, cette méthode échoue sur un point essentiel qui empêche sa banalisation : le prix du matériel nécessaire reste souvent trop élevé. La solution viendra peut-être de l'astucieux Magic@xess, un brevet français en cours d'évaluation par plusieurs organismes bancaires. L'idée de base est simple : utiliser un deuxième réseau, différent de celui qui connecte le client à son fournisseur, pour le contrôle d'identité : le GSM. Lors d'une demande d'authentification par le fournisseur, le client est appelé sur son téléphone GSM par un organisme certificateur, et un code aléatoire lui est fourni sous forme de message court. Il ne lui reste qu'à entrer ce code, valable quelques minutes, sur son terminal informatique pour être identifié.

La biométrie

Il est fréquent d'oublier le code d'accès. Pour éviter cet oubli, beaucoup de personnes écrivent ce code sur un carnet, perdant ainsi toute confidentialité. Le mot de passe est un moyen de présélection et non de contrôle d'accès.
Il y a plusieurs moyens pour vérifier l'identité de quelqu'un, la biométrie est considérée comme étant le plus approprié.
Les moyens biométriques, permettent une authentification sûre, ce qui n'est pas le cas avec les mots de passe ou les cartes (badges) qui peuvent être volés. La biométrie s'appuie sur la prise en compte d'éléments morphologiques uniques et propres à chacun d'entre nous.

Les moyens biométriques :
- Empreintes digitales.
- Forme de la main ou des doigts.
- Forme ou traits du visage.
- Caractéristiques de la voix.
- Dessin du réseau veineux de la rétine ou fond de l’œil.
- Informations génétiques.
- Dynamique de la signature.
- etc. ...

Ce système supprime :
- La duplication.
- Le vol.
- L'oubli.
- La perte.

 
  Copie Vol Oubli Perte
Clé X X X X
Badge - X X X
Code X - X -
Empreinte - - - -

Les applications :
- Le contrôle d'accès aux locaux.
- La monétique - Cartes de paiement - Transactions.
- L'automobile (antivol).
- L'accès aux systèmes informatiques.
- Le judiciaire.
- Les titres d'identité - Les services sociaux.

Conclusion

De cet exposé, nous pouvons retenir que les moyens d’authentification actuels, quoique déjà très sécurisés, sont toujours sous la menace du piratage. Les technologies futures décrites ci-dessus devraient permettre de résoudre ce problème (biométrie). Mais les progrès scientifiques ne permettront-ils pas à ces « pirates » de trouver une technique capable de les contourner ???

S.Coze et S.Heldebaume de l'IUP du Littoral
 




Sondage

Quel est votre connexion à Internet aujourd'hui ?
 
RTC 56Kbps
ADSL simple de 128 à 2048 Kbps
ADSL + Téléphonie (+TV) de 128 à 2048 Kbps
ADSL simple jusqu'à 20Mbps
ADSL + Téléphonie (+TV) jusqu'à 20Mbps
Autres (RNIS, Satellites bi-directionnel...)
Total :
3241

Recherche


Docs
   Pflogsumm (Analyseur de log mail pour Postfix)
   Proftpd (Mise en service d'un serveur FTP avec proftpd sous Linux)
   Openldap (Mise en service d'un serveur LDAP sous Linux)
   Gestion des périphériques en c++ builder (Communication RS232 en C++ Builder)
   Les sockets windows (Windows Sockets : un cours accéléré)

guill.net©1999-2024