News for hackers. Stuff that matters.
Re:Tinyssh by asveikau on Thursday December 23, 2021 @10:30AM (#29662750)
No RSA support really stands out. No doubt many reading this have RSA identity keys on disk right now in ~/.ssh. It's been the default for so long.
Re:Tinyssh by rectang on Thursday December 23, 2021 @10:49AM (#29662987)
If you're like me and have just been using RSA because of inertia, here's a discussion of why you might switch to ed25519 as an alternative:

https://www.reddit.com/r/sysadmin/comments/4gktbr/ssh_ed2551...

I particularly enjoyed this answer:

> ed25519 is more secure in practice. One of the biggest reasons to go with ed25519 is that it's immune to a lot of common side channels. While ed25519 is slightly less complex to crack in theory, in practice both of them are long enough that you're never going to be able to crack it, you need a flaw to exploit in the implementation or a substantial leap forward in cryptanalysis. ed25519 is more secure in practice because most instances of a break in any modern cryptosystem is a flaw in the implementation, ed25519 lowers the attack surface here.

Re:Tinyssh by hannob on Thursday December 23, 2021 @11:15AM (#29663258)
I'm not sure I agree with that.

One thing to keep in mind is that SSH uses RSA only for signatures. That already kills off most attacks on RSA, as encryption has always been weaker than signatures. Not using a small exponent key kills the most significant attack on signatures.

Regarding sidechannels, the biggest issue I can think of is that ideally you should have constant time modular arithmetic, but you need that for ed25519 as well.

Not necessarily advocating for RSA (ed25519 is fine I guess), but I feel the "RSA is bad" talking point has been overused.

Re:Tinyssh by mananaysiempre on Thursday December 23, 2021 @01:19PM (#29664688)
From when I last looked, my impression was that the specific modular arithmetic you need for ed25519 is basically standard long arithmetic with a constant number of digits + a single CMOV, which is different from essentially arbitrary moduli that (reasonably compatible) RSA needs.
Re:Tinyssh by thomasahle on Thursday December 23, 2021 @11:12AM (#29663226)
I feel like the Dual_EC_DRBG backdoor has given Elliptic Curve Crypto a bad reputation lasting for decades. I guess it's unfair to the technology as a whole, but somehow RSA just feels safe and battle tested.
Re:Tinyssh by chasil on Thursday December 23, 2021 @11:20AM (#29663321)
The tinyssh server only uses DJB cipher suites; the [email protected] implementation has been in place for quite some time without any major issues.

https://www.libssh.org/2013/11/03/openssh-introduces-curve25...

"This algorithm does not rely on NIST-based curves and gives us more security confidence against a possible backdoor in nistp-256 curve. Today is a big day for us because OpenSSH team approved my patch and made [email protected] the default key exchange!"

Also, the original RSA keys used in SSH have a sha-1 problem, and have been deprecated.

https://www.zdnet.com/article/openssh-to-deprecate-sha-1-log...

https://www.openssh.com/releasenotes.html

    This release disables RSA signatures using the SHA-1 hash algorithm
    by default. This change has been made as the SHA-1 hash algorithm is
    cryptographically broken, and it is possible to create chosen-prefix
    hash collisions for <USD$50K [1]

    For most users, this change should be invisible and there is
    no need to replace ssh-rsa keys. OpenSSH has supported RFC8332
    RSA/SHA-256/512 signatures since release 7.2 and existing ssh-rsa keys
    will automatically use the stronger algorithm where possible.

    Incompatibility is more likely when connecting to older SSH
    implementations that have not been upgraded or have not closely tracked
    improvements in the SSH protocol.
Re:Tinyssh by hannob on Thursday December 23, 2021 @11:28AM (#29663399)
The concerns about the nist curves and the dual ec issue are two completely separate things.

Furthermore:

> Also, the original RSA keys used in SSH have a sha-1 problem, and have been deprecated.

This is wrong. What's correct is that openssh plans to deprecate sha1 signatures, but you can still use your RSA keys with sha2-based signatures.

Re:Tinyssh by gurrone on Thursday December 23, 2021 @11:37AM (#29663498)
Ironically I lately had a payment service provider handing me newly generated ecdsa ssh keys where ed25519 should be supported to the best of my knowledge. And fluxcd moved from rsa to ecdsa by https://github.com/fluxcd/flux2/releases/tag/v0.21.0.

Kinda strange people are moving on to EC cipher - which is good, but to the cipher which has the NIST/NSA smell.

Re:Tinyssh by chasil on Thursday December 23, 2021 @12:14PM (#29663888)
I have upgraded all of my ECDSA host keys to the 521 curve, which has some praise from DJB, unlike the 256 and 384 curves (ssh-keygen -b #: "For ECDSA keys, the -b flag determines the key length by selecting from one of three elliptic curve sizes: 256, 384 or 521 bits").

http://blog.cr.yp.to/20140323-ecdsa.html

"To be fair I should mention that there's one standard NIST curve using a nice prime, namely 2^521 - 1; but the sheer size of this prime makes it much slower than NIST P-256."

Re:Tinyssh by apatheticonion on Thursday December 23, 2021 @11:39PM (#29670271)
ed25519 makes me feel like an idiot because I can never remember it. When I create new ssh keys I always forget:

1) (minor) The command to use a different encryption method to the default one 2) (major) how to remember more than the first two characters of ed25519

When I feel serious about not using RSA, I literally google "ssh ed" and pray it will autofill the rest of it. If I am not there within 15 seconds of opening my browser I am rolling with RSA256.

Re:Tinyssh by ThePowerOfFuet on Saturday December 25, 2021 @04:40AM (#29681835)
RSA2048, you mean? ;)
Re:Tinyssh by apatheticonion on Saturday December 25, 2021 @09:50PM (#29689225)
Haha! Oh wow, case and point - I am hopeless at anything that isn't the default
Re:Tinyssh by ThePowerOfFuet on Sunday December 26, 2021 @05:16AM (#29691146)
This is what makes Wireguard so powerful: there is only one setting.
Re:Tinyssh by turminal on Thursday December 23, 2021 @10:37AM (#29662830)
Being tiny always means giving up some features. Supporting RSA really doesn't go along well with being tiny & straightforward.
Re:Tinyssh by asveikau on Thursday December 23, 2021 @10:45AM (#29662925)
It's their own project and their decision to make.

That said, have you read an RSA implementation? It's not a lot of code.

Re:Tinyssh by turminal on Thursday December 23, 2021 @11:28AM (#29663406)
It's not a lot of code but it's significantly less straightforward than the primitives tinyssh offers.
Re:Tinyssh by nine_k on Thursday December 23, 2021 @11:55AM (#29663661)
Existing keys matter little. I always generate a new key for a new host anyway. Makes revocation much easier.
Re:Tinyssh by asveikau on Thursday December 23, 2021 @12:55PM (#29664409)
For a new server, sure.

I meant your personal identity key in ~/.ssh/id_*. The one that you might have on a bunch of servers, or give to github, or whatever. It's a good practice to periodically regenerate those, but I don't think it happens quite as often.

Re:Tinyssh by nine_k on Thursday December 23, 2021 @04:06PM (#29666479)
> The one that you might have on a bunch of servers, or give to github, or whatever

Exactly what I avoid. Each of them gets their own separate key. Never the same key to a bunch of machines (except maybe transient VMs).

But I agree, if a server changes its SSH implementation to one that does not support your existing key, it's a hassle, to say the least. In reasonable circumstances this does not happen without a plenty of warning well ahead of time, to allow you to regenerate your key in a new format.

Re:Tinyssh by Beltiras on Thursday December 23, 2021 @04:09PM (#29666502)
Anyone fluent enough to read these type of posts and threads are very comfortable to moving to elliptic curve.