certificat et session https etc?

Le
Roland Le Franc
Bonjour

Ke ne trouve pas d'explication claire sur l'authentification d'une
session avec certificat
Auriez vous un lien à me donner?

Je comprends le principe: un client a une clé privée, donne sa clé
publique au serveur dans son certificat. Au moment de
l'authentification, le client signe quelque chose avec sa clé privée et
l'envoie au serveur qui peut vérifier cette signature grace au
certificat du client.
Questions que je me pose: quel est ce quelque chose signé à ce moment,
quels sont les standards habituels


Merci
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Arnaud W.
Le #571011
On 24 mar, 09:21, Roland Le Franc
Je comprends le principe: un client a une clé privée, donne sa clé
publique au serveur dans son certificat. Au moment de
l'authentification, le client signe quelque chose avec sa clé privée et
l'envoie au serveur qui peut vérifier cette signature grace au
certificat du client.
Questions que je me pose: quel est ce quelque chose signé à ce moment,
quels sont les standards habituels


Pour faire simple, comme la signature consiste à chiffrer avec sa clef
privée (afin que tout le monde puisse déchiffrer avec la clef publique
du certificat), mais que le chiffrement à clef publique est très lent,
on ne chiffre qu'un résumé (un haché cryptographique) du message, qui
sera envoyé avec le message correspondant, le tout étant chiffré par
un algorithme à clef privé (dont la clef a été échangée par un
protocole type Diffie-Hellman, utilisant aussi les certificats).

Petit exemple simplifié :

Soit un paquet P à envoyer. A et B deux protagonistes.

1) A et B se mettent d'accord sur une clef privée (et les algorithmes
à utiliser...etc).

2) A calcul le haché de P => H(P).
A signe, c'est à dire chiffre H(P) avec la clef privée de son
certificat => S(H(P))
A chiffre, avec un algorithme à clef privée (ex :AES) et la clef
précédemment échangée, le message (compressé ou non) concatén é avec la
paquet signé => C(P, S(H(P))) C'est ce que A envoi à B.

3) B déchiffre avec la clef partagée précédemment => il obtient P et
S(H(P)).
B calcul le haché de P : H'(P)
B décrypte le haché de S(H(P)) avec la clef publique de A => H(P)
Si H(P) et H'(P) sont identiques, B peut considérer que le paquet P
est authentique et provient bien de A, puisque A est le seul à
connaitre sa clef privée, dont c'est le seul qui a pu signer le
paquet.

En résumé, les certificats servent :
- A prouver l'identité de leur propriétaire
- A échanger des clefs privées pour d'autres algorithmes (algorithmes
à clef privée)
- A signer des messages et vérifier ces signatures.

Quelques info plus détaillées sur :
http://fr.wikipedia.org/wiki/SSL
http://sebsauvage.net/comprendre/ssl/

Publicité
Poster une réponse
Anonyme