Ist es schlau ein Hash wieder zu hashen?

5 Antworten

WPA nutzt zB eine derartiges mehrfaches hashen. In dem Fall nicht 2x sondern 4096x (wenn ich mich recht erinnere)...

Das Ergebnis kann man hier gut sehen: https://gist.github.com/epixoip/a83d38f412b4737e99bbef804a270c40

Ob das prüfen eines Passworts bei der Eingabe 0,001 oder 0,4 Sekunden dauert ist für den Login-Vorgang unerheblich aber beim Knacken des hashes wird der Angreifer deutlich ausgebremst. Das kann den Unterschied ausmachen ob ein Bruteforce-Angriff "nur" ein paar Tage oder ein paar Jahre dauert...

Es gibt aber diverse andere Techniken die das PW oder die Login-Session erbeuten können:

  1. Phising / Social Engeneering
  2. Trojaner die Session-Cookies oder gespeicherte PW stehlen
  3. XSS in der Seite um Cookies zu erbeuten
  4. Keylogger
  5. usw.

Mehrfaches Hashen sorgt also m.M.n. für mehr Sicherheit da Angriffe einfach länger dauern und oftmals scheitern Scriptkiddies an derartigen Hürden da eben keines der 0815-Tutorials funktionieren wird...

Woher ich das weiß:Berufserfahrung – Softwareentwickler f. Web, Win. & Linux (seit 2001)

Es kommt drauf an was du erreichen willst


xBlackMass 
Beitragsersteller
 10.02.2020, 11:03

Mehr SIcherheit

0
triopasi  10.02.2020, 11:04
@xBlackMass

Mehr Sicherheit bringt das nicht wirklich, nein.

Die Schwachstelle ist meist sowieso das Passwort selbst und nicht der Hash.

0
  1. SHA256 ist sowieso nur „security by obscurity“ AFAIK...
  2. d. h.: es ist nicht bewiesen, dass es nicht leicht ist, eine Eingabe zu konstruieren, die einen bestimmten SHA256-Wert hat...
  3. das doppelte hashen hilft nicht, glaube ich... es könnte vielleicht sogar schädlich sein... nur weil es obskurer ist, bedeutet es nich, dass es sicherer ist... grins

Isendrak  10.02.2020, 11:19
SHA256 ist sowieso nur „security by obscurity“ AFAIK...

Da verwechselst du wohl SHA256 und MD5 miteinander.

es ist nicht bewiesen, dass es nicht leicht ist, eine Eingabe zu konstruieren, die einen bestimmten SHA256-Wert hat...

Es ist ebenfalls nicht bewiesen, dass es leicht ist...

1
RIDDICC  10.02.2020, 12:46
@Isendrak

öhm? es geht um Sicherheit... und da soll ich mich auf Vermutungen und nicht vorhandenes Wissen verlassen... keine Wunder, dass es ins Handy von Frau Merkel dauernd reinschneit... LOL

0
triopasi  10.02.2020, 12:50
@RIDDICC

Das Problem ist eher die Definition von leicht. Und vielleicht gibt es auf diesem Planeten einfach noch keinen der die Schachstelle in xyz gefunden hat. Das kann sein. Auch Beweise könnten ja fehlerhaft sein.

Die Praxis und die Wmpfehlungen der Behörden zeigen jedoch: SHA256 gilt bisher als recht sicher, wobei man langsam schon auch SHA384 oder SHA512 gehen sollte für kritische Anwendungen.

1
RIDDICC  10.02.2020, 13:13
@triopasi
  1. da würd ich ja lieber einmal SHA512 als zweimal SHA256 rechnen...
  2. One Time Pad ist sicher... so als Richtschnur... damit wir uns verstehen... :)
0
triopasi  10.02.2020, 13:16
@RIDDICC

1. Tatsache. Oder zB eben zumindest 1.000 Mal SHA256.

2. Aber das ist kein Hash-Algo und in der Praxis eher nutzlos und kaum umzusetzen.

1
RIDDICC  10.02.2020, 16:06
@triopasi
  1. One Time Pad kann man bestimmt auch zum Hashen verwenden...
  2. man bildet zum Beispiel die Summe der Bytes modulo (2^512) und dann XOR-t man diese Summe mit den nächsten 512-Zufalls-Bits...
  3. LOL
  4. oda? ist jetzt nur son Schnellschuss von mir...
  5. wenn man verhindern will, dass bei bekannter Prüf-Summe die Zufalls-Bits einfach ausgerechnet werden, dann macht man es eben so wie ich es da mal getippt hab... gleich nach „vllt doch lieber so: *kicher*“: Link
0
triopasi  10.02.2020, 16:30
@RIDDICC

Frage ist: Ist ein OTP mit begrenzter Länge

1.) Collision Resistant?

2.) Kryptographisch noch sicher?

Schon bei 1 hätte ich erhebliche Zweifel. Bei 2 wegen der begrenzten Länge auch. Also fraglich ob das geht.

0
RIDDICC  10.02.2020, 17:59
@triopasi
  1. Collision resistance (CR): ja... hast recht... da du nur die Summe zu fälschen brauchst... hm... da gibt es aber bestimmt schon was, das erweislich sicher ist... ich find es nur grad nich... wenn man das unter meinem Punkt (5) verlinkte Verfahren verwendet, sind Manipulationen ziemlich unmöglich, so dass man auf Hash-Werte zur Integritätsprüfung ohnehin verzichten kann...
  2. begrenzt ist die Länge des Hash-Wertes doch immer... oda? was meinst du überhaupt mit „kryptographisch sicher“? ich kenn das nur im Zusammenhang mit Zufallszahlengeneratoren (da könnte man sich ja auf echten Zufall zurückziehen) und „kryptographische Hash Funktionen“ (da fehlt aber das „sicher“) (da geht es aber nur um CR): Cryptographic hash function
0
triopasi  10.02.2020, 18:16
@RIDDICC

Ein Prüfbit? Lustige Idee. Hashfunktionen werden auch benutzt im Prüfsummen zu berechnen. Da ist dann das Prüfbit 128bit und länger und das ist mitunter schon problematisch.. weil CR.

Ansonsten ist das Problem an einem XOR und dann der Summe zum Hashen, dass man nicht garantiert erkennen kann wenn 2 Zwichen vertauscht wurde. Ups. Und dann siehe den letzten Absatz, ein Prüfbit löst dieses grundliegende Problem auch nicht.

PS: Auch noch zu deinem Algorithmus: hash(abc) sollte immer == hash(abc) ein. Keine Ahnung wie das mit Zufallsbits im Hash funktionieren soll.

Man merkt wie viel Ahnung du hast. OTP ist keine Lösung für alles. Sonst gäb es keine Probleme mit Kryptographie. Aber schön, dass du zufällig genau einen Alogirthmus zur Verschlüsselung kennst.

0
RIDDICC  10.02.2020, 18:21
@triopasi
  1. Frechheit! LOL
  2. wo schreib ich was von nem „Prüfbit“?
  3. ich schreib, dass man OTP verwenden kann, um eine Nachricht nich nur zu verschlüsseln sondern auch deren Echtheit nachzuweisen...
  4. und meine OTP-Hash-Funktion von vorhin ist tatsächlich keine „kryptographische Hash Funktion“... hab ich doch schon zugegeben... warum reitest da noch drauf rum? nich gesehn? grins
  5. wofür du „kryptographische Hash Funktionen“ brauchst, weiß ich nich...
  6. das Gute an mir ist, dass meine Lösung funktioniert, während man deiner „Lösung“ nur derzeit mit öffentlich zugänglicher Forschung nich nachweisen kann, dass sie Schrott ist...
0
triopasi  10.02.2020, 18:25
@RIDDICC

Dann schildere mir bitte doch nochmal genau was dein Algorithnus tut. Ziel ist es zB

1.) ein Passwort unlesbar zu machen

Und

2.) Eine kurze Repräsentation einer Nachricht zu bekommen um Änderungen zu erkennen.

Bitte überzeuge mich, dass du da etwas geniales erfunden hast.

0
RIDDICC  10.02.2020, 18:38
@triopasi
  1. |das Passwort kann man na klar mit dem von mir unter Punkt (5) verlinkten Verfahren unlesbar machen... damit könnte man sogar ne einfache Prüfsumme (also nur die Bytes addieren in ner Restklassengruppe) sicher machen, weil du aus dem Chiffrat die Prüfsumme nich rausfindest, wenn du keinen Zugang zum Pad hast... mit Zugang zum Pad ist OTP na klar transparent... aber das wäre ja ohnehin der Fall, wenn man Zugang zu nem Passwort-File hat, dann würd ich ohnehin die Geheimhaltung für zerstört halten... d. h. bei mir sind diese lächerlichen SIP bezogenen Passwörter für jeden sichtbar, der Zugang zur Console hat...
  2. eine „kurze Repräsentation“ kriegt man mit dem von mir unter Punkt (5) verlinkten Verfahren gar nich hin... es ermöglicht nur, dass Änderungen erkannt werden... aber dazu muss man bis zum ersten falschen Bit lesen.... von vorn oder von hinten oder kunterbunt...
0
triopasi  10.02.2020, 18:53
@RIDDICC

Kleine Frage: Was it otp und was ist ktb? Und du verschlüsselt im Prinzip was? Eine Menge an Bytes in EIN Byte?

Ganz nebenbei holt das nur ein Byte aus einer Liste an Bytes. Verschlüsseln tut das leider gar nichts.

Tut mir leid, dass du von deiner Kompetenz so überzeugt bist.

0
RIDDICC  10.02.2020, 18:58
@triopasi
  1. ey! du bist aber emotional...
  2. hast also noch Verständnis-Fragen, bist dir aber schon sicher über dein abschließendes Urteil... witzig... find ich...
  3. also... „otp“ ist eine Deque, die die Zufalls-Bytes (also das Pad eben) enthält... und „ktb“ ist das „KlarTextBit“, das als nächstes verschlüsselt werden soll...
0
RIDDICC  10.02.2020, 19:21
@triopasi
  1. hast dich beruhigt...? LOL
  2. nur ein Wort: Atom-Müll-Endlager...
  3. z. B. Froin Tuberkels Asse... von gaaaanz tief unten... von da wo sie nich gemerkt hat, dass man ihr dortherinnen was hinein getan hat... also die starken Zylinder...
0
triopasi  10.02.2020, 19:25
@RIDDICC

Aha. Also erzählst du doch nur Schwachsinn. Danke für die ernsthafte Antwort. Du hast offensichtlich also absolut keinen Plan. Und noch dazu benimmst du dich wie ein 3-jähriges Kind mit Aluhütchen auf dem Kopf.

1
RIDDICC  10.02.2020, 19:40
@triopasi
  1. och! wieso?!
  2. als ich noch bei der Bundesdruckerei war, hab ich das genauso gemacht...
  3. LOL
  4. frach aber nich worum s ging... das sag ich nämlich nich...
0
triopasi  10.02.2020, 11:08

"SHA256 ist sowieso nur „security by obscurity“ AFAIK..."

Dann hast du da wohl was falsches gehört.

5

Das macht es zumindest sicherer

Woher ich das weiß:Studium / Ausbildung – Fachinformatiker

RIDDICC  10.02.2020, 11:06

Beweis? ;-)

0
HoneyBadger0  10.02.2020, 11:11
@RIDDICC

Naja, wenn du z.B an den Angriff mit Regenbogentabellen denkst, wird der Angreifer länger brauchen um den richtigen Hash zu finden.

Ich glaub hier kann man dazu noch etwas finden https://en.wikipedia.org/wiki/Key_stretching

Es bringt also schon ein Wenig mehr Sicherheit (auch wenn es nur marginal ist...)

0
triopasi  10.02.2020, 11:13
@HoneyBadger0

Sinnvoller als 2 Mal zu hashen wäre es daher eher das zB 1.000 Mal zu machen. Zumindest würde das eher etwas gegen brute-force Angriffe bringen.

0
HoneyBadger0  10.02.2020, 11:15
@triopasi

So ist es... aber wie du selbst schon angemerkt hast, ist das Problem meist das unsichere Passwort des Endnutzers.

1
RIDDICC  10.02.2020, 12:44
@HoneyBadger0
  1. das setzt voraus, dass SHA256 wirklich sicher ist...
  2. es ist auch die Frage, ob man nicht eher die Rechenleistung lieber in einen aufwändigeren Hash-Algorithmus stecken sollte (aber dann nur einmal)...
0

Weder besonders schlau noch besonders unschlau.

Eher nutzlos.

Die einzige "sinnvolle" Verwendung für einen "Mehrfachhash" wäre mMn. die Ableitung eines KeyStreams aus einer Passphrase.