<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Sep 26, 2013 at 3:59 AM, David Bruant <span dir="ltr"><<a href="mailto:bruant.d@gmail.com" target="_blank">bruant.d@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Le 26/09/2013 12:16, Aymeric Vitte a écrit :<div class="im">
<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
Le 26/09/2013 11:43, David Bruant a écrit :<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
Le jeu. 26 sept. 2013 11:11:40 CEST, Aymeric Vitte a écrit :<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
For those interested I provided in the CSP thread a link to a FF bug<br>
report where it's explained how some security policy (here Websocket<br>
spec) forces me to do insecure things. I don't know what list can take<br>
care of it, there is a discussion in [1] too, for now I did not see<br>
really solid arguments showing that I could be wrong.<br>
</blockquote>
I answered on the webappsec thread. Firefox blocks mixed content for good reasons. When receiving an HTTPS page, the browser shows lots of signs of the page being secure. If the page starts loading code/style/content with HTTP, these are subject to man in the middle attacks and suddenly, the browser gives a false sense of security to the user.<br>

</blockquote>
<br>
Mixed content is not blocked today.<br>
</blockquote></div>
It is by IE and Chrome. I don't remember for which version it is for Firefox, but it should be deployed or will very soon. It's close enough to being a de facto standard. Only the thousands of edge cases need to be agreed upon.<div class="im">
<br>
<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
Again, it's difficult to say which one is more insecure between http with https or https with http, the first one is subject to a mitm attack since the begining.<br>
</blockquote></div>
None is secure.<div class="im"><br>
<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

Firefox isn't forcing you to do insecure things. Firefox is forcing you to make a choice: go all the way secure (so that it can shows strong signal to the user) or use HTTP.<br>
</blockquote>
<br>
I am not saying FF is the problem, FF follows the Websocket spec, which does not allow ws with https. I am explaining why I can not use wss (routers can not have trusted certificates)<br>
</blockquote></div>
Sorry, I had miss this info.<div class="im"><br>
<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
so I am forced to fallback to http. It's easy to deny the issue but that's a real life use case.<br>
</blockquote></div>
I don't know the details for your particular case, but a line has to be drawn somewhere. Web standard security is always butchered because of these real life use cases. How important are they? How hard would it be for real life infrastructure to upgrade? For sure once a standard allows to do something insecure (load HTTP content in HTTPS page) it remains pretty much forever. This is less true for your router I imagine.<br>

Blocking mixed content has been possible in Firefox because IE and Chrome were doing it long ago.<div class="im"><br>
<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
Maybe a solution could be combination of CSP and SES, I think SES<br>
should come now, as far as I remember it is planned for ES8, seems too<br>
late.<br>
</blockquote>
SES exists now... sort of... with Caja. You don't need to wait, it's already available. Module loaders are also a major step forward.<br>
</blockquote>
<br>
Not very intuitive to use as far as I remember.<br>
</blockquote></div>
Let's go step by step. You were initially asking for "possible", I gave you "possible" :-)<br>
I know that the Caja team has been very reactive and patient to my questions in the past. If you have intuitiveness and API issues, I'm sure they'll be happy to hear about it and will certainly guide you through how to use Caja.</blockquote>
<div><br></div><div><br></div><div>David, thanks!</div><div>Aymeric, yes, what David said ;).<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div class="im"><br>
<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
Solving the code loading issue is indeed the key point, but is it<br>
feasible?<br>
</blockquote>
Can you describe ways in which it isn't?<br>
</blockquote>
<br>
Do you know a way (even theoretical) to safely load code with web mechanisms that can defeat a mitm? This would necessarly imply another check mechanism on top of SSL/TLS<br>
</blockquote></div>
My knowledge stops at a 2-layer answer.<br>
First layer is: load everything with HTTPS and you'll be fine. For the vast majority of people and use cases, this is enough.<br>
Second layer is that HTTPS has some known flaws [1], including in the certificate authority mechanism, but it takes some work to exploit them. Moxie Marlinspike proposed a solution in the form of the Converge Firefox addon <a href="http://convergence.io/" target="_blank">http://convergence.io/</a> ... which is broken since Firefox 18 (an API changed and the addon wasn't updated). But the idea is interesting.<br>

<br>
David<br>
<br>
[1] See <a href="https://www.youtube.com/watch?v=Z7Wl2FW2TcA" target="_blank">https://www.youtube.com/watch?<u></u>v=Z7Wl2FW2TcA</a> (the anecdote about SSL design at ~16' is hilarious...ly scary) and other work by Moxie Marlinspike on that topic<div class="">
<div class="h5"><br>
______________________________<u></u>_________________<br>
es-discuss mailing list<br>
<a href="mailto:es-discuss@mozilla.org" target="_blank">es-discuss@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/es-discuss" target="_blank">https://mail.mozilla.org/<u></u>listinfo/es-discuss</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>    Cheers,<br>    --MarkM
</div></div>