salut!
petite question sur les certificats ssl et la connexion à un serveur web par https.
J'ai bien compris comment s'établissait une connexion sécurisée à l'aide de l'échange de clefs, en revanche je ne comprends pas trop le rôle du CA. Est-ce qu'il y a une connexion qui se fait entre l'ordinateur client et l'organisme de certification lors de l'établissement de la connexion sécurisée avec le serveur (pour vérifier que la certification est bonne) ?
Sinon je ne vois pas trop l'objectif de la certification.
Et en ce qui concerne les certificats auto-signé, quel est l'intérêt ? C'est gratuit, et au final on peut établir une connexion sécurisée sans faire intervenir l'Organisme de certification (donc gratuitement) . C'est bien ca
merci de me corriger si j'ai fait des erreurs, car je pense avoir compris, sauf au niveau des points soulignés.
merci ![]()
Le CA c'est censé être une autorité "reconnue" et "fiable", parce que comme tu le disais, on peut facilement faire un certificat pour sécuriser une connexion.
Donc madame michou qui clique sur "non" quand on lui demande d'accepter le certificat, verra qu'elle peut pas se connecter à son site préféré de vente en ligne, du coup elle va réessayer, et cette fois cliquer sur "oui". Elle a pas vu l'option "vérifier"...
Du coup, elle se retrouve bien connectée à son site préféré avec le petit cadenas en bas de la page qui dit qu'elle peut lui faire confiance
Mais si elle avait vérifié le certificat, elle aurait vu qu'il n'est signé par aucune autorité, ou une autorité inconnue au bataillon, et que donc il y a de fortes chances qu'elle soit tombé sur un fishing.
En résumé, ce système est basé sur la confiance. Et les CA sont des organismes de confiance qui signe d'autres certificats.
Chez les debian-like, il y a un paquet (ca-certificates de son petit nom) qui fournit les certificats. Donc :
1) il n'y a pas de connexion à chaque fois à une serveur externe (heureusement, parce que quiconque court-circuitant ce serveur serait maître du web).
2) ça se met à jour comme n'importe quel paquet du système (et limite tu n'as pas en t'en soucier).
Après, j'avoue que la plupart du temps, c'est un peu douteux en terme de sécurité (surtout quand on auto-signe). ça permet juste de garantir qu'on va toujours sur la même machine de la planète, mais on n'a aucune garantie de laquelle (à moins d'être l'auteur du certificat bien sûr).
![]()
question additionnel : c'est quoi un certificat au fait ? c'est un fichier texte ??? un numéro ???
C'est un fichier texte, oui et non. Dépend de ce que tu entends par fichier texte
Sinon, c'est un fichier qui contient des informations sur l'identité de l'émetteur, la date de validité, le nom et la signature électronique de l'organisme de certification, etc... et la clé publique de l'émetteur.
http://en.wikipedia.org/wrg/wiki/Public_key_certificate
globalement, un certificat est compose d'une cle publique de la personne certifiee et de la signature de cette cle par la cle de l'organisme qui certifie.
Ainsi, tu peux verifier que l'organisme dans lequel tu as confiance reconnait la cle publique de la personne certifiee. Ensuite tu verifie que la personne a qui tu parles utilise bien cette cle la.
et cette signature ca ne se falsifie pas ? on ne peut pas la récupérer sur un autre serveur qui a déjàà le certificat par exemple ?
(chiffrement asymétrique ?)
pas facilement. c'est suppose etre cryptographiquement sur (en francais: "meme pas tu essayes"). Apres des fois il y a des bugs dans les logiciels.
Mathématiquement parlant, c'est peu sûr.
La plupart du temps, la sécurité est basée sur la durée que prennent les calculs pour casser une clé : environ 1 an et demi de calcul avec 1000 bonnes machines de bureau pour le rsa le plus faiblard.
mmm, le chiffre d'un an et demi avec 1000 machine m'etonne. Qu'appelles tu un RSA faiblard ?
Un RSA super-faiblard, c'est un RSA avec une clé de 512 bits.
En fait, je tiens le chiffre d'un mec qui a exposé la dernière phase de la factorisation lors d'une conf. C'était le temps estimé pour casser le fameux RSA-768 ( http://fr.wikipedia.org/wiki/RSA-768 ) avec le code développé par lui et ces confrères. Si tout se passe bien, ça sera fait dans 1 an.
merci pour les infos
oui je vois,
Mais ca fait longtemps que l'on ne fait plus de rsa 512. On n'utilise plus que du 1500 et des bananes maintenant non ?
C'est sur que les vieux certificats sont cassable facilement...
godrik : Beaucoup trop de gens utilisent encore du 1024 bits. Et crois moi, si des français/suisses peuvent casser du 768 bits, la nsa doit surement pouvoir casser du 1024 bits. ![]()
Attention à ne pas confondre chiffrement et signature.
Pour signer un document, on utilise une technique de hachage. C'est un algorithme de compression non réversible. Et ça permet de réduire la taille de n'importe quelle donnée à quelques octets. Le problème, c'est que quelques octets c'est pas beaucoup, donc mathématiquement, il y a de très fortes probabilités d'obtenir pour 2 "fichiers" différents la même signature. C'est ce qu'on appelle collisions. En décembre dernier, le md5 a été totalement abandonné pour ces raisons (mais ça faisait déjà quelques temps qu'on savait que le md5 vivait ses dernières heures). Actuellement, le système utilisé est le sha1 (mais lui aussi vit ses dernières heures).
Pour le chiffrement, la technique la plus utilisée à l'heure actuellement est la technique de chiffrement par blocs. On découpe la donnée en blocs d'une taille définie, et on chiffre ça avec une formule mathématique en mélangeant avec la clé, et le chiffré du bloc précédent (bref, pas un procédé trivial).
Les problèmes qu'on entend le plus souvent sur la sécurité, c'est donc des problèmes de signatures et de falsifications des données, pas de déchiffrement.
Sinon, actuellement y'a des appels d'offres sur des nouveaux protocoles de chiffrement/signature pour remplacer ce qu'on a aujourd'hui.
Indépendamment de ce que tu as dit, si tu casses la clé publique d'un gars, tu peux signer/encrypter à sa place.
(je suis d'accord, c'est potentiellement plus dur de casser la clé que de générer des collisions.)
Après ça c'est une faiblesse plus humaine que mathématique/physique/technique.
Bien entendu, le couple de clés publique/privée est protégé par un mot de passe, c'est ce mot de passe la faiblesse du système ^^° (faut pas non plus laisser l'accès à sa machine par une personne tierce, sinon elle peut avoir accès aux clés qui sont stockées dans des fichiers...)
Faut aussi préciser que pour signer, on utilise notre clé privée, et le récepteur vérifie avec notre clé publique la validité de la signature.
Par contre, pour chiffrer, on utilise la clé privée de l'émetteur et la clé publique du récepteur. Donc le message ne peut être destiné qu'à UNE SEULE personne. Pour déchiffrer le message, le récepteur utilise la clé publique de l'émetteur et sa clé privée.
Jackass59, C'est sur que md5 ne doit plus etre utilise.
De la a dire qu'il est facile de generer une colision, je n'irai pas jusque la. SHA-1, c'est vieux aussi et ca ne devrait plus etre utilise.
"Faut aussi préciser que pour signer, on utilise notre clé privée, et le récepteur vérifie avec notre clé publique la validité de la signature.
Par contre, pour chiffrer, on utilise la clé privée de l'émetteur et la clé publique du récepteur. Donc le message ne peut être destiné qu'à UNE SEULE personne. Pour déchiffrer le message, le récepteur utilise la clé publique de l'émetteur et sa clé privée. "
Ca ca me parait carrement faux. Je ne sais pas comment c'est implemente en pratique mais ca ne devrait pas etre comme cela!
Tu ne fais pas de chiffrement et de signature avec la meme cle. Tu as une cle de chiffrement ET une cle de signature. Tu peux d'ailleurs signer ta cle de chiffrement avec ta cle de signature.
Ensuite tu communiques une des parties de ta cle pour que tout le monde puisse te parler mais que seul toi puisse ecouter.
Ou alors, tu ne communiques une cle afin que seul toi puisse ecrire mais que tout le monde puisse lire. Et c'est ca pour moi l'operation de signature. Apres que dans ton application, tu choisisses de ne chiffrer qu'un hash du message, j'ai envie de dire que c'est un probleme applicatif.
D'ailleurs c'est pour cela que l'on aime beaucoup RSA, l'operation de chiffrement est la meme que l'operation de dechiffrement, du coup on peut communiquer n'importe le quel des deux exposants et faire simplement du chiffrement ou de la signature.