Raketenerklärbär: Attachment als base64 encoded wieder dekodieren?

Beitrag lesen

Ein brauchbarer Hash Algorithmus für Passwörter hat serverseitig einen Schlüssel (seed), damit ein Dieb nichts mit der geklauten Datenbank anfangen kann. Und Salz im Passwort, damit die Rainbow-Tables nicht helfen. Also ja, ist eine Verschlüsselung ohne Rückweg.

Naja... das ist ein wenig zu einfach.

Ich versuchs mal zu erklären:

Entropie: Im hier betrachteten Sinn ist die eine Folge von Bytes, die durch „zufällige“ Ereignisse gebildet wird. In Frage kommt hierfür alles, was auf einem Rechner oder Server messbar aber schwer vorhersehbar ist ist. z.B. Netzwerkverkehr, Datenverkehr über Busse (Beispielsweise: USB - Tastendrücke, Mausbewegungen) Temperaturen von CPU-Kernen, Taktfrequenzen derselben, Rotationsgechwindigkeiten von Ventilatoren, …) Man nennt das auch „environmental noise“ also „Umgebungsrauschen“ welches quasi aufgenommen und in einem FIFO entnehmbar gespeichert wird.

Diese Entropie ist endlich und auf Grund des Fehlens von Tastatur und Maus auf Servern dort begrenzter als auf Desktops.

Zufallsfunktion: Im hier betrachteten Sinn eine Funktion, die bei jedem Aufruf eine andere Folge von Bytes zurückgibt. Gängige Zufallsfunktionen nutzen hierbei die Entropie um „echten“ Zufall zu produzieren. Ist die gespeicherte Entropie verbraucht gibt es zwei Verfahrensweise: warten oder Übergang zu einer rein mathematischen Funktion, bei welcher irgendwann die Folge der „zufälligen“ Werte von vorn beginnt, wodurch der gelieferte Wert vorhersagbar wird.

Lesestoff liefert ein man 4 random auf Linux-Systemen.

Seed: Um die Vorhersehbarkeit der Ergebnisse des mathematischen Quasizufalls zu vermindern wird der Zufallsfunktion quasi eine Anzahl von Nutzungen vorgemacht. Der Seed ist also ein nicht übergebener, sondern individuell festgelegter wert, der in der Zufallsfunktion genutzt wird.

Lesestoff liefert ein man 2 getrandom auf Linux-Systemen.

Salt: Mittels obiger Zufallsfunktionen gebildete Bytes, die einem „Text“ vorangestellt werden, bevor ein Hashalgorythmus auf den mit dem Salt vereinten Text angewendet wird. Die Länge wird definiert.

Hashalgorithmus: „Abbildung, die eine große Eingabemenge (die Schlüssel) auf eine kleinere Zielmenge (die Hashwerte) abbildet. … Die Eingabemenge kann Elemente unterschiedlicher Längen enthalten, die Elemente der Zielmenge haben dagegen meist eine feste Länge.“ Wikipedia

Rainbow-Tables: Da gängige Passwörter eine begrenzte Länge haben und Massenspeicher sehr günstig ist, ist es inzwischen sogar Privatpersonen möglich zumindest bei schwachen Hashalgorithmen wie MD5 mit kurzer Ausgabemenge (128 Bit) möglich für jeden denkbaren Hashwert eine Eingabe zu speichern und diese abzufragen. Würden Passwörter also mit MD5 gehasht, so kann ein Angreifer aus dem Hash ein gültiges Passwort ermitteln. Das muss nicht das ursprüngliche sein.

Aktuelle Passwort-Hash-Funktionen gehen wie folgt vor:

  1. „Verschlüsseln“: Es wird der möglichst zufällige Salt ermittelt. Das Passwort wird mit dem Salt verknüpft und dann beides zusammen mit einem möglichst starken Hashalgorithmus gehasht. Danach wird das Resultat wieder mit dem Salt verknüpft und erneut gehascht. Dieser Vorgang wird in einer endlichen Anzahl wiederholt. (Loops) Als Resultat wird dann ein Hinweis auf den Hashalgorithmus, die Anzahl der Loops, der Salt und das letze Resultat der Anwendung des Hashalgorithmus gespeichert. In PHP: password_hash()

  2. Ein „Entschlüsseln“ findet nicht statt: Aus der Datenbasis wird das „verschlüsselte“ Passwort mit den Informationen: Salt, Hashalgorithmus und Loops geholt. Das eingebenene Passwort ird jetzt wie unter 1. mit diesen Informationen erneut verschlüsselt und dann das Resultat verglichen. In PHP: password_verify()

  3. „Updates“: Findet die Passwortfunktion nach einem Update der Programmiersprache anhand der Kennzeichnung in dem Resultat des früheren Verschlüsselns heraus, dass ein unsichereres Verfahren als möglich angewendet wurde (in PHP: password_needs_rehash() ), dann kann der Programmierer vorsehen, dass nach positiver Verifizierung das also bestätigte und bekannte Passwort mit dem sichereren Verfahren erneut „verschlüsselt“ und gespeichert wird - und das ohne dass der Benutzer hiermit behelligt wird.

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