Upload
trinhkhanh
View
255
Download
2
Embed Size (px)
Citation preview
Authentification et autorisation
1École de technologie supérieure (ÉTS)Dép. Génie logiciel et des TI
MGR850 – Automne 2012
Yosr Jarraya Chamseddine Talhi
Chargé de cours Responsable du cours
Plan
2
Yosr Jarraya, ÉTS MGR850- A12
• Définitions et concepts• Identification• Authentification• Autorisation• Imputabilité• Protocole d’authentification : Kerberos• Conclusion
Définitions et concepts
3
Yosr Jarraya, ÉTS MGR850- A12
• Contrôle d’accès– Désigne un mécanisme ou un dispositif pour contrôler
l’accès et l’utilisation d’une ressource en vérifiant si l’entité (une personne, un ordinateur, …) demandant l’accès à les droits nécessaires pour le faire.
• Deux concepts doivent être définis:– Le sujet est l’entité désirant accéder à un processus
ou une ressource.– L’objet est l’entité passive à laquelle le sujet cherche
à accéder.
Définitions et concepts
4
Jean-Marc Robert, ÉTS MGR850- A12
• Identification– Identifier de façon unique un sujet grâce à un identifiant.
• Authentification– S’assurer que l’identité du sujet est bien celle qu’il
prétend être.
• Autorisation– Déterminer si le sujet authentifié peut poser l’action
désirée sur l’objet spécifié.
• Imputabilité (Accounting)– Attribuer un accès à un objet ou une opération à un sujet
donné afin de s’assurer de la traçabilité de toute violation ou tentative de violation d’une règle de sécurité.
Identification
5
Jean-Marc Robert, ÉTS MGR850- A12
• Chaque identifiant devrait être unique afin de s’assurer de l’imputabilité des usagers.
• Une méthode standardisée devrait être utilisée.– ASIN (Amazon Standard Identification Number)
ou ISBN (International Standard Book Number)– http://openid.net/
Authentification
6
Jean-Marc Robert, ÉTS MGR850- A12
• Repose sur un authentifiant (credential) que le sujet détient :– Quelque chose que le sujet connaît.
• Mot de passe, numéro d’identification personnel (NAS), …
– Quelque chose que le sujet possède.• Carte magnétique, carte à puce, …
– Quelque chose déterminant le sujet • Biométrie: empreinte digitale, rétine, iris, …
« Something you know, Something you have, Something you are »
Authentification
7
Jean-Marc Robert, ÉTS MGR850- A12
• Authentification forte– Par définition, une authentification forte repose
sur au moins deux facteurs:• Carte magnétique et NIP• Carte magnétique et reconnaissance biométrique
(iris, rétine, voix, …)• Carte à puce et NIP• Carte à puce et empreinte digitale• …
Authentification
8
Jean-Marc Robert, ÉTS MGR850- A12
• Authentification par mots de passe:– Mot de passe statique
• Le même mot de passe utilisé pour plusieurs accès.
– Phrase de passe• Un mot de passe virtuel (ou une clé) dérivé de
cette phrase.
– Mot de passe dynamique (One-time password(OTP))
• Un mot de passe unique utilisé pour chaque accès.
Authentification
9
Jean-Marc Robert, ÉTS MGR850- A12
• Jetons – Dispositif de Jetons (Token device): (cartes à
puce, jeton USB, jeton SecurID …) ayant la capacité de traiter de l’information grâce à son microprocesseur intégré.
• Le jeton peut effectuer des calculs cryptographiques en utilisant des clés internes –AES, DES, RSA, ...
• Ces calculs se font généralement après que l’usager ait entré son NIP => deux facteurs.
– Permet d’automatiser le protocole de défi-réponse.
Authentification
10
Jean-Marc Robert, ÉTS MGR850- A12
• Mots de passe dynamique synchrone– Synchrone – Compteur
• Le dispositif calcule le jeton à partir d’un compteur et d’un secret spécifiques à ce dispositif (donc, à l’usager). Ce jeton est envoyé au serveur.
– Ce calcul se fait généralement après que l’usager ait entré son NIP => deux facteurs.
– L’algorithme utilisé doit être robuste et ne pas permettre de retrouver le compteur et le secret à partir des jetons produits => Algorithme cryptographique.
• Le serveur central d’authentification doit connaître le compteur et le secret associés au dispositif.
Authentification
11
Jean-Marc Robert, ÉTS MGR850- A12
• Mots de passe dynamique synchrone– Synchrone – Temps (Ex. RSA SecureID)
• Le dispositif calcule le jeton à partir d’un temps courant et d’un secret spécifique à ce dispositif (donc, à l’usager). Ce jeton est envoyé au serveur.
– Ce calcul se fait généralement après que l’usager ait entré son NIP => deux facteurs.
– L’algorithme utilisé doit être robuste et ne pas permettre de retrouver le secret à partir des jetons produits => Algorithme cryptographique.
• Le serveur central d’authentification doit connaître le secret associé au dispositif et doit avoir une horloge synchronisée avec ce dernier.
Authentification
12
Yosr Jarraya, ÉTS MGR850- A12
• Mots de passe dynamique synchrone
786..005
or786..005
or
Clé secrète KAS partagée entre le client et le serveur
Chiffrement et génération OTP
Chiffrement et génération OTP
synchro
A
S
Verification
Accepté rejeté
OTP OTP
NIP
Authentification
13
Jean-Marc Robert, ÉTS MGR850- A12
• Mots de passe dynamique asynchrone– Asynchrone
• Le serveur envoie à l’usager un défi (challenge) auquel il doit répondre.
• L’usager entre le défi dans le dispositif qui calcule la réponse appropriée. Ce calcul repose sur un secret spécifique à ce dispositif (donc, à l’usager). Cette réponse est envoyée au serveur.
– Ce calcul se fait généralement après que l’usager ait entré son NIP => deux facteurs.
– L’algorithme utilisé doit être robuste et ne pas permettre de retrouver le secret à partir des jetons produits => Algorithme cryptographique.
– Le serveur central d’authentification doit connaître le secret associé au dispositif.
Authentification
14
Yosr Jarraya, ÉTS MGR850- A12
• Mots de passe dynamique asynchrone
786..005
786..005
Clé secrète KASpartagée entre le client
et le serveur
Chiffrement et génération OTP
Chiffrement et génération OTP
A
S
Verification
Accepté rejeté
OTP OTP
NIP
Generation d’un challenge
Authentification
15
Jean-Marc Robert, ÉTS MGR850- A12
• Authentification – Biométrie: Divers types– La biométrie cherche à authentifier un sujet en
analysant les attributs physiques de ce dernier.• Empreinte digitale• Paume de la main• Géométrie de la main
– Forme et largeur de la main et des doigts
• Topographie de la main– Renflements et sillons de la main
• Géométrie du visage• Rétine• Iris• Dynamique reliée à la signature• Voix
Authentification
16
Jean-Marc Robert, ÉTS MGR850- A12
• Authentification – Biométrie: Taux d’erreur– Lors de l’évaluation de procédés biométriques
divers points sont importants:• Taux de rejet de sujets légitimes – Taux d’erreur de
Type 1 • Taux d’acceptation d’imposteurs – Taux d’erreur de
Type 2• Croisement des taux d’erreur (crossover error rate –
CER)
17
AuthentificationTa
ux d
’err
eur
Sensibilité
Taux de fausses acceptations Taux de faux rejets
CER
Jean-Marc Robert, ÉTS MGR850- A12
Biométrie – Croisement des taux d’erreur
18
Authentification
Biométrie CER
Empreintes 4 à 5 %
Rétine 1.4 %
Iris 0.5 %
Géométrie de la main 2 %
Voix 10 %
Jean-Marc Robert, ÉTS MGR850- A12
Biométrie – Croisement des taux d’erreur
19
Authentification
Caractéristiques
Tiré de Biometrics: A Tool for Information Security, A. K. Jain et al
Jean-Marc Robert, ÉTS MGR850- A12
Biométrie: Empreintes
20
Empreintes avec appariement
Tiré de Biometrics: A Tool for Information Security, A. K. Jain et al
Jean-Marc Robert, ÉTS MGR850- A12
AuthentificationBiométrie: Empreintes
21
Empreintes sans appariement
Tiré de Biometrics: A Tool for Information Security, A. K. Jain et al
Jean-Marc Robert, ÉTS MGR850- A12
AuthentificationBiométrie: Empreintes
22
Est-ce la solution idéale et sans faille?
• Intégration de jeton et de la biométrie.– La vérification de l’empreinte est faite par le jeton.
• Lors de l’initialisation, l’empreinte cible est stockée dans le jeton.
– Aucune opération du jeton n’est effectuée sans la présentation d’une empreinte compatible.
• Signature électronique autorisée sur la présentation de l’empreinte digitale du propriétaire du jeton (donc de la clé privée).
• Déchiffrement d’un message (chiffré par la clé publique) sur la présentation de l’empreinte digitale du propriétaire du jeton (donc de la clé privée).
AuthentificationBiométrie: Empreintes
Jean-Marc Robert, ÉTS MGR850- A12
23
• Comment s’assurer que l’empreinte n’est pas rejouée?– Dans ce cas, l’empreinte deviendrait un long mot de passe.
• Solution idéale: le lecteur d’empreinte est intégré au jeton.
Solution 1 Solution 2
AuthentificationBiométrie: Empreintes
Jean-Marc Robert, ÉTS MGR850- A12
24
De cette façon, la clé privée de l’usager est protégée par le jeton. La clé ne sort jamais du jeton.
Bonne utilisation typique d’un jeton externe
• Un usager veut envoyer un courriel signé.1. L’application courriel client envoie au jeton le hash du
message pour être signé.
2. Le « driver » du jeton demande à l’usager de présenter son empreinte digitale.
3. Le jeton peut maintenant signer le hash et retourner le résultat à l’application courriel client qui ajoute cette signature au courriel.
• Le courriel est envoyé.
Jean-Marc Robert, ÉTS MGR850- A12
25Trouver l’erreur!
Mauvaise utilisation typique d’un jeton externe
• L’usager veut vérifier la signature d’un courrielqu’il a reçu.
1. L’usager envoie au jeton la signature du courriel, le hash du message et le certificat de celui qui a signé le message.
2. La carte possède la clé publique permettant de vérifier les certificats.3. Le jeton vérifie (a) la signature du certificat et (b) la signature du
message.
4. Le jeton obtient le hash du message à partir de la signature du message.
5. Le jeton vérifie si le hash de la signature et celui du message sont égaux.
6. Le jeton retourne le résultat de la vérification.
• L’usager accepte ou refuse le courriel en se basant sur la réponse du jeton.
Jean-Marc Robert, ÉTS MGR850- A12
26
Le jeton est inutile dans ce cas!
• Premier cas : l’ordinateur n’est pas compromis. – Il peut faire la vérification lui-même. Il possède tout ce
qu’il faut pour faire cette vérification (p.e. la clé publique permettant de vérifier les certificats) et il est plus performant.
• Deuxième cas : l’ordinateur est compromis. – Peu importe ce que le jeton répond, l’ordinateur
compromis va faire ce qu’il veut peu importe si le jeton répond OK ou KO.
Mauvaise utilisation typique d’un jeton externe
Jean-Marc Robert, ÉTS MGR850- A12
27
Biométrie: Déploiement• Les solutions biométriques sont plus coûteuses.
– L’usager doit poser une action pour s’inscrire. Cette phase peut être longue.
– La quantité d’information à stocker est importante.• 250KB pour une image haute définition d’une empreinte.• 500 à 1000 octets pour les caractéristiques d’une empreinte pour un
lecteur.
– Le nombre de vérifications par minute est important.• Un taux acceptable est au minimum de 10 par minutes.
• L’acceptabilité de la part des usagers– Propreté des lecteurs– Information personnelle
• Rétine � diabète, tension artérielle
Authentification
Jean-Marc Robert, ÉTS MGR850- A12
28
• OTP Basé sur SMS – Utilise le téléphone portable comme Token.
• L'utilisateur reçoit le code OTP par sms qu'il devra s'en servir dans un temps précis.
• Authentification basée sur les badges RFID– Aussi appelés authentification sans contact. – Utilisent la technique de la radio fréquence – Pour une authentification forte:
• L’identification par RFID couplée avec un mot de passe
Authentification
Yosr Jarraya, ÉTS MGR850- A12
Source: http://www-igm.univ-mlv.fr/~dr/XPOSE2010/authentificationForte/techno.php#rfid
29
Modèles de contrôle d’accès
• Modèle d’accès discrétionnaire – Discretionary Access Control DAC– Modèle où le propriétaire d’un objet défini les droits des autres sujets.
• Modèle d’accès obligatoire – Mandatory Access Control MAC– Modèle basé sur une hiérarchisation des sujets et des objets où le système
s’assure du respect d’une politique très stricte.
• Modèle d’accès non-discrétionnaire – Non discretionary Access Control– Modèle d’accès basé sur les rôles – Role-based Access Control RBAC
Jean-Marc Robert, ÉTS MGR850- A12
Autorisation
30
• Le sujet créant le fichier en est le propriétaire.• Le propriétaire du fichier peut accorder les droits aux
autres sujets (sauf de modifier l’ACL et le propriétaire)
� Pas d’accès � Plein contrôle � Lecture � Écriture� Exécution � Élimination� Changement
• Ce modèle est généralement implémenté avec des ACLs (Access Control Lists)– Ce modèle est utilisé par Unix, Linux, Windows, Macintosh.
AutorisationModèle d’accès discrétionnaire
Jean-Marc Robert, ÉTS MGR850- A12
31
• Ne permet pas aux sujets autant de liberté que le modèle DAC.
• Tous les sujets et objets possèdent une étiquette de sécurité (security label).– Hiérarchisation des sujets (habilitation de sécurité – security
clearance) et des objets (classification).• Confidentiel, Secret, Top Secret, …
– Catégories• Afin de permettre d’implémenter le principe de droit d’accès
minimal.
AutorisationModèle d’accès obligatoire
Jean-Marc Robert, ÉTS MGR850- A12
32
• Rôles– L’officier de sécurité défini les règles.
• En fonction des niveaux de sécurité et des catégories
– L’administrateur configure le système.– Le système d’exploitation s’assure qu’aucune règle ne soit violée.
• Ce modèle est utilisé dans des environnements où la classification et la confidentialité des informations sont essentielles.– Militaire
• Il faut utiliser des versions particulières des systèmes d’exploitation.– Trusted Solaris– SELinux (Security-Enhanced Linux)
AutorisationModèle d’accès obligatoire
Jean-Marc Robert, ÉTS MGR850- A12
33
• Matrice de contrôle d’accès– Liste de contrôle d’accès (ACL)– Table de possibilités (capability table)
• Règles de contrôle d’accès
AutorisationImplémentation
Jean-Marc Robert, ÉTS MGR850- A12
34
Matrice de contrôle d’accès• Une matrice à deux dimensions indiquant pour
chaque sujet quelles sont les actions que le sujet peut effectuer sur chaque objet.
• Généralement utilisées pour le modèle DAC.
Usager Fichier 1 Fichier 2 Fichier 3
Alice Lecture –Écriture
Lecture –Écriture –Exécution
Pas d’accès
Bob Pas d’accès Lecture Lecture –Écriture –Exécution –
Charles Lecture Pas d’accès Lecture
Jean-Marc Robert, ÉTS MGR850- A12
Autorisation
35
Jean-Marc Robert, ÉTS MGR850- A12
Autorisation
• Vecteur de la matrice de contrôle d’accès donnant les droits des sujets pour un objet donnée.
• Très répandues. Systèmes d’exploitation, routeurs, …
Fichier 1
Alice:
Lecture –Écriture
Bob:
Pas d’accès
Charles:
Lecture
Listes de contrôle d’accès
36
• Vecteur de la matrice de contrôle d’accès donnant les droits d’un sujet donné pour tous les objets.
• Le ticket de Kerberos utilise ce principe.
Alice Fichier 1:
Lecture –Écriture
Fichier 2: Lecture –Écriture –Exécution
Fichier 3:
Pas d’accès
AutorisationTables de possibilités
Jean-Marc Robert, ÉTS MGR850- A12
37
Règles de contrôle d’accès
• Méthode très générale permettant de définir des règles complexes du type « if X then Y ».– Flexibilité très grande.
• Généralement utilisées pour le modèle MAC. – Hiérarchisation complexe.– Catégories complexes.
Autorisation
Jean-Marc Robert, ÉTS MGR850- A12
38
Imputabilité
• La dernière étape est de s’assurer que les actions posées par les personnes dûment authentifiées et autorisées soient journalisées.
• Les fichiers journaux permettent d’imputer les actions aux personnes.– En cas de fraudes, cela permet de retrouver les
coupables.
Jean-Marc Robert, ÉTS MGR850- A12
39
Kerberos• Un des systèmes d’authentification les plus
répandus dans les systèmes distribués.– Unix depuis le milieu des années 80– Microsoft depuis Windows 2000
• Système client-serveur basé sur la cryptographie symétrique– Bien que Microsoft utilise une extension non-
standardisée basée sur la cryptographie asymétrique pour l’authentification par cartes à puce.
Jean-Marc Robert, ÉTS MGR850- A12
40
Kerberos
• Principals: Représentent les divers usagers, applications et services voulant s’authentifier les uns aux autres.
• Key Distribution Center (KDC) : Composante principale de l’architecture qui offre les deux principaux services:– Authentication Service (AS)
• Service authentifiant un principal.
– Ticket Granting Service (TGS)
• Service offrant à un principal un ticket permettant d’être authentifié par un autre principal. Ce ticket peut contenir aussi les droits d’accès du principal.
• Donc, le KDC se doit de conserver tous les secrets et les clés cryptographiques permettant d’effectuer les diverses opérations.
Les principales composantes
Jean-Marc Robert, ÉTS MGR850- A12
Jean-Marc Robert, ETS Authentification et Autorisation -A11
41
42
Kerberos
1. L’usager entre son identificateur et son mot de passe.
2. L’usager utilise une fonction de hachage à sens unique et produit sa clé secrète.
3. Le client envoie une requête au AS: « Usager X voudrait utiliser un service Y ».
– Aucun mot de passe ou clé n’est envoyé.
as_req: <client, service, timeexp, timestamp>
Le protocole
Jean-Marc Robert, ÉTS MGR850- A12
43
4. L’AS vérifie que le client existe dans sa base de données. Si tel est le cas, l’AS retourne deux messages au client:
– Msg A: Clé de session entre le client et le TGS chiffrée. – Msg B: Ticket-Granting Ticket.
as_rep A: [Keyclient,TGS, timestamp]Keyclient
as_rep B: [client,address,validity,Keyclient, TGS]KeyTGS
5. Le client déchiffre le message A, vérifie si le timestamp correspond à celui envoyé à l’étape 3 et obtient sa clé pour communiquer avec le TGS.
– Le client ne peut pas déchiffrer le message B destiné au TGS.
KerberosLe protocole
Jean-Marc Robert, ÉTS MGR850- A12
44
6. Afin d’accéder à un serveur, le client envoie une requête au TGS:
– Msg C: Le Ticket-Granting Ticket de B et le nom du service demandé.
– Msg D: Authenticator composé du nom du client et d’un nonce chiffré avec la clé de session entre le client et le TGS.
tgs_req C: service, timestampC,
[client,address,validity,Keyclient,TGS]KeyTGS
tgs_req D: [client, timestampD]Keyclient,TGS
KerberosLe protocole
Jean-Marc Robert, ÉTS MGR850- A12
45
7. Le TGS déchiffre l’authenticator et retourne au client: – Msg E: Le Client-to-server ticket incluant le nom du client, son
adresse, la période de validité et la clé de session client/serveur, le tout chiffré avec la clé du service.
– Msg F: La clé de session client/serveur chiffré avec la clé de session client/TGS.
tgs_res E: service,
[client,address,validity,Keyclient/serveur]Keyserveur
tgs_res F: [timestampC, Keyclient/serveur]Keyclient,TGS
KerberosLe protocole
Jean-Marc Robert, ÉTS MGR850- A12
46
8. Le client déchiffre le message F, vérifie si le timestamp
correspond à celui envoyé à l’étape 6 et obtient sa clé pour communiquer avec le serveur.
9. Afin d’accéder à un service, le client envoie au serveur une requête de service:
– Msg G: Le Client-to-server ticket de E et le nom du service demandé.
– Msg H: Authenticator composé du nom du client et d’un nonce chiffré avec la clé de session client/serveur.
serv_req G: service,
[client,address,validity,Keyclient/serveur]Keyserveur
Serv_req H: [client, timestampH]Keyclient/serveur
Jean-Marc Robert, ÉTS MGR850- A12
KerberosLe protocole
47
10.Le service déchiffre le ticket et renvoie le timestamp du message H incrémenté de 1 chiffré avec la clé de session client/serveur.
11.Le client déchiffre ce dernier message et vérifie si le timestamp a été incrémenté tel que prévu. Dans ce cas, le client peut faire confiance au serveur et l’utiliser.
12.Le serveur offre le service au client.
KerberosLe protocole
Jean-Marc Robert, ÉTS MGR850- A12
48
Les principales vulnérabilités• Le KDC représente un point unique de
défaillance.– Le KDC doit pouvoir répondre à toutes les demandes rapidement.
• Les clés secrètes permanentes des usagers se retrouvent tempo-rairement sur leurs ordinateurs.– L’extension de Microsoft permettant l’utilisation d’une carte à puce
est intéressante dans ce cas.
• Même problème pour les clés de sessions.– La solution basée sur la carte à puce n’offre rien dans ce cas.
Kerberos
Jean-Marc Robert, ÉTS MGR850- A12
49
Windows – Domain et Domain Controller
• Un domaine Windows est un groupe d’ordinateurs utilisant le système d’exploitation Windows et partageant une même base de données pour les comptes usager (et par le fait même, ayant une politique de sécurité commune).
• Un contrôleur de domaine est un serveur agissant à titre de tiers de confiance. Ce serveur gère l’ensemble des comptes usager (et leurs mots de passe) pour le domaine et peut ainsi authentifier les usagers pour l’ensemble des ordinateurs du domaine (signature unique)– Le contrôleur de domaine représente la composante KDC de
l’architec-ture Kerberos.
Jean-Marc Robert, ÉTS MGR850- A12
50
Conclusion
• Afin de protéger la confidentialité et l’intégrité des actifs informationnels, il faut s’assurer que seulement les personnes dûment authentifiées et autorisées puissent avoir accès à ceux-ci.
Jean-Marc Robert, ÉTS MGR850- A12