Thread
Menü

Kein Thema


24.05.2005 13:14 - Gestartet von Quehl
ich war schon seit langer Zeit der Meinung, daß ein Schloss nur ein Bild auf dem Bildschirm ist und nicht unbedingt zwangsläufig eine gesicherte Verbindung darstellt. Ein Schloss kann jeder Programmierer auf dem Bildschirm darstellen, darum ist die Idee mit der Personifizierung recht gut. Obwohl man beim 1. Mal ja auch schon auf der Pishing Seite landen könnte.

Menü
[1] birdyy antwortet auf Quehl
25.05.2005 10:21
Benutzer Quehl schrieb:

Hi,

ich war schon seit langer Zeit der Meinung, daß ein Schloss nur ein Bild auf dem Bildschirm ist und nicht unbedingt zwangsläufig eine gesicherte Verbindung darstellt. Ein Schloss kann jeder Programmierer auf dem Bildschirm darstellen, darum ist die Idee mit der Personifizierung recht gut. Obwohl man beim 1. Mal ja auch schon auf der Pishing Seite landen könnte.

Es geht da vor allem drum: "Mit wem tausche ich Daten aus?
Ist das die richtige Person?" - denn eine verschlüsselte Verbindung kann jeder Betrüger anbieten, einfach einen SSL-fähigen Webserver mit seinen eigenen Keys aufsetzen.

Die verschlüsselung funktioniert so: Ich als Kunde
verschlüssele meine Daten mit dem mir vom Bank-Server
angebotenen öffentlichen Schlüssel (public key),
und die Bank kann mit ihrem private key die Daten
entschlüsseln. Ohne private key kann man es nicht
entschlüsseln. (Oder man braucht tausende von Jahren dazu).

Das bringt uns also sicherheitsmäßig noch nicht weiter,
weil ein Betrüger uns einfach einen selber generierten
public key anbieten kann, zu dem er natürlich auch den
private key hat.

Nur hat ein Webserver eines Betrüger natürlich dann einen anderen Schlüssel als z.B. die heimische Onlinebank! Die Verbindung ist zwar verschlüsselt, nur ist das der falsche Partner.

Mit der Zuordnung der Bilder zu den Schlüsseln (public keys) kann ich so als Nutzer sicher gehen, daß der Schlüssel auch der
richtige ist. Denn wenn ich die gesendeten Daten mit dem
public key meiner Bank verschlüssele, kann diese mit ihrem
geheimen private key sie wieder entschlüsseln.
Wenn ich anhand der Bilder dann merke, daß mir auf einmal
ein anderer public key (nämlich der eines Betrügers)
angeboten wird, muß ich eben mißtrauisch werden.

Hoffe, das war einigermaßen verständlich ;)

Gruß
Phil
Menü
[1.1] Quehl antwortet auf birdyy
25.05.2005 17:26
danke, das war gut und verständlich. Ist es richtig, daß die Bank den Public key auf meinen PC sendet, wenn ich die Bankseite aufrufe und wie geschieht dann die Zuordnung? Ich vermute, daß der key im Hauptspeicher liegt und ich da nicht so einfach rankomme. Ich hab schon öfter Https Seiten aufgerufen, aber da ist noch nichts über den Schlüssel zu sehen. Eigentlich müßte die Zuordnung über ein extra Programm laufen, daß gleichzeitig mit dem Browser aufgerufen wird.

mfg
Quehl
Menü
[1.1.1] RE: Kein Thema (Verschlüsselung und Public/Private keys)
birdyy antwortet auf Quehl
28.05.2005 16:29
Benutzer Quehl schrieb:

Hi,

danke, das war gut und verständlich. Ist es richtig, daß die Bank den Public key auf meinen PC sendet, wenn ich die Bankseite aufrufe und wie geschieht dann die Zuordnung? Ich vermute, daß der key im Hauptspeicher liegt und ich da nicht so einfach rankomme. Ich hab schon öfter Https Seiten aufgerufen, aber da ist noch nichts über den Schlüssel zu sehen. Eigentlich müßte die Zuordnung über ein extra Programm laufen, daß gleichzeitig mit dem Browser aufgerufen wird.

Der Public Key wird von der Bank an Dich geschickt. Aber - nun kommen wir zum Thema Signaturen - er ist von einer der großen
Trustcenter wie z.B. VeriSign signiert. Sprich, VeriSign
garantiert, daß der Public Key XY der Bank "Volksbank
blabla" gehört und deren Seite www.volksbank-blabla.de ist.
Dein Browser ist nun wiederum so eingestellt,
daß er alles, was von VeriSign signiert ist, akzeptiert,
ohne eine Warnung auszugeben. (*)

Signieren funktioniert im Wesentlichen so: Die Nachricht
(oder genauer gesagt, eine kürzere aus ihr errechnete Repräsentation davon, genannt Hash) wird mit den privaten Schlüssel (den hat nur die Zert.-Stelle selber!) der Zertifizierungsstelle verschlüsselt. Will ich nun wissen, ob
die Nachricht wirklich von der Zertifizierungsstelle signiert
worden ist, so entschlüssle ich den verschlüsselten
Hash-Key mit dem Public Key dieser Zertifizierungsstelle
(CA). Stimmt der entschlüsselte Hash-Wert mit dem von mir errechneten Hash-Wert der empfangenen Nachricht überein (der Hash-Algorithmus
ist öffentlich), so weiß ich, daß die Nachricht
a) wirklich vom Absender signiert wurde und b) nicht
zwischendurch verändert wurde.

Die URL der Bank nehme ich mit in den Signierungsprozeß
auf, sodaß kein Angreifer sich einen offiziellen
Schlüssel mit Zertifikat bei der CA besorgen kann und seinen eigenen Server als Bankserver ausgeben kann... Denn dann
würde keine Warnung erscheinen!
Dann würde der Browser sagen "Das Zertifikat ist für
www.hacker-ip.de ausgestellt, die IP-Adresse gehört
aber garnicht zu www.volksbank-blabla.de, hier stimmt
was nicht!".

Der (*) weiter oben wird dadurch erreicht, daß die Browser
die Public-Keys aller großen CAs einprogrammiert
haben. Und mit dem kann der Browser dann auch, quasi
eine Stufe drunter, den von der CA signierten
public key, den mir mein Bankserver schickt, auf
Echtheit überprüfen.

Das schöne ist, daß diese Überprüfungen der online geschickten Signatur selber keine Online-Verbindung erfordert! Denn
diese könnte ein Angreifer ja fälschen.

Deshalb bekommt man bei vielen "selbstgebastelten"
https:// Servern eine Warnmeldung, weil diese Zertifikate
eben nicht von einer der großen CAs signiert wurden.
Denn das kostet Asche! ;)

Wenn den Public Key jemand aus dem Speicher ausliest,
so macht das nichts, denn er ist wirklich öffentlich.

Es funktioniert so:
Der Trust Center (CA) kann eine Nachricht mit dem Private key verschlüsseln und der Kunde mit dem Public Key entschlüsseln - so kann der Kunde nachprüfen, ob die Nachricht (also auch
z.B. ein weiterer Public key) wirklich in dieser Form
vom Absender stammt. Anders kann man die
Nachricht nicht bekommen!

Man kann aber auch als Kunde mit dem public key verschlüsseln,
der Trust Center (oder wer auch immer) kann dann nur mit
seinem Private key entschlüsseln. Anders kann man die
Nachricht nicht bekommen.
Selbst wenn er seinen Rechner komplett zerlegt und jedes
einzelne Bit aus dem Speicher ausliest, nichts zu machen.
Zum "Knacken" des Schlüssels muß man an den Private key
ran, und der ist auf rechnerischem Wege nicht zu bekommen,
da hilft nur Einbruch im Hochsicherheits-Rechenzentrum
der CA... Welch Vergnügen ;-)

Ein Betrüger könnte also nun - um zum Originalthema
zurückzukommen - versuchen, den Kunden z.B. davon
zu überzeugen, daß die Bank den Private Key gewechselt
hat (damit auch die public keys), und daß die
Warnmeldungen wegen fehlender Zertifizierung doch
bitte zu ignorieren sind. Dann könnte ein Angreifer
sich dazwischen schalten und mit seinen eigenen
Keys die Verbindung aufbauen, dem Kunden eine Webseite
Vorgaukeln und die Daten für sich behalten.

Wenn Du Dir das mit den Zertifikaten ansehen willst,
einfach mal auf das Schloß, was bei den meisten
Browsern beim Aufrufen einer https://- Seite unten rechts o.ä. erscheint, anklicken.
Um alles noch besser zu machen, laufen die Zertifikate
irgendwann ab. So könnte, wenn irgendwer den
Private Key der Bank klaut, er wenigstens nur eine
Zeit lang damit sein Unwesen treiben, und die Listen
der widerrufenen Schlüssel (sowas gibt's) werden nicht
so lang.

Aber wie man heutzutage sieht, funktioniert Phishing
viel einfacher auch ohne Verschlüsselung, weil die Leute manchmal zu naiv sind.


Ich hoffe, das alles war jetzt nicht zu verworren dahingetippt ;)

Gruß
Phil
Menü
[1.1.1.1] Quehl antwortet auf birdyy
28.05.2005 20:16
danke, muß ich mir erst mal in Ruhe durchlesen.
Ich hab mal einen Virus gehabt, der von Verisign signiert war.
Ist da Verisign nicht vertrauenswürdig, weil sie jeden Mist signieren?

mfg
Quehl
Menü
[1.1.1.1.1] birdyy antwortet auf Quehl
30.05.2005 08:44
Benutzer Quehl schrieb:

Hi Quehl,

danke, muß ich mir erst mal in Ruhe durchlesen. Ich hab mal einen Virus gehabt, der von Verisign signiert war. Ist da Verisign nicht vertrauenswürdig, weil sie jeden Mist signieren?

Ne, das ist ja schon OK - Verisign muß alles signieren,
die können ja nicht prüfen, was der Nutzer (also der
Virenschreiber) mit dem ausgestellten
Zertifikat macht.

Die Signierung garantiert nur
"Der angegebene Absender ist korrekt!". Mehr soll sie
ja auch nicht.

Dann kann der User selber entscheiden, ob er
jeder Briefkastenfirma vertraut. Er weiß jedenfalls garantiert,
daß der Inhalt von dort stammt.

Vor einiger Zeit gab es aber auch mal einen Fall,
in dem fälschlicherweise ein Zertifikat auf
Microsoft ausgestellt wurde, der Absender war
gar nicht MS .... Aber daraus wurde hoffentlich
gelernt ;)

Gruß
Phil