This is fun. You install Adeona on a device; it then gleans information about the location of the device as best it can; and it streams that information into a distributed store. Later you or somebody you trust pulls those records from the store. Their example use case is recovery of a stolen laptop.
The paper is a fun read; since the system has a cascade of little tricks in it.
For example the reports streamed are encrypted so to frustrate observers.
They are asymmetrically encrypted so only if your have the appropriate secrets can you read the transcript, and in fact the it can’t even read them after it’s written them.
The event transcript accumulates continuously on the laptop. It is sent to the store when ever it can make contact. For example it can accumulate wifi hubs, bluetooth devices, images, and sounds the laptop observes even when it’s offline.
I particularly liked how they salt the encryption, changing over time, with from a random number generator. By assuring that can’t run the generator backward they assure that even if a bad actor gets control of the laptop you can’t decode the transcript. To replay the transcript you need to initial seed for the random number generator.
Using a distributed store eliminates the need for a central server. People distrust central servers. Instead, you need to trust the distributed store.
They use one of the existing distributed hash tables (OpenDHT) for their store. I’m not clear on why they used that instead of one of the really big ones, which are much less likely to disappear.
This approach has obvious uses in lots of applications. Event streams are everywhere. For example you could encrypt your server logs this way.
You can let multiple parties replay the transcripts; for example your mom, your friends, you co-conspirators.
You could build a fully distributed p2p twitter or atom feed like system along these lines; with each participant collaborating in the distributed store, and the secrets needed to read the transcript passed only to your followers. That wouldn’t eliminate the hotspot issues in such systems but I think we know how to do that from other work.
It was trivial to install on one of my macs; though it took me a while to puzzle out how to retrieve the logs (the key detail was /usr/local/adeona/adeona-retrieve.exe -h, i.e. no GUI and a somewhat odd install location).
I printed out the various keys needed to retrieve the logs and filed them away.