Damian Johnson commited on 2017-01-29 22:09:34
Zeige 1 geänderte Dateien mit 0 Einfügungen und 81 Löschungen.
Last year we had a student that did this (segfault).
| ... | ... |
@@ -1163,87 +1163,6 @@ implementation. |
| 1163 | 1163 |
</p> |
| 1164 | 1164 |
</li> |
| 1165 | 1165 |
|
| 1166 |
- <a id="tailsServer"></a> |
|
| 1167 |
- <li> |
|
| 1168 |
- <b>Tails server: Self-hosted services behind Tails-powered Tor hidden services</b> |
|
| 1169 |
- <br> |
|
| 1170 |
- Likely Mentors: <i>anonym, George (asn)</i> |
|
| 1171 |
- <p>Let's talk about group collaboration, communication and data sharing |
|
| 1172 |
- infrastructure, such as chat servers, wikis, or file repositories.</p> |
|
| 1173 |
- <p>Hosting such data and infrastructure <b>in the cloud</b> generally |
|
| 1174 |
- implies to trust the service providers not to disclose content, usage or |
|
| 1175 |
- users location information to third-parties. Hence, there are many threat |
|
| 1176 |
- models in which cloud hosting is not suitable.</p> |
|
| 1177 |
- <p>Tor partly answers the <b>users location</b> part; this is great, but |
|
| 1178 |
- <b>content</b> is left unprotected.</p> |
|
| 1179 |
- <p>There are two main ways to protect such content: either to encrypt it |
|
| 1180 |
- client-side (<b>security by design</b>), or to avoid putting it into |
|
| 1181 |
- untrusted hands in the first place.</p> |
|
| 1182 |
- <p>Cloud solutions that offer security by design are rare and generally |
|
| 1183 |
- not mature yet. The <b>Tails server</b> project is about exploring the |
|
| 1184 |
- other side of the alternative: avoiding to put private data into |
|
| 1185 |
- untrusted hands in the first place.</p> |
|
| 1186 |
- <p>This is made possible thanks to Tor hidden services, that allow users |
|
| 1187 |
- to offer location-hidden services, and make self-hosting possible in |
|
| 1188 |
- many threat models. Self-hosting has its own lot of problems, however, |
|
| 1189 |
- particularly in contexts where the physical security of the hosting |
|
| 1190 |
- place is not assured. Combining Tor hidden services with Tails' |
|
| 1191 |
- amnesia property and limited support for persistent encrypted data |
|
| 1192 |
- allows to protect content, to a great degree, even in such contexts.</p> |
|
| 1193 |
- <p>In short, setting up a new Tails server would be done by:</p> |
|
| 1194 |
- |
|
| 1195 |
- <ol style="list-style-type: decimal"> |
|
| 1196 |
- <li>Alice plugs a USB stick into a running desktop Tails system.</li> |
|
| 1197 |
- <li>Alice uses a GUI to easily configure the needed services.</li> |
|
| 1198 |
- <li>Alice unplugs the USB stick, that now contains encrypted services |
|
| 1199 |
- configuration and data storage space.</li> |
|
| 1200 |
- <li>Alice plugs that USB stick (and possibly a Tails Live CD) into the |
|
| 1201 |
- old laptop that was dedicated to run Tails server.</li> |
|
| 1202 |
- <li>Once booted, Alice enters the encryption passphrase either |
|
| 1203 |
- directly using the keyboard or through a web interface listening on the |
|
| 1204 |
- local network.</li> |
|
| 1205 |
- <li>Then, Bob can use the configured services once he gets a hold on |
|
| 1206 |
- the hidden service address. (The <b>petname system for Tor hidden |
|
| 1207 |
- services</b> project would be very complementary to this one, by the |
|
| 1208 |
- way.)</li> |
|
| 1209 |
- </ol> |
|
| 1210 |
- |
|
| 1211 |
- <p>Tails server should content itself with hardware that is a bit old |
|
| 1212 |
- (such as a PIII-450 laptop with 256MB of RAM) and/or half broken (e.g. |
|
| 1213 |
- non-functional hard-disk, screen or keyboard).</p> |
|
| 1214 |
- <p>The challenges behind this project are:</p> |
|
| 1215 |
- |
|
| 1216 |
- <ul> |
|
| 1217 |
- <li>Design and write the services configuration GUI [keywords: edit |
|
| 1218 |
- configuration files, upgrade between major Debian versions, |
|
| 1219 |
- debconf].</li> |
|
| 1220 |
- <li>How to create the hidden service key? [keywords: Vidalia, control |
|
| 1221 |
- protocol].</li> |
|
| 1222 |
- <li>Adapt the Tails boot process to allow switching to "server |
|
| 1223 |
- mode" when appropriate.</li> |
|
| 1224 |
- <li>Add support, to the Tails persistence setup process, for asking an |
|
| 1225 |
- encryption passphrase without X, and possibly with a broken keyboard |
|
| 1226 |
- and/or screen [keywords: local network, SSL/TLS?, certificate?].</li> |
|
| 1227 |
- </ul> |
|
| 1228 |
- |
|
| 1229 |
- <p>This project can easily grow quite large, so the first task would |
|
| 1230 |
- probably be to clarify what it would need to get an initial (minimal |
|
| 1231 |
- but working) implementation ready to be shipped to users.</p> |
|
| 1232 |
- <p>This project does not require to be an expert in one specific field, |
|
| 1233 |
- but it requires to be experienced and at ease with a large scope of |
|
| 1234 |
- software development tools, processes, and operating system knowledge.</p> |
|
| 1235 |
- <p>Undertaking this project requires in-depth knowledge of Debian-like |
|
| 1236 |
- systems (self-test: do the "dpkg conffile" and "debconf preseeding" |
|
| 1237 |
- words sound new to your ear?); the Debian Live persistence system |
|
| 1238 |
- being written in shell, being at ease with robust shell scripting is |
|
| 1239 |
- a must; to end with, at least two pieces of software need to be |
|
| 1240 |
- written from scratch (a GUI and a webapp): the preferred languages for |
|
| 1241 |
- these tasks would be Python and Perl. Using Behaviour Driven |
|
| 1242 |
- Development methods to convey expectations and acceptance criteria |
|
| 1243 |
- would be most welcome.</p> |
|
| 1244 |
- <p>For more information see https://tails.boum.org/todo/server_edition/</p> |
|
| 1245 |
- </li> |
|
| 1246 |
- |
|
| 1247 | 1166 |
<a id="feedbackExtension"></a> |
| 1248 | 1167 |
<li> |
| 1249 | 1168 |
<b>Feedback Extension for Tor Browser</b> |
| 1250 | 1169 |