Live data from Hacker News

Why aren’t we using SSH for everything? (2015)

medium.com

71–80 of 87 posts

Re: Why aren’t we using SSH for everything? (2015)

#71
post #26
post #24

Earlier quoted context omitted.

Some users are lurkers. I created this account 1921 days ago but have only 201 karma. That said, I don't remember the previous posting of this article, so linking to previous comments is useful. It lets me compare the discussions and see how opinions do or don't change.

You know, maybe I'm wrong, but I read the comment as a cheap way to register superiority over the OP - essentially saying "we already talked about this, so move along." That's not as valuable when "we" changes over time, and (as you pointed out) a lot of "us" don't participate in every discussion. IMHO we'd be better off if we didn't have to hear about it every time an old topic got resurrected.

What? Links to old discussions (especially when they were informed) is always good. And sometimes it'll avoid a redundant rehash of points. When it comes to software like TLS/ssh, it's also very interesting to see if things that were true/important a year ago are less true/important now.

I see where you're coming from, but I think everyone is well served not always looking for ulterior motives where there are none. A link to a rich previous discussion on a topic is almost always both relevant and informative, and saves others from having to go an search for the relevant thread(s).

If there's one great failing of computer science as a field, it is the lack of history -- people just don't know what was, or how things came to be. And so we have a lot of effort wasted on recreating yesterdays mistakes, today, rather than building on old solutions to create better ones for tomorrow (to partly paraphrase Alan Kay).

Re: Why aren’t we using SSH for everything? (2015)

#72
post #58

Logging in to an IRC server over ssh could do the user verification using the user key, just like https can do client certificates. It is an underrated posibility perhaps..

Reminds me of: "Show HN: ssh chat.shazow.net" (the github repo actually links to the medium article of this story now) https://news.ycombinator.com/item?id=8743374

I suppose the natural thing would be to marry the Robust IRC server/gateway to a golang ssh front-end, so that one could ssh in and be dumped right in a (nick authenticated) robust irc sesssion...:

https://github.com/robustirc/robustirc

Re: Why aren’t we using SSH for everything? (2015)

#73

To be clear, if you look through OPs posts, he's clearly a government shill. Trust his advice at your own peril.

I've seen this accusation thrown around for years now (often privately) and I just don't see it. Maybe I'm blind. Even if he's shilling for the government (stupid claim but whatever), what do they gain by him encouraging people to adopt better crypto habits? This seemingly-baseless personal attack doesn't even pass the laugh test for me. I'd like to see some hard evidence. What do government shills sound like? What a…

He's got positions on the US government that rubs a lot of people the wrong way (including me; then again, my positions on the US governments rubs a lot of other people the wrong way). That's probably where the accusation stems from. While I disagree with him a lot on politics, like you I don't see any justification for calling him a shill.

It seems a lot of people don't understand that most people who have political views they don't like hold those views because they honestly believe it is best, not because of some nefarious conspiracy.

More importantly, I've yet to see any security advice from him that is in any way suspect. Strangely enough it is possible to disagree with someone about politics and still trust their technical advice when it time and time again is demonstrably sound.

Re: Why aren’t we using SSH for everything? (2015)

#74
post #10

Because it's not a very good protocol. Adopting it, instead of HTTP/2 and TLS 1.3, basically gets you everything that is bad about TLS (most notably, a legacy of 1990s cryptography) and everything that is bad about SSH (poor performance, extreme complexity), and leave you with no upsides. For instance: the HTTPS stack will, with effort, allow you to opt in to protocol forwarding, via mechanisms that were designed to…

> leave you with no upsides. Not even close. While TLS technically supports client-side certs, all extant implementations of it are unbearably clunky to use, completely ignored by all vendors. Meanwhile the tooling around SSH keys (like ssh-agent) is seamlessly integrated with your OS and works so well that it's easy to forget it even exists. Browser vendors completely dropped the ball on this; they dropped it so har…

> all extant implementations of [mutual auth] are unbearably clunky to use, completely ignored by all vendors.

I hope things have gotten better now, but five years ago I ran into this in spades. Pulling teeth both to implement and then to explain. Especially if it's from a cert chain, and doubly so if you want to only trust certain from your CA.

And I think across the whole stack we ended up with three TLS stacks, and some HSM hardware. So I got to figure out trust stores multiple times.

I should have run screaming, but I stayed at that job an extra five months just to make sure that everyone really understood the mutual certificate auth code at a practical level. There's gotta be a better way.

I really think we need a hybrid system that is more like PGP, where you have a key chain and get advisary info from your peer group about the veracity of a CA Signed cert.

Re: Why aren’t we using SSH for everything? (2015)

#75
post #57
post #40

Earlier quoted context omitted.

Clarification: By "authentication" I mean keys that the users generate using ssh-keygen. I do not mean certificates or "certficate authorities" (CA's).

TLS supports mutual authentication via X.509 certificates, and they can be self-signed on both ends with some "accept" dialogs, similar to SSH's "do you trust this host's key?" prompts.

Is generating ed25519 keys slower or faster than generating self-signed certs?

Nothing wrong with OpenSSH supporting the option to use certs. They can be useful to some users.

But the entire X.509 scheme to my knowledge was based around some idea of third party verification.

This gave rise to the business of selling CA "services". Problematic to say the least.

And still to this day, "self-signing" appears to be disfavored. Or perhaps the openssl binary is just too loaded with options for users to learn the commands to generate CA and server certs and keys.

Whether it truly is or not, ostensibly "SSL/TLS certificates" to the public seems to require third party involvement.

ed25519 keys do not have this problem. And generating them is relatively fast.

Re: Why aren’t we using SSH for everything? (2015)

#76
post #10

Because it's not a very good protocol. Adopting it, instead of HTTP/2 and TLS 1.3, basically gets you everything that is bad about TLS (most notably, a legacy of 1990s cryptography) and everything that is bad about SSH (poor performance, extreme complexity), and leave you with no upsides. For instance: the HTTPS stack will, with effort, allow you to opt in to protocol forwarding, via mechanisms that were designed to…

tinysshd does not have the 90's crypto by default. It is optional. Nor does it have the "extreme complexity".

Re: Why aren’t we using SSH for everything? (2015)

#77

To be clear, if you look through OPs posts, he's clearly a government shill. Trust his advice at your own peril.

Accusations of shillage without evidence break HN's civility rule. I've posted about this countless times.

We banned this account for serial trolling and detached this subthread from https://news.ycombinator.com/item?id=11516860 and marked it off-topic.

Re: Why aren’t we using SSH for everything? (2015)

#78
post #26

Earlier quoted context omitted.

You know, maybe I'm wrong, but I read the comment as a cheap way to register superiority over the OP - essentially saying "we already talked about this, so move along." That's not as valuable when "we" changes over time, and (as you pointed out) a lot of "us" don't participate in every discussion. IMHO we'd be better off if we didn't have to hear about it every time an old topic got resurrected.

> ...I read the comment as a cheap way to register superiority over the OP... Whose comment? fjarlq's comment? If so, I also might be wrong, but I read it as "Here's old discussion on the topic. Might be worth reading to see if what you want to talk about today has already been hashed out, or if there's discussion that you might find interesting.".

Seconded; I'm a casual browser but when a topic grabs my attention it's great to see there's been multiple well-trafficked threads and have links mentioned to backtrack to alternate discussions

Re: Why aren’t we using SSH for everything? (2015)

#79
post #11
post #8

Earlier quoted context omitted.

SSH is also implemented by Golang, and Erlang (And probably a bunch of other languages). You're right that traditional SSH clients tend to need long-term storage, but one could easily turn off host key caching, and look to SSHFP records ( http://www.ietf.org/rfc/rfc4255.txt ) instead. I'd actually argue that SSHFP records are analogous to DANE. Paired with DNSSEC, I'm not there there's a practical attack there. As fa…

By "no practical attack", you mean, "as long as you trust whichever government controls your TLD and whichever governments effectively control the global DNS root" --- which, for most of the hosts people on HN contact, means "as long as you trust the NSA". DNSSEC is a disaster. Avoid it. http://sockpuppet.org/blog/2015/01/15/against-dnssec/

DNSSec is useless if TLS was implemented in the ideal way. But, unfortunately, TLS is far from ideal.

The author states "For something as harebrained as the CA system, remarkably few criminal breaches trace back to it -- There have been many false CAs, and certificates issues. We have no idea what they've been used for (http://arstechnica.com/security/2015/03/google-warns-of-unau...). In addition to this, there exist many CAs whose primary purpose is to perform MITM-style attacks

The author's points about DNSSec being expensive - somewhat, but more an more providers are offering DNSSec at the same price as normal DNS. Fedora is even enabling it on all their end hosts.

As far as the "Government controlled PKI": 1. What's better? Some security, or no security? 2. If the government wanted to crack DNSSec, there still exists the fact that we can share KSKs out of band for verification.

DNSSec is capable of providing better security than the current system. It does have some implementation gaps, but what do you propose alternatively?

Re: Why aren’t we using SSH for everything? (2015)

#80
post #55
post #51

Earlier quoted context omitted.

I prefer ssh for this purpose since I don't want to store credentials somewhere in plain text.

Why would you do that with either option?

HTTPS auth provided by Github et al. don't support client certs, only username/password pairs. There is no equivalent to ssh-agent for HTTPS (because authenticating to HTTPS URLs is not a standard).
Post reply on HN