• bleistift2@sopuli.xyzOP
    link
    fedilink
    Deutsch
    arrow-up
    4
    ·
    16 days ago

    Danke für den Hinweis. Ich wusste, dass es Tools gibt, die „richtig” prüfen, ob eine Festplatte gut ist. So weit vertraue ich aber meinem Händler. Ich teste gerade hauptsächlich, ob die Kapazität wirklich korrekt angegeben wurde oder ob das Ding nach einem Terabyte wieder Daten überschreibt. Und ob sich sonst irgendwas Komisches bemerkbar macht.

    Die Festplatte soll eigentlich nur das Internet cachen, also kommt es nicht einmal darauf an, dass die Blöcke gut sind.

    • inkeso@feddit.org
      link
      fedilink
      arrow-up
      6
      ·
      16 days ago

      Aah OK. Mache ich so ähnlich auch gern bei dubiosen Speichermedien, wo es nur so halb drauf ankommt.

      Wäre ja in dem Fall sogar übertrieben zu gucken, ob korrekt geschrieben wurde.
      # blocksize 1M * 1k = 1G file
      dd if=/dev/urandom bs=1M count=1k status=progress | tee random.junk | md5sum
      md5sum random.junk
      

      (Prüfsummen sollten identisch sein)

      • bleistift2@sopuli.xyzOP
        link
        fedilink
        Deutsch
        arrow-up
        1
        ·
        edit-2
        3 days ago

        Danke für die Idee. Hab’s ein bisschen weiter automatisiert.

        #!/bin/bash
        
        set -euo pipefail
        
        OUTDIR="/mnt/HDD"
        COUNT=2621440
        for i in $(seq 1 28); do
            outfile="$(mktemp -p ${OUTDIR})"
            checksum=$(dd if=/dev/random bs=4096 count=${COUNT} status=none | tee "$outfile" | sha256sum)
            filename="$(realpath --relative-to=${OUTDIR} ${outfile})"
            echo "${checksum/-/${filename}}" >> "${OUTDIR}/sums"
        done
        
        sha256sum -c "${OUTDIR}/sums"
        
      • bleistift2@sopuli.xyzOP
        link
        fedilink
        Deutsch
        arrow-up
        3
        ·
        16 days ago

        Nettes Skript. Ich würde aber das normale random nehmen statt urandom. Das ist zufällig genug.

        • inkeso@feddit.org
          link
          fedilink
          arrow-up
          2
          ·
          edit-2
          16 days ago

          Lieber nicht. random ist kryptografisch guter, “echter” Zufall. Wenn die Enthropie im System leer ist, blockiert das und man kann dann erst wieder lesen, wenn genug neue Enthropie vorhanden ist. urandom ist ein auf random basierender Pseudozufall, der niemals blockiert und schnell Daten liefert.

          • bennypr0fane@discuss.tchncs.de
            link
            fedilink
            arrow-up
            2
            ·
            16 days ago

            Oh. Ich wusste nicht, dass einem irgendwo die Entropie ausgehen kann. Klingt irgendwie sehr unphysikalisch (nicht, dass ich was davon verstünde). Woher weiß dass System denn, wann sie weg ist, und wie kommt sie wieder zurück?

            • inkeso@feddit.org
              link
              fedilink
              arrow-up
              3
              ·
              edit-2
              16 days ago

              Enthropie wird aus u.a. sowas wie Mausbewegung und Tastatureingaben gewonnen. Was genau die Quellen sind, weiß ich aus dem Stehgreif nich.

              Ich hatte es schon, daß bei einem frisch gebooteten RasPi bei der ssh-key-erzeugung die Enthropie alle war und ich erstmal auf der Tastatur rumrollen musste, bis es weiter ging. Ist aber ne Weile her (4er Kernel)

              Auf 'nem normalen Desktop gibt es vermutlich genug andere Quellen oder da hat sich was an der Implementierung geändert, aber ich habe gerade testhalber problemlos 50GB aus /dev/random gelesen… Vermutlich isses also einfach egal. :-)

              • bennypr0fane@discuss.tchncs.de
                link
                fedilink
                Deutsch
                arrow-up
                2
                ·
                edit-2
                15 days ago

                Heute habe ich gelernt, dass es Informationsentropie (ohne h) gibt. https://de.wikipedia.org/wiki/Entropie_(Informationstheorie) Aber wie man die in einem Computer verringern kann , indem man sie zum verschlüsseln verwendet o.ä., erschließt sich mir trotzdem nicht.

                Entropie kann nicht vernichtet werden. Ein Prozess, bei dem Entropie entstanden ist, kann nicht rückgängig gemacht (und somit die Entropie wieder auf den gleichen Wert erniedrigt) werden, ohne dass dabei eine größere Entropie an die Umgebung des betreffenden Systems abgegeben wird. Mit anderen Worten, selbst wenn der ursprüngliche Zustand des Systems wiederhergestellt werden kann, wäre nun die Umgebung in einem Zustand größerer Entropie als vorher. Eine spurlose Rückkehr zum alten Zustand von System und Umgebung ist daher unmöglich. Weil alle spontanen thermodynamischen Prozesse Entropie erzeugen, werden sie auch als irreversibel (= unumkehrbar) bezeichnet.

                Soweit der physikalische Begriff - mit dem passt das jdfalls nicht zusammen

                • bleistift2@sopuli.xyzOP
                  link
                  fedilink
                  Deutsch
                  arrow-up
                  2
                  ·
                  15 days ago

                  Ich kann dir auch nur grob die Idee erläutern.

                  Manche Prozesse sind darauf angewiesen, zufällige Zahlen zu erhalten (z.B. Verschlüsselung, Mensch ärgere dich nicht). Für die Sicherheit der Prozesse ist es enorm wichtig, dass die Zufallszahlen tatsächlich vollkommen zufällig sind. Anderenfalls könnte ein Angreifer beim Mensch ärgere dich nicht schummeln.

                  Der Linux-Kernel produziert anhand eines Algorithmus eine unendlich lange Reihe zufälliger Zahlen, wenn man ihn darum bittet. (Das ist das cat /dev/random von oben). Der Algorithmus ist allerdings bekannt und deterministisch. Daraus lassen sich also keine echt zufälligen Zahlen generieren.

                  Um echt zufällige Zahlen zu erhalten, muss der Algorithmus geseedet, also mit echten Zufallszahlen gefüttert werden. Diese initialen Zufallszahlen generiert der Kernel aus verschiedenen Quellen, die hoffentlich nicht vorhersagbar sind. Ich habe keine gute Quelle gefunden, welche das sind, aber oft werden die Tastaturanschläge, Mausbewegungen und die über das Netzwerk eingehenden Nachrichten genannt.

                  (Bis hier bin ich mir ziemlich sicher, Recht zu haben. Der Rest ist Hypothese.)

                  Je mehr solcher Ereignisse vom System verwurstet wurden, desto unsicherer ist sein interner Zustand für einen potentiellen Angreifer – das System hat also eine hohe Informationsentropie. Da der Algorithmus zur Zufallszahlengewinnung weiterhin deterministisch ist, kann aus einem Seed nur eine gewisse Anzahl an zufälligen Zahlen gewonnen werden, bevor ein Angreifer wieder die nächsten Zahlen vorhersagen kann.

                  Deshalb müssen immer wieder neue Seeds benutzt werden, die aus dem Entropiespeicher gewonnen werden. Je mehr Seeds erzeugt werden, desto mehr weiß ein Angreifer wieder über den Zustand des Entropiespeichers. Die Entropie nimmt also ab. Schließlich, wenn die Maus nicht bewegt wurde, keine Tasten gedrückt wurden und keine Aktivität auf dem Netzwerk war, gibt es nicht mehr genug Entropie im Speicher, um noch sichere Zufallszahlen zu generieren. Der Speicher ist leer. Will man dann weitere Zahlen abfragen, bleibt die Abfrage buchstäblich hängen, bis man den Entropiespeicher wieder ausreichend gefüllt hat.

                  Google filmt übrigens ein Regal voller Lavalampen und gewinnt aus den chaotischen Bewegungen der Lava die Informationsentropie, die es für seine Zufallszahlen braucht.

                  • bennypr0fane@discuss.tchncs.de
                    link
                    fedilink
                    arrow-up
                    2
                    ·
                    14 days ago

                    Wow. Vielen Dank, Zuhausi, das war eine wirklich hilfreiche Erklärung! “Entropie ist alle” bedeutet also, die Zahl der gesammelten Zufallsereignisse ist zu niedrig, um damit sichere Verschlüsselung erzeugen zu können, ja? Hieße aber auch, wenn die Zahlenfolge, die ich verwenden will, nicht sicherheitsrelevant ist, kann man auch die pseudozufälligen nehmen, die einem nicht ausgehen, oder? Ich bin mal auf eine random-Bibliothek gestoßen (glaube f JavaScript oder Python), die die Zufälligkeit aus dem Einschlag von Elementarteilchen in die Atmosphäre gewinnt - oder so ähnlich.

                  • bennypr0fane@discuss.tchncs.de
                    link
                    fedilink
                    arrow-up
                    1
                    ·
                    14 days ago

                    …und die Entropie “verbrauchen” heißt im unserem Fall, die generierten Zahlenfolgen zu verwenden, und die dürfen dann nicht wiederverwendet werden, sondern werden verworfen?