AP6.Ressourcenanalyse_v1.0_geschwrzt_.pdf

Dieses Dokument ist Teil der Anfrage „Untersuchungen zum Verschlüsselungsprogramm „TrueCrypt“

/ 107
PDF herunterladen
CrystalDiskMark: Mittels CrystalDiskMark kann man nun die Zugriffszeiten bestimmen. Relevant für die Testauswertung sind, wie in Abschnitt 2.2.4 beschrieben, lediglich die Schreibvorgänge der rechten Spalte. Um Vergleichbarkeit mit den Linuxtests herzustellen, werden die sequentiellen Ergebnisse aus der ersten Zeile verwendet. ◦ Bestimmung der RAMDisk-Geschwindigkeit Abbildung 2: Bildschirmfoto über die Geschwindigkeitsmessungen von CrystalDiskMark ◦ Starten von TrueCrypt und Erzeugen eines verschlüsselten Blockdevices auf dem Laufwerk D: zugeordneten Device. ◦ Einhängen des verschlüsselten Gerätes auf ein neues Laufwerk (z.B. E:\) ◦ Dann die Benchmarks mit CrystalDiskMark auf dem neu eingehängten Laufwerk E:\ wiederholen. Die Ergebnisse spiegeln nun die Performance beim Einsatz von Verschlüsselung auf einem Blockgerät wider. ◦ Obige Tests werden sowohl für den Höchstleistungs- als auch den Energiesparmodus (siehe Abschnitt 3.3) durchgeführt und zwar sowohl für den QuadCore / DualCore-Betrieb als auch für den SingleCore-Betrieb (siehe Abschnitt 3.2). Seite 21 von 107 | | | 2010
21

• Zeitmessungen: Um im weiteren Testverlauf den Einfluss einer Full-Disc-Encryption auf die Gesamtsystemleistung zu ermitteln, werden zunächst einige Zeitmessungen durchgeführt, um im Nachhinein die für einen Benutzer merklichen Unterschiede herauszufinden. Hierzu werden folgende Daten manuell mittels einer Stoppuhr ermittelt und in Sekunden notiert, ebenfalls für den QuadCore / DualCore-Betrieb als auch für den SingleCore-Betrieb (siehe Abschnitt 3.2). ◦ Starten von Windows ◦ Herunterfahren von Windows ◦ Starten von Mozilla Firefox ◦ Starten von OpenOffice ◦ Extrahieren von Eclipse (1.251 kleine und große Dateien mit Archivgröße >100MB) ◦ Starten von Eclipse IDE (Jedoch erst nach Neustart des Systems, um ggf. im Cache befindliche Daten zu eliminieren) • Full-Disc-Encryption: Je nach Einsatzszenario von TrueCrypt ist es nötig, das gesamte System zu verschlüsseln. Diese Full-Disc-Encryption kann unter Umständen die Systemperformance erheblich beeinflussen, da der durch DMA gewonnene Geschwindigkeitsverlust durch die Ver- und Entschlüsselung der Daten in der CPU wieder aufgehoben wird. Um den für den Benutzer merklichen Einfluss auf die Performance zu messen, wird das System mit TrueCrypt Full-Disc-verschlüsselt und im Anschluss daran die obigen Zeitmessungen wiederholt. Darüber hinaus wird die Zeit, welche zum Umschlüsseln benötigt wird, ebenfalls gemessen. Seite 22 von 107 | | | 2010
22

3.2 Umschalten zwischen MultiCore auf SingleCore Betrieb 3.2.1 Windows Unter Windows stehen in der Standardkonfiguration dem Benutzer immer sämtliche verfügbaren CPUs zur Verfügung. Um jedoch die Anzahl der verwendeten CPUs zu reduzieren und so weitere Tests durchzuführen, kann man die Anzahl der CPUs wie folgt konfigurieren: Start → Systemkonfiguration → Start → Erweiterte Optionen → Prozessoranzahl = 1 (für SingleCore oder 2 für DualCore) → Übernehmen → OK → Neustart Abbildung 3: Bildschirmfoto der Systemkonfiguration zum Umschalten auf SingleCore unter Windows 3.2.2 Linux Wenn unter Linux ein SMP-fähiger Kernel installiert ist, stehen hier ebenfalls standardmäßig sämtliche verfügbaren CPUs zur Verfügung. Um die Anzahl der Kerne zu reduzieren, muss der Kernel-Konfigurationszeile (in der Regel in der Bootloader-Konfiguration „grub.cfg“ oder „menu.lst“ in der Zeile „kernel“) folgender Parameter hinzugefügt werden: Seite 23 von 107 | | | 2010
23

für SingleCore: kernel= … nosmp maxcpus=1 für DualCore: kernel= … maxcpus=2 3.3 Umschalten zwischen Energieprofilen verschiedenen Taktfrequenzen und 3.3.1 Windows Unter Windows besteht die Möglichkeit, über verschiedene Energieprofile die Taktfrequenzen und die Leistung von Windows zu regulieren. In den folgenden Untersuchungen kommen zwei Profile zum Einsatz: • Energiesparmodus • Höchstleistungsmodus Zum Einstellen des jeweiligen Modus muss wie folgt vorgegangen werden: Start → Systemsteuerung → System und Wartung → Energieoptionen Abbildung 4: Bildschirmfoto der Windows Energieoptionen Seite 24 von 107 | | | 2010
24

3.3.2 Linux Unter Linux wird die CPU-Geschwindigkeit über sogenannte „Governor“ reguliert. Hier stehen in der Regel die folgenden zur Verfügung: • conservative • ondemand • userspace • powersave • performance Für die folgenden Untersuchungen sind nur die folgenden beiden Governor von Interesse, da sie die minimale und maximale Taktfrequenz auswählen: • powersave • performance Um den entsprechenden Governor einzustellen, kann man dazu entweder über die KDE-Energieverwaltung den Modus „Aggressive Powersave“ bzw. „Performance“ auswählen, oder manuell in einem Terminal über: • powersave echo echo echo echo • powersave powersave powersave powersave performance echo echo echo echo performance performance performance performance > > > > > > > > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor Seite 25 von 107 | | | 2010
25

3.4 AES-Hardwarebeschleunigung bei Intel Core-i7 CPUs 3.4.1 Windows Unter Windows stellt man die Verwendung von der AES-NI-Beschleunigung neuerer Intel Core-i7 CPUs direkt in TrueCrypt ein. Hierzu setzt oder löscht man den Haken bei: • TrueCrypt starten → Settings → Performance → „Accelerate AES encryption/decryption by using the AES instructions of the processor“ Abbildung 5: Bildschirmfoto von TrueCrypt unter Windows zum Aktivieren der AES-NI Beschleunigung Seite 26 von 107 | | | 2010
26

3.4.2 Linux Unter Linux bestehen grundsätzlich zwei Möglichkeiten, Kryptooperationen auszuführen. Zum einen kann man die TrueCrypt-internen Implementierungen verwenden, für die TrueCrypt auch Unterstützung für die AES-Beschleunigung in neueren Intel-Prozessoren mitbringt. Um diese auszuwählen, geht man wie folgt vor: • Kernel-Kryptographie abschalten, Haken setzen bei: ◦ TrueCrypt starten → Settings → Preferences → System Integration → „Do not use kernel cryptographic services“ Abbildung 6: Bildschirmfoto von TrueCrypt unter Linux zum Abschalten der Linux-Krypto Seite 27 von 107 | | | 2010
27

• AES-NI einschalten, Haken entfernen bei: ◦ TrueCrypt starten → Settings → Preferences → Performance → „Do not accelerate AES encryption/decryption by using the AES instructions of the processor“ Abbildung 7: Bildschirmfoto von TrueCrypt unter Linux zum Aktivieren der AES-NI Beschleunigung Möchte man nicht die TrueCrypt-interne Kryptoimplementierung verwenden, sondern auf die von Linux mitgebrachten und meist optimierten Implementierungen zurückgreifen, müssen die entsprechenden Kernelmodule geladen sein. Ein • # cat /proc/crypto zeigt die bereits im Linuxkern verfügbaren Algorithmen an. Um nun die AES-NI Beschleunigung zu aktivieren, lädt man das folgende Modul: • # modprobe aesni_intel Um die Verwendung zu unterbinden, entfernt man es aus dem Kernel: • # rmmod aesni_intel Seite 28 von 107 | | | 2010
28

3.5 Löschen von Caches (nur Linux) Unter Linux besteht ab Kernel Version 2.6.16 die Möglichkeit, den Cache sowie nicht mehr verwendeten Speicher zu löschen. Dies ist für die folgenden Tests von Interesse, da ggf. noch im Cache befindliche Daten das Timing-Verhalten (z.B. beim Entpacken von Archiven) verändert. Um von der bereitgestellten Möglichkeit Gebrauch zu machen, stellt der Kernel im proc-Dateisystem – konkret: /proc/sys/vm/drop_caches - ein Interface zur Verfügung, in welches man eine der folgenden Nummern schreiben kann: • Um Seitenspeicher (page cache) zu löschen: # echo 1 > /proc/sys/vm/drop_caches • Um D-Einträge und inodes zu löschen: # echo 2 > /proc/sys/vm/drop_caches • Um Seitenspeicher, D-Einträge und inodes zu löschen (also 1+2): # echo 3 > /proc/sys/vm/drop_caches Die obigen Aktionen sind alle nicht-destruktiv und löschen lediglich nicht-verwendete Objekte aus dem Speicher und den Cache-Tabellen. Seite 29 von 107 | | | 2010
29

4 Testergebnisse (Kurzzusammenfassung) und Analyse 4.1 Speicherbedarf von TrueCrypt TrueCrypt benötigt den folgenden Speicherplatz auf Festplatte: Linux Anwendung nur Konsole Anwendung mit GUI Gemeinsame Bibliotheken Gesamt Windows 2,1 MB n/a 4,5 – 4,7 MB 6,5 MB 16 MB 20,9 MB 18,1 – 20,7 MB 27,4 MB TrueCrypt benötigt zur Laufzeit wie folgt Arbeitsspeicher: Linux Anwendung (GUI) 4,9 MB – 5,8 MB Gemeinsame Bibliotheken 14,4 MB- 15,6 MB Zzgl. je Volume 4,1 MB Gesamt (bei 1 Volume) ca. 25,5 MB Gesamt (z.B. bei 3 Volumes) ca. 32,7 MB Windows Hintergrundprozess 5 MB Anwendung (GUI) 2 MB Ab Einhängen von Volume 13 MB Gesamt (bei 1 Volume) ca. 20 MB Gesamt (z.B. bei 8 Volumes) ca. 20 MB 4.1.1 Analyse Der Speicherplatzbedarf von TrueCrypt ist unter Linux abhängig von der eingesetzten Variante (z.B. reine Konsolenanwendung 2 MB vs. GUI 4 MB). Da die Anwendungen dynamisch gelinkt sind, kommen noch ca. 16 MB an gemeinsamen Bibliotheken hinzu. Unter Windows ist der Speicherplatzbedarf leicht höher, die reine Anwendung benötigt 6 MB Festplattenspeicher zzgl. 20 MB an gemeinsamen Bibliotheken. Auf heutigen Systemen sind in der Regel große Festplatten (in der Größenordnung Gigabyte bis Terabyte) verbaut, sodass der Speicherplatz keine nennenswerte Rolle spielt. Anders stellt sich dies dar, wenn man TrueCrypt z.B. unter Linux in einer Initrd einsetzen möchte, da die Größe und damit der RAM-Verbrauch durch den Einsatz Seite 30 von 107 | | | 2010
30

Zur nächsten Seite