Comment SSL crypte-t-il les données du serveur au client?
La plupart des articles de wiki décrire comment navigateur client utilise la clé publique (certificat) chiffrer les données sensibles (telles que nom d'utilisateur/mot de passe) et envoyer des données cryptées au serveur. Le serveur va utiliser la clé privée pour déchiffrer le message. Je reçois cette partie. Mais aucune information claire en disant comment serveur de crypter les données et de les renvoyer au navigateur.
Utiliser ma banque en ligne comme par exemple:
(0) j'ai déjà accepté de confiance certificat (clé publique) de mes services bancaires en ligne.
(1) Par l'URL SSL, Mon navigateur visite https://myonlinebanking.com
(2) j'ai tapé le nom d'utilisateur/mot de passe pour vous connecter. Ces données sont cryptées, donc, l'homme-au-milieu ne peut voir meanless de données.
(3) Banque de du serveur web de recevoir mes données chiffrées, et l'utilisation de sa clé privée pour décrypter et d'authentifier mon compte avec succès.
Maintenant voici mes questions:
Comment la banque envoie mes données? Banque de chiffrer les données de réponse en ce que la clé? Si la banque crypté avec une "clé publique", l'homme-au-milieu peut le voir juste comme je peux le voir. Donc, l'homme-au-milieu ne sais pas mon nom d'utilisateur/mot de passe, mais il peut encore voir le solde de mon compte?
Merci pour votre aide.
source d'informationauteur Simon
Vous devez vous connecter pour publier un commentaire.
La Poignée de main TLS processus met en place un symétrique clé entre les deux parties, en utilisant éventuellement les asymétrique de la cryptographie dans le processus (les détails dépendent de la algorithmes exacts qui ont été négociés entre le client/serveur). De cette façon, la communication est cryptée sur les deux moyens, pas seulement un.
La chose qui en fin de compte vous protège contre un MITM, cependant, est le fait que votre navigateur ne prend une certaine forme de validation de nom de domaine. Le certificat présenté par le serveur de la poignée de main est d'abord vérifié pour sa validité. Si cela réussit, votre navigateur vérifie si le certificat est lié à l'exact hôte il est en train de parler. Si cette vérification serait omis, une attaque de type MITM serait encore réussir, même si le reste de la communication strictement suivi le protocole, y compris tous les éléments cryptographiques. L'attaquant pourrait se contenter de faire semblant d'être un hôte et d'exécuter le reste du protocole consciencieusement, vous ne savez pas la différence.
Vous avez quelques idées fausses :
TLS(Transport Layer Security) est un protocole utilise une combinaison de chiffrement Asymétrique (à clé Publique) et de Chiffrement Symétrique (Clé de cryptage). Le principal moyen de communication avec votre banque est à l'aide d'un chiffrement symétrique, dont les clés de session(clé de cryptage) est établi en toute sécurité pendant la négociation TLS, en utilisant le chiffrement asymétrique.
C'est dans le protocole TLS(Transport Layer Security) poignée de main, ce qui est très bien expliqué dans ce lien ici.