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ème d'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. À
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
?