[Info-vax] OpenSSL CSWS-2.2-1
Stephen Hoffman
seaohveh at hoffmanlabs.invalid
Tue Jun 4 19:31:45 EDT 2019
On 2019-06-03 23:21:18 +0000, Dave Froble said:
> First, I agree that the latest TLS/SSL should be provided.
>
> I also feel that the interface to the product should be somehow
> compatable rather than needing re-coding to use the newer stuff. Not
> sure how easy that might be.
This goes well past TLS, too. There's a whole pile of drudge work here,
and developers are increasingly being provided with frameworks for
these tasks.
For not the first time, yes, it is possible to do all of this in
bespoke app code—and variously either incompletely, or with errors—but
that's not where we're headed.
> But, I'm going to ask, why remove older capabilities? Sure, it would
> be best to not use them. But there will be some users that do not have
> a choice, if they want to continue communicating with existing trading
> partners. So, whynot some type of configuration tool that can set
> flags as to which protocols should be allowed? Default it to TLS3, but
> allow when necessary for older protocols to be allowed.
For various of these cases both involving OpenSSL and those beyond
OpenSSL, and in no particular order...
... all code has support costs, whether that code is used or supported
or not. Building, packaging, storage, kitting, installations, testing,
etc.
... unsupported code still has bugs. Unsupported security code has known bugs.
... folks that are not maintaining and are not updating their code are
the wrong end of the market. The folks that are not integrating with
and not networking with other systems is getting ever smaller.
... old and unsupported code can have API problems and constraints and
incompatibilities, and can constrain updates.
... more than a few OpenVMS sites have no idea what's secure and what's
not, and look to the folks maintaining "the most secure operating
system on the planet" for guidance and suggestions.
... economics. VSI can't do everything for everybody. Where there are
problems, start by creating and then migrating folks to better APIs.
Deprecate and eventually remove the worst and most problematic.
For this particular case, folks using old releases and old features can
lock in and hope it'll all keep working and as many (most?) do, or they
can fix and maintain their code if they want or need current versions
and support and they can then install a free OpenSSL kit and maintain
it themselves, or possibly use an add-on and extra-cost OpenSSL kit.
Why deprecate and eventually remove? Various reasons around the older
OpenSSL TLS bits: the older approaches are insecure. They're
fundamentally broken. More than a few users don't know this or don't
recognize this, and it's incumbent on VSI to guide OpenVMS developers
and end-users forward as part of the VSI "the most secure operating
system on the planet" marketing efforts. Preserving the older
approaches and older APIs variously also limit the range and scope of
enhancements and upgrades possible.
I really like compatibility. In theory. But that compatibility can be
far more costly and far more constraining than many realize. And it's
just not possible to fit sixteen or thirty-two bytes into an eight byte
buffer. I'd prefer the development focus on newer bits and newer
updates than on preserving APIs and designs for code that isn't being
maintained.
In practice, complete upward-compatibility is increasingly incompatible
with the future sales and future usefulness of a product, and
incompatible with the level of development effort that can be expended
and where and what, and with what the folks that are keeping current
and are maintaining their products need and want. Some old APIs have
to be retired and removed, preferably with migration paths and/or with
better replacements available.
I'd hope that VSI would prefer to steer user expectations away from
some of the more problematic DEC ideas. VSI and OpenVMS users can
either have a focus on better APIs and features and retiring what's
known problematic, or a focus on existing and old apps and on
increasingly convoluted APIs and increasingly hostile designs and
absurd defaults. DEC focused on the latter—on compatibility—at the
expense of the former—on usability, clear APIs, good defaults, current
tooling, etc. Based on what I've seen if it, the latter approach is
also a long-term declining market, too.
There's no right answer here, and there are always trade-offs. If
y'all have a can't-ever-upgrade-something or
can't-ever-change-something installation, have at. Again, I've heard
just about every reason for that too, and I really don't care what
constraints or evaluations or other requirements you've gotten tangled
with. Figure out how to do that. Go do it. Whatever. But please
don't expect the rest of us using OpenVMS to want to cater to your
requirements, nor to want our maintenance and our new work and our new
apps and our development costs to be more expensive so that your
existing and old installations can make fewer or no changes. Or the
new apps and new deployments increasingly go elsewhere, and the whole
dealing-with-upgrade problems become moot.
--
Pure Personal Opinion | HoffmanLabs LLC
More information about the Info-vax
mailing list