[Info-vax] VMS Software needs to port VAX DIBOL to OpenVMS X86 platform
Stephen Hoffman
seaohveh at hoffmanlabs.invalid
Thu Dec 24 15:26:45 EST 2020
On 2020-12-24 15:13:04 +0000, Comp.os.vms (also claiming to be Kerry
Main) said:
Large memory: Haven't heard much call for server configurations larger
than the current 128 PiB configuration limit for x86-64.
HPE never added OpenVMS support for the top-end Integrity Itanium
servers, and it seems unlikely that VSI would add that support now.
Memory Encryption: Already available on AMD x86-64, and single-tenant
configurations are prolly going to preferred by most OpenVMS sites for
other reasons.
AES assists: there've been ongoing improvements across most (all?)
platforms, and no reason to assume those hardware updates won't
continue.
There's a pile of security-related stuff missing from OpenVMS.
Detailed which memory encryption and AES support won't address.
Like a lack of full-device storage encryption (FDE), an encrypted
keystore, memory compression to public certificate root certs,
ASLR/KASLR, continuing the W^X work, etc.
Writing secure apps is a pain in the arse on OpenVMS, and I know how to
do it. Retrofitting apps for security is yet harder.
The OpenVMS security doc is scattershot and largely reflective of the
last millennium.
Lots of work ahead for VSI, here. Lots of work. For third-parties and
end-developers, too.
Memory compression and memory encryption and AES assists are nice to
have, but there are rather more fundamental omissions awaiting within
OpenVMS.
> Some 🤡 wrote:
>>
>> And once all that's well along, y'all will prolly be busy porting to
>> the descendants of this Arm server:
>> https://www.servethehome.com/ampere-altra-wiwynn-mt-jade-server-review-the-most-significant-arm-server/
>>
>>
>
> Well, its an age-old discussion, but if there ever was a vote for what
> VSI platform comes next after X86-64, my vote would be the Power10+
> architecture - not ARM.
Systems based on POWER are very nice, but are comparatively expensive,
low-volume, and rare. And POWER is not on the best trend, by all
appearances.
> One big differentiator I believe for both existing and new OpenVMS
> Customers would be the huge level of HW based security encryption built
> into the architecture.
> <https://newsroom.ibm.com/2020-08-17-IBM-Reveals-Next-Generation-IBM-POWER10-Processor>
>
Memory compression support and memory encryption and AES support aren't
particularly innovative. Related:
https://www.kernel.org/doc/html/latest/x86/amd-memory-encryption.html
https://lwn.net/Articles/699820/
Intel has decided to join the fray here, too:
https://arstechnica.com/gadgets/2020/02/intel-promises-full-memory-encryption-in-upcoming-cpus/
And for a keystore, there's the TPM hardware:
https://en.wikipedia.org/wiki/Trusted_Platform_Module
OpenVMS lacks a software keystore, so that's been a fairly wide-open
mess for most OpenVMS apps for a while.
Here's a decent overview of mobile platform hardware security, an
environment which is more prone to physical theft and to physical
access than is (most of) server security:
https://manuals.info.apple.com/MANUALS/1000/MA1902/en_US/apple-platform-security-guide.pdf
Intel SGX has been discussed before, though its security has proven
problematic:
https://software.intel.com/content/www/us/en/develop/blogs/protecting-application-secrets-with-intel-sgx.html
Arm Trustzone:
https://genode.org/documentation/articles/trustzone
Amazon Graviton2 (based on the Arm Neoverse N1 cores) supports memory
encryption, as well:
https://aws.amazon.com/ec2/graviton/
This for folks that aren't single-tenant.
Microsoft is tweaking Qualcomm processor designs based on Snapdragon
8cx cores, with SQ1 and SQ2, for their Windows 10 on Arm Surface Pro X
configurations. Arm has rather newer cores available such as the
Neoverse cores mentioned earlier, and the Apple M1 design is both
seriously fast and seriously efficient. And Arm servers are on a better
trend than those based on IBM POWER, by all appearances.
If you're interested in platforms specifically targeting security,
OpenBSD, seL4, and maybe Geode, will be of interest:
http://www.openbsd.org/security.html
https://sel4.systems
https://genode.org/documentation/general-overview/index
OpenVMS tends to be single-tenant or single-organization per server,
which makes memory encryption somewhat less interesting. Memory
encryption is rather more interesting when you're on a mobile
battery-powered device, or your physical servers are subject to
physical seizure, or when sharing a virtual host with an untrusted app
or service or guest, and OpenVMS has other issues there—OpenVMS
security documentation and features have long discouraged network and
server sharing, going back to the now-ancient NCSC security evaluations
and earlier. And encrypting memory or storage data (FDE) when there's
background activity is far from trivial in general, as those encryption
keys have to be available somewhere. Encrypting storage is rather
easier in that regard such as what can be available with Apple T2
storage encryption—but those keys are still necessary.
TL;DR: would I like memory encryption? Sure. Would I like frameworks
and upgrades to make creating secure connections easier, and for
securing passwords, and for better managing certs and cert chains? FDE?
Better installers? Telemetry? Yes. And I'd prefer the latter features
to memory encryption, too. Multi-tenant servers can be avoided. TLS
connections and server storage swaps, not so much.
> Another feature would be next gen large memory support.
Intel x86-64 has had 57-bit (128 PiB) five-level page table addressing
support for a while.
As for the sorts of large-hardware configurations available for folks
running OpenVMS, HPE never added OpenVMS support for the top-end
Itanium servers. Which implies that most OpenVMS usage is arguably
mid-range when compared across the current computing environment. While
we might see HPE Integrity x86-64 server support added at some future
date, but top-end HPE Integrity Itanium server support for VSI OpenVMS
seems an unlikely addition at this late date.
There's also good evidence that faster storage connections and faster
memory connections can offset smaller physical memory configurations,
too. q.v. Apple M1. Expect to see some app assumptions and app design
preferences shift with OpenVMS on x86-64 due to differences in speeds
and feeds, and to shift again with whatever servers might follow in the
future. Big memory was somewhere between nice and necessary with HDD
storage, but NVMe such as that found on many x86-64 systems and on that
Ampere Altra Mt Jade Arm server is far faster. Trade-offs always shift.
re-post:
https://www.servethehome.com/ampere-altra-wiwynn-mt-jade-server-review-the-most-significant-arm-server/
And of course, it's never easy. There are seemingly always corner cases
and creative surprises awaiting any architectural changes:
https://github.com/Tencent/rapidjson/issues/1596
As for IBM: Over the next ten years, I'm less than ebullient about the
prospects for IBM as a business, and for POWER as an architecture. IBM
itself is aiming for "cloud" and "AI", and have spun off their services
and support businesses among other changes. The IBM mainframe business
aside, POWER looks far too much like another evolution of the DEC Alpha
and Sun SPARC business plans and partnerships. POWER is nice, but
myriads of elegant architectures have been available over the years.
And OpenVMS isn't big in ML.
As for DIBOL and the original thread, if y'all are dependent on what
Synergex provides, VSI isn't going to be able to help there. Not
without investing a whole lot in new and competitive DIBOL compiler.
And VSI likely doesn't have the old VAX DIBOL bits as a foundation,
which means more work. And I don't see an open-source alternative.
Which means migrating to DIBOL/DBL on a different platform, or adding
Synergex support on OpenVMS, or translating to a different language and
refactoring and using that. (I know a vendor that used their own DSL
and then sold "source code access" which was "source code" generated
from the DSL, so there's that approach, too; always operating through
the translation. Wouldn't be my choice, but I've encountered it.) No
good choice here, if Synergex doesn't meet your (thread OP)
requirements.
--
Pure Personal Opinion | HoffmanLabs LLC
More information about the Info-vax
mailing list