Willkommen |
|
myGully |
|
Links |
|
Forum |
|
|
|
|
11.02.14, 10:48
|
#1
|
Newbie
Registriert seit: Apr 2013
Beiträge: 50
Bedankt: 43
|
Verschlüsselungsverfahren - Sicherheit?
Hallo,
Ich habe mich ein wenig in das Thema Verschlüsselungsverfahren eingelesen und habe eine Frage zu der Sicherheit. Besonders die aktuell verwendeten um Passwörter von Homepages zu verschlüsseln.
Alle Verfahren erzeugen einen Hash, dieser wird in einer Datenbank gespeichert. Bei einem Login wird das eingegebene Passwort verschlüsselt und mit dem gespeicherten Hash verglichen. Es ist ja allgemein bekannt das MD5 nicht mehr verwendet werden soll, da erstens große Rainbowtables im Umlauf sind und zweitens relativ "einfach" Kollisionen erzeugt werden können.
Es gibt ja genug mathematisch bessere Methoden zum Hashen als MD5, aber ist das Problem mit den Rainbowtables nicht das gleiche? Sobald eine Methode weit verbreitet ist, sei sie noch so sicher, bekommt doch immer das Problem, das früher oder später, Rainbowtables im Umlauf sind, mit denen die Verschlüsselung einfach umgangen wird.
Mir ist natürlich bewusst das ein Salt zusätzlichen Schutz bietet, aber sobald Zugang zu der Datenbank mit den Passwörtern besteht, ist die Sache doch so gut wie gelaufen?
Oder muss ein ganz anderes Verfahren entwickelt werden, um die Sicherheit im Netz zu erhöhen?
Mfg,
George
__________________
Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert, der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.
|
|
|
11.02.14, 12:22
|
#2
|
Echter Freak
Registriert seit: Mar 2010
Ort: /home/spartan-b292
Beiträge: 2.856
Bedankt: 1.700
|
Der Sinn bei einem Lookuptable ist, dass dieser vorher berechnet wird und dann auf alle passenden Datensätze angewendet wird. Also sagen wir du hast einen LT für SHA256, du nimmst die Hashes und schlägst sie in deinem Lookuptable nach. Das geht schnell wenn kein Salt-Algorithmus verwendet wird.
Wenn jetzt aber ein Salt-Algorithmus verwendet wird, passiert folgendes:
Ein Benutzer legt beispielsweise einen Account an mit 'User' und 'Passwort', jetzt wird für ihn ein Salt zufällig generiert und in der Datenbank gespeichert. Der Hash der jetzt gespeichert wird ist dann SHA256('Password'+Salt). Da du das jetzt für jedes Passwort machst bringt dir dein Lookuptable nichts weil du den Salt nicht kennst. Selbst wenn du jetzt eine Datenbank hast und Salt kennst müsstest du den Lookuptable mit Salt neu erstellen.
__________________
"They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety"
|
|
|
11.02.14, 15:33
|
#3
|
Newbie
Registriert seit: Apr 2013
Beiträge: 50
Bedankt: 43
|
Danke, dann habe ich wohl etwas zu ungenau gelesen. Ich dachte es wird ein einziger Salt für die komplette Datenbank verwendet. Diese Methode nennt sich aber Pepper.
Damit machen für mich auch lange Schlüsselängen Sinn. Es muss "nur" noch sichergestellt werden, dass keine Kollisionen auftreten (neben anderen Eigenschaften, die ein guter Verschlüsselungsalgorithmus erfüllen muss)
Danke spartan
__________________
Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert, der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.
|
|
|
11.02.14, 15:41
|
#4
|
Echter Freak
Registriert seit: Mar 2010
Ort: /home/spartan-b292
Beiträge: 2.856
Bedankt: 1.700
|
Selbst wenn für alle Datensätze der gleiche Salt verwendet wird, bietet das immer noch einen Schutz vor Angriffen mit Lookuptables.
Der Sinn hinter einem Lookuptable ist ja ihn einmal mit möglichst vielen möglichen Passwörtern zu erstellen und dann immer wieder zu benutzen, das reduziert die Zeit die ein Angreifer braucht im vergl. zu Brute Force erheblich. Da der Salt aber zufällig gewählt wird und der Angreifer ihn (im Idealfall) nicht kennt, kann er ihn auch nicht beim erstellen des LT miteinbeziehen.
__________________
"They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety"
|
|
|
Forumregeln
|
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren
HTML-Code ist Aus.
|
|
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:21 Uhr.
().
|