Les principes fondamentaux de sécurité
La sécurité informatique repose sur plusieurs fondements. Ci-dessous, je vous propose d’approcher les sept fondements qui nous concerneront le plus dans le cadre des prochains articles publiés sur ce blog.
Cette liste n’est bien entendu pas exhaustive et n’est pas encore standardisée (à moins que j'aie mal cherché l'info?). Elle peut donc varier selon la personne à qui vous vous adressez.
Quoi qu’il en soit, elle constitue MA liste de base, nerf de guerre sur lequel s’articuleront tous les articles liés à la sécurité. Il y aura d’autres principes traités, tels que la défense en profondeur, l’obscurité, la confiance ou encore retomber sur ses pattes. Mais ceux-ci seront pour plus tard!
Triade CIA
La triade CIA regroupe trois principes essentiels au maintien de la sécurité d’un système d’information.
Les trois principes sont respectivement: la confidentialité (Confidentiality), l’intégrité (Integrity) et la disponibilité (Availability) des informations.
Certaines nouvelles formations dans la sécurité informatique proposent un quatrième principe (CIAA): l’authentification (Authentication).
Principe de confidentialité
Alice envoie un message à Bob. Qu’est-ce qui garantit à Alice que personne d’autre que Bob n’a pu ou ne pourra consulter le message ?
La confidentialité regroupe tous les mécanismes permettant d’assurer qu’une information ne pourrait être accessible et exploitable que par les personnes autorisées.
La confidentialité regroupe tous les mécanismes permettant d’assurer qu’une information ne pourrait être accessible et exploitable que par les personnes autorisées.
Ce principe peut être considéré de manière autonome, par exemple lorsque l’on traite de cryptographie sur un système de fichiers, ou de manière combinée, au principe d’authentification.
Intégrité
Alice envoie un message à Bob. Qu’est-ce qui garantit à Bob que ce message n’a pas été modifié durant son acheminement ?
Le principe d’intégrité vise à assurer qu’une donnée soit ‘réelle’. Cette donnée est censée représenter l’état d’une entité, d’un système ou même d’une pensée ou idée, à un instant donné.
Les contrôles d’intégrité visent à garantir qu’une donnée est représentative d’un certain modèle et qu’elle n’a pas subi de modification ou même détérioration entre deux contrôles.
Disponibilité
Alice envoie un message à Bob. Qu’est-ce qui garantit à Alice que Bob pourra consulter ce message dans les délais prévus ?
Le principe de disponibilité vise à fournir les données ou les informations lorsque les utilisateurs en ont besoin.
En clair : la disponibilité regroupe toutes les mesures visant à permettre à un service d’assurer ses responsabilités sans interruption ou du moins, lorsqu’il doit être disponible.
Authentification
Bob souhaite récupérer le message d’Alice. Comment peut-il prouver qu’il est bel et bien Bob ?
L’authentification consiste à s’assurer qu’un utilisateur est celui qu’il prétend être.
Le principe d’authentification se décline en un sous-principe : l’identification.
L’identification consiste à identifier un utilisateur de manière unique.
Quelques exemples pour différencier l’identification de l’authentification :
Système d’authentification ‘mot de passe’ : vous insérez votre carte bancaire dans un distributeur de billets. La carte sert à identifier le client (et ses comptes) sur lequel le distributeur va effectuer les opérations. Le NIP (Numéro d’Identification Personnel) vous permet de vous authentifier au distributeur : vous lui prouvez que vous êtes bel et bien le titulaire de la carte.
Système d’authentification ‘passeport’ : votre carte d’identité porte votre nom. Elle vous identifie au sein du fichier de la population d’un pays. Sur votre carte d’identité se trouve votre photo. Lorsque vous montrez votre carte d’identité à un douanier, il vous identifie par votre nom et vous authentifie par deux facteurs : le fait que vous possédiez cette carte et par le fait que vous soyez la personne représentée sur la photo.
Autorisation
Anita désire envoyer un message à Bob. A t’elle le droit de le faire ?
L’autorisation (ou permission) consiste à pouvoir déterminer si une opération est autorisée ou non.
Le mécanisme d’autorisation doit normalement être en mesure de répondre aux questions suivantes :
- quel acteur désire effectuer une opération ?
- quelle opération souhaite t’il effectuer ?
- a t’il le droit d’effectuer cette opération ? oui, ou non.
Non-répudiation
Bob a reçu un message d’Alice. Alice prétend qu’elle ne l’a pas envoyé. Qui a raison ?
Le principe de non-répudiation regroupe les mesures permettant d’affirmer avec certitude quel est ou quels sont les auteurs d’une opération.
Très utilisé dans le domaine financier, les mesures de non-répudiation permettent par exemple d’empêcher que des investisseurs ne disent “ce n’est pas moi qui ai acheté ça, on s’est fait passer pour moi!” après que leur action n’ait chuté…
Audit - journalisation
Alice a envoyé un message à Bob le 8 février 2004 à 8 heures 34 minutes et 27 secondes. Bob a consulté ce message 4 minutes plus tard, à savoir, le 8 février 2004 à 8 heures 38 minutes et 31 secondes précises.
QUI a fait QUOI et QUAND ?
La journalisation permet de répondre à cette question, et souvent bien d’autres !
Les mécanismes de journalisation regroupent toutes les techniques permettant de récupérer et stocker les informations d’activité de manière exploitable.
L’audit entre en compte dans les mécanismes de non-répudiation (ne pas pouvoir nier que l’on a fait quelque chose): « ça a eu lieu, c’est même écrit ici » ou encore lors d’analyses statistiques par exemple : « Combien de personnes ont demandé telle ressource durant les premières heures après le passage à la nouvelle année ? ».
Ce qu’il faut retenir ici…
Un système ou application considéré comme “sécurisé” doit au minimum pouvoir fournir les services suivants :
- Empêcher la consultation de données par des acteurs à qui elles ne sont pas destinées;
- Conserver et fournir les données dans l’état où elles ont été laissées par leur propriétaire;
- Fournir les données lorsque les acteurs en ont besoin ;
- Identifier et authentifier les acteurs agissant sur le système;
- Décider si oui ou non une opération est autorisée à un acteur;
- Savoir QUAND a été effectuée une opération et par QUI de manière certaine