By making it impossible for people to use SSH you are forcing people to
use less secure software; telnet because they can't use ssh; old, buggy
versions of ssh because that's what they had to install so that they
could connect to their industrial equipment.
The answer is also boneheaded:
> remove the devices and replace them with something that is actually
> well-supported
We'd be better removing arrogance from essential development teams,
people who think that replacing a world full of expensive and
functioning equipment is an option. It's not, and nor should it be.
That's a disgraceful suggestion and you should be ashamed of yourself.
Browser developers got it badly wrong; let's not join them. The
suggestion was good because there's a wide-spread need for shorter keys
and the suggested solution doesn't allow shorter keys unless explicitly
set per invocation.
Of course it's the client's fault. The client worked, was changed, and
thus stopped working. The client wasn't faulty before, and the
difference was that some people thought it would be a good idea to break
compatibility with other standard-compliant software. That's got to be
the definition of "client's fault" (where "client" means "the people who
modified the client".)
>> you are forcing people to use
>> less secure software; telnet because they can't use ssh;
> alternative interpretation. i'm less likely to buy from a vendor who
> has a history of not keeping their software patched. if everyone else
> is similarly inclined, vendors will quickly take note.
You're blaming the victim? It's their fault for lacking prescience?
>> old, buggy versions
>> of ssh because that's what they had to install so that they could connect to
>> their industrial equipment.
> I'd personally be more worried about the buggy sshd to which I'm connecting.
By all means worry about that; but there's no suggestion that the
server, in this case, is buggy.
> maintaining old code isn't free. if you need the old options, ssh1
> support, whatever, you should bear the cost of that yourself (by
> keeping an old copy around, or compiling it yourself when you need
> it). that cost shouldn't be borne by the openssh developers and not
> the ret of the community.
The developers fucked up. They chose to expend effort breaking
backwards compatibility when they didn't have to. For the same effort
they could have deprecated shorter keys without disallowing them.
But, by all means, force people to use old versions. That's got to
advance security, doesn't it? Who knows, maybe you might even cause a
fork. Then there'd be openssh, which doesn't work with lots and lots of
stuff, and there'd be universalssh which works with everything, which
has all of the latest goodness of openssh (because, why wouldn't it?)
without any of the nastiness. Then Debian and Red Hat would switch, and
openssh would become an also-ran. Not a terrible result for the world
but a bad look for the core openssh developers.
On Sat, Dec 30, 2017 at 12:16 AM, Daniel Kahn Gillmor <d...@fifthhorseman.net
> wrote:
> On Thu 2017-12-28 21:31:28 -0800, Dan Mahoney (Gushi) wrote:
>
>
> > Perhaps if you're dead-set on this being so dangerous,
>
> It's not the developers who are dead-set on weak-keyed RSA being
> insecure, it's the cryptanalysts who have shown that to be the case :)
>
To further supplement this point, here is the paper that explain how
RSA-768 was factorized. In 2010, the authors estimated that it would take
around 1500 years to a single-core machine of this generation to do the
same thing. We're 7 years after their first results, and we now have access
to massive cloud-based behemoths for a discount. How much time would it
resist?
The idea of removing weak ciphers from a widely used piece of software is a
good one - that way, you strengthen the whole ecosystem. Going the reverse
path would simply make less informed people be the weak link of the
Internet, putting possibly many more at risk.
Best regards,
-- Emmanuel Deloget
> Hello,
>
> On Sat, Dec 30, 2017 at 12:16 AM, Daniel Kahn Gillmor <
> d...@fifthhorseman.net> wrote:
>
>> On Thu 2017-12-28 21:31:28 -0800, Dan Mahoney (Gushi) wrote:
>>
>>
>> > Perhaps if you're dead-set on this being so dangerous,
>>
>> It's not the developers who are dead-set on weak-keyed RSA being
>> insecure, it's the cryptanalysts who have shown that to be the case :)
>>
>
>
> To further supplement this point, here is the paper that explain how
> RSA-768 was factorized. In 2010, the authors estimated that it would take
> around 1500 years to a single-core machine of this generation to do the
> same thing. We're 7 years after their first results, and we now have access
> to massive cloud-based behemoths for a discount. How much time would it
> resist?
>
Of course, it's always better with the link itself:
https://eprint.iacr.org/2010/006.pdf
This doesn't make the Internet more secure because people aren't about
to throw away expensive equipment just because the latest openssh throws
a hissy fit. They'll use an alternative. Perhaps the alternative will
be an older, less secure version of openssh. Perhaps it will be even
less secure telnet. They will continue to use their still-good
equipment, and so they should.
If people choose to use old versions of openssh, which is likely, they
may also choose to make that the only version they use. It makes a lot
of sense: it saves having to think about two different versions of the
same software, one which works properly and one which seems broken.
Force people to make this choice and you weaken the whole ecosystem.
Is there a way to stop people using weak ciphers without weakening the
ecosystem? There is a way which is close: make openssh not use weak
ciphers unless the user says "I really, really need to use this weak
cipher." That's all this is about. That doesn't weaken the ecosystem;
it makes it stronger.
Removing a weak cipher weakens the ecosystem by pushing people into
using old tools that have real bugs. It's also arrogant. it sounds too
much like, "you're too ignorant/lazy/cheap to decide what's right for
you so we'll make you do what we want, and we don't care how expensive
and disruptive it is for you."
Removing a weak cipher breaks things that it didn't need to break.
That's outrageous.
It does not hurt to make the weaker cipher an option. It's not hard, no
harder than the effort to remove it.
Really? A fractured user-base: that's what you want? And you want to
blame the victims? People who don't discover that newer versions of
openssh don't work for equipment which they rarely need to access are at
fault for believing that what was promised would never be taken away?
Just leave them a little time bomb. Nice. Very nice.
Not quite true.
I have some real options for people who come across this feed later. I
think the discussion is important, and I really wish that there was a
patchset available (similar to the HPN patches) that was well known and
maintained so that OS packagers had the option of using these options if
they never made it into core openssh.
In this particular case, it was not a removed cipher, per-se, it was
a weaker key-type. Changing the minimum key lengh is a define, in
sshkey.h I think. That was a one-line commit.
Adding support to make that an invoke-time tunable is more work, but I
think it's worth doing. If there's a developer who wants to do it in a
way that is reasonable, I'd ask what it would cost to sponsor that
feature.
Whatever the outcome, I'd suggest putting a note about this on the SSH
legacy options page, which is where I looked and where others might.
I.e. a list of things for which the openssh devs have decided NOT to be
backwards compatible with.
I might also suggest that since the support for ssh version 1 has been
removed from openssh, and since ssh v1 is an artifact, frozen in time,
which will never get any newer ciphers, that if I had to admin any systems
which only supported ssh v1, that I might compile a separate "ssh1" binary
which basically *forced* the -1 flag. (Think for those of us that use
tools like rancid to log into lots of equipment). To be clear, that's not
work I'd ask for from the ssh devs, but it would still make sense to
audit it as a separate project and borrow some clue.
===
For the record, for anyone else reading this thread who hit my exact
issue, there IS a way to get a 1024-bit cert onto the APC PDUs, but you
have to generate it from off-device using a windows-only utility, and then
scp it onto the device. It's a giant pain in the butt, but it does work.
If I had gotten a warning like "HEY THIS USES 768-BIT KEYS WHICH WILL BE
DEPRECATED IN A FUTURE VERSION OF SSH (within a year of $RELEASE DATE), I
may have done the annoying process sooner.
However, I found myself with an ssh instead that required installing a
whole other OS, because the removal of the feature left me with no way to
get into my kit and upgrade.
I could have also fallen back to serial as a long-term solution. Not
every device will have this option. Some of us have things like air
conditioning controllers, or temperature sensors, or UPSes or things with
tiny embedded controllers that really don't have this kind of a "patch
every tuesday" upgrade path.
Best wishes for 2018,
-Dan
--
It is overly paternalistic, to use your word, because it's saying that
the user can't be trusted to not use a weak cipher in only those cases
where that's the only cipher available. It's saying that the only
acceptable access to said industrial equipment is no access.
We all would prefer that, but I think you know that in reality, very few
customers have enough leverage to achieve that. I have a number of IBM
servers for which access to the remote console now requires old versions
of Java and old browsers. That's IBM. If they're not going to update
equipment, nobody is. Let's not pretend the world works differently.
> I'm not sure what your bugaboo is about a fractured user base; at
> any given time there are probably hundreds of different versions of
> openssh being distributed due to different os's, distros, etc.
Every older version of openssh is on the path to the latest version,
unless there's a reason why the latest version cannot be used. When you
create such a reason, you force them to choose between a real bug or
find an alternative. A lot of people choose to live with a real bug,
and that truly does reduce security.
But the worst thing about fracturing the user base, from the perspective
of wanting to be the premiere implementation of ssh, is you create a
real incentive for a fork. As things stand, a fork would be superior
software, because it will have 100% of the goodness of openssh without
the badness. The main distributions will eventually switch and then
openssh will become irrelevant. Why go through that over some pig-headed
and wrong principle? (I realise that there are developers here who
think that it's not pig-headed to aim for perfect security, but, when
you make perfect be the enemy of good, you are being pig-headed.) What
is proposed has a strong argument in its favour, and really has no
downside, unless you believe in fairy godmothers who can wave a wand and
make manufacturers do things which they clearly are not going to.
> by the way, do you not see that every one of your arguments about the
> openssh client can be applied, almost verbatim, to the vendor supplied
> sshd?
I realise. I also realise that the reason why open source software is
so powerful a force in IT is because manufacturers want to their gear to
become obsolete, they want it to exist in their own silos, they want to
destroy the opposition. If I said "embrace, extend, extinguish",
everybody here would nod their head. Our job is to provide a better
alternative. This recent change, which removed shorter keys, could have
been done slightly differently and we would continue to be a better
alternative. Now, sadly, people have to dig into yesteryear and find a
better alternative. That not only sucks, it creates space for a good
alternative that will displace openssh.
I think a very good question which needs to be asked is, what value does
disallowing shorter keys bring over severely deprecating them (i.e.
allowing them by use of command argument on a per-session basis)? I
cannot see a single benefit; it won't stop use of shorter keys, it will
just stop use of the latest openssh.
I think that is what is called a straw-man argument. If a device can be
compromised in the way you suggest, then I am sure it will be replaced,
but it will be replaced because it needs to be, not because its
management interface cannot be accessed via the latest openssh.
Disallowing use of openssh doesn't encourage people to throw away
expensive gear, it encourages them to throw away new versions of openssh.
On 02/01/18 16:05, Peter Moody wrote:
>> I think a very good question which needs to be asked is, what value does
>> disallowing shorter keys bring over severely deprecating them
> like you said, they have only been severely deprecated. further, you
> have been told exactly how to enable them, here
> https://lists.mindrot.org/pipermail/openssh-unix-dev/2018-January/036535.html
No, these shorter keys have been disallowed. There is no way to enable
them, other than to modify the software.
> you seem to want someone else to do all the work for you.
That is not true, and it was rather mean of you to say it. I am willing
to all the work, but there's no point doing that if it's just going to
be rejected out-of-hand, which seems to be the case.
Your position (per reference above) is that allowing use of shorter keys
is irresponsible. It's not. It is irresponsible to break other
people's equipment (which is what you want to do.) It is irresponsible
(for openssh) to push people to other software.
I think zero. I think the warning goes in the man page:
--allow-insecure-short-key This option allows use of keys shorter
than 1024 bits, however, it is known that such keys can be broken quite
quickly. You never want to use this option, unless you are connecting
to a server which does not allow a longer key.
There's no such tacit agreement because people won't know that they need
it until they discover that some old equipment, which has just been
working perfectly for years, suddenly cannot be accessed. The point
which you overlook is to not break peoples' things.
As suggested, all new SSH servers would refuse a key which is too
short. What danger do you see?
Imagine an organization which has only reluctantly allowed their network
/ Unix admins to run Linux on their workstations and has only done so
with the admins' promise to run only the latest software.
And now, a bunch of older enterprise devices in the data center cannot
be accessed from those workstations any more.
The admins are forced to say "yes" to the question "will accessing the
device from an enterprise-standard Windows client work".
Now imagine the chance of the admins still being allowed to keep their
Linux workstations.
Not all installations are clueful.
And this all goes without mentioning that people are re-enabling telnet
on their APC powerstrips right in this second because OpenSSH won't work
any more.
Greetings
Marc
--
-----------------------------------------------------------------------------
Marc Haber | "I don't trust Computers. They | Mailadresse im Header
Leimen, Germany | lose things." Winona Ryder | Fon: *49 6224 1600402
Nordisch by Nature | How to make an American Quilt | Fax: *49 6224 1600421
There is a simple solution: Hardware certified per MIL standards (US
DOD MIL standards) support kerberized telnet, so ssh can be declared
as "not needed" / "obsolete" for that purpose.
Ced
--
Cedric Blancher <cedric....@gmail.com>
[https://plus.google.com/u/0/+CedricBlancher/]
Institute Pasteur
_______________________________________________