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.