<div dir="ltr">On Wed, Mar 6, 2013 at 3:03 PM, Matthew Walker <span dir="ltr"><<a href="mailto:mwalker@wikimedia.org" target="_blank">mwalker@wikimedia.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 class="im"><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">
That's not scalable, and it's insecure on untrusted systems.</blockquote>
</div><div>Good to know :) Also; fantastic link. I'll have to move my systems over.</div><div class="im"><div><br></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">
It really sucks having to type your token in every single time you want to log into any instance.</blockquote></div><div>Yep -- unfortunately no one has come up with a good method of making security convenient :D</div><div class="im">
<div><br></div></div></blockquote><div><br></div><div>It's more than just an inconvenience thing, though. There's some security tradeoffs, too. SSH keys are public/private key, whereas OATH is based on a shared secret. If the centralized OATH server is compromised then all keys are also compromised as well.<br>
<br></div><div>SSH keys can't be compromised in this way. They exist on the user's local system. A user's key can be used through an agent, if the agent is forwarded and the host is compromised (or the host is untrusted), but it can't be outright stolen unless the attacker has access to the user's local key. Additionally, It's possible to require every agent access to require approval locally, which blocks agent attacks as well.<br>
</div><div><br></div><div>There's another major problem with two-factor auth using OATH: It requires you to submit your password and your token. This is mostly safe in an environment you trust. In Labs you have to assume that most instances you are logging into aren't trusted, as we allow folks to have root. Your password can be stolen. This is one of the reasons we disabled passwords for sudo.<br>
<br></div><div>Overall, I think SSH keys are the most secure form of authentication we can use, currently. That said, I'm quite a fan of using OATH for web authentication, and centralizing as much web auth as possible into a single authn/z location using OpenID/OAuth.<br>
<br></div><div>- Ryan<br></div></div></div></div>