Festplattenverschlüsselung unter Linux. Verschlüsselung zu Ubuntu hinzufügen Daten auf einer Festplatte verschlüsseln ubuntu

Es gibt viele Gründe, die Daten auf Ihrer Festplatte zu verschlüsseln, aber der Preis der Datensicherheit ist die langsamere Systemleistung. Der Zweck dieses Artikels besteht darin, die Leistung beim Arbeiten mit einer auf unterschiedliche Weise verschlüsselten Festplatte zu vergleichen.

Um den Unterschied dramatischer zu machen, haben wir uns nicht für ein hochmodernes, sondern für ein durchschnittliches Auto entschieden. Die übliche mechanische Festplatte 500 GB, Dual-Core AMD 2,2 GHz, 4 Gigabyte RAM, 64-Bit Windows 7 SP 1. Während des Tests werden keine Antiviren- oder andere Programme gestartet, sodass nichts die Ergebnisse beeinflussen könnte.

Um die Leistung zu bewerten, habe ich mich für CrystalDiskMark entschieden. Bei den getesteten Verschlüsselungstools habe ich mich für folgende Liste entschieden: BitLocker, TrueCrypt, VeraCrypt, CipherShed, Symantec Endpoint Encryption und CyberSafe Top Secret.

Bitlocker

Es ist das standardmäßige Festplattenverschlüsselungstool, das in Microsoft Windows integriert ist. Viele Leute verwenden es einfach, ohne Programme von Drittanbietern zu installieren. In der Tat, warum, wenn alles bereits im System ist? Einerseits richtig. Andererseits ist der Code geschlossen, und es besteht keine Gewissheit, dass darin keine Hintertüren für das FBI und andere interessierte Personen gelassen wurden.

Die Festplatte wird mit dem AES-Algorithmus mit einer Schlüssellänge von 128 oder 256 Bit verschlüsselt. Der Schlüssel kann im Trusted Platform Module, auf dem Computer selbst oder auf einem USB-Stick gespeichert werden.

Wenn TPM verwendet wird, kann der Schlüssel beim Hochfahren des Computers sofort oder nach der Authentifizierung von ihm bezogen werden. Sie können sich mit einem Schlüssel auf einem USB-Stick oder durch Eingabe eines PIN-Codes über die Tastatur anmelden. Kombinationen dieser Methoden bieten viele Optionen zum Einschränken des Zugriffs: nur TPM, TPM und USB, TPM und PIN oder alle drei gleichzeitig.

BitLocker hat zwei unbestreitbare Vorteile: Erstens kann es kontrolliert werden Gruppenrichtlinien; Zweitens verschlüsselt es Volumes, keine physischen Laufwerke. Auf diese Weise können Sie ein Array aus mehreren Laufwerken verschlüsseln, was einige andere Verschlüsselungstools nicht können. BitLocker unterstützt auch die GUID-Partitionstabelle (GPT), mit der selbst der fortschrittlichste TruCrypt-Fork VeraCrypt nicht prahlen kann. Um eine System-GPT-Festplatte damit zu verschlüsseln, müssen Sie sie zuerst in das MBR-Format konvertieren. Bei BitLocker ist dies nicht erforderlich.

Im Allgemeinen gibt es nur einen Nachteil - Closed Source. Wenn Sie Geheimnisse vor dem Haushalt bewahren, ist BitLocker großartig. Wenn Ihre Festplatte voller Dokumente von nationaler Bedeutung ist, ist es besser, etwas anderes zu finden.

Ist es möglich BitLocker und TrueCrypt zu entschlüsseln

Wenn Sie Google fragen, findet es ein interessantes Elcomsoft Forensic Disk Decryptor-Programm, das zum Entschlüsseln von BitLocker-, TrueCrypt- und PGP-Laufwerken geeignet ist. Im Rahmen dieses Artikels werde ich es nicht testen, aber ich werde meine Eindrücke von einem anderen Dienstprogramm von Elcomsoft teilen, nämlich Advanced EFS Data Recovery. Es war ausgezeichnet beim Entschlüsseln von EFS-Ordnern, jedoch unter der Bedingung, dass kein Benutzerkennwort festgelegt wurde. Setzt man ein Passwort von mindestens 1234, erweist sich das Programm als machtlos. Jedenfalls ist es mir nicht gelungen, den verschlüsselten EFS-Ordner des Benutzers mit dem Passwort 111 zu entschlüsseln. Ich denke, die Situation wird mit dem Produkt Forensic Disk Decryptor die gleiche sein.

TrueCrypt

Dies ist ein legendäres Festplattenverschlüsselungsprogramm, das 2012 eingestellt wurde. Die Geschichte, die mit TrueCrypt passiert ist, ist immer noch in Dunkelheit gehüllt, und niemand weiß wirklich, warum der Entwickler beschlossen hat, seine Idee nicht mehr zu unterstützen.

Es gibt nur wenige Informationen, die es Ihnen nicht erlauben, das Puzzle zusammenzusetzen. Also begann 2013 das Fundraising für eine unabhängige Prüfung von TrueCrypt. Grund waren Informationen von Edward Snowden über die absichtliche Schwächung von TrueCrypt-Verschlüsselungstools. Für die Prüfung wurden mehr als 60.000 Dollar gesammelt. Anfang April 2015 waren die Arbeiten abgeschlossen, jedoch wurden keine gravierenden Fehler, Schwachstellen oder andere signifikante Mängel in der Anwendungsarchitektur festgestellt.

Unmittelbar nach Ende des Audits stand TrueCrypt erneut im Mittelpunkt des Skandals. ESET-Spezialisten veröffentlichten einen Bericht, dass die russischsprachige Version von TrueCrypt 7.1a, die von truecrypt.ru heruntergeladen wurde, Malware enthielt. Darüber hinaus wurde die Website truecrypt.ru selbst als Kommandozentrale verwendet – von dort aus wurden Befehle an infizierte Computer gesendet. Seien Sie im Allgemeinen wachsam und laden Sie keine Programme von irgendwoher herunter.

Zu den Vorteilen von TrueCrypt gehören Open Source, das jetzt unabhängig auf Zuverlässigkeit geprüft wurde, und Unterstützung für dynamische Windows-Volumes. Nachteile: Das Programm wird nicht mehr weiterentwickelt und die Entwickler hatten keine Zeit, die UEFI / GPT-Unterstützung zu implementieren. Aber wenn das Ziel darin besteht, ein Nicht-Systemlaufwerk zu verschlüsseln, spielt es keine Rolle.

Im Gegensatz zu BitLocker, wo nur AES unterstützt wird, verfügt TrueCrypt auch über Serpent und Twofish. Um Verschlüsselungsschlüssel, Salt und Header-Schlüssel zu generieren, ermöglicht Ihnen das Programm, eine von drei Hash-Funktionen auszuwählen: HMAC-RIPEMD-160, HMAC-Whirlpool, HMAC-SHA-512. Allerdings wurde schon viel über TrueCrypt geschrieben, also wiederholen wir uns nicht.

VeraCrypt

Der fortschrittlichste TrueCrypt-Klon. Es hat ein eigenes Format, obwohl es möglich ist, im TrueCrypt-Modus zu arbeiten, der verschlüsselte und virtuelle Laufwerke im TrueCrypt-Format unterstützt. Im Gegensatz zu CipherShed kann VeraCrypt gleichzeitig mit TrueCrypt auf demselben Computer installiert werden.

DIE INFO

TrueCrypt hat nach seiner Pensionierung ein reiches Vermächtnis hinterlassen: Es hat viele Abzweigungen, angefangen bei VeraCrypt, CipherShed und DiskCryptor.

TrueCrypt verwendet 1000 Iterationen, um den Schlüssel zu generieren, der die Systempartition verschlüsselt, während VeraCrypt 327.661 Iterationen verwendet. Für standardmäßige (systemfremde) Partitionen verwendet VeraCrypt 655.331 Iterationen für die RIPEMD-160-Hash-Funktion und 500.000 Iterationen für SHA-2 und Whirlpool. Dies macht verschlüsselte Partitionen wesentlich widerstandsfähiger gegen Brute-Force-Angriffe, verringert aber auch die Performance beim Arbeiten mit einer solchen Partition erheblich. Wie viel, werden wir bald erfahren.

Zu den Vorteilen von VeraCrypt gehören Open-Source-Code sowie ein proprietäres und sichereres virtuelles und verschlüsseltes Festplattenformat im Vergleich zu TrueCrypt. Die Nachteile sind die gleichen wie beim Vorgänger - die fehlende Unterstützung für UEFI / GPT. Es ist immer noch unmöglich, die System-GPT-Festplatte zu verschlüsseln, aber die Entwickler behaupten, dass sie an diesem Problem arbeiten und bald eine solche Verschlüsselung verfügbar sein wird. Daran arbeiten sie aber schon seit zwei Jahren (seit 2014), und wann es ein Release mit GPT-Unterstützung geben wird und ob es das überhaupt geben wird, ist noch nicht bekannt.

CipherShed

Ein weiterer Klon von TrueCrypt. Im Gegensatz zu VeraCrypt verwendet es das ursprüngliche TrueCrypt-Format, sodass Sie davon ausgehen können, dass seine Leistung der von TrueCrypt nahe kommt.

Die Vor- und Nachteile sind dieselben, obwohl die Unfähigkeit, TrueCrypt und CipherShed auf demselben Computer zu installieren, zu den Nachteilen hinzugefügt werden kann. Wenn Sie außerdem versuchen, CipherShed auf einem Computer zu installieren, auf dem TrueCrypt bereits installiert ist, schlägt das Installationsprogramm vor, das vorherige Programm zu löschen, aber es funktioniert nicht.

Symantec Endpoint-Verschlüsselung

2010 kaufte Symantec die Rechte am Programm PGPdisk. Das Ergebnis waren Produkte wie PGP Desktop und später Endpoint Encryption. Das werden wir berücksichtigen. Das Programm ist natürlich proprietär, der Quellcode ist geschlossen, und eine Lizenz kostet 64 Euro. Aber es gibt Unterstützung für GPT, aber erst ab Windows 8.

Mit anderen Worten, wenn GPT-Unterstützung benötigt wird und die Systempartition verschlüsselt werden soll, müssen Sie zwischen zwei proprietären Lösungen wählen: BitLocker und Endpoint Encryption. Es ist natürlich unwahrscheinlich, dass ein Heimanwender Endpoint Encryption installiert. Das Problem ist, dass dies Symantec Drive Encryption erfordert, für dessen Installation ein Agent und ein Symantec Endpoint Encryption (SEE)-Verwaltungsserver erforderlich sind, und der Server möchte auch IIS 6.0 installieren. Ist es nicht zu viel Güte für ein Festplattenverschlüsselungsprogramm? Wir haben das alles durchgemacht, nur um die Leistung zu messen.

Moment der Wahrheit

Also fahren wir mit dem interessantesten fort, nämlich dem Testen. Der erste Schritt besteht darin, die Leistung der Festplatte ohne Verschlüsselung zu überprüfen. Unser "Opfer" wird die Sektion sein Festplatte(normal, Nicht-SSD) 28 GB, formatiert als NTFS.

Öffnen Sie CrystalDiskMark, wählen Sie die Anzahl der Durchgänge, die Größe der temporären Datei (in allen Tests verwenden wir 1 Gbps) und die Festplatte selbst aus. Es ist erwähnenswert, dass die Anzahl der Durchgänge die Ergebnisse praktisch nicht beeinflusst. Der erste Screenshot zeigt die Ergebnisse der Messung der Leistung einer Festplatte ohne Verschlüsselung mit einer Anzahl von Durchläufen von 5, der zweite - mit einer Anzahl von Durchläufen von 3. Wie Sie sehen können, sind die Ergebnisse fast identisch, daher konzentrieren wir uns darauf drei Pässe.


CrystalDiskMark-Ergebnisse sollten wie folgt interpretiert werden:

  • Seq Q32T1 – sequentielles Schreiben/sequentielles Lesen, Anzahl der Warteschlangen – 32, Threads – 1;
  • 4K Q32T1 - Random Write / Random Read Test (Blockgröße 4 KB, Anzahl der Warteschlangen - 32, Threads - 1);
  • Seq - sequentieller Schreib-/sequentieller Lesetest;
  • 4K - Random Write / Random Read Test (Blockgröße 4 KB);

Beginnen wir mit BitLocker. Es dauerte 19 Minuten, um eine 28-GB-Partition zu verschlüsseln.

Die Fortsetzung des Artikels ist nur für Abonnenten verfügbar

Option 1. Abonnieren Sie "Hacker", um alle Artikel auf der Website zu lesen

Das Abonnement ermöglicht es Ihnen, ALLE kostenpflichtigen Materialien der Website, einschließlich dieses Artikels, während des angegebenen Zeitraums zu lesen. Wir akzeptieren Zahlungen per Bankkarte, E-Geld und Überweisungen von den Konten der Mobilfunkbetreiber.

Die Datenschutz- und Sicherheitsanforderungen eines Computers werden vollständig durch die Art der darauf gespeicherten Daten bestimmt. Es ist eine Sache, wenn Ihr Computer als Unterhaltungsstation dient und außer ein paar Spielsachen und einem Papa mit Fotos Ihrer geliebten Katze nichts darauf ist, und eine ganz andere, wenn Daten auf der Festplatte sind, die ein Handel sind geheim, möglicherweise von Interesse für Wettbewerber.

Die erste „Verteidigungslinie“ ist das Passwort für den Zugriff auf das System, das bei jedem Einschalten des Computers abgefragt wird.


Die nächste Schutzebene sind Zugriffsrechte auf Dateisystemebene. Ein Benutzer ohne Berechtigungsrechte erhält eine Fehlermeldung, wenn er versucht, auf die Dateien zuzugreifen.


Die beschriebenen Verfahren haben jedoch einen äußerst signifikanten Nachteil. Sie arbeiten beide auf Betriebssystemebene und können relativ einfach umgangen werden, wenn Sie ein wenig Zeit und physischen Zugriff auf den Computer haben (z. B. können Sie durch Booten von einem USB-Stick das Administratorkennwort zurücksetzen oder Dateiberechtigungen ändern). Vollständiges Vertrauen in die Sicherheit und Vertraulichkeit von Daten kann nur erlangt werden, wenn die Errungenschaften der Kryptografie zuverlässig genutzt werden. Im Folgenden betrachten wir zwei Arten eines solchen Schutzes.

Die erste Methode, die heute in Betracht gezogen wird, wird der integrierte Kryptoschutz von Microsoft sein. Die Verschlüsselung namens BitLocker erschien erstmals in Windows 8. Es funktioniert nicht, einen separaten Ordner oder eine Datei damit zu sichern, es ist nur die Verschlüsselung des gesamten Laufwerks verfügbar. Dies impliziert insbesondere die Tatsache, dass es unmöglich ist, die Systemfestplatte zu verschlüsseln (das System kann nicht booten), es ist auch unmöglich, wichtige Daten in Systembibliotheken wie „Eigene Dateien“ zu speichern (standardmäßig sind sie es befindet sich auf der Systempartition).
Gehen Sie wie folgt vor, um die integrierte Verschlüsselung zu aktivieren:

DiskCryptor

Das zweite kryptografische Dienstprogramm, das heute getestet wurde, ist DiskCryptor, eine kostenlose Open-Source-Lösung. Um es zu verwenden, befolgen Sie die nachstehenden Anweisungen:

Der unbestrittene Vorteil dieses Dienstprogramms im Vergleich zum BitLocker-Mechanismus besteht darin, dass es auf Systemen verwendet werden kann, die vor Windows 8 herauskamen (sogar das eingestellte Windows XP wird unterstützt). Aber DiskCryptor hat auch mehrere wesentliche Nachteile:

  • Es gibt keine Möglichkeit, den Zugriff auf verschlüsselte Informationen wiederherzustellen (wenn Sie Ihr Passwort vergessen haben, verlieren Sie garantiert Ihre Daten).
  • nur das Entsperren mit Passwort wird unterstützt, die Verwendung von Smartcards oder biometrischen Sensoren ist nicht möglich;
  • Der vielleicht größte Nachteil der Verwendung von DiskCryptor besteht darin, dass ein Angreifer mit Administratorzugriff auf das System die Festplatte mit Standardmitteln formatieren kann. Ja, er bekommt keinen Zugriff auf die Daten, aber Sie werden sie auch verlieren.

Zusammenfassend kann ich sagen, dass es besser ist, die integrierte Funktionalität zu verwenden, wenn auf dem Computer ein Betriebssystem installiert ist, das mit Windows 8 beginnt.

Diese Dokumentation wurde archiviert und wird nicht mehr gepflegt.

Grundlegendes zur BitLocker-Laufwerkverschlüsselung

Zweck: Windows Server 2008, Windows Server 2008 R2, Windows Vista

Die BitLocker-Laufwerkverschlüsselung ist eine Datenschutzfunktion, die in Windows Server 2008 R2 und einigen Editionen von Windows 7 verfügbar ist. Die BitLocker-Integration in das Betriebssystem wirkt Datendiebstahl oder Bedrohungen durch Schwachstellen entgegen, indem sie vor verlorenen, gestohlenen oder unsachgemäß stillgelegten Computern schützt.

Daten auf einem verlorenen oder gestohlenen Computer sind anfällig für unbefugten Zugriff, entweder durch Hacking-Software oder durch Verbinden der Festplatte des Computers mit einem anderen Computer. Die BitLocker-Verschlüsselung verhindert unbefugten Zugriff auf Daten und erhöht die Datei- und Systemsicherheit. Die BitLocker-Verschlüsselung trägt auch dazu bei, dass auf Daten nicht zugegriffen werden kann, wenn Computer, die mit BitLocker-Verschlüsselung geschützt sind, stillgelegt oder wiederverwendet werden.

Die BitLocker-Verschlüsselung bietet maximalen Schutz, wenn sie mit Trusted Platform Module (TPM) Version 1.2 verwendet wird. Das TPM ist eine Hardwarekomponente, die von ihren Herstellern in viele moderne Computer eingebaut wird. Es arbeitet mit der BitLocker-Verschlüsselung zusammen, um Benutzerdaten zu schützen und sicherzustellen, dass der Computer nicht manipuliert wurde, während das System heruntergefahren wurde.

Auf Computern, auf denen TPM 1.2 nicht installiert ist, kann die BitLocker-Verschlüsselung weiterhin verwendet werden, um ein Windows-Betriebssystemlaufwerk zu verschlüsseln. Diese Implementierung erfordert jedoch, dass der Benutzer einen USB-Startschlüssel einsteckt, um den Computer zu starten oder zu reaktivieren, und bietet nicht die Systemintegritätsprüfung vor dem Start, die von der BitLocker-Verschlüsselung mit TPM bereitgestellt wird.

Zusätzlich zum TPM bietet die BitLocker-Verschlüsselung die Möglichkeit, den normalen Startvorgang zu blockieren, bis der Benutzer eine persönliche Identifikationsnummer (PIN) eingibt oder ein Wechselgerät, z. B. ein USB-Flashlaufwerk, einfügt, das einen Startschlüssel enthält. Diese zusätzlichen Sicherheitsmaßnahmen bieten eine mehrstufige Authentifizierung und stellen sicher, dass der Computer nicht startet oder aus dem Energiesparmodus aufwacht, bis die richtige PIN oder der richtige Startschlüssel bereitgestellt wird.

Überprüfung der Systemintegrität

Die BitLocker-Verschlüsselung kann ein TPM verwenden, um die Integrität von Startkomponenten und Startkonfigurationsdaten zu überprüfen. Dadurch wird sichergestellt, dass bei Verwendung der BitLocker-Verschlüsselung das verschlüsselte Laufwerk nur verfügbar ist, wenn diese Komponenten nicht manipuliert wurden und das verschlüsselte Laufwerk auf dem Quellcomputer installiert ist.

Die BitLocker-Verschlüsselung trägt durch die folgenden Schritte dazu bei, die Integrität des Startvorgangs sicherzustellen.

  • Bietet eine Möglichkeit, die Integrität der Root-Datei und der Dateien zu überprüfen, die in den frühen Stadien des Bootvorgangs verwendet werden, und stellt sicher, dass keine böswilligen Änderungen an diesen Dateien vorgenommen werden, die beispielsweise durch Bootsektorviren oder die Bearbeitung von Bootkomponenten vorgenommen werden könnten Werkzeug.
  • Verbesserter Schutz vor Softwareangriffen, wenn der Computer offline ist. Alternative Software, die das System starten kann, hat keinen Zugriff auf die Verschlüsselungsschlüssel für das Laufwerk des Windows-Betriebssystems.
  • Systemsperre beim Ersetzen einer Datei. Wenn eine der kontrollierten Dateien ersetzt wurde, startet das System nicht. Dadurch wird der Benutzer auf den Austausch aufmerksam gemacht, da das System nicht normal starten kann. Im Falle einer Systemsperrung bietet die BitLocker-Verschlüsselung einen einfachen Wiederherstellungsprozess.

    Anforderungen an Hardware, Firmware und Software

    Um BitLocker verwenden zu können, muss Ihr Computer bestimmte Anforderungen erfüllen.

    • Damit die BitLocker-Verschlüsselung die vom TPM bereitgestellte Systemintegritätsprüfung verwenden kann, muss Version 1.2 des TPM auf dem Computer installiert sein. Wenn auf Ihrem Computer kein TPM installiert ist, müssen Sie den Startschlüssel unter speichern entfernbares Gerät, wie z. B. ein USB-Flash-Laufwerk.
    • Der mit TPM ausgestattete Computer muss außerdem über ein BIOS verfügen, das den Spezifikationen der Trusted Computing Group (TCG) entspricht. Das BIOS erstellt eine Vertrauenskette für Pre-Boot-Aktionen und muss Unterstützung für den statischen Stamm der vom TCG definierten Vertrauensstufenmessung enthalten. Für einen Computer ohne TPM-Modul ist keine BIOS-Konformität mit den TCG-Spezifikationen erforderlich.
    • Das System-BIOS (sowohl für TPM- als auch Nicht-TPM-Computer) muss die USB-Massenspeicherklasse unterstützen, einschließlich des Lesens kleiner Dateien von einem USB-Flash-Laufwerk in einer Umgebung vor dem Betriebssystem. Weitere Informationen zu USB finden Sie unter USB Mass Storage Device Specification and UFI Mass Storage Commands auf der USB-Website (http://go.microsoft.com/fwlink/?LinkId=83120).
    • Die Festplatte muss in mindestens zwei Platten aufgeteilt werden.
      • Das Betriebssystemlaufwerk (oder Startlaufwerk) enthält das Betriebssystem und die Dateien, die es ausführen muss, und muss mit dem NTFS-Dateisystem formatiert sein.
      • Die Systemfestplatte enthält die Dateien, die zum Booten von Windows erforderlich sind, nachdem das BIOS die Plattform geladen hat. Die BitLocker-Verschlüsselung ist für dieses Laufwerk nicht aktiviert. Damit die BitLocker-Verschlüsselung funktioniert, darf das Systemlaufwerk nicht verschlüsselt sein, es darf kein Betriebssystemvolume sein und es muss mit dem NTFS-Dateisystem formatiert sein. Das Systemlaufwerk muss mindestens 1,5 Gigabyte (GB) groß sein.

    Installation und Initialisierung

    Die BitLocker-Verschlüsselung wird automatisch als Teil der Betriebssysteminstallation installiert. Die BitLocker-Verschlüsselung ist jedoch erst verfügbar, wenn sie mit dem BitLocker-Setup-Assistenten aktiviert wird, der entweder über die Systemsteuerung oder durch Rechtsklick auf das Laufwerk im Datei-Explorer gestartet werden kann.

    Nach der Installation und Ersteinrichtung des Betriebssystems kann ein Administrator jederzeit den BitLocker-Setup-Assistenten verwenden, um die BitLocker-Verschlüsselung zu initialisieren. Der Initialisierungsprozess besteht aus zwei Schritten:

    1. Initialisieren Sie auf Computern mit einem TPM das TPM mit dem TPM-Installationsassistenten, einer Komponente der Systemsteuerung BitLocker-Laufwerkverschlüsselung, oder durch Ausführen eines Skripts zum Initialisieren des Moduls.
    2. Richten Sie die BitLocker-Verschlüsselung ein. Öffnen Sie den Konfigurationsassistenten für die BitLocker-Verschlüsselung in der Systemsteuerung, der Sie durch den Einrichtungsvorgang führt und Ihnen die Möglichkeit bietet, erweiterte Authentifizierungseinstellungen zu konfigurieren.

    Beim Initialisieren der BitLocker-Verschlüsselung muss der lokale Administrator auch ein Wiederherstellungskennwort und einen Wiederherstellungsschlüssel erstellen. Ohne Wiederherstellungskennwort oder Wiederherstellungsschlüssel kann auf alle Daten auf einem verschlüsselten Laufwerk möglicherweise nicht zugegriffen werden, wenn ein Problem mit einem mit BitLocker verschlüsselten Laufwerk auftritt.

    Ausführliche Informationen zum Konfigurieren und Bereitstellen der BitLocker-Verschlüsselung finden Sie in der exemplarischen Vorgehensweise zur Windows BitLocker-Laufwerkverschlüsselung (http://go.microsoft.com/fwlink/?LinkID=140225).

    Unternehmensumsetzung

    Die BitLocker-Verschlüsselung kann die vorhandene Infrastruktur der Active Directory-Domänendienste (AD DS) einer Organisation verwenden, um Wiederherstellungsschlüssel extern zu speichern. Die BitLocker-Verschlüsselung bietet einen Assistenten für Konfiguration und Verwaltung sowie Erweiterbarkeit und Verwaltung über eine skriptfähige WMI-Schnittstelle. Darüber hinaus bietet die BitLocker-Verschlüsselung eine in den Startvorgang integrierte Wiederherstellungskonsole, mit der der Benutzer oder das Helpdesk-Personal wieder auf einen gesperrten Computer zugreifen kann.

    Weitere Informationen zum Erstellen von Skripts für die BitLocker-Verschlüsselung finden Sie unter Win32_EncryptableVolume (http://go.microsoft.com/fwlink/?LinkId=85983).

    Recyceln und verwenden Sie Ihren Computer wieder

    Anmerkung

    Entgegen der landläufigen Meinung behält der in den meisten modernen Computern verwendete DRAM-Speicher Daten auch nach einem Stromausfall für mehrere Sekunden oder Minuten bei, außerdem geschieht dies bei Raumtemperatur und selbst wenn der Chip von der Hauptplatine entfernt wird. Diese Zeit reicht völlig aus, um einen vollständigen Arbeitsspeicherauszug zu erstellen. Wir werden zeigen, dass dieses Phänomen es einem Angreifer mit physischem Zugriff auf das System ermöglicht, die Betriebssystemfunktionen zum Schutz von Daten über kryptografische Schlüssel zu umgehen. Wir werden zeigen, wie Reboot verwendet werden kann, um erfolgreiche Angriffe auf bekannte Festplattenverschlüsselungssysteme durchzuführen, ohne dass spezielle Geräte oder Materialien verwendet werden müssen. Wir werden den Grad und die Wahrscheinlichkeit der Remanenzretention experimentell bestimmen und zeigen, dass die Zeit, für die Daten aufgenommen werden können, mit einfachen Tricks deutlich erhöht werden kann. Es werden auch neue Verfahren vorgeschlagen, um kryptografische Schlüssel in Speicherauszügen zu finden und Fehler zu korrigieren, die mit fehlenden Bits verbunden sind. Wir werden auch über verschiedene Möglichkeiten zur Verringerung dieser Risiken sprechen, aber wir kennen keine einfache Lösung.

    Einführung

    Die meisten Experten gehen davon aus, dass Daten aus dem Arbeitsspeicher des Computers nach einem Stromausfall fast sofort gelöscht werden, oder sind der Ansicht, dass verbleibende Daten ohne die Verwendung spezieller Geräte nur äußerst schwer abzurufen sind. Wir werden zeigen, dass diese Annahmen falsch sind. Herkömmliche DRAM-Speicher verlieren Daten allmählich über mehrere Sekunden, selbst bei normalen Temperaturen, und selbst wenn der Speicherchip von der Hauptplatine entfernt wird, verbleiben Daten für Minuten oder sogar Stunden darin, vorausgesetzt, der Chip wird bei niedrigen Temperaturen gelagert. Verbleibende Daten können mit einfachen Methoden wiederhergestellt werden, die einen kurzfristigen physischen Zugriff auf den Computer erfordern.

    Wir werden eine Reihe von Angriffen zeigen, die es uns unter Verwendung der Remanenzeffekte von DRAM ermöglichen, die im Speicher gespeicherten Verschlüsselungsschlüssel wiederherzustellen. Dies stellt eine echte Bedrohung für Laptop-Benutzer dar, die auf Festplattenverschlüsselungssysteme angewiesen sind. Denn wenn ein Angreifer einen Laptop stiehlt, kann er in dem Moment, in dem die verschlüsselte Festplatte angeschlossen wird, einen unserer Angriffe ausführen, um auf den Inhalt zuzugreifen, selbst wenn der Laptop selbst gesperrt oder im Ruhemodus ist. Wir werden dies demonstrieren, indem wir mehrere beliebte Verschlüsselungssysteme wie BitLocker, TrueCrypt und FileVault erfolgreich angreifen. Diese Angriffe sollen auch gegen andere Verschlüsselungssysteme erfolgreich sein.

    Obwohl wir unsere Bemühungen auf Festplattenverschlüsselungssysteme konzentriert haben, können im Falle eines physischen Zugriffs auf den Computer eines Angreifers alle wichtigen Informationen, die im RAM gespeichert sind, zum Angriffsziel werden. Es ist wahrscheinlich, dass viele andere Sicherheitssysteme anfällig sind. Wir haben zum Beispiel entdeckt, dass Mac OS X Kontopasswörter im Speicher hinterlässt, wo wir sie abrufen könnten, und wir haben auch private RSA-Schlüssel des Apache-Webservers angegriffen.

    Einige Mitglieder der Informationssicherheits- und Halbleiterphysik-Communities waren sich bereits des DRAM-Remanenzeffekts bewusst, es gab nur sehr wenige Informationen darüber. Infolgedessen sind viele, die Sicherheitssysteme entwerfen, entwickeln oder verwenden, mit diesem Phänomen einfach nicht vertraut und wissen nicht, wie leicht es von einem Angreifer ausgenutzt werden kann. Soweit wir wissen, ist dies der erste detaillierte Arbeit Untersuchung der Folgen dieser Phänomene für die Informationssicherheit.

    Angriffe auf verschlüsselte Laufwerke

    Die Verschlüsselung von Festplatten ist eine bekannte Methode zum Schutz vor Datendiebstahl. Viele glauben, dass Festplattenverschlüsselungssysteme ihre Daten schützen, selbst wenn ein Angreifer physischen Zugriff auf den Computer erlangt hat (tatsächlich werden sie dafür benötigt, Anm. d. Red.). Das kalifornische Gesetz, das 2002 verabschiedet wurde, verlangt die Meldung möglicher Offenlegungen personenbezogener Daten nur dann, wenn die Daten unverschlüsselt waren, weil. Die Datenverschlüsselung wird als ausreichende Schutzmaßnahme angesehen. Obwohl das Gesetz keine spezifischen technischen Lösungen beschreibt, empfehlen viele Experten den Einsatz von Festplatten- oder Partitionsverschlüsselungssystemen, die als ausreichende Schutzmaßnahmen angesehen werden. Die Ergebnisse unserer Studie zeigten, dass der Glaube an die Festplattenverschlüsselung unbegründet ist. Ein Angreifer, der alles andere als der erfahrenste ist, kann viele weit verbreitete Verschlüsselungssysteme umgehen, wenn ein Laptop mit Daten gestohlen wird, während er eingeschaltet oder im Energiesparmodus war. Und Daten auf einem Laptop können auch gelesen werden, wenn sie sich auf einem verschlüsselten Laufwerk befinden, sodass die Verwendung von Festplattenverschlüsselungssystemen keine ausreichende Maßnahme ist.

    Wir haben verschiedene Arten von Angriffen auf bekannte Festplattenverschlüsselungssysteme verwendet. Die Installation von verschlüsselten Laufwerken und die Überprüfung der Korrektheit der erkannten Verschlüsselungsschlüssel nahmen die meiste Zeit in Anspruch. Das Erhalten eines RAM-Images und das Suchen nach Schlüsseln dauerte nur wenige Minuten und war vollständig automatisiert. Es besteht Grund zur Annahme, dass die meisten Festplattenverschlüsselungssysteme für solche Angriffe anfällig sind.

    Bitlocker

    BitLocker ist ein System, das in einigen Betriebssystemversionen enthalten ist Windows Vista. Es fungiert als Treiber zwischen dem Dateisystem und dem Festplattentreiber und verschlüsselt und entschlüsselt ausgewählte Sektoren bei Bedarf. Die für die Verschlüsselung verwendeten Schlüssel befinden sich im RAM, solange die verschlüsselte Festplatte ausgehängt ist.

    Um jeden Sektor einer Festplatte zu verschlüsseln, verwendet BitLocker dasselbe Schlüsselpaar, das vom AES-Algorithmus generiert wird: einen Sektorverschlüsselungsschlüssel und einen Verschlüsselungsschlüssel, der im Cipher Block Chaining (CBC)-Modus arbeitet. Diese beiden Schlüssel werden wiederum mit dem Hauptschlüssel verschlüsselt. Um einen Sektor zu verschlüsseln, wird eine binäre Klartext-Additionsprozedur mit einem Sitzungsschlüssel durchgeführt, der durch Verschlüsseln des Sektor-Offset-Bytes mit dem Sektor-Verschlüsselungsschlüssel erzeugt wird. Anschließend werden die empfangenen Daten von zwei Mischfunktionen verarbeitet, die den von Microsoft entwickelten Elephant-Algorithmus verwenden. Diese schlüssellosen Funktionen werden verwendet, um die Anzahl der Änderungen an allen Bits der Chiffre zu erhöhen und dementsprechend die Unsicherheit der verschlüsselten Sektordaten zu erhöhen. In der letzten Phase werden die Daten mit dem AES-Algorithmus im CBC-Modus unter Verwendung des entsprechenden Verschlüsselungsschlüssels verschlüsselt. Der Initialisierungsvektor wird bestimmt, indem das Sektor-Offset-Byte mit dem im CBC-Modus verwendeten Verschlüsselungsschlüssel verschlüsselt wird.

    Wir haben einen vollautomatisierten Demo-Angriff namens BitUnlocker implementiert. Dies verwendet ein externes USB-Laufwerk mit Linux-Betriebssystem und einen modifizierten Bootloader basierend auf SYSLINUX und dem FUSE-Treiber, mit dem Sie mit BitLocker verschlüsselte Laufwerke mit Linux-Betriebssystem verbinden können. Auf einem Testcomputer mit Windows Vista wurde der Strom ausgeschaltet, eine USB-Festplatte angeschlossen und davon gebootet. Danach hat BitUnlocker den Arbeitsspeicher automatisch auf ein externes Laufwerk gedumpt, mit dem Programm keyfind nach möglichen Schlüsseln gesucht, alle geeigneten Optionen ausprobiert (Paare aus Sektorverschlüsselungsschlüssel und CBC-Modusschlüssel) und bei Erfolg das verschlüsselte Laufwerk verbunden . Sobald die Platte angeschlossen war, konnte man damit wie mit jeder anderen Platte arbeiten. Auf einem modernen Laptop mit 2 Gigabyte RAM dauerte der Vorgang etwa 25 Minuten.

    Bemerkenswert ist das dieser Angriff es wurde möglich, ohne Reverse-Engineering jeglicher Software durchzuführen. Die Microsoft-Dokumentation beschreibt das BitLocker-System ausreichend, um die Rolle des Sektorverschlüsselungsschlüssels und des CBC-Modusschlüssels zu verstehen und Ihr eigenes Programm zu erstellen, das den gesamten Prozess implementiert.

    Der Hauptunterschied zwischen BitLocker und anderen Programmen dieser Klasse besteht in der Art und Weise, wie Schlüssel gespeichert werden, wenn das verschlüsselte Laufwerk getrennt wird. Standardmäßig schützt BitLocker im Basismodus den Hauptschlüssel nur mit Hilfe des TPM-Moduls, das auf vielen modernen PCs vorhanden ist. Diese Methode, die weit verbreitet zu sein scheint, ist besonders anfällig für unseren Angriff, da sie es Ihnen ermöglicht, Verschlüsselungsschlüssel zu erhalten, selbst wenn der Computer längere Zeit ausgeschaltet war, da die Schlüssel beim Hochfahren des PCs automatisch geladen werden ins RAM (bis zum Anmeldefenster) ohne Eingabe von Authentifizierungsdaten.

    Anscheinend kennen Microsoft-Experten dieses Problem und empfehlen daher, BitLocker in einem verbesserten Modus zu konfigurieren, bei dem Schlüssel nicht nur mit TPM, sondern auch mit einem Passwort oder einem Schlüssel auf einem externen USB-Laufwerk geschützt werden. Aber selbst in diesem Modus ist das System angreifbar, wenn ein Angreifer physischen Zugriff auf den PC erlangt, während er läuft (er kann sogar gesperrt oder im Energiesparmodus sein, (Zustände - nur ausgeschaltet oder Ruhezustand gelten in diesem Fall als nicht betroffen durch diesen Angriff).

    Datentresor

    Apples FileVault-System wurde teilweise erforscht und rückentwickelt. Unter Mac OS X 10.4 verwendet FileVault einen 128-Bit-AES-Schlüssel im CBC-Modus. Wenn das Passwort des Benutzers eingegeben wird, wird ein Header mit dem AES-Schlüssel und einem zweiten K2-Schlüssel entschlüsselt, die zur Berechnung der Initialisierungsvektoren verwendet werden. Der Initialisierungsvektor für den I-ten Plattenblock wird als HMAC-SHA1 K2(I) berechnet.

    Wir haben unser EFI-Programm verwendet, um RAM-Images zu erfassen, um Daten von einem Macintosh-Computer (basierend auf einem Intel-Prozessor) mit einem mit FileVault verschlüsselten Laufwerk abzurufen. Das keyfind-Programm hat die FileVault-AES-Schlüssel dann automatisch und fehlerfrei gefunden.

    Ohne Initialisierungsvektor, aber mit dem erhaltenen AES-Schlüssel, wird es möglich, 4080 von 4096 Bytes jedes Plattenblocks zu entschlüsseln (alles außer dem ersten AES-Block). Wir haben dafür gesorgt, dass der Initialisierungsvektor auch im Dump ist. Unter der Annahme, dass die Daten nicht beschädigt wurden, kann der Angreifer den Vektor bestimmen, indem er alle 160-Bit-Strings im Dump nacheinander durchprobiert und prüft, ob sie einen möglichen Klartext bilden können, wenn sie binär mit dem entschlüsselten ersten Teil des Blocks hinzugefügt werden. Zusammen mit Programmen wie vilefault, AES-Schlüsseln und einem Initialisierungsvektor können Sie eine verschlüsselte Festplatte vollständig entschlüsseln.

    Bei der Untersuchung von FileVault haben wir festgestellt, dass Mac OS X 10.4 und 10.5 mehrere Kopien des Passworts eines Benutzers im Speicher belassen, wo sie für diesen Angriff anfällig sind. Kontokennwörter werden häufig zum Schutz von Schlüsseln verwendet, die wiederum zum Schutz von Passphrasen auf mit FileVault verschlüsselten Laufwerken verwendet werden können.

    TrueCrypt

    TrueCrypt ist ein beliebtes Open-Source-Verschlüsselungssystem, das unter Windows, MacOS und Linux läuft. Es unterstützt viele Algorithmen, darunter AES, Serpent und Twofish. In Version 4 arbeiteten alle Algorithmen im LRW-Modus; in der aktuellen 5. Version verwenden sie den XTS-Modus. TrueCrypt speichert den Verschlüsselungsschlüssel und den Tweak-Schlüssel im Partitionsheader auf jedem Laufwerk, der mit einem anderen Schlüssel verschlüsselt wird, der vom eingegebenen Passwort des Benutzers abgeleitet wird.

    Wir haben TrueCrypt 4.3a und 5.0a unter Linux OS getestet. Wir haben eine mit einem 256-Bit-AES-Schlüssel verschlüsselte Festplatte angeschlossen, dann den Strom abgeschaltet und unsere eigene Speicherauszugssoftware zum Booten verwendet. In beiden Fällen hat keyfind einen intakten 256-Bit-Verschlüsselungsschlüssel gefunden. Auch im Fall von TrueCrypt 5.0.a war keyfind in der Lage, den Anpassungsschlüssel für den XTS-Modus wiederherzustellen.

    Um von TrueCrypt 4 erstellte Datenträger zu entschlüsseln, müssen Sie den LRW-Modusschlüssel anpassen. Wir haben festgestellt, dass das System es in vier Wörtern vor dem Schlüssel-AES-Schlüsselplan speichert. In unserem Dump war der LRW-Schlüssel nicht beschädigt. (Im Falle von Fehlern könnten wir den Schlüssel immer noch wiederherstellen).

    Dm-Krypta

    Der Linux-Kernel enthält ab Version 2.6 integrierte Unterstützung für dm-crypt, ein Subsystem zur Festplattenverschlüsselung. Dm-crypt verwendet viele Algorithmen und Modi, verwendet jedoch standardmäßig eine 128-Bit-AES-Chiffre im CBC-Modus mit nicht schlüsselbasierten Initialisierungsvektoren.

    Wir haben die erstellte dm-crypt-Partition mit dem LUKS-Zweig (Linux Unified Key Setup) des Dienstprogramms cryptsetup und dem 2.6.20-Kernel getestet. Die Festplatte wurde mit AES im CBC-Modus verschlüsselt. Wir haben den Strom für eine Weile abgeschaltet und mit einem modifizierten PXE-Bootloader einen Speicherauszug erstellt. Das keyfind-Programm hat einen gültigen 128-Bit-AES-Schlüssel gefunden, der ohne Fehler wiederhergestellt wurde. Nach der Wiederherstellung kann ein Angreifer die mit dm-crypt verschlüsselte Partition entschlüsseln und mounten, indem er das Dienstprogramm cryptsetup so modifiziert, dass es die Schlüssel im erforderlichen Format akzeptiert.

    Schutzmethoden und ihre Grenzen

    Die Implementierung des Schutzes vor Angriffen auf RAM ist nicht trivial, da die verwendeten kryptografischen Schlüssel irgendwo gespeichert werden müssen. Wir schlagen vor, uns darauf zu konzentrieren, Schlüssel zu zerstören oder zu verstecken, bevor ein Angreifer physischen Zugriff auf den PC erlangen kann, die Ausführung der Hauptspeicher-Dump-Software zu verhindern, die RAM-Chips physisch zu schützen und, wenn möglich, die Lebensdauer der Daten im RAM zu verkürzen.

    Speicher überschreiben

    Zunächst einmal ist es notwendig, wenn möglich, das Speichern von Schlüsseln im RAM zu vermeiden. Schlüsselinformationen müssen überschrieben werden, wenn sie nicht mehr verwendet werden, und verhindern, dass Daten in Auslagerungsdateien kopiert werden. Der Speicher muss zuvor über das Betriebssystem oder zusätzliche Bibliotheken gelöscht werden. Natürlich schützen diese Maßnahmen die derzeit verwendeten Schlüssel nicht, da sie im Speicher gespeichert werden müssen, wie sie beispielsweise für verschlüsselte Festplatten oder auf sicheren Webservern verwendet werden.

    Außerdem muss der Arbeitsspeicher während des Bootvorgangs gelöscht werden. Einige PCs können so konfiguriert werden, dass sie den RAM beim Booten mit einer POST-Löschanforderung (Power-on Self-Test) löschen, bevor sie das Betriebssystem booten. Wenn der Angreifer die Ausführung dieser Anfrage nicht verhindern kann, kann er auf diesem PC keinen Speicherabzug mit wichtigen Informationen erstellen. Er hat jedoch immer noch die Möglichkeit, die RAM-Chips herauszuziehen und sie mit den von ihm benötigten BIOS-Einstellungen in einen anderen PC einzusetzen.

    Einschränken von Downloads aus dem Netzwerk oder von Wechselmedien

    Viele unserer Angriffe wurden über Netzwerkboot oder Wechselmedien implementiert. Der PC muss so konfiguriert werden, dass zum Booten von diesen Quellen ein Administratorkennwort erforderlich ist. Beachten Sie jedoch, dass selbst wenn das System so konfiguriert ist, dass es nur von der Hauptfestplatte bootet, ein Angreifer die Festplatte selbst ändern oder in vielen Fällen das NVRAM des Computers zurücksetzen kann, um die ursprünglichen BIOS-Einstellungen wiederherzustellen.

    Sicherer Schlaf

    Die Ergebnisse der Studie zeigten, dass das einfache Sperren des PC-Desktops (das heißt, das Betriebssystem funktioniert weiter, aber um mit ihm zu interagieren, muss ein Passwort eingegeben werden) den Inhalt des Arbeitsspeichers nicht schützt. Der Schlafmodus ist selbst dann nicht wirksam, wenn der PC bei der Rückkehr aus dem Schlafmodus blockiert ist, da ein Angreifer die Rückkehr aus dem Schlafmodus aktivieren, dann den Laptop neu starten und einen Speicherabzug erstellen kann. Der Ruhezustand (der Inhalt des Arbeitsspeichers wird auf die Festplatte kopiert) hilft ebenfalls nicht, außer wenn Schlüsselinformationen auf entfremdeten Medien verwendet werden, um den normalen Betrieb wiederherzustellen.

    Bei den meisten Festplattenverschlüsselungssystemen können sich Benutzer schützen, indem sie den PC herunterfahren. (Das Bitlocker-System im Basismodus des TPM-Moduls bleibt angreifbar, da die Festplatte beim Einschalten des PCs automatisch verbunden wird). Der Inhalt des Speichers kann nach dem Ausschalten für kurze Zeit erhalten bleiben, daher wird empfohlen, dass Sie Ihre Workstation noch einige Minuten überwachen. Trotz ihrer Effektivität ist diese Maßnahme aufgrund der langen Belastung der Arbeitsstationen äußerst umständlich.

    Der Ruhezustand kann auf folgende Weise gesichert werden: Erfordern eines Kennworts oder eines anderen Geheimnisses, um die Arbeitsstation "aufzuwecken", und Verschlüsseln des Speicherinhalts mit einem Schlüssel, der von diesem Kennwort abgeleitet ist. Das Passwort muss stark sein, da ein Angreifer den Speicher leeren und dann versuchen kann, das Passwort durch Brute Force zu erraten. Wenn es nicht möglich ist, den gesamten Speicher zu verschlüsseln, müssen nur die Bereiche verschlüsselt werden, die Schlüsselinformationen enthalten. Einige Systeme sind möglicherweise so konfiguriert, dass sie in diese Art des geschützten Ruhezustands wechseln, obwohl dies normalerweise nicht die Standardeinstellung ist.

    Ablehnung von Vorausberechnungen

    Unsere Forschung hat gezeigt, dass die Verwendung von Vorberechnungen zur Beschleunigung kryptografischer Operationen Schlüsselinformationen anfälliger macht. Die Vorberechnung führt dazu, dass im Speicher redundante Informationen über Schlüsseldaten vorhanden sind, die es einem Angreifer ermöglichen, die Schlüssel auch bei Fehlern wiederherzustellen. Beispielsweise sind, wie in Abschnitt 5 beschrieben, Informationen über die Iterationsschlüssel der AES- und DES-Algorithmen äußerst redundant und für einen Angreifer nützlich.

    Das Ablehnen von Vorberechnungen verringert die Leistung, da möglicherweise komplexe Berechnungen wiederholt werden müssen. Aber Sie können beispielsweise vorberechnete Werte für einen bestimmten Zeitraum zwischenspeichern und die empfangenen Daten löschen, wenn sie in diesem Intervall nicht verwendet werden. Dieser Ansatz stellt einen Kompromiss zwischen Sicherheit und Systemleistung dar.

    Tastenerweiterung

    Eine andere Möglichkeit, die Schlüsselwiederherstellung zu verhindern, besteht darin, die im Speicher gespeicherten Schlüsselinformationen so zu ändern, dass die Schlüsselwiederherstellung aufgrund verschiedener Fehler erschwert wird. Diese Methode wurde theoretisch in Betracht gezogen, wo sich eine Funktion als resistent gegen Offenlegung erwiesen hat, deren Eingaben verborgen bleiben, selbst wenn fast alle Ausgaben entdeckt wurden, was der Operation von Einwegfunktionen sehr ähnlich ist.

    Stellen Sie sich in der Praxis vor, dass wir einen 256-Bit-AES-Schlüssel K haben, der derzeit nicht verwendet wird, aber später benötigt wird. Wir können es nicht überschreiben, aber wir wollen es resistent gegen Wiederherstellungsversuche machen. Eine Möglichkeit, dies zu erreichen, besteht darin, einen großen B-Bit-Datenbereich zuzuweisen, ihn mit Zufallsdaten R zu füllen und dann das Ergebnis der folgenden Transformation K + H (R) (binäre Summierung, ungefähre Ausgabe) im Speicher zu speichern. wobei H eine Hash-Funktion ist, z. B. SHA-256.

    Stellen Sie sich nun vor, dass der Strom abgeschaltet wurde, wodurch d-Bits in diesem Bereich geändert werden. Wenn die Hash-Funktion stark ist, kann sich ein Angreifer beim Versuch, den Schlüssel K wiederherzustellen, nur darauf verlassen, dass er erraten kann, welche Bits des Bereichs B von etwa der Hälfte geändert wurden, die geändert werden könnten. Wenn d Bits geändert wurden, muss der Angreifer nach einem Bereich der Größe (B/2+d)/d suchen, um die korrekten Werte von R zu finden, und erst dann den Schlüssel K wiederherstellen. Wenn der Bereich B groß ist , kann eine solche Suche sehr lang werden, auch wenn d relativ klein ist.

    Theoretisch können wir alle Schlüssel auf diese Weise speichern, jeden Schlüssel nur dann berechnen, wenn wir ihn brauchen, und ihn löschen, wenn wir ihn nicht brauchen. Durch Anwendung der obigen Methode können wir also die Schlüssel im Speicher speichern.

    Physischer Schutz

    Einige unserer Angriffe beruhten auf dem physischen Zugriff auf Speicherchips. Solche Angriffe können verhindert werden körperlicher Schutz Erinnerung. Beispielsweise werden die Speichermodule in einem geschlossenen PC-Gehäuse aufbewahrt oder mit Epoxid versiegelt, um Versuche zu verhindern, sie zu entfernen oder darauf zuzugreifen. Außerdem ist es möglich, das Überschreiben des Speichers als Reaktion auf niedrige Temperaturen oder Versuche, das Gehäuse zu öffnen, zu implementieren. Diese Methode erfordert die Installation von Sensoren mit einem unabhängigen Stromversorgungssystem. Viele dieser Methoden beinhalten manipulationssichere Hardware (wie z. B. den Coprozessor IBM 4758) und können die Kosten einer Workstation stark erhöhen. Andererseits ist die Verwendung von auf das Motherboard gelötetem Speicher viel billiger.

    Veränderung der Architektur

    Sie können die PC-Architektur ändern. Was für bereits gebrauchte PCs unmöglich ist, aber es Ihnen ermöglicht, neue zu sichern.

    Der erste Ansatz besteht darin, DRAM-Module so zu gestalten, dass sie alle Daten schneller löschen. Dies kann schwierig sein, da das Ziel, Daten so schnell wie möglich zu löschen, mit dem anderen Ziel kollidiert, keine Daten zwischen Speicheraktualisierungsperioden zu verlieren.

    Ein weiterer Ansatz besteht darin, Schlüsselspeicherhardware hinzuzufügen, die garantiert alle Informationen aus ihrem Speicher beim Starten, Neustarten und Herunterfahren löscht. Auf diese Weise erhalten wir einen sicheren Ort zum Speichern mehrerer Schlüssel, obwohl die mit ihrer Vorabberechnung verbundene Schwachstelle bestehen bleibt.

    Andere Experten haben eine Architektur vorgeschlagen, bei der der Inhalt des Speichers dauerhaft verschlüsselt wird. Wenn wir zusätzlich das Löschen von Schlüsseln bei Neustart und Stromausfall implementieren, bietet diese Methode einen ausreichenden Schutz gegen die von uns beschriebenen Angriffe.

    Vertrauenswürdiges Computing

    In einigen PCs kommt bereits Hardware zum Einsatz, die dem Konzept des „Trusted Computing“ entspricht, beispielsweise in Form von TPM-Modulen. Trotz ihrer Nützlichkeit beim Schutz vor einigen Angriffen helfen solche Geräte in ihrer derzeitigen Form nicht, die von uns beschriebenen Angriffe zu verhindern.

    Die verwendeten TPM-Module implementieren keine vollständige Verschlüsselung. Stattdessen beobachten sie den Startvorgang, um zu entscheiden, ob es sicher ist, den Schlüssel in den Arbeitsspeicher zu booten oder nicht. Wenn die Software einen Schlüssel verwenden muss, kann die folgende Technologie implementiert werden: Der Schlüssel wird in einer verwendbaren Form nicht im RAM gespeichert, bis der Startvorgang gemäß dem erwarteten Szenario verläuft. Aber sobald sich der Schlüssel im RAM befindet, wird er sofort zum Ziel unserer Angriffe. TPM-Module können verhindern, dass der Schlüssel in den Speicher geladen wird, aber sie verhindern nicht, dass er aus dem Speicher gelesen wird.

    Schlussfolgerungen

    Entgegen der landläufigen Meinung speichern DRAM-Module Daten relativ lange, wenn sie deaktiviert sind. Unsere Experimente haben gezeigt, dass dieses Phänomen es ermöglicht, eine ganze Klasse von Angriffen zu implementieren, die es Ihnen ermöglichen, trotz der Versuche des Betriebssystems, seinen Inhalt zu schützen, wichtige Daten wie Verschlüsselungsschlüssel aus dem RAM zu erhalten. Die von uns beschriebenen Angriffe sind in der Praxis umsetzbar, was unsere Angriffsbeispiele auf gängige Verschlüsselungssysteme beweisen.

    Aber auch andere Arten von Software sind anfällig. Digital Rights Management (DRM)-Systeme verwenden häufig symmetrische Schlüssel, die im Speicher gespeichert sind, und diese können auch unter Verwendung der beschriebenen Verfahren erhalten werden. Wie wir gezeigt haben, sind auch SSL-fähige Webserver anfällig, da sie Daten speichern private Schlüssel erforderlich, um SSL-Sitzungen zu erstellen. Unsere Methoden zur Suche nach Schlüsselinformationen sind wahrscheinlich effektiv, um Passwörter, Kontonummern und andere wichtige Informationen zu finden, die im RAM gespeichert sind.

    Es scheint, dass es keine einfache Möglichkeit gibt, die gefundenen Schwachstellen zu beseitigen. Das Ändern der Software wird höchstwahrscheinlich nicht wirksam sein; Hardwareänderungen werden helfen, aber die Zeit- und Ressourcenkosten werden hoch sein; Auch die Technologie des „Trusted Computing“ in ihrer jetzigen Form ist nicht sehr effektiv, da sie die im Speicher befindlichen Schlüssel nicht schützen kann.

    Unserer Meinung nach sind Laptops, die sich häufig in Modi befinden und in Modi betrieben werden, die für diese Angriffe anfällig sind, diesem Risiko am stärksten ausgesetzt. Das Vorhandensein solcher Risiken zeigt, dass die Festplattenverschlüsselung wichtige Daten in geringerem Maße schützt, als allgemein angenommen wird.

    Infolgedessen müssen Sie den DRAM-Speicher möglicherweise als nicht vertrauenswürdige Komponente eines modernen PCs betrachten und die Verarbeitung wichtiger vertraulicher Informationen vermeiden.

Der Kampf gegen die Piraterie gewinnt neuen Schwung, Rechteinhaber und Behörden verstärken ihre Anstrengungen in dieser schwierigen Angelegenheit. Ich nehme an, jeder von uns hat darüber nachgedacht, wie er persönliche Dateien vor dem Zugriff "unerwarteter Gäste" und einfach zu neugieriger Personen schützen kann.

Einführung

Wir verschlüsseln Festplatten mit Standard-Ubuntu-Tools, und der Verschlüsselungsschlüssel wird wie die /boot-Partition auf einem Wechseldatenträger abgelegt. Aber warum die Root-Partition verschlüsseln? Schließlich kann man nur /home verschlüsseln? Dafür gibt es mehrere Gründe. Die erste basiert auf Konfigurationsdateien Einige Informationen können aus /etc extrahiert werden, auch wenn es sich nicht um sensible Daten handelt. Das zweite ist, dass Sie, wenn plötzlich der Inhalt der Festplatte interessant wird, immer sagen können, dass alles passiert ist und dass die Festplatte bereits voller Pseudozufallsdaten war. Also, was wird dafür benötigt?

  • Flash-Laufwerk mit MBR
  • Ubuntu 12.10
  • Leere Festplatte

Wir werden AES als Festplattenverschlüsselungsalgorithmus verwenden, da es als Standard und kryptoresistent akzeptiert wird, und cryptsetup / LUKS als Mittel. Um über dem verschlüsselten Volume freien Speicherplatz hinzufügen zu können, verwenden wir logische Volumes (LVM).

Erstellen Sie ein verschlüsseltes Volume

Nach dem Booten von der LiveCD müssen Sie ein Flash-Laufwerk vorbereiten: Erstellen Sie darauf eine zweite Partition, auf der /boot und der Verschlüsselungsschlüssel abgelegt werden. Indem wir die /boot-Partition mit dem ext2-Dateisystem als zweites erstellen, schlagen wir zwei Fliegen mit einer Klappe – die erste Partition ist in allen Systemen sichtbar, und Daten können darauf gespeichert werden, und die zweite von Windows ist nicht zu sehen so leicht, was den Neugierigen zusätzliche Unannehmlichkeiten bereitet. Zum Partitionieren habe ich gparted verwendet, aber niemand stört Sie daran, beispielsweise fdisk zu verwenden. Danach müssen Sie die neu erstellte Partition mounten und eine Schlüsseldatei generieren:

Warum jeweils ein Byte lesen? Tatsache ist, dass der Pool an Zufallszahlen im Kernel relativ klein ist und nicht immer genügend Zufallsdaten enthält, sodass die Maus beim Generieren zufällig bewegt wurde.


Mal sehen, was dieser Befehl macht. Der erste Schlüssel gibt den Typ der Hash-Funktion an, die zum Hashen des Hauptschlüssels verwendet werden soll. Der zweite Schlüssel gibt den Verschlüsselungsalgorithmus und -typ an. Darauf werde ich noch etwas ausführlicher eingehen. Was ist CBC? Wie Sie wissen, ist AES eine Blockverschlüsselung, die in Blöcken von 128, 192 oder 256 Bit arbeitet. Aber in der Regel werden viel größere Mengen an Informationen verschlüsselt. Und es stellt sich das Problem, wie verschlüsselt werden kann, damit eine nicht zufällige Verteilung nicht sichtbar ist, aus der ein Kryptoanalytiker Informationen extrahieren kann. Kluge Leute haben es so gelöst: Der erste Block enthält IV - eine zufällige Menge von Bits. Und jeder nachfolgende Block offener Daten wird mit dem vorherigen Block bereits verschlüsselter Daten XOR-verknüpft. Alles scheint in Ordnung zu sein, aber im Fall der Festplattenverschlüsselung ist ein solches Schema aus offensichtlichen Gründen nicht anwendbar (Sie werden nicht jedes Mal 10 bis 20 Minuten warten, bis das System den gewünschten Abschnitt entschlüsselt?). LUKS verwendet ESSIV, um das Problem des wahlfreien Zugriffs auf Informationen zu lösen – relativ kleine Datenblöcke werden verschlüsselt (Sektor für Sektor), und der Initialisierungsvektor wird basierend auf der Sektornummer und dem Schlüssel-Hash generiert. Ein solches Schema schützt auch vor einigen Krypto-Angriffen. Genau aus diesem Grund verwende ich LUKS. Nachdem wir unsere Absichten nach dem Ausführen des vorherigen Befehls bestätigt haben, erstellen wir eine Zuordnung des LUKS-Geräts:

# cryptsetup -d=/mnt/boot/key.bin luksOpen /dev/sdd cryptodisk

Die erste Phase der Vorbereitung ist abgeschlossen – jetzt ist das Cryptodisk-Gerät im Verzeichnis /dev/mapper erschienen, das wie eine normale Festplatte behandelt werden kann.


Erstellen Sie LVM auf einem verschlüsselten Volume

Im Prinzip können Sie jetzt Ubuntu auf der neu erstellten Kryptodisk installieren, aber wie ich bereits geschrieben habe, ist es besser, um den Speicherplatz zu vergrößern, ein LVM-Volume darüber zu erstellen, was wir tun werden. Lassen Sie uns das physische Volume initialisieren und eine Volume-Gruppe erstellen:

Jetzt können Sie sie in Dateisysteme formatieren. Die Wahl steht dir frei, aber ich habe sowohl für das Root-Volume als auch für vg-home das gute alte ext4 verwendet - da haben wir meiner Meinung nach schon zu sehr geschummelt, um neuere Dateisysteme zu verwenden:

Wir müssen Ubuntu nur auf einer unverschlüsselten Partition/Festplatte installieren und auf eine verschlüsselte verschieben.

Ubuntu vorbereiten und migrieren

Jetzt legen wir Ubuntu auf einer unverschlüsselten Platte ab - nehmen Sie die Konfiguration nach Ihren Wünschen vor, mit Ausnahme der Platzierung von /boot und Bootloader. Sie müssen auf einem USB-Stick gespeichert werden, auf dem Sie zuvor den entsprechenden Abschnitt erstellt haben. Danach booten wir vom USB-Stick, um zu prüfen, ob alles korrekt aufgegangen ist, installieren die Pakete lvm2 und cryptsetup mit apt-get - sie wurden nach der Installation von Ubuntu automatisch entfernt - und ergänzen / ändern die Zeilen /etc/fstab. Sie sollten etwas Ähnliches erhalten (mit Ausnahme von Zeilen mit Pseudo-Dateisystemen, die jedoch in moderne Systeme Nein):

/etc/fstab UUID=dd7ca139-074a-4b1b-a116-3a42feab7459/boot ext2 defaults 0 2 /dev/mapper/vg-root/ext4 error=remount-ro 0 1 /dev/mapper/vg-home/home ext4 defaults 0 1 / dev / mapper / vg - tauschen keine tauschen sw 0 0

Wir mounten die /boot-Partition per UUID, damit es beim Hinzufügen neuer Festplatten nicht zu Verwechslungen mit deren Namen kommt. Jetzt gehen wir in die Datei /etc/crypttab, wir haben sie mit folgendem Inhalt:

Lassen Sie uns ein Skript erstellen, um den USB-Stick nicht erneut zu mounten:

Kopieren Sie den Schlüssel und cryptsetup

cp / boot / key .bin $ ( DESTDIR ) / etc / crypto copy_exec / sbin / cryptsetup / sbin

Und das eigentliche Skript zum Verbinden der Cryptodisk (läuft während des initrd-Boots):

/etc/initramfs-tools/scripts/local-top/cryptokeys. . . modprobe - b dm_crypt während ! /sbin/cryptsetup -d=/etc/crypto/key.bin luksOpen /dev/disk/by-uuid/c34e4c91-1fa1-4802-88ca-9c3be5c99097 cryptodisk ; do echo "Versuchen Sie es erneut ..." fertig

Die While-Schleife ist notwendig, wenn Sie später die Volume-Entsperrung mit einem Passwort hinzufügen. Beide Skripte müssen ausführbar sein, sonst sieht der nächste Befehl sie nicht und erstellt ein Standard-Image. Jetzt können Sie den Befehl initrd update ausführen:

# update initrd -u -k all -v

Wir haben fast die Bootloader-Konfiguration vergessen. Es gibt zwei Möglichkeiten, es zu bearbeiten: Eine ist einfach, aber falsch - direktes Bearbeiten der Datei /boot/grub/grub.cfg, die zweite ist ebenfalls einfach, aber diesmal richtig. Die Unrichtigkeit der ersten Methode besteht darin, dass bei jedem Kernel-Update die Konfiguration mit Hilfe von Skripten aus /etc/grub.d/ überschrieben wird. Wir werden den anderen Weg gehen - wir werden ein Skript hinzufügen, das die richtigen Zeilen in der echten Grab-Konfiguration generiert. Es gibt jedoch ein „aber“ - wenn Sie den Kernel aktualisieren, müssen Sie ihn entweder jedes Mal ändern oder beim alten bleiben (letzteres ist meiner Meinung nach vorzuziehen - siehe Seitenleiste). So sehen seine Zeilen aus:

/etc/grub .d/40_custom menuentry "Ubuntu crypto" ( recordfail = 1 if [ - n $ ( have_grubenv ) ] ; then save_env recordfail ; fi set quiet = 1 insmod part_msdos insmod ext2 insmod gzio

UUID wird aus einer vorab aufgezeichneten Datei entnommen

search -- no - floppy -- fs - uuid -- set = root dd7ca139 - 074a - 4b1b - a116 - 3a42feab7459

Die /boot-Partition wird als Root-Partition für Grub betrachtet, daher sind die Pfade zum Kernel und zum initrd-Image relativ dazu.

Optional können Sie nicht benötigte Menüpunkte ausschalten. Entfernen Sie dazu einfach die Ausführungserlaubnis von allen unnötigen Skripten in /etc/grub.d/. Jetzt können Sie die Hauptkonfiguration aktualisieren:

Nach dem Kopieren können Sie versuchen, vom Flash-Laufwerk zu booten - wählen Sie einfach den Ubuntu-Krypto-Menüpunkt. Wenn alles geklappt hat, sehen Sie nach einer Weile eine Anmeldeaufforderung. In diesem Fall kann ich Ihnen gratulieren - Sie arbeiten bereits in einem verschlüsselten System.


Schlüssel hinzufügen/ändern

Angenommen, Sie müssen den Schlüssel ändern – Sie haben ihn kompromittiert oder gerade eine Änderungsrichtlinie erstellt und möchten diese strikt befolgen. Was wird dafür benötigt? Erstellen Sie zunächst eine Sicherungskopie des LUKS-Volume-Headers. Wenn alles gut geht, können Sie ihn nach dem Ändern des Schlüssels zerstören. Wir machen das natürlich auf einer unverschlüsselten Partition:

Wir sehen uns die aktuellen Keylots an (die Stellen im Header des verschlüsselten Volumes, an denen die Schlüssel gespeichert sind – ja, es kann mehr als einen geben) und merken uns die Nummer des aktiven (Enabled). Typischerweise ist dies null.


Autor: Nitish Tiwari
Erscheinungsdatum: 04. Februar 2015
Übersetzung: N.Romodanov
Übergabedatum: März 2015

TrueCrypt wird nicht mehr unterstützt, aber dm-crypt und LUKS sind eine großartige Open-Source-Option zum Verschlüsseln und Verwenden verschlüsselter Daten.

Die Datensicherheit ist zu einem der größten Anliegen der Internetnutzer geworden. Nachrichten über Datendiebstahl von Websites sind sehr verbreitet, aber der Schutz Ihrer Daten liegt nicht nur in der Verantwortung der Websites, wir als Endbenutzer können viel für unsere eigene Sicherheit tun. Nur einige wenige Beispiele sind die Verwendung starker Passwörter, die Verschlüsselung der Festplatten, die sich auf unseren Computern befinden, und die Verwendung sicherer Verbindungen. Insbesondere ist die Festplattenverschlüsselung im richtigen Sinne Sicherheit - Es schützt Sie nicht nur vor Trojanern, die versuchen, Ihre Daten über das Netzwerk zu stehlen, sondern auch vor physischen Angriffen.

Im Mai dieses Jahres wurde die Entwicklung der TrueCrypt-Anwendung, eines bekannten Open-Source-Tools zur Festplattenverschlüsselung, eingestellt. Wie viele von Ihnen wissen, war es eines der sehr zuverlässigen Tools zum Verschlüsseln von Laufwerken. Es ist traurig, ein Tool dieses Kalibers verschwinden zu sehen, aber die Größe der Open-Source-Welt ist so groß, dass es mehrere andere Open-Source-Tools gibt, die Ihnen helfen können, Sicherheit mit Festplattenverschlüsselung zu erreichen, die auch viele Konfigurationseinstellungen haben. Wir werden uns zwei davon ansehen – dm-crypt und LUKS – als Alternative zu TrueCrypt für die Linux-Plattform. Beginnen wir mit einem kurzen Blick auf dm-crypt und dann auf LUKS.

Dies sind grundlegende Informationen über ein Gerät, das LUKS verwendet, die angeben, welche Verschlüsselung verwendet wird, den Verschlüsselungsmodus, den Hash-Algorithmus und andere kryptografische Daten.

Ressourcen

Schritt 01: In Anbetracht von Dm-crypt

Der Name der Anwendung dm-crypt ist die Abkürzung für Device Mapper-Crypt (beim Zuordnen eines Geräts verschlüsseln). Wie der Name schon sagt, basiert es auf Device Mapping, einem Linux-Kernel-Framework, das entwickelt wurde, um Blockgeräte auf übergeordnete virtuelle Blockgeräte abzubilden. Beim Zuordnen von Geräten können Sie mehrere Kernelfunktionen verwenden, z. B. dm-cache (erstellt Hybrid-Volumes), dm-verity (zur Überprüfung der Blockintegrität, ist Teil von Chrome OS) und auch das sehr beliebte Docker. Für kryptografische Zwecke verwendet dm-crypt das Linux Kernel Crypto API-Framework.

Zusammenfassend ist die dm-crypt-Anwendung also ein Verschlüsselungs-Subsystem auf Kernel-Ebene, das eine transparente Festplattenverschlüsselung bietet: Das bedeutet, dass die Dateien sofort nach dem Mounten der Festplatte verfügbar sind – es gibt keine sichtbare Verzögerung für den Endbenutzer. Um mit dm-crypt zu verschlüsseln, können Sie einfach eine der symmetrischen Verschlüsselungen, den Verschlüsselungsmodus, den Schlüssel (jede Größe zulässig) und den IV-Generierungsmodus angeben und dann ein neues Blockgerät in /dev erstellen. Beim Schreiben auf dieses Gerät wird nun verschlüsselt und beim Lesen entschlüsselt. Sie können auf diesem Gerät wie gewohnt ein Dateisystem mounten oder das dm-crypt-Gerät verwenden, um andere Konstrukte wie ein RAID- oder LVM-Volume zu erstellen. Die Mapping-Tabelle für dm-crypt ist wie folgt gesetzt:

Hier ist Startsektor normalerweise 0, Größe ist die Größe des Geräts in Sektoren und Zielname ist der Name, den Sie dem verschlüsselten Gerät geben möchten. Die Zielzuordnungstabelle besteht aus den folgenden Abschnitten:

[<#opt_params> ]

Schritt 02: In Anbetracht von LUKS

Wie wir im vorherigen Schritt gesehen haben, kann die dm-crypt-Anwendung Daten selbst verschlüsseln/entschlüsseln. Aber es hat ein paar Nachteile - wenn Sie dm-crypt direkt verwenden, werden keine Metadaten auf der Festplatte erstellt, und dies kann ein großes Problem sein, wenn Sie die Kompatibilität zwischen verschiedenen Linux-Distributionen sicherstellen möchten. Außerdem unterstützt die dm-crypt-Anwendung nicht die Verwendung mehrerer Schlüssel, während es im wirklichen Leben sehr wichtig ist, mehrere Schlüssel zu verwenden.

Aus diesen Gründen wurde die LUKS-Methodik (Linux Unified Key Setup) geboren. LUKS ist der Standard für die Festplattenverschlüsselung in Linux, und die Standardisierung ermöglicht die Kompatibilität zwischen Distributionen. Mehrere Schlüssel und Passphrasen werden ebenfalls unterstützt. Im Rahmen dieser Standardisierung wird den verschlüsselten Daten ein LUKS-Header hinzugefügt, der alle für die Konfiguration notwendigen Informationen enthält. Wenn ein solcher Header mit Daten vorhanden ist, können Benutzer problemlos zu einer anderen Distribution wechseln. Das dm-crypt-Projekt empfiehlt derzeit die Verwendung von LUKS als bevorzugte Methode zum Einrichten der Festplattenverschlüsselung. Sehen wir uns an, wie das Dienstprogramm cryptsetup installiert und zum Erstellen von LUKS-basierten Volumes verwendet wird.

Schritt 03: Installation

Die Kernel-Level-Funktionalität, die dm-crypt verwendet, ist bereits in allen Linux-Distributionen verfügbar; wir brauchen nur eine Schnittstelle zu ihnen. Wir werden das Dienstprogramm cryptsetup verwenden, mit dem Sie Volumes mit dm-crypt, dem LUKS-Standard und der guten alten TrueCrypt-Anwendung erstellen können. Um cryptsetup auf Debian/Ubuntu-Distributionen zu installieren, können Sie die folgenden Befehle verwenden:

$ sudo apt-get update $ sudo apt-get install cryptsetup

Der erste Befehl synchronisiert die Rocket-Indexdateien mit dem Inhalt ihrer Repositories: Er holt Informationen über die neuesten Versionen aller verfügbaren Pakete. Der zweite Befehl lädt das cryptsetup-Paket herunter und installiert es auf Ihrem Computer. Wenn Sie die RHEL/Fedora/CentOS-Distribution verwenden, können Sie das Dienstprogramm cryptsetup mit dem Befehl yum installieren.

$ yum installiere cryptsetup-luks

Schritt 04: Erstellen einer Zieldatei

Nachdem das Dienstprogramm cryptsetup nun erfolgreich installiert wurde, müssen wir eine Zieldatei erstellen, die den LUKS-Container enthält. Obwohl es viele Möglichkeiten gibt, eine solche Datei zu erstellen, müssen bei der Erstellung einige Bedingungen erfüllt sein:

  • Die Datei sollte nicht aus mehreren Teilen bestehen, die sich an verschiedenen Stellen auf der Festplatte befinden, d.h. Sie sollten ihr beim Erstellen sofort ausreichend Speicherplatz zuweisen.
  • Die gesamte Datei muss mit zufälligen Daten gefüllt werden, damit niemand erkennen kann, wo sich die zur Verschlüsselung verwendeten Daten befinden werden.

Beim Erstellen einer Datei, die die oben genannten Bedingungen erfüllt, kann uns der Befehl dd helfen, obwohl er relativ langsam arbeitet. Verwenden Sie es einfach mit der speziellen Gerätedatei /dev/random, die als Eingabe angegeben ist, und der Zieldatei, die als Ausgabe angegeben werden soll. Ein Beispielbefehl sieht so aus:

$ dd if=/dev/random of=/home/nitish/basefile bs=1M count=128

Dadurch wird eine 128 MB große Datei mit dem Namen basefile im Verzeichnis /home/nitish erstellt. Beachten Sie jedoch, dass die Ausführung dieses Befehls lange dauern kann. in dem System, das unser Experte verwendete, dauerte es eine Stunde.

Schritt 05: Erstellen Sie dm-crypt LUKS

Nachdem Sie die Zieldatei erstellt haben, müssen Sie in dieser Datei einen LUKS-Abschnitt erstellen. Dieser Abschnitt dient als Basisschicht, auf der die gesamte Datenverschlüsselung aufbaut. Darüber hinaus enthält der Header dieses Abschnitts (LUKS-Header) alle Informationen, die für die Kompatibilität mit anderen Geräten erforderlich sind. Um eine LUKS-Partition zu erstellen, verwenden Sie den Befehl cryptsetup:

$ cryptsetup -y luksFormat /home/nitish/basefile

Nachdem Sie zugestimmt haben, dass die Daten in der Basisdatei dauerhaft gelöscht werden, geben Sie die Passphrase ein und bestätigen Sie sie dann, die LUKS-Partition wird erstellt. Sie können dies mit dem folgenden Dateibefehl überprüfen:

$filebasefile

Bitte beachten Sie, dass die hier eingegebene Phrase zur Entschlüsselung der Daten verwendet wird. Es ist sehr wichtig, es sich zu merken und an einem sicheren Ort aufzubewahren, denn wenn Sie es vergessen, werden Sie mit ziemlicher Sicherheit alle Daten auf der verschlüsselten Partition verlieren.

Schritt 06: Erstellen und mounten Sie ein Dateisystem

Der LUKS-Container, den wir im vorherigen Schritt erstellt haben, ist jetzt als Datei verfügbar. In unserem Beispiel ist dies /home/nitish/basefile. Mit dem Dienstprogramm cryptsetup können Sie einen LUKS-Container als unabhängiges Gerät öffnen. Ordnen Sie dazu zuerst die Containerdatei dem Gerätenamen zu und mounten Sie dann das Gerät. Der Anzeigebefehl sieht folgendermaßen aus:

Nachdem Sie die im vorherigen Schritt erstellte Passphrase erfolgreich eingegeben haben, wird der LUKS-Container Volume1 zugeordnet. Was tatsächlich passiert, ist, dass die Datei als lokales Loopback-Gerät geöffnet wird, sodass der Rest des Systems die Datei nun so behandeln kann, als wäre sie ein echtes Gerät.

Schritt 07: Dateisystem - Fortsetzung

Die LUKS-Containerdatei ist jetzt als reguläres Gerät auf dem System verfügbar. Bevor wir es für den normalen Betrieb verwenden können, müssen wir es formatieren und ein Dateisystem darauf erstellen. Sie können jedes Dateisystem verwenden, das auf Ihrem System unterstützt wird. In meinem Beispiel haben wir ext4 verwendet, da es das neueste Dateisystem für Linux-Systeme ist.

$ mkfs.ext4 -j /dev/mapper/volume1

Nachdem das Gerät erfolgreich formatiert wurde, besteht der nächste Schritt darin, es zu mounten. Sie müssen zuerst einen Einhängepunkt erstellen, vorzugsweise in /mnt (gesunder Menschenverstand).

$ mkdir /mnt/files

Jetzt montieren wir:

Verwenden Sie zur Gegenprüfung den Befehl df –h – Sie sehen das Gerät „/dev/mapper/volume1“ am Ende der Liste der gemounteten Geräte. Es ist ersichtlich, dass der LUKS-Header bereits etwas Platz im Gerät belegt.

Dank dieses Schritts können Sie jetzt ein LUKS-Gerät mit einem ext4-Dateisystem verwenden. Verwenden Sie einfach dieses Dateispeichergerät - alles, was Sie auf dieses Gerät schreiben, wird verschlüsselt, und alles, was Sie davon lesen, wird entschlüsselt und Ihnen angezeigt.

Schritt 08: Verwendung einer verschlüsselten Festplatte

Wir haben mehrere Schritte befolgt, um dieses Ergebnis zu erzielen, und wenn Sie nicht genau wissen, wie alles funktioniert, werden Sie höchstwahrscheinlich verwirrt darüber sein, was nur einmal getan werden muss (erforderlich für die Installation), und das sollte getan werden regelmäßig bei der Verwendung von Verschlüsselung. Betrachten wir das folgende Szenario: Sie haben alle oben genannten Schritte erfolgreich ausgeführt und dann Ihren Computer ausgeschaltet. Am nächsten Tag, wenn Sie Ihren Computer starten, können Sie das gemountete Gerät nicht finden – wo ist es hin? Um mit all dem fertig zu werden, müssen Sie bedenken, dass Sie nach dem Starten des Systems den LUKS-Container mounten und ihn unmounten müssen, bevor Sie den Computer stoppen.

Um auf die LUKS-Datei zuzugreifen, befolgen Sie jedes Mal, wenn Sie Ihren Computer einschalten, diese Schritte und schließen Sie die Datei dann sicher, bevor Sie Ihren Computer ausschalten:

Öffnen Sie die LUKS-Datei (z. B. /home/nitish/basefile) und geben Sie das Passwort ein. Der Befehl sieht so aus:

$ cryptsetup luksOpen /home/nitish/basefile volume1

Sobald die Datei geöffnet ist, mounten Sie sie (falls sie nicht automatisch gemountet wird):

$ mount /dev/mapper/volume1 /mnt/files

Jetzt können Sie das gemountete Gerät als normale Festplatte verwenden und Daten darauf lesen oder darauf schreiben.

Wenn Sie fertig sind, unmounten Sie das Gerät wie folgt:

$ umount /mnt/files

Schließen Sie nach dem erfolgreichen Unmounten die LUKS-Datei:

$ cryptsetup luksVolume1 schließen

Schritt 09: Sicherung

Die meisten Datenverluste, die in einem LUKS-Container gespeichert sind, sind auf eine Beschädigung des LUKS-Headers oder der Schlüsselsteckplätze zurückzuführen. Neben der Tatsache, dass LUKS-Header sogar durch versehentliches Überschreiben im Header-Speicher beschädigt werden können, ist unter realen Bedingungen auch ein vollständiger Festplattenausfall möglich. Der beste Weg, sich vor solchen Problemen zu schützen, ist ein Backup. Mal sehen, welche Backup-Optionen verfügbar sind.

Geben Sie zum Sichern der LUKS-Headerdatei den Parameter luksHeaderBackup im Befehl an:

$ sudo cryptsetup luksHeaderBackup /home/nitish/basefile --header-backup-file /home/nitish/backupfile

Wenn Sie eine Datei aus einer Sicherung wiederherstellen möchten, geben Sie den Parameter luksHeaderRestore im Befehl an:

$ sudo cryptsetup luksHeaderRestore /home/nitish/basefile --header-backup-file /home/nitish/backupfile

Sie können den isLuks-Parameter verwenden, um nach einer LUKS-Headerdatei zu suchen und sicherzustellen, dass die Datei, mit der Sie es zu tun haben, einem tatsächlichen LUKS-Gerät entspricht.

$ sudo cryptsetup -v isLuks /home/nitish/basefile

Wir haben bereits gesehen, wie man LUKS-Header-Dateien sichert, aber das Sichern eines LUKS-Headers schützt nicht wirklich vor einem totalen Festplattenausfall, daher müssen Sie die gesamte Partition mit dem folgenden cat-Befehl sichern:

$ cat /home/nitish/Basisdatei > Basisdatei.img

Schritt 10: Diverse Einstellungen

Es gibt einige andere Einstellungen, die bei der Verwendung der LUKS-Verschlüsselung von dm-crypt nützlich sein können. Werfen wir einen Blick auf sie.

Um den LUKS-Header auszugeben, verfügt der Befehl cryptsetup über die Option luksDump. Damit können Sie einen Schnappschuss der LUKS-Header-Datei des von Ihnen verwendeten Geräts erstellen. Ein Beispielbefehl sieht so aus:

$ cryptsetup luksDump /home/nitish/basefile

Am Anfang dieses Artikels haben wir erwähnt, dass LUKS mehrere Schlüssel unterstützt. Sehen wir uns das jetzt in Aktion an, indem wir einen neuen Schlüsselplatz hinzufügen ( Anmerkung pro.: Schlüsselschlitz - schlüsselfertiger Ort):

$ cryptsetup luksAddKey --Key-slot 1 /home/nitish/basefile

Dieser Befehl fügt einen Schlüssel zu Schlüsselsteckplatz Nummer 1 hinzu, aber erst nachdem Sie das aktuelle Passwort (den Schlüssel in Schlüsselsteckplatz 0) eingegeben haben. Es gibt insgesamt acht Schlüsselplätze, und Sie können Daten mit jedem Schlüssel entschlüsseln. Wenn Sie den Header nach dem Hinzufügen des zweiten Schlüssels ausgeben, sehen Sie, dass der zweite Schlüsselsteckplatz belegt ist.

Sie können Schlüsselsteckplätze wie folgt entfernen:

$ cryptsetup luksRemoveKey /home/nitish/basefile

Dadurch wird der Schlüsselsteckplatz mit der höchsten Steckplatznummer entfernt. Achten Sie darauf, nicht alle Slots zu löschen, sonst gehen Ihre Daten dauerhaft verloren.

Sicherheit und Datenschutz sind sehr wichtig für diejenigen, die wichtige Daten auf einem Computer speichern. Ihr Heimcomputer ist sicher, aber mit einem Laptop oder anderen tragbaren Geräten ist die Situation ganz anders. Wenn Sie Ihren Laptop fast überall mit sich herumtragen und Unbefugte darauf zugreifen können, stellt sich die Frage, wie Sie Ihre Daten vor fremden Eingriffen schützen können. Es handelt sich um physische Angriffe, bei denen jeder versuchen kann, Daten zu erhalten USB Laufwerk oder Laptop-Festplatte, indem Sie das Gerät einfach in die Hand nehmen, oder im Falle eines Laptops die Festplatte herausziehen und an ein anderes Betriebssystem anschließen.

Viele Unternehmen und sogar normale Benutzer verwenden Festplattenverschlüsselung in Linux, um vertrauliche Informationen wie Kundendaten, Dateien, Kontaktinformationen und mehr zu schützen. Das Linux-Betriebssystem unterstützt mehrere kryptographische Methoden zum Schutz von Partitionen, einzelnen Verzeichnissen oder der gesamten Festplatte. Alle Daten werden auf diese Weise automatisch verschlüsselt und im laufenden Betrieb entschlüsselt.

Verschlüsselung auf Dateisystemebene:

  • 1. eCryptfs ist ein kryptografisches Linux-Dateisystem. Es speichert die kryptografischen Metadaten für jede Datei in einer separaten Datei, sodass Dateien zwischen Computern kopiert werden können. Die Datei wird erfolgreich entschlüsselt, wenn Sie den Schlüssel haben. Diese Lösung ist weit verbreitet, um beispielsweise in Ubuntu ein verschlüsseltes Home-Verzeichnis zu implementieren. ChromeOS bettet diese Algorithmen auch transparent ein, wenn Network-Attached-Storage-Geräte (NAS) verwendet werden.
  • 2.EncFS- bietet ein verschlüsseltes Dateisystem im User Space. Es läuft ohne zusätzliche Privilegien und verwendet die Sicherungsbibliothek und ein Kernelmodul, um eine Dateisystemschnittstelle bereitzustellen. EncFS ist freie Software und steht unter der GPL.

Verschlüsselung auf Geräteebene blockieren:

  • Loop-AES ist ein schnelles und transparentes Dateisystem und Verschlüsselungspaket für Swap-Partitionen für Linux. Der Quellcode des Programms hat sich lange nicht geändert. Es funktioniert mit 4.x, 3.x, 2.2, 2.0 Kerneln.
  • TrueCrypt ist eine kostenlose Open-Source-Festplattenverschlüsselungslösung für die Betriebssysteme Windows 7/Vista/XP/Mac OS X sowie Linux.
  • dm-crypt+LUKS- dm-crypt ist ein transparentes Subsystem für die Festplattenverschlüsselung in Kernel 2.6 und höher. Unterstützt die Verschlüsselung ganzer Laufwerke, Wechselmedien, Partitionen, RAID-Volumes, Software, logischer Volumes und Dateien.

In diesem Tutorial sehen wir uns die Festplattenverschlüsselung unter Linux mit dem Linux Unified Key Setup-on-Disk-Format (LUKS)-Algorithmus an.

Wie funktioniert LUKS?

LUKS (Linux Unified Key Setup ist ein Verschlüsselungsprotokoll für Blockgeräte. Wir sind jedoch weit fortgeschritten, um zu verstehen, wie es funktioniert. Sie müssen es herunterladen, um andere Technologien zu verstehen, die bei dieser Methode verwendet werden.

Das Kernelmodul dm-crypt wird verwendet, um eine Linux-Festplatte zu verschlüsseln. Mit diesem Modul können Sie ein virtuelles Blockgerät im Verzeichnis /dev/mapper mit einer für das Dateisystem und den Benutzer transparenten Verschlüsselung erstellen. Tatsächlich liegen alle Daten auf einer verschlüsselten physischen Partition. Wenn der Benutzer versucht, Daten auf das virtuelle Gerät zu schreiben, werden diese während des Lesens vom virtuellen Gerät verschlüsselt und auf die Festplatte geschrieben. umgekehrter Betrieb- Daten werden von der physischen Festplatte entschlüsselt und im Klartext über die virtuelle Festplatte an den Benutzer übertragen. Üblicherweise wird zur Verschlüsselung das AES-Verfahren verwendet, da die meisten modernen Prozessoren darauf optimiert sind. Es ist wichtig zu beachten, dass Sie nicht nur Partitionen und Festplatten verschlüsseln können, sondern auch gewöhnliche Dateien, indem Sie darin ein Dateisystem erstellen und ein Gerät als Loop-Gerät anschließen.

Der LUKS-Algorithmus bestimmt, welche Aktionen und in welcher Reihenfolge beim Arbeiten mit verschlüsselten Medien ausgeführt werden. Das Cryptsetup-Dienstprogramm wird verwendet, um mit LUKS und dem dm-crypt-Modul zu arbeiten. Wir werden weiter darüber nachdenken.

Cryptsetup-Dienstprogramm

Das Dienstprogramm Cryptsetup macht es einfach, eine Linux-Partition mit dem Modul dm-crypt zu verschlüsseln. Lassen Sie uns es zuerst installieren.

Verwenden Sie dazu unter Debian oder Ubuntu diesen Befehl:

apt-get install cryptsetup

Auf Red Hat-basierten Distributionen würde dies wie folgt aussehen:

yum installiere cryptsetup-luks

Die Syntax zum Ausführen des Befehls lautet:

$ cryptsetup-Optionsoperation op_options

Betrachten Sie die grundlegenden Operationen, die mit diesem Dienstprogramm durchgeführt werden können:

  • luksFormat- Erstellen Sie eine verschlüsselte Luks-Linux-Partition
  • luksOpen- Verbinden Sie ein virtuelles Gerät (Sie benötigen einen Schlüssel)
  • luksClose- Schließen Sie das virtuelle Linux-Gerät luks
  • luksAddKey- Verschlüsselungsschlüssel hinzufügen
  • luksRemoveKey- Verschlüsselungsschlüssel löschen
  • luksUUID- Partitions-UUID anzeigen
  • luksDump- LUKS-Header sichern

Die Parameter der Operation hängen von der Operation selbst ab, normalerweise ist es entweder ein physisches Gerät, mit dem Sie eine Aktion ausführen möchten, oder ein virtuelles Gerät, oder beides. Noch ist nicht alles klar, aber in der Praxis werden Sie, denke ich, alles verstehen.

Linux-Laufwerkverschlüsselung

Die Theorie ist bestanden, alle Werkzeuge stehen bereit. Ziehen Sie nun in Betracht, eine Linux-Partition zu verschlüsseln. Kommen wir zum Einrichten der Festplatte. Bitte beachten Sie, dass dadurch alle Daten von dem Laufwerk oder der Partition gelöscht werden, die Sie verschlüsseln möchten. Wenn sich dort also wichtige Daten befinden, ist es besser, sie an einen zuverlässigeren Ort zu kopieren.

Abschnittserstellung

In diesem Beispiel verschlüsseln wir die Partition /dev/sda6, aber Sie können stattdessen die gesamte Festplatte oder nur eine mit Nullen gefüllte Datei verwenden. Erstellen Sie eine verschlüsselte Partition:

cryptsetup -y -v luksFormat /dev/sda6

WARNUNG!
========
Dadurch werden Daten auf /dev/sda6 unwiderruflich überschrieben.

Bist du dir sicher? (Großbuchstaben ja eingeben): JA
Geben Sie die LUKS-Passphrase ein:
Passphrase überprüfen:
Befehl erfolgreich.

Dieser Befehl initialisiert die Partition, legt den Initialisierungsschlüssel und das Passwort fest. Legen Sie ein solches Passwort fest, damit Sie es später nicht vergessen.

Führen Sie den folgenden Befehl aus, um die neu erstellte Partition mit dem dm-crypt-Modul in /dev/mapper zu öffnen. Dazu müssen Sie das Passwort eingeben, mit dem luks linux verschlüsselt wurde:

Geben Sie die Passphrase für /dev/sda6 ein

Jetzt können Sie das neue virtuelle Gerät /dev/mapper/backup2 sehen, das mit dem Befehl luksFormat erstellt wurde:

ls -l /dev/mapper/backup2

Um den Gerätestatus anzuzeigen, führen Sie Folgendes aus:

cryptsetup -v Statussicherung2

/dev/mapper/backup2 ist aktiv.
Typ: LUKS1
Chiffre: aes-cbc-essiv:sha256
Schlüsselgröße: 256 Bit
Gerät: /dev/sda6
Offset: 4096 Sektoren
Größe: 419426304 Sektoren
Modus: Lesen/Schreiben
Befehl erfolgreich.

Und mit dem folgenden Befehl können Sie die LUKS-Header für alle Fälle sichern:

cryptsetup luksDump /dev/sda6

Nun, wir können sagen, dass der Abschnitt fertig ist. Und das Beste ist, dass Sie es jetzt wie jede andere normale Partition im /dev-Verzeichnis verwenden können. Es kann mit Standarddienstprogrammen formatiert werden, Daten darauf schreiben, das Dateisystem ändern oder überprüfen usw. Sie können nicht nur die Größe ändern. Das heißt, alles ist völlig transparent, wie am Anfang des Artikels angegeben.

Partitionsformatierung

Lassen Sie uns zuerst das Laufwerk formatieren. Aus Gründen der Zuverlässigkeit werden wir unsere verschlüsselte Linux-Partition mit Nullen überschreiben, um alle Daten zu löschen, die sich zuvor an diesem Ort befanden. Dies verringert die Wahrscheinlichkeit, dass die Verschlüsselung gebrochen wird, indem die Menge an zufälligen Informationen erhöht wird. Führen Sie dazu Folgendes aus:

dd if=/dev/zero of=/dev/mapper/backup2

Die Ausführung des Dienstprogramms kann mehrere Stunden dauern. Um den Prozess überwachen zu können, verwenden Sie pv:

pv -tpreb /dev/zero | dd of=/dev/mapper/backup2 bs=128M

Wenn der Vorgang abgeschlossen ist, können wir das Gerät für jedes Dateisystem formatieren. Lassen Sie uns zum Beispiel in ext4 formatieren:

mkfs.ext4 /dev/mapper/backup2

Wie Sie sehen können, gelten alle cryptsetup-Befehle für die physische Partition, während der Rest der Festplattenbefehle für unsere virtuelle Partition gilt.

Partitionsmount

Jetzt können Sie nur das erstellte Dateisystem mounten:

$ mount /dev/mapper/backup2 /backup2

Abschnitt deaktivieren

Alles funktioniert, aber wie man das Gerät ausschaltet und die Daten schützt. Führen Sie dazu Folgendes aus:

cryptsetup luksClose backup2

Neu montieren

Um wieder mit einer verschlüsselten Partition mit LUKS Linux arbeiten zu können, müssen Sie sie erneut öffnen:

cryptsetup luksOpen /dev/sda6 backup2

Jetzt können wir montieren:

mount /dev/mapper/backup2 /backup2

Überprüfen Sie das Luks-Dateisystem

Da nach dem Öffnen einer Partition mit luks linux diese Partition vom System wie alle anderen behandelt wird, können Sie einfach das Dienstprogramm fsck verwenden:

sudo umount /backup2

$ fsck -vy /dev/mapper/backup2

$ mount /dev/mapper/backup2 /backu2

Luks-Passphrase ändern

Die Linux-Laufwerkverschlüsselung erfolgt mit einer bestimmten Passphrase, die Sie jedoch ändern können. Darüber hinaus können Sie bis zu acht verschiedene Passphrasen erstellen. Führen Sie zum Ändern die folgenden Befehle aus. Lassen Sie uns zuerst die LUKS-Header sichern:

cryptsetup luksDump /dev/sda6

Dann erstellen wir einen neuen Schlüssel:

cryptsetup luksAddKey /dev/sda6

Geben Sie eine beliebige Passphrase ein:

Geben Sie eine neue Passphrase für den Schlüsselsteckplatz ein:
Passphrase überprüfen:

Und den alten löschen:

cryptsetup luksRemoveKey /dev/sda6

Jetzt müssen Sie das alte Passwort erneut eingeben.

Schlussfolgerungen

Das ist alles, jetzt wissen Sie, wie man eine Partition unter Linux verschlüsselt, und verstehen auch, wie das alles funktioniert. Darüber hinaus eröffnet die Festplattenverschlüsselung unter Linux mit dem LUKS-Algorithmus große Möglichkeiten zur vollständigen Verschlüsselung des installierten Systems.

Vorteile:

  • LUKS verschlüsselt das gesamte Block Device und eignet sich daher sehr gut zum Schutz der Inhalte von tragbaren Geräten wie Mobiltelefonen, Wechseldatenträgern oder Laptop-Festplatten.
  • Sie können weiter verwenden NAS-Server Sicherungen zu schützen
  • Intel- und AMD-Prozessoren mit AES-NI (Advanced Encryption Standard) verfügen seit 2.6.32 über eine Reihe von Befehlen, die den dm-crypt-basierten Verschlüsselungsprozess im Linux-Kernel beschleunigen können.
  • Es funktioniert auch mit der Swap-Partition, sodass Ihr Laptop die Schlaf- oder Ruhezustandsfunktion völlig sicher nutzen kann.

Autor: Paddy Landau
Erscheinungsdatum: September 2012
Übersetzung: Semenenko V.
Erscheinungsdatum der Übersetzung: 13. November 2012

Wenn Sie das Ubuntu-Betriebssystem installieren, denken Sie möglicherweise nicht daran, die Datenverschlüsselung darin einzurichten. Oder es kann vorkommen, dass Sie einen Benutzer zum System hinzufügen, ohne sein Home-Verzeichnis zu verschlüsseln. Aber jetzt haben Sie Ihre Meinung geändert und sich entschieden, den Schutz dieses Verzeichnisses zu konfigurieren. Mit anderen Worten, Sie (oder ein anderer Benutzer auf dem Computer) möchten eine Funktion, die derzeit nicht vorhanden ist ...

Erstellen einer verschlüsselten Partition in Ubuntu

Wie können Sie die Möglichkeit zum Verschlüsseln in einem bereits installierten hinzufügen Ubuntu-System Linux?

Glücklicherweise ist es ziemlich einfach zu implementieren. Befolgen Sie dazu einfach drei grundlegende Schritte:

  • Erstellen Sie eine verschlüsselte Kopie Ihres Home-Verzeichnisses;
  • das ursprüngliche unverschlüsselte Home-Verzeichnis löschen;
  • Verschlüsseln Sie die Swap-Partition (wird nur einmal durchgeführt, wenn Sie ein Ubuntu-System installieren oder wenn Sie dieser Anleitung Schritt für Schritt folgen).

Die Schritte in diesem Artikel wurden auf einem vollständig aktualisierten Ubuntu Precise 12.04-System durchgeführt.

Ausbildung

Aufgrund eines aktuellen Fehlers in Ubuntu Linux können Sie sich nicht anmelden, wenn sich die Anmeldegrafik im verschlüsselten Home-Ordner des Benutzers befindet. Wenn der Benutzer die Standarddarstellung geändert hat, stellen Sie sicher, dass es sich auch nicht im Home-Ordner des Benutzers befindet.

Das Erstellen einer verschlüsselten Kopie des Home-Verzeichnisses des Benutzers ist ein sicheres Verfahren. Es ist jedoch zu beachten, dass für die Implementierung ein gewisser Festplattenspeicher erforderlich ist. Wenn sich herausstellt, dass zu wenig Speicherplatz vorhanden ist, müssen Sie die Daten sichern, dann alle großen Dateien (z. B. Filme) daraus löschen und sie nach Abschluss der Verschlüsselung aus dieser Sicherung wiederherstellen. Generell empfehle ich Ihnen, alle Ihre Daten zu sichern, um möglichen Problemen vorzubeugen.

Installieren Sie mit Ihrem bevorzugten Paketmanager das Programm encrypt-utils.

Verschlüsselung

In diesem Tutorial werde ich den Paddy-Login als Benutzernamen verwenden, auf den gehandelt wird. Sie müssen es durch den Namen des Benutzers ersetzen, dessen Home-Verzeichnis verschlüsselt werden soll.

Starten Sie Ubuntu Linux neu und gehen Sie in den "Wiederherstellungsmodus". Ein Tipp: Halten Sie beim Hochfahren des Systems die Umschalttaste gedrückt, um das Grub-Menü zu öffnen. Üblicherweise steht die Zeile „Recovery Mode“ (Wiederherstellungsmodus) in der Liste dieses Bootloaders an zweiter Stelle von oben.

Wählen Sie im Menü des Wiederherstellungsmodus „Löschen“, um die Eingabeaufforderung für das Root-Konto anzuzeigen.

Um den am Anfang dieses Artikels erwähnten Programmierfehler zu beheben, geben Sie die folgenden zwei Befehle ein:

Mount --options remount,rw / mount --all

Jetzt können wir eine verschlüsselte Kopie des Home-Verzeichnisses des Paddy-Benutzers erstellen. Geben Sie dazu den folgenden Befehl ein. Machen Sie sich gleichzeitig die Mühe, sich Ihr eigenes Passwort zu merken, da dieses Dienstprogramm es benötigt, um den Vorgang abzuschließen:

cryptfs-migrate-home --user Paddy

Wenn der Verschlüsselungsvorgang abgeschlossen ist, werden mehrere Warnungen angezeigt. Sie können sie ignorieren. Sie müssen sich jedoch den Pfad zu dem temporären Ordner merken, der mit diesem Befehl erstellt wurde. Sein Aussehen wird in etwa so sein:

/home/paddy.ChPzzxqD

In diesem Fall sind die letzten acht Zeichen (nach dem Punkt) eine zufällige Menge. Sie benötigen dieses Verzeichnis in den nächsten Schritten "Complete" oder "Return to Initial State", die später besprochen werden.

Starten Sie Ihr Ubuntu Linux-System neu. Geben Sie dazu den Befehl ein:

Jetzt neustarten

Es kann einige Sekunden dauern, nachdem Sie den Befehl eingegeben und ausgeführt haben. Seien Sie also geduldig.

Fertigstellung

Melden Sie sich beim Ubuntu-System an auf die übliche Weise wie du es jedes Mal getan hast. Überprüfen Sie, ob alles wie zuvor funktioniert.

Wenn etwas nicht stimmt, können Sie sofort zum Punkt "Zurück zum ursprünglichen Zustand" wechseln.

Wenn alles im System funktioniert, führen Sie die letzten Schritte aus.

Öffnen Sie das Terminal und geben Sie den Befehl zum Löschen des temporären Verzeichnisses ein. Dazu müssen Sie sich den Pfad zum temporären Ordner merken, der beim Verschlüsseln des Home-Verzeichnisses erstellt wurde.

Sudo rm -R /home/paddy.ChPzzxqD

Stellen Sie die Daten wieder her, die Sie (falls vorhanden) im Schritt "Vorbereitung" gelöscht haben.

Öffnen Sie das Terminal erneut und geben Sie den Befehl zum Verschlüsseln der Swap-Partition ein. Wenn Sie zuvor einen Benutzer mit Home-Verzeichnisverschlüsselung konfiguriert hatten, können Sie diesen Schritt getrost überspringen:

sudo ecryptfs-setup-swap

Starten Sie erneut neu.

Zurück zum ursprünglichen Zustand

Wenn der Verschlüsselungsvorgang fehlgeschlagen ist, müssen Sie die vorherigen Schritte erneut wiederholen.

Befehle ausführen:

Mount --options remount,rw / mount --all ecryptfs-migrate-home --user paddy

Geben Sie dann den Befehl ein, um den Inhalt des temporären Ordners anzuzeigen, der während des Verschlüsselungsvorgangs erstellt wurde. Dazu müssen Sie sich erneut den Pfad dazu merken. Dies sollte keine Fehler erzeugen. Wenn ja, dann brauchen Sie Hilfe.

ls -l /home/paddy.ChPzzxqD

Schließen Sie nun den Reset-Vorgang ab, indem Sie drei Befehle ausgeben:

Cd /home rm -R paddy .ecryptfs/paddy mv paddy.ChPzzxqD

Starten Sie erneut neu.

Ich hoffe, die obigen Schritte haben Ihnen geholfen. Wenn Sie unlösbare Probleme haben, können Sie eine Anfrage in meinem Ubuntu-Forenthread posten:

Schlafmodus bei Verschlüsselung

Die meisten Benutzer fragen sich oft, warum es im Ubuntu-Betriebssystem keinen Ruhezustand (Ruhezustand) gibt, nachdem die vorherigen Vorgänge (wie zuvor in diesem Artikel beschrieben) ausgeführt wurden, und wie diese Fähigkeit wiederhergestellt werden kann. Grund ist die konfigurierte Verschlüsselung. Wenn Sie die Home-Verzeichnisverschlüsselung konfiguriert haben, wird die Swap-Partition ebenfalls verschlüsselt, jedoch mit einem zufälligen Schlüssel. Wenn Sie das System in den Ruhezustand versetzen, werden die RAM-Daten auf der Swap-Partition gespeichert und mit einem zufälligen Schlüssel verschlüsselt. Beim Wiederherstellen des Systems aus dem Ruhezustand ist der Schlüssel, mit dem die Swap-Partition verschlüsselt wurde, bereits unwiederbringlich verloren und das System kann diese Partition nicht lesen. Dementsprechend können die Daten nicht abgerufen werden und eine Rückkehr zum vorherigen Zustand ist nicht möglich.

Wenn Sie auf Ihrem System keine Partitionsverschlüsselung konfiguriert haben, ist die Wiederherstellung des Ruhezustands in Ubuntu einfach. Führen Sie dazu einfach die Befehle aus:

ls -l /home/paddy.ChPzzxqD rm -R paddy .ecryptfs/paddy

Wenn jedoch die Home-Partition des Benutzers und die Swap-Partition auf dem System verschlüsselt sind, ist es notwendig, die Verschlüsselung der Swap-Partition nicht durch einen zufälligen Schlüssel, sondern durch eine vorgewählte Passphrase zu ersetzen.

Beachten Sie jedoch, dass jeder Benutzer des Computers diese Passphrase beim Systemstart kennen muss.

Ich wurde getestet diese Methode in beiden Fällen - sowohl auf einem normalen Ubuntu 12.04-System als auch auf einem auf installierten Ubuntu-System virtuelle Maschine virtuelle Kiste. Im letzteren Fall gab es Probleme mit der Anzeige des Bildschirms beim Wiederherstellen aus dem Schlafmodus. Aber auf einem normalen System funktionierte alles einwandfrei.

Ausbildung

Geben Sie im Terminal folgenden Befehl ein:

sudo cryptsetup status crypt swap 1

Als Ergebnis sehen Sie eine Zeile, in der das Gerät bezeichnet wird, und sieht etwa so aus:

/dev/sda1

/dev/sdb5

Dieses Gerät ist die Swap-Partition auf Ihrem System. Denken Sie daran, da Sie es später brauchen werden.

Wenn Sie Änderungen am System vornehmen, empfehle ich immer, eine vollständige Sicherung Ihrer Daten durchzuführen. In unserem Fall wird es auch nützlich sein.

Schlafeinstellung

Geben Sie die folgenden Befehle ein. Stellen Sie sicher, dass Sie /dev/sdXN durch Ihre im Abschnitt „Vorbereitung“ erstellte Swap-Partition ersetzen. Bei der Eingabe von Befehlen sollten Sie sich strikt an die vorgegebene Reihenfolge halten:

sudo swapoff /dev/mapper/cryptswap1 sudo cryptsetup luksClose /dev/mapper/cryptswap1 sudo cryptsetup luksFormat cipher aes cbc essiv:sha256 verifiziere Passphrase Schlüsselgröße 256 /dev/sdXN WARNUNG! ======== Dadurch werden Daten auf /dev/sda1 unwiderruflich überschrieben. Bist du dir sicher? (Großbuchstaben yes eingeben): JA Geben Sie die LUKS-Passphrase ein: Verify passphrase: sudo cryptsetup luksOpen /dev/sdXN cryptswap1

Geben Sie die Passphrase für das Gerät /dev/sda1 ein (und wiederholen Sie sie, um Tippfehler zu vermeiden):

sudo mk swap /dev/mapper/crypt swap 1 sudo swapon --all swapon -s

Der letzte Befehl zeigt den Gerätedateinamen /dev/crypt swap 1 an.

Öffnen Sie die Konfigurationsdatei /etc/crypttab in Ihrem bevorzugten Editor. Ersetzen Sie die Zeile crypt swap 1 durch Folgendes (vergessen Sie nicht, /dev/sdXN durch Ihr Swap-Gerät zu ersetzen):

Cryptswap1 /dev/sdXN keine Luks

Bearbeiten Sie nun die Datei /usr/share/initramfstools/scripts/local-top/cryptroot . Suchen Sie darin die Zeile (normalerweise hat sie die Nummer 288, kann sich aber ändern):

Meldung „cryptsetup: unbekannter Fehler beim Einrichten der Gerätezuordnung“

Gehen Sie zur nächsten leeren Zeile (vor FSTYPE=") und fügen Sie sie ein Neue Zeile(ohne zu vergessen, das /dev/sdXN-Gerät zu ersetzen):

/sbin/cryptsetup luksOpen /dev/sdXN crypt swap 1

Bearbeiten Sie die Datei /etc/acpi/hibetnate.sh . Fügen Sie in der ersten leeren Zeile den Wert ein:

DEVICE="/dev/mapper/crypt swap 1"

Bearbeiten Sie die Datei /etc/initramfstools/conf.d/resume. Ersetzen Sie die vorhandene Zeile darin durch Folgendes:

RESUME=/dev/mapper/crypt swap 1

Bearbeiten Sie dann die Datei /etc/polkit1/localauthoriyt/50-local.d/com.ubuntu.enable-hibernate.pkla . Die Datei existiert ursprünglich nicht, also müssen Sie sie zuerst erstellen. Fügen Sie dann die Zeilen hinzu:

Identity=unixuser:* Action=org.freedesktop.upower.hibernate ResultActive=yes

Öffnen Sie abschließend ein Terminal und geben Sie darin den folgenden Befehl ein:

Sudo update initramfs u k all

Neustart.

Schlafmodus verwenden

Wenn Sie Ubuntu Linux das nächste Mal starten, werden Sie nach einer neuen Passphrase für die Swap-Partition gefragt. Geben Sie es ein und der weitere normale Anmeldevorgang wird fortgesetzt.

Wenn Sie die Passphrase plötzlich vergessen haben, geben Sie etwas ein. Nach drei Fehlversuche das System setzt den Anmeldevorgang trotzdem fort, jedoch ohne die Swap-Partition zu mounten. Um ein neues Keyword zu erhalten, folgen Sie den Schritten in diesem Artikel Schritt für Schritt Anweisungen wieder.

Sie finden nun den „Hibernate“-Modus im Shutdown-Menü von Ubuntu Linux und können ihn nutzen. Wenn Sie über die Befehlszeile in den Ruhemodus wechseln möchten, geben Sie einfach den folgenden Befehl im Terminal ein.



Wird geladen...
oben