<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On 29 Jan 2016, at 13:59, Wilton Gorske <<a href="mailto:wilton@riseup.net" class="">wilton@riseup.net</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class=""><br class="">-------- Forwarded Message --------<br class="">Subject: [<a href="http://rt.torproject.org" class="">rt.torproject.org</a> #63908] Onion Services & External Resources<br class="">Hosted On Them<br class="">Date: Fri, 29 Jan 02016 02:19:11 +0000<br class="">From: mk via RT <<a href="mailto:help@rt.torproject.org" class="">help@rt.torproject.org</a>><br class="">Reply-To: <a href="mailto:help@rt.torproject.org" class="">help@rt.torproject.org</a><br class="">To: <a href="mailto:wilton@riseup.net" class="">wilton@riseup.net</a><br class=""><br class="">I think you might want to try it on our new ML:<br class=""><a href="https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-onions" class="">https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-onions</a>.<br class=""><br class="">On 02016-01-27 23:34:47, <a href="mailto:wilton@riseup.net" class="">wilton@riseup.net</a> wrote:<br class=""><blockquote type="cite" class="">Hello Tor,<br class=""><br class="">I have a question about Onion Services hosting external resources.<br class=""><br class="">If there's a webserver hosted as an Onion Service, with an external<br class="">resource coded (for instance, a Flickr image on the home page), which<br class="">'node' in the rendezvous points system calls that resource? The client?<br class="">The hidden service? The rendezvous?<br class=""><br class="">It's obviously clear how this works with an exit node on the clearnet,<br class="">but not so (to me) with Onion Services. I guess it's the hidden service,<br class="">but that means someone watching the network connection of the service<br class="">could see it calling the resources for a client every time it was<br class="">requested. Right?<br class=""></blockquote></div></div></blockquote><br class=""></div><div>This question is relevant to operating onion (hidden) service sites and user privacy.</div><div><br class=""></div><div>The user's browser makes a request for each resource in the page to the tor client.</div><div>The tor client transparently directs requests to site "A.onion" through a rendezvous circuit to the "A" onion service.</div><div><div>It directs requests to site "B.onion" through a different rendezvous circuit to the "B" onion service.</div></div><div>Requests to non-onion sites are directed to an exit that allows that particular domain and port through yet another circuit.</div><div><br class=""></div><div>So, onion services never see requests for any other onion service or internet site.</div><div><div>This is ensured cryptographically: an onion service signs a list of introduction points and keys.</div><div>Only clients using those keys at those introduction points can get a rendezvous circuit with the service.</div><div>(This enables OnionBalance, where an onion site signs introduction points belonging to replica onion services.)</div></div><div><br class=""></div><div><div>In addition, each Tor Browser URL bar domain is isolated: Tor Browser isolates application-level resources like cookies, and the tor client isolates network-level resources like streams. (This prevents one site spying on what another site is requesting.) </div><div class=""><br class=""></div></div><div>Nevertheless, every client accessing a mixed onion / non-onion page is exposed to all the threats from all the resources loaded by that page. There are also potential fingerprinting and correlation attacks. So, just like pure HTTPS, a pure onion site is best practice.</div><div><div><br class=""></div></div><div>Tim</div><br class=""><div class="">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="orphans: auto; text-align: start; text-indent: 0px; widows: auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="orphans: auto; text-align: start; text-indent: 0px; widows: auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="orphans: auto; text-align: start; text-indent: 0px; widows: auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="orphans: auto; text-align: start; text-indent: 0px; widows: auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="orphans: auto; text-align: start; text-indent: 0px; widows: auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="orphans: auto; text-align: start; text-indent: 0px; widows: auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="orphans: auto; text-align: start; text-indent: 0px; widows: auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="orphans: auto; text-align: start; text-indent: 0px; widows: auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="orphans: auto; text-align: start; text-indent: 0px; widows: auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="orphans: auto; text-align: start; text-indent: 0px; widows: auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="orphans: auto; text-align: start; text-indent: 0px; widows: auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; orphans: auto; text-align: start; text-indent: 0px; widows: auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Tim Wilson-Brown (teor)</div><div style="color: rgb(0, 0, 0); letter-spacing: normal; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; orphans: auto; text-align: start; text-indent: 0px; widows: auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""></div><div style="orphans: auto; text-align: start; text-indent: 0px; widows: auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">teor2345 at gmail dot com<br class="">PGP 968F094B<br class=""><br class="">teor at blah dot im<br class="">OTR CAD08081 9755866D 89E2A06F E3558B7F B5A9D14F</div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>
</div>
<br class=""></body></html>