我正在编写一个程序,该程序用于处理许可证密钥,并且旨在防止个人或实体的机密,从现在开始我将其称为“客户端”,它将安装该程序。我正在研究使用TPM(TPM on Windows,ArchLinux TPM)的可能性,以便将主密钥保存在主板上的TPM模块内(客户无法触及的地方)而不是磁盘上(在文件或数据库中,或客户端可以访问的任何不安全方式)。 (我对这个主题不太熟练,尤其是不能迁移密钥,将密钥集中到企业范围的AD中,并使其与Full DevOps Cloud的VM一起使用。)
因此,我想加强应用程序的安全性,甚至禁止调试它,例如当您尝试调试蓝光播放器进程(从磁盘到屏幕的安全HDCP通道)时,它会变灰在Visual Studio的“附加到进程”对话框中。确实,通过调试过程,客户端可以发现密钥(或者在调试过程时,TPM调用可能不起作用(TPM所谓的测量不变式?)。我还不知道)。 >
在Web上和Microsoft文档中都找不到有关如何实现该目标的信息。
另外:我想知道Linux是否提供了等效的调试禁止功能。我不会惊讶他们没有,因为这不是精神。
在此先感谢您提供任何有用的信息。请不要讨厌我这个黑暗的讽刺问题:-)
先谢谢了。问候。