diff options
Diffstat (limited to 'content/vortraege/bis2018/crypto_fs.html')
| -rw-r--r-- | content/vortraege/bis2018/crypto_fs.html | 322 |
1 files changed, 322 insertions, 0 deletions
diff --git a/content/vortraege/bis2018/crypto_fs.html b/content/vortraege/bis2018/crypto_fs.html new file mode 100644 index 0000000..23996d0 --- /dev/null +++ b/content/vortraege/bis2018/crypto_fs.html @@ -0,0 +1,322 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<title>Kryptographische Dateisysteme</title> +<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> +</head> +<body> +<!-- BEGIN Content //--> +<div id="content"> +<h1 align="CENTER"> +Kryptographische Dateisysteme +</h1> +<p align="CENTER"><strong>Achim D. Brucker +<br><tt>brucker@freiburg.linux.de</tt></strong></p> +<br><p align="CENTER">21. April 2000</p> +<p align="LEFT"></p> +<br> +<h2><a name="SECTION000100000000000000000"> +Inhalt</a> +</h2> +<!--Table of Contents--> +<ul> +<li><a name="tex2html23" + href="crypto_fs.html">Inhalt</a> +<li><a name="tex2html24" + href="crypto_fs.html#SECTION000200000000000000000">Einführung</a> +<ul> +<li><a name="tex2html25" + href="crypto_fs.html#SECTION000210000000000000000">Gründe für kryptographischen Dateisystemen</a> +</ul> +<li><a name="tex2html26" + href="crypto_fs.html#SECTION000300000000000000000">Verschiedenen Implementierungen</a> +<ul> +<li><a name="tex2html27" + href="crypto_fs.html#SECTION000310000000000000000">Lösungen</a> +<li><a name="tex2html28" + href="crypto_fs.html#SECTION000320000000000000000">Loopback Block device</a> +<li><a name="tex2html29" + href="crypto_fs.html#SECTION000330000000000000000">CFS</a> +<li><a name="tex2html30" + href="crypto_fs.html#SECTION000340000000000000000">TCFS</a> +</ul> +<li><a name="tex2html31" + href="crypto_fs.html#SECTION000400000000000000000">Laufzeitverhalten</a> +<li><a name="tex2html32" + href="crypto_fs.html#SECTION000500000000000000000">Erkentnisse</a> +<li><a name="tex2html33" + href="crypto_fs.html#SECTION000600000000000000000">Referenzen</a> +<li><a name="tex2html34" + href="crypto_fs.html#SECTION000700000000000000000">Über dieses Dokument ...</a> +</ul> +<!--End of Table of Contents--> +<h3>Zusammenfassung:</h3> +<div>Sollen private Daten (sicher) vor fremden Zugriffen geschützt werden, reichen +die Zugriffsrechte des Dateisystems meist nicht mehr aus - hier bietet sich +der Einsatz (starker) Kryptographie an. In diesem Artikel werden Methoden +vorgestellt, die ein möglichst komfortables Arbeiten mit verschlüsselten Daten +ermöglichen sollen. Da sich die Arbeitsweise für den Anwender nicht von dem +Arbeteiten mit unverschlüsselten Programmen unterscheiden soll, werden diese +Verfahren als <i>kryptographische Dateisysteme</i> bezeichnet.</div> +<p> +<h1><a name="SECTION000200000000000000000"> +Einführung</a> +</h1> +<blockquote> +<div align="CENTER"> +<i>Kryptographische Dateisysteme</i> stellen eine Schnittstelle zwischen dem +Anwender und dem ,,normalen`` Dateisystem dar. Sie ermöglichen es, +auf einfache Weise, Daten verschlüsselt zu sichern. +</div> +</blockquote> +<h2><a name="SECTION000210000000000000000"> +Gründe für kryptographischen Dateisystemen</a> +</h2> +<ol> +<li>Diebstahlschutz (,,offline``) +</li> +<li>Schutz der Daten vor Eindringlingen mit <tt>root</tt>-Rechten +</li> +<li>,,Erweiterte`` Zugriffsrechte +</li> +<li>verschlüsselter Netzwerkverkehr +</li> +</ol> +<h1><a name="SECTION000300000000000000000"> +Verschiedenen Implementierungen</a> +</h1> +<ul> +<li>Verschlüsselung einzelner Dateien, z.B. mit <tt>crypt</tt> oder +</li> +<li>gnupg. +</li> +<li>Verschlüsselung mit Hilfe des Loopback-Devices. +</li> +<li>Verschlüsselung mit Hilfe eines Daemon, ähnlich wie + <tt>nfs</tt>, z.B. <tt>cfs</tt> oder <tt>tcfs</tt>. +</li> +<li>Verschlüsselung durch File-System-Treiber, z.B. <tt>StegFS</tt>. +</li> +</ul> +<h2><a name="SECTION000310000000000000000"> +Lösungen</a> +</h2> +<ul> +<li>The Kernel Loopback Block device +</li> +<li>ppdd - Pratical Privacy Driver +</li> +<li>CFS +</li> +<li>TCFS +</li> +<li>StegFS +</li> +</ul> +<h2><a name="SECTION000320000000000000000"> +Loopback Block device</a> +</h2> +<ul> +<li>Benutzt die Kernel-Crypto-API +</li> +<li>Modifiziertes <tt>losetup</tt> notwendig. +</li> +<li>Kann durch den ,,Encrypted Home Directory``-Patch zum +verschlüsseln des ganzen Home-Verzeichnis verwendet werden. +</li> +<li>Verschiedene Kryptoalgorithmen stehen zur Auswahl. +</li> +<li>Eignet sich zum verschlüsseln von ,,Partitionen`` um + Zugriffe bei Diebstahl und Booten von ,,Bootmedium`` + zu verhindern. +</li> +</ul> +Anlegen des leeren Dateisystems: +<pre> +dd if=/dev/zero of=/etc/cryptfile bs=1k count=1000 +</pre> +Einrichten des loop-Devices: +<pre> +losetup -e idea /dev/loop0 /etc/cryptfile +</pre> +Datei-System anlegen: +<pre> +mkfs -t ext2 /dev/loop0 100000 +</pre> +Abmelden des loop-Devices: +<pre> +umount /dev/loop0 +losetup -d /dev/loop0 +</pre> +Arbeiten mit den verschlüsselten Daten: +<pre> +losetup -e serpent /dev/idea /etc/cryptfile +mount -t ext2 /dev/loop0 /mnt/crypt +</pre> +Abmelden des Verzeichnisses: +<pre> +umount /dev/loop0 +losetup -d /dev/loop0 +</pre> +<blockquote> +Im Verzeichnis <code>/mnt/crypt</code> kann mit den üblichen Befehlen zur +Dateiverwaltung gearbeitet werden. +</blockquote> +<h2><a name="SECTION000330000000000000000"> +CFS</a> +</h2> +<ul> +<li>Erste freie Implementierung von Matt Blaze (AT&T Research). +</li> +<li>Benutzt einen ,,modifizieten`` <tt>nfs</tt>-Daemon. +</li> +<li>Auch <tt>root</tt> kann nicht ohne grossen Aufwand die entschlüsselten + Daten (Arbeitsverzeichnis) lesen. +</li> +<li>Läuft vollständig im User-Space, dadurch langsam und portabel +</li> +<li>Für viele Unixe verfügbar. +</li> +<li>Prinzipiell erfolgt das Entschlüsseln auf dem Server, aber +,,<tt>cfs</tt> over <tt>nfs</tt>`` möglich. +</li> +</ul> +Das Verzeichnis <code>crypted_data</code> soll die verschlüsselten Daten enthalten. +Der Schlüssel muss mindestens 16 Zeichen lang sein: +<pre> +cmkdir crypted_data +Key: +</pre> +Das Verzeichnis enthält nun einige interne Dateien: +<pre> +fujikawa$ ls -la crypted_data +drwxr-xr-x 2 brucker users 1024 Apr 21 12:52 ./ +drwxr-xr-x 3 brucker users 1024 Apr 21 12:51 ../ +-rw-r--r-- 1 brucker users 8 Apr 21 12:51 ... +-rw-r--r-- 1 brucker users 1 Apr 21 12:51 ..c +-rw-r--r-- 1 brucker users 32 Apr 21 12:51 ..k +-rw-r--r-- 1 brucker users 7 Apr 21 12:51 ..s +</pre> +Um mit den verschlüsselten Daten Arbeiten zu können, muss das Verzeichnis +angemeldet werden: +<pre> +cattach crypted_data brucker +</pre> +Anschliesend kann im Verzeichnis <code>/crypt/brucker</code> mit den Daten +gearbeitet werden. Dateien in diesem Verzeichnis können <i>nicht</i> von anderen Benutzern +(auch nicht <tt>root</tt>) gelesen werden. +<br> +Abgemeldet wird das Verzeichnis mit: +<pre> +cdettach brucker +</pre> +<h2><a name="SECTION000340000000000000000"> +TCFS</a> +</h2> +<blockquote> +<tt>TCFS</tt> ist eine ,,Weiterentwicklung`` von <tt>CFS</tt> der +Universität Salerno. +</blockquote> +<ul> +<li>Bessere Integration von Verschlüsselung und Dateisystem (kernel modul) +</li> +<li>Nur unter Linux und BSD lauffähig. +</li> +<li>Ziel scheint das Ersetzen von <tt>nfs</tt> zu sein. +</li> +<li>Entschlüsseln findet auf dem Client statt. +</li> +</ul> +<h1><a name="SECTION000400000000000000000"> +Laufzeitverhalten</a> +</h1> +<ul> +<li><b>Laufzeit:</b> Bei reinen Softwarelösungen werden Zugriffe + etwa um den Faktor 1#1 bis 2#2 langsamer. +</li> +<li><b>Platzbedarf</b> Bei kryptographischen Dateisystemen ist zur +Datensicherung kein zusätzlicher Speicherplatz notwendig. Je nach System +wird aber zu Laufzeit der doppelte Festplattenplatz benötigt, um die +Arbeitskopie bereit zu halten. +</li> +<li><b>Steganographie:</b> Verfahren die zusätzlich zur Verschlüsselung +versuchen die Daten zu verstecken, benötigen um ein Vielfaches mehr +Speicherplatz und Laufzeit. +</li> +</ul> +<h1><a name="SECTION000500000000000000000"> +Erkentnisse</a> +</h1> +<div align="CENTER"> +Kryptographische Dateisysteme ermöglichen es auf einfache Art und Weise mit +verschlüsselten Daten zu arbeiten. Sie können aber kein umfassenders +Sicherheitskonzept ersetzen. +</div> +<ul> +<li>Tempräre Dateien und Sicherheitskopien die von Andwendungen im + <code>/tmp</code>-Verzeichnis angelegt werden. +</li> +<li>Sicherheitskopien, prinzipiell sind verschlüsselte Backups notwendig. +</li> +<li>Netzwerkverbindungen +</li> +<li>Arbeitskopie der Daten ist eventuell nur durch Dateirechte geschützt. +</li> +</ul> +<h1><a name="SECTION000600000000000000000"> +Referenzen</a> +</h1> +<ul> +<li>International Kernel Patches +<br><tt><a name="tex2html1" + href="http://www.kerneli.org">http://www.kerneli.org</a></tt> +</li> +<li>The Kernel Loopback Block device +<br><tt><a name="tex2html2" + href="http://www.kerneli.org/loopback-encrypted-filesystem.html">http://www.kerneli.org/loopback-encrypted-filesystem.html</a></tt> +</li> +<li>Encrypted Home Directorys Patch +<tt><a name="tex2html3" + href="http://members.home.net/id-est/ehd.html">http://members.home.net/id-est/ehd.html</a></tt> +</li> +<li>Encrypted CDROM patch +<br><tt><a name="tex2html4" + href="http://members.home.net/id-est/ecd.html">http://members.home.net/id-est/ecd.html</a></tt> +</li> +<li>ppdd - Pratical Privacy Driver +<br><tt><a name="tex2html5" + href="http://linux01.gwdg.de/~alatham/ppdd.html">http://linux01.gwdg.de/~alatham/ppdd.html</a></tt> +<br><tt><a name="tex2html6" + href="ftp://ftp.gwdg.de/pub/linux/misc/ppdd/">ftp://ftp.gwdg.de/pub/linux/misc/ppdd/</a></tt> +</li> +<li>CFS - Cryptographic File System +<br><tt><a name="tex2html7" + href="ftp://ftp.funet.fi/pub/crypt/utilities/file/">ftp://ftp.funet.fi/pub/crypt/utilities/file/</a></tt> +</li> +<li>TCFS - Transparent Cryptographic File System +<br><tt><a name="tex2html8" + href="http://tcfs.dia.unisa.it/">http://tcfs.dia.unisa.it/</a></tt> +</li> +<li>StegFS - A Steganographic File System for Linux +<tt><a name="tex2html9" + href="http://ban.joh.cam.ac.uk/~adm36/StegFS/">http://ban.joh.cam.ac.uk/~adm36/StegFS/</a></tt> +</li> +<li>Filesystems HOWTO +<tt><a name="tex2html10" + href="ftp://ftp.penguin.cz/pub/users/mhi/Filesystems-HOWTO/">ftp://ftp.penguin.cz/pub/users/mhi/Filesystems-HOWTO/</a></tt> +</li> +</ul> +</div> +<!-- END Content //--> +<hr style="display:none"> +<!-- BEGIN Footer //--> +<div id="footer" align="right"> + Seite erstellt/aktualisiert: 2000-04-30 + durch <em><<acronym title='Ersetze ":at:" durch "@"'>brucker:at:freiburg.linux.de</acronym>></em> + <br> +Seite zuletzt generiert: +2010-05-16 +</div> +<!-- END Footer //--> +</body> +</html> |
