Technologie du cryptage

    Cette première introduction aux technologies de cryptage devraient intéresser les activistes. A mesure que les communautés en "résistance" deviennent plus fortes et efficaces, les méthodes répressives se font plus draconiennes en vue de maintenir le statu quo. Au centre de ces efforts : l'échange d'informations, souvent obtenues en écoutant les communications privées. Pour contrecarrer ces méthodes orwelliennes, on ne saurait que trop vous inviter à utiliser leurs propres outils : une bonne utilisation de la cryptographie permet de protéger votre vie privée et la confidentialité de vos communications. Les gouvernements nord-américains ont longtemps essayé d'empêcher l'utilisation et l'exportation des outils puissants de cryptographie, mais le développement de l'internet a fait qu'ils sont aujourd'hui très facilement disponibles.

    S'il existe de multiples algorithmes et applications, ceux que nous vous présentons ci-dessous sont considérés comme les standards du genre car ils ont été révisés et vérifiés par la communauté internationale. Leurs forces et faiblesses sont particulièrement bien documentées. On évitera ainsi d'utiliser ceux qui proviennent de sources non reconnues par les experts à mesure qu'ils peuvent être compromis, non fiables ou encore que l'on y a inclut une "backdoor" permettant à l'auteur ou de "tierces parties" de casser le cryptage et d'accéder à vos données. La NSA (National Security Agency) lança ainsi SKIPJACK, vendu comme un outil fiable, mais qui comprenait une backdoor.

    - Comparaison des forces relatives des algorithmes de cryptage -
    Type Degré de sécurité * Implémentation Vitesse
    Idea de type militaire 128 bit Secret partagé Rapide
    Blowfish de type militaire 256 to 448 bit Secret partagé Très rapide
    DES Bas 40 to 56 bit Secret partagé Rapide
    RSA de type militaire 2048 bit
    Clé publique
    Très lent
    MD5 Elevé 128 bit
    Message Digest
    Lent
    SHA Elevé 160 bit
    Message Digest
    Lent
    * dépend de la longueur de la clé, évalué en fonction de la longueur maximale de la clé

     

    Types d'algorithmes de cryptage

    Secret partagé / Symétrique

    C'est le type le plus classique de cryptage. Le même mot de passe est utilisé pour crypter et décrypter le message. S'il existe plusieurs algorithmes différents, ceux que nous présentons ci-dessous sont considérés comme des standards car ils ont été révisés par la communauté internet internationale et que leurs forces et faiblesses sont bien documentées. On notera que les lois US interdisent encore l'export des outils de chiffrement dont les clés excèdent 56 bits.

    IDEA-
    Algorithme suisse très puissant, c'est l'épine dorsale de PGP, très rapide et pouvant aller jusqu'à des clés de 128 bit
    Avantage: algorithme testé, haute sécurité, vitesse.

    Blowfish-

    Relativement nouveau, cet algorithme de chiffrement de 64 bit créé par Bruce Schneier, le célèbre expert en cryptographie, va jusqu'à des clés de 448 bit, beaucoup plus puissant donc que le DES.

    RC4-
    Outil de chiffrement rapide, c'est celui qui est utilisé pour SSL et est considéré comme sécurisé dans son implémentation à 128 bit. La version "export" est moins sûre.

    DES-
    C'est le standard industriel, rapide mais relativement peu sécurisé. C'est le plus utilisé de tous les algorithmes de cryptage. On évitera si possible de l'utiliser.

    Clé publique / Asymétrique

    Ce type d'algorithmes a été découvert à la fin des années 70. Ils reposent sur un système à deux clés. Une clé pour crypter les données, un autre pour les décrypter. Si l'on dispose que d'une seule clé, ainsi que d'un message crypté, il est mathématiquement très difficile de déterminer l'autre clé.

    RSA-
    Cryptage à clé publique reposant sur le fait que plus les nombres sont grands, plus le temps de les décomposer s'accroît de manière exponentielle. C'est le système à clé publique de PGP.

    [One Way Digests]

    [These are hashing algorithms that translate an indefinite length of data into a fixed length unique hash.] Ils sont utiles pour sceller un message électroniquement à mesure qu'il est quasiment impossible que deux messages puissent avoir la même empreinte digitale, ce qui assure l'intégrité du message.

    MD5 [128 bit message digest] utilisé pour s'assurer qu'un message n'a pas été altéré

    SHA [160 bit message digest] utilisé pour s'assurer qu'un message n'a pas été altéré

    Comment s'assurer de la sécurité ?

    Cette question revient souvent.

    Il existe plusieurs méthodes pour casser le cryptage. La plus directe est d'essayer toutes les combinaisons possibles. Un algorithme bien écrit (comme ceux que l'on présente ici) devrait être immunisé contre les formes connues de cryptoanalyse.

    DES:
    Le Data Encryption Standard est généralement utilisé sous deux longueurs (40 bit et 56 bit). Le type 40 bit (aussi connu comme Secure Socket Layer) est celui qu'utilise les browsers pour crypter et protéger les commandes faites par cartes de crédit sur l'internet. Une longueur de 40 bit signifie qu'il existe 2^40 clés possibles. Une moyenne de 2^39 clés doivent être testées avant d'espérer pouvoir la bonne. Des puces électroniques à 10$ US sont capables de tester 200 millions de clés DES par seconde. De telles cartes seraient capables de tester la moitié des clés possibles en 5 heures. Si les forces du mal dépensaient $300,000 US pour construire un ordinateur à cet effet, elles pourraient récupérer une clé de 40 bit en 0.07 secondes. Dix millions de dollars pour les récupérer en 0.005 secondes. L'algorithme DES à 40 bit n'offre donc aucune protection face aux puissantes sociétés privées ou gouvernements, le DES à 56 bit fournissant une protection légèrement plus élevée.

    IDEA:
    En utilisant une technique similaire à celle décrite ci-dessus, on récupérerait une clé IDA à 128 bit IDEA en à peu près 2.2 x 10^24 secondes. Si l'âge de notre planète est estimé à 3 milliards d'années, il faudrait encore attendre 20 fois plus longtemps avant de pouvoir casser une clé IDEA à 1287 bit.

    Présentons les choses différemment. Si la somme d'énergie requise pour changer un 0 en 1 (tous les ordinateurs sont binaires) est de XXXX, casser une clé IDEA de 128 bit IDEA demanderait en moyenne de tester 2^127 bits. En prenant un ordinateur super efficace et sans perte de chaleur (ce qui est encore très irréaliste), cela réclamerait XXXX joules d'énergie. En comparaison, quand une étoile de la taille de notre soleil devient une super nova, on estime qu'elle produit XXXX joules d'énergie. Même la NSA (le big brother anglo-saxon) ne peut se permettre une telle facture d'électricité.

    RSA:
    Les avancées récentes de la théorie factorielle ont réduit de façon significative le temps nécessaire à la décomposition en facteurs premiers des grands nombres. Cela dit, la technologie actuelle permettrait de décomposer une clé à 2048 bit en approximativement 4 x 10^14 mips-années (mips=millions d'instructions par seconde). Un ordinateur capable d'effectuer un million d'instructions par seconde devrait calculer pendant 10^14 années pour casser la clé. Avec RSA, plus la clé est longue, mieux c'est.

    Ces exemples montrent bien que le crackage par la force des outils puisants de chiffrement s'avère plutôt difficile. Confronté à un puissant cryptage, les forces du mal sont amenés à utiliser d'autres méthodes, principalement de deux types : la cryptoanalyse (essayer de deviner le contenu d'un message à partir de la répétition de certaines lettres ou expressions) et le crackage du mot de passe. La majeure partie des algorithmes bien conçus (comme IDEA et Blowfish) sont relativement protégés contre la cryptoanalyse. Le crackage du mot de passe dépend de vous : il ne sert à rien d'utiliser un outil puissant de cryptage si votre mot de passe est facilement identifiable !

    C'est pourquoi les mots de passe doivent être choisis de telle sorte qu'il soit plus difficile de s'attaquer à lui qu'à l'algorithme.

    Il existe 94 caractères possibles (sans parler des caractères spéciaux), prenez-en 20 COMPLÈTEMENT AU HASARD et vous créerez ainsi un mot de passe aussi puissant qu'un chiffrement à 128 bits. Le crackage de mot de passe repose souvent sur l'utilisation de listes de mots connus pour être utilisés comme mots de passe afin de voir si aucun ne révèle le vôtre. Si vous avez une bonne "hygiène" du mot de passe, personne n'y pourra rien. N'oubliez pas que c'est votre liberté, et celle des autres avec qui vous communiquez, qui en dépend.

    security section index.