Menu
InformatiWeb Pro
  • Index
  • Admin système
  • Virtualisation

Connexion

Inscription Mot de passe perdu ?
US
  • Windows Server
    • WMS 2012
    • WS2012 R2
    • WS2016
  • Citrix
    • Citrix NetScaler Gateway
    • Citrix XenApp / XenDesktop
    • Citrix XenServer
  • VMware
    • VMware ESXi
    • VMware vSphere
    • VMware Workstation
  • Microsoft
    • Hyper-V
  • RAID
    • Adaptec SmartRAID
  • UPS
    • APC Back-UPS Pro
  • InformatiWeb Pro
  • Admin système
  • Windows Server
  • Formations
  • Apprendre à utiliser les services de certificats Active Directory (AD CS) sous WS 2016
  • À quoi sert et comment fonctionne le chiffrement ?
1 / 21
  •  
  • Qu'est-ce qu'une CA d'entreprise et l'installer ?
  • Articles
  • 08 septembre 2023 à 09:39
  • InformatiWeb

A quoi sert et comment fonctionne le chiffrement (clés, signatures, ...) ?

Lorsque vous travaillez dans une entreprise, il est important de pouvoir sécuriser les connexions pour assurer la confidentialité et l'intégrité, ainsi que de s'assurer que vous communiquez bien avec la bonne personne ou le bon serveur.
Pour cela, vous devrez utiliser du chiffrement, ainsi que des signatures numériques (certificats).
Voici une petite initiation à ces notions de chiffrement et de signatures numériques (certificats).

  1. Pourquoi utiliser le chiffrement ?
  2. Utilités du chiffrement
  3. Chiffrement symétrique ou asymétrique ?
    1. Chiffrement symétrique (Chiffrement à clé secrète)
    2. Chiffrement asymétrique (Chiffrement à clé publique)
  4. Signatures numériques
  5. Valeurs de hachage
  6. Génération de nombres aléatoires pour le chiffrement

1. Pourquoi utiliser le chiffrement ?

Lorsque 2 périphériques (serveurs, ordinateurs, smartphones, ...) communiquent via le réseau (y compris via Internet), les données qu'ils se transmettent sont envoyées en clair.
Ce qui signifie que n'importe qui peut voir ces données assez facilement s'il se trouve sur le même réseau ou entre les périphériques (Homme du milieu (MITM)).
Pire, cela signifie qu'une personne mal intentionnée pourrait potentiellement modifier ce qui a été envoyé.
Cette personne pourrait donc modifier le message que quelqu'un vous a envoyé pour y modifier le numéro de compte auquel vous devez verser l'argent d'un produit que vous avez acheté, par exemple. Sans que vous ne puissiez savoir que le message original a été modifié.

Pour éviter ce problème, vous devez chiffrer les données à envoyer via le réseau.

  • Chiffrer = rendre des données illisibles par n'importe qui, excepté le destinataire
  • Déchiffrer = restaurer les données originales depuis les données chiffrées reçues

Pour envoyer des données de manière sécurisée via le réseau, l'expéditeur doit chiffrer les données à l'aide d'un algorithme de chiffrement (tels que : DES, AES, ...) et d'une clé de chiffrement (symétrique ou asymétrique), puis envoyer ces données chiffrées au destinataire.
Ensuite, ce destinataire devra utiliser le même algorithme de chiffrement, ainsi que la clé de chiffrement adéquate pour pouvoir déchiffrer les données que vous lui avez envoyées.
Ce qui signifie que si une personne mal intentionnée (n'ayant donc pas la clé adéquate) intercepte les données qui ont transité via le réseau, celle-ci ne sera pas en mesure de les déchiffrer (ou très difficilement).

2. Utilités du chiffrement

Utiliser le chiffrement à plusieurs utilités :

  • confidentialité des données : empêche quiconque de lire les données, excepté son destinataire
  • intégrité des données : empêche la modification des données
  • authentification : permet de s'assurer que les données ont bien été envoyées par la bonne personne
  • non-répudiation : l'expéditeur des données envoyées ne peut pas nier qu'il a envoyé ces données

Ainsi, grâce au chiffrement, vous pourrez être sûr :

  • de l'identité de l'expéditeur d'un message, ainsi que le message reçu n'a pas pu être modifié en chemin
  • que vous vous connectez au bon serveur (qu'il s'agisse d'un site web, d'un serveur de fichiers (FTP), ...) et non à un serveur pirate qui tenterait de se faire passer pour le serveur original
  • etc

Actuellement, le chiffrement est utilisé dans de nombreux cas :

  • sécuriser l'accès à un site web (celui de votre banque, celui de votre entreprise, celui permettant d'accéder à vos e-mails, ...).
  • sécuriser l'accès à un serveur de fichiers (pour que les identifiants utilisés ne puissent pas être récupérés ou pour que les fichiers transférés ne puissent pas être récupérés par un pirate, par exemple)
  • sécuriser l'accès à un serveur de message (qu'il s'agisse d'un serveur IMAP ou POP permettant de télécharger ses e-mails ou le serveur SMTP qui permet d'en envoyer)
  • créer un tunnel sécurisé entre 2 périphériques (un ordinateur, un serveur, un smartphone, ... et un serveur VPN)
  • créer un tunnel sécurisé (tunnel VPN via IPsec ou autre) entre 2 sites physiques (emplacements physiques) pour accéder aux données de votre siège à Bruxelles depuis le bureau de Paris par exemple
  • protéger les données de votre ordinateur contre les accès non autorisés grâce à des technologies comme BitLocker ou TrueCrypt, par exemple
  • etc

3. Chiffrement symétrique ou asymétrique ?

Comme expliqué précédemment, pour chiffrer des données, vous devez utiliser un algorithme de chiffrement et une clé.
Néanmoins, pour chiffrer et déchiffrer des données, il est possible d'utiliser un chiffrement symétrique ou asymétrique.

Lorsque vous utilisez un chiffrement symétrique, la clé utilisée pour chiffrer les données est la même que celle utilisée pour déchiffrer les données.
Par contre, si vous utilisez un chiffrement asymétrique, la clé utilisée pour chiffrer les données (clé privée) sera différente de celle utilisée pour déchiffrer les données (clé publique).

Pour info : lorsque vous créez votre propre autorité de certification, vous créez ce qu'on appelle une PKI.
Ce qui signifie : Infrastructure à clés publiques. C'est donc le chiffrement asymétrique qui sera principalement utilisé par celle-ci.

3.1. Chiffrement symétrique (Chiffrement à clé secrète)

Lorsque vous utilisez un algorithme de chiffrement symétrique, vous devrez utiliser une clé unique qui servira à chiffrer et déchiffrer les données.
Dans ce cas, les données seront chiffrées par blocs.

Parmi les algorithmes de chiffrement symétrique connus, vous trouverez :

  • Data Encryption Standard (DES)
  • TripleDES (3DES)
  • Advanced Encryption Standard (AES)

Important : cette clé doit donc :

  • rester secrète : NE la communiquer PAS à un tiers
  • être stockée à un endroit sécurisé : un endroit où personne ne peut la voir ou un emplacement auquel personne ne peut accéder à part vous

Avantages :

  • algorithme de chiffrement rapide, car il n'utilise qu'une seule clé dont la taille est de maximum 256 bits (64 bits pour DES et 3DES, 128 bits, 192 bits ou 256 bits pour AES)
  • pratique pour chiffrer des quantités importantes de données

Inconvénients :

  • il faut que les 2 parties (utilisateurs, par exemple) se soient déjà mises d'accord sur l'algorithme et la clé à utiliser
  • il faut utiliser un moyen déjà sécurisé pour communiquer la clé à l'autre partie (utilisateur, ordinateur, ...).
    Ce qui peut être facilement résolu en utilisant le chiffrement asymétrique. Ainsi, la clé est envoyée de manière sécurisée.

Exemple rapide :

  • l'expéditeur chiffre un message à l'aide d'un algorithme et d'une clé connus par le destinataire
  • l'expéditeur envoi le message chiffré au destinataire
  • le destinataire reçoit le message chiffré
  • le destinataire déchiffre le message reçu à l'aide du même algorithme et de la même clé (informations sur lesquelles les 2 parties s'étaient mises d'accord auparavant)

Dans l'exemple ci-dessus, si une personne tierce arrive à récupérer les données qui ont transité via le réseau, celle-ci ne pourra pas déchiffrer les données récupérées.
En effet, elle ne connait ni l'algorithme ni la clé utilisée permettant de déchiffrer les données récupérées.

3.2. Chiffrement asymétrique (Chiffrement à clé publique)

Lorsque vous utilisez un algorithme de chiffrement asymétrique (ou chiffrement à clé publique), vous aurez besoin d'une paire de clés (une clé privée et une clé publique).
Si on parle de chiffrement asymétrique, c'est simplement parce que les données sont chiffrées avec une clé et que celles-ci peuvent être déchiffrées uniquement avec l'autre clé.

Important : comme son nom l'indique, la clé privée doit rester privée (secrète), contrairement à la clé publique qui peut être communiquée à n'importe qui.

Notez que la clé privée et la clé publique sont liées d'un point de vue mathématique.
Les données que vous chiffrerez avec la clé publique pourront être déchiffrées uniquement avec la clé privée.
Dans l'autre sens, les données chiffrées avec la clé privée pourront être vérifiées uniquement avec la clé publique.

Parmi les algorithmes de chiffrement asymétrique connus, vous trouverez :

  • RSA
  • DSA (Digital Signature Algorithm)
  • Diffie-Hellman

Avantages :

  • la clé permettant de chiffrer les données est différente de celle permettant de déchiffrer ces mêmes données
  • la taille de clés est plus grande, ce qui permet de mieux sécuriser les données.

Inconvénients :

  • plus lent, car il utilise des clés plus grandes
  • la quantité de données que les algorithmes de chiffrement asymétriques peuvent chiffrer est limitée mathématiquement (ce qui est notamment le cas de RSA).
    Pour cette raison, le chiffrement asymétrique est généralement utilisé pour chiffrer uniquement la clé et le vecteur d'initialisation.
    Ensuite, les données sont chiffrées en utilisant le chiffrement symétrique souhaité.

Exemple rapide : Tom souhaite envoyer un message à Lionel :

  • pour commencer, Lionel génère une paire de clés (clé publique / clé privée)
  • Tom demande la clé publique de Lionel pour pouvoir lui envoyer un message
  • Lionel envoi sa clé publique à Tom
  • Tom utilise cette clé publique pour chiffrer un message et envoi ce message à Lionel
  • Lionel déchiffre le message envoyé par Tom grâce à sa clé privée

Important : si la clé publique a été envoyée via un réseau non sécurisé, il faut que Tom demande à Lionel si la clé publique qu'il a reçue est bien la bonne.
Ce qui permet de s'assurer que la clé publique n'a pas été modifiée par un pirate qui aurait réussi à intercepter celle-ci.

Exemple suivant : Lionel souhaite répondre à Tom :

  • pour commencer, Tom doit générer une paire de clés (clé publique / clé privée)
  • Lionel demande à Tom sa clé publique et chiffre son message à grâce à cette clé publique
  • Tom déchiffre le message de Lionel grâce à sa clé privée

Microsoft recommande d'utiliser RSA, car DSA est moins sécurisé que RSA.
De plus, Diffie-Hellman ne peut être utilisé que pour générer des clés.

4. Signatures numériques

Grâce au chiffrement asymétrique (ou chiffrement à clé publique), vous pouvez aussi créer des signatures numériques.
Ces signatures numériques (ou certificats) vous permettront de vérifier l'identité d'un expéditeur (si sa clé publique est fiable), ainsi que l'intégrité des données.

Grâce à la clé publique de l'expéditeur, le destinataire peut vérifier que les données reçues ont bien été envoyées par la bonne personne (et non par un pirate qui tenterait de se faire passer pour elle).

Pour signer numériquement un message, l'expéditeur doit créer une synthèse de son message.
Pour cela, il va utiliser un algorithme de hachage et l'appliquer à son message.
Ensuite, l'expéditeur doit chiffrer cette synthèse grâce à sa clé privée pour créer sa propre signature.

Lorsque le destinataire reçoit le message et la signature liée à celui-ci, il doit déchiffrer la signature grâce à la clé publique de l'expéditeur pour récupérer la synthèse du message reçu.
Ensuite, le destinataire hache la synthèse du message reçu en utilisant le même algorithme que celui utilisé par l'expéditeur.
Si la synthèse du message calculé par le destinataire correspond à celle convoyée par l'expéditeur, le destinataire sait que le message a été envoyé par la bonne personne.

Notez qu'une signature numérique peut être vérifiée par n'importe qui étant donné que la clé publique est évidemment publique.
Ce processus de signature numérique permet donc uniquement de vérifier l'identité de l'expéditeur des données.
Si vous souhaitez que les données envoyées ne soient pas lisibles par n'importe qui, vous devez en plus chiffrer les données à envoyer.

5. Valeurs de hachage

Comme expliqué précédemment, pour créer une signature numérique, l'expéditeur doit utiliser un algorithme de hachage.
Les algorithmes de hachage permettent d'obtenir une valeur binaire de longueur fixe depuis n'importe quelle valeur binaire (texte, fichier, ...).
Lorsque vous hachez une valeur d'une longueur variable, vous obtiendrez toujours une valeur de hachage avec une longueur fixe.
Cette valeur de hachage est unique et changera si le moindre bit ou la moindre lettre est modifié dans le texte source.
Avec une fonction de hachage renforcée, la valeur de hachage peut changer jusqu'à 50% si le moindre bit est modifié dans la valeur binaire hachée.

Techniquement, le hachage de 2 valeurs binaires différentes donnera toujours 2 valeurs de hachages différentes.
Bien que le risque de collision (2 valeurs binaires produisant la même valeur de hachage) existe pour d'anciens algorithmes de hachage, tels que le MD5. Mais cela est très rare.

Notez que pour que l'envoi du message soit entièrement sécurisé (confidentialité, intégrité, authentification, ...), vous devez utiliser une signature numérique (un certificat) et du chiffrement.

Important : les algorithmes de hachage MD5 et le SHA-1 ont été détectés comme non sécurisés. Le SHA-2 (qui correspond à SHA256, SHA384 et SHA512) est donc recommandé.
D'ailleurs, Microsoft Edge bloque les sites web dont le certificat SSL utilisé avec le protocole HTTPS utilise un algorithme de hachage SHA-1.

6. Génération de nombres aléatoires pour le chiffrement

Pour que le chiffrement de données soit le plus efficace possible, il est important que la ou les clés utilisées pour le chiffrement soient générées le plus aléatoirement possible.
Eviter donc d'utiliser des valeurs écrites à la main, tels que "1234" ou "mytoppassword" en en tant que clé de chiffrement et utilisez plutôt des valeurs aléatoires obtenues grâce à un générateur de nombre aléatoire.
Ainsi, il sera quasiment impossible de prédire quelle était la valeur de sortie du générateur de nombre aléatoire utilisé.

Source : Vue d'ensemble du chiffrement, des signatures numériques et des algorithmes de hachage dans .NET - Microsoft Docs.

Partager ce tutoriel

Partager
Tweet

A voir également

  • SafeNet Authentication Client (SAC) - Installation et présentation

    Articles 26/1/2024

    SafeNet Authentication Client (SAC) - Installation et présentation

  • WS 2016 - AD CS - Acheter des cartes à puce et se connecter via celles-ci

    Windows Server 19/1/2024

    WS 2016 - AD CS - Acheter des cartes à puce et se connecter via celles-ci

  • WS 2016 - AD CS - Activer et utiliser l'inscription automatique de certificats

    Windows Server 13/10/2023

    WS 2016 - AD CS - Activer et utiliser l'inscription automatique de certificats

  • WS 2016 - AD CS - Comment fonctionne la révocation et publier une CRL ?

    Windows Server 3/11/2023

    WS 2016 - AD CS - Comment fonctionne la révocation et publier une CRL ?

Commentaires

Vous devez être connecté pour pouvoir poster un commentaire

Donnez-nous votre avis

Contenu épinglé

  • Logiciels (Admin système)
  • Logiciels Linux
  • Nos programmes
  • Conditions générales
  • Donnez votre avis

Contact

  • Livre d'or
  • Support technique
  • Contact

® InformatiWeb-Pro.net - InformatiWeb.net 2008-2022 - © Lionel Eppe - Tous droits réservés.

Toute reproduction totale ou partielle de ce site est interdite et constituerait une contrefaçon sanctionnée par les articles L.335-2 et suivants du Code de la propriété intellectuelle.