Accueil » Implémentation d’une application décentralisée basée sur la blockchain » Sécurité informatique: Concepts essentiels et enjeux

Découvrez les bases de la sécurité informatique pour réduire les risques et protéger vos données.

Explorez la cryptographie, ses objectifs, et ses méthodes pour sécuriser les communications et protéger les données.

Découvrez les principes de cryptage, y compris DES et RSA, pour la sécurité des données en symétrique et asymétrique.

Découvrez l’algorithme RSA, son fonctionnement et les principales attaques cryptanalytiques qui le menacent.

Chapitre I :

CONCEPTS GÉNÉRAUX SUR LA SÉCURITÉ INFORMATIQUE

Définition

La sécurité informatique c’est l’ensemble des moyens mis en œuvre pour réduire la vulnérabilité d’un système contre les menaces accidentelles ou intentionnelles.

L’objectif de la sécurité informatique est d’assurer que les ressources matérielles et/ou logicielles d’un parc informatique sont uniquement utilisées dans le cadre prévu et par des personnes autorisées. Il convient d’identifier les exigences fondamentales en sécurité informatique, qui caractérisent ce à quoi s’attendent les utilisateurs de systèmes informatiques au regard de la sécurité :

La confidentialité : Seules les personnes habilitées doivent avoir accès aux données. Toute interception ne doit pas être en mesure d’aboutir, les données doivent être cryptées, seuls les acteurs de la transaction possèdent la clé de compréhension.

L’intégrité : Il faut garantir à chaque instant que les données qui circulent sont bien celles que l’on croit, qu’il n’y a pas eu d’altération (volontaire ou non) au cours de la communication. L’intégrité des données doit valider l’intégralité des données, leur précision, l’authenticité et la validité.

La disponibilité : Il faut s’assurer du bon fonctionnement du système, de l’accès à un service et aux ressources à n’importe quel moment. La disponibilité d’un équipement se mesure en divisant la durée durant laquelle cet équipement est opérationnel par la durée durant laquelle il aurait dû être opérationnel.

La non-répudiation : Une transaction ne peut être niée par aucun des correspondants. La non-répudiation de l’origine et de la réception des données prouve que les données ont bien été reçues. Cela se fait par le biais de certificats numériques grâce à une clé privée.

L’authentification : Elle limite l’accès aux personnes autorisées. Il faut s’assurer de l’identité d’un utilisateur avant l’échange de données. Bref, on mesure la sécurité d’un système entier à la sécurité du maillon le plus faible. Ainsi, si tout un système est sécurisé techniquement mais que le facteur humain, souvent mis en cause, est défaillant, c’est toute la sécurité du système qui est remise en cause.

4 Laurent BLOCH et Christophe WOLFHUGEL, (2009), ‘ Sécurité informatique. Principes et méthode à l’usage des DSI, RSSI et administrateurs ‘, 2e édition, Eyrolles, Paris

Études des risques liés à la sécurité informatique

Les coûts d’un problème informatique peuvent être élevés et ceux de la sécurité le sont aussi. Il est nécessaire de réaliser une analyse de risque en prenant soin d’identifier les problèmes potentiels avec les solutions avec les coûts associés. L’ensemble des solutions retenues doit être organisé sous forme d’une politique de sécurité cohérente, fonction du niveau de tolérance au risque.

En revanche, la sécurité est un compromis entre coûts, risques et contraintes. On comprendra mieux le poids d’un risque en se fiant à la formule suivante :

𝑀𝑒𝑛𝑎𝑐𝑒 × 𝑣𝑢𝑙𝑛𝑒𝑟𝑎𝑏𝑖𝑙𝑖𝑡é

𝑅𝑖𝑠𝑞𝑢𝑒 =

𝐶𝑜𝑛𝑡𝑟𝑒 𝑚𝑒𝑠𝑢𝑟𝑒

Risque : C’est la probabilité qu’une menace exploite une vulnérabilité. Autrement dit, c’est une possibilité qu’un fait dommageable se produise.

Vulnérabilité : C’est une faiblesse inhérente à un système (software ou hardware). Appelée parfois faille ou brèche, elle représente le niveau d’exposition face à la menace dans un contexte particulier.

Menace : c’est le danger (interne ou externe) tel qu’un hacker, un virus, etc.

Contre-mesure : c’est un moyen permettant de réduire le risque dans une organisation.

Conséquences de la formule :

  • Le risque est d’autant plus réduit que les contre-mesures sont nombreuses ;
  • Le risque est plus important si les vulnérabilités sont nombreuses.

L’utilisation de l’outil informatique est susceptible de nous exposer à plusieurs types des risques. Il importe donc de pouvoir mesurer ces risques en fonction de la probabilité ou de la fréquence de leurs survenances et aussi en mesurant leurs effets possibles.

5 H. NSENGE MPIA, (2017), « Sécurité Informatique », Institut Supérieur Emmanuel d‟Alzon / Butembo, cours inédit.

Ces effets peuvent avoir des conséquences négligeables ou catastrophiques :

Le traitement informatique en cours échoue : il suffit de le relancer, éventuellement par une autre méthode si on craint que la cause ne réapparaisse ;

L’incident est bloquant et on doit procéder à une réparation ou une correction avant de poursuivre le travail entrepris. Il est cependant à noter que ces mêmes incidents peuvent avoir des conséquences beaucoup plus fâcheuses :

  • Données irrémédiablement perdues ou altérées, ce qui les rend inexploitables par la suite ;
  • Données ou traitements durablement indisponibles, pouvant entrainer l’arrêt d’une production ou d’un service ;
  • Divulgation d’informations confidentielles ou erronées pouvant profiter à des sociétés concurrentes ou nuire à l’image de marque de l’entreprise ;
  • Déclenchement d’actions pouvant provoquer des accidents physiques ou induire des humains.

Établissement et éléments d’une politique de sécurité informatique

L’élément de politique de sécurité est l’ensemble des orientations suivies par une organisation en termes de sécurité. Elle est élaborée au niveau de système de pilotage (Direction), car elle concerne tous les utilisateurs du système.

La sécurité informatique de l’entreprise repose sur une bonne connaissance des règles par les employés, grâce à des actions de formation et de sensibilisation auprès des utilisateurs, mais elle doit aussi aller au-delà de cela tout en couvrant les champs ci-après :

  • Mise en place des correctifs ;
  • Définition de la police de sécurité ;
  • Objectifs, Portée, Responsables ;
  • Une stratégie de sauvegarde correctement planifiée ;
  • Description de la sécurité (de l’infrastructure physique, des données informatiques, des applications, du réseau) ;
  • Plan en cas de sinistre (Un plan de reprise après incident) ;

Sensibilisation du personnel aux nouvelles procédures / Sanctions en cas de manquements. Suite à l’étude des risques et avant de mettre en place des mécanismes de protection, il faut préparer une politique à l’égard de la sécurité. S’est-elle qui fixe les principaux paramètres, notamment les niveaux de tolérance et les coûts acceptables.

Sécurité informatique : Concepts et enjeux essentiels

Notions sur la Cryptographie

Le mot cryptographie vient des mots en grec ancien kruptos (κρσπτός) « caché » et graphein (γράφειν) « écrire ». Beaucoup des termes de la cryptographie utilisent la racine « crypt- », ou des dérivés du terme « chiffre ».

La cryptographie est une des disciplines de la cryptologie s’attachant à protéger des messages (assurant confidentialité, authenticité et intégrité) en s’aidant souvent de secrets ou clés. Elle se distingue de la « stéganographie » qui fait passer inaperçu un message dans un autre message alors que la cryptographie rend un message inintelligible à autre que qui-de droit.

Elle est utilisée depuis l’Antiquité, mais certaines de ses méthodes les plus importantes, comme la cryptographie asymétrique, datent de la fin du XXe siècle.

Voici les quelques terminologies liées à la cryptologie :

La cryptologie : est l’ensemble formé de la cryptographie et de la cryptanalyse. Elle est une science mathématique des messages secrets.

La cryptographie : est l’art de rendre inintelligible, de crypter, de coder, un message pour ceux qui ne sont pas habilités à en prendre connaissance. Du grec : caché et écrire, la cryptographie est l’étude des méthodes donnant la possibilité d’envoyer des données de manière confidentielle (chiffrée) sur un support donné.

Crypter : synonyme de « chiffrer ».

La cryptanalyse : est l’art pour une personne non habilitée, de décrypter, de décoder, de déchiffrer, un message. C’est donc l’ensemble des procèdes d’attaques d’un système cryptographique. Elle a pour but de retrouver le texte clair à partir de textes chiffrés en déterminant les failles des algorithmes utilisés.

Chiffrement : Le chiffrement consiste à transformer une donnée (texte, message, …) afin de la rendre incompréhensible par une personne autre que celui qui a créé le message et celui qui en est le destinataire. La fonction permettant de retrouver le texte clair à partir du texte chiffré porte le nom de déchiffrement.

6 William Stallings, (2003),Cryptography and Network Security : Principes and Practice”, 3eme ed. Prentice Hall

Texte chiffré : Appelé également cryptogramme, le texte chiffré est le résultat de l’application d’un chiffrement à un texte clair.

Clef : Il s’agit du paramètre impliqué et autorisant des opérations de chiffrement et/ou déchiffrement. Dans le cas d’un algorithme symétrique, la clef est identique lors des deux opérations. Dans le cas d’algorithmes asymétriques, elle diffère pour les deux opérations.

Crypto systèmes : Il est défini comme l’ensemble des clés possibles (espace de clés), des textes clairs et chiffrés possibles associés à un algorithme donné.

Code : Système de chiffrement dans lequel chaque lettre (ou mot, syllabes,) est remplacée par un -ou plusieurs- symboles (caractères, dessins, …), par un processus d’opérations. (Le plus souvent des tables de correspondances entre la lettre et son symbole). Les codes, s’ils peuvent être secrets, ne le sont généralement pas. Parmi les plus connus, on peut citer le code morse et le code ASCII.

Chiffre : nom donné à un code secret, c’est à dire soit un code dont le processus d’opérations (l’algorithme) est tenu secrète, soit un code dont l’algorithme est connu, mais dont la clef est secrète.

Cryptogramme : message chiffré (qui a été codé par un Chiffre).

Déchiffrer : opération inverse du chiffrage : transformer un texte chiffré en un texte en clair en connaissant le procédé de secret utilisé. (C’est à dire l’algorithme du chiffre et sa clé, s’il en a une)

Décrypter : transformer un texte chiffré en un texte en clair, sans connaître le procédé de secret utilisé. C’est sur ce point que déchiffrage et décryptage s’opposent et ne sont, de ce fait, pas synonymes.

Objectif de la cryptographie

La cryptographie a quatre objectifs principaux :

Confidentialité : cette notion est liée au maintien du secret, elle est réalisée par la protection des données contre une divulgation non autorisée (notion de protection en lecture). Donc, les informations ne sont accessibles qu’aux utilisateurs autorisés.

Intégrité : garantit que les informations n’ont pas été manipulées. Elle relève essentiellement de problématiques liées au transfert de données, elle dépend également des aspects purement informations de traitement de l’information (logiciels d’application, systèmes d’exploitation, environnements d’exécution, procédures de sauvegardes, de reprise et de restauration des données).

Authentification : confirme l’authenticité des informations ou l’identité d’un utilisateur. Ou encore consiste à vérifier ou valider l’identité d’une personne ou l’utilisation de toute autre entité, lors d’un échange électronique, pour contrôler l’accès à un réseau, à un système informatique ou à un logiciel.

Nonrépudiation : empêche un utilisateur de nier des engagements ou des actions antérieures. Elle est un enjeu majeur de la sécurité informatique. Elle garantit également que l’auteur d’un message ne peut pas nier l’avoir envoyé. La non-répudiation doit être garantie pour chacun de ces états. Pour les données en transit, il est important d’assurer l’authenticité et l’intégrité des échanges.
Pour les données au repos, il est essentiel de s’assurer que personne ne les a modifiées depuis leur création. Enfin, pour les données en cours d’utilisation, il est important de vérifier que personne n’a altéré le contenu pendant leur traitement.

Cryptage et décryptage

Le cryptage consiste à transformer un texte normal en charabia inintelligible appelé chiffrer. C’est-à-dire une opération qui permet de s’assurer que seules les personnes auxquelles les informations sont destinées pourront y accéder. Le processus inverse de transformation du texte chiffré vers le texte d’origine est appelé le décryptage.

Ces concepts sont utilisés pour sécuriser les informations échangées dans un réseau de communication, informatique ou non. De ce fait, nous décrivons dans l’image qui suit ce processeur.

Figure 1 : codage d’information

Les principales catégories de cryptage existentielles sont le cryptage symétrique ou cryptage de clé secrète et le cryptage asymétrique ou celle de des deux clés (publique et privée) autrement appelé cryptage asymétrique (ou cryptage publique).

Types de Cryptographie

On distingue deux types de cryptographie : La cryptographie symétrique et la cryptographie asymétrique.

Cryptographie symétrique

Est la méthode d’utilisation de même clé cryptographique pour crypter de texte en clair et décryptage de texte crypté. Comme illustré dans la figure ci-dessous. Nous avons des exemples parlant de ce système de ce cryptage à travers l’histoire, le chiffrement de césar (Méthode par décalage), la norme de cryptage de données (DES) ou l’algorithme DES, AES pour en citer que ces quelques algorithmes.

Figure 2 : cryptage symétrique

Ce cryptage présente plusieurs caractéristiques entre autres la clé doit rester secrète, au niveau de la génération des clés, elle est choisie aléatoirement dans l’espace des clés, Ces algorithmes sont basés sur des opérations de transposition et de substitution des bits du texte clair en fonction de la clé, – La taille des clés est souvent de l’ordre de 128 bits.

Le DES en utilise 56, mais l’AES peut aller jusque 256, – L’avantage principal de ce mode de chiffrement est sa rapidité, – Le principal désavantage réside dans la distribution des clés : pour une meilleure sécurité, on préfèrera l’échange manuel. Malheureusement, pour de grands systèmes, le nombre de clés peut devenir conséquent.

C’est pourquoi on utilisera souvent des échanges sécurisés pour transmettre les clés. En effet, pour un système à N utilisateurs, il y aura N. (N − 1) /2 paires de clés.

Fonctionnement de DES

L’algorithme DES transforme un bloc de 64 bits en un autre bloc de 64 bits. Il manipule des clés individuelles de 56 bits, représentées par 64 bits (avec un bit de chaque octet servant pour le contrôle de parité).

Ce système de chiffrement symétrique fait partie de la famille des chiffrements itératifs par blocs, plus particulièrement il s’agit d’un schéma de Feistel (du nom de Horst Feistel à l’origine du chiffrement Lucifer). D’une manière générale, on peut dire que DES fonctionne en trois étapes :

Permutation initiale et fixe d’un bloc (sans aucune incidence sur le niveau de sécurité) ; Le résultat est soumis à 16 itérations d’une transformation, ces itérations dépendent à chaque tour d’une autre clé partielle de 48 bits. Cette clé de tour intermédiaire est calculée à partir de la clé initiale de l’utilisateur (grâce à un réseau de tables de substitution et d’opérateurs XOR).

Lors de chaque tour, le bloc de 64 bits est découpé en deux blocs de 32 bits, et ces blocs sont échangés l’un avec l’autre selon un schéma de Feistel. Le bloc de 32 bits ayant le poids le plus fort (celui qui s’étend du bit 32 au bit 64) subira une transformation ; Le résultat du dernier tour est transformé par la fonction inverse de la permutation initiale.

Le DES utilise huit tables de substitution (les S- Boxes) qui furent l’objet de nombreuses controverses quant à leur contenu. On soupçonnait une faiblesse volontairement insérée par les concepteurs. Ces rumeurs furent dissipées au début des années 1990 par la découverte de la cryptanalyse différentielle qui démontra que les tables étaient bien conçues.

Le triple DES

Le Triple DES (aussi appelé 3DES) est un algorithme de chiffrement symétrique enchainant trois applications successives de l’algorithme DES sur le même bloc de données de 64 bits, avec 2 ou 3 clés DES différentes. Cette utilisation de trois chiffrements DES a été développée par Walter TUCHMAN.

Même quand 3 clés de 56 bits différentes sont utilisées, la force effective de l’algorithme n’est que de 112 bits et non 168 bits, à cause d’une attaque type rencontre au milieu. Bien que normalisé, bien connu, et assez simple à implémenter, il est assez lent.

Cryptage asymétrique

La distribution des clés représente un problème qui trouve sa réponse dans le concept introduit par Whitfield Diffie et Martin Hellman en 1975, la cryptographie de clé publique.

Le cryptage de clé publique est un procédé asymétrique utilisant une paire de clés pour le cryptage : une clé publique qui crypte des données et une clé privée ou secrète correspondante pour le décryptage. Vous pouvez ainsi publier votre clé publique tout en conservant votre clé privée secrète.

Tout utilisateur possédant une copie de votre clé publique peut ensuite crypter des informations que vous êtes le seul à pourvoir lire. Même les personnes que vous ne connaissez pas personnellement peuvent utiliser votre clé publique.

Figure 3 : présentation de la clé publique et privée.

Figure 4 : processus de chiffrement et déchiffrement

Le cryptage asymétrique présente un avantage majeur car il permet d’échanger des messages de manière sécurisée sans aucun dispositif de sécurité. L’expéditeur et le destinataire se partagent leurs clés publiques point n’est question de se partager de clés privées via de mécanisme sécurisé.

Elgamal (d’après le nom de son inventeur, Taher Elgamal), RSA (d’après le nom de ses inventeurs, Ron Rivest, Adi Shamir et Leonard Adleman), Diffie-Hellman (également d’après le nom de ses inventeurs) et DSA, l’algorithme de signature numérique (élaboré par David Kravitz), sont des exemples de systèmes de cryptographie de clé publique.

Fonctionnement général du RSA

Le chiffrement RSA est asymétrique : il utilise une paire de clés (des nombres entiers) composé d’une clé publique pour chiffrer et d’une clé privée pour déchiffrer des données confidentielles.

Les deux clés sont créées par une personne, souvent nommée par convention Alice, qui souhaite que lui soient envoyées des données confidentielles. Alice rend la clé publique accessible. Cette clé est utilisée par ses correspondants (Bob, etc.) pour chiffrer les données qui lui sont envoyées. La clé privée est quant à elle réservée à Alice, et lui permet de déchiffrer ces données. La clé privée peut aussi être utilisée par Alice pour signer une donnée qu’elle envoie, la clé publique permettant à n’importe lequel de ses correspondants de vérifier la signature.

Une condition indispensable est qu’il soit « calculatoirement impossible » de déchiffrer à l’aide de la seule clé publique, en particulier de reconstituer la clé privée à partir de la clé publique, c’est-à-dire que les moyens de calcul disponibles et les méthodes connues au moment de l’échange (et le temps que le secret doit être conservé) ne le permettent pas.

Le chiffrement RSA est souvent utilisé pour communiquer une clé de chiffrement symétrique, qui permet alors de poursuivre l’échange de façon confidentielle : Bob envoie à Alice une clé de chiffrement symétrique qui peut ensuite être utilisée par Alice et Bob pour échanger des données.

Ils utilisent les congruences sur les entiers et le petit théorème de Fermat, pour obtenir des fonctions à sens unique, avec brèche secrète (ou porte dérobée). Tous les calculs se font modulo un nombre entier n qui est le produit de deux nombres premiers.

Le petit théorème de Fermat joue un rôle important dans la conception du chiffrement. Les messages clairs et chiffrés sont des entiers inférieurs à l’entier n (tout message peut être codé par un entier). Les opérations de chiffrement et de déchiffrement consistent à élever le message à une certaine puissance modulo n (c’est l’opération d’exponentiation modulaire).

Algorithme RSA (9)(10)

La première implémentation a été développé par Rivest, Shamir et Adleman (RSA) sous la forme de l’algorithme RSA bien que les fondements de ce système datent de 1973, par Cocks. Cet algorithme vient intervenir plusieurs notions mathématiques comme l’exponentiel et d’autres que nous constaterons dans l’implémentation de ce dernier. Les étapes principales de l’Algorithme RSA se présentent comme suit :

Choisir deux nombres premiers différents 𝑝, 𝑞 / Calculer 𝑛 = 𝑝 ∗ 𝑞 / Calculer 𝜑(𝑛) / Choisir e, sachant que 𝑝𝑔𝑐𝑑(𝑒, 𝜑(𝑛)) = 1, telle que 𝑒 𝑝𝑟𝑒𝑚𝑖𝑒𝑟 𝑒𝑡 𝑒 > 𝑝, 𝑒 > 𝑞 / Calculer 𝑑, 𝑠𝑎𝑐ℎ𝑎𝑛𝑡 𝑞𝑢𝑒 𝑒 ∗ 𝑑 ≡ 1 𝑚𝑜𝑑 𝜑(𝑛) / Publier e et n ; et garder d privé (p, q, (𝑛) sont détruits).

Nous pouvons aussi décrire le processus de la manière que pour crypter un message avec RSA, le message est transformé en un ou plusieurs nombres. Les messages sont des nombres (la conversion de texte plain en nombres en utilisant le code ASCII). Une fois converti, le message M est prêt pour le chiffrement :

cryptage(M) = 𝑀𝑒 mod n

Pour déchiffrer le message chiffré C, on procède comme suit :

𝑑𝑒𝑐𝑟𝑦𝑝𝑡𝑎𝑔𝑒(𝐶) = 𝐶𝑑 𝑚𝑜𝑑 𝑛

Attaques cryptanalytiques classiques

Il existe plusieurs familles d’attaques cryptanalytiques, les plus connues étant :

L’analyse fréquentielle : L’analyse fréquentielle, découverte au IXe siècle par Al-Kindi, examine les répétitions des lettres du message chiffré afin de trouver la clé. Elle est inefficace contre les chiffrements modernes tels que DES, RSA. Elle est principalement utilisée contre les chiffrements mono-alphabétiques qui substituent chaque lettre par une autre et qui présentent un biais statistique.

L’indice de coïncidence : L’indice de coïncidence, inventé en 1920 par William F. Friedman, permet de calculer la probabilité de répétitions des lettres du message chiffré. Il est souvent couplé avec l’analyse fréquentielle. Cela permet de savoir le type de chiffrement d’un message (chiffrement mono-alphabétique ou poly-alphabétique) ainsi que la longueur probable de la clé.

L’attaque par mot probable : L’attaque par mot probable consiste à supposer l’existence d’un mot probable dans le message chiffré. Il est donc possible d’en déduire la clé du message si le mot choisi est correct. Ce type d’attaque a été mené contre la machine Enigma durant la Seconde Guerre mondiale.

L’attaque par dictionnaire : L’attaque par dictionnaire consiste à tester tous les mots d’une liste comme mot clé. Elle est souvent couplée à l’attaque par force brute.

L’attaque par force brute : L’attaque par force brute consiste à tester toutes les solutions possibles de mots de passe ou de clés. C’est le seul moyen de récupérer la clé dans les algorithmes les plus modernes et encore inviolés comme AES. Il est peu utilisé pour des mots de passe possédant un très grand nombre de caractères car le temps nécessaire devient alors trop important.

L’attaque par paradoxe des anniversaires : Le paradoxe des anniversaires est un résultat probabiliste qui est utilisé dans les attaques contre les fonctions de hachage. Ce paradoxe permet de donner une borne supérieure de résistance aux collisions d’une telle fonction.

Cette limite est de l’ordre de la racine de la taille de la sortie, ce qui signifie que, pour un algorithme comme MD5 (empreinte sur 128 bits), trouver une collision quelconque avec 50 % de chance nécessite 264 hachages d’entrées distinctes.

Rechercher
Télécharger ce mémoire en ligne PDF (gratuit)
Scroll to Top