<table><tr><td style="">cryptodude added a comment.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D8449" rel="noreferrer">View Revision</a></tr></table><br /><div><div><blockquote style="border-left: 3px solid #8C98B8;
          color: #6B748C;
          font-style: italic;
          margin: 4px 0 12px 0;
          padding: 8px 12px;
          background-color: #F8F9FC;">
<div style="font-style: normal;
          padding-bottom: 4px;">In <a href="https://phabricator.kde.org/D8449#159337" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;" rel="noreferrer">D8449#159337</a>, <a href="https://phabricator.kde.org/p/ngraham/" style="
              border-color: #f1f7ff;
              color: #19558d;
              background-color: #f1f7ff;
                border: 1px solid transparent;
                border-radius: 3px;
                font-weight: bold;
                padding: 0 4px;" rel="noreferrer">@ngraham</a> wrote:</div>
<div style="margin: 0;
          padding: 0;
          border: 0;
          color: rgb(107, 116, 140);"><p>I don't think choosing a random backend makes sense without at least some information provided to the user. How about adding a text view below the combobox showing a quick human-friendly summary of the purported advantage of each backend? like this:</p></div>
</blockquote>

<p>A distro may have a preference, and only install one. This is the main reason where the above approach makes a difference. We pick the one that is available. With debian (and all derivatives) already having flagged encfs, I think that this will have a big impact for a very small price.</p>

<p>But you make a good point. We should not choose randomly.</p>

<p>As I do know a bit about crypto, I can list the differences. Unfortunately the difference to end users is probably something they won't care about because the differences between the two systems are not really seen in the usecases that Vault currently provides. Though I don't know about future plans.</p>

<p>Differences are;</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">CryFS has a storage that looks more like a git database than a dir.  EncFS has a one-to-one connection between user-file and encrypted file.</li>
</ul>

<p>We do allow the user to set the "encrypted data location" dir, as such they may choose a shared drive (BAD!), but that's not the default and as such this difference between systems doesn't really expose much. If it did, I'd suggest you avoid encFS as it leaks a lot of metadata that CryFS protects.</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">EncFS just one-to-one encrypts a file, and its filename. This means that filesystem features like chmod/chown of the main storage are transparently visible on the mounted drive. Filename length is similarly limited. Symlinks in your mount are symlinks on the target device.</li>
</ul>

<p>As such you will get a nasty surprise if you store your data dir on something like vfat (usb pen) where most of these examples are not available.</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">EncFS has a "volume-key-file", which is like your gpg key, a file on the filesystem. It additionally requires a password.</li>
</ul>

<p>This might be useful to do a 2factor authentication, but Vault would need quite a lot of extra work to support that. As such this feature is unused.</p>

<p>When it comes to security, both use external libraries (openssl et all) to do the actual hard lifting, which are peer reviewed and everything.</p>

<p>more; <a href="https://www.cryfs.org/comparison" class="remarkup-link" target="_blank" rel="noreferrer">https://www.cryfs.org/comparison</a></p>

<p>I'm not sure what to write in a short summary, other than that encfs should NOT be used if there is even a small chance of a 3rd party being able to see or add to the encrypted files (for instance on a usb-pen).</p>

<p>Ok, what about this;<br />
we turn off the ability of the user to select a location to store his encrypted data if they choose encFS, because it would be insecure.</p>

<p>as such we pre-select cryFS (should it be available), so the user can have all the features they want.</p>

<p>We also provide some user-visible information, like you suggested, on actual differences for the user. For instance;</p>

<p>CryFS: most secure and user friendly.<br />
 EncFS: Do not use this if you ever expect your encrypted files to be copied where others can see them. For instance for backup or on a usb-key or cloud-service.</p>

<p>ps. I'd like to see more backends, so this is not a fight between just CryFS and EncFS.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R845 Plasma Vault</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D8449" rel="noreferrer">https://phabricator.kde.org/D8449</a></div></div><br /><div><strong>To: </strong>cryptodude, ivan, Plasma<br /><strong>Cc: </strong>ngraham, plasma-devel, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart<br /></div>