我正在构建一个分布式应用程序,其中的软件由我的公司安装在我们客户的硬件上。因此,客户可以篡改软件。我想知道是否存在一种技术,以便在客户硬件上运行的软件向我们的中央服务器发出web请求(即完全在我们的控制下)时,我们可以验证该请求是否来自我们软件的未篡改版本。
我相信这被称为“远程认证”。关于远程认证的Web搜索返回各种结果,从“不可能”到“使用TPM”。但是我找不到一个简单易懂的例子来说明如何在Windows中编写代码。
那么,我的问题是:在Windows中远程认证是可能的吗?如果可能,有没有可以作为实现基础的工作示例?
注意:远程证明有时是通过“遮蔽”技术实现的,例如将“共享秘密”嵌入到应用程序中,然后以各种方式遮蔽它,以确保攻击者不能通过反编译等轻松地提取共享秘密。我对这种技术不感兴趣,我正在寻找通过遮蔽来提供真正安全性而不是安全性的东西。
发布于 2014-10-24 04:24:20
为了证明一个系统,你需要两样东西:
使用Windows时,两者都没有。
目前,甚至连Windows本身都没有意识到它的状态。然而,这在Windows8中得到了改善。现在你至少有了引导加载程序和驱动程序的测量结果。但是没有扩展到用户代码。
https://stackoverflow.com/questions/26532136
复制相似问题