Login
Newsletter
Werbung

Mi, 2. Mai 2007, 00:00

Daten sicher löschen

Ebenfalls von Bedeutung für das gewählte Thema ist die so genannte Curie-Temperatur. Auch sie ist eine spezifische Eigenschaft ferromagnetischer Stoffe und bezeichnet die Temperatur, bei der schlagartig alle ferromagnetischen Eigenschaften verschwinden. Setzt man einen Datenträger der Curie-Temperatur aus, verschwindet die Ausrichtung der Weißschen Bezirke - und damit auch alle Daten. Für die Eisen-Kobalt-Legierung Fe65Co35 liegt die Curie-Temperatur bei 920°C und die Sättigungsfeldstärke bei satten 2,45 Tesla. Zum Vergleich: Kernspintomographen arbeiten mit ca. 1 Tesla, das Erdmagnetfeld hat gerade einmal 50 Mikro-Tesla.

Um die Packungsdichte auf Festplatten zu vergrößern, wurden die Codierungsverfahren optimiert. Es existieren inzwischen verschiedene Verfahren, um durch magnetische Flusswechsel logische Bitfolgen zu repräsentieren. Einige Optimierungen vollzogen sich auf physikalisch-elektrotechnischer Ebene, andere in der Codierungstheorie der Nachrichtentechnik. Es existieren beispielsweise verschiedene Verfahren, Bitfolgen zu codieren, sodass die Anzahl magnetischer Flusswechsel reduziert werden kann. Bekannt und am besten dokumentiert sind die FM- und MFM-Formate - was auch daran liegt, dass sie für Disketten entwickelt wurden und vergleichsweise alt sind.

Im FM-Format werden Bits in einer so genannten Bit-Zelle abgelegt. Dies ist ein definierter Bereich von Weißschen Bezirken, die insgesamt meist 3 Mikrometer groß sind. Eine solche Bit-Zelle wird halbiert in ein sogenanntes Takt-Bit und ein Daten-Bit. Das Takt-Bit wird immer gesetzt, sodass ein Daten-Bit quasi immer zwischen zwei logischen Einsen eingekeilt ist. Ein Daten-Bit repräsentiert dann je nach Ausrichtung eine logische Null oder Eins. Um die Daten auszuwerten, benötigt man lediglich einen Zähler. Jedes ungerade Bit ist ein Takt-Bit und immer gesetzt. Jedes gerade Bit ist ein Daten-Bit und damit entweder eine Null oder eine Eins. Allerdings ist dieses Verfahren recht primitiv und die Datenmenge je Fläche nicht sehr groß. Das MFM-Verfahren verbessert die Datendichte, indem die Taktung geändert wird. Statt in jeder Bitzelle ein Takt-Bit zu setzen, wird es nur gesetzt, wenn das vorige und das folgende Daten-Bit Null gesetzt ist. Zwei Daten-Nullen in Folge werden also nur noch durch ein Takt-Bit repräsentiert. Damit reduziert sich der Platzbedarf und die Packungsdichte wächst. Das verwendete Codierungsformat ist von Bedeutung, wenn man Daten durch Überschreiben mit statischen Bitmustern löschen will.

Weiterführende Informationen sowohl zu Speicherverfahren als auch zu Codierungstypen finden Sie in [4].

Das Betriebssystem selbst (hier NetBSD) verwendet ein Dateisystem, um Daten abzulegen. Das heißt, die physikalischen und elektrotechnischen Vorgänge der Datenspeicherung bleiben vor dem Betriebssystem und damit auch dem Anwender verborgen. Trotzdem muss das Betriebssystem Daten und Metadaten organisieren. Mit Daten bezeichnet man die eigentlichen Nutzdaten, also beispielsweise einen Brief, der als LaTeX-Datei abgespeichert wird. Metadaten bezeichnen »Daten über den Daten« - also Dinge wie Eigentümer der Datei, Zugriffsrechte, letzte Änderung und so weiter. Das Dateisystem organisiert die Ablage der Dateien in den logischen Blöcken des Dateisystems und den physikalischen Blöcken des Datenträgers. Für gewöhnlich wird beim Erzeugen des Dateisystems eine logische Blockgröße angegeben, meist sind dies 16 KB oder mehr. In diese logischen Blöcke werden Dateien geschrieben. Die Datei wird dazu je nach ihrer Größe in die benötigten Blöcke verteilt. Eine Datei von 100 KB Größe wird auf einem Dateisystem mit 16 KB Blockgröße auf 100 / 16 = 6,25 Blöcke verteilt. Da nur ganze Blöcke angesteuert werden können, wird die Datei in 7 Blöcke geschrieben. Der letzte Block enthält dann nur die restlich verbleibenden 4 KB der Datei. In den frei bleibenden 12 KB des 7. Blockes können noch die Daten einer Datei liegen, die vorher hier abgelegt war. Diese Reste nennt man File Slacks bzw. Restblöcke. Auch sie sind von Bedeutung für das sichere Löschen, da sich unter Umständen in diesen Restblöcken Fragmente vertraulicher Dateien finden können. Im schlimmsten Fall ist ein solcher Block 64 KB groß und mit nur einem einzelnen »neuen« Byte belegt, dann lassen sich noch 65535 Byte »alte« Daten rekonstruieren.

Neben der Aufteilung in logische Blöcke sorgt das Dateisystem auch für die Zuordnung der belegten Blöcke zu den Dateien sowie für die Aufteilung der logischen Blöcke auf die physikalischen Blöcke der Datenträger. In den klassischen BSD-Dateisystemen (LFS, FFS) werden Indexknoten (Index Node) bzw. Inodes verwendet, um Dateien im Dateisystem zu organisieren. In ihnen finden sich die oben erwähnten Metadaten (Besitzer, Zugriffsrechte, Zugriffszeiten etc.) sowie eine Liste der belegten logischen Dateisystemblöcke. Soll eine Datei gelesen oder geschrieben werden, wird über entsprechende Prozeduren (ffs_read() und ufs_bmap() für das BSD FFS) aus dem Inode die Liste der belegten logischen Blöcke ausgelesen. Die Identifikatoren der logischen Blöcke werden in die physikalischen übersetzt. Anschließend werden die benötigten Blöcke vom Datenträger angefordert. Soll eine Datei gelöscht werden, wird lediglich der verwendete Inode und die belegten logischen Blöcke als leer markiert. Die eigentlichen Daten in den Blöcken verbleiben auf dem Datenträger und können beispielsweise mit fsdb(8) rekonstruiert werden. Dazu muss man lediglich von Hand den entsprechenden Inode wieder aufbauen. Sollen Daten unwiederbringlich gelöscht werden, sind spezielle Löschverfahren notwendig, die in den folgenden Kapiteln erläutert werden. Weitere Informationen zu Dateisystem finden Sie im »Daemon-Book« [4] Kap. 7, »Local Filesystems« und Kap. 8, »Local Filestores«], das den Aufbau der 4.4BSD-Dateisysteme (LFS, FFS, MFS) sehr detailliert beschreibt.

Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung