Benutzer-Werkzeuge

Webseiten-Werkzeuge


signatur:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
signatur:start [2023/11/29 08:33] – [Speichern von Passwörtern als salted hash] Martin Pabstsignatur:start [2023/12/06 07:50] (aktuell) Martin Pabst
Zeile 1: Zeile 1:
 ====== Digitale Signatur ====== ====== Digitale Signatur ======
  
-===== Kryptographische Hashfunktion ===== 
 <WRAP center round info 80%> <WRAP center round info 80%>
-Eine **Kryptographische Hashfunktion** ist ein Algorithmus, mit dem der man eine Menge länger Schlüssel in eine Menge kurzer Hashwerte umwandeln kann, so dass letztere möglichst eindeutig sindDie kryptographische Hashfunktion muss dabei so beschaffen sein, dass sich aus den Hashwerten möglichst keine Rückschlüsse auf die Schlüssel ziehen lassen. \\ \\  +Zweck der Signatur ist es, nachzuweisen, dass ein Text sicher von einer bestimmten Person erstellt wurde. Der **RSA-Algorithmus** kann so **abgewandelt** werdendass mit dem **privaten** Schlüssel **verschlüsselt** und mit dem **öffentlichen** Schlüssel **entschlüsselt** wirdEin Absender generiert daher ein RSA-Schlüsselpaar und veröffentlicht den öffentlichen Schlüssel. 
-Die derzeit am häufigsten verwendet Hashfunktion ist **SHA**. Eine weitere sehr bekannte - aber veraltete und als unsicher eingestufte - Hashfunktion ist **md5**Hier eine [[http://www.sha1-online.com/|schöne Seite zum Ausprobieren verschiedener Hashfunktionen.]]+\\ \\  
 +**Einfache (nicht praktizierte) Variante zum Signieren einer Nachricht:** 
 +Der Absender könnte die Nachricht digital signieren, indem er sie mit seinem privaten Schlüssel verschlüsselt und den verschlüsselten Text mit zum Empfänger sendetDer Empfänger entschlüsselt mithilfe des öffentlichen Schlüssels den verschlüsselten Text und vergleicht ihn mit der Nachricht. Falls beide gleich sind, weiß er, dass die Nachricht vom Sender stammt und unverfälscht ist.  
 +{{ :signatur:pasted:20231204-110025.png?500 }}
 </WRAP> </WRAP>
  
-==== Anwendung: Speichern von Passwörtern als salted hash ====+ 
 <WRAP center round info 80%> <WRAP center round info 80%>
-Immer wieder kommt es zu erfolgreichen Hackerangriffen gegen Server großer Firmenwie beispielsweise [[https://www.heise.de/news/Hacktivisten-knacken-Datenbank-von-Sony-Pictures-1254485.html|2011, als Hacker Vollzugriff auf die Datenbank von Sony Pictures erlangten.]] Neben dem wirtschaftlichen Schaden durch Zugriff auf interne Firmendaten entsteht oft ein massiver Schaden für Millionen von Kunden, wenn es den Hackern gelingt, Zugriff auf deren Benuternamen, Mailadressen und Passwörter zu erlangenOft verwenden Nutzer für verschiedene Accounts nämlich dasselbe Passwort, so dass es Hackern gelingt, auf deren Daten bei ganz anderen Servern Zugriff zu erlangen. \\ \\  +Das obige Verfahren wird in der Praxis nicht so gehandhabtda die Entschlüsselung mit dem RSA-Algorithmus sehr rechenintensiv ist und die Datenmenge zum Versenden verdoppelt wird
-Damit Hacker auch bei Vollzugriff auf einen Server keinen Zugriff auf Passwörter erlangen können, speichert man diese nicht im Klartext, sondern als **salted hash**. Das funktioniert folgendermaßen+Man geht daher wie folgt vor
-{{ :signatur:pasted:20231129-092448.png?500 }} +  * a) Der Sender erzeugt mithilfe einer kryptographischen Hashfunktion einen Hashwert des Textes
-{{ :signatur:pasted:20231129-092513.png?500 }} +  * b) Der Sender verschlüsselt den Hashwert mit seinem privaten Schlüssel und hängt ihn an den Text an
-Aus den **salted hash**-Wertendie in der Datenbank gespeichert sindlassen sich nur mit unverhältnismäßig hohem Aufwand wieder Klartextpasswörter errechnen. Daher sind die Passwörter der User selbst dann nicht gefährdet, wenn Hacker auf die Datenbank mit den salted hashes Zugriff erlangen. +  * c) Der Empfänger entschlüsselt den übermittelten Hashwert ( = hash1) 
-</WRAP>+  d) Der Empfänger berechnet den Hashwert des übermittelten Textes ( = hash2) 
 +  e) Der Empfänger vergleicht hash1 und hash2. Stimmen sie übereinso weiß erdass der Text vom Sender stammt und unverfälscht ist.
  
-<WRAP center round todo 60%> +{{ :signatur:pasted:20231204-112514.png?500 }}
-Warum ist das **salt** nötig? Es würde doch reichen, die Hashes der Passwörter zu speichern? \\ \\  +
-//**Tipp:** Recherchieren Sie zur Beantwortung dieser Frage, was "rainbow tables" sind.//+
 </WRAP> </WRAP>
 +
 +
  
signatur/start.1701246805.txt.gz · Zuletzt geändert: 2023/11/29 08:33 von Martin Pabst

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki