Benutzer-Werkzeuge

Webseiten-Werkzeuge


verschluesselung_mit_cryptsetup

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
verschluesselung_mit_cryptsetup [2020-12-27 18:16:24] manfredverschluesselung_mit_cryptsetup [2022-11-21 10:41:38] (aktuell) – [mit Passwort mappen] manfred
Zeile 1: Zeile 1:
 ====== Verschlüsselung mit CryptSetup ====== ====== Verschlüsselung mit CryptSetup ======
  
-Die Stärke der Sicherheit der drei besten Cipher ist wie folgt, der sicherste steht oben: +Die Stärke der Sicherheit der drei besten Cipher/[[::Verschlüsselungsarten]] ist wie folgt, der sicherste steht oben: 
-  - serpent //(der sicherste in ''[[Verschlüsselung mit CryptSetup|CryptSetup]]'' - ganzes Dateisystem verschlüsseln)// +  - **serpent** //(der sicherste in ''[[Verschlüsselung mit CryptSetup|CryptSetup]]'' - ganzes Dateisystem verschlüsseln)// 
-  - twofish //(der sicherste in ''[[::einzelne Dateien mit GPG verschlüsseln|GPG]]'' - einzelne Dateie verschlüsseln)// +  - **twofish** //(der sicherste in ''[[::einzelne Dateien mit GPG verschlüsseln|GPG]]'' - einzelne Dateie verschlüsseln) -> **[[::GPG-Verschlüsselung mit Passwort]]**// 
-  - blowfish //(der sicherste in ''[[::einzelne Dateien mit openSSL verschlüsseln|openSSL]]'' - einzelne Dateie verschlüsseln)//+  - **blowfish** //(der sicherste in ''[[::einzelne Dateien mit openSSL verschlüsseln|openSSL]]'' - einzelne Dateie verschlüsseln) -> [[::OpenSSL-Verschlüsselung mit Passwort]]//
  
   * -> verschlüsseln von ganzen Volumen (Festplatten bzw. Images)   * -> verschlüsseln von ganzen Volumen (Festplatten bzw. Images)
Zeile 22: Zeile 22:
         LUKS1: aes-xts-plain64, Schlüssel: 256 Bits, LUKS-Header-Hashen: sha256, Zufallszahlengenerator: /dev/urandom         LUKS1: aes-xts-plain64, Schlüssel: 256 Bits, LUKS-Header-Hashen: sha256, Zufallszahlengenerator: /dev/urandom
 </code> </code>
 +
 +  > cat /proc/crypto | grep -E '^name[ ]*: [a-z]' | cut -c 16- | grep -Ev '[(].*[)]' | sort | uniq
 +  aes
 +  cipher_null
 +  compress_null
 +  crc32
 +  crc32c
 +  crct10dif
 +  deflate
 +  dh
 +  digest_null
 +  ghash
 +  jitterentropy_rng
 +  lzo
 +  lzo-rle
 +  md5
 +  rsa
 +  serpent
 +  sha1
 +  sha224
 +  sha256
 +  sha384
 +  sha512
 +  stdrng
 +  twofish
 +  zlib-deflate
 +  
 +  > cryptsetup benchmark --cipher serpent
 +  # Die Tests sind nur annähernd genau, da sie nicht auf den Datenträger zugreifen.
 +  #   Algorithmus | Schlüssel | Verschlüsselung | Entschlüsselung
 +  serpent-cbc        256b       107,0 MiB/s       833,0 MiB/s
  
 <code> <code>
Zeile 52: Zeile 83:
  
 Als erstes sollte man //cryptsetup// installieren. Bei Ubuntu geht das so: Als erstes sollte man //cryptsetup// installieren. Bei Ubuntu geht das so:
-  aptitude -y install cryptsetup+  aptitude -y install cryptsetup
  
 Mit CryptSetup kann man symetrisch verschlüsseln: Mit CryptSetup kann man symetrisch verschlüsseln:
-  * zum einem mit einem __mit einem Kryptografischen Schlüssel__ (einer Schlüsseldatei, die in diesem Beispiel den Namen ''crypt.key'')+  * zum einen __mit einem Kryptografischen Schlüssel__ (einer Schlüsseldatei, die in diesem Beispiel den Namen ''crypt.key'')
   * zum anderen direkt __mit einem Passwort/Passphrase__   * zum anderen direkt __mit einem Passwort/Passphrase__
  
Zeile 104: Zeile 135:
 __Dieser Forgang zerstört alle Daten auf der Image-Datei, die ggf. bereits drauf sind!__ __Dieser Forgang zerstört alle Daten auf der Image-Datei, die ggf. bereits drauf sind!__
  
-<code> +4096 Zufallswerte als Crypt-Schlüssel erzeugen und in der Schlüsseldatei speichern: 
-### 4096 Zufallswerte als Crypt-Schlüssel erzeugen und in der Schlüsseldatei speichern +  > touch crypt.key 
-> touch crypt.key +  > chmod 0600 crypt.key 
-> chmod 0600 crypt.key +  > head -c 100000 /dev/urandom | tr -cd '[:alnum:]' | cut -b-4096 > crypt.key 
-> head -c 100000 /dev/urandom | tr -cd '[:alnum:]' | cut -b-4096 > crypt.key +  > wc crypt.key 
-> wc crypt.key +     1    1 4097 crypt.key
-   1    1 4097 crypt.key+
  
 __Diese Datei ist **DER** Schlüssel! __Diese Datei ist **DER** Schlüssel!
Zeile 116: Zeile 146:
 Sie muss genauso sicher aufbewart werden wie ein Passwort!__ Sie muss genauso sicher aufbewart werden wie ein Passwort!__
  
-### Verschlüsselungsalgorithmus auswählen ("Serpent" ist der sicherste; "Twofish" ist der 2.-sicherste; "AES" ist der US-Standard und nur 3% schneller als "Serpent") => /dev/loop0+Verschlüsselungsalgorithmus auswählen ("Serpent" ist der sicherste; "Twofish" ist der 2.-sicherste; "AES" ist der US-Standard und nur 3% schneller als "Serpent") => /dev/loop0
  
-### 2010 +**__2010__** 
-> /sbin/cryptsetup -q -c aes-xts-plain -s 512 -h sha512 luksFormat /dev/loop0 crypt.key +  > /sbin/cryptsetup -q -c aes-xts-plain -s 512 -h sha512 luksFormat /dev/loop0 crypt.key 
-> /sbin/cryptsetup -q -c twofish       -s 256 -h sha512 luksFormat /dev/loop0 crypt.key +  > /sbin/cryptsetup -q -c twofish       -s 256 -h sha512 luksFormat /dev/loop0 crypt.key 
-> /sbin/cryptsetup -q -c serpent       -s 256 -h sha512 luksFormat /dev/loop0 crypt.key+  > /sbin/cryptsetup -q -c serpent       -s 256 -h sha512 luksFormat /dev/loop0 crypt.key
  
-### 2020 +**__2020__** 
-> /sbin/cryptsetup -q -c aes-xts-plain     -s 512 -h sha512 luksFormat /dev/loop0 crypt.key +  > /sbin/cryptsetup -q -c aes-xts-plain     -s 512 -h sha512 luksFormat /dev/loop0 crypt.key 
-> /sbin/cryptsetup -q -c twofish-xts-plain -s 512 -h sha512 luksFormat /dev/loop0 crypt.key +  > /sbin/cryptsetup -q -c twofish-xts-plain -s 512 -h sha512 luksFormat /dev/loop0 crypt.key 
-> /sbin/cryptsetup -q -c serpent-xts-plain -s 512 -h sha512 luksFormat /dev/loop0 crypt.key +  > /sbin/cryptsetup -q -c serpent-xts-plain -s 512 -h sha512 luksFormat /dev/loop0 crypt.key
-</code>+
  
  
Zeile 174: Zeile 203:
 ### verschlüsselte Image-Datei auf die LUKS-Gerätedatei legen => /dev/mapper/cryptoluks ### verschlüsselte Image-Datei auf die LUKS-Gerätedatei legen => /dev/mapper/cryptoluks
 > /sbin/cryptsetup luksOpen /dev/loop0 cryptoluks > /sbin/cryptsetup luksOpen /dev/loop0 cryptoluks
 +
 +> ls -lha /dev/mapper/
 +insgesamt 0
 +drwxr-xr-x  2 root root      80 Nov 21 11:14 .
 +drwxr-xr-x 21 root root    4,8K Nov 21 11:14 ..
 +crw-------  1 root root 10, 236 Nov 21 05:41 control
 +lrwxrwxrwx  1 root root       7 Nov 21 11:14 cryptoluks -> ../dm-0
 +
 +> cryptsetup status cryptoluks
 +/dev/mapper/cryptoluks is active.
 +  type:    LUKS2
 +  cipher:  serpent-xts-plain
 +  keysize: 512 bits
 +  key location: keyring
 +  device:  /dev/loop0
 +  loop:    /dev/sda1
 +  sector size:  512
 +  offset:  32768 sectors
 +  size:    1953488896 sectors
 +  mode:    read/write
 </code> </code>
  
Zeile 204: Zeile 253:
  
 ggf. will man aber auch das aktuelle Linux-Standard-Dateisystem auf dem verschlüsselten Volumen anlegen, das geht dann so: ggf. will man aber auch das aktuelle Linux-Standard-Dateisystem auf dem verschlüsselten Volumen anlegen, das geht dann so:
-  > mkfs -t ext4 -m 0 /dev/mapper/cryptoluks+  > mkfs -t ext4 -m 0 -L Sphinx /dev/mapper/cryptoluks
  
  
/home/http/wiki/data/attic/verschluesselung_mit_cryptsetup.1609092984.txt · Zuletzt geändert: von manfred