<div dir="ltr">On Fri, Nov 15, 2013 at 9:30 AM, Ralf Skyper Kaiser <span dir="ltr"><<a href="mailto:skyper@thc.org" target="_blank">skyper@thc.org</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra">No. The user has to trust ALL keys and not just the single ROOT KEY. The user has to trust:<br>
1. The key was generated securely (enough bits, good primes, ...)<br></div><div class="gmail_extra">
2. A good RNG was used (hi debian! Thanks for a bad RNG).<br></div><div class="gmail_extra">3. The key is not leaked (on purpose) by _any_ of the admins in the domain chain<br></div><div class="gmail_extra">4. The key is stored securely and not stolen<br>

</div><div class="gmail_extra">5 . ...This list is incomplete...and goes on and on.<br><br></div></div></blockquote><div><br></div><div>Excellent... So we'll run through a first-time connect without DANE, and with just pinning.</div>
<div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"></div><div class="gmail_extra">Maybe this example gives a better idea:<br>
</div><div class="gmail_extra">User in Iran. Jabber admin sets up a jabber server at <a href="http://myjabberserver.my-university.ir" target="_blank">myjabberserver.my-university.ir</a>.<br>
<br></div></div></blockquote><div><br></div><div>OK. So no change here.</div><div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra">
The user has to trust ROOT (domain "."). ROOT is ultimately geopolitically aligned with the US. <br><br></div></div></blockquote><div><br></div><div>Again, no change. Still got the trust the DNS, after all. Of course, Iran could run their own root, and frankly nobody would know without DNSSEC. So it's really hard to tell if the root you're querying is actually the one geopolitically aligned with the US or not.</div>
<div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"></div><div class="gmail_extra">The user has to trust .IR. That's ultimately the Iranian government.<br>

<br></div></div></blockquote><div><br></div><div>So here's a thing - this assumes the user is also in Iran. But without DNSSEC, you have to trust both your local authority and the domain owner. In your scenario, though, they're the same thing, so we can skip this, right?</div>
<div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra">The user has to trust <a href="http://MY-UNIVERSITY.IR" target="_blank">MY-UNIVERSITY.IR</a> (which is ultimately aligned with Mr. Khomeini)<br>
</div><div class="gmail_extra"><br></div></div></blockquote><div><br></div><div>Likewise... Though I'm pretty sure Khomeini hasn't been around for a while.</div><div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr"><div class="gmail_extra"></div><div class="gmail_extra">The user has to trust <a href="http://MYJABBERSERVER.my-university.ir" target="_blank">MYJABBERSERVER.my-university.ir</a> which is the actual jabber server admin.<br>

<br></div></div></blockquote><div><br></div><div>OK. Small note there, actually. You also have to trust any authority over your IP connectivity at this point, plus spoofing DNS is relatively easy without DNSSEC, so you're basically trusting *everyone*. Which just makes you a nice guy, right? Can I borrow 1,000?</div>
<div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"></div><div class="gmail_extra"><SARCASM><br></div><div class="gmail_extra">
That really sounds like a great idea! Unless of course<br><br></div><div class="gmail_extra">1. You are a gay person in Iran<br></div><div class="gmail_extra">
2. An Atheist in Saudi Arabia (or a women)<br></div><div class="gmail_extra">3. Leonardo da Vinci and dare to suggest that the earth is round<br></div><div class="gmail_extra">4. A black person wishing to sit in the front row of a bus<br>

5 ...<br></div><div class="gmail_extra"></SARCASM><br><br></div></div></blockquote><div><br></div><div>Typically, sarcasm is used to posit something that is clearly the opposite of what you intend, by the way. Aside from "That really sounds like a great idea", I'll assume that the remainder of the argument you state above is, you believe, valid.</div>
<div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"></div><div class="gmail_extra">DANE does not protect any of the above people. <br>
</div><div class="gmail_extra"><br></div></div></blockquote><div><br></div><div>It protects them significantly better, and from a greater number of attacks (and attackers), than self-signed certificates and pinning-only.</div>
<div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"></div><div class="gmail_extra">DANE just does not cut it. Not in a Post-Prism world.<br>

<br></div></div></blockquote><div><br></div><div>I have *no* idea what Prism has to do with this. Really.</div><div><br></div><div>The only thing you need to defeat pervasive surveillance alone, which is a fundamentally untargetted attack, is to deploy some kind of encryption. ADH is fine for that.</div>
<div><br></div><div>We're trying to solve an authentication problem.</div><div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra">
</div><div class="gmail_extra">Certificate Pinning does.<br></div><div class="gmail_extra"><br></div></div></blockquote><div><br></div><div>Ah, but wait, because there's two additional steps you've skipped.</div><div>
<br></div><div>With DANE, the user's client now knows something important - assuming it can trust the relevant delegation points, of course - it knows the address (via DNSSEC) and it also knows what to expect from the certificate (the CA, or certificate itself). These are good and useful things to know.</div>
<div><br></div><div>With pure pinning and self-signed certificates, it knows nothing it can trust. It cannot trust the IP address, nor the certificate. Your argument is that a user should then trust these anyway, and bootstrap from there. The trouble is the attacker has much more scope to mount the initial attack, and once done it's fairly nicely self-sustaining - in fact, if they stop the attack, it'll appear as if the legitimate server is the attacker. I have no clue how to extricate the user at this point.</div>
<div><br></div><div>I don't think anyone would claim that DANE is utterly proof against any form of attack, but your argument seems to be that because it's not perfect, we should instead use something worse.</div>
<div><br></div><div>Critically, the argument "but nobody will attack the initial connect, it works with SSH" is entirely flawed, as every attack possible is magnitudes harder with DNSSEC and/or DANE.</div><div><br>
</div><div>Also, you're welcome to use pinning *and* DANE. If you can figure out what takes precedence in the case of a mismatch.</div><div><br></div><div>Dave.</div></div></div></div>