summaryrefslogtreecommitdiff
path: root/content/vortraege/bis2018/crypto_fs.html
diff options
context:
space:
mode:
Diffstat (limited to 'content/vortraege/bis2018/crypto_fs.html')
-rw-r--r--content/vortraege/bis2018/crypto_fs.html322
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&uuml;hrung</a>
+<ul>
+<li><a name="tex2html25"
+ href="crypto_fs.html#SECTION000210000000000000000">Gr&uuml;nde f&uuml;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&ouml;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">&Uuml;ber dieses Dokument ...</a>
+</ul>
+<!--End of Table of Contents-->
+<h3>Zusammenfassung:</h3>
+<div>Sollen private Daten (sicher) vor fremden Zugriffen gesch&uuml;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&ouml;glichst komfortables Arbeiten mit verschl&uuml;sselten Daten
+erm&ouml;glichen sollen. Da sich die Arbeitsweise f&uuml;r den Anwender nicht von dem
+Arbeteiten mit unverschl&uuml;sselten Programmen unterscheiden soll, werden diese
+Verfahren als <i>kryptographische Dateisysteme</i> bezeichnet.</div>
+<p>
+<h1><a name="SECTION000200000000000000000">
+Einf&uuml;hrung</a>
+</h1>
+<blockquote>
+<div align="CENTER">
+<i>Kryptographische Dateisysteme</i> stellen eine Schnittstelle zwischen dem
+Anwender und dem ,,normalen`` Dateisystem dar. Sie erm&ouml;glichen es,
+auf einfache Weise, Daten verschl&uuml;sselt zu sichern.
+</div>
+</blockquote>
+<h2><a name="SECTION000210000000000000000">
+Gr&uuml;nde f&uuml;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&uuml;sselter Netzwerkverkehr
+</li>
+</ol>
+<h1><a name="SECTION000300000000000000000">
+Verschiedenen Implementierungen</a>
+</h1>
+<ul>
+<li>Verschl&uuml;sselung einzelner Dateien, z.B. mit <tt>crypt</tt> oder
+</li>
+<li>gnupg.
+</li>
+<li>Verschl&uuml;sselung mit Hilfe des Loopback-Devices.
+</li>
+<li>Verschl&uuml;sselung mit Hilfe eines Daemon, &auml;hnlich wie
+ <tt>nfs</tt>, z.B. <tt>cfs</tt> oder <tt>tcfs</tt>.
+</li>
+<li>Verschl&uuml;sselung durch File-System-Treiber, z.B. <tt>StegFS</tt>.
+</li>
+</ul>
+<h2><a name="SECTION000310000000000000000">
+L&ouml;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&uuml;sseln des ganzen Home-Verzeichnis verwendet werden.
+</li>
+<li>Verschiedene Kryptoalgorithmen stehen zur Auswahl.
+</li>
+<li>Eignet sich zum verschl&uuml;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&uuml;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 &uuml;blichen Befehlen zur
+Dateiverwaltung gearbeitet werden.
+</blockquote>
+<h2><a name="SECTION000330000000000000000">
+CFS</a>
+</h2>
+<ul>
+<li>Erste freie Implementierung von Matt Blaze (AT&amp;T Research).
+</li>
+<li>Benutzt einen ,,modifizieten`` <tt>nfs</tt>-Daemon.
+</li>
+<li>Auch <tt>root</tt> kann nicht ohne grossen Aufwand die entschl&uuml;sselten
+ Daten (Arbeitsverzeichnis) lesen.
+</li>
+<li>L&auml;uft vollst&auml;ndig im User-Space, dadurch langsam und portabel
+</li>
+<li>F&uuml;r viele Unixe verf&uuml;gbar.
+</li>
+<li>Prinzipiell erfolgt das Entschl&uuml;sseln auf dem Server, aber
+,,<tt>cfs</tt> over <tt>nfs</tt>`` m&ouml;glich.
+</li>
+</ul>
+Das Verzeichnis <code>crypted_data</code> soll die verschl&uuml;sselten Daten enthalten.
+Der Schl&uuml;ssel muss mindestens 16 Zeichen lang sein:
+<pre>
+cmkdir crypted_data
+Key:
+</pre>
+Das Verzeichnis enth&auml;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&uuml;sselten Daten Arbeiten zu k&ouml;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&ouml;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&auml;t Salerno.
+</blockquote>
+<ul>
+<li>Bessere Integration von Verschl&uuml;sselung und Dateisystem (kernel modul)
+</li>
+<li>Nur unter Linux und BSD lauff&auml;hig.
+</li>
+<li>Ziel scheint das Ersetzen von <tt>nfs</tt> zu sein.
+</li>
+<li>Entschl&uuml;sseln findet auf dem Client statt.
+</li>
+</ul>
+<h1><a name="SECTION000400000000000000000">
+Laufzeitverhalten</a>
+</h1>
+<ul>
+<li><b>Laufzeit:</b> Bei reinen Softwarel&ouml;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&auml;tzlicher Speicherplatz notwendig. Je nach System
+wird aber zu Laufzeit der doppelte Festplattenplatz ben&ouml;tigt, um die
+Arbeitskopie bereit zu halten.
+</li>
+<li><b>Steganographie:</b> Verfahren die zus&auml;tzlich zur Verschl&uuml;sselung
+versuchen die Daten zu verstecken, ben&ouml;tigen um ein Vielfaches mehr
+Speicherplatz und Laufzeit.
+</li>
+</ul>
+<h1><a name="SECTION000500000000000000000">
+Erkentnisse</a>
+</h1>
+<div align="CENTER">
+Kryptographische Dateisysteme erm&ouml;glichen es auf einfache Art und Weise mit
+verschl&uuml;sselten Daten zu arbeiten. Sie k&ouml;nnen aber kein umfassenders
+Sicherheitskonzept ersetzen.
+</div>
+<ul>
+<li>Tempr&auml;re Dateien und Sicherheitskopien die von Andwendungen im
+ <code>/tmp</code>-Verzeichnis angelegt werden.
+</li>
+<li>Sicherheitskopien, prinzipiell sind verschl&uuml;sselte Backups notwendig.
+</li>
+<li>Netzwerkverbindungen
+</li>
+<li>Arbeitskopie der Daten ist eventuell nur durch Dateirechte gesch&uuml;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>&lt;<acronym title='Ersetze ":at:" durch "@"'>br&#x0075;ck&#x0065;r:&#x0061;t:fr&#x0065;&#x0069;b&#x0075;rg&#46;l&#x0069;n&#x0075;x&#46;d&#x0065;</acronym>&gt;</em>
+ <br>
+Seite zuletzt generiert:
+2010-05-16
+</div>
+<!-- END Footer //-->
+</body>
+</html>