Forum: PC-Programmierung Verschlüsseln UND Signieren


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Frank (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo MC-Gemeinde,

ich beschäftige mich grad mit HTTPS und habe eine kleine 
Verständnisfrage:

Warum muss ich bei Public-Key-Verfahren eine Nachricht verschlüsseln UND 
signieren?

Angenommen, ich habe einen lesbaren Klartext. Wenn ich den mit meinem 
privaten Schlüssel verschlüssele und der Empfänger kennt sicher meinen 
öffentlichen Schlüssel, dann kommt bei ihm wieder lesbarer Klartext 
raus. Es wäre also offenkundig, dass die Nachricht A) nicht verändert 
wurde und B) wirklich von mir stammt. Denn ohne den korrekten 
öffentlichen Schlüssel käme kein sinnvoller Text raus.

In diesem Fall brauche ich also keine Signatur, die Verschlüsselung 
reicht.

Eine Signatur bräuchte ich aber, wenn die Originalnachricht kein 
sinnvoller Text wäre, z.B. eine Musikdatei. Da ist nicht offensichtlich, 
dass die Nachricht unverfälscht ist.

Stimmt die Argumentation so?

von Stefan ⛄ F. (stefanus)


Bewertung
0 lesenswert
nicht lesenswert
Bist su sicher, daß es hier um HTTPS geht, nicht um Emails?

> Warum muss ich bei Public-Key-Verfahren eine Nachricht
> verschlüsseln UND signieren?

Warum glaubst du das zu müssen?

In meinem EMail Programm (Thunderbird mit Enigmail) habe ich z.B. zwei 
Button, einen zum Verschlüsseln und einen zum Signieren. Beide kann ich 
unabhängig voneinander verwenden.

von Jan H. (j_hansen)


Bewertung
0 lesenswert
nicht lesenswert
Frank schrieb:
> Warum muss ich bei Public-Key-Verfahren eine Nachricht verschlüsseln UND
> signieren?

Musst du doch nicht.

Das "Public" in "Public-Key" bedeutet "öffentlich". Also "jeder" kann 
mit dem öffentlichen Schlüssel etwas verschlüsseln und dir schicken. Nur 
du kannst es entschlüsseln, mit deinem privaten Schlüssel.
Wenn du jetzt wissen möchtest, ob Hinz oder Kunz dir die Nachricht 
geschickt hat, dann müssen sie diese signieren.

von Peter II (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Frank schrieb:
> ich beschäftige mich grad mit HTTPS und habe eine kleine
> Verständnisfrage:
schön

> Angenommen, ich habe einen lesbaren Klartext. Wenn ich den mit meinem
> privaten Schlüssel verschlüssele und der Empfänger kennt sicher meinen
> öffentlichen Schlüssel
so wird das aber nicht gemacht. Die Nachricht wir mit dem Öffentlichen 
Schlüsseln vom Empfänger verschlüsselt damit weis der Empfänger nicht 
wer die Nachricht geschickt hat.

> Warum muss ich bei Public-Key-Verfahren eine Nachricht verschlüsseln UND
> signieren?

bei https werden die Nachrichten nicht Signiert. Die Daten werden nur 
AES (oder ähnlich) verschlüsselt. Beim Schlüsselaustausch werden 
Zertifikate geprüft, diese sind Signiert.


Besser ist es sich SMIME anzuschauen, dort kann man Nachrichten 
Verschlüsseln und/oder Signieren.
Also
  Verschlüsseln + Signatur
  nur Verschlüsseln
  nur Signieren

von Peter II (Gast)


Bewertung
2 lesenswert
nicht lesenswert
Nachtrag:

Frank schrieb:
> Angenommen, ich habe einen lesbaren Klartext. Wenn ich den mit meinem
> privaten Schlüssel verschlüssele und der Empfänger kennt sicher meinen
> öffentlichen Schlüssel

Wenn es so gemacht wird, ist die Verschlüsselung sinnlos. Dann dein 
öffentlicher Schlüssel ist ja Öffentlich - damit kann jeder die 
Nachricht lesen.

von Felix U. (ubfx)


Bewertung
0 lesenswert
nicht lesenswert
Peter II schrieb:
>> Warum muss ich bei Public-Key-Verfahren eine Nachricht verschlüsseln UND
>> signieren?
>
> bei https werden die Nachrichten nicht Signiert. Die Daten werden nur
> AES (oder ähnlich) verschlüsselt. Beim Schlüsselaustausch werden
> Zertifikate geprüft, diese sind Signiert.
Das stimmt so nicht. Natürlich ist eine Signatur nach dem Aushandeln 
eines symmetrischen Schlüssels nicht mehr notwendig. Vorher aber, und 
das ist genau die Phase wo Public-Key Verfahren zum Einsatz kommen, 
braucht man natürlich Signaturen. Konkret bei der Verifikation des 
Serverzertifikats.


Frank schrieb:
> Angenommen, ich habe einen lesbaren Klartext. Wenn ich den mit meinem
> privaten Schlüssel verschlüssele und der Empfänger kennt sicher meinen
> öffentlichen Schlüssel, dann kommt bei ihm wieder lesbarer Klartext
> raus. Es wäre also offenkundig, dass die Nachricht A) nicht verändert
> wurde und B) wirklich von mir stammt. Denn ohne den korrekten
> öffentlichen Schlüssel käme kein sinnvoller Text raus.

Was ein sinnvoller Text ist, liegt immer im Auge des Betrachters. Was 
mancherorts im Internet verzapft wird, könnte jedenfalls kein 
Algorithmus als lesbaren Text erkennen. Grundsätzlich findet eine 
Überprüfung ob etwas richtig oder falsch entschlüsselt wurde, mit einer 
Prüfsumme oder einem Hash statt. Das funktioniert dann bei Musikdateien 
genau wie bei Texten.

Der Grund, dass man eine Signatur braucht liegt eben darin, dass man bei 
asymmetrischen Verfahren immer nur eins von beidem erreicht:
-Verschlüsselt man mit dem public key, ist die Nachricht vor Mitlesern 
geschützt. Die Authentizität lässt sich aber nicht feststellen, weil 
jeder die Nachricht mit dem öffentlichen Schlüssel hätte verschlüsseln 
können.
-Verschlüsselt man mit dem private key ("Signieren"), weiß man sicher 
wer es verschlüsselt hat, aber dafür kann es jeder lesen.

In der Realität bildet man einen Hash über die Nachricht, und 
verschlüsselt den dann mit dem Private Key. Das ist dann die Signatur.

von Toxic (Gast)


Bewertung
0 lesenswert
nicht lesenswert

von T.roll (Gast)


Bewertung
-1 lesenswert
nicht lesenswert

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.