Re: [cap-talk] RumpelTree++
"Rob Meijer" <rmeijer-qWit8jRvyhVmR6Xm/[email protected]> Mon, 3 Nov 2014 22:57:54 +0100
| Newsgroups | gmane.comp.lang.e.general,gmane.comp.capabilities.general |
|---|---|
| Message-ID | <[email protected]> |
On Mon, November 3, 2014 05:59, David Barbour wrote: > I've recently been contemplating Rumpelstiltskin hash trees for my current > project, Wikilon, a wiki-based IDE and software platform oriented around > my > concatenative capability language, AO. Wikilon will provide a > filesystem-like abstraction, albeit oriented around the language. Sounds interesting. > One question: to the best of your knowledge, is Rumpelstiltskin hash tree > patent encumbered in any way? Will it become so? I'd rather not deal with > that. No, I'm highly allergic to patents myself, but next to that, aren't computer algorithms excluded from patentability? In any case, in the worst case we have the cap-talk mailing list archive to prove prior art ;-) http://www.eros-os.org/pipermail/cap-talk/2012-February/thread.html > I have other approaches in mind if necessary, e.g. conventional > Type/ID/Auth/HMAC identifiers. > > My second question is whether you've considered how to handle > *revocability*. For example, a user wishes to delegate an expert an > authority to poke around a bit, help with configuration of a service for > example, but wants to revoke the granted authority shortly after the help > is performed. Not at that level. I'm still trying to come up with a 'storage-friendly' caretaker like overlay, no luck yet though. > Seems to me that your Rumpelstiltskin tree hash doesn't really offer any > sort of attenuation on the temporal dimension. > > With the more conventional model, I could add a token to the Auth field > representing a revocable authorization-path of sorts, and offer a few > methods to attenuate the session. Such IDs grow large quickly. An > appealing > aspect of your hash trees is the constant size identifier. > > > On Sun, Aug 3, 2014 at 4:53 PM, Rob Meijer <rmeijer-qWit8jRvyhVmR6Xm/[email protected]> wrote: > >> Added a web page with some usage documentation: >> >> http://pibara.github.io/Rumpeltreepp/ >> >> Anyone know a good place to find people who might be willing to >> contribute >> a security and crypto oriented code-review? >> >> >> T.I.A >> >> Rob >> >> >> On Sat, August 2, 2014 13:03, Rob Meijer wrote: >> > For most of you on cap-talk this will probably all be old/known stuff, >> but >> > to make sure I communicate the urgency of my plea for a peer review of >> the >> > code of this library, let me draw a dense context. >> > >> > 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. >> > >> > http://www.linuxjournal.com/magazine/minorfs >> > >> > 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. >> > >> > 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. >> > >> > http://www.eros-os.org/pipermail/cap-talk/2012-February/015332.html >> > >> > 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. >> > >> > https://github.com/pibara/Rumpeltreepp >> > >> > This library basically implements the algorithm described here: >> > >> > >> http://minorfs.wordpress.com/2014/02/20/rumpelstiltskin-and-his-children/ >> > >> > >> http://minorfs.wordpress.com/2014/03/21/rumpelstiltskin-and-his-children-part-2/ >> > >> > 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: >> > >> > http://www.slideshare.net/RobMeijer3/ohm2013-trojans-slides >> > >> > 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. >> > >> > Tnx, >> > >> > Rob >> > >> > >> > On Fri, July 25, 2014 20:42, Rob Meijer wrote: >> >> Just did a last bugfix. All tests run correctly and without memory >> >> leaks. >> >> Would anyone be interested in contributing a security-oriented >> >> code-review >> >> on my library? Its C++11 code and I took extra effort to make sure >> >> memory >> >> containing security sensitive authority tokens gets wiped after usage >> >> while maintaining the friendly almost fully string like interface. >> >> >> >> >> >> >> >> T.I.A. >> >> >> >> Rob >> >> >> >> On Mon, July 21, 2014 14:11, Rob Meijer wrote: >> >>> Oops, that one should have gone to cap-talk, not e-lang :-( >> >>> >> >>> On Mon, July 21, 2014 13:51, Rob Meijer wrote: >> >>>> I thought some of you might be interested in the following. >> >>>> >> >>>> I've migrated my Rumpelstiltskin tree-graph algorithm code from >> using >> >>>> openssl to using crypto++, and from being some deep part of >> MinorFS2 >> >>>> to >> >>>> being its own hopefully more widely usable C++ library. Its still a >> >>>> work >> >>>> in progress (need to write a whole lot of extra tests, need to look >> at >> >>>> memory wiping that seems not to be working, and at writing a solid >> >>>> cmake >> >>>> config file without hard-coded llvm tools, but anyhow, I think its >> in >> >>>> a >> >>>> state that its suitable to play around with a bit for those >> interested >> >>>> in >> >>>> using it. >> >>>> >> >>>> https://github.com/pibara/Rumpeltreepp >> >>>> >> >>>> I'm very interested in any feedback, and if anyone thinks it >> usefull >> >>>> that >> >>>> I've seperated my code from MinorFs2 into a seperate general >> purpose >> >>>> library. >> >>>> >> >>>> >> >>>> The interface of the library is defined in rumpelstiltskin.hpp, and >> an >> >>>> API >> >>>> usage example can be found in test.cpp. >> >>>> >> >>>> >> >>>> Rob >> >>>> >> >>>> _______________________________________________ >> >>>> e-lang mailing list >> >>>> [email protected] >> >>>> http://www.eros-os.org/mailman/listinfo/e-lang >> >>>> >> >>>> >> >>> >> >>> >> >>> _______________________________________________ >> >>> cap-talk mailing list >> >>> [email protected] >> >>> http://www.eros-os.org/mailman/listinfo/cap-talk >> >>> >> >>> >> >> >> >> >> >> _______________________________________________ >> >> cap-talk mailing list >> >> [email protected] >> >> http://www.eros-os.org/mailman/listinfo/cap-talk >> >> >> >> >> > >> > >> > _______________________________________________ >> > cap-talk mailing list >> > [email protected] >> > http://www.eros-os.org/mailman/listinfo/cap-talk >> > >> > >> >> >> _______________________________________________ >> cap-talk mailing list >> [email protected] >> http://www.eros-os.org/mailman/listinfo/cap-talk >> >