<?xml version="1.0" encoding="iso-8859-1"?>

<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
<title type="text">Joseph Reagle</title>
<subtitle type="html"><![CDATA[
Open Communities, Media, Source, and Standards
]]></subtitle>
<id>http://reagle.org/joseph/blog/technology/loop-aes-and-remote-mounts</id>
<link rel="alternate" type="text/html" href="http://reagle.org/joseph/blog" />
<link rel="self" type="application/atom+xml" href="http://reagle.org/joseph/blog/technology/loop-aes-and-remote-mounts?flav=atom" />


<author>
<name>Joseph Reagle</name>
<uri>http://reagle.org/joseph/blog/technology/loop-aes-and-remote-mounts</uri>
<email></email>
</author>
<rights>Copyright 2003-2010 Joseph Reagle</rights>
<generator uri="http://pyblosxom.sourceforge.net/" version="1.4.3 01/10/2008">
PyBlosxom http://pyblosxom.sourceforge.net/ 1.4.3 01/10/2008
</generator>

<updated>2003-12-10T15:46:00Z</updated>
<!-- icon?  logo?  -->

<entry>
<title type="html">Loop-AES and Remote Mounts</title>
<category term="" />
<id>http://reagle.org/joseph/blog/2003/12/10/loop-aes-and-remote-mounts</id>
<updated>2003-12-10T15:46:00Z</updated>
<published>2003-12-10T15:46:00Z</published>
<link rel="alternate" type="text/html" href="http://reagle.org/joseph/blog/technology/loop-aes-and-remote-mounts.html" />
<content type="html">

&lt;p&gt;I tend to keep most of my files on encrypted partitions. Fortunately, this
is easy to do now that the crypto loop devices are integrated into the &lt;a
href=&quot;http://www.knoppix.net/&quot;&gt;Knoppix&lt;/a&gt; kernels (and even the mainline
2.4.22 kernel) and tools (e.g., &lt;code&gt;losetup&lt;/code&gt;). To do a backup, I
mount a local partition, and then use &lt;a
href=&quot;http://www.cis.upenn.edu/~bcpierce/unison/&quot;&gt;unison&lt;/a&gt; (a very fast
update program) to send the changes to a partition on a remote host. A day&apos;s
work takes less than a minute, sometimes seconds, to update over a decent
connection.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&lt;a href=&quot;/joseph/2003/12/sb.py&quot;&gt;sb.py&lt;/a&gt;&lt;/code&gt; is the script I
wrote to mount the partitions locally and remotely (via &lt;a
href=&quot;http://pexpect.sourceforge.net/&quot;&gt;pyexpect&lt;/a&gt; over SSH). Presently, the
remote functionality is commented out since I don&apos;t have a couple of
gigabytes of storage on a remote host anymore.&lt;/p&gt;

&lt;p&gt;Given the way it is currently written, the remote crypto partition is
actually mounted on the remote host, and &lt;code&gt;unison&lt;/code&gt; then works its
magic over SSH. That means root on the remote host could look at the
unencrypted files if he wished to abuse the permissions specified for the
mounted (unencrypted) partition. In the past, I was root on the remote
machine so I had little to worry about. &lt;/p&gt;

&lt;p&gt;However, I could re-implement this script such that the remote raw crypto
loop-back file is actually available locally (via NFS or SAMBA) and I mount
it &lt;em&gt;locally&lt;/em&gt;. In this case, the remote host should never have access
to the unencrypted files even when I do. Unfortunately, I&apos;m unsure of the
performance of doing a local mount of a remote crypto file system, and
&lt;code&gt;unison&lt;/code&gt; would probably be slower. A strength of
&lt;code&gt;unison&lt;/code&gt; is that when it&apos;s running over SSH looking for file
changes, each host is running its own version of &lt;code&gt;unison&lt;/code&gt; that is
quickly examining a local file system and then the two versions compare
notes. In the new scheme, one version of unison would be comparing two
directories, one of which would mounted over a network and have slower access
times associated with it.&lt;/p&gt;
</content>
</entry>
</feed>
