[Freedombox-discuss] Announcing Santiago Release Candidate 1
Markus Sabadello
markus.sabadello at gmail.com
Tue May 15 15:58:31 UTC 2012
Fantastic, I'm currently at a p2p hackathon in Berlin, but I'll give it a
try with my 4 Guruplugs when I get home..
Markus
--
Project Danube: http://projectdanube.org
Personal Data Ecosystem Consortium: http://personaldataecosystem.org/
On Tue, May 15, 2012 at 4:35 PM, Nick M. Daly <nick.m.daly at gmail.com> wrote:
> Hi folks, I'm proud to announce the first release candidate (developer
> preview) of the Santiago service. Santiago is designed to let users
> negotiate services without third party interference. By sending OpenPGP
> signed and encrypted messages over HTTPS (or other protocols) between
> parties, I hope to reduce or even prevent MITM attacks. Santiago can
> also use the Tor network as a proxy (with Python 2.7 or later), allowing
> this negotiation to happen very quietly.
>
> Santiago currently lives at:
>
> https://github.com/nickdaly/plinth/tree/santiago
>
> Currently, it needs a *lot* of polish, but there's enough for a
> technical demonstration and basic use. Try combining it with .onion
> addresses.
>
> Testing it out it takes a bit of setup:
>
> - This was all tested on Debian Stable, so I know it works on Python
> 2.6. Other versions may work differently.
>
> - You need a PGP key. You probably want to make a new password-less key
> specifically for Santiago.
>
> Santiago's running as a service, and you won't always be there to
> enter the password when the gnupg-agent times out and locks the
> keyring again. At that point, Santiago will block while waiting for
> (or fail without) the password.
>
> - You need [python-gnupg](http://code.google.com/p/python-gnupg). Make
> sure it's either in your PYTHONPATH, or edit the start.sh and test.sh
> files so that it can be found.
>
> - You need a ``production.cfg`` or ``test.cfg`` file with contents like
> the following:
>
> [pgpprocessor]
> keyid = (your 40-character key identifier)
>
> - You need an SSL certificate (the ``ssl-cert`` package is required).
> Run the following as root, changing the group as necessary:
>
> # make-ssl-cert generate-default-snakeoil
> # make-ssl-cert /usr/share/ssl-cert/ssleay.cnf santiago.crt
> # chgrp 1000 santiago.crt
> # chmod g+r santiago.crt
>
> See ``/usr/share/doc/apache2.2-common/README.Debian.gz`` for more
> details.
>
> - Either set up a Tor listener on port 8118, or set the proxy port to
> "None" or 80, if you're running Python 2.7 or later.
>
> - Run ``make`` once in the Plinth root directory to create the config
> files you need.
>
> - Running ``bash start.sh`` in a console will set up a Santiago service
> that communicates with itself. You can see the Santiago service learn
> about the "https://somestuff" location (it'll appear in the
> "consuming" dictionary) if you navigate to:
>
> https://localhost:8080/query?service=santiago&host=(your key ID)
>
> It'll give you a warning about an untrusted certificate, but since
> you just made that certificate, ignore the warning.
>
> After you load the page, you won't see anything. That's by design.
> You'll need to watch the debug messages (look for one reading
> "Success!") or Ctrl+C out of the server to drop into PDB where you can
> examine the santiago.consuming dictionary.
>
> Technically, it works, but with a fair number of caveats:
>
> - Python doesn't currently verify the HTTPS certificates used. We still
> use the OpenPGP key for verification, but it'd be helpful.
>
> - It'd also be nice to munge the PGP key into the HTTPS certificate,
> requiring only a single identity document to secure all the
> communications.
>
> - It doesn't yet play well with others (you can't read the hosting and
> consuming dictionaries from other processes very well). Please let me
> know your ideas for fixing this.
>
> - It needs better state storage and recovery. Doing this well is my
> highest priority right now (the blocker for the 0.2 release).
>
> - The current start methods appear to block, so new protocols might not
> load when you expect them to.
>
> - It needs more tests, there are still a good number of behaviors that
> work but aren't verified.
>
> - As you can see above, setup isn't easy.
>
> Future directions:
>
> - Request proxying: If Alice can't reach Bob, but they both can reach
> Carl, Carl can pass the messages for them.
>
> - Not-braindead state storage and restoration.
>
> Please test it out and let me know your thoughts. I'll make it easier
> to handle and use over the coming days and weeks, but I just wanted to
> get it out the door now that it has successfully integrated PGP. If you
> have any changes you'd like to see, at all, please send me a patch or
> fork the repository.
>
> James, you can pull it now. :)
>
> Nick
>
> _______________________________________________
> Freedombox-discuss mailing list
> Freedombox-discuss at lists.alioth.debian.org
> http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/freedombox-discuss
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/freedombox-discuss/attachments/20120515/dbd29f54/attachment.html>
More information about the Freedombox-discuss
mailing list