Re:Protecting SSH Keys with macOS Secure Enclave
by sandeepkd on Wednesday November 11, 2026 @02:03AM
(#50450489)
Not sure how many people feel like this, the risk in plain sight is a lot easier to handle than the risk hiding under the layers. You can keep shifting the storage for the key, one way or another you have to open up a channel to access to key or use the key. That channel would then become the vulnerability target.
[ Parent
| on HN ]
Re:Protecting SSH Keys with macOS Secure Enclave
by Vegenoid on Wednesday November 11, 2026 @02:19AM
(#50450583)
To prove possession of a private key, one needs only to sign something with that key (this is how SSH key auth works). This is how things like the macOS Secure Enclave operate - the private key is stored in a separate hardware chip that only exposes an interface to sign something with that key, never to actually present the key. To obtain the key would require having physical access to the computer, ripping it open, and performing advanced deconstruction and analysis of that chip.
Re:Protecting SSH Keys with macOS Secure Enclave
by sandeepkd on Wednesday November 11, 2026 @03:02AM
(#50450847)
I dont want to be rude, I am aware of the operational semantics. Getting what you want to be signed with the key is the external channel operation I was referring to. In this particular case, somehow the attack vector being disabled is the actual private key being locked from any export. This gives a sense of security, however the channel abuse can bypass the security.
Re:Protecting SSH Keys with macOS Secure Enclave
by Vegenoid on Wednesday November 11, 2026 @10:08AM
(#50454343)
You’re right, but this is why the author doesn’t want to use the secure enclave without touchID, so that the channel being abused requires him being prompted and approving every abuse of the channel. This really is significantly more secure than the key just being on disk (obviously at the cost of convenience)
Re:Protecting SSH Keys with macOS Secure Enclave
by sandeepkd on Wednesday November 11, 2026 @01:16PM
(#50456568)
Its a rabbit hole, which is what I referred as layers of security/obscurity giving a sense of security. Theoretically the person touches the touchID for the key usage, however in reality the usage fatigue kicks in, performance considerations kick in and you end up with a small window where risk is considered worth the trade off. The key is in the cache available for the process/program that you already consented to in the last few occurrences without explicit prompt. The attack vector is that I am behaving nice for the first time to gain your trust, and then I do what I planned for. Worst, in supply chain attacks your program was compromised by a third party.
My original thought was that people often confuse complexity as security. Its added friction layer for sure, however it cuts both ways, makes slightly harder for every day hacker, the monitoring becomes harder as well.