Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Doppelte Verschlüsselung sicherer?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] Doppelte Verschlüsselung sicherer?

    Hallo,

    ich habe folgendes Problem: Ich muss ein Passwort auf einem Webspace speichern, der mir nicht gehört und auf dem mir keine Datenbank zur Verfügung steht. D.h. der Administrator könnte theoretisch auf alle Daten per FTP zugreifen.
    Daher die Frage, ob es sicherer ist, das Passwort doppelt oder dreifach zu verschlüsseln, z.B.
    PHP-Code:
    md5(md5($passwort)) 
    bzw. noch weitere Verschlüsselungen wie sha1 mit einzubringen?
    Das Passwort muss nicht geändert werden.

  • #2
    PHP-Code:
    $encodedpassword base64_encode(str_rot13(md5(str_rot13(md5($passwort))))); 
    Finde ich persönlich immer noch am sichersten, da es kein Cracker dieser Welt schafft, dies in noch unserer Zeit zu entschlüsseln
    webmasterlounge
    Die deutsche Webmaster-Community

    Kommentar


    • #3
      Doppelte Verschlüsselung hat an sich keinen Einfluss auf die Sicherheit, sondern kann maximal die Angriffszeit vergrößern, weil bei Angriffen viele Kombinationen von Eingaben und daraus resultierenden Ausgaben durchprobiert werden müssen und durch mehrere Funktionen vergrößert sich die Laufzeit!

      Auch alle anderen Kombinationen wie im zweiten Post haben keinen Einfluss auf die Sicherheit und sind in der Regel zudem noch schlecht implementiert, weil wie hier Umkehrbar und Datenexpansion...

      In erster Linie würde ich mir Salted Hashes ansehen, weil diese wirklich einen Sicherheitsgewinn bringen. Zudem kann man durch mehrfaches Anwenden der Hash Funktionen wie oben erwähnt die Laufzeit für BruteForce Angriffe vergrößern...

      Kommentar


      • #4
        Hallo,

        Mehrfaches Hashen ist unsicherer als einfaches! Mit jeder weiteren Stufe steigt die Wahrscheinlichkeit für Kollisionen.

        Also auf keinen Fall mehrere Hashfunktionen hintereinander anwenden. Das kommt einem im ersten Moment vielleicht sicherer vor (nach dem Motto „viel hilft viel“), aber in Wahrheit ist es eine Verschlechterung.

        Kommentar


        • #5
          Bau noch einen String ein, den keiner kennt:
          PHP-Code:
          md5('Akjhd al8q3zr ()§ZP)( PERQ HG9p(QGTRH' $passwort); 
          Und wenn möglich diesen String noch für jeden User unterschiedlich.

          Edit: Ok hast recht, hat Sirke schon gesagt, das hab ich irgendwie überlesen.
          Signatur:
          PHP-Code:
          $s '0048656c6c6f20576f726c64';
          while(
          $i=substr($s=substr($s,2),0,2))echo"&#x00$i;"

          Kommentar


          • #6
            Das hat Sirke schon gesagt @ByStones ^^ ( salt ).
            "Dummheit redet viel..Klugheit denkt und schweigt.." [Amgervinus]

            Kommentar


            • #7
              Danke für die Antworten.
              Genau darauf zielte meine Frage auch ab. Der Adminsitrator wird ja sozussagen auf jeden Fall an den Hash-Wert des Passworts kommen. Nur soll er eben daraus das Passwort nicht einfach per Bruteforce so schnell rausbekommen, da das Passwort auch anderswo verwendet wird.

              Doch bringen Salted Hashes wirklich einen Sicherheitsgewinn? Der Adminsitrator hat ja auch auf den Privatekey Zugriff... Habe noch nie mit Salted Hashes gearbeitet.

              Kommentar


              • #8
                Salt (Kryptologie) – Wikipedia
                Signatur:
                PHP-Code:
                $s '0048656c6c6f20576f726c64';
                while(
                $i=substr($s=substr($s,2),0,2))echo"&#x00$i;"

                Kommentar


                • #9
                  Du arbeitest hier ja nicht mit Verschlüsselung sondern mit Hashes, die sind was ganz anderes! Verschlüsselungen lassen sich entschlüsseln, Hashes nicht mehr! Somit gibt es keinen private Key und der Angreifer kann nichts zurückentschlüssen. Bitte such mal nach Hash, Salt, Verschlüsselung damit du einen Einblick bekommst wo die Unterschiede liegen.

                  Beitrag editiert:
                  Haha, grad im TV gesehen: Jetzt kommt nen neuer Kino Film: "Salt" ob der damit was zutun hat?

                  Kommentar


                  • #10
                    http://community.de.selfhtml.org/zit...lung/zitat2016
                    [SIZE="1"]RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?[/SIZE]

                    Kommentar


                    • #11
                      Haha Fail ...

                      Irgendwie finde ich, dass die einfachste Variante die von mir ist
                      Denn Bruteforce-Attacken brauchen da sehr sehr sehr sehr sehr sehr lange und bis dahin, ist der Angreifer schon längst verstorben
                      webmasterlounge
                      Die deutsche Webmaster-Community

                      Kommentar


                      • #12
                        Ein Brute-Force Angriff dauert bei deinem Hash nicht wesentlich viel länger als wenn du einen Brute-Force Angriff auf einen normalen md5 Hash laufen lässt.

                        Du wirst genau die selbe Menge an Wörtern durchlaufen, das einzigste ist das eben nicht 1 mal md5 berechnet wird sondern eben das ganze 2 mal und zwischen drin bissl rumgeschoben wird ...

                        Heißt dein zusammengesetzter Hash wird vlt. 4 mal so lange brauchen (weil du eben anstatt einer Operation (md5) halt 4 anwendest). Die asymptotische Laufzeit deine Hashfunktion und der der normalen md5 werden also gleich sein! Von "sehr sehr sehr sehr sehr" länger kann hier nicht die Rede sein!

                        Kommentar


                        • #13
                          Wir wärs mit:
                          PHP-Code:
                          for($hash $string$i=0;$i<=15000;$i++)
                          {
                              
                          $hash md5($hash);

                          Dieses Script würde zwar ganz ganz viel Zeit brauchen, aber sicher genug um den Cracker auf mehr als 30000 mal mehr als nur einmal md5 Cracken wegzujagen

                          PS: 30000mal hab ich bewusst geschrieben da mehrere Strings ein md5 Hash sein können, denn das Limit von md5 ist ja auf 32 oder so begrenzt ... Und daher gibt es viel mehr wörter und zusammenhänge, als md5-Hashes und deswegen gibt es mehrere Hashes zweimal, wobei aber nur ein Hash davon richtig sein kann ...

                          /edit:
                          Thread-Titel: 15000 fache Verschlüsselung sicherer?
                          Antwort: Ja, Yes, true, 1, ==
                          webmasterlounge
                          Die deutsche Webmaster-Community

                          Kommentar


                          • #14
                            Woher nimmst du solche Behauptungen? Das stimmt einfach nicht.

                            1. md5 ist eine Hashfunktion, keine Verschlüsselung -> riesiger Unterschied.
                            Wenn du eine Verschlüsselungsfunktion verwendest und diese mehrmals auf einen Plaintext anwendest kann es zu Problemen führen.
                            - es kann, je nach Algorithmus, zu bestimmten Situationen kommen wodurch es EINFACHER wird den Algorithmus bzw. den Schlüssel zu knacken! Du solltest also niemals einen Verschlüsselungsalgorithmus doppelt anwenden wenn dies nicht ausdrücklich in Ordnung ist (wie z.b. bei Triple-DES).
                            - bei mehrfacher Verschlüsselung können so genannte Meet-in-the-Middle Attacken durchgeführt werden. Meet-in-the-middle attack - Wikipedia, the free encyclopedia


                            So da wir hier aber um Hashfunktionen wie md5 sprechen ist das ganze etwas anders. Brute-Force attacken müssen nicht nur rein softwarebasiert ablaufen. Heißt md5 muss nicht von einem Computer durch die CPU berechnet werden sondern könnte theoretisch auch in Hardware implementiert werden.
                            Es wäre also möglich bei einer Brute-Force Attacke die Berechnung der einzelnen Werte von extra Kryptochips (nicht von der CPU) ausführen zu lassen. Jetzt könnte man bei 100 facher md5() Nutzung einfach 100 solcher Chips hintereinander schalten. Und schon lässt sich ein Wert wieder in in einem einzigen Schritt ausrechnen und nicht in 100 Schritten.


                            Behauptungen aufzustellen wie 15000 fache Verschlüsselung (oder besser hashen) sei sicherer ist SEHR gefährlich, du kannst das nicht belegen, du hast wahrscheinlich kaum Erfahrung in Kryptologie!

                            Also bitte unterlasse solche Behauptungen damit du anderen Usern nicht so etwas in den Kopf setzt!

                            Kommentar


                            • #15
                              Es ist nicht ausgeschlossen, dass die 10.000 fache Anwendung einer Hash-Funktion auf ein schon im Klartext kompliziertes Passwort zum gleichen Ergebnis führen könnte wie die einmalige Anwendung dieser Hashfunktion auf den Ausgangsstring "test" oder den Ausgangsstring "admin". Die Sicherheit wird also nicht in allen Fällen größer, sondern es besteht die Gefahr, dass sie vollkommen aufgehoben wird.
                              [PHP]if ($var != 0) {
                              $var = 0;
                              }[/PHP]

                              Kommentar

                              Lädt...
                              X