Is there a way to secure cryptographic key storage on Windows against malware?
I'm developing a Windows application with end-to-end encryption and need guidance on securing the Master Key stored on user machines. A compromised Master Key could have severe consequences if exploited by malicious programs. Here are my specific concerns:
Key Storage Vulnerability: While I aim to securely store the Master Key locally, I'm aware that traditional methods (e.g., CNG or Windows Hello) lack inter-process isolation. For example, this HackerOne report demonstrates how keys protected by Windows Hello can still be extracted by malware.
Potential Solution with AppContainer: I’ve explored sandboxing the application via AppContainer to restrict access to the Master Key (e.g., stored in TMP). However, public Microsoft documentation lacks explicit confirmation on whether AppContainer’s isolation mechanisms can prevent malicious processes from accessing cryptographic secrets.
Request for Recommendations: What Windows-specific implementation patterns would ensure that stored keys remain inaccessible to malicious software? Are there proven implementation patterns for achieving true process isolation in this context?
Any insights or references to official guidance would be greatly appreciated.