[ssh_x509] is "key-shielding" ready for use ... or why do not use secure hardware?
ssh_x509 at roumenpetrov.info
ssh_x509 at roumenpetrov.info
Sat Oct 11 15:57:35 EEST 2025
Historical introduction:
NEXT: 17.1.2(?)
(*) allows building key-shielding on operating systems without memory
mapped pages
(*) PKIX-SSH 16.0, 8 Mar 2025
allows key-shielding to be enabled at build time
(*) PKIX-SSH 15.3, 3 Oct 2024
place shielded keys into memory excluded from a core dump
Note key-shielding is not enabled by default. Limited to Linux and *BSD.
(*) PKIX-SSH 12.3, 13 Oct 2019
"key shielding" feature
Not enabled by default as key stored on secure device has better protection.
///https://gitlab.com/secsh/pkixssh/-/commit/b1c2bb5c4c2f4a36a46d872a1ae40f874ca40d03
++++
As is visible "key-shielding" functionality is added to PKIX-SSH before
5 years.
For protocol functionality uses aes256-ctr cipher.
The release 15.3 (excluded from a core dump) limits functionality to
Linux and *BSD.
What means "allow" in PKIX-SSH 16.0?
Functionality is considered experimental and before this release code
has line:
#undef USE_SSHKEY_SHIELDING
So, after 16.0 release functionality could be activated at configuration
time with preprocessor directive:
CPPFLAGS="-DUSE_SSHKEY_SHIELDING ..." ../configure ....
Upcoming release avoids "core dump" limitation.
Should project activate "key-shielding" by default?
++++
Daemon host-keys are stored unprotected on disk. So why to protect them
in memory?
It seem to me functionality does not impacted use of secure-token.
Tested wit current code base.
PKIX-SSH support TPM keys (either by store or by engine).
PKIX-SSH support PKCS#11 interface (direct, by store, by engine).
To protect client keys use secure device.
++++
Conclusion:
I cannot see reason to add option to configuration script that allows
user to activates functionality.
Regards,
Roumen Petrov
More information about the ssh_x509
mailing list