HN discussion when this was originally posted 471 days ago: https://news.ycombinator.com/item?id=8828543
I need to get on that hacker news api and figure out what the half life of a HN user is, so we can tell whether 471 days is a meaningful value. I suspect a large number of people reading this weren't around then. (I think I measured that 2/3 of posters here don't have at least 501 karma, so you can use that as a ballpark figure.)
Why aren’t we using SSH for everything? (2015)
41–50 of 87 posts
Re: Why aren’t we using SSH for everything? (2015)
#42Earlier quoted context omitted.
Part of the appeal of the ssh chat server from the article is that you can connect to the server using an existing console tool. It's not necessary to have a purpose-built client. So I've been trying to think: how could you get that convenience, but using HTTPS instead of SSH. [based on your example above] In an update above I've talked about socat. That's less convenient than ssh, because socat is obscure vs ssh. A…
> Part of the appeal of the ssh chat server from the article is that you can connect to the server using an existing console tool. If what you're looking for is confirmation that ssh is indeed the most ubiquitous (at least ignoring Windows) console app to support encrypted console chat apps, then yes, I think you're correct for that very narrow design goal. For just about any other set of design constraints I think y…
Re: Why aren’t we using SSH for everything? (2015)
#43Because 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…
Also consider attack surfaces here, how many exploits have there been on say openssl and apache/nginx over the Past 1/5/10 years. How many on OpenSSH?
>For instance: the HTTPS stack will, with effort, allow you to opt in to protocol forwarding, via mechanisms that were designed to prevent accidental forwarding. The SSH stack, on the other hand, requires you to opt out of arbitrary TCP/IP port forwarding. Screwing that up will, more often than not, get you owned up Phineas Phisher-style.
Lets not forget that libraries like OpenSSL require you to "opt out" of shit like ECB mode and NULL ciphers.....
Re: Why aren’t we using SSH for everything? (2015)
#44Because 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…
Re: Why aren’t we using SSH for everything? (2015)
#45Because 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…
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 hard it continues to hurt even after all these years.
Re: Why aren’t we using SSH for everything? (2015)
#46The answer is HTTPS.
Managing an SSH server with millions of customer pubkeys is a pain. Python/twisted and Go have decent SSH implementations but there are quirks and side effects a plenty.
Shells are scary. You have to be very careful about how you execute the program on the remote side of the pipe. Shell command parsing and escaping is gnarly.
Windows...
HTTPS with basic auth headers is much easier to scale.
The one gotcha is that it took a while for HTTP git to get "smart" and offer as efficient transport as SSH with access to a .git dir.
Re: Why aren’t we using SSH for everything? (2015)
#47Earlier quoted context omitted.
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/
I hate to add "me too" replies, but it is important to get the message out there that lots of really smart folks consider DNSSEC an absolute failure of such epic proportions that you shouldn't even joke about building something real on top of it. The only thing DNSSEC has given us is widespread DDoS amplification.
Re: Why aren’t we using SSH for everything? (2015)
#48HN discussion when this was originally posted 471 days ago: https://news.ycombinator.com/item?id=8828543
I need to get on that hacker news api and figure out what the half life of a HN user is, so we can tell whether 471 days is a meaningful value. I suspect a large number of people reading this weren't around then. (I think I measured that 2/3 of posters here don't have at least 501 karma, so you can use that as a ballpark figure.)
Re: Why aren’t we using SSH for everything? (2015)
#49Ask a provider like GitHub and Heroku which git protocol they prefer: SSH or HTTPS. The answer is HTTPS. Managing an SSH server with millions of customer pubkeys is a pain. Python/twisted and Go have decent SSH implementations but there are quirks and side effects a plenty. Shells are scary. You have to be very careful about how you execute the program on the remote side of the pipe. Shell command parsing and escapin…
Even though client TLS certs are technically supported by a handful of services, there's nothing for HTTPS that matches the security and convenience of ssh-agent. It has a long way to go to catch up to where SSH was ten or fifteen years ago.
Re: Why aren’t we using SSH for everything? (2015)
#50To be clear, if you look through OPs posts, he's clearly a government shill. Trust his advice at your own peril.
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 are they trying to accomplish? How does Thomas line up with their modus operandi and/or endgame?
As someone who works heavily with appsec/crypto and has no business relationship with tptacek, it's obvious to me that his warnings are exclusively of the "don't do unnecessary things that often result in security foot-bullets" category.
What OpenSSH does right: public key pinning instead of a CA infrastructure. But then, you don't necessarily need the CA infrastructure for TLS.
Do all security researchers sound like government shills now?