Raketentester: MD5-Sicherheit

Beitrag lesen

bei MD5-Hashing

MD5-Hashing sollte auf jeden Fall abgelöst werden. Das ist weit aus der Zeit.

Wenngleich Rolf recht damit hat, dass eine vollständige Rainbow-Table für MD5 nicht speicherbar sei, so wird Sie es dennoch bald sein.

Übrigens:

Die Schwäche von MD5 liegt darin, dass ein Hash relativ fix berechnet ist und dass es Kollisionsangriffe gibt (d.h. zwei Nachrichten mit gleichem Anfang liefern den gleichen Hash). Damit ist MD5 zum Signieren ungeeignet.

Ist so nicht zu halten. Die beiden (aus einem centos-Image hergestellten) Dateien

$ ls -lh /tmp/centos?
-rw------- 1 fastix fastix 4,2G Aug 28 16:55 /tmp/centos1
-rw------- 1 fastix fastix 4,2G Aug 28 16:55 /tmp/centos2

unterscheiden sich durch nur das letzte Byte ("1", "2")

$ md5sum < /tmp/centos1
43deec111a143a8a3fdfbf38c7804e15  -
$ md5sum < /tmp/centos2
45a97b054de3f5e8295d41170df51b09  -

Wenn bei MD5 zwei Nachrichten "mit gleichem Anfang" den gleichen Hash liefern würden sähe das anders aus. MD5 für Signatur bzw. Verifizierungszwecke zwecke ist aber dennoch inzwischen angreifbar.

dafür ist ja SHA-2 gemacht. Die Hauptaufgabe ist es dort aber - meine ich - das Hashen vorsätzlich langsam zu machen, so dass man eben nicht per Hardware Millionen oder Milliarden Hashes pro Sekunde berechnen kann.

Richtig ist, dass man irgendwann entdeckt, dass der SHA-1-Algo von der mitnormenden NSA geschwindigkeitsoptimiert wurde… Neben SHA2 und dessen Kindern (derzeit bis SHA512 gängig) soll die oben beschriebene Rundendreherei das Verfahren verlangsamen. Das geht in PHP mit password_hash() immerhin bis 2^30.

Standard (2^10 Runden):

<?php
$options = [];
echo password_hash("rasmuslerdorf", PASSWORD_BCRYPT, $options);

Test:

$ time php /tmp/test_standard.php 
$2y$10$l5P.mHtjft91dz52vHmNqua7IiaquE06mrJoyv8C7MnapkneMmL9O
real	0m0,081s
user	0m0,073s
sys	0m0,008s

2^15 Runden:

<?php
# file: /tmp/test_15.php
$options = [
    'cost' => 15,
];
echo password_hash("rasmuslerdorf", PASSWORD_BCRYPT, $options);

Test:

$ time php /tmp/test_15.php
$2y$15$zeOQVgaUtgZbyRC4A0tZRODSX7sXIozyGRo1oekEd7ejGmBTl75i6
real	0m1,912s
user	0m1,908s
sys	0m0,004s

(Maximum) 2^30 Runden:

<?php
#file: /tmp/test_30.php
$options = [
    'cost' => 30,
];
echo password_hash("rasmuslerdorf", PASSWORD_BCRYPT, $options);

Test:

$ time php /tmp/test_30.php

# Nach über 1h noch kein Ergebnis.
# Ich lasse das gerade gegen das Update eines seit Februar
# nicht benutzten Windows antreten. 
# Der Erfahrung nach dauert beides Stunden... 
### Ups. Windows ist fertig!
0 51

Attachment als base64 encoded wieder dekodieren?

Klaus1
  • php
  • programmiertechnik
  1. 0
    Der Martin
    1. 1
      Rolf B
      1. 0
        localhorst
        • php
        • programmiertechnik
        • verschlüsselung
      2. 0
        Felix Riesterer
        1. 0
          Der Martin
          1. 0
            Rolf B
            1. 0
              Gunnar Bittersmann
              1. 0
                kai345
              2. 0
                Rolf B
            2. 0

              Gips

              Der Martin
              • humor
            3. 0
              localhorst
              • php
              • programmiertechnik
              • verschlüsselung
              1. 0
                Rolf B
                1. 0
                  localhorst
                  1. 0
                    Rolf B
                    1. 0

                      Attachment als base64 encoded wieder dekodieren? Migration?

                      localhorst
                      • php
                      • verschlüsselung
                      1. 0
                        Rolf B
                        1. 0
                          localhorst
                          • php
                          • sicherheit
                          • verschlüsselung
                    2. 2
                      Raketenerklärbär
                      1. 0
                        localhorst
                        • programmiertechnik
                        • sicherheit
                        • verschlüsselung
                      2. 3
                        Rolf B
                        1. 0

                          MD5-Sicherheit

                          localhorst
                          • programmiertechnik
                          • sicherheit
                          • verschlüsselung
                          1. 0
                            Raketentester
                            1. 0
                              Rolf B
                          2. 0
                            Raketenwilli
                            1. 0
                              localhorst
                              1. 0
                                Rolf B
                                1. 0
                                  dedlfix
                                  1. 0
                                    Rolf B
                                    1. 0
                                      dedlfix
                                      1. -1
                                        localhorst
                                        1. 0
                                          Raketenpsychoedukationsbevollmächtigter
                                          1. 0
                                            localhorst
                                            1. 0
                                              Raketenpsychoedukationsbevollmächtigter
                                              1. 0
                                                Matthias Apsel
                                                • sonstiges
                                                1. 0
                                                  Felix Riesterer
                                                2. -1

                                                  „dünnhäutig“ vers. Psychoedukation

                                                  Raketenpsychoedukationbeauftragter
                                                  1. 0
                                                    Rolf B
                                                    1. -1
                                                      Raketenpsychoedukationbeauftragter
                                                      1. 0
                                                        Matthias Apsel
                                                      2. 0
                                                        Rolf B
                                                        1. 0

                                                          Issjaallesgut

                                                          Raketenpsychoedukationbeauftragter
                                              2. 0

                                                Tut mir leid

                                                localhorst
                                                • menschelei
                                                1. 0
                                                  Rolf B
                                        2. 2
                                          Gunnar Bittersmann
                                          1. 0

                                            Gesichtsmaske

                                            Der Martin
                                            • corona
                                            • menschelei
                                            1. 0
                                              Gunnar Bittersmann
                                              1. 0
                                                Der Martin
                        2. 0
                          Der Martin
            4. 0
              Linuchs
  2. 0
    localhorst
    • e-mail
    • php
    • programmiertechnik