Hi,
Mich würde interessieren wie die auth. Methode bei SSH über
RSA funktioniert.
Das ist ja ein Public-Key Verfahren und wie der Datenaustausch
so funktioniert ist mir auch klar:
http://ddi.cs.uni-potsdam.de/Lehre/e-commerce/elBez2…
Public-Keys von Sender u. Empfänger werden einander
bekanngegeben.
Sender verschlüsselt Daten mit Pub. von Empfänger.
Daten können nur mit Priv-Key vom Empfänger wieder
entschl. werden
Stimmt das so weit???
Ja.
Wenn das so stimmt schlussfolgere ich daraus, dass mit dem
Pub. vom Gegenüber keine Daten entschlüsselt werden können?
==> Pub. ist zum Verschlüsseln
Nein.
Wie funktioniert das dann mit der Authentifizierung
Der Server erzeugt eine lange Zufallszahl und verschluesselt diese mit dem ihm bekannten public key des potentiellen Empfaengers. Nur der richtige Empfaenger hat den passenden secret key zu dem dem server bekannten public key und kann damit die verschluesselte Zufallszahl richtig entschluesseln. Anschliessend verschluesselt er die Zufallszahl mit seinem secret key und schickt sie an den Server zurueck. (Verschluesseln mit secret key heisst auch Signieren.) Der Server entschluesselt die verschluesselte Zufallszahl mit dem vorher verwendeten public key (aka. Signatur pruefen) und stellt fest, ob sie identisch zur von ihm gesendeten Zufallszahl ist. Ist das gegeben war die Authentifizierung erfolgreich.
Dieses Verfahren wird uebrigens zur Authentifizierung von hosts und Nutzern verwendet. Bemerkenswert an der Methode finde ich ausserdem, dass in dem Prozess selbst 1. niemals ein key und 2. niemals eine unverschluesselte Nachricht transferiert wird. Da kann man ja mal drueber nachdenken, was das bedeutet…
Das heißt der Public-key kann zur Entschlüsselung der Daten
verwendet werden???
Es gibt keine besondere Zuordnung, wofuer die Schluessel gebraucht werden koennen. Es werden einfach zwei zusammengehoerende keys KeyA und KeyB erzeugt. In der Kommunikationskette sind dann immer beide keys notwendig. Verschluesselt man mit KeyA muss man mit KeyB entschluesseln. Verschluesselt man mit KeyB muss man mit KeyA entschluesseln. Daher spricht man von Asymmetrie.
Ob die Verschluesselung jetzt Signatur oder Geheimhaltung bedeutet wird erst definiert, wenn man willkuerlich einen von KeyA oder KeyB zum public und den anderen zum secret key erklaert. Verschluesselung mit einem public key kann nur mit dem zugehoerigen secret key (und damit nur dessen Besitzer was optimalerweise nur eine Identitaet sein sollte) rueckgaengig gemacht werden. Man erreicht also Geheimhaltung. Verschluesselung mit dem secret key kann nur von dessen Besitzer vorgenommen werden, die Entschluesselung aber von jedem, der den public key hat (was idealerweise jeder ist). Man erreicht man also Authentifizierung (und zwar gegenueber einem secret key, nicht einer Identitaet).
Die konkrete Anwendung asymmetrischer Kryptographie hat uebrigens diverse Feinheiten, letzten Endes laeuft es aber immer darauf hinaus.
Gruss vom Frank.