Académique Documents
Professionnel Documents
Culture Documents
données
Introduction 4
I - L'authentification 5
3
Introduction
La confidentialité a été définie par l'Organisation internationale de normalisation (ISO) comme « le fait de
s'assurer que l'information n'est accessible qu'à ceux dont l'accès est autorisé », et est une des pierres
angulaires de la sécurité de l'information.
Considérées comme le nouvel or noir, la data constitue pour l'entreprise un véritable patrimoine
immatériel source de nouveaux développements.
La méthode de chiffrement qui fait partie des mesures de confidentialité des informations ne sera pas
abordée dans cette partie, mais plutôt dans une autre leçon.
Dans cette leçon, nous verrons uniquement les méthodes de contrôle d'accès pour assurer la confidentialité
des données.
Le contrôle d'accès consiste à définir les accès au réseau et aux services disponibles après identification.
Le terme AAA est souvent utilisé pour désigner les facettes suivantes de la sécurité :
- 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.
4
L'authentification
L'authentification
I
L'authentification est une procédure, par laquelle un système informatique certifie l'identité d'une
personne. Le but de cette procédure étant d'autoriser la personne à accéder à certaines ressources
sécurisées. Il va comparer les informations des utilisateurs autorisés stockées dans une base de
données (en local ou sur un serveur d'authentification) à celles fournies. L'accès sera autorisé
seulement si les informations sont identiques. C'est l'administrateur du système d'information qui
octroie les droits et paramètre d'accès. L'utilisateur possédant un compte d'accès (identifiant + mot
de passe) n'aura accès qu'aux ressources dont il est autorisé à voir.
1. Les utilisateurs
Les types d'utilisateurs
Il faut identifier les utilisateurs ayant besoin d'un accès à la base de données, ils peuvent être de
différents types :
- administrateur
- utilisateur
- application
Administrateur
L'administrateur est une personne physique ayant tous les droits sur le SGBD, mais pas forcément sur
le contenu des bases de données : il peut réaliser des opérations de gestion des droits d'accès et des
ressources systèmes mais on pourra choisir d'exclure ou non les droits d'accès en lecture et/ou écriture
au contenu des bases de données. Bien que parfaitement logique d'un point de vu métier, pour la
protection de données sensibles par exemple, retirer à un administrateur les droits de lecture et
d'écriture sur le contenu d'une base de données n'a pas de sens d'un point de vu technique puisqu'il
possède les capacités techniques de s'octroyer ses droits là. De plus, les opérations de sauvegarde, de
restauration et de maintenance après incident peuvent l'amener à devoir accéder au contenu d'une
base de données.
5
Les phases de l'authentification
Utilisateur
L'utilisateur est une personne physique se connectant directement à la base de données en ligne de
commande (commande mysql sous Linux) ou via une interface graphique (script phpMyAdmin sur
un Intranet) ou utilisant une application qui va se connecter à la base de données sous l'identité de
l'utilisateur
Application
Une application peut être une application web, un outil de synchronisation entre sources
d'informations ou tout programme accédant pour lui-même à la base de données. Ce type d'utilisateur
logique n'a rien à voir avec l'utilisateur réel dénotant une personne physique ayant des besoins
particuliers. Même si une application est utilisée par des personnes physiques, on pourra choisir de
déléguer à l'application la gestion des droits d'accès à l'information en fonction des habilitation qu'elle
décide de lui attribuer. Ainsi, une application peut être vue comme un utilisateur de base de données
auquel on attribut des droits qu'elle pourra restreindre de façon transparente pour l'utilisateur final de
l'application.
Lorsque un utilisateur veut accéder à un système d'information (base de données par exemple) il doit
dans un premier temps effectuer une procédure d'identification et d'authentification.
L'identification
L'identification est une phase qui consiste à établir l'identité de l'utilisateur. Elle permet répondre à la
question : "Qui êtes vous ?". L'utilisateur utilise un identifiant (que l'on nomme "Compte d'accès", "
Nom d'utilisateur" ou "Login" en anglais) qui l'identifie et qui lui est attribué individuellement. Cet
identifiant est unique
L'authentification
L'authentification est une phase qui permet à l'utilisateur d'apporter la preuve de son identité. Elle
intervient après la phase dite d'identification. Elle permet de répondre à la question : "Êtes-vous
réellement cette personne ?".
6
Les mots de passe
Il existe 4 facteurs d'authentifications qui peuvent être utilisés dans le processus d'autorisation d'accès
à des ressources bloquées et sécurisées :
- Ce que l'on connaît (facteur mémoriel) : une information que l'utilisateur a mémorisée et que lui
seul connaît (un mot de passe, passphrase)
- Ce que l'on possède (facteur matériel) : une information que seul l'utilisateur possède et
enregistrée dans un support (carte à puce, clé de stockage, certificat).
- Ce que l'on est (facteur corporel ou biométrique) : une information qui caractérise l'utilisateur
avec une empreinte qui lui est propre (fond de rétine, voix, empreinte digitale)
- Ce que l'on sait faire (facteur réactionnel) : une information ou un geste que seul l'utilisateur
peut produire (exemple : une signature).
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 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).
Protocole d'authentification
Grâce aux différents facteurs d'identifications cités ci-dessus, des méthodes de vérifications ont été
mises en place pour qualifier le degré d'authentification. C'est-à-dire que l'on peut combiner un ou
deux facteurs pour renforcer la vérification.
- l'authentification unique : (ou identification unique ; en anglais Single Sign-On ) est une méthode
permettant à un utilisateur de ne procéder qu'à une seule authentification pour accéder à
plusieurs applications informatiques.
Un mot de passe est un mot ou une série de caractères utilisés comme moyen d'authentification pour
prouver son identité lorsque l'on désire accéder à un lieu protégé, à une ressource (notamment
informatique) ou à un service dont l'accès est limité et protégé.
7
Les mots de passe
Le mot de passe doit être tenu secret pour éviter qu'un tiers non autorisé puisse accéder à la ressource
ou au service. Il s'agit d'une preuve que l'on possède et que l'on communique au service chargé
d'autoriser l'accès.
Critères de robustesse
En informatique, un mot de passe fort ou robuste sert à se protéger, en particulier en cas d'attaque
dite par force brute.
- Sa longueur, qui est le critère le plus important. Il est conseillé d'utiliser des mots de passe d'une
longueur suffisante pour que celui-ci soit protégé des attaques de force brute
- Son unicité : la réutilisation du même mot de passe pour des services différents est à proscrire,
afin d'éviter des dégâts en cascade.
- La variation des caractères utilisés : le mot de passe est plus fort lorsqu'il mélange des
majuscules, des minuscules, des chiffres, des signes de ponctuation et des caractères spéciaux.
Notons par ailleurs qu'il est toujours plus sécurisé de chercher à augmenter la longueur d'un
mot de passe que de chercher à utiliser le plus possible des caractères différents.
- Il ne doit contenir aucun nom d'utilisateur, de famille ou de d'entreprise. Les dates de naissance,
le nom du chien ou toutes autres informations ayant un rapport direct avec la vie privée sont à
proscrire. De même, les slogans et les citations sont facilement attaquables via une attaque par
dictionnaire. Plus généralement, le contenu du mot de passe ne devrait suivre aucune logique,
mais être une simple succession de caractères choisis aléatoirement.
- Il faut également qu'il combine des lettres minuscules, majuscules, des chiffres, des caractères
spéciaux (par exemple : ,?;.:/!§%µ) et/ou nationaux comme les lettres accentuées.
8
Exercice : Activité d'auto-évaluation
Exercice
La confidentialité est :
Exercice
Les étapes d'un contrôle d'accès selon le protocole AAA sont :
Authentique
Authentification
Agrément
Comptabilité
identification
Autorisation
Exercice
L'authentification est :
une procédure par laquelle un processus certifie l’identité d'un système informatique
une procédure par laquelle un système informatique certifie l’identité d'une personne.
9
Exercice : Activité d'auto-évaluation
Exercice
Les étapes d'une authentification sont :
l’authentification
l'identification
l'accounting
l'autorisation
10
Les droits et privilèges
L'administration d'une base de données inclue la gestion des utilisateurs et de leurs privilèges. Il faut
certes authentifier les utilisateurs avant leur accès aux bases de données, mais il est très important de
leur attribuer des droits en fonction de leur rôle et de leur range, sinon on expose les données de la
base à de gros risques.
Pour accéder donc à une information ou effectuer une opération sur la base de données, il faut :
- Authentifier l'utilisateur
- Vérifier que l'utilisateur à droit à cette information ou opération
Pour cela, il faut au préalable créer les utilisateurs et leur attribuer les droits appropriés en fonction
de leurs rôles
1. Notion de privilège
Définition
Les privilèges sont les autorisations (ou droits) accordées à un utilisateur de lancer certaines requêtes ou
d'accéder à certaines tables.
L'administrateur de base de données (DBA) est un utilisateur haut niveau qui a le droit de créer des
utilisateurs et de leur donner des droits d'accès à la base de données et aux objets. Les utilisateurs ont
besoin des privilèges système pour accéder à la base de données et des privilèges objet pour manipuler
le contenu des objets de la base de données. Les utilisateurs peuvent recevoir le privilège permettant
d'accorder des privilèges à d'autres utilisateurs ou à des rôles qui sont des groupes nommés de
privilèges.
11
Règles d'attribution des privilèges
Les schémas: un schéma est une collection d'objets comme des tables, des vues ou des séquences. Le
schéma appartient à un utilisateur.
Les rôles : Un rôle est un groupe nommé de privilèges qui peuvent être assignés à un utilisateur. Cette
méthode facilite la gestion des privilèges.
Un utilisateur peut avoir accès à plusieurs rôles et plusieurs utilisateurs peuvent recevoir le même
rôle. Les rôles sont spécialement créés pour une application de la base de données.
Attention
Attention, donner tous les privilèges systèmes d'une base de données à un utilisateur peut s'avérer très
dangereux ! Plus un utilisateur est en possession d'un grand nombre de privilèges systèmes, plus il
possède de pouvoir et s'il est malintentionné, la sécurité du serveur peut être facilement mis à mal. Il
est donc indispensable de bien choisir les droits que vous allez associer à vos utilisateurs.
- Règle n°2 : contrôle de la population : Le personnel d'une entreprise bouge, il y a des départs, des
arrivées, des promotions... Les privilèges doivent êtres synchrones avec la réalité de la
population : il faut supprimer les comptes des utilisateurs quittant l'entreprise et de ceux n'étant
plus affectés à telle ou telle tâche.
- Règle n°3 : supervision de la délégation des tâches d'administration : Un administrateur peut être
amené à déléguer auprès d'une autre personne les tâches d'attribution des privilèges de tout ou
partie de la population des utilisateurs. Un contrôle a posteriori doit être réalisé afin de vérifier
que le résultat de cette délégation est conforme à la politique adoptée.
- Règle n°4 : contrôle physique des connexions : La connexion d'un utilisateur à une base de
données peut être réalisée depuis n'importe où dans le monde grâce à Internet. Il est nécessaire
de restreindre les connexions à des hôtes spécifiques connus. Par exemple, le compte d'accès
d'une une application hébergée sur un serveur devrait voir ses privilèges restreints à l'hôte (ou
son domaine) sur lequel elle est hébergée.
- Règle n°5 : limitation des ressources utilisées : Le SGBD offre souvent la possibilité de restreindre
les ressources de calcul disponibles pour un utilisateur. Il est recommandé de configurer ces
limitations de ressources en fonction de la charge maximale attendue pour un utilisateur. Une
12
Les privilèges système
personne physique n'a pas besoin de réaliser 100 requêtes à la secondes, mais au contraire, une
application gérant elle-même les habilitations peut avoir de gros besoins qui peuvent être
cependant limités raisonnablement afin de ne pas compromettre les accès directs en ligne de
commande au serveur de base de données.
- Règle n°6 : journaliser les comportements suspects : Certains SGBD permettent de conserver dans
des journaux de log les requêtes non conformes aux privilèges accordés à un utilisateur. Il peut
être intéressant de les surveiller afin de détecter toute anomalie dénotant des tentatives de
piratage.
- Règle n°7 : restrictions sur une application en fonction du public : Une même application web
peut avoir plusieurs interfaces différentes selon le contexte d'utilisation : internet / intranet. Il
faut donc restreindre un certain nombre de droits afin d'éviter de compromettre le contenu de
la base de données en cas d'attaque.
Une fois que le DBA ait créé un utilisateur, il peut lui accorder des privilèges. Voici les privilèges
système généralement accordés aux développeurs d'applications :
13
Les privilèges objet
- CREATE PROCEDURE : créer des procédures stockées, des fonctions ou des packages dans le
schéma de l'utilisateur
Rappel
L'attribution de privilèges se fait en SQL avec la commande GRANT ( GRANT privilege TO user ),
et la révocation avec REVOKE.
Sous MySQL, seul l'utilisateur root par defaut peut utiliser ces commandes, et donc attribuer le droit
de les utiliser à d'autres utilisateurs.
La plupart du temps, il existe une interface graphique pour administrer les utilisateurs. Sous MySQL,
nous avons par exemple MySQL Workbench ou PHPMyAdmin
Un privilège objet est un privilège ou un droit permettant de réaliser une action particulière sur une
table, une vue, une séquence ou une procédure spécifique. Chaque objet a un jeu particulier de
privilèges pouvant être accordés.
- ALTER : Modification
- DELETE : Suppression
EXECUTE : Exécution
INDEX : indexation
INSERT : insertion
REFERENCES : référencement
SELECT : section
UPDATE : mise à jour
TO {user|role|PUBLIC}
Dans la syntaxe :
14
Les privilèges objet
- columns spécifie que les colonnes de la table ou de la vue auxquelles les privilèges s'appliquent.
- WITH GRANT OPTION permet à l'utilisateur de donner les privilèges objets à d'autres
utilisateurs et rôles
15
Exercice : Activité d'auto-évaluation
Exercice
Pour effectuer une opération, un SGBD doit :
authentifier l'utilisateur
comptabiliser l'utilisateur
fiabiliser l'utilisateur
Exercice
Les privilèges sont :
Exercice
Les niveaux de privilèges d'un SGBD sont :
relation (table)
global
logiciel
fichiers
alter
16
Exercice : Activité d'auto-évaluation
base
physique
colonne
Exercice
Il existe deux types de privilèges qui sont au niveau d'un SGBD :
17
Solutions des exercices
Exercice
La confidentialité est :
Exercice
Authentique
Authentification
Agrément
Comptabilité
identification
Autorisation
Exercice
L'authentification est :
une procédure par laquelle un processus certifie l’identité d'un système informatique
une procédure par laquelle un système informatique certifie l’identité d'une personne.
18
Solutions des exercices
Exercice
l’authentification
l'identification
l'accounting
l'autorisation
Exercice
authentifier l'utilisateur
comptabiliser l'utilisateur
fiabiliser l'utilisateur
Exercice
Exercice
relation (table)
global
logiciel
fichiers
19
Solutions des exercices
alter
base
physique
colonne
Exercice
20