ubuntuusers.de

SSH Unterschied Public / Private Key

Status: Ungelöst | Ubuntu-Version: Xubuntu 14.04 (Trusty Tahr)
Antworten |

completeNoob

Anmeldungsdatum:
26. Februar 2015

Beiträge: 29

Hiho,

mal ne Verständnisfrage: Gibt es einen qualitativen Unterschied zwischen dem Public- und dem Private-Key?

Wenn ich es richtig verstanden habe, ist der Unterschied nur nominell, oder?

redknight Team-Icon

Moderator & Supporter
Avatar von redknight

Anmeldungsdatum:
30. Oktober 2008

Beiträge: 21847

Wohnort: Lorchhausen im schönen Rheingau

äääh wat?

Thomas_Do Team-Icon

Moderator
Avatar von Thomas_Do

Anmeldungsdatum:
24. November 2009

Beiträge: 8808

Der Public-Key dient zur Verschlüsselung und wird veröffentlicht (> public). Der Private-Key ist (hoffentlich) nur dem legitimen Empfänger der Nachricht bekannt (> private) und dient zur Entschlüsselung. Aus dem Public-Key kann der Private-Key nicht abgeleitet werden. Diese Art der Kryptografie funktioniert immer nur mit dem Schlüsselpaar. Bei SSh liegt der Public-Key auf dem Server.

Edit: Steht natürlich auch ausführlich im Wiki.

completeNoob

(Themenstarter)

Anmeldungsdatum:
26. Februar 2015

Beiträge: 29

Ok, etwas umständlich formuliert, aber thx für die Antworten^^

Was ich meine: Ich könnte auch den Private key verschicken und den Public key behalten, oder?

Oder noch einfacher: Wenn ich ein Schlüsselpaar erstelle, ist es egal welchen Schlüssel ich Private oder Public nenne, oder?

Jean_Baptiste_le_Rond

Anmeldungsdatum:
26. Oktober 2008

Beiträge: 355

Nein, es ist genau so, wie Thomas_Do schreibt.

Konzeptionell könnten sie vielleicht austauschbar sein, aber, meines Wissens, lässt sich in den meisten Implementierungen der eine (public) aus dem anderen (private) generieren.

Thomas_Do Team-Icon

Moderator
Avatar von Thomas_Do

Anmeldungsdatum:
24. November 2009

Beiträge: 8808

completeNoob schrieb:

Oder noch einfacher: Wenn ich ein Schlüsselpaar erstelle, ist es egal welchen Schlüssel ich Private oder Public nenne, oder?

Aufgrund der asymetrischen Algorithmen ist das m.E. nicht möglich. Habe mir die Verfahren aber nicht so genau angeschaut. Aber probier es aus: Wenn Du Dich nach dem Schlüsseltausch nicht mehr einloggen kannst, hatten wir recht 😈.

completeNoob

(Themenstarter)

Anmeldungsdatum:
26. Februar 2015

Beiträge: 29

@JeanBaptiste Thomas_Do beantwortet aber nicht meine Frage, sondern beschreibt das SSH_Authentifizierungverfahren...

Jean_Baptiste_le_Rond

Anmeldungsdatum:
26. Oktober 2008

Beiträge: 355

Hab oben noch ein edit angebracht: Konzeptionell könnten sie vielleicht austauschbar sein, aber, meines Wissens, lässt sich in den meisten Implementierungen der eine (public) aus dem anderen (private) generieren.

completeNoob

(Themenstarter)

Anmeldungsdatum:
26. Februar 2015

Beiträge: 29

@ Thomas_Do Aber wenn ich was digital signiere, nehme ich doch auch den Private Key, verschlüssel damit etwas, und nur der Public Key kann es wieder entschlüsseln, oder?

toni52

Anmeldungsdatum:
4. März 2015

Beiträge: 664

Hallo,

signieren und verschlüsseln ist nicht das Gleiche.

signieren = Unterschreiben einer Nachricht

verschlüsseln = Einpacken und den Inhalt verbergen

mfg

Thomas_Do Team-Icon

Moderator
Avatar von Thomas_Do

Anmeldungsdatum:
24. November 2009

Beiträge: 8808

completeNoob schrieb:

@ Thomas_Do Aber wenn ich was digital signiere, nehme ich doch auch den Private Key, verschlüssel damit etwas, und nur der Public Key kann es wieder entschlüsseln, oder?

Ich hab noch mal kurz nachgelesen: Zumindest für RSA könntest Du Recht haben, weil das Verfahren tatsächlich auch für Signaturen verwendet wird. Ausprobieren!

ostcar Team-Icon

Ehemalige
Avatar von ostcar

Anmeldungsdatum:
27. Juli 2006

Beiträge: 2748

Wohnort: Leipzig

Mathematisch gesehen gibt es überhaupt keinen Unterschied. Es werden zwei zusammengehörige Schlüssel erstellt die erstmal gleich sind. Erst danach werden sie unterschiedlichlich behandelt.

Einer von beiden bekommt den Namen "öffentlich" und wird in die Datei id_rsa.pub gespeichert. Und zwar unverschlüsselt.

Der andere wird in die Datei id_rsa gespeichert und verschlüsselt.

Nun wird der eine öffentlich im Internet verteilt und der andere unter Verschluss gehalten.

Der Unterschied entsteht also nur durch die ungleiche Behandlung.

Wie das Verfahren bei RSA funktioniert wird in Wikipedia gut erklärt: https://de.wikipedia.org/wiki/RSA-Kryptosystem das Verfahren definiert, dass erst der öffentliche Schlüssel aus einer bestimmten Zahlenfolge gewählt wird und daraufhin der öffentliche Schlüssel berechnet wird. Wenn ich es richtig verstehe ist es jedoch egal, es könnte auch der private Schlüssel gewählt werden und der öffentliche Schlüssel errechnet werden. Als nicht Mathematiker verstehe ich das Verfahren jedoch nicht vollständig und es mag doch einen Grund geben, weshalb der gewählte Schlüssel der öffentliche und der errechnete der private ist.

jug Team-Icon

Ehemalige
Avatar von jug

Anmeldungsdatum:
19. März 2007

Beiträge: 12335

Wohnort: Berlin

ostcar schrieb:

Nun wird der eine öffentlich im Internet verteilt und der andere unter Verschluss gehalten.

Der Unterschied entsteht also nur durch die ungleiche Behandlung.

Formal mathematisch richtig. Allerdings kann es wie Jean_Baptiste_le_Rond schon richtig eingeworfen hat, kann es je nach Implementierung durchaus sein, dass der „Private Key“, bzw die Datei in der dieser liegt, zusätzlich auch den Public Key enhält und dieser extrahiert werden kann. Ich kann ehrlich gesagt auch nicht sagen, wie die Dateien von SSH intern aufgebaut sind. Sie haben zumindest bei mir deutlich unterschiedliche Größen.

Ich würde deshalb davon abraten die Dateien einfach zu tauschen. Das hat schon einen Sinn, weshalb das unterschieden wird, und sei es nur, damit man nicht versehentlich die falsche Datei schickt.

~jug

completeNoob

(Themenstarter)

Anmeldungsdatum:
26. Februar 2015

Beiträge: 29

Es gibt anscheinend doch einen qualitativen Unterschied zwischen den beiden Schlüsseln. Den Hinweis darauf hab ich im Putty-Artikel gefunden, dort steht sinngemäß, daß man den Public Key nicht unbedingt speichern brauch, da man ihn mit Hilfe des Private Keys errechnen kann. Da SSH nicht sicher wäre, wenn dies auch umgekehrt möglich wäre, muss es einen Unterschied geben! (Oder ich bekomme gleich Besuch.... 😀 )

ostcar Team-Icon

Ehemalige
Avatar von ostcar

Anmeldungsdatum:
27. Juli 2006

Beiträge: 2748

Wohnort: Leipzig

completeNoob schrieb:

Es gibt anscheinend doch einen qualitativen Unterschied zwischen den beiden Schlüsseln. Den Hinweis darauf hab ich im Putty-Artikel gefunden, dort steht sinngemäß, daß man den Public Key nicht unbedingt speichern brauch, da man ihn mit Hilfe des Private Keys errechnen kann. Da SSH nicht sicher wäre, wenn dies auch umgekehrt möglich wäre, muss es einen Unterschied geben! (Oder ich bekomme gleich Besuch.... 😀 )

Ich glaube das liegt daran, dass SSH den öffentlichen Schlüssel in die Datei des privaten Schlüssels mit rein speichert. Das ist jedoch eine Besonderheit von SSH und hat nichts mit dem darunter liegendem Algorithmus (zum Beispiel RSA) zu tun.

Sicher bin ich mir jedoch nicht.

Antworten |