Terran Marine Geschrieben 28. Juli 2003 Geschrieben 28. Juli 2003 Nabend, ich hatte mich neulich für die Technik von https bzw. ssl interessiert und bin dabei auf diese Seite gestossen : http://www.4secure.de/was_ist_ssl.htm Nun wird das http ja durch das SSL durchgetunnelt, dabei kommt eine asynchrone Verschlüsslung zum Einsatz (Public/Private Key). Für die Kommunikation zum Server hin benutzt der Browser den öffentlichen Schlüssel des Webservers (diesen hat er aus dem Zertifikat). Nur mit welchem Schlüssel verschlüsselt der Webserver die Daten die zum Client hingehen ? Eine einfache Antwort wäre, mit dem öffentlichen Schlüssel des Users, nur hat afaik doch nicht jeder automatisch einen (X,509 ?) Schlüssel ? Gruß Terran Marine Zitieren
egoist Geschrieben 29. Juli 2003 Geschrieben 29. Juli 2003 es ist eigentlich eine Hybride Verschlüsselung! Es wird der Schlüsselaustausch assynchron betrieben und der eigentliche Datenaustausch synchron verschlüsselt! Zitieren
Terran Marine Geschrieben 29. Juli 2003 Autor Geschrieben 29. Juli 2003 Original geschrieben von egoist es ist eigentlich eine Hybride Verschlüsselung! Es wird der Schlüsselaustausch assynchron betrieben und der eigentliche Datenaustausch synchron verschlüsselt! Ist klar, aber woher hat der Browser sein Schlüsselpaar ? Gruß Terran Marine Zitieren
nic_power Geschrieben 29. Juli 2003 Geschrieben 29. Juli 2003 Hallo, welches Schlüsselpaar meinst Du denn? Der Browser benötigt im ersten Schritt nur den öffentlichen Schlüssel des Web-Servers und das dazugehörende Zertifikat. Das Zertifikat ist mit dem öffentlichen Key der Zertifizierungsinstanz (beispielsweise Verisign) signiert. Damit kann der Browser die Gültigkeit überprüfen und den Session-Key aushandeln. Eine ausführliche Beschreibung findest Du unter dem folgenden URL: http://developer.netscape.com/tech/security/ssl/howitworks.html Nic Zitieren
Terran Marine Geschrieben 29. Juli 2003 Autor Geschrieben 29. Juli 2003 Original geschrieben von nic_power Hallo, welches Schlüsselpaar meinst Du denn? Vielleicht ist ja mein Grundsatzgedanke zur asynchronen Verschlüsslung schon falsch, ich bin bisher davon ausgegangen, das bei einer verschüsselten Kommunikation zwischen zwei Hosts, die Nachrichten immer mit dem öffentlichen Schlüssel des Partner verschüsselt werden. Host A hat also einen öffentlichen Schlüssel und einen privaten Schlüssel Host B hat ebenfalls einen öffentlichen Schlüssel und einen privaten Schlüssel Verschickt Host A nun eine Nachricht an Host B wird diese mit dem öffentlichen Schlüssel von Host B verschlüsselt, damit nur Host B diese Nachricht mit seinem privaten Schlüssel lesen kann. Und umgekehrt läuft das ganze genauso. Kommen wir wieder zu unserem SSL - Beispiel, wo ebenfalls eine asynchrone Verschlüsselung eingesetzt wird, dort ist Host B der Webserver und Host A ein Rechner bzw. der Browser. Wo sind die Schlüssel von Host A ? Selbst wenn die Verschlüsslung synchron abläuft, müssen zum Aushandeln, dieses Schlüssels beide Paare vorhanden sein. Gruß Terran Marine Zitieren
egoist Geschrieben 29. Juli 2003 Geschrieben 29. Juli 2003 villeicht hilft dir das! Quelle: http://www.ssl.de/ssl.html Das SSL-Protokoll wird dadurch initiiert, dass dem bekannten http ein s angehängt wird. Das ist für den Browser der Anlaß, vom angesprochenen Server ein Zertifikat und seinen öffentlichen Schlüssel abzufordern. Dieser Schlüssel wird zusammen mit einer Prüfsumme und einer ID an den Browser zurückgemeldet. Diese Informationen werden von einigen wenigen Zertifizierungsfirmen errechnet. Der Browser prüft anhand der übermittelten Daten, ob er wirklich mit dem Server verbunden ist, der in der URL angegeben ist. Ist das der Fall, gibt der Browser dem Anwender eine entsprechende Information In der folgenden Phase verständigen sich die beiden Rechner auf einen symetrischen Schlüssel (Session Key). Da diese Absprache in asymetrischer Verschlüsselung vollzogen wird, ist die Sicherheit gegeben. Der Browser schickt dem Server vor dem Beginn des eigentlichen Datenaustausches einige Testnachrichten, die der Server nur beantworten kann, wenn es wirklich der Server ist, der er zu sein vorgibt. Zitieren
TschiTschi Geschrieben 29. Juli 2003 Geschrieben 29. Juli 2003 Original geschrieben von Terran Marine Vielleicht ist ja mein Grundsatzgedanke zur asynchronen Verschlüsslung schon falsch, ich bin bisher davon ausgegangen, das bei einer verschüsselten Kommunikation zwischen zwei Hosts, die Nachrichten immer mit dem öffentlichen Schlüssel des Partner verschüsselt werden. Richtig, Dein Verständnis ist falsch! Der Session Key (symmetrisch) wird vom Client generiert und dem Server mit seinem öffentlichen Schlüssel verschlüsselt mitgeteilt. Daher benötigt der Server den öffentlichen Schlüssel vom Client nicht! GG Zitieren
nic_power Geschrieben 29. Juli 2003 Geschrieben 29. Juli 2003 Hallo, @egoist: Hast Du mal den Text hinter dem ersten Link von Terran Marine gelesen? Der ist identisch mit dem von Dir geposteten. Nic Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.