<div dir="ltr"><div class="gmail_default" style="font-family:garamond,serif">Hi everyone, </div><div class="gmail_default" style="font-family:garamond,serif"><br></div><div class="gmail_default" style="font-family:garamond,serif">
My apologies is this mail is a bit dense and filled with external references, I think its important to sketch the context to underline the potential importance.</div><div class="gmail_default" style="font-family:garamond,serif">
<br></div><div class="gmail_default" style="font-family:garamond,serif">Some years ago I wrote a set proof of concept implementation of a set of cooperating least authority providing user space file-systems for AppArmor based Linux systems. This proof of concept was/is called MinorFS. For some context, here is a Linux Journal article I wrote on this system 5 years ago.  </div>
<div class="gmail_default" style="font-family:garamond,serif"><br></div><div class="gmail_default" style><font face="garamond, serif"><a href="http://www.linuxjournal.com/magazine/minorfs">http://www.linuxjournal.com/magazine/minorfs</a></font><br>
</div><div class="gmail_default" style><font face="garamond, serif"><br></font></div><div class="gmail_default" style><font face="garamond, serif">At the core of these file systems was a sparsecap (or password capability if you prefer that term) file-system called capfs. This file-system was based on an sqlite database with sparsecap to path mappings.</font></div>
<div class="gmail_default" style><font face="garamond, serif"><br></font></div><div class="gmail_default" style><font face="garamond, serif">Some time later, I came up with an alternative hash based algorithm that could possibly do away with the need of a database for capfs. After asking feedback on this algorithm on the cap-talk mailing list, David Barbour suggested I' d use HMAC instead of just SHA.</font></div>
<div class="gmail_default" style><font face="garamond, serif"><br></font></div><div class="gmail_default" style><font face="garamond, serif"><a href="http://www.eros-os.org/pipermail/cap-talk/2012-February/015332.html">http://www.eros-os.org/pipermail/cap-talk/2012-February/015332.html</a></font></div>
<div class="gmail_default" style><font face="garamond, serif"><br></font></div><div class="gmail_default" style><font face="garamond, serif">Resulting from this feedback, and driven by the idea that a library for sparsecaps that give access to a DAG shaped authority structure might be usefull for other things than just a rewrite of Minorfs::capfs, I recently created a C++ (c++11) library that implements the algorithm, using crypto++ for its hmac/sha2 crypto primitives.</font></div>
<div class="gmail_default" style><font face="garamond, serif"><br></font></div><div class="gmail_default" style><font face="garamond, serif"><a href="https://github.com/pibara/Rumpeltreepp">https://github.com/pibara/Rumpeltreepp</a><br>
</font></div><div class="gmail_default" style><font face="garamond, serif"><br></font></div><div class="gmail_default" style><font face="garamond, serif">This library basically implements the algorithm described here:</font></div>
<div class="gmail_default" style><font face="garamond, serif"><br></font></div><div class="gmail_default" style><font face="garamond, serif"> <a href="http://minorfs.wordpress.com/2014/02/20/rumpelstiltskin-and-his-children/">http://minorfs.wordpress.com/2014/02/20/rumpelstiltskin-and-his-children/</a></font></div>
<div class="gmail_default" style><font face="garamond, serif"><br></font></div><div class="gmail_default" style><font face="garamond, serif"><a href="http://minorfs.wordpress.com/2014/03/21/rumpelstiltskin-and-his-children-part-2/">http://minorfs.wordpress.com/2014/03/21/rumpelstiltskin-and-his-children-part-2/</a><br>
</font></div><div class="gmail_default" style><font face="garamond, serif"><br></font></div><div class="gmail_default" style><font face="garamond, serif">Given the fact that my crypto knowledge and my knowledge regarding implementation and usage pitfalls is relatively limited, I desperately need a peer review on my Rumpleltree++ source code.  When the file-system in finished, the logic in this library will become a pivotal part of the TCB of any system built using the full set of file systems that will be layered on them together with AppArmor. A rewrite of the original MinorFS that wil aim at retrofitting the taming of shared mutable file system  provided by MinorFS to non MinorFS aware applications in a way that should help mitigate the effects that Trojans might have in a major way:</font></div>
<div class="gmail_default" style><font face="garamond, serif"><br></font></div><div class="gmail_default" style><font face="garamond, serif"><a href="http://www.slideshare.net/RobMeijer3/ohm2013-trojans-slides">http://www.slideshare.net/RobMeijer3/ohm2013-trojans-slides</a><br>
</font></div><div class="gmail_default" style><font face="garamond, serif"><br></font></div><div class="gmail_default" style><font face="garamond, serif">Thus, if anyone would be able and willing to contribute a peer review to this library, you will be playing a crucial role in the ultimate goal of creating a trojan free environment.</font></div>
<div class="gmail_default" style><br></div><div class="gmail_default" style><font face="garamond, serif"><br></font></div><div class="gmail_default" style><font face="garamond, serif">Rob </font></div></div>