1. Foren
  2. Kommentare
  3. Software-Entwicklung
  4. Alle Kommentare zum Artikel
  5. › Keccak: Hash-Algorithmus…

Warum immer so kompliziert?

  1. Thema

Neues Thema Ansicht wechseln


  1. Warum immer so kompliziert?

    Autor: Peter Maier 03.10.12 - 19:31

    Wir haben in der Firma einen eigenen Algorithmus entwickelt, mit dem sämtliche Passwörter gehasht werden, und der unsere Backups verschlüsselt.

    Er ist VIEL schneller als alles bekannte, völlig unknackbar (wir haben da Experten gefragt!) und eignet sich super als Kompression, da das Endresultat immer 8 Byte groß ist.

    Wir sichern ausschließlich damit unsere sämtlichen Zugangskontrollsysteme und Datenbanken.

    Hier ein Beispiel in Pseudo-Code ...

    data = "super starker hash algorithmus"
    buf = data.sub(0, 8)

    i = 0
    while i < 2:
      for j in data.length:
        buf[j] ^= 0b01010101
      i++


    Hätten wir das mal bei der SHA-3 Vergabe angemeldet ... leider Chance verpasst ... naja, vielleicht beim nächsten mal. :)

    Edit: Typo :)



    2 mal bearbeitet, zuletzt am 03.10.12 19:36 durch Peter Maier.

  2. Re: Warum immer so kompliziert?

    Autor: bstea 03.10.12 - 19:43

    Vorallem ultraeffizient ;)

    --
    Erst wenn der letzte Baum gefällt, der letzte Fluss gestaut und der letzte Fisch gefangen ist, werdet ihr feststellen, dass man Biber nicht essen kann!

  3. Re: Warum immer so kompliziert?

    Autor: Peter Maier 03.10.12 - 19:47

    bstea schrieb:
    --------------------------------------------------------------------------------
    > Vorallem ultraeffizient ;)

    Sag ich doch! Unknackbar und blitzschnell.

    Man könnte die äußere Schleife auch noch öfter durchlaufen lassen, allerdings nur durch Werte, die durch 2 Teilbar sind. (Hab irgendwo mal gelesen, dass man Offsets und so andere Computersachen immer auf 2, 4 oder 8 runden soll ... wird schon was dran sein.)

    Vor allem wird die Sicherheit dadurch nochmal DEUTLICH erhöht.

  4. Re: Warum immer so kompliziert?

    Autor: Dadie 03.10.12 - 20:06

    Witzig, ich habe schon öfter von Crypthologen gehört das es allgemein besser und sicherer wäre wenn nicht jeder diese "Einheits"-Algos benutzen würde sondern wenn man eben seine eigenen baut. Diese dürfen ruhig andere Algos als Grundlage haben.

    Wenn man z.B. eine eigene abgewandelte Form des SHA3 benutzt kann ein Dieb mit den Hashcodes nichts anfangen außer er weiß wie man denn nun genau selber SHA3 abgewandelt hat.

  5. Re: Warum immer so kompliziert?

    Autor: irata 03.10.12 - 20:19

    Dadie schrieb:
    --------------------------------------------------------------------------------
    > Witzig, ich habe schon öfter von Crypthologen gehört das es allgemein
    > besser und sicherer wäre wenn nicht jeder diese "Einheits"-Algos benutzen
    > würde sondern wenn man eben seine eigenen baut.

    Witzig, und ich habe genau das Gegenteil gehört.
    Wenn man selber Algorithmen baut, kann das ziemlich in die Hose gehen - zumindest, wenn man sich nicht sehr intensiv damit beschäftigt.

    > Diese dürfen ruhig andere Algos als Grundlage haben.

    DAS ist was anderes, da ist ja dann schon entsprechendes Know-How vorhanden.
    Man muss sich aber immer noch damit auseinandersetzen.

  6. Re: Warum immer so kompliziert?

    Autor: redmord 03.10.12 - 20:22

    Für Security by Obscurity muss man doch gar nicht so weit gehen, oder?

    Es reicht schon dort, wo man seinen abgewandelten SHA-3 hinterlegen würde seine eigene Kombination aus base64, md5 und/oder SHA-x mit unterschiedlichen Iterationen zu hinterlegen. Oder nicht?

    Mir wäre es zu riskant einen allgemein anerkannten Algorithmus zu verändern. Wer weis wie viel Sicherheit man dabei zerstört. :)

  7. Re: Warum immer so kompliziert?

    Autor: Eheran 03.10.12 - 20:23

    >Wenn man z.B. eine eigene abgewandelte Form des SHA3 benutzt kann ein Dieb mit den Hashcodes nichts anfangen außer er weiß wie man denn nun genau selber SHA3 abgewandelt hat.

    Und ich habe gehört, dass Verschlüsselung etc. niemals auf Geheimhaltung beruhen darf. Macht irgendwie auch Sinn.

  8. Re: Warum immer so kompliziert?

    Autor: Dadie 03.10.12 - 20:29

    Eheran schrieb:
    --------------------------------------------------------------------------------
    > >Wenn man z.B. eine eigene abgewandelte Form des SHA3 benutzt kann ein Dieb
    > mit den Hashcodes nichts anfangen außer er weiß wie man denn nun genau
    > selber SHA3 abgewandelt hat.
    >
    > Und ich habe gehört, dass Verschlüsselung etc. niemals auf Geheimhaltung
    > beruhen darf. Macht irgendwie auch Sinn.

    Es geht nicht um Geheimhaltung. Es geht darum allgemeinen Tools das Leben schwerer zu machen. Wenn z.B. jeder SHA2 nutzt ohne irgendwelche Anpassungen reicht es vollkommen wenn ich eine Sicherheitslücke oder ein Algo finde mit dem ich Kollisionen erzeugen kann. Und diese Lücke bzw. dieser Algo ist dann für sehr viele Orte und Gelegenheiten allgemeingültig.

    Es geht einfach nur darum es denn Angreifern zu erschweren in dem sie keine "normale" Software nehmen können sondern angepasste Software entwickeln müssen. Das erhöht nicht die Sicherheit, vermindert aber das Risiko weil der Aufwand ggf. großer wäre als der Nutzen.

  9. Re: Warum immer so kompliziert?

    Autor: Dadie 03.10.12 - 20:36

    redmord schrieb:
    --------------------------------------------------------------------------------
    > Für Security by Obscurity muss man doch gar nicht so weit gehen, oder?

    Wo sage ich SbO? Den Code kann man auch gerne veröffentlichen zzg. der Dokumentation des Zugrundeliegenden Verfahrens. Der Trick ist einfach, wenn nur wenige Firmen einen bestimmten und angepassten Algo benutzen ist es unwirtschaftlicher für Angreifer.

    Natürlich müssen diese Änderungen nicht von einem Wald und Wiesen Entwickler gemacht werden und gehören auch in die Hände von jemanden der Ahnung hat von dem was er tut.

    Wie gesagt, die Idee ist nicht alles in einem Safe zu packen sondern die Hürde für die Angreifer zu erhöhen.

  10. Re: Warum immer so kompliziert?

    Autor: marqu1s_de_sade 03.10.12 - 21:02

    Peter Maier schrieb:
    --------------------------------------------------------------------------------
    > Er ist VIEL schneller als alles bekannte, völlig unknackbar (wir haben da
    > Experten gefragt!) und eignet sich super als Kompression, da das
    > Endresultat immer 8 Byte groß ist.

    Ich empfehle dringend noch die 2-fache-Bit-Invertierung als Zusatz!



    2 mal bearbeitet, zuletzt am 03.10.12 21:09 durch marqu1s_de_sade.

  11. Re: Warum immer so kompliziert?

    Autor: Epaminaidos 03.10.12 - 23:43

    Dadie schrieb:
    --------------------------------------------------------------------------------
    > Wenn man z.B. eine eigene abgewandelte Form des SHA3 benutzt kann ein Dieb
    > mit den Hashcodes nichts anfangen außer er weiß wie man denn nun genau
    > selber SHA3 abgewandelt hat.

    Wenn SHA-2 (oder -3) geknackt wird, wird das mit Sicherheit irgendwo ganz groß publiziert. Wenn jemand allerdings Deine Privatversion knackt, erfährt das kein Mensch.
    Dann doch lieber eine Standardimplementierung, die alle 10 Jahre durch eine aktuellere Version ersetzt werden muss.

  12. Re: Warum immer so kompliziert?

    Autor: shoggothe 03.10.12 - 23:58

    > data = "super starker hash algorithmus"
    > buf = data.sub(0, 8)
    >
    > i = 0
    > while i < 2:
    >   for j in data.length:
    >     buf[j] ^= 0b01010101
    >   i++

    Es gibt in dem Pseudocode keinen kompletten Lesezugriff auf data, nur auf die ersten 8 Zeichen (und beim Schreiben von buf[j] gibt es einen Überlauf).

    Die Beschränkung auf die ersten 8 Zeichen ist fatal. Kurze Passwörter sind heutzutage brute-force innerhalb kürzester Zeit knackbar. Alle möglichen Kombinationen 6-stelliger Passwörter durchzuprobieren, dauert auf einer aktuellen Grafikkarte gerade einmal 3 Sekunden. 8-stellige Passwörter knackt man in 4 Stunden. Durch Variation von bekannten Wörtern/Passwörtern sind selbst längere Passwörter knackbar.

    Dass eurer Algorithmus dabei SO VIEL schneller ist als die bekannten Algorithmen, ist ein Nachteil und kein Vorteil. Eine aktuelle Grafikkarte prüft 8 Millarden Passwörter gegen einen md5-Hash pro Sekunde. Und eure Hashes werden noch schneller geknackt, Gratulation.

    http://www.codinghorror.com/blog/2012/04/speed-hashing.html



    1 mal bearbeitet, zuletzt am 03.10.12 23:59 durch shoggothe.

  13. Re: Warum immer so kompliziert?

    Autor: Patrick Bauer 04.10.12 - 00:06

    Dir ist aber klar, dass sein Code nur ein Spaß ist?

  14. Re: Warum immer so kompliziert?

    Autor: shoggothe 04.10.12 - 00:20

    Da wäre ich sehr erleichtert. In Firmen mit Not-Invented-Here Syndrom ist so etwas Normalität. Und die sind nicht selten.

  15. Re: Warum immer so kompliziert?

    Autor: Patrick Bauer 04.10.12 - 00:31

    Das stimmt natürlich :D
    Aber in diesem Fall ist es ja nichtmal eine Verschlüsselung, da sich das ganze einfach zurückwandeln lässt (wenn ich die Bitoperation gerade nicht vertausche :D)

  16. Re: Warum immer so kompliziert?

    Autor: fletschge 04.10.12 - 07:58

    > data = "super starker hash algorithmus"
    > buf = data.sub(0, 8)
    >
    > i = 0
    > while i < 2:
    >   for j in data.length:
    >     buf ^= 0b01010101
    >   i++
    >

    Schon mal nicht schlecht.
    Ich empfehle der Einfachheit halber auch die C Function memfrob() zu verwenden:
    http://linux.about.com/library/cmd/blcmdl3_memfrob.htm

    Bombensicher! Da hat selbst die NSA das Nachschauen!

  17. Re: Warum immer so kompliziert?

    Autor: MovieKnight 04.10.12 - 10:45

    Das funktioniert aber nur so lange, wie man innerhalb eines Netzwerkes ist, und keine Daten austauschen muss.

    Ein Hash auf einen PublicKey oder ein Zertifikat kann keiner überprüfen, der nicht den angepassten Algorithmus kennt. Oder ein Browser muss sämtliche bekannten Abwandlungen erkennen und testen können.

    Für "einfache" Passworthashes mag das System ja fünktionieren, alles was mehr als ein paar "eingeweihte" beinhaltet geht aber nicht mehr...

  1. Thema

Neues Thema Ansicht wechseln


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Zum Login

Stellenmarkt
  1. Stadtwerke München GmbH, München
  2. ESG Elektroniksystem- und Logistik-GmbH, Fürstenfeldbruck
  3. Deutsche Gesellschaft für Internationale Zusammenarbeit (GIZ) GmbH, Eschborn
  4. über duerenhoff GmbH, München

Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Spiele-Angebote
  1. (-70%) 2,99€
  2. (-10%) 17,99€
  3. (-20%) 47,99€
  4. 14,29€


Haben wir etwas übersehen?

E-Mail an news@golem.de


Alternatives Android im Test: /e/ will Google ersetzen
Alternatives Android im Test
/e/ will Google ersetzen

Wie Google, nur mit Privatsphäre - /e/ verbindet ein alternatives Android mit Cloudfunktionen und einer Suchmaschine.
Ein Test von Moritz Tremmel


    Schenker Via 14 im Test: Leipziger Langläufer-Laptop
    Schenker Via 14 im Test
    Leipziger Langläufer-Laptop

    Dank 73-Wattstunden-Akku hält das 14-Zoll-Ultrabook von Schenker trotz fast komplett aufrüstbarer Hardware lange durch.
    Ein Test von Marc Sauter

    1. XMG Neo 15 (E20) Schenker erhöht Akkukapazität um 50 Prozent
    2. XMG Apex 15 Schenker packt 16C-Ryzen in Notebook
    3. XMG Fusion 15 Schenkers Gaming-Laptop soll 10 Stunden durchhalten

    Bodyhacking: Prothese statt Drehregler
    Bodyhacking
    Prothese statt Drehregler

    Bertolt Meyer hat seine Handprothese mit einem Synthesizer verbunden - das Youtube-Video dazu hat viele interessiert. Wie haben mit dem Psychologieprofessor über sein Projekt und die Folgen des Videos gesprochen.
    Ein Interview von Tobias Költzsch