This page describes the components the system will require.
- User Agent
- Key/Identity Exchange
- Web Server
- Authentication (Identification)
- TODO Every Service Must Authorize via [[#Authorization|Authorization]]
1. Tor-Enabled Browser
2. Non-Tor-Enabled Browser
3. FBX-UA App
3.1. TODO Create Client Application to Connect to Box Services via Client Cert
Used to introduce users to one another.
2. FBX-Identity App
2.1. TODO Create Client Application to Manage Key Exchange via Mutual QR-Code
This should be a FBuddy instance that can exercise sensors usually found on mobile-devices for data exchange.
1.1. TODO Refuse Non-Tor Wireless HTTP Connections
Tor-based connections pass through to destination. Non-Tor connections are stopped by a landing page that teaches the user where to download the TBB (perhaps hosted locally?).
1.1. DONE Switch FreedomBox site from mod_ssl to mod_gnutls
1.2. TODO Add monkeysphere and msva-perl as dependencies for freedombox-setup
1.3. TODO Add Apache environment variable for Monkeysphere
1.4. TODO Add custom TLS configuration
1.1. TODO Install systemd service file
1.2. TODO Create user wwwmsva
2.1. TODO Package mod_auth_env for Debian
2.2. TODO Identify (Authenticate) Users from Client Certs
2.3. TODO Get User Id from Client Cert Id
1.1. TODO Map GPG keys to users (by email address?)
1.2. TODO Authorize Users from Client Cert Identity
2. TODO Middleware to Reject Requests that fail Authorization?
1.1. TODO Manage User's Service Authorization
Enable services for some specific users and not others.
2.1. TODO Switch authorization from LDAP to Env
4.1. TODO Teach Boxes to Exchange Service Location Data Regularly
5.1. TODO Create PGP Keys for End-Users
5.2. TODO Export PGP Keys to SSL Client Certs for End Users