Contacter l'auteur / Contact the author

Recherche dans ce site / Search in this site

 

Prévention du piratage informatique

Document Govtech.

Le cryptage des messages (IV)

Même si en théorie il est aujourd'hui impossible pour un pirate informatique de craquer les algorithmes de dernière génération, certains systèmes de cryptage (de chiffrement) comme DES ou les signatures digitales sont vulnérables à certaines attaques. Il n'est donc pas inutile de s'attarder quelques instants sur la cryptographie.

Lorsque vous échangez des informations par Internet, en principe personne ne prend de mesure de protection particulière. Chacun présume que son correspondant est digne de confiance et que les données transmises n'ont pas été altérées.

Mais avec toutes les menaces que nous avons évoquées planant sur les communications informatiques, qui vous dit qu'en réalité la personne avec laquelle vous échangez des informations est bien la personne de confiance qu'elle prétend être ? Et qui vous garantit que le message ou le document qu'elle vous a envoyé n'a pas été modifié pendant sa transmission ? Quelles preuves en avez-vous ? Aucune, car tout ce que vous possédez sont des données non authentiques et dont l'intégrité n'est pas garantie.

A défaut de pouvoir établir ces preuves, nous allons décrire les manières de s'assurer de l'identité des partenaires et de l'intégrité des messages. C'est le domaine du cryptage cher aux services secrets. Très complexe dans ses détails, nous nous limiterons à la description des principaux systèmes.

Le but du cryptage est de convertir un message clair en une forme codée, dite chiffrée, qui ne pourra être compréhensible sans être convertie par un processus inverse de décryptage. Cette conversion s'effectue au moyen d'algorithmes, de fonctions mathématiques et d'un mot de passe de cryptage/décryptage appelée la clé. Généralement, des lois nationales interdisent de crypter les messages, une façon pour les gouvernements de garder le contrôle et de pouvoir espionner leurs concitoyens à moindre coût.

Pourquoi utiliser les techniques de cryptage ? Le cryptage vise plusieurs buts :

- Protéger les données transitant sur des réseaux publics contre une interception ou une lecture non autorisée

- Détecter ou prévenir toute manipulation ou altération des données

- S'assurer de l'authentification de la transaction ou du document.

Parmi les limitations du système, le cryptage ne peut pas empêcher la perte ou la modification des données ni de compromettre les programmes de cryptage si la clé n'est pas suffisamment protégée. En conséquence, le cryptage consiste en une forme essentielle de contrôle d'accès mais elle est incomplète et doit de ce fait être complétée ou incorporée dans une stratégie globale de sécurité informatique.

A lire : La communication quantique

dans l'article sur l'ordinateur quantique

Système de cryptage binaire

Entrez quelques mots dans la fenêtre du haut puis cliquez sur Crypter pour obtenir le résultat codé dans la fenêtre du bas.
Pour décrypter le message, entrez le texte crypté dans la fenêtre du bas (ou laissez-le crypté tel quel mais effacez le contenu de la fenêtre du haut) et cliquez ensuite sur Décrypter.

Message décrypté:

Crypter

Message crypté:

Décrypter

Cet algorithme mis au point par Matthew Tong en 2002 est pratiquement impossible à craquer. La publication de cette routine sur Internet pose dès lors un problème de sécurité aux services de renseignements que nous saluons au passage. En effet, cet outil permet à chacun d'envoyer des messages cryptés dont le double cryptage binaire empêche son déchiffrement à quiconque ne dispose pas de la clé de décryptage. Celle-ci est toutefois rendue publique en la circonstance, ce qui devrait rassurer nos gouvernements. Jusqu'à preuve du contraire, en démocratie chacun a le droit de protéger le contenu de ses communications privées s'il souhaite restreindre sa diffusion ou asurer sa confidentialité, quand bien même le message transiterait par un réseau public tel qu'Internet.

Les composantes d'un système de cryptage

Tout système de cryptage se compose de 3 éléments :

- Un algorithme de cryptage : une fonction ou un calcul mathématique permettant de crypter/décrypter les données

- Une clé de cryptage : une information utilisée par l'algorithme de cryptage rendant le processus de cryptage/décryptage unique. Similaire au mot de passe, l'utilisateur doit disposer de la bonne clé pour accéder ou déchiffrer le message. L'utilisation d'une mauvaise clé permettra de déchiffrer le message mais il sera incompréhensible.

- La longueur de la clé : définie en bits, elle détermine la difficulté avec laquelle on pourrait briser le code en essayant tous les combinaisons possibles.

L'efficacité d'un système de cryptage dépend de plusieurs critères :

- la complexité (la "force") de l'algorithme

- le secret et la difficulté de compromettre la clé

- l'absence de portes dérobées (backdoors) permettant de crypter/décrypter un fichier sans connaître la clé

- l'incapacité à déchiffrer la totalité du message si une partie de celui-ci est décryptée 

- les propriétés du message connues du pirate.

Les systèmes de cryptage garantissent quatre propriétés des messages :

- La confidentialité : le secret de l'information

- L'intégrité : le fait que le message n'a pas été modifié pendant la transmission

- L'authentification : la vérification de l'identité de l'émetteur ou du destinataire

- La non-répudiation : prouver que l'émetteur ou le destinataire est bien la personne qu'il prétend être.

Ces quatre attributs sont rassemblés sous le nom d'Infrastructure à Clé Publique ou PKI en anglais.

Notre cadre étant défini, voyons à présent les deux systèmes de cryptage : 

- Le cryptage symétrique (à clé privée)

- Le cryptage asymétrique (à clé publique).

Le cryptage à clé privée

Les systèmes de cryptographie à clé privée sont basés sur un algorithme de chiffrement symétrique : l'utilisateur utilise une clé secrète (privée) pour crypter le message et utilise la même clé pour le décrypter. On dit que la clé est symétrique car la clé de cryptage est la même que la clé de décryptage.

Le système de cryptage à clé privée le plus commun est le Data Encryption Standard ou DES mis au point en 1993 par le Département du Commerce américain.

DES est basé sur un algorithme public qui convertit un message en blocs (groupes ou chaînes) de 64 bits : une clé de 56 bits est utilisée pour crypter et décrypter le message tandis que 8 bits supplémentaires sont utilisés pour vérifier la parité. Cette clé de 56 bits permet de créer 256 clés différentes, soit plus de 72 millions de milliards de combinaisons. 

Avec autant de possibilités, trouver la bonne combinaison semble a priori impossible mais un ordinateur suffisamment puissant peut facilement la trouver en un temps raisonnable en appliquant la force brutale, c'est-à-dire en essayant toutes les combinaisons possibles.

Ce type de clé privée pouvant être compromis à moindre frais, le système DES a été remplacé par RC2 puis RC5 et pour finir par RC6 en 1996. Il fut soumis au NIST pour devenir en 2000 le nouvel algorithme à clé privé AES (Advanced Encryption Standard) dont la clé est basée sur l'algorithme Rijndael créé par deux cryptographes belges. AES supporte des clés de 128, 192 et 256 bits.

Selon une étude publiée par Microsoft en 2011, en théorie l'encryption AES sur 128 ou 256 bits pourrait être crackée. Mais rassurez-vous, comme le précisent les auteurs, "la méthode, reste très complexe et difficilement réalisable en utilisant les technologies actuelles. Avec mille milliards de machines, chacune pouvant tester un milliard de clés par seconde, cela prendrait plus de deux milliards d'années pour récupérer une clé AES 128 bits". Ouf, nous voilà à l'abri des pirates !

La technologie Wi-Fi cryptée

A l'ère des systèmes mobiles, il est intéressant de rappeler qu'à l'origine, vers 1999, la sécurité des télécommunications Wi-Fi sur les ordinateurs portables était assurée par le protocole WEP (Wired Equivalent Privacy) puis par WPA (Wi-Fi Protected Access). Mais l'algorithme de chiffrement RC4 n'était pas assez robuste. En effet, la clé de 64 bits était composée d'une clé de chiffrement de 40 bits et d'un vecteur d'initialisation de 24 bits pouvant être cracké avec des programmes ducommerce.

Sécurisation (authentification WPA2 et chiffrement AES) d'une connexion Wi-Fi sous Windows 7.

On inventa des clés de 128 et 256 bits mais elles restaient vulnérables à une attaque par la force brutale à cause des faiblesses de l'algorithme RC4. Ainsi, en 2005, le FBI a cracké la clé de 128 bits du protocole WEP en 3 minutes.

Conscient de cette vulnérabilité, la Wi-Fi Alliance a amélioré le protocole WPA et le remplaça à partir de 2004 par WPA2-PSK combinée au chiffrement AES sur 128, 192 et 256 bits qui fut certifiée en 2003 et standardisée dans la norme IEEE 802.11i en 2004. Grâce à cette technologie, cette fois la clé de chiffrement est pratiquement inviolable.

Point de vue pratique, la norme Wi-Fi et la technologie WPA2 AES n'ayant été normalisés que récemment, seuls les ordinateurs utilisant un système d'exploitation conçu à partir de 2005 (Windows XP, Mac OS 8.6, l'iOS 6 et les versions plus récentes, les drivers WPA2 de Linux Ubuntu et de PC-BSD ainsi que certains appareils mobiles) supportent la technologie d'authentification WPA2 et le chiffrement AES. Voir également l'article en anglais sur la configuration WPA-PSK sous Windows.

Les systèmes plus anciens présentent donc des vulnérabilités qu'un pirate équipé des bons logiciels peut rapidement exploiter.

En complément du chiffrement, sur le routeur Wi-Fi, et ce d'autant plus s'il est connecté à un serveur public sans autre sécurité (DMZ), il est important d'activer certaines options préventives comme celle cachant votre routeur (SSID=1), de désactiver les accès LAN/WAN sur le canal de la téléphonie, de désactiver les mises à jour automatiques (c'est un choix), de restreindre les connexions aux seuls périphériques que vous utilisez et dont la MAC adresse est connue et d'empêcher les accès anonymes (invité ou "guest") comme on le voit ci-dessous.

De nos jours, la technologie WPA2 AES est en principe activée sur tous les ordinateurs et smartphones connectés par Wi-Fi et vous met à l'abri de tout piratage sur la ligne reliant votre système au routeur Wi-Fi ou au hot spot, mais pas entre le routeur et votre opérateur ni vers Internet où le trafic passe par l'infrastructure publique, non sécurisée.

Pour protéger ce segment de toute intrusion venant d'Internet ou de la ligne vous reliant à votre fournisseur d'accès, il est prudent d'installer en complément un firewall (pare-feu) software, souvent inclus dans votre OS, ainsi qu'un logiciel anti-virus et anti-phishing sur votre système.

A l'avenir, toutes les applications et les protocoles devraient supporter l'encryption AES pour l'échange sécurisé d'information. L'utilitaire BitZipper par exemple supporte l'encryption AES.

Connectez-vous à distance à votre routeur Wi-Fi : Fritz!box - Cisco/Linksys - Netgear/TP-Link

Uniquement accessible via Internet et en ayant un compte sur un serveur NAS

Trois parmi les nombreux écrans de configuration d'un routeur Wi-Fi Fritz!Box 7390 dont voici le manuel en français. Ces paramètres (remplacés par des valeurs fictives pour l'exemple) permettent d'augmenter la sécurité de l'authentification et des accès Wi-Fi. A gauche, la configuration du cryptage WPA2, au centre la suppression (non activation) du nom du routeur (SSID) et la restriction des périphériques Wi-Fi aux seuls connus, et à droite l'inactivation de la possibilité d'avoir des utilisateurs invités (guest).

L'avantage du cryptage à clé privée est que l'utilisateur ne doit disposer que d'une seule clé pour le cryptage et le décryptage. Le système à clé privée est également moins compliqué et requiert donc moins de traitements, moins de ressources CPU qu'un système asymétrique. Il est donc adapté au cryptage de quantités importantes de données.

Désavantages, il est difficile d'échanger des clés privées par Internet et plus encore avec toute une communauté, notamment dans le e-commerce où les clients sont inconnus ou dont vous ignorez le degré de confiance. Pire, la clé symétrique ne peut pas être utilisée pour signer électroniquement un document ou un message car ce mécanisme est basé sur le partage d'un secret. On y reviendra.

Le cryptage à clé publique

Pour résoudre ces deux problèmes, les mathématiciens ont inventé des systèmes de cryptographie à clé publique basés sur un algorithme de cryptage asymétrique. Cette solution permet au propriétaire (par exemple à l'entreprise) de disposer d'une clé privée et de distribuer autant de clés publiques qu'il y a de clients tout en échangeant des informations de manière sécurisée. Arrêtons-nous un instant sur ce système car il a le mérite d'être pratiquement inviolable.

Les deux clés fonctionnent ensemble comme une paire. Une clé est utilisée pour crypter les données, l'autre clé est utilisée pour les décrypter. L'une ou l'autre clé peut servir à crypter ou décrypter les données, mais une fois que la première clé est choisie pour crypter les données, seule la seconde clé peut être utilisée pour les décrypter.

Le cryptage asymétrique offre un grand confort aux personnes achetant sur Internet. En effet, la clé privée appartenant au web marchand et la clé publique étant distribuée aux clients, ces derniers peuvent en toute confiance s'assurer de l'identité (l'authentification) du web marchand et ce manière pratiquement transparente (il faut parfois valider un certificat, voir plus bas).

Concrètement, le web marchand dispose de la clé privée avec laquelle il va crypter son message. Le client va le décrypter en utilisant la clé publique. Inversement, le client lui répondra en cryptant son message avec la clé publique et le web marchand va le décrypter avec la clé privée.

Les clés sont asymétriques car elles sont en relation inverse l'une par rapport à l'autre. L'algorithme de cryptage est basé sur la factorisation d'un nombre entier, l'idée étant de générer un produit à partir de deux nombres premiers, sachant qu'il est pratiquement impossible de factoriser le nombre résultant pour retrouver les deux facteurs.

On en conclut que s'il est relativement aisé d'effectuer le calcul dans une direction, il devient très difficile voire pratiquement impossible de le réaliser dans l'autre direction. Ce genre de cryptage est donc très fiable et sa simplicité n'est qu'apparente. Car les calculs prennent en considération l'arithmétique modulaire, les exposants et des nombre premiers de milliers de bits de longueurs !

A choisir entre un système à clé symétrique ou asymétrique, il faut savoir que le temps de cryptage augmente de façon disproportionnée en fonction de la complexité de la clé. Ainsi, en passant d'une clé de cryptage asymétrique de 512 bits à 1024 bits, le temps de décryptage devient 6 fois plus long.

De part la lenteur du traitement, les clés asymétriques sont généralement utilisées pour crypter des messages courts comme le cryptage des clés symétriques DES ou pour créer des signatures digitales. C'est pourquoi elles sont souvent utilisées pour crypter les résumés ou "digest" des messages ou les signatures (voir plus bas).

La forme la plus connue de cryptage asymétrique est RSA, un système de cryptage à clé publique inventé en 1977 par Rivest, Shamir et Adleman. En pratique, à partir de la clé publique il est extrêmement improbable de retrouver la clé privée en raison du problème posé par la factorisation.

Toutefois, parmi les nombreux algorithmes de factorisation existants, l'algorithme NFS (Number Field Sieve) permet de factoriser des grands nombres à l'instar du fameux "Crible d'Ératosthène". Les pirates s'en servent donc également pour attaquer les systèmes de cryptage RSA. Il y a même des compétitions de factorisation de nombres RSA.

Parmi les autres systèmes de cryptage asymétriques, citons le cryptage par courbe elliptique (ECC) développé à partir de 1985 par Neal Koblitz et Victor Miller. De quoi s'agit-il ?

Les courbes elliptiques sont des objets mathématiques utilisés pour effectuer des opérations asymétriques comme des échanges de clés sur un canal non sécurisé ou le cryptage asymétrique. Une courbe elliptique peut être définie suivant l'équation suivante : y2 = x3 + ax + b.

Les algorithmes ECC sont basés sur la difficulté de trouver un logarithme discret dans un champ fini; il est en effet plus difficile de calculer un logarithme discret sur une courbe elliptique que de factoriser le produit de grands nombres.

ECC est adapté aux environnements mobiles et Wi-Fi. Si les anciennes versions étaient limitées par la bande passante et la puissance du processeur (surtout sur les terminaux mobiles), aujourd'hui ce système est plus performant et offre plus de sécurité par bit. Ainsi, un système ECC disposant d'une petite clé de 160 bits offre la même sécurité qu'un système basé sur la factorisation comme RSA et exploitant une clé de 1024 bits.

Pour mémoire, citons le système cryptographique PGP (Pretty Good Privacy) inventé en 1991 par Philip Zimmermann. PGP est une solution hybride exploitant un cryptage symétrique (donc très rapide) et un système asymétrique (beaucoup plus lent) ainsi qu'une clé privée temporaire à usage unique. Inconvénent, ce système génère un message codé au moins deux fois plus volumineux que le message en clair.

Enfin, le cryptage quantique tente de résoudre les problèmes des systèmes de cryptage actuels. Toujours à l'état de prototype chez British Telecom et IBM notamment, nous y reviendrons dans l'article consacré à l'ordinateur quantique à propos de la communication quantique.

Document IBM.

Document IBM.

Document IBM.

 Disons seulement que l'information peut être encodée dans l’état de polarisation des photons, rendant son piratage illusoire. Le jour où ce système sera commercialisé, les pirates devront trouver d'autres manières de passer le temps !

La signature digitale

La signature digitale est un identification électronique d'une personne ou d'une entité créée au moyen d'un algorithme à clé publique qui permet au destinataire de s'assurer de l'intégrité des données et de l'identité de l'expéditeur.

Sans entrer dans les détails, pour garantir l'intégrité des données, le système va procéder en trois étapes.

1re étape

D'abord un algorithme de hachage (dit fonction de hachage ou "hashing" telle que SHA-1, MD5, etc.) calculé pour l'ensemble du message ou des données va générer une petite chaîne de caractères d'une taille fixe, généralement égale à 128 bits.

Ce processus qui représente la signature digitale va générer un résumé du message ou "digest". Similaire à un "checksum", il représente en quelque sorte "l'empreinte digitale" du message et est utilisé pour détecter toute altération du message. 

Ces algorithmes de hachage sont à sens unique, c'est-à-dire qu'à l'inverse des algorithmes de cryptage à clé privée ou publique, à partir du résumé, on ne peut pas reconstruire le message.

Cette technique est utilisée lorsqu'on doit traiter de gros documents électroniques comme des fichiers de traitement de texte, des tableurs, des enregistrements de bases de données, le contenu d'un disque dur ou une image et qu'ils doivent être compressés de manière sécurisée avant d'être signés avec la clé privée.

Notons que les systèmes MD4 et MD5 ont été optimisés pour les processeurs 32 bits.

2e étape

La deuxième étape consiste à vérifier l'identité de l'expéditeur. Celui-ci va crypter le résumé (digest) de son message au moyen de sa clé privée, laquelle "signe" le document avec la signature digitale prouvant l'authentification de l'expéditeur.

Le système va ensuite transmettre ensemble le message en clair et sa signature au destinataire.

Schéma  du processus de création d'une signature digitale par l'émetteur d'un message :

3e étape

A la réception, le destinataire va ouvrir le message. Le système va tout d'abord utiliser la clé publique de l'expéditeur pour déchiffrer sa signature digitale. S'il réussit, cela prouve que le message a bien été émis par l'expéditeur concerné. Ce processus qui authentifie l'expéditeur s'appelle la non-répudiation car l'expéditeur ne peut pas prétendre par la suite ne pas avoir généré le message.

Enfin, le destinataire va recalculer le "hash" sur l'entièreté du message en utilisant le même algorithme que l'expéditeur (la fonction de hachage) et comparer les deux résumés. Si le "hash" calculé est identique à celui déchiffré à partir de la signature digitale, l'intégrité du message est assurée; celui-ci n'a pas été altéré ou modifié au cours de la transmission. Si le message a été modifié au cours de la transmission, la signature digitale ne pourra pas être vérifiée avec succès, le résumé sera altéré et le message considéré comme corrompu et dans certains cas, il sera même illisible.

Si une fonction de hachage sécurisée est utilisée, un pirate ne pourra pas récupérer la signature du document pour la joindre à un autre document ou altérer le message signé. En effet, la moindre modification apportée à ce document signé électroniquement entraînera l'échec du processus de vérification de la signature digitale.

Schéma du processus de vérification de la signature digitale par le destinataire du message :

Documents inspirés de Youdzone.

En résumé, la signature électronique est une méthode de cryptage qui assure trois fonctions :

- L'authentification

- L'intégrité des données

- La non-répudiation.

Les signatures digitales comme les clés publiques de cryptage sont vulnérables aux attaques dites "man-in-the-middle" qui visent à intercepter les communications entre deux systèmes du fait qu'il est possible de simuler la clé privée et publique d'une signature digitale et ainsi tromper l'expéditeur et le destinataire. Pour se protéger contre de telles attaques, il faut désigner une autorité d'authentification. Cette fonction indépendante est assurée par le PKI en ce sens qu'il valide les signatures digitales de l'émetteur et les clés publiques (voir plus bas).

L'Infrastructure à Clé Publique ou PKI

Etant donné que la transmission électronique de documents cryptés fait l'objet de tentatives de piratage, pour assurer la confidentialité, l'authentification, l'intégrité et la non-répudiation des messages, un cadre de travail et une instance de contrôle ont dut être définis afin d'éviter les problèmes d'interception et de modification des clés publiques. Il s'agit de l'Infrastructure à Clé Publique ou PKI, alias Public Key Infrastructure.

Le PKI est un partenaire de confiance dont le rôle est d'émettre, de maintenir et de supprimer (révoquer) les certificats des clés publiques. Le PKI permet aux utilisateurs d'interagir entre eux et avec des applications, d'obtenir et de vérifier les identités et les clés de sources de confiance. L'installation d'un PKI varie en fonction des besoins mais comprend au minimum :

- Des certificats digitaux

- Une autorité de certification (CA)

- Une autorité d'enregistrement (RA).

Les certificats digitaux

Il s'agit d'une pièce justificatrice digitale constituée d'une clé publique et une donnée identifiant son propriétaire. Le but du certificat digital est d'associer la clé publique à l'identité d'un individu ou d'une société. Fourni sous forme électronique (de fichier à extension .cer), ils sont signés digitalement par une société de confiance avec leur clé privée (voir plus bas).

Le certificat digital s'utilise pour prouver l'authentification de l'expéditeur. Lorsqu'une personne veut signer un document pour l'authentifier ou que le système l'exigence de manière transparente, celui-ci attache un certificat digital émis par la société de confiance. Le destinataire du message (ou le système gérant la base de données) et le certificat digital attachés vont se baser sur la clé publique (qui est soit comprise dans le certificat digital soit obtenue séparément) de l'autorité de confiance du certificat pour authentifier le message.

Le certificat digital d'un utilisateur devrait toujours inclure le nom de la personne, une clé publique valide, l'algorithme utilisé pour calculer la signature électronique du certificat et la période de validité du certificat.

L'autorité de certification (CA)

Il s'agit d'une autorité qui émet et gère les pièces justificatrices de sécurité et les paires de clés publiques/privées afin que les utiliseurs puissent s'assurer de l'authenfication de la signature des messages et du cryptage.

Le CA atteste l'authentification du propriétaire, utilisateur ou entité, d'une paire de clé publique/privée. Il va émettre ou non un certificat digital sur base de preuves ou de connaissance obtenues après avoir vérifié l'identité du demandeur.

En collaboration avec l'autorité d'enregistrement (RA), le CA va vérifier les informations fournies par le demandeur du certificat digital. Si le RA a vérifié et validé les informations du demandeur alors seulement le CA pourra émettre un certificat. Le CA signe le certificat avec sa clé privée et la distribue à l'utilisateur. A la réception, celui-ci vérifiera la signature du certificat au moyen de la clé publique émise par le CA.

Généralement le CA est une société commerciale de confiance telle que Verisign, Certco, Cybertrust, etc. Elle émet les certificats destinés aux browser web (Internet Explorer, etc) , aux applications client-serveur, aux messageries électroniques, etc.

En plus de son activité de certification, le CA est également responsable de la gestion du cycle de vie du certificat digital. Il tient à jour la liste des certificats révoqués (CRL) et émet la déclaration de pratique de certification (CPS). Le CPS décrit les règles gouvernant les opérations de l'autorité de certification en termes de contrôles et de méthodes qu'elle utilise pour valider l'authenticité des demandeurs de certificats ainsi que la manière dont ses certificats devrait être utilisés.

L'autorité d'enregistrement (RA)

Dans une petite entreprise ou à titre privé, le CA vérifie et enregistre les demandes de certificats digitaux des utilisateurs. Mais au sein d'une grande entreprise travaillant en réseau et employant des milliers de salariés, le CA peut déléguer cette fonction administrative à l'autorité d'enregistrement ou RA.

Le RA assure la fonction d'établir le lien entre l'individu ou l'entité et la clé publique. Il vérifie les informations fournies par le demandeur, son droit à demander les attributs du certificat et le fait qu'il possède une clé privée enregistrée et qu'elle correspond à la clé publique demandée avec le certificat, ce qu'on appelle la preuve de possession (POP).

En complément, le RA tient la liste à jour des clés compromises ou révoquées, il assigne les noms, génère les codes secrets paratgés nécessaires durant la phase initiale d'enregistrement, il initialise avec le CA le processus d'enregistrement au nom du demandeur, il assure également la restauration des clés et distribue les cartes physiques (smart cards) contenant les clés privées.

A gauche, l'autorité de certification (CA), dans ce cas ci la société VeriSign, demande à l'utilisateur s'il veut bien faire confiance (to trust) en l'authentification du certificat associé à un applet Java développé par la société Documentum qui permet de gérer des documents électroniques (fax). A droite, détails d'un certificat délivré par VeriSign sous Windows 10.

Application des systèmes de cryptage

La plupart des systèmes cryptés transitant sur Internet ou sur un réseau d'entreprise utilisent une combinaison de paires de clés privées/publiques, de clés secrètes, de fonctions de hachage et de certificats digitaux.

Ainsi que nous l'avons expliqué, le but des systèmes de cryptage est de garantir la confidentialité, l'intégrité du message et la non-répudiation soit de l'émetteur soit du destinataire. A titre privé par exemple, la meilleure façon d'éviter que l'on accède à des données confidentielles qui seraient sauvegardées sur votre ordinateur est de crypter votre disque dur avec votre propre clé publique. Ainsi on ne pourra accéder à l'information qu'en utilisant votre clé privée qui ne doit jamais être partagée.

La cryptographie s'applique également au cryptage des protocoles, c'est-à-dire aux règles par lesquelle un réseau opère et contrôle le flux ainsi que les priorités des transmissions. Les principaux protocoles sécurisés sont les suivants :

Ainsi, sans vous en rendre compte, si vous effectuez des paiments ou transmettez des données confidentielles par Internet, il y a de fortes chances que votre application utilise un protocole sécurisé, symbolisé par le petit cadenas qui figure en bas à droite de votre browser Internet, notamment lors des opérations de e-banking et e-commerce. Dans ce cadre, SSL est certainement l'un des protocoles sécurisés les plus utilisés.

Les paiments par Internet ainsi que l'authentification sur certains sites dont l'accès est réservé passent généralement par le protocole SSL sécurisé (clé de 128 bits), généralement symbolisé dans le browser Internet par le cadenas. Le certificat validé (en vert) confirme que le site est de confiance.

- SSL et TLS : le "Secure Socket Layer" (SSL) et le "Transport Layer Security" (TLS) sont des protocoles qui sécurisent les communications par Internet entre browser et server web. S'ajoute à ceux-ci le "Wireless Transport Layer Security" (WTLS) dédié aux applications WAP (Wireless Application Protocol) supportées par les appareils mobiles. Bien qu'il y ait peu de différence entre SSL et TLS/WTLS, ils ne sont pas interchangeables.

SSL et TLS/WTLS opèrent au niveau de la couche de connexion ou session de l'utilisateur. Cette technique utilise une clé publique, un échange crypté de clé et un certificat digital.

SSL offre une protection contre les tentatives de lecture et notamment contre les sniffers, des appareils portables capables d'analyser en détail les paquets transitant sur un réseau, y compris sur Internet. SSL est utilisé dans des fonctions garantissant la confidentialité des informations telles que :

- Le cryptage à clé privée : RC2, RC5, IDEA, DES, Triple DES, AES

- Le cryptage à clé publique : RSA, Fortezza, etc

- La fonction de hachage (hashing) à sens unique : MD5, SHA-1, SHA-256.

Dans le modèle OSI, SSL tourne entre la couche de transport TCP qui fait partie de l'ensemble TCP/IP, et les protocoles applicatifs tels que HTTP (Internet), SMTP (e-mail) et NNTP (transfert réseau). SSL offre donc une protection à tous les protocoles utilisant TCP et en particulier pour le protocole bien connu S/HTTP utilisé pour toutes les transactions de paiment effectuées par Internet (e-banking, e-commerce, etc).

Concernant les applications WAP, ce protocole pour terminaux mobiles requiert un gateway WAP afin de permettre l'échange de messages entre topologies différentes. Seul inconvénient, les messages éventuellement cryptés envoyés par les utilisateurs doivent être décryptés pour être transmis sur Internet et vice versa. Pour éviter tout risque de piratage, ce gateway WAP doit utiliser les technologies WTLS et SSL, WTLS garantissant l'authentification, la confidentialité, l'intégrité et empêchant toute écoute indiscrète des transmissions.

Il demeure toutefois que le protocole SSL est vulnérable aux attaques "Man in the middle". En effet, un pirate peut utiliser un serveur SSL factice afin qu'il accepte les messages sous protocole SSL et ensuite dérouter le véritable serveur SSL pour intercepter les informations sensibles.

- S/HTTP : le "Secure Hypertext Transfer Protocol" opère au niveau applicatif et permet d'échanger des messages, des documents ou des pages web de manière sécurisée entre un utilisateur relié à Internet et un serveur web connecté sous le protocole SSL. HTTPS utilise des certificats à clé publique pour vérifier l'identité des émetteurs et des destinataires. Ce processus est transparent pour l'utilisateur.

Son activation se matéralise dans le browser web par le remplaçant de l'adresse Internet (URL) traditionnelle commençant par "http://" par sa version sécurisée "https://" qui redirige le message vers un port sécurisé plutôt que vers l'adresse du port web 80: définie par défaut.

- S/MIME : le "Secure Multipurpose Internet Mail Extensions" est le protocole sécurisé standard du courrier électronique (e-mail). Il authentifie l'identité de l'expéditeur et du destinataire, vérifie l'intégrité du message et garantit le secret (privacité) du contenu du message, y compris des pièces jointes (attachments).

- SSH : le "Secure Shell" assure la sécurité des services client-server, Telnet et FTP. Ainsi, dans un contexte client-server où l'utilisateur se connecte à distance à l'application de son entreprise, SSH ouvre une session shell (en ligne de commande) sécurisée et cryptée.

Semblable à un réseau virtuel privé (VPN), SSH encrypte les données y compris les mots de passes, les fichiers binaires et les commandes d'administration transmises entre les systèmes sur le réseau ou par Internet. A  l'inverse d'IPsec qui opère au niveau de la couche réseau, SSH est implémenté dans les couches supérieures, au niveau de la couche application.

- IPSec : ce protocole est utilisé pour les communications entre deux ou plusieurs systèmes qu'il s'agisse d'ordinateurs ou de segments de réseaux (subnets). Cette couche réseau sécurisée opère au niveau IP établissant des VPN et transmettant les paquets de données dans une charge encapsulée (EPS) cryptée ou, comme dans le mode tunnel, cryptant la charge ainsi que son entête, afin d'assurer la confidentalité.

On peut encore renforcer la sécurité d'IPSec en utilisant un cryptage asymétrique au travers du protocole ISAKMP/Oakley.

- SET : le "Secure Electronic Transactions" est un protocole développé conjointement par VISA et Master Card pour sécuriser les transactions de paiment entre parties exploitant les cartes de crédits au nom des propriétaires et des web marchands. Comme toute technologie dont les spécifications sont ouvertes, publiques, SET est un protocole orienté application qui utilise des processus de cryptage et de signatures digitales de tiers de confiance dans le cadre du PKI.

Risques associés au cryptage

Les systèmes de cryptographie restent vulnérables dès le moment où les méthodes de cryptage sont principalement fondées sur le secret. En général, plus une clé est utilisée, plus elle devient vulnérable et risque d'être compromise. Ainsi, aujourd'hui en utilisant la force brutale, un mot de passe constitué d'une clé de 40 bits (comparable à une chaîne de 10 caractères) peut-être craqué en quelques heures. Il faut donc installer une protection beaucoup plus efficace pour dissuader les pirates.

Clé signifie mot de passe. Le fait de se fier à des fonctions aléatoires ne garantit pas de créer un mot de passe fort car le système peut très bien par hasard générer une suite continue de chiffres ou des mots communs, surtout quand la longueur du mot de passe ne dépasse pas 10 caractères.

Dès lors, même un algorithme de cryptage de 128 bits peut offrir une bien maigre protection lorsque les clés de cryptage sont basées sur des mots de passes et que ces derniers manquent de robustesse (trop simples). C'est pourquoi il est important que la syntaxe des mots de passes respecte des règles strictes et que les codes faciles à retenir soient interdits.

Ainsi qu'on le constate, sans la participation et la bonne volonté des utilisateurs, la meilleure protection informatique ne sert à rien. Ayez-en conscience et rappelez-vous des bonnes pratiques lorsqu'en votre absence vous laisserez votre ordinateur entre les mains d'un inconnu ou d'une personne qui n'a pas toute votre confiance.

En guise de conclusion

Comme tout programmeur, un pirate est paresseux. Il serait idiot de réinventer la roue en cherchant des failles dans la sécurité du système ciblé, qui n'existent peut-être pas. Le pirate a intérêt à profiter des vulnérabilités existantes sur le site convoité, comme par exemple dans les systèmes CGI, HTTP et autre RSA.

Ces failles sont connues de tout bon programmeur pirate, documentées sur les forums, et parfois même signalées par les médias, comme ce fut le cas avec les vulnérabilités découvertes dans les premiers iPhone d'Apple. Certaines vulnérabilités sont résolues (HTTPS, IPSec, WPA2 AES, signature digitale, etc) mais tout le monde ne les applique pas, souvent par méconnaissance.

Bref, un bon pirate connaît les failles du système qu'il convoite, il a parfois même ses entrées dans cette société ou profite de la naïveté d'un contact. Malin et compétent, il aura toujours une longueur d'avance sur les responsables de la sécurité informatique.

Quant au lecteur non initié, renseignez-vous sur les protections installées sur votre ordinateur, votre tablette ou votre smartphone (avez-vous déjà installé un anti-virus par exemple ?) ou consultez un expert technique auprès de votre fournisseur d'accès à Internet et protégez vos biens contre tout risque d'intrusion. Sans vous alarmer, rappellons que les risques ne sont pas nuls et tous les jours dans chaque pays des dizaines de sociétés et des amateurs se font pirater.

Un homme averti en vaut deux.

Pour plus d'informations

Ainsi que nous l'avons évoqué, la cybercriminalité revête de très nombreuses formes, tellement nombreuses qu'il y a matière à écrire des livres sur le sujet, des entreprises de conseil et d'audit se sont spécialisées dans la sécurité informatique (Bull, Deloitte, Info-Bel, Sysdream, Unisys, etc) et des sites webs leur sont dédiés, dont quelques uns sont listés ci-dessous.

Si vous êtes titulaire d'une certification en gestion de risques (ISO 27005, CRISC, CISM, MoR, Risques Opérationnels, etc), en sécurité des systèmes d'information (ISO 27002, CISSP, etc) ou d'auditeur des systèmes d'information (CISA) parmi d'autres, vous n'ignorez pas ces risques et les manières de les réduire, de les supprimer ou de vous en protéger.

Le lecteur qui s'intéresse à la sécurité des systèmes d'informations peut consulter la norme ISO 27001 sur la sécurité des SI, ISO 27002 sur les bonnes pratiques, ISO 31000 et ISO 27005 sur la gestion des risques ainsi que les "White Papers" publiés par les experts de Gartner Group et les articles des "Big Four" (Deloitte & Touche, KPMG, Ernst & Young et PwC).

En complément, les forums dédiés aux systèmes d'exploitations, aux systèmes de sécurité IT et aux développements vous apporteront des informations sur les vulnérabilités de ces systèmes et la manière de les corriger.

En français

Spam Squad.be (site de lutte contre le spam)

Portail de la Sécurité de l'Information, gouv.lu

Administration de la sécurité informatique, gouv.fr

AuthSecu (la sécurité réseau en entreprise)

Sensibilisation aux risques en informatique, cases.lu

Attaques possibles des réseaux sans fil, cases.lu

Procédures de login pour les sessions d'eBanking (code TAN)

Centre de Sécurité TechNet, Microsoft

Secure computing, des livres blancs publiés par "Le Monde Informatique"

Comparatifs des VPN de Tom's Hardware et vpnMentor

CERT-IST

Data Security Breach

Combattre les Hackers Pour les Nuls ("Hacking for dummies"), Kevin Beaver

En anglais

CERT, CERT.lu

FERMA.eu

IT Governance UK (GRC, etc.)

Security How to, SmallNetBuilder

MS-ISAC Cyber Security Advisories

Atlas Arbor

Risk Mash Networks (Risk Television)

Baselines de sécurité, CERN

Magazines

Hackable Magazine

PC Pirate

Pirate Informatique

Webzines

Zataz

Hack & Crack

The Hacker News

Solutions logicielles

Baseline Security Analyzer (Tutoriel)

BackTrack

Cytegic Cyber Maturity Assessment (CyMA)

IBM  Security QRadar Risk Manager

Microsoft Baseline Security Analyzer

Top Risk Management Software Products 2014

BWise, Ebios, IBM OpenPages GRC, Méhari, Oxial BlueRisk, SAS Enterprise Risk Management (US)

Le modèle OSI : Locoche - FrameIP

Utilitaires réseau : UTrace , Whois Lookup, DNSstuff, Mon-ip, The Cable Guy (MS-TechNet), Port scan

Organisme de formation et guides sur la gestion de la sécurité des SI, du risque et l'audit IT :

D & H Academy, Orsys, Telindus, ISACA (us)/AFAI (fr) parmi beaucoup d'autres

The CISSP Prep Guide Gold Edition 2003, également dispo sur CDN Ed.2001 (PDF de 8 MB)

Official Guide to CISSP CBK Ed.2007 (PDF de 14 MB)

CISSP 1439 test questions (préparant l'examen qui dure 6 heures, PDF de 2 MB).

Retour aux Technologies

 

Page 1 - 2 - 3 - 4 -


Back to:

HOME

Copyright & FAQ