Chapter 4 La sécurité sur Internet
4.1 Les faiblesses de l'Internet
Le protocole de transport des données sur Internet, TCP/IP, ne prévoit
pas de protéger les données transportées. Tous les paquets sont transmis
en clair
et donc toute personne qui contrôle un des ordinateurs par
lequel passera les données peut les lire. Par exemple au niveau d'un
réseau local, tous les paquets sortant vers Internet doivent passer par
une seule machine, la passerelle. Le contrôle de cette machine
permet la lecture de tout ce qui va et vient. Toujours sur un
réseau local une personne qui est physiquement sur le même fil Ethernet
qu'une autre1
peut y détecter le courant qui y passe et donc lire les données.
4.1.1 Les connexions à distance
Lorsqu'un utilisateur désire se connecter à une machine distante
il établit une connexion avec la machine en question qui lui demande
de s'identifier. Si cette connexion est initiée avec un programme
qui ne cache pas les données, comme le programme telnet qui
reste très utilisé,
le flux de données est lisible avec un détecteur de paquets IP comme
le programme tcpdump. Voici ce que l'on peut voir passer :
aldebaran.devinci.fr -> hermes.devinci.fr TELNET Telnet Data ...
0 00d0 590b 28c8 0800 2085 b5c6 0800 4500 ..Y.(... .....E.
10 002f c4af 4000 ff06 eb4b c16b a4b9 c16b ./..@....K.k...k
20 a43c 0017 0576 8200 291f e4fd a7d4 5018 .<...v..).....P.
30 2238 222e 0000 6c6f 6769 6e3a 20 "8"...login:
hermes.devinci.fr -> aldebaran.devinci.fr TELNET Telnet Data ...
0 0800 2085 b5c6 00d0 590b 28c8 0800 4500 .. .....Y.(...E.
10 0029 0000 4000 4006 6f02 c16b a43c c16b .)..@.@.o..k.<.k
20 a4b9 0576 0017 e4fd a7d4 8200 2926 5018 ...v........)&P.
30 7f9a b2dd 0000 74 ......t
Avec le t final du second paquet qui correspond à la première lettre
du login de l'utilisateur.
Ce flux peut être interprété par le programme dsniff pour ne
récupérer que les mots de passe :
[root@diane dsniff-2.2]# ./dsniff -i eth0
dsniff: listening on eth0
-----------------
09/25/00 18:34:25 tcp hermes.devinci.fr.1415 -> aldebaran.devinci.fr.23 (telnet)
test
pass_compte
-----------------
09/25/00 18:34:39 tcp hermes.devinci.fr.1416 -> aldebaran.devinci.fr.110 (pop)
user test
pass pass_pop
Le premier couple login/mot de passe intercepté provient d'une connexion
distante en clair, le second d'une connexion à un serveur de mail POP pour
y récupérer son courrier.
Il est donc important de cacher le sens de ses données avant qu'elles ne
quittent votre machine en les chiffrant. Il existe pour cela des logiciels
de cryptographie comme
SSH pour les connexions à distance.
4.1.2 Le mail
Sachant que tout n'est que connexion de machine en machine, le courrier
électronique comme les autres services est ouvert à tous si l'on
utilise pas de moyens de protection. Ce n'est malheureusement pas le
cas par défaut. Ainsi le mail
-
1. peut être écouté lors de son transport
-
du client (MUA) au serveur (MTA) via SMTP
- de MTA en MTA via SMTP
- du dernier MTA chez votre hébergeur à votre MUA via POP ou IMAP
- 2.peut être intercepté par un MTA pirate (qui prend l'identité
de votre serveur par exemple)
- 3. peut être lu par le responsable système de votre site
Pour se protéger on peut appliquer diverses solutions qui fonctionneront
à différents niveaux :
-
1. lors du transport du mail
on peut
-
utiliser le protocole TLS entre les serveurs (existe avec Postfix ou Sendmail)
- établir un tunnel crypté entre le MUA et son serveur :
slogin -L2110:localhost:110 mon_serveur_pop -f sleep 999d
et dire à son MUA de prendre par POP le mail sur localhost, port 2110 ici.
- 2.pour se protéger contre un MTA pirate il faut utiliser
un certificat (inclus dans TLS),
- 3. pour se protéger du responsable système de votre site
et donc aussi de toutes les attaques possibles, il faut chiffrer son mail
à la base, avant qu'il ne quitte votre machine. Cela peut être fait
avec PGP ou GPG2.
4.1.3 Le Web
Le Web est un peu mieux protégé avec l'algorithme de chiffrage SSL qui
est présent sur les navigateurs les plus courants. Par contre, comme
pour tout algorithme de chiffrage, son efficacité est directement liée
à la taille de la clé de codage utilisée.
Ainsi.
l'étude de mai 2001 faite par Projetweb,
montre qu'une majorité
de serveurs Web français continuait à utiliser des clés de 40 bits3, clés
bien trop faibles pour résister aux attaques brutales4.
Cela est d'autant plus regrettable que
la loi autorise depuis 1999 l'utilisation de clé de 128 bits et que tous
les navigateurs modernes comprennent SSL 128 bits.
Voici les statistiques de cette étude sur la sécurité
des serveurs Web, effectuée sur
un échantillon de 319 sites de sociétés françaises :
| |
Java |
0 |
40 bits |
56 bits |
128 bits |
total<128 |
| Banque - Bourse |
1,9% |
1,9% |
65,4% |
4,8% |
26,0% |
74,0% |
| Biens de consommation |
0,0% |
5,6% |
36,1% |
2,8% |
55,6% |
44,4% |
| Culture - Loisirs |
0,0% |
5,5% |
34,1% |
3,3% |
57,1% |
42,9% |
| Maison - Électro-ménager Hifi |
1,9% |
1,9% |
28,8% |
7,7% |
59,6% |
40,4% |
| Total |
0,9% |
3,8% |
43,9% |
4,4% |
47,0% |
53,0% |
Table 4.1: Niveau de sécurité des serveurs français (étude de ProjetWeb, mai 2001)
Aujourd'hui, en 2005, on peut considérer que la situation a changé, en
particulier chez les plus mauvais, les banques, qui sont passés
à SSL 128 bits.
On peut considérer que les connexions sécurisées sur le Web sont sûres
aujourd'hui dès lors qu'on est sûr d'être à bon port ce qui est une
autre histoire5.
4.2 L'espionnage industriel
Outre les faiblesses intrinsèques d'Internet,
le risque d'espionnage industriel est encore augmenté par Internet
et ce pour 3 raisons :
-
un nombre de plus en plus important de données internes aux entreprises
sont accessibles par le réseau,
- le risque est mal appréhendé par les employés ce qui se répercute
directement sur la sécurité,
- les services secrets les mieux équipés écoutent et enregistrent
tout ce qui circule sur Internet (cf Échelon ci-dessous).
Échelon
Echelon est probablement le plus grand système d'écoute. Il permet l'interception
des communications internationnales téléphoniques, par fax ou via Internet. Il est controlé
par les Etats-Unis, l'Angleterre, le Canada, l'Australie et la Nouvelle Zélande.
Son but initial est lié à la sécurité des états concernés mais il sert aussi
leur intérêts économiques comme l'ont montré ces 2 affaires
rendues publiques :
-
1994 l'interception de communications entre le groupe Thomson-CSF et certains
membres du gouvernement brésilien a permis à la maison blanche d'être au
courant de pot de vin ce qui lui a permis de retourner la situation à
l'avantage d'une entreprise américaine, laquelle à décrocher le contrat
de surveillance radar de l'Amazonie, contrat d'1,3 milliard de dollars.
- 1994-95 la même histoire c'est répétée avec Airbus qui a ainsi perdu un
contrat avec la compagnie d'Arabie Saoudite, contrat que Boing a remporté.
Figure 4.1: Echelon
4.3 Introduction à la cryptographie
4.3.1 À quoi sert la cryptographie ? Qui en a besoin ?
Elle permet de garantir la confidentialité d'une information.
Ce besoin est partagé par les militaires, les industriels,
les organisations et les citoyens car elle permet :
-
la confidentialité des transactions bancaires;
- la protection de secrets militaires, industriels, commerciaux ou médicaux;
- la protection des systèmes informatiques contre les intrusions;
- la confidentialité des communications;
- la protection de la vie privée et des associations.
2ex
La cryptographie propose aussi
-
l'authentification des correspondants;
- la non-répudiation des transactions ;
- l'intégrité des documents.
2ex
Elle est enfin le seul moyen de protéger un transfert
d'informations sur Internet.
4.3.2 Différentes méthodes de cryptographie
DES
Data Encryption Standard: Algorithme de chiffrement à clé symétrique
développé par IBM. Adopté comme standard officiel par les États-Unis en 1977 et largement utilisé
par la finance et l'industrie,
DES utilise normalement une clé de 56 bits, mais 16 bits sont bloqués pour
la version dédiée à l'exportation. DES est dépassé aujourd'hui.
Triple DES
Il s'agit de l'algorithme DES appliqué avec trois
clés différentes. Appliquer un chiffrement avec deux clés à la
suite n'améliore pas la sécurité, à cause
d'une attaque appelée "rencontre au milieu" ("meet-in-the-middle" attack).
Avec 3 clés, la sécurité est bonne mais le coût de chiffrement est
trop important.
AES, le successeur de DES
Le 2 octobre 2000 le gouvernement
américain à annoncé
que l'Advanced Encryption Standard est l'algorithme
belge Rijndael.
Il est simple, élégant, rapide sur les processeurs actuels. Il pourra
être intégré dans les cartes à puce.
IDEA
International Data Encryption Algorithm. Système à clé symétrique. IDEA utilise une clé de 128 bits. Développé en Suisse. Les droits d'exploitation sont détenus
par Ascom Systec AG.
Le condensat MD5
Message Digest v.5. Fonction permettant de calculer un résumé à partir
d'un message. Si un seul caractère du message change, le résumé est complètement
différent.
Une signature électronique consiste en ce résumé, chiffré avec la clé privée du
signataire.
Les Rivest's Codes de RSA Data Security
La famille des RCn est assez bien conçue avec des chiffrements symétriques à la
volée (``stream cipher'' -- RC4) et des chiffrements par bloc (``block cipher'' --
RC2 / RC5 / RC6).
RC4 est le seul de la famille à être propriétaire (``trade secret'')
mais son code a été largement diffusé.
RC6 était un des 5 candidats retenus à AES, procédure mise en place par le NIST
(Bureau des standards US) pour remplacer DES comme système de chiffrement
officiel.
RSA (Rivest, Shamir et Adleman)
L'algorithme le plus célèbre à clé publique/clé privée (ou asymétriques).
SSL, STT, SET, SSH
Il s'agit de protocoles permettant de négocier interactivement des algorithmes de chiffrement.
Ces algorithmes sont à clé symétrique, à usage unique.
-
SSL: Secure Socket Layer est proposé par Netscape (HTTPS).
- STT: Secure Transaction Technology est proposé par Microsoft.
- SET: Secure Electronic Transaction est proposé par Visa-Mastercard.
- SSH: Secure Shell.
L'empreinte d'une clé
Une clé peut, comme un message, être résumée à l'aide d'un condensat comme MD-5,
SHA-1 ou RIPEMD-160 pour ne citer que les plus connus.
Ce résumé est suffisamment court pour tenir sur une carte de visite, ou pour être
dicté par téléphone. Dans le cas de MD5, il fait 128 bits, soit 16 octets, qu'on exprime en hexadécimal. Par
exemple:
43 65 F3 AD 32 34 66 12 2A 54 CD BB AA 87 43 FD
La sécurité de ces condensat est actuellement mise à bas puisque SHA-1
a été cassé en 2004 et l'on a montré en 2005 qu'il est possible de créer
des documents ayants le même condensat MD5.
S'il devient possible de choisir son condensat alors la sécurité de
ces 2 algorithmes sera nulle et par conséquent le principe des signatures
électroniques qui utilisent majoritairement ces 2 clés. La protection
des mots de passe sous Unix sera aussi à revoir.
4.3.3 Les clés symétriques ou secrètes
Une clé symétrique permet d'encoder ainsi que de décoder un message.
Entre 2 ou 3 personnes il suffit de se transmettre la clé de façon sûre
pour pouvoir communiquer de façon protégée par la suite.
À plus grande échelle, un tiers de confiance (le TTP, Trusted Third Party)
qui a les clés Ki de tous les utilisateurs Ai devient utile.
Pour chaque
communication, le TTP donne aux 2 utilisateurs une clé de session k
pour chiffrer cette communication. Cette clé de session est transmise
chiffrée avec la clé secrète de l'utilisateur.
Avantages :
-
il est facile de modifier le réseau,
- chaque entité ne stocke qu'une
longue clé,
- le chiffrement est rapide
Inconvénients :
-
toute communication commence par appeler le TTP,
- le TTP peut lire tous les messages,
- si le TTP est cassé tout est cassé.
|
|
 |
4.3.4 Les clés asymétriques ou publiques
La principe d'utilisation des clés publiques et privées (ei/di)
est le suivant : la machine voulant envoyer un message récupère la
clé publique du destinataire, e2, et s'en sert pour chiffrer son
message. Le message ainsi chiffré ne peut être déchiffré qu'avec
la clé privée correspondante à la publique, d2 dans notre cas.
Avantages :
-
pas de TTP,
- le fichier des clés publiques
peut être stocké sur chaque machine,
2ex
Inconvénients :
-
un pirate peut mettre une
fausse clé publique (cf ci-dessous),
- le chiffrement est plus lent qu'avec
une clé secrète.
0.5cm
|
|
 |
L'attaque de l'homme au milieu
L'attaque la plus simple contre ce système est de substituer la
clé publique d'un utilisateur par celle du pirate et d'intercepter tous
les messages. Une fois le message intercepté, le pirate,
l'homme au milieu, le décode, le note, puis le
recode avec la véritable clé publique du destinataire pour lui envoyer
afin qu'il ne détecte pas l'interception.
Figure 4.2: Attaque de l'homme au milieu
La parade, pour ne pas voir son message intercepté,
réside dans la fiabilité de la clé publique de son destinataire.
Une clé publique est sûre, soit parce que le destinataire vous a remis en
main propre
l'empreinte de sa clé, soit parce qu'une personne en qui vous avez entièrement
confiance vous garantit cette clé publique. Cette personne de confiance
peut être un tiers de confiance institutionnel
ou une personne dont vous êtes sûre car elle est dans votre liste
des personnes de confiance. Dans ce dernier cas on parle de votre
réseau de confiance ou Web of trust.
4.3.5 Les mathématiques de RSA
L'algorithme RSA est un algorithme
de chiffrement à clé publique/clé privée. Il est asymétrique
et ne nécessite pas la transmission de la clé permettant le décodage.
L'idée d'un algorithme asymétrique à été proposée par Whitfield Diffie
et Martin Hellman dans un article en 1975 et mise en pratique en 1977
par Ronald Rivest, Adi Shamir et Leonard Adleman.
James Ellis et Clifford Cocks des services de communication de l'armée
anglaise, avaient trouvé cet algorithme quelques années plus tôt mais
ne purent le dévoiler pour cause de secret militaire (cf [sing99] et
http://www.cesg.gov.uk/about/nsecret/).
Son principe est relativement simple mais totalement révolutionnaire. On
n'imaginait pas jusqu'à là qu'il puisse être possible de décoder un message sans
avoir la clé ayant permis de l'encoder.
Pour cela chaque utilisateur a
-
une clé publique (n||e)
- une clé privée (n||d)
avec les propriétés suivantes :
-
n, le module, est le produit de 2 nombres premiers grands p et q,
- e<n est premier avec (p-1)(q-1),
- d est tel que ed-1 soit divisible par (p-1)(q-1).
Ces choix impliquent que ed mod J(n) = 1 où J(n) est
la fonction d'Euler
sachant que J(n)=(p-1)(q-1) lorsque p et q sont premiers.
Chiffrer un message pour un destinataire précis
En chiffrant un message M à l'aide de sa clé publique (n||e) on a :
M' = Me mod n
(4.1)
ce qu'il peut déchiffrer avec sa clé privée (n||d) car
M'd mod n = (Me mod n)d mod n = Med mod n = Med mod J(n) = M
Prouver son identité
En envoyant un message chiffré avec sa clé privée (n||d) on a
M' = Md mod n
que le destinataire peut lire avec la clé publique (n||e)
de l'émetteur en calculant M'e mod n.
Une application française
Le 4 mars 2000, le texte suivant tombait dans le forum
fr.misc.cryptologie :
Petite feuille Maple
> pub:=2^320+convert(`90b8aaa8de358e7782e81c7723653be644f7d\
cc6f816daf46e532b91e84f`,decimal,hex);
pub := 213598703592091008239502270499962879705109534182641\
7406442524165008583957746445088405009430865999
> facteur1:=convert(`c31f7084b75c502caa4d19eb137482aa4cd57aab`, \
decimal, hex);
facteur1 := 1113954325148827987925490175477024844070922844843
> facteur2:=convert(`14fdeda70ce801d9a43289fb8b2e3b447fa4e08ed`, \
decimal, hex);
facteur2 := 1917481702524504439375786268230862180696934189293
> produit:=facteur1*facteur2;
produit := 2135987035920910082395022704999628797051095341826\
417406442524165008583957746445088405009430865999
> exposant_public:=3;
exposant_public := 3
> modulo_div_eucl:=(facteur1-1)*(facteur2-1);
modulo_div_eucl := 21359870359209100823950227049996287970510953418\
23385970414850832581282681302737201380241573831864
> essai_rate_exposant_prive:=expand((1+modulo_div_eucl)/3);
essai_rate_exposant_prive := 2135987035920910082395022704999628797\
051095341823385970414850832581282681302737201380241573831865/3
> exposant_prive:=expand((1+2*modulo_div_eucl)/3);
exposant_prive := 142399135728060672159668180333308586470073022788\
2257313609900555054188454201824800920161049221243
> testnb:=1234;
testnb := 1234
> testsignnb:=testnb &^ exposant_prive mod produit;
testsignnb := 2235938147775183775641042325450404557899532144626481\
7152366942909748069192341215834242192574336
> testverifsignnb:=testsignnb &^exposant_public mod produit;
testverifsignnb := 1234
On y trouve les nombres premiers p et q, ici facteur 1 et
facteur 2 qui permettent de connaître le module n, ici
produit. On voit que l'exposant publique, e, est 3
et après un premier test raté on trouve l'exposant privé d. Pour être
sûr que tous ces chiffres sont bons, on chiffre 1234 et on le
déchiffre. Ça marche.
Ce jour là le grand public voyait en clair la clé RSA à 320 bits qui
permet de vérifier l'authenticité d'une carte bleue
(voir l'article de Louis Guillou) . Cela indique seulement
qu'une carte est authentique
et non que l'on connaît le code secret de l'utilisateur,
mais cela permet de faire des fausses cartes6 qui tromperont un lecteur
non relié aux banques comme celui qu'on présente souvent dans les
restaurants (cf le reportage de LCI).
C'est cette faiblesse connue des milieux de la cryptographie qu'a utilisé
Serge Humpich7.
La trouvaille n'est pas extraordinaire car casser une
clé de 320 bits n'est plus un exploit depuis plus de 10 ans. L'exploit réside
surtout dans la légèreté du groupement des cartes bleues qui n'a pas
changé la longueur de la clé depuis la création des cartes en 1983.
4.4 L'authorité de certification
L'authorité de certification, AC, est le répertoire public dans
le cas de clés asymétriques avec la sécurité en plus.
Cette sécurité est basé sur le chiffrement des clés publiques
gérée par l'AC par la clé privée de l'AC. Cela ne règle pas
le problème de l'attaque de l'homme au milieu, mais
le déplace. Le point sensible devient l'authenticité de la clé publique
de l'AC.
Il faut donc que l'AC transmettre de façon sûre sa clé publique
pour que ce système d'authorité de certification soit efficace.
En pratique l'AC doit être une entité en laquelle ont confiances
l'ensemble des personnes y déposant leur clés publiques. Cela
peut être le Département Informatique dans une entreprise, l'Etat
ou niveau d'un pays...
4.5 Utilisation de la cryptographie
4.5.1 La combinaison de méthodes : PGP
PGP est l'abréviation de "Pretty Good Privacy". C'est un logiciel libre
développé par Phil Zimmerman.
Il utilise
-
IDEA, CAST ou Triple-DES pour le chiffrement;
- RSA, DH (Diffie-Hellman), or DSA (Digital Signature Alg) pour la gestion des clés
- et MD5, SHA-1, RIPEMD160 ou Tiger pour l'authentification.
2ex
Les messages sont donc chiffrés à l'aide d'un système à clé unique
(symétrique), mais cette clé, insérée dans le
message, est chiffrée à l'aide d'un système à clé publique (RSA),
plus commode à gérer, mais plus coûteux en CPU.
Il existe des versions destinées à être intégrées dans des clients
E-Mail et dans la téléphonie (PGPfone, PGPTalk).
Depuis la version 2.6, il est possible de n'utiliser dans PGP que des algorithmes
de chiffrement libres ce qui a donné OpenPGP, un standard de l'IETF.
Figure 4.3: Encodage d'un message à l'aide de PGP
Figure 4.4: Décodage d'un message à l'aide de PGP
En pratique
on utilisera plutôt la version GNU de PGP :
GPG8. La façon la plus
simple est d'utiliser son interface graphique GPA sur Unix, ou à l'aide
de sa version Windows.
Figure 4.5: GPA, l'interface graphique de GPG
Lors du premier lancement, GPG vous proposera de créer votre clé ce qui
ne doit être fait que si vous n'en avez pas. Si vous avez déjà une clé,
sur une autre machine par exemple, recopiez là dans votre répertoire
principal sous .gnupg. Vous devez avoir les fichiers suivants :
(hermes)../home/ricou>ls .gnupg/
options pubring.gpg random_seed secring.gpg trustdb.gpg
À l'usage on effectue les opérations suivantes :
-
lecture de messages chiffrés, reçu le plus souvent par mail,
- envoi de messages que l'on chiffre,
- validation de clés d'amis,
- demande de validation de sa clé par un ami.
L'intérêt des 2 premières opérations est immédiat et relativement simple
une fois que l'on a configuré son lecteur de mail, voire installé
le plugin nécessaire (cf par exemple
Enigmail pour Netscape).
Figure 4.6: Netscape mail et PGP
La validation de clé est tout aussi importante pour utiliser sereinement
la cryptographie. On a vu le risque de l'interception de clé par la méthode
dite de la personne au milieu, cf
4.3.4, aussi il est important de valider physiquement
une clé publique,
i.e. en se transmettant l'empreinte de sa clé main dans la main.
On peut ainsi se créer son réseau de confiance. Il est ensuite possible de
récupérer d'autres clés
publique sur des serveurs de clé et
accorder sa confiance en ces clés dès lors qu'une personne de notre réseau de
confiance les a signées.
Les serveurs de clé sont interconnectés, soumettre sa clé à
l'un d'entre eux revient à la diffuser à l'ensemble des serveurs.
Voici quelques serveurs consultable en ligne ou à l'aide de son
logiciel PGP :
4.6 La sûreté de la cryptographie
On considère qu'un algorithme sérieux de cryptographie doit
être basé sur un algorithme publié. Une protection basée sur le
secret de l'algorithme n'est pas fiable car
-
le secret peut être éventé (par exemple le code source de RC4 a été posté
sur Usenet de manière anonyme),
- l'algorithme n'a pas été testé (attaqué) par la communauté
scientifique.
2ex
Cependant même les algorithmes sérieux peuvent être cassés
4.6.1 Histoire d'une lutte sans fin
Avec l'arrivée d'Internet, les limites de résistance des messages
chiffrés ont été nettement repoussées. La méthode brutale, qui consiste
à tester toutes les clés possibles pour déchiffrer un message, est
devenue une méthode attractive avec la possibilité de faire travailler
ensemble un très grand nombre d'ordinateurs, chacun testant une partie
des clés possibles.
Le DES et sa clé à 56 bits (256 » 1017)
a été l'une des premières victimes, cassé à plusieurs
reprises par la méthode brutale :
-
DES I, juin 97 Rocke Verser de Loveland, Colorado, avec des
machines d'autres internautes en 90 jours.
- DES II-1, janv 98
distributed.net en 39 jours avec
10 000 ordinateurs et une moyenne
de 28.1 milliard de clés testées par jour.
- DES II-2, juillet 98
Electronic Frontier Foundation, EFF avec
une machine ad hoc à 250 000 $ en 3 jours,
- DES III, janv 99 en 22 heures par la machine de l'EFF couplé aux
100 000 machines réunies par le
distributed.net.
Le DES n'est plus considéré comme sûr, il a été remplacé par Rijndael
en 2000.
Pour venir à bout de RSA, la méthode utilisée est celle du
``crible algébrique''
qui permet de ramener le problème à un calcul matriciel dont la
résolution nécessite un super ordinateur.
Une présentation sur la factorisation et donc sur
la façon de casser RSA est présentée sur ce site :
http://pauillac.inria.fr/algo/banderier/Facto/
-
RSA-140, fev 99 le crible a nécessité environ 125 stations SGI et Sun
à 175 MHz
et environ 60 PCs à 300 MHz pendant 1 mois. Le système matriciel à demandé
100 heures CPU et 810 MO de mémoire vive sur un Cray C916.
- RSA-155 (512 bits), août 99 le crible a nécessité
160 stations SGI et Sun à 175-400 MHz, 8 SGI Origin 2000 processeurs à 250MHz,
120 Pentium II PCs à 300-450 MHz et 4 500 Digital 500 Mhz
pendant 3.7 mois. La matrice à résoudre avait
6 699 191 lignes et 6 711 336 colonnes pleine à 62.27%. Il a fallu
224 heures CPU et 3.2 GO de mémoire vive sur le même Cray pour résoudre le système.
Le défi que s'est lancé le distributed.net :
-
RC5-56, oct 97 Trouvé en 212 jours de travail. Le pourcentage de clés vérifiées est
de 47,03%, vitesse moyenne: 5,3 G clés/s. Au rythme final, il aurait fallu
83 jours pour vérifier l'ensemble des clés restantes.
- RC5-64, juillet 2002
trouvé en
2ex
1 757 jours de calcul, environ 4 ans et 10 mois
331 252 participants
15 769 938 165 961 326 592, 15 milliards de milliards, clés testées
soit 81% des clés possibles
vitesses maximale : 270 147 024 000 clés/seconde
- soit 32 000 de Apple PowerBook G4 800MHz ou
46 000 PC AMD Athlon XP 2Ghz travaillant en parallèle
- à cette vitesse il suffirait de 790 jours pour tester
l'ensemble des clés
Figure 4.7: Vitesse de test des clés RC5-64 depuis 1997
Casser le Web
L'algorithme de cryptographie le plus utilisé sur le Web est SSL. Il
se conjugue principalement en 3 variantes de longueur de clés
différentes : SSL 40 bits, SSL 56 bits et
SSL 128 bits.
Le mode SSL 40 bits, qui reste encore très utilisé en France,
a été cassé dès l'été 1995 en 32 heures
à l'INRIA
et en 3h30 durant l'été 1997
à Berkeley.
Aujourd'hui quelques minutes voire quelques secondes, suffisent aussi
il est indispensable d'utiliser la méthode SSL 128 bits qui
est à peu près 300 millions de milliards de milliards fois plus sûre.
Cela devrait lui permettre de tenir quelques années.
Pour ce qui touche la cryptographie, On pourra aussi consulter les
ouvrages suivants : The Codebreakers de David Kahn, cf [kahn96],
et l'Histoire des codes secrets de Simon Sing, cf [sing99].
Certains manuels (livres) sont disponibles en ligne dont
The Handbook of Applied Cryptography, cf [mov96], les
Frequently Asked Questions About Today's Cryptography des
RSA Labs, cf [rsa00].
Enfin, les sites suivants contiennent des informations intéressantes :
-
Des centaines de transparents sur la cryptographie,
- La page PKI, Public Key Infrastructure, on pourra
aussi regarder la solution libre
PKI proposée par IDEALX,
- Le site de TBS, «Abandonnons les protocoles non-chiffrés» présent,
différentes méthodes pour se protéger,
cf https://www.tbs-internet.com/ssl/
- Projetweb propose une étude sur le commerce électronique
et la sécurité,
cf http://www.projetweb.com/labalise/securite/index.php.
On y voit qu'en mai 2001 les banques n'avaient toujours pas compris ce qu'est la
sécurité.
- Le site de Parodie, http://www.parodie.com/monetique/, présente
l'affaire des cartes bleues.
- La FAQ Cryptographie de l'AUI,
cf http://www.aui.fr/Projets/Crypto/,
- How PGP works, the Basis of Cryptography,
cf http://www.pgpi.org/doc/pgpintro/,
- Déclarer l'usage de la cryptographie forte au
SCSSI, cf http://www.scssi.gouv.fr/
- 1
- Toutes les personnes branchées sur un même hub sont
sur le même fil Ethernet.
- 2
- Pretty Good Privacy et GNU Privacy Guard
- 3
- cela
veut dire qu'il y a 240 clés différentes soit mille milliards.
- 4
- type
d'attaques qui essaye toutes les clés possibles.
- 5
- celle des autorités de certification
- 6
- faire une fausse carte
bleue est assimilé à faire de la fausse monnaie. Le tarif est 30 ans de
prison.
- 7
- cf http://www.parodie.com/monetique/
- 8
- Gnu Privacy Guard est compatible
avec OpenPGP et PGP version 5.x et 6.x.