WinFuture-Forum.de: SHA1 ist gebrochen - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Sicherheit
  • 2 Seiten +
  • 1
  • 2

SHA1 ist gebrochen


#1 Mitglied ist offline   d4rkn3ss4ev3r 

  • Gruppe: aktive Mitglieder
  • Beiträge: 4.108
  • Beigetreten: 03. Januar 09
  • Reputation: 535

geschrieben 23. Februar 2017 - 19:48

Schon 2013 gab es die Theorie dazu, nun ist es endgültig:
SHA1 ist gebrochen.

https://security.goo...-collision.html
"Jene, die grundlegende Freiheit aufgeben würden, um eine geringe vorübergehende Sicherheit zu erwerben,
verdienen weder Freiheit noch Sicherheit." (Benjamin Franklin)


ACTA] | IPRED | SOPA | PIPA | CISPA | INDECT | TPP | TAFTA | Stop CETA + Stop TTIP
> Mein Hells Toolbox CMD Script <
1

Anzeige

#2 Mitglied ist offline   RalphS 

  • Gruppe: VIP Mitglieder
  • Beiträge: 8.224
  • Beigetreten: 20. Juli 07
  • Reputation: 941

geschrieben 23. Februar 2017 - 20:28

Ist ja auch kein Wunder. Ich mein, Hashes sind *dazu da*, um zu klassifizieren. Nicht umsonst spricht man da von Buckets -- ist sozusagen eine Modulo-Funktion für Zeichenketten.

Daß man das explizit dazu mißbraucht, 'kollisionsfreie' Hashfunktionen zu kriegen... geschenkt, das war nie der Anspruch von Hashfunktionen im eigentlichen Sinn. Ist wie Exportweltmeister. Ja, kann man machen, und man kann es sich auch auf die Fahnen schreiben und es gut finden - aber das ändert nix daran, daß es mit "gut" nicht das geringste zu tun hat.


Statt Hashfunktionen zu mißbrauchen wäre ein eigener Ansatz imo die bessere und längerfristig insbesondere planbar bessere Sicherheit. Sonst endet das irgendwann in einem Security-by-Definition, ähnlich wie KI, wo ja auch nicht klar ist, was "Intelligenz" eigentlich sein soll und man sich das dann je nach Bedarf passend definiert.


Was SHA angeht... eh. MD5 ist auch kaputt und alle Welt verwendet es höchst bereitwillig. Mit SHA1 wird das nicht groß anders laufen. Ich mein, was nützt es einem, wenn man Die Sicherungsfunktion Der Sicherungsfunktionen™ erfindet... und keiner nutzt sie? Stattdessen haben wir doch eher das Problem, daß sicherungs-werte Kommunikation eher ungesichert über den Äther geht; Beispiel Fahrzeugelektronik sowie -kommunikationswege derselben, Funkfernsteuerungen aller Einsatzgebiete, Abhöranlagen mit oder ohne Püppi und so weiter und so weiter und so weiter.


Andererseits kann man sogar MD5 prima in Gebieten einsetzen, wo einfach eine grundlegende Integrität sichergestellt werden soll. Beispiel Dateisysteme. Einfach Datenobjekte samt Prüfsumme(n) speichern und schon kann man schauen, ob sich das über die Zeit verändert oder nicht - sollte nicht passieren, aber wenn doch, *merkt man es*. Da ist es dann auch relativ egal, ob MD5 kaputt ist oder SHA1 oder sonstwas - weil *dort* kommt eh keiner ran, das wären dann Dateisystem-Interna und es müßte schon ein fieser Dateisystem-Autor sein, der dann dafür sorgt, daß mit richtiger Checksumme die falschen Daten geschrieben werden. Alles andere, ie. daß also ein Datum aus sonstwelchen Gründen inkonsistent wird und *so* inkonsistent wird, daß das verfälschte Ergebnis DIESELBE Checksumme hat wie das Original.... sowas passiert auch bei MD5 nicht "aus Versehen", da muß man schon genau konstruieren, daß man das kriegt, was man wollte.


Und was Kommunikationsschutz angeht: Kerberos kennt das schon seit Jahrzehnten, daß es da ein Kommunikations-Timeout gibt, nach welchem die Messages einfach verfallen (standardmäßig fünf Minuten). Notfalls setzt man das runter. Und dann ist das egal was da wo wie geändert werden kann, weil man muß ja dann um die Nachricht zu verfälschen auch Zeit investieren und wenn einem diese Zeit vom Kommunikationsprotokoll aber nicht gelassen wird... tja, dann hat man halt Pech.


Für Archivdaten ist das eh alles wurst, weil DA gilt, was verschlüsselt ist, KANN entschlüsselt werden, die Frage ist nur, wie bald. Daten verschlüsselt irgendwo hinlegen bringt also nicht viel, wenn jemand anderes Zugriff drauf hat, kann der die "irgendwann" garantiert auch lesen.


Und was Nacktfotos via Snapchat angeht, naja, ich schätze die kriegt man mit Verschlüsselung ebenso gut wieder zugeordnet wie ohne. <_<


Was bleibt, sind Hochsicherheitsbereiche, die "eigentlich" eh auf andere Methonden aufsetzen sollten und/oder wo dann irgendein Hash-Verfahren bestenfalls Teil eines größeren Ganzen ist.

Bitcoins & Co? Zähl ich persönlich nicht da drunter. Wer sich mit Verschlüsselung auskennt, sollte "eigentlich" nicht auf die Idee kommen, auf eben deren Basis *irgendeine* Form von Zahlungsmittel zu entwerfen... aber hey, bequem. Das Aufwachen kommt aber garantiert eines Tages.
"If you give a man a fish he is hungry again in an hour. If you teach him to catch a fish you do him a good turn."-- Anne Isabella Thackeray Ritchie

Eingefügtes Bild
Eingefügtes Bild
1

#3 Mitglied ist offline   My1 

  • Gruppe: aktive Mitglieder
  • Beiträge: 21
  • Beigetreten: 23. Februar 17
  • Reputation: 1

geschrieben 23. Februar 2017 - 21:55

naja der sinn von Hashfunktionen ist auch wenn sie nicht eindeutig sein können, dass es genauso wie bei crypto hinreichend schwer ist sachen zu machen die nicht gemacht werden sollen.

und selbst wenn SHA1 down ist sieht man ja dass es ganz schön viele CPU/GPU Jahre gedauert hat.

und SHA512 ist "etwas" (/s) länger als SHA1, was es nochmal aufwändiger macht.
0

#4 Mitglied ist offline   d4rkn3ss4ev3r 

  • Gruppe: aktive Mitglieder
  • Beiträge: 4.108
  • Beigetreten: 03. Januar 09
  • Reputation: 535

geschrieben 23. Februar 2017 - 22:36

Es gibt nicht umsonst mittlerweile SHA3. SHA2-512 braucht man dann auch nicht nutzen

Dieser Beitrag wurde von d4rkn3ss4ev3r bearbeitet: 23. Februar 2017 - 22:36

"Jene, die grundlegende Freiheit aufgeben würden, um eine geringe vorübergehende Sicherheit zu erwerben,
verdienen weder Freiheit noch Sicherheit." (Benjamin Franklin)


ACTA] | IPRED | SOPA | PIPA | CISPA | INDECT | TPP | TAFTA | Stop CETA + Stop TTIP
> Mein Hells Toolbox CMD Script <
0

#5 Mitglied ist offline   My1 

  • Gruppe: aktive Mitglieder
  • Beiträge: 21
  • Beigetreten: 23. Februar 17
  • Reputation: 1

geschrieben 23. Februar 2017 - 22:37

SHA3 is schön aber die implementierungen sind eher selten.
0

#6 Mitglied ist offline   RalphS 

  • Gruppe: VIP Mitglieder
  • Beiträge: 8.224
  • Beigetreten: 20. Juli 07
  • Reputation: 941

geschrieben 24. Februar 2017 - 00:09

Ich verweise einfach mal hier hin. Nur um eine Idee zu kriegen, was Hashing überhaupt bedeutet, wofür das da ist, und wofür das nicht da ist. Wo der Sinn in kurzen Hashes liegt und weitergehend warum lange Hashes eher doof sind.
"If you give a man a fish he is hungry again in an hour. If you teach him to catch a fish you do him a good turn."-- Anne Isabella Thackeray Ritchie

Eingefügtes Bild
Eingefügtes Bild
0

#7 Mitglied ist offline   My1 

  • Gruppe: aktive Mitglieder
  • Beiträge: 21
  • Beigetreten: 23. Februar 17
  • Reputation: 1

geschrieben 24. Februar 2017 - 00:40

das ist ein weg für hashes und es gibt ja auch verschiedene Hashes, zum einem die "einfachen" und die die speziell für kryptographie entwickelt wurde.
https://en.wikipedia...c_hash_function
diese sollten folgende eigenschaften haben.

  • Deterministisch also gleiche nachricht -> gleicher hash
  • schnell
  • es ist praktisch unmöglich aus einem hash die nachricht zu bekommen ohne brute force zu nutzen
  • Lawinengesetz also kleine änderung der nachricht -> große änderungen im Hash
  • es ist praktisch nicht machbar, zwei nachrichten mit dem selben hash zu erstellen


es wird ja auch nicht ganz ohne Grund sein dass in der maschinenzone vom Ausweis eine Prüfsumme die nächste jagt.

und ne Gute Prüfsumme hat halt den vorteil dass ich diese eben über einen deutlich langsameren dafür aber sichereren Kanal diese mitteilen kann ohne gestört zu werden (bspw im telefongespräch, das kann man zwar theoretisch abhören aber mit der stimme des partners nen falschen hash diktieren schließe ich aus) und die datei weitestgehend ungesichert aber dafür schnell durchs netz kann.
0

#8 Mitglied ist offline   RalphS 

  • Gruppe: VIP Mitglieder
  • Beiträge: 8.224
  • Beigetreten: 20. Juli 07
  • Reputation: 941

geschrieben 24. Februar 2017 - 07:12

Und genau das meine ich mit Hashmißbrauch. Ja, man macht sich die Tatsache zunutze, DASS Hashing klassifiziert, aber man zieht das ins Extreme, nämlich in einer Form, daß aus der Klassifizierung ein 1-1 Mapping wird.

Ein vielleicht anschaulicheres Beispiel: Schulen. Da gibt es auch Klassen und die heißen da sogar so. Und entsprechend kann ich (muß ich) vorher festlegen, wie diese Klassen funktional erstellt werden sollen (zB nach Altersgruppe). Das kann man aber auch anders machen, und wenn man in die Klassendefinition auch noch Name, Vorname und Geburtsdatum einfließen lassen würde.. hätte die Schule jetzt *in etwa* so viele Klassen wie Schüler. Garantien gäbe es aber (komplett analog zu Hashing) auch keine, weil man nicht eben garantieren kann, daß nicht doch zwei Schüler mit selbem Namen und identischem Geburtstag antreten (sehr selten, klar, aber nicht auszuschließen).

Nach o.g. Erwartung müßte jetzt die Schule geschlossen werden, oder zumindest die Klassenzuordnung (= das Hashing) dafür über den Haufen und selbe Zuordnung aufwendig neu entwickelt werden, weil es die Kollision 'mist, zwei Schüler, eine Klasse' gab.



Es geht einfach um Bequemlichkeit, wie so oft Man macht sich zB. auch die Tatsache zunutze, daß hier variable Längen auf einheitliche Längen abgebildet werden. Ist doch toll! char(40) macht sich in der Datenbank viel, viel besser als character varying(65535), vor allem wenn die 40 Zeichen überall belegt sind (#1) und von den 65+k Zeichen durchschnittlich >90% brachliegen müssen, man das aber auch nicht ernsthaft kürzen kann, weil man ja nicht weiß was 'irgendwann' mal gespeichert werden *muß*. Hashes bieten sich also für sowas geradezu an.

Unumkehrbare 'Verschlüsselung' kann man aber auch anders haben. Mit Hashing wird es aber immer "Kollisionen" geben, die liegen in der Natur des Hashings begründet.
"If you give a man a fish he is hungry again in an hour. If you teach him to catch a fish you do him a good turn."-- Anne Isabella Thackeray Ritchie

Eingefügtes Bild
Eingefügtes Bild
0

#9 Mitglied ist offline   My1 

  • Gruppe: aktive Mitglieder
  • Beiträge: 21
  • Beigetreten: 23. Februar 17
  • Reputation: 1

geschrieben 24. Februar 2017 - 12:50

ja klar dann lass dir ne bessere möglichkeit einfallen wie ich bspw schauen kann ob das Windows iso menipuliert wurde.
immerhin ist es möglich dass CDNs oder mirrors irgendwelchen mist einbauen.
und bleib praktikabel.
0

#10 Mitglied ist offline   Holger_N 

  • Gruppe: aktive Mitglieder
  • Beiträge: 4.391
  • Beigetreten: 11. September 10
  • Reputation: 251

geschrieben 24. Februar 2017 - 15:38

Habe ich jetzt das Problem nicht verstanden oder finde ich es als einziger logisch, dass es bei gleicher Länge nicht beliebig viele unterschiedliche Möglichkeiten gibt, 10 Ziffern und 26 Buchstaben anzuordnen. Ich meine ja fast, da hätte man sogar schon drauf kommen können, als es noch nichtmal Computer gab.
Ich bin ein sehr ordentlicher, fleißiger und reinlicher Mensch, nur leider gefangen im Körper eines schmuddeligen Faulpelzes … tja, kann man nix machen …
0

#11 Mitglied ist offline   My1 

  • Gruppe: aktive Mitglieder
  • Beiträge: 21
  • Beigetreten: 23. Februar 17
  • Reputation: 1

geschrieben 24. Februar 2017 - 15:46

genau holger, es gibt nur endlich viele möglichkeiten.

das Problekm ist aber dass es in der praxis unmöglich sein sollte 2 verschiedene inputs mit gleichem output zu erzeugen.
und genau das hat google gebrochen, und damit fliegt sha1 aus der liste.
0

#12 Mitglied ist offline   Holger_N 

  • Gruppe: aktive Mitglieder
  • Beiträge: 4.391
  • Beigetreten: 11. September 10
  • Reputation: 251

geschrieben 24. Februar 2017 - 15:49

Naja, Input A: 4 x 3 und Input B: 6 + 6 hätten schon einen sehr ähnlichen Output.
Ich bin ein sehr ordentlicher, fleißiger und reinlicher Mensch, nur leider gefangen im Körper eines schmuddeligen Faulpelzes … tja, kann man nix machen …
0

#13 Mitglied ist offline   My1 

  • Gruppe: aktive Mitglieder
  • Beiträge: 21
  • Beigetreten: 23. Februar 17
  • Reputation: 1

geschrieben 24. Februar 2017 - 15:53

naja das ist mit ner hashfunktion etwas anders. man gibt den by bytefolge (bspw text) und der algorithmus macht den rest. Ergo du hast nur den 1 Parameter.

und bspw wenn du ne funktion hast die bspw alle bits umdreht, wirst du ein Problem haben 2 eingaben mit gleicher ausgabe zu finden.

nur das problem ist dass die hashs ne begrenzte länge im output für einen deutlich längeren input haben, da muss es kollisionen geben, nur eben ist das ziel diese praktisch unauffindbar zu machen ohne bruteforce.
und das Lawinengesetz was für jeden hash gilt besagt, 1 bit anders im input -> zu 50% wahrscheinlichkeit dreht sich jedes bit im output.
0

#14 _hillard95_

  • Gruppe: Gäste

geschrieben 24. Februar 2017 - 17:22

Mein letzter Prof in IT-Sicherheit meinte das an sich jede Verschlüsselung knackbar ist. Die Frage stellt sich nicht nach dem Wie, sondern nach dem Wann. Wenn mein PC gehackt wird, nachdem ich die nächste Dimension besuche ist es mir herzlich egal. Wenn es aber zu meinen Lebzeiten passiert würde es mich schon anpissen und ich würde nach was anderes suchen.
1

#15 Mitglied ist offline   RalphS 

  • Gruppe: VIP Mitglieder
  • Beiträge: 8.224
  • Beigetreten: 20. Juli 07
  • Reputation: 941

geschrieben 24. Februar 2017 - 23:36

Beitrag anzeigenZitat (Holger_N: 24. Februar 2017 - 15:38)

Habe ich jetzt das Problem nicht verstanden oder finde ich es als einziger logisch, dass es bei gleicher Länge nicht beliebig viele unterschiedliche Möglichkeiten gibt, 10 Ziffern und 26 Buchstaben anzuordnen.



Nein, das siehst Du völlig richtig. Hashes sind funktional eindeutige, aber eben nicht eineindeutige Abbildungen. Es geht -- ja, wirklich die einzige passende Antwort --- um Klassifizierung.

Also Du hast ne Box mit vielen Socken darin. Und jetzt suchst Du eine Vorschrift, die Socken zu sortieren, und zwar so, daß Du am Ende viele Haufen hast mit Socken, die Du paarweise anziehen kannst.

Mathematisch macht das eine Hashfunktion.

"Logisch" - also eher semantisch - ist es eine Funktion, die Vorwärtsschlüsse ermöglicht, aber Rückwärtsschlüsse nicht mehr zuläßt.

(Note: In der Logik heißt "Umkehrschlüsse sind nicht zugelassen" NICHT, daß das nicht MÖGLICH ist; es heißt stattdessen, daß man es nicht mehr *weiß*, also nicht mehr bestimmen kann).

Logisch im Sinne von strukturiert heißt das, es ist eine Implikation, aber keine Äquivalenz mehr; und "Implikation" heißt hier auch wieder, "wenn aus einer Sache eine andere folgen soll, dann bedeutet daß, nur wenn Sache 1 gesichert *ist*, daß dann auch Sache 2 gesichert sein *muß*; wenn aber über Sache 1 keine Aussage gemacht werden kann, ist Sache 2 Blutwurst.


Letzteres macht man sich bei der Kryptographie zunutze: Es *gibt* bei Hashfunktionen den Umkehrschluß nicht, neben eben WEGEN dieser gemeinhin so genannten Kollisionen. Ja, jede Nachricht hat genau diesen einen Hashwert dazu. Aber nirgendwo steht geschrieben, daß das für eine andere Nachricht ausgeschlossen sei.


DAS ist es aber genau, was die Kryptographie so gerne hätte, diese 1-1 Beziehung zwischen Nachricht und Hashwert dazu, natürlich unter der Bedingung, daß das immer noch unumkehrbar sein muß.

Was natürlich albern ist. Den Moment, wo das eine 1-1 Beziehung IST, *kann* man das umkehren und dann ist das auch keine Hashfunktion mehr.
"If you give a man a fish he is hungry again in an hour. If you teach him to catch a fish you do him a good turn."-- Anne Isabella Thackeray Ritchie

Eingefügtes Bild
Eingefügtes Bild
0

Thema verteilen:


  • 2 Seiten +
  • 1
  • 2

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0