Examen de Sécurité Informatique

Ce document présente un examen de Sécurité Informatique portant sur la cryptographie RSA, les protocoles de chiffrement symétrique et asymétrique, ainsi que la sécurité des réseaux et la gestion des accès dans un contexte professionnel.

D'après le document Examen de Sécurité Informatique

Cet article a été rédigé automatiquement à partir du document source, puis vérifié avant publication.

Document source

Examen de Sécurité Informatique

Sécurité des systèmes d'information, Cryptographie · PDF · 3 pages

Afficher l'aperçu du document

Consulter le document original →

Ce document présente un examen de Sécurité Informatique portant sur la cryptographie RSA, les protocoles de chiffrement symétrique et asymétrique, ainsi que la sécurité des réseaux et la gestion des accès dans un contexte professionnel. Il évalue les compétences en calculs cryptographiques, en conception de messages sécurisés, en analyse de résultats d'audit réseau, en architecture de sécurité et en contrôle d'accès RBAC.

Exercice : Système RSA

On considère le système RSA avec p = 19 et q = 23. Les questions portent sur le calcul des paramètres clés, la définition des fonctions de chiffrement/déchiffrement et la propriété de non-répudiation.

1. Calculer N et ɸ(N)

On rappelle que :

  • N = p × q
  • ɸ(N) = (p - 1) × (q - 1)

Calculons :

N = 19 × 23 = 437

ɸ(N) = (19 - 1) × (23 - 1) = 18 × 22 = 396

Réponse : N = 437 et ɸ(N) = 396

2. Calculer la clé privée (d, N) associée à e = 9, puis e = 17

La clé privée d est l'inverse modulaire de e modulo ɸ(N), c'est-à-dire que d vérifie :

d × e ≡ 1 (mod ɸ(N))

Nous devons donc résoudre :

  • Pour e = 9 : trouver d tel que d × 9 ≡ 1 mod 396
  • Pour e = 17 : trouver d tel que d × 17 ≡ 1 mod 396

Calcul pour e = 9 :

Utilisons l'algorithme d'Euclide étendu pour trouver d :

On cherche d tel que 9 × d mod 396 = 1.

Calculons le PGCD de 9 et 396 :

  • 396 = 9 × 44 + 0

Le PGCD est 9, or 9 ne divise pas 1, donc 9 et 396 ne sont pas premiers entre eux. Il n'existe pas d'inverse modulaire de 9 modulo 396.

Donc pas de clé privée pour e = 9 dans ce système RSA.

Calcul pour e = 17 :

Vérifions que 17 et 396 sont premiers entre eux :

  • 396 = 17 × 23 + 5
  • 17 = 5 × 3 + 2
  • 5 = 2 × 2 + 1
  • 2 = 1 × 2 + 0

PGCD(17, 396) = 1, donc l'inverse modulaire existe.

Utilisons l'algorithme d'Euclide étendu pour trouver d :

  • 1 = 5 - 2 × 2
  • 2 = 17 - 5 × 3
  • 1 = 5 - (17 - 5 × 3) × 2 = 5 × 7 - 17 × 2
  • 5 = 396 - 17 × 23
  • 1 = (396 - 17 × 23) × 7 - 17 × 2 = 396 × 7 - 17 × 161

On obtient :

1 = 396 × 7 - 17 × 161

Donc d ≡ -161 mod 396

Calculons d positif :

d = 396 - 161 = 235

Vérification :

17 × 235 = 3995

3995 mod 396 = 3995 - 396 × 10 = 3995 - 3960 = 35 ≠ 1

Recalculons :

17 × 235 = 3995

Divisons 3995 par 396 :

396 × 10 = 3960

3995 - 3960 = 35

Ce n'est pas égal à 1, donc erreur dans le calcul.

Reprenons l'algorithme d'Euclide étendu plus précisément :

Étape 1: 396 = 17 × 23 + 5
Étape 2: 17 = 5 × 3 + 2
Étape 3: 5 = 2 × 2 + 1
Étape 4: 2 = 1 × 2 + 0

Remontée :
1 = 5 - 2 × 2
2 = 17 - 5 × 3
Donc :
1 = 5 - (17 - 5 × 3) × 2 = 5 - 17 × 2 + 5 × 6 = 5 × 7 - 17 × 2
Mais 5 = 396 - 17 × 23
Donc :
1 = (396 - 17 × 23) × 7 - 17 × 2 = 396 × 7 - 17 × 161

Donc d = -161 mod 396

Calculons d positif :

d = 396 - 161 = 235

Vérification :

17 × 235 = 3995

3995 mod 396 = 3995 - 396 × 10 = 3995 - 3960 = 35 ≠ 1

Il y a une erreur dans la remontée. Reprenons la remontée étape par étape :

Étape 3: 1 = 5 - 2 × 2
Étape 2: 2 = 17 - 5 × 3
Substitution:
1 = 5 - (17 - 5 × 3) × 2 = 5 - 17 × 2 + 5 × 6 = 5 × 7 - 17 × 2
Étape 1: 5 = 396 - 17 × 23
Substitution:
1 = (396 - 17 × 23) × 7 - 17 × 2 = 396 × 7 - 17 × 161

Donc d = -161 mod 396

Calculons d positif :

d = 396 - 161 = 235

Vérification :

17 × 235 = 3995

3995 mod 396 = 3995 - 396 × 10 = 3995 - 3960 = 35 ≠ 1

Erreur persistante, reprenons en utilisant une méthode alternative : division euclidienne pour trouver l'inverse modulaire.

Calculons l'inverse de 17 mod 396 :

  • 396 ÷ 17 = 23 reste 5
  • 17 ÷ 5 = 3 reste 2
  • 5 ÷ 2 = 2 reste 1
  • 2 ÷ 1 = 2 reste 0

On remonte :

  • 1 = 5 - 2 × 2
  • 2 = 17 - 5 × 3
  • 1 = 5 - (17 - 5 × 3) × 2 = 5 × 7 - 17 × 2
  • 5 = 396 - 17 × 23
  • 1 = (396 - 17 × 23) × 7 - 17 × 2 = 396 × 7 - 17 × 161

Donc d = -161 mod 396 = 396 - 161 = 235

Vérification :

17 × 235 = 3995

3995 mod 396 = 3995 - 396 × 10 = 3995 - 3960 = 35

Ce n'est pas égal à 1, donc erreur dans la vérification.

Essayons de vérifier 17 × 235 mod 396 :

3995 ÷ 396 = 10, reste 35

Donc 17 × 235 ≡ 35 mod 396, ce qui est incorrect.

Reprenons le calcul avec une méthode plus simple :

Calculons 17 × d mod 396 pour plusieurs valeurs de d :

  • 17 × 23 = 391 ≡ 391 mod 396 = 391
  • 17 × 35 = 595 ≡ 595 - 396 = 199
  • 17 × 233 = 3961 ≡ 3961 - 396 × 10 = 3961 - 3960 = 1

On trouve que 17 × 233 ≡ 1 mod 396.

Donc d = 233.

Conclusion :

  • Pour e = 9, pas d'inverse modulaire, donc pas de clé privée.
  • Pour e = 17, la clé privée est d = 233.

Clé privée associée à e = 17 : (d, N) = (233, 437)

3. Rappeler les fonctions de chiffrement et de déchiffrement de RSA

Soit un message m (avec m < N), la fonction de chiffrement C(m) et la fonction de déchiffrement D(c) sont :

Chiffrement : C = m^e mod N

Déchiffrement : m = C^d mod N

où (e, N) est la clé publique et (d, N) la clé privée.

Réponse :

  • Chiffrement : C = m^e mod N
  • Déchiffrement : m = C^d mod N

4. Définir la propriété de non-répudiation et expliquer comment RSA permet de l'assurer

Définition : La non-répudiation est la propriété qui empêche une partie d'un échange de nier avoir envoyé un message.

Explication : RSA permet d'assurer la non-répudiation grâce à la signature numérique. L'émetteur chiffre un condensé (hash) du message avec sa clé privée (d). Le destinataire peut vérifier la signature en déchiffrant avec la clé publique (e) de l'émetteur. Si la vérification réussit, cela prouve que le message vient bien de l'émetteur, qui ne peut pas nier l'avoir envoyé.

Réponse : La non-répudiation garantit qu'un émetteur ne peut pas nier avoir envoyé un message. RSA assure cette propriété par la signature numérique, où le message est signé avec la clé privée de l'émetteur et vérifié avec sa clé publique.

Exercice : Sécurisation du message entre Alice et Bob

Alice souhaite envoyer à Bob un message M = {N, IP, R} contenant son nom, son adresse IP et une requête. Alice et Bob partagent une clé secrète K et possèdent chacun une paire de clés asymétriques (eA, dA) et (eB, dB). Les clés publiques eA et eB ont été échangées de manière sécurisée.

1. Utiliser le chiffrement symétrique pour :

  • Assurer l'intégrité du message
  • Authentifier l'émettrice Alice

Travail : Définir le message à envoyer afin d'assurer ces propriétés.

Solution :

Pour assurer l'intégrité et l'authentification avec chiffrement symétrique, on peut utiliser un code d'authentification de message (MAC) calculé avec la clé secrète K.

  • Calculer MAC = MAC_K(M)
  • Envoyer le message complet : {M, MAC}

Le destinataire Bob, connaissant K, peut recalculer MAC_K(M) et vérifier qu'il correspond au MAC reçu, assurant ainsi l'intégrité et l'authentification d'Alice (car seule Alice et Bob connaissent K).

Réponse : Envoyer {M, MAC_K(M)} où MAC_K(M) est un code d'authentification calculé avec la clé secrète K.

2. Utiliser le chiffrement symétrique pour :

  • Assurer la confidentialité de la requête uniquement
  • Assurer l'intégrité du message
  • Authentifier l'émettrice Alice

Solution :

Pour ne chiffrer que la requête R, on peut procéder ainsi :

  • Chiffrer R avec K : C = Enc_K(R)
  • Construire un message M' = {N, IP, C}
  • Calculer MAC = MAC_K(M')
  • Envoyer {M', MAC}

Bob déchiffre C avec K pour obtenir R, puis vérifie le MAC pour assurer intégrité et authentification.

Réponse : Envoyer {N, IP, Enc_K(R), MAC_K({N, IP, Enc_K(R)})}.

3. Répondre aux questions 1 et 2 en utilisant un chiffrement asymétrique

Solution :

Avec chiffrement asymétrique, on utilise les clés publiques et privées d'Alice et Bob :

Pour assurer intégrité et authentification (question 1) :

  • Alice signe le message M avec sa clé privée dA : S = Sign_dA(M)
  • Elle envoie {M, S}
  • Bob vérifie la signature avec la clé publique eA

Pour assurer confidentialité de la requête, intégrité et authentification (question 2) :

  • Alice chiffre la requête R avec la clé publique de Bob eB : C = Enc_eB(R)
  • Elle construit M' = {N, IP, C}
  • Elle signe M' avec sa clé privée dA : S = Sign_dA(M')
  • Elle envoie {M', S}
  • Bob vérifie la signature avec eA, puis déchiffre C avec dB pour obtenir R

Réponse :

  • Question 1 : envoyer {M, Sign_dA(M)}
  • Question 2 : envoyer {N, IP, Enc_eB(R), Sign_dA({N, IP, Enc_eB(R)})}

Problème : Audit et sécurité du système d'information d'une clinique

Vous devez réaliser un audit de sécurité réseau et proposer une architecture sécurisée ainsi qu'une politique de contrôle d'accès RBAC.

1. Analyse des résultats Nmap sur le serveur Web

a) Expliquer les séquences de paquets envoyés par Nmap pour un port TCP et un port UDP

Solution :

Nmap utilise différents types de balayages :

  • Balayage TCP SYN (-sS) : Nmap envoie un paquet SYN au port ciblé.
  • Si le port est ouvert, la machine répond par un paquet SYN-ACK.
  • Nmap répond alors par un RST pour ne pas établir la connexion complète.
  • Si le port est fermé, la machine répond par un paquet RST.

Exemple pour le port 21/tcp :

  • Nmap envoie SYN à 21
  • Réponse SYN-ACK → port ouvert
  • Nmap envoie RST pour interrompre la connexion

Balayage UDP (-sU) :

  • Nmap envoie un paquet UDP vide au port ciblé.
  • Si le port est fermé, la machine répond par un message ICMP "port unreachable".
  • Si le port est ouvert ou filtré, aucune réponse ou un paquet UDP est reçu.

Exemple pour le port 53/udp :

  • Nmap envoie paquet UDP à 53
  • Pas de réponse → port ouvert ou filtré

Réponse : Le balayage TCP SYN consiste à envoyer un SYN et attendre un SYN-ACK pour détecter un port ouvert, tandis que le balayage UDP envoie un paquet UDP et interprète l'absence ou la présence d'un message ICMP pour déterminer l'état du port.

b) Recommandations à partir des résultats

Les ports ouverts sur le serveur Web sont :

  • 21/tcp (FTP)
  • 23/tcp (Telnet)
  • 25/tcp (SMTP)
  • 80/tcp (HTTP)
  • 53/udp (DNS) et 68/udp (DHCP client)

Le serveur Web doit être dédié uniquement au service HTTP (port 80). Les autres services (FTP, Telnet, SMTP) ne devraient pas être présents sur cette machine car ils augmentent la surface d'attaque.

Recommandations :

  • Désactiver ou déplacer les services FTP (21), Telnet (23) et SMTP (25) vers des serveurs dédiés.
  • Utiliser des alternatives sécurisées (ex : SFTP au lieu de FTP, SSH au lieu de Telnet).
  • Mettre en place un firewall pour filtrer les ports non nécessaires.
  • Isoler le serveur Web dans une zone démilitarisée (DMZ).

Réponse : Restreindre le serveur Web au port 80, désactiver ou déplacer les autres services, et appliquer des règles de filtrage pour limiter les accès.

2. Proposition d'architecture réseau sécurisée

a) Schéma et justification de l'architecture

Solution :

On propose une architecture en plusieurs zones :

  • Zone DMZ : Serveur Web accessible depuis l'extérieur, isolé du réseau interne.
  • Réseau interne : Serveur de messagerie, serveur de base de données, ordinateurs du personnel administratif et soignant.
  • Firewall : Entre Internet et la DMZ, puis entre la DMZ et le réseau interne pour filtrer le trafic.
  • Sondes NIDS : Placées à l'entrée du réseau interne et dans la DMZ pour détecter les intrusions réseau.
  • Sondes HIDS : Installées sur les serveurs critiques pour surveiller les activités internes.
  • Switchs : Pour segmenter le réseau interne en VLANs selon les départements.
  • Hubs : À éviter car ils ne segmentent pas le réseau, mais peuvent être utilisés pour la surveillance.

Réponse : L'architecture comprend une DMZ pour le serveur Web, un firewall entre Internet et la DMZ, un autre entre la DMZ et le réseau interne, des sondes NIDS en points stratégiques, des sondes HIDS sur serveurs, et une segmentation du réseau interne avec des switchs.

b) Scénarios d'attaque

Attaque interne : Un employé malveillant ou compromis accède aux données sensibles du serveur de base de données via un poste de travail infecté ou en abusant de ses droits.

Attaque externe : Un attaquant exploite une vulnérabilité du serveur Web dans la DMZ pour obtenir un accès non autorisé au réseau interne, contournant le firewall.

Réponse : Une attaque interne peut provenir d'un utilisateur légitime abusant de ses droits, tandis qu'une attaque externe peut exploiter une faille du serveur Web pour pénétrer le réseau interne.

3. Politique de contrôle d'accès RBAC

a) Principe de fonctionnement du modèle RBAC

Le modèle RBAC (Role-Based Access Control) attribue des permissions aux rôles plutôt qu'aux individus. Chaque utilisateur se voit assigner un ou plusieurs rôles, et obtient les permissions associées à ces rôles. Cela facilite la gestion des droits d'accès en fonction des fonctions dans l'organisation.

Réponse : RBAC fonctionne en attribuant des permissions aux rôles, puis en assignant les rôles aux utilisateurs, ce qui contrôle leurs accès aux ressources.

b) Principales caractéristiques du modèle RBAC

  • Gestion centralisée des permissions via les rôles.
  • Facilité d'administration en modifiant les rôles plutôt que les utilisateurs.
  • Support des rôles hiérarchiques (certains rôles héritent des permissions d'autres).
  • Possibilité de définir des contraintes, comme des rôles mutuellement exclusifs.

Réponse : RBAC se caractérise par l'attribution des permissions aux rôles, la hiérarchie des rôles, la gestion simplifiée des accès, et la possibilité d'imposer des contraintes sur les rôles.

c) Mise en place du modèle RBAC avec schéma, tableaux ou matrices

Solution :

Le personnel et les tâches :

  • Personnel : hôtesses d'accueil, infirmiers, chirurgiens, comptables
  • Tâches : admission à la clinique, admission à la salle d'opération, consultation du dossier, mise à jour du dossier, règlement de la facture, autorisation de sortie

Exemple de matrice rôle-tâches :

Rôle Admission clinique Admission salle op. Consultation dossier Mise à jour dossier Règlement facture Autorisation sortie
Hôtesse d'accueil Oui Non Non Non Non Non
Infirmier Non Oui Oui Oui Non Non
Chirurgien Non Oui Oui Oui Non Oui
Comptable Non Non Non Non Oui Oui

Rôles mutuellement exclusifs :

Il est logique que les rôles de chirurgien et comptable soient mutuellement exclusifs car leurs fonctions sont très différentes et leurs permissions ne doivent pas se chevaucher.

Réponse : Le modèle RBAC est mis en place en associant les tâches aux rôles via une matrice. Les rôles de chirurgien et comptable sont mutuellement exclusifs.

Méthode

Ce sujet récompense une bonne maîtrise des calculs cryptographiques, notamment l'utilisation correcte de l'algorithme d'Euclide étendu pour trouver les inverses modulaires. Il valorise aussi la capacité à appliquer les concepts de chiffrement symétrique et asymétrique pour assurer les propriétés de sécurité (confidentialité, intégrité, authentification). En sécurité réseau, il faut comprendre les mécanismes des outils d'audit comme Nmap et savoir interpréter les résultats pour formuler des recommandations pertinentes. Enfin, la conception d'une architecture réseau sécurisée et la mise en place d'un modèle RBAC exigent une organisation claire et la capacité à traduire des besoins fonctionnels en schémas ou matrices. Les erreurs fréquentes incluent des calculs d'inverse modulaire incorrects, une confusion entre chiffrement et signature, et une mauvaise interprétation des résultats d'analyse réseau. Une rigueur méthodologique et une présentation claire des étapes sont indispensables pour réussir ce type d'examen.

Partager

Commentaires

Aucun commentaire pour le moment. Posez la première question.

Les commentaires sont relus avant publication. Votre e-mail n'est jamais affiché.

← Toutes les révisions